teleren/devto huggingface dataset:
Season of Docs, Meeting-10
Tags: opensource, github, docker
Published: 2020-11-04 12:58:49

On 28th October, I had a meeting with Jet Mante & James Scholz with regards to my Google's Season Of Docs Project.
Several points were discussed, and they're mentioned as follows:
1. We'd discussed about Sections of the user documentation and corresponding API calls and resolved my doubt regarding the API calls corresponding to the **Data Sharing Mechanisms**.

2. I also had a few doubts regarding the API calls corresponding to certain UI of SynBioHub. Most of them were resolved, but we were unable to reach a common consensus about 3-4 API calls.

3. We'd briefly reviewed the first 3 sections of the User Documentation.

The mentors had assigned the following tasks:

1. Adding the SPARQL search sub-section under the *Searching using Keywords* section.
2. Elaborating the Downloading sub-section under the 3rd section.
3. Plan and complete sections 4, 5 & 6.
4. Proof Read all the 6 sections.


I was able to accomplish the following tasks:
1. Added the SPARQL search section under the *Searching using Keywords section*.

2. Elaborated the Downloading section under the *Viewing & Downloading the Information* section.

3. Was able to successfully plan and complete the sections 4, 5 & 6.

4. Proof read all the 6 sections.

Following are the problems that I'd faced this week:

1. I did not have much of a knowledge about SPARQL, so initially it was tough for me to write the user documentation for that, but with the guidance of Jet and Prof. Myers I was able to successfully understand the basics of SPARQL and somewhat correlate it with MySQL.

2. I got a bit confused regarding what should go under section-6 i.e, *Data Sharing Mechanisms*. After a brief discussion with Prof. Myers, I was able to successfully resolve my queries.

In the next meeting, I hope to clear all my doubts about the API calls corresponding to the UI of SynBioHub & take feedback regarding sections 4,5 & 6 of the User Documentation.
React first row missing on mysql search
Tags: react, mysql, node, sql
Published: 2020-11-04 12:57:48

Hello there!
my first post.

I'm trying to figure out a bug in my site that does not show the first row on any of the searches in the mysql database.

I'm using react / nodejs / mysql.

Can anyone help? is there an know issue or something?
what information you need to help me out?
thanks!
Benefits of DevOps team players interaction. Outsourcing DevOps vs in-house DevOps: what you need to know
Tags: devops
Published: 2020-11-04 12:52:45

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/8v4p83pt8jfsb8m8upzv.png)
Every business is pushed to release its product as early as possible, especially when it’s an innovative one. That’s the reason why companies aim to shorten their software development life cycle and achieve bigger results in less time. Therefore, a wide range of new technological methodologies arises to bring optimization processes to perfection.

DevOps, as a connector of development and operation stages, is a good service for faster product deployment. DevOps practices made it possible to promptly go through every phase of software development from analyzing and building to application release with consequent fixing, when required. 

Speaking about DevOps team, it’s correct to involve the concept of workflow value. With other words, how exactly to establish every work moment, so everyone could benefit from it.

Unity of every team member’s skills and talents matters. For instance, collaboration of Dev and Ops engineers makes an important contribution to an ongoing project. They combine their efforts to create Continuous Integration and Continuous Delivery, essential components of the DevOps pipeline. As soon as all CI and CD stages are established, congratulations, DevOps methodology has been successfully implemented into your company project. 

And obviously, every company that tends to implement DevOps technologies faces the following choices: to hire insider team or outsourcing. Let’s focus on motives to choose an outsourcing development team.

Nowadays, many businesses use an outsource approach. Exclusively isolated approaches can be already considered as a relic of the past. When team players work together, they initially have the same goal and common key performance indicator. 

So the main reasons to delegate project tasks to outsource DevOps specialists are:

* Access to expertise;
* Good value for money;
* Project management on the vendor’s side;
* Mentorship for your in-house team. 

Anyhow, such an approach will fit not to every strategy. I offer you to visit [this article](https://dinarys.com/blog/devops-outsourcing-for-startups-and-smbs-how-does-devops-as-a-service-work) to know, in which cases outsourcing devops can be a disadvantage. You may also learn about DevOps as a service and how it works.
New to Dev!
Published: 2020-11-04 12:49:05

Hello everyone!

I have recently signed up to Dev as a resource for information to improvement my knowledge on the technology field.

I am also doing my own Web Development journey which I am very excited about. I am studying JavaScript, React, PHP, HTML, CSS and MySql

I work for Dig-X who are a Transformation Consultancy.

I was hoping to understand from the Dev community as to whether you like to hear about job opportunities on here?
Intro Guide to GraphQL
Tags: graphql
Published: 2020-11-04 12:44:30

This blog will provide a brief explanation of GraphQL. 

##What is GraphQL?

GraphQL is a query language designed for APIs. When a query is sent to a API, you'll be able to grab exactly what you are looking for. This reduces the need for multiple endpoints in API routes, over and under fetching data. Another plus is that the returns are highly customizable. This is referred to as declarative data fetching. 

###Example of REST API vs GraphQL
####REST API
```
REST_API_URL/customers/13
```
####GraphQL

## Breaking Down GraphQL
GraphQL is made up of Schema, Queries and Mutations, and Resolvers. This will define how you want to create, store, and retrieve data.

###Schema
The Schema sets up the layout of how the data will be stored and resolved when it is being fetched through queries, or changed with mutations. Below is an example from the GraphQl [documentation](https://graphql.org/graphql-js/type/#graphqlschema). The provided link also shows more types of schemas you can design to best fit your needs.
```
var MyAppSchema = new GraphQLSchema({
  query: MyAppQueryRootType
  mutation: MyAppMutationRootType
});

```

### Queries and Mutations
Queries are used to fetch the data and mutations will be to modify data. When fetching or manipulating data, you can even get specifics by passing in arguments to the query string. Shown in the example below. 
```
query{
   customers(id: "13") {
      name
      email
      number
   }
}
mutation {
  createCustomer(input: {
    name: "Jane Doe",
  }) {
    id
  }
}
```

###Resolvers
Resolvers are functions that describe how queries should be handled and responded to. Below is a hard coded example of a resolver, but it can also be an api request for data. 
```
const RootQuery = new GraphQLObjectType({
  name: 'RootQueryType',
  fields: {
    launches: {
      type: new GraphQLList(LaunchType),
      resolve(parent, args) {
        // can be an api request for data
        return [{
            flight_number: 1,
            flight_name: 'Mocha',
            flight_boolean: false,
            rocket: {
              id: 1,
              name: 'BRIBRI',
              boolean: true,
            },
          }]
      }
    }
 ```

##Conclusion
The flexibility of GraphQL one of the reasons it can be integrated with other tools such as [Mongo](https://docs.mongodb.com/realm/graphql/) and [Postgres](https://www.digitalocean.com/community/questions/graphql-api-server-for-a-postgres-database) to handle queries server side. GraphQL can even be used on client side data collection using tools such as [Apollo](https://www.apollographql.com/). 

I hope you enjoyed this brief example of using GraphQL.
Thinking CharField? You'll think again after this
Tags: django, github, webdev, python
Published: 2020-11-04 12:28:36


During my career as a Django code improvement bot I've seen many times when `CharField` should really have been a `TextField`:

![Using a TextField can be is simpler and less noisy for the reader. I automatically suggested the fix that can be committed with one click.](https://dev-to-uploads.s3.amazonaws.com/i/bgxhys3mbesw4or05ly4.png)

Given a user need to enter a string and that string may be very long then it's quick and easy to use `CharField(max_length=5001)`, but that has some problems:

- It's big, but is it big enough? What if the a user wants  more? Yes `max_length` can be increased, but bug fixes are a pain, as is the database migration to facilitate the change.
- A developer years from now dusts off your code and reads the number 5001. Do they infer there's something special about 5001? Maybe. Devs in the future will be very busy so let's not add ambiguity when maintaining your "old" code.

`TextField` is better here as there's really no need for a length check, so users will not be presented with a validation error. A nice rule of thumb cane be _if the field does not need minimum length check then it probably does not need a maximum length check_.

That being said, if `TextField` is so great, why does `CharField` exist?

Historically efficient database space usage was a key consideration. But now storage is practically free. Plus, for [Postgres](https://www.postgresql.org/docs/9.0/datatype-character.html) at least, using `TextField` has the same performance as `CharField`, so database storage performance is not a key consideration.

There are valid cases for `CharField` with a huge length though: just like an [ISBN](https://en.wikipedia.org/wiki/International_Standard_Book_Number) is always 10 or 13 characters, there are some very long codes. Storing [QR codes](https://en.wikipedia.org/wiki/QR_code)? `CharField`. Working with geometry and geo spacial? `CharField`. [Django GIS](https://github.com/django/django/blob/f06beea92999407cc8dad3c47f006b7c727095a6/django/contrib/gis/db/backends/postgis/models.py#L60) has a 2048 long `VARCHAR` that Django represents as a `CharField(max_length=2048)`.


### Does your codebase have this problem?

I can check that for you at [django.doctor](https://django.doctor), or can [review your GitHub PRs](https://github.com/marketplace/django-doctor/):

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/d10epulva9d373jgldhu.png)

Or try out [Django refactor challenges](https://django.doctor/challenge).
Laravel 8 Custom Validation Rule & Error Messages Example
Published: 2020-11-04 12:21:39

Laravel 8 custom validation rules and error messages. In this tutorial, i will show you how to add custom validation rules and display custom validation error messages in laravel 8 app.
<!-- wp:heading -->
<h2>Laravel 8 Custom Validation Rule &amp; Error Message Example</h2>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><li>Step 1 - Install Laravel 8 App</li><li>Step 2 - Connecting App to Database</li><li>Step 3 - Run Migration Command</li><li>Step 4 - Add Routes</li><li>Step 5 - Generate Controller By Command</li><li>Step 6 - Create the blade view</li><li>Step 7 - Run Development Server</li></ul>
<!-- /wp:list -->

[https://www.tutsmake.com/laravel-8-custom-validation-error-messages-tutorial/](https://www.tutsmake.com/laravel-8-custom-validation-error-messages-tutorial/ "https://www.tutsmake.com/laravel-8-custom-validation-error-messages-tutorial/")
Free 40-Minute Automation Masterclass on "E-commerce Automation using Quickwork"
Tags: automation, ecommerce, whatsapp
Published: 2020-11-04 12:17:22

Join us for a 'Free 40-Minute Automation Masterclass' on Saturday, November 7, 2020, to learn...
⚡ How to connect your e-commerce platform to Quickwork!
🤩 How to use integrations and APIs to automate e-commerce without any coding!
💸 How to build an e-commerce chatbot on WhatsApp or Facebook Messenger using your existing e-commerce store!

Can't attend live? Go ahead and sign up. We'll send the recording to everyone who registers for the event. #AutomationFest

Register Now: https://lnkd.in/e6HJEyT


#workflowautomation #masterclass #quickwork #whatsappchatbot #nocode #chatbots #apis #integration #webinar #automation
Vim mode no vscode
Tags: portugues, vim, vscode, produtividade
Published: 2020-11-04 12:04:49

# TL:DR
O vscode não vem por padrão com um 'vim mode' como diversos outras IDEs, porém basta instalar o pugin https://github.com/VSCodeVim/Vim da seguinte forma:

- abra o vscode
- ctrl+p
- `ext install vscodevim.vim`

Já vem configurado, após instalado o plugin já vai poder utilizá-lo.

Configurações do mesmo em: settings.json

# Saiba mais
https://github.com/VSCodeVim/Vim
https://danielmiessler.com/study/vim/
https://www.openvim.com/
https://vim-adventures.com/
Wednesday Links - Edition 2020-11-04
Tags: java, kotlin, gradle, docker
Published: 2020-11-04 11:41:39

SSE and WebSockets (4 min) 🔌
https://www.spreaker.com/user/nurkiewicz/21-sse-and-websockets 

From Reactor to Coroutines (3 min read) ⚛️
https://blog.frankel.ch/reactor-to-coroutines/

Back to Basics: A thing about modeling and testing (1h 5 min) 🛹
https://www.youtube.com/watch?v=Ms7zCjbT8-4

Comparing containerization methods: Buildpacks, Jib, and Dockerfile (32 min) 📦
https://cloud.google.com/blog/topics/developers-practitioners/comparing-containerization-methods-buildpacks-jib-and-dockerfile

Introducing Java toolchains (4 min read) 🧰
https://blog.gradle.org/java-toolchains

Announcing Oracle 19.8.0.0 JDBC drivers (20 sec read) 🥠
https://twitter.com/Loic__Lefevre/status/1322820625891790850

RSocket 1.1.0 GA (20 sec read) 🚀
https://twitter.com/olehdokuka/status/1321385366746767360

Immutable Collections in Java using Sealed Types (5 min read) ✉️
https://medium.com/javarevisited/immutable-collections-in-java-using-sealed-types-ae8eb580fc1e

When is no-code useful? (5 min read) 🐚
https://linus.coffee/note/no-code
I wrote this app to practice my React, Node, Mongo, Redis and Docker skills
Tags: devops, react, javascript, node
Published: 2020-11-04 11:39:07

Hi there 👋

Last week, as I was struggling to connect to my [Gitlab.com](https://Gitlab.com) account, I noticed that their [status page](https://status.gitlab.com/) was mentioning **operational** while in reality they were down - they later reported the incident.

That gave me the idea (spoiler alert, it's not something new) to create a very simple, painless website monitoring app where I could just add endpoints easily and get notified when something went down. Sure, I could use [Prometheus](https://prometheus.io/) and [Grafana](https://grafana.com/), but it's a hassle to manage when you've got several projects to monitor - and for most projects, I honestly don't look at CPU usage etc, I just want to know if they're up or down, so deploying the whole stack is unnecessary. Then you've got things like [UpDown](https://updown.io) and [Uptime Robot](https://uptimerobot.com/) \- and I'm certainly missing many others - but where's the fun when I have spare time and could practice my React, NodeJS, and MongoDB skills ?

I also wanted to experiment with [Redis](https://redis.io/) which I've heard so much about, configured in so many `docker-compose.yml` files but never actually used in code. I've also wanted to use Stripe's API and see how I could integrate billing in my apps for a while, so I figured this would be a good occasion - and I have to tell you, it is by far the most well designed, documented and sdk-complete API I have ever used (disclaimer, I don't work for Stripe, I just think it's important to recognize when something's truly great).

My requirements were quite simple:
- simple way to add endpoints and customize request method and headers
- simple way to configure notifications (email, Slack, Mattermost...)
- a way to check my endpoints from different places in the world
- fine tune the amount of down time before getting a notification
- have a nice status page with cool - but meaningful - graphs

I also needed a cool name, so I went with "Probe" - I found the idea of having probes around the world  a good match.

I published the app this week at [https://probe.sh](https://probe.sh) and would love to know what you think ! I was thinking about open sourcing it on Github as [probe-sh/probe](https://github.com/probe-sh/probe) so anyone could self-host and help making it better - what do you think ? What license should I use ?

I've only deployed probes to France and Canada for now, but if you want other locations, additional notification types or features, let me know on Twitter [@probe\_sh](https://twitter.com/probe_sh) or on [Github](https://github.com/probe-sh/probe) 🚀. I'm already planning to add a public status page for endpoints and a way to group them - stay tuned !

Looking forward to your feedback  🎉
What is the difference between selenium and selenium WebDriver?
Tags: selenium, automation, career, learning
Published: 2020-11-04 11:34:05

What is the difference between selenium and selenium WebDriver?

Selenium RC is a less object-oriented API, whereas Selenium WebDriver is a purely object-oriented API. Selenium WebDriver is purely based on object-oriented programming languages like C#, Java, Python, etc. Selenium RC has a weak API, whereas WebDriver has a Strong API.

What is Selenium Webdriver?

Selenium WebDriver is a browser automation framework that accepts commands and sends them to a browser. It is implemented through a browser-specific driver. It controls the browser by directly communicating with it. Selenium WebDriver supports Java, C#, PHP, Python, Perl, Ruby.

Cross-Browser Compatibility Testing: Unlike its previous versions, the benefits of automation testing with Selenium WebDriver has expanded the support for automated cross-browser testing. It supports all the major browsers so you could test on Chrome, Firefox, Safari, Opera, IE, Edge, Yandex, and many more.

About Selenium:
SELENIUM is a free (open-source) automated testing framework used to validate web applications across different browsers and platforms. You can use multiple programming languages like Java, C#, Python, etc to create Selenium Test Scripts. Testing done using the Selenium tool is usually referred to as Selenium Testing. Selenium is basically used to automate the testing across various web browsers. It supports various browsers like Chrome, Mozilla, Firefox, Safari, and IE, and you can very easily automate browser testing across these browsers using Selenium WebDriver.

Prerequisites:
* Manual Testing. Software Development Life Cycle. SDLC Models. Software Test Levels. 
* Programming Fundamentals. Comments. Data Types. Modifiers. 
* HTML Concepts. HTML Elements, and Operations on Elements. Page, Edit Box, Text Area, Button, Link, Drop Down Box.
* Database Fundamentals.

What are the Course Objectives?
After completion of the Selenium Course at Naresh I technologies, you will be expertise and eligible for:
* Complete advance knowledge of
* Learn Data-driven, Hybrid, and other frameworks.
* Able to handle the project independently.
* Learn to integrate Selenium with different tools.

Who should go for this Course?
* Any IT experienced professionals who are interested to build their career in the IT field with QA/Testing.
* Any B.E/ B.Tech/ BSC/ M.C.A/ M.Sc Computers/ M.Tech/ BCA/ B Com College Students in any stream.
* Fresh Graduates.

For more details please visit: https://nareshit.com/selenium-online-training/
Top jobs remotely for developers on this 24 hour💻
Tags: react, ruby, webdev, android
Published: 2020-11-04 11:23:21

See more [here](https://www.remotely.jobs/categories/remote-software-development-jobs/).

1. [Senior Ruby on Rails Software Engineer](https://www.remotely.jobs/remote-senior-ruby-on-rails-software-engineer-job-at-leadfeeder) (Leadfeeder)

- 4+ years work experience writing maintainable and well-tested Ruby on Rails apps
- Good teamwork and communication skills

2. [Senior Web Application Developer](https://www.remotely.jobs/remote-senior-web-application-developer-job-at-merit) (Merit)

You have five or more years of experience developing web applications professionally, and have a familiarity with HTML, JavaScript, CSS, and an application framework. 

3. [Security Software Engineer, Java](https://www.remotely.jobs/remote-security-software-engineer-java-job-at-cofense) (Cofense)

- Bachelor’s degree preferred.
- Previous professional, full-stack app-dev experience preferred

Join us on Telegram: https://t.me/remotely_jobs
Our Telegram Bot:https://telegram.me/remotely_bot
Taking command line arguments using flags in bash
Published: 2020-11-04 11:17:52

In the [previous article](https://dev.to/shriaas2898/getting-started-with-shell-scripting-4mla) we created a simple bash script let's modify it a bit to accept command line arguments.
We will accept the name of directory which needs to be created and the path of directory whose files we have to list.
We will use flags to take input i.e `-i` for name of input directory whose contents will be listed and `-o` for output directory.

This is our current code:
```bash
#!/usr/bin/bash
# Script to create a directory in home with given name and a file containing list of files present in /var/www/html
NAME="Aastha"
mkdir ~/$NAME
echo `ls /var/www/html` > ~/$NAME/file_list.txt
```
# Getting arguments using `getopts`
We will use get `getopts` function which returns a list of options(flags) with respective argument. 
We will use a `while` to iterate through `getopts`
```bash
while getopts i:o: flag 
do
```
Here are we are specifying list of valid options as `i:o:` the `:` represents that an option need to be followed by a value.You can read more about `getopts` [here](https://www.mkssoftware.com/docs/man1/getopts.1.asp).
`flag` is the iterator variable here. In bash  the `do` followed  by `while` statement specifies starting of block which contains satement to be executed by `while`. The ending of block is specified by `done`.

# Storing argument values in variables
We will use switch `case` to assign values, based on options.
```bash
case "${flag}" in
                i) infolder=${OPTARG}
                        ;;
                o) outfolder=${OPTARG}
                         ;;
                *) echo "Invalid option: -$flag" ;;
        esac
done
```
The above will comapare `$flag` with `i`,`o` and `*` where `*` can be any thing other than `i` and `o`. The `;;` indicates the end of a `case`. The `${OPTARG}` contains the argument supplied for `$flag` option.
The `esac` indicates the end of the whole switch `case` block.

# Replacing hard-coded values with new variables
```bash
mkdir ~/$outfolder 
ls $infolder > ~/$outfolder/file_list.txt
```

## Final code
```bash
#!/usr/bin/bash
# Script to create a directory in home with name `$outfolder` and a file containing list of files present in`$infolder`
while getopts i:o: flag

do
        case "${flag}" in
                i) infolder=${OPTARG}
                        ;;
                o) outfolder=${OPTARG}
                         ;;
                *) echo "Invalid option: -$flag" ;;
        esac
done
mkdir ~/$outfolder 
ls $infolder > ~/$outfolder/file_list.txt
```