teleren/devto huggingface dataset:
Por que ser mulher em TI chama atenção?
Tags: girlspower, mulheresnati, mulheresqueprogramam
Published: 2021-05-16 22:42:37

Oi, primeiro post não é fácil de escrever, mas vamos lá :) 


Nos últimos anos a quantidade de mulheres que deram as caras para esse mundo de tecnologia tem sido muito alto, onde **90%** nas empresas são homens.

Mas por que quando entramos em áreas de TI ainda chamamos tanta atenção? 

A resposta é simples: **porque somos Mulheres!**

Viemos de uma cultura onde, quando criança brincávamos de médica, confeiteira etc... enquanto muitos homens ficavam em frente de computadores, videogames e criavam essa curiosidade.

Mas hoje em dia com a tecnologia muitas meninas/mulheres estão migrando para esse mundo graças a diversos grupos que incentivam mulheres e as encorajaram. 

Vou deixar listado alguns deles: 

* [Women Who Code](https://www.womenwhocode.com/)
* [PrograMaria](https://www.programaria.org/)
* [Laboratoria](https://selecao.laboratoria.la/)
* [Reprograma](https://reprograma.com.br/)

Meu intuído nesse post é abrir caminho para falar sobre minhas experiências e também poder ajudar diversas mulheres, e claro, ajudar todos iniciantes em TI independente do gênero.
Using Deploy Keys for Github Repo
Tags: github, git, ssh, deploy
Published: 2021-05-17 04:33:11

### Introduction

This writing is intended to serve as a quick reference when faced with Github repository access errors while accessing via a remote ssh url.

### Steps

Remember a different deploy key is required for each repo.

Run the following commands in a shell

``` bash
ssh-keygen -t ed25519
# If the above command fails, use *ssh-keygen -t rsa -b 4096*
eval "$(ssh-agent -s)"
ssh-add <location of the private key file>
cat <location of the public key file>
# usually the location is same as the private key file with a *.pub* extension
# copy the output of the above command
```

Visit your repo in the Github site.

Click these (for screenshots, see link at the bottom):

*Settings* (usually the last tab)
*Deploy keys* (in the left sidebar)
*Add deploy key* (button on the right)

Give any title and paste the key which you copied earlier
Remember to tick the checkbox if write access is intended

*Save*

Now, you should be able to access the Github repo remotely. Use the ssh url (not https) to clone: `git@github.com:<username>/<repo-name>.git`

### Basic info

SSH keys can be managed on your servers when automating deployment scripts using SSH agent forwarding, HTTPS with OAuth tokens, deploy keys, or machine users.

A deploy key is an SSH key that grants access to a **single repository**. 
GitHub attaches the public part of the key directly to your repository instead of a personal user account, and the private part of the key remains on your server.
 
### Accessing multiple Github repos from the same machine

Do this for each repo
``` bash
ssh-keygen -t ed25519 -f ~/.ssh/<repo-name>  -C "<repo-name>"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/repo-name
cat ~/.ssh/repo-name.pub
# Copy the output of `cat` and paste it in the corresponding Github repo
```
TODO: https://stackoverflow.com/a/7927828/10427010

### More

For screenshots, more explanation (and also for a day when the above stops working as intended), refer:

https://docs.github.com/en/developers/overview/managing-deploy-keys#deploy-keys

Always read the official docs yourself if you want to dive deep into any subject.
The database for developers is here
Tags: database, mysql, cloud, serverless
Published: 2021-05-18 17:18:51

Our team has worked at companies like YouTube, Amazon, Facebook, DigitalOcean, and GitHub, and we've always had to solve the same problem — database scaling.

The story is the same each time... The day 1 stack is chosen to optimize for developer velocity to get that MVP out the door. After some success, years 3 or 4 are spent paying down immense technical debt — mostly due to that early database choice.

Now with [PlanetScale](https://bit.ly/2RYoazq), there is a better way. Built on the Vitess engine that powers companies like YouTube, GitHub, and Square, our new database platform is fully integrated with the developer workflow and is set up to take you from idea to IPO.

[Try out our free Developer plan today](https://bit.ly/2RYoazq) and check out the new functionality that will change how you work with your database, like live database branching and non blocking schema changes.
Install PHP coding standards fixer in a Laravel project
Tags: php, laravel
Published: 2021-05-17 23:47:22

Code sniffer is a package to apply syntax rules to our php code to follow PSR-standards, here a guide to install and use it:

## Install code sniffer

```
composer require friendsofphp/php-cs-fixer
```

## Add a configuration file

```
touch php-cs-fixer.php
```

You can add your configuration rules, here a good example to use it in a laravel projects:

```php
<?php

$finder = PhpCsFixer\Finder::create()
    ->in(__DIR__)
    ->exclude(['bootstrap', 'storage', 'vendor','docker'])
    ->name('*.php')
    ->name('_ide_helper')
    ->notName('*.blade.php')
    ->ignoreDotFiles(true)
    ->ignoreVCS(true);

return (new PhpCsFixer\Config())->setRules([
        '@PSR2' => true,
        'array_syntax' => ['syntax' => 'short'],
        'ordered_imports' => ['sort_algorithm' => 'alpha'],
        'no_unused_imports' => true,
    ])
        ->setUsingCache(false)
        ->setLineEnding(PHP_EOL)
        ->setFinder($finder);
```

Another more advance example could be:

```php
<?php

$finder = Symfony\Component\Finder\Finder::create()
    ->in([
        __DIR__ . '/tests',
    ])
    ->in(__DIR__)
    ->exclude(['bootstrap', 'storage', 'vendor','docker'])
    ->name('*.php')
    ->name('_ide_helper')
    ->notName('*.blade.php')
    ->ignoreDotFiles(true)
    ->ignoreVCS(true);

return (new PhpCsFixer\Config())
    ->setRules([
        '@PSR12' => true,
        'array_syntax' => ['syntax' => 'short'],
        'ordered_imports' => ['sort_algorithm' => 'alpha'],
        'no_unused_imports' => true,
        'not_operator_with_successor_space' => true,
        'trailing_comma_in_multiline' => true,
        'phpdoc_scalar' => true,
        'unary_operator_spaces' => true,
        'binary_operator_spaces' => true,
        'blank_line_before_statement' => [
            'statements' => ['break', 'continue', 'declare', 'return', 'throw', 'try'],
        ],
        'phpdoc_single_line_var_spacing' => true,
        'phpdoc_var_without_name' => true,
        'class_attributes_separation' => [
            'elements' => [
                'method' => 'one',
            ],
        ],
        'method_argument_space' => [
            'on_multiline' => 'ensure_fully_multiline',
            'keep_multiple_spaces_after_comma' => true,
        ],
        'single_trait_insert_per_statement' => true,
    ])
    ->setFinder($finder);
```

Feel free to use whatever configuration that makes sense for your project.

## Execute the code sniffer fixer

On terminal execute this command:

```
vendor/bin/php-cs-fixer fix
```

Or using the configuration

```
vendor/bin/php-cs-fixer fix --config=php-cs-fixer.php
```

You can add more flags to customize the behavior of the fixer, here another example:

```
php ./vendor/friendsofphp/php-cs-fixer/php-cs-fixer fix --config php-cs-fixer.php --allow-risky=yes --dry-run --verbose
```

You can install husky with `npm` to fire this commands on husky hooks and execute any of this commands automatically, this is all thanks for reading.
Laravel 8 Yajra Datatables Example

Tags: laravel, php, programming, tutorial
Published: 2021-05-18 04:29:39

Hello Guys,

Now let's optically discern example of how to utilize laravel DataTable example. This is a short guide on laravel DataTable. Here you will learn how to utilize laravel DataTable. We will utilize how to utilize DataTable in laravel. Let's get commenced with how to DataTable in laravel.

more..

if you want to see full example follow this link..

https://codingtracker.blogspot.com/2021/05/hello-guys-now-lets-optically-discern.html
Weekly web development resources #74
Tags: weekly, webdev
Published: 2021-05-19 06:09:43



______

##[mmm.page](https://build.mmm.page/)
[![mmm.page](https://wweb.dev/weekly/content/74/mmmpage.jpg)](https://build.mmm.page/)
A simple tool to create unique personal websites with drag & drop.

______

##[PINTR](https://javier.xyz/pintr/)
[![PINTR](https://wweb.dev/weekly/content/74/PINTR.jpg)](https://javier.xyz/pintr/)
Create single-line SVG illustrations from your pictures.

______

##[syncthing](https://github.com/syncthing/syncthing)
[![syncthing](https://wweb.dev/weekly/content/74/syncthing.jpg)](https://github.com/syncthing/syncthing)
An open-source continuous file synchronization.

______

##[Codewell](https://www.codewell.cc/)
[![Codewell](https://wweb.dev/weekly/content/74/codewell.jpg)](https://www.codewell.cc/)
A website to improve your HTML and CSS skills by practicing on real design templates.

______

##[Modern Javascript](https://turriate.com/articles/modern-javascript-everything-you-missed-over-10-years)
[![Modern Javascript](https://wweb.dev/weekly/content/74/modernjs.jpg)](https://turriate.com/articles/modern-javascript-everything-you-missed-over-10-years)
An article with everything you might have missed over the last 10 years.

______

##[Undoing Mistakes With Git](https://www.smashingmagazine.com/2021/05/undoing-mistakes-git-part1/)
[![Undoing Mistakes With Git](https://wweb.dev/weekly/content/74/undoing-mistakes-git.jpg)](https://www.smashingmagazine.com/2021/05/undoing-mistakes-git-part1/)
A cool guide to repair mistakes by using Git.

______

##[Mantine](https://mantine.dev/)
[![Mantine](https://wweb.dev/weekly/content/74/mantine.jpg)](https://mantine.dev/)
An open-source react components and hooks library.

______

##[24 HTML Tags you may not know](https://cmsinstallation.blogspot.com/2021/05/24-html-tags-you-may-not-know.html)
[![24 HTML Tags you may not know](https://wweb.dev/weekly/content/74/html-tags.jpg)](https://cmsinstallation.blogspot.com/2021/05/24-html-tags-you-may-not-know.html)
An article with some lesser-known HTML Tags.

______

##[Open color](https://yeun.github.io/open-color/)
[![Open color](https://wweb.dev/weekly/content/74/open-color.jpg)](https://yeun.github.io/open-color/)
An open-source color scheme for UI like font, background, border, etc.

______

##[100 CSS loaders](https://dev.to/afif/i-made-100-css-loaders-for-your-next-project-4eje)
[![100 CSS loaders](https://wweb.dev/weekly/content/74/css-loaders.jpg)](https://dev.to/afif/i-made-100-css-loaders-for-your-next-project-4eje)
A cool article with a lot of pure CSS loaders.

______

##[DOM Events](https://domevents.dev/)
[![DOM Events](https://wweb.dev/weekly/content/74/domevents.jpg)](https://domevents.dev/)
A website to learn about the DOM Event system through exploration.

______

To see all the weeklies check: [wweb.dev/weekly](https://wweb.dev/weekly)
[Official] Driver Canon PIXMA iP90 Printer Install File for PC
Tags: canon, drivers, printers
Published: 2021-05-31 21:14:46

---
title: [Official] Driver Canon PIXMA iP90 Printer Install File for PC
published: true
date: 2021-05-18 06:36:38 UTC
tags: Canon,Drivers,Printers
canonical_url: https://allpriterdrivers.com/official-driver-canon-pixma-ip90-printer-install-file-for-pc/
---

In this article, we added the information about using the Canon Pixma iP90 Printer along with your computer. To make this printer work properly, you need to use the proper driver. This printer comes under the category of Inkjet printer. It is used to print the copies in the ratio of “ **4 x 6, 5 x 7 & 8.5 x 11** “. This printer can produce independently and it does not need any type of PC as a source. But if you still need to connect this device with the PC and then you need to use the below driver.

## Driver Specification:

[Download Aomwin110ea23us.exe Driver Here](http://gdlp01.c-wss.com/gds/4/0100002264/02/aomwin110ea23us.exe)
  

| **Supported OS:** Windows 7 (64 Bit). |
| **Supported Language:** English, Spanish, Arabic, Czech, German , Danish,Finnish ,French , Greek , Hungarian , Italian , Japanese, Korean , Dutch , Norwegian , Polish , Portuguese, Russian, Northern Sami, TC , Thai, Turkish, Chinese |
| **Suitable Printer Device** | **Filename** | **Size** | **File Version** |
| Canon PIXMA iP90 Printer | aomwin110ea23us.exe | 4.12 MB | V1.10 |

## Printer Hardware Preview:

![](https://allpriterdrivers.com/wp-content/uploads/2021/05/ip90-675x450-removebg-preview.png)<figcaption>Canon PIXMA iP90</figcaption>

For more details, kindly visit the [official website](https://www.usa.canon.com/internet/portal/us/home/products/details/printers/support-inkjet-printer/ip-series/pixma-ip90) for more information.

The post [[Official] Driver Canon PIXMA iP90 Printer Install File for PC](https://allpriterdrivers.com/official-driver-canon-pixma-ip90-printer-install-file-for-pc/) appeared first on [All Printer Drivers](https://allpriterdrivers.com).
How we got rid of cookie consent banners and why
Tags: privacy, webdev, ux
Published: 2021-05-18 17:34:47

When building [Datelist](https://datelist.io), there is one thing I was sure of: to build great software, you need great UX. Software should be focused on bringing the most value possible to our users, with the less friction possible. And, when I talk about friction, there is one thing that always hurts: cookie consent banners. 

I'll not try making a UX/UI lesson about them: first of all because I wouldn't be able to do so, but you don't need to be an expert to understand why they're bad. 

> Nobody reads them, it just interrupts the user flow 

According to studies "[You're not alone, no one reads terms of service agreements](https://www.businessinsider.com/deloitte-study-91-percent-agree-terms-of-service-without-reading-2017-11?IR=T)". That's the same for the cookie policy. 

When building my app, I didn't want to find the best way to make it as hidden as possible or finding the best copy to force the users to accept something they wouldn't even read. 
 
If you think more carefully about that, there is something deeply wrong with the way we force people to accept cookies on websites. 

The solution was simple: **Just get rid of cookies**. 

Despite anyone could find it, there is probably a mental shift to do when building apps these days. [Third party cookies are not there for a long time anymore](https://blog.google/products/ads-commerce/a-more-privacy-first-web/), so, when building an app, let's forget the classical "include those many scripts in your header" pattern, and let's build apps that don't use marketing cookies. That's not that hard, and it will save you problems later. 

Bonus point: If you still need google analytics for your website, but don't want to use it for retargeting, you can keep doing it using the [Cookieless Google Analytics Setup](https://goenning.net/2021/02/01/cookieless-google-analytics/#:~:text=Without%20cookies%20the%20script%20is,machine%20during%20the%20first%20visit.) ;)
testcase testing framework v0.42+
Tags: tdd, go
Published: 2021-05-18 22:06:35

---
title: testcase testing framework v0.42+
published: true
description: testcase testing framework v0.42+
tags: tdd,golang
//cover_image: https://direct_url_to_image.jpg
---

# [GitHub repository link](https://github.com/adamluzsi/testcase)

# [testcase.Race](https://pkg.go.dev/github.com/adamluzsi/testcase#example-Race)

Race is a test helper that allows you to create a race situation easily. This is useful when you work on a component that requires thread-safety. By using the Race helper, you can write an example use of your component, and run the testing suite with go test -race. The race detector then should be able to notice issues with your implementation.

# [testcase.T.Random](https://pkg.go.dev/github.com/adamluzsi/testcase#example-T-Random)

T.Random is a random generator that uses the Spec seed. When a test fails with random input from Random generator, the failed test scenario can be recreated simply by providing the same TESTCASE_SEED as you can read from the console output of the failed test.

# testcase.Var Thread Safety

testcase.Var.Get and testcase.Var.Set now thread-safe.

# [testcase.Append](https://pkg.go.dev/github.com/adamluzsi/testcase#example-Append)

Syntax sugar for appending elements to slice variables.

# [testcase.Contract](https://github.com/adamluzsi/testcase/blob/master/docs/contracts.md)

Contract meant to represent a Role Interface Contract. A role interface is a static code contract that expresses behavioral expectations as a set of method signatures. A role interface used by one or many consumers. These consumers often use implicit assumptions about how methods of the role interface behave. Using these assumptions makes it possible to simplify the consumer code. In testcase convention, instead of relying on implicit assumptions, the developer should create an explicit interface testing suite, in other words, a Contract. The code that supplies a role interface then able to import a role interface Contract, and confirm if the expected behavior is fulfilled by the implementation.

further references:
- [testcase/docs/contracts.md](https://github.com/adamluzsi/testcase/blob/master/docs/contracts.md)
- [More Effective DDD with Interface Test Suites](https://www.calhoun.io/more-effective-ddd-with-interface-test-suites/)
- [J B Rainsberger Integrated Tests Are A Scam HD](https://www.youtube.com/watch?v=VDfX44fZoMc)
Android Resource Manager tool
Tags: android, javafx, java, resize
Published: 2021-05-19 09:39:09

Hello everyone, I am Amr Hesham and I want to share my new small cross-platform tools AndroidResourceManager (ARM) version 1.0.3 written in Java with JavaFX framework

the idea of these tools started as an image resizer for drawable and mipmap for Android App Development then I have added four more ideas to it.

so the result is five services.

- The first and main service is Image Resizer with drag-drop support

the idea of this service is to drag and drop your images easily and add the list of sizes for everyone, the default configuration for sizes list are the main seven sizes for android drawable and mipmap sizes which are LDPI, MDPI, TVDPI, HDPI, XHDPI, XXHDPI and XXXHDPI, you can add or remove sizes as you want with no size limit, you can select output type as Drawable, Mipmaps or other for normal folders and then click resize to resize all the images fast.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0zn31fnffpmipw1lbsh4.jpg)

- The second service is keyword searching

The idea of this service is to search fast in your project files for example you can search for some string and got the position for every result, with only one click you can open the file and check your result.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/65rw57ujiveo4wmfakii.jpg)

- The third service is color resources analyzing

The idea for this service is to get all color resource position on your project layouts fast and also you can do this for many projects in one step, the goal for this idea is to know if there any color resources that you should add them in color.xml file

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jwqq1ezgiqgt0e6ywa8g.jpg)

- The Fourth service dimensions resources analyzing

It the same idea as the last service but for dimensions, not color so it can help you keep your layouts code clean and this service will be improved to
have the option to add the result into your dimens.xml automatically

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u8nz1mqti7ddaevh63gy.jpg)

- The fifth and last service is source files analyzing

The idea of this service just counts the number of code lines and files in your project or normal directory and show the output to you for every language

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l1sgspicdfusdq24wp2i.jpg)

Now this tool is small with a size of less than 1MB but it can be improved to have new services or options for current services for example in the first service (Image Resizing) we can support many options before resizing for examples add padding, apply image filter or image compression …etc

So feel free to suggest, submit an issue or make a pull request to improve this tool and make it very useful for everyone and cover everyone needs.

You can download this tool [Github](https://github.com/AmrDeveloper/androidresourcemanager).

Enjoy Programming 😎.
DAY 66 OF 100 DAYS OF SWIFTUI
Tags: swift, 100daysofcode
Published: 2021-05-19 02:08:13

I just completed day 66 of 100 days of SwiftUI. Today I worked on add new filtering options to the InstaFilter app and also saving filtered photos.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tdsyw102nlcyc0ufwpr2.png)

Here's a link to the [repo](https://github.com/sanmiAde/InstaFilter)
Need help
Tags: node, javascript, typescript
Published: 2021-05-19 04:16:04

I am creating a helper function to get weather data using open-weather api
```js
require("dotenv").config();
import axios from "axios";

export const getWeatherData = async (cityName: any) => {
  let getData = {};
  try {
    const response = await axios.get(
      `https://api.openweathermap.org/data/2.5/weather?q=${cityName}&appid=${process.env.WEATHER_API_KEY}&units=metric`
    );
    const data = await response.data;
    getData = {
      forecast: data.weather[0].description,
      cityName: data.name,
      coordinate: data.coord,
    };
    return getData;
  } catch (err) {
    // console.log("Something Wrong!! Try again later.");
    console.log(err);
  }
};
```
This function receives a cityName. now I am calling this function on another file to get data 
```js
app.get("/weather", (req, res) => {
  if (!req.query.location) {
    return res.send({
      error: "You must give an address",
    });
  }
  const data = getWeatherData(req.query.location);
});
```
Here in `data` variable is showing that it is `promise` rather than object that I return from getWeatherData function.

How can I get the object that I want to get from getWeatherData?
Ways to implement Proxy Pattern in Node.js
Tags: node, proxy, pattern
Published: 2021-05-19 08:15:33

https://grokonez.com/node-js/ways-to-implement-proxy-pattern-in-node-js

Ways to implement Proxy Pattern in Node.js

Sometimes we may want to access indirectly to an object, via a substitute. That substitute is called Proxy. The Proxy Pattern helps us deal with a proxy object and talk to the actual object. In this tutorial, we're gonna look at 2 ways to implement Proxy Pattern in Node.js:
<ul>
<li>Using custom Proxy Class</li>
<li>Using Proxy API</li>
</ul>

<!--more-->
<h2>Proxy Pattern Overview</h2>
<img src="https://grokonez.com/wp-content/uploads/2019/04/nodejs-proxy-pattern-example-sample-structure.png" alt="nodejs-proxy-pattern-example-sample-structure" width="550" height="167" class="alignnone size-full wp-image-17708" />

The image above shows that <code>Proxy</code> and <code>Subject</code> have the same methods. <code>Proxy</code> forwards each operation to <code>Subject</code>, we can improve <code>Subject</code>'s methods with additional pre-processing or post-processing.
<h2>Proxy Pattern in Node.js using custom Class</h2>
<h3>Create Subject class</h3>
We create a <code>Bank</code> class with 3 methods:
– <code>deposit()</code> increases cash.
– <code>withdraw()</code> decreases cash.
– <code>total()</code> returns cash.

<em>BankProxy.js</em>

More at:

https://grokonez.com/node-js/ways-to-implement-proxy-pattern-in-node-js

Ways to implement Proxy Pattern in Node.js