teleren/devto huggingface dataset:
My Top Youtube Channels to Learn Web Development and Programming
Tags: javascript, webdev, career, tutorial
Published: 2019-10-17 01:59:27

##Hi Guys Good Day!

Sorry Guys, I didn't post an article for a month and a half because I didn't have the time because I quit my job and there are requirements that I have to do before leaving the company. Sometimes learning __Programming__ is hard, understanding the concepts and memorizing the syntax, so we need help from other people or sources that can solve our problem. So these are my best __Youtube Channels__ to Learn Web Development and Programming.


###1. [Net Ninja](https://www.youtube.com/channel/UCW5YeuERMmlnqo4oq8vwUpg)
__Shaun__ is one of the best guys to explain __Core Concepts__ and __Fundamentals__ of a certain technology. He has tutorials for [JavaScript](https://www.youtube.com/watch?v=qoSksQ4s_hg&list=PL4cUxeGkcC9i9Ae2D9Ee1RvylH38dKuET), [React and Redux](https://www.youtube.com/playlist?list=PL4cUxeGkcC9ij8CfkAY2RAGb-tmkNwQHG), [Vuejs](https://www.youtube.com/watch?v=5LYrN_cAJoA&list=PL4cUxeGkcC9gQcYgjhBoeQH7wiAyZNrYa), [Git and Github](https://www.youtube.com/watch?v=3RjQznt-8kE&list=PL4cUxeGkcC9goXbgTDQ0n_4TBzOO0ocPR) and many more. Check out his channel.



###2. [Traversy Media](https://www.youtube.com/user/TechGuyWeb)
__Brad__ teaches new Programming Languages and New technologies or frameworks and also he shares his experiences in his life and work and being a Software Developer. He has tutorials for [NextJS](https://www.youtube.com/watch?v=wqhNoDE6pb4), [HTML](https://www.youtube.com/watch?v=UB1O30fR-EE), [CSS](https://www.youtube.com/watch?v=yfoY53QXEnI), [JavaScript](https://www.youtube.com/watch?v=vEROU2XtPR8), [Laravel](https://www.youtube.com/watch?v=EU7PRmCpx-0), [NodeJS](https://www.youtube.com/watch?v=fBNz5xF-Kx4) and many more. Check out his channel.



###3. [thenewboston](https://www.youtube.com/user/thenewboston)
__Bucky__ teaches a lot of technologies, ranging from building a PC, Some Basic Math, Algebra, Libraries, Frameworks, and Programming Languages. This is one of the first youtube channels that I love when I was in college and still. He has tutorials for [Git](https://www.youtube.com/watch?v=cEGIFZDyszA&list=PL6gx4Cwl9DGAKWClAD_iKpNC0bGHxGhcx), [Django](https://www.youtube.com/watch?v=qgGIqRFvFFk&list=PL6gx4Cwl9DGBlmzzFcLgDhKTTfNLfX1IK), [Python](https://www.youtube.com/watch?v=HBxCHonP6Ro&list=PL6gx4Cwl9DGAcbMi1sH6oAMk4JHw91mC_), [Java](https://www.youtube.com/watch?v=yQaAGmHNn9s&list=PL46F0A159EC02DF82), [C++](https://www.youtube.com/watch?v=tvC1WCdV1XU&list=PLAE85DE8440AA6B83), [jQuery](https://www.youtube.com/watch?v=GNb8T5NBdQg&list=PL6B08BAA57B5C7810) and many more. The channel is a bit outdated but if you want to learn then feel free to check out the channel


These are some honorable mentions [Academind](https://www.youtube.com/channel/UCSJbGtTlrDami-tDGPUV9-w), [Programming with Mosh](https://www.youtube.com/user/programmingwithmosh) and [Corey Schafer](https://www.youtube.com/channel/UCCezIgC97PvUuR4_gbFUs5g).

##Thanks guys for reading this post. Wish me Luck :muscle: for my new Journey.
# Have a Nice Day :smiley:!.
Best practices for creating scalable and resilient REST Apis
Tags: discuss
Published: 2019-10-17 01:49:20

---
title: Best practices for creating scalable and resilient REST Apis
published: true
tags: discuss
---

Hello folks,

I'm using Node.js, Sequalize and MySQL. I also heavily use Websockets.

I'm implementing a new REST Api, and I'm trying to learn about all the best practices I am potentially missing out. Recently, I've learnt about the following:

- Idempotency. I was always trying to create APIs which can receive a route action twice and return the same thing. PUT /thing, PUT /thing should return 200 in both cases, for the situation when the client had lost the connection midway through the request and the user had to click again (or the client retried by itself, potentially). GETs are idempotent by default really. DELETEs should be idempotent too, really. POSTs are better to avoid, I think.

- Eventual Consistency. Had a lot of trouble with this one. Apparently creating a row and then immediately reading it might return a null result, because the row hasn't propagated to all replicas. Oops. I guess I need to get everything I need with whatever the database returns from model.create and make do with that.

What are the other good practices I might be missing out on that gonna bite me in the future?

Cheers.
meta-greta-thunberg-climate-change3
Published: 2019-10-17 01:37:54

<meta content='https://aplikasiadi2.blogspot.com/2019/10/greta-thunberg-climate-change3.html' property='og:url'/>
<meta content='greta-thunberg-climate-change3' property='og:title'/>
<meta content='  ' property='og:description'/>
How would you build it? - Cross-platform Desktop GUI
Tags: discuss
Published: 2019-10-16 17:34:45

---
title: How would you build it? - Cross-platform Desktop GUI
published: true
description: 
tags: Discuss
---

## If you were going to build a GUI for a cross-platform desktop application, what would you use? 

I haven’t seen a lot of desktop app content in discussions/articles on DEV, so I thought I’d start one! Just curious how others would approach the task. 

**Parameters:**
* You **cannot** use Electron
* The GUI is decoupled from other app code and communicates via some local RPC/API
* You can use commercially licensed libraries/frameworks


I’m currently involved in maintaining an existing cross-platform desktop app, and have been thinking about some different approaches:

* Serve the GUI as a locally hosted site. Users interact with the app’s GUI in the browser of their choice. 
* Separate codebases: use Cocoa/native libraries for Mac, Qt for Linux, WPF for Windows. 
* Single codebase: Use Qt or wxWidgets for all platforms. (This is the approach I use today) 

So... how would you do it? What choices would you make?
PDF Booklet: JavaScript coding challenges for beginners
Tags: javascript, codenewbie, challenge
Published: 2019-10-17 01:07:11

If you are just learning JavaScript and you want to practice your new skills, then this PDF booklet with coding challenges (and solutions) may be helpful to you:

![](https://thepracticaldev.s3.amazonaws.com/i/cgwjbj69q1p8xiqov28f.PNG)

<https://codeguppy.com/site/download/50_coding_challenges.pdf>


Notes:

- The challenges are designed to be solved only with basic JavaScript language constructs

- Although intended for beginners, advanced users can have fun too

- Try to solve at least 1 coding challenge per day

- Any solution that you find is a good solution... we are not looking for the perfect solution

- For convenience, when you work on these challenges, you can use an online coding playground, such as the one from https://codeguppy.com

- Share your solutions on Twitter with hashtag #codeguppy

- Feel free to share this booklet with your friends and invite them to complete the coding challenges


If you like this kind of challenges please also check [codeguppy.com](https://codeguppy.com) and follow [@codeguppy](https://twitter.com/codeguppy) on Twitter.

Have fun!
How to Deploy YAMLs with Deprecated Parameters on Kubernetes 1.16.0
Tags: kubernetes, api, yaml, deprecated
Published: 2019-10-17 00:43:21

The Kubernetes version 1.16.0 stopped to serve the following deprecated APIs:
 
1. **NetworkPolicy** (in the *extensions/v1beta1* API group):
Migrate to use the *networking.k8s.io/v1* API, available since v1.8. Existing persisted data can be *retrieved/updated* via the *networking.k8s.io/v1* API.

2. **PodSecurityPolicy** (in the *extensions/v1beta1* API group):
Migrate to use the *policy/v1beta1* API, available since v1.10. Existing persisted data can be *retrieved/updated* via the *policy/v1beta1* API.

3. **DaemonSet**, **Deployment**, **StatefulSet**, and **ReplicaSet** (in the *extensions/v1beta1* and *apps/v1beta2* API groups)

You must check your older YAMLs. But changing the listed parameters in all files can be an exhausting task.

An option would be to convert the older files.

For example, lets deploy a NGINX using the file nginx.yaml. 

```
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
   run: nginx
  name: deploy-nginx
spec:
  selector:
     matchLabels:
      run: nginx
  template:
     metadata:
      labels:
        run: nginx
    spec:
      containers:
      - image: nginx
        name: nginx
```
The files nginx.yaml sets *apiVersion: extensions/v1beta1* and it's compatible with kubernetes older versions, but not run on The last.
To convert the older YAML, using client 1.16 execute *kubectl* with the option *convert*: 

```
kubectl convert -f nginx.yaml
```
Command screen output would be like:

```
apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    run: nginx
  name: deploy-nginx
spec:
  progressDeadlineSeconds: 2213489811
  revisionHistoryLimit: 2213489811
  selector:
    matchLabels:
      run: nginx
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        run: nginx
    spec:
      containers:
      - image: nginx
        imagePullPolicy: Always
        name: nginx
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartiPolicy: Always
      schedulerName: defaul-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 28
status: {}
```
Paste the command output to a file(ex: nginxOUT.yaml) 
```
kubectl convert -f nginx.yaml > nginxOUT.yaml
```
## **Deploy**
### Using output file
```
kubectl create -f nginxOUT.yaml
```
### Directly with the older file
```
kubectl convert -f nginx.yaml | kubectl create -f -
```

##References
https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/
.Net Core 3 - Part 3 - Heroku
Tags: netcore, docker, heroku
Published: 2019-10-17 00:29:42

![titulo](https://thepracticaldev.s3.amazonaws.com/i/98kau4z0cnfyftb3klj5.JPG)

Continuing the .Net Core series. 
In this chapter, we will deploy a .Net Core 3 web API to Heroku by using Docker.
The full example can be downloaded in my GitHub repository: [NetCore3 Heroku](https://github.com/lucianopereira86/NetCore3-Heroku).

## Technologies

- [.Net Core 3](https://docs.microsoft.com/pt-br/dotnet/core/whats-new/dotnet-core-3-0)
- [Docker](https://www.docker.com/get-started)
- [Heroku](https://www.heroku.com/)

## Before start

This guide is directed for those who have a mininum experience with Docker and a proper environment to run it.

## Topics

- [Heroku](#heroku)
- [.Net Core 3](#net-core-3)
- [Docker](#docker)

### Heroku

Heroku is a cloud platform that allows applications be hosted at will. It's mostly used for web APIs.
Go to [Heroku website](https://signup.heroku.com/login) and sign up or sign in.

In the Dashboard, click on "Create new app".

![heroku01](https://thepracticaldev.s3.amazonaws.com/i/efmhu8q15r04odzw3rxv.JPG)

Name the app and click on "Create app".

![heroku02](https://thepracticaldev.s3.amazonaws.com/i/ham2gb8hvx6aw4e6mtnv.JPG)

In your machine, install the latest version of Heroku CLI [here](https://devcenter.heroku.com/articles/heroku-cli).

### .Net Core 3

Download the web API from this GitHub repository: [NetCore3-MySQL](https://github.com/lucianopereira86/NetCore3-MySQL).  
Follow the instructions to make the required database connection.

In the _api_ folder, create manually a file called "Dockerfile" without extension and edit it with this lines:

```batch
FROM mcr.microsoft.com/dotnet/core/sdk:3.0-buster AS build
WORKDIR /app
COPY ./ ./

RUN dotnet publish -c Release -o out

FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim
WORKDIR /app
COPY --from=build /app/out .
CMD ASPNETCORE_URLS=http://*:$PORT dotnet NetCore3WebAPI.dll
```

### Docker

Run the following commands in the _api_ folder replacing [MYAPP] by the app's name created on Heroku.

```batch
docker build -t [MYAPP] .
```

To authenticate with Heroku, run this command. It will be required to press any key to open a web browser window containing a login button.

```batch
heroku login
```

Then, return to the terminal and run:

```batch
heroku container:login
```

Tag the image:

```batch
docker tag [MYAPP] registry.heroku.com/[MYAPP]/web
```

Build the image locally and push it to Heroku's Container Registry:

```batch
heroku container:push web -a [MYAPP]
```

Release the image on Heroku to be deployed:

```batch
heroku container:release web -a [MYAPP]
```

Access the URL of your app with Swagger:

```batch
https://[MYAPP].herokuapp.com/swagger/index.html
```

![heroku03](https://thepracticaldev.s3.amazonaws.com/i/bm28td61u9ihlez8zsr3.JPG)

## Conclusion

It was very simple to publish on Heroku. Docker was used only to build the image.
Now you have a remote database and a deployed web API. 

## Next
We will integrate the web API with Entity Framework to manipulate the database only by C# objects and Lambda Expression.
Travis build branch for github pages
Tags: travisci, webdev
Published: 2019-10-20 05:03:11

---
title: Travis build branch for github pages
published: true
date: 2019-10-17 00:00:00 UTC
tags: travisci, webdev
canonical_url: https://hiltonmeyer.com/articles/travis-build-branch.html
---

In my article of automating my [build process for a hosted server](https://dev.to/iarehilton/travis-automated-build-and-hosted-deployment-201) I was using the default of gh-pages branch. This is the vanilla out of the box branch used by Travis-CI. The issue is that this should be a clean branch because I was getting emails about issues with the build of the [github.io](http://github.io/) page:

```
[bikingbadger/hiltonmeyer.com] Page build failure

The page build failed for the `gh-pages` branch with the following error

The tag `set` on line 14 in `feed.njk` is not a recognized Liquid tag

```

The error was that is was still looking at the nunjucks files so this was causing me some issues. Again I was using this branch as a hack to get around Travis being able to build the site for me and then I could clone it onto the hosted server. I don't like getting junk emails so looked into it a bit and found that I could simply give another target branch if I didn't want to use the default. I added the `target_branch` to parameter and it worked like a charm. This is the currently setup:

```
language: node_js
node_js:
  - 12
before_script:
  - npm install
script: npm run build
branches:
  except:
    - gh-pages
branches:
  only:
    - master    
sudo: false
os:
  - linux
deploy:
  provider: pages
  skip_cleanup: true
  github_token: $GITHUB_TOKEN # Set in the settings page of your repository, as a secure variable
  keep_history: true
  target_branch: prod
  on:
    branch: master

```
Why is it called `psycopg2`?
Published: 2019-10-16 23:34:02

To use PostgreSQL in Python you have to use `psycopg2`, or often `psycopg2-binary`. 

What does psycopg2 mean, anyway? Furthermore, how do you pronounce it? 

I didn't know before writing this article, so I looked it up, and documented my research. 

------

As per [initd.org](http://initd.org/psycopg/): 
> Psycopg is the most popular PostgreSQL adapter for the Python programming language. At its core it fully implements the **Python DB API 2.0** specifications.


Well, that explains the `pg2` part -- postgres (db api) 2. 

But what about "psyco"? 


---

[Reddit](https://www.reddit.com/r/Python/comments/8y20vc/what_does_psycopg_stand_for/) points out that Psyco is a now unmaintained project. 

As per [wikipedia's entry in Pysco](https://en.wikipedia.org/wiki/Psyco): 

> Psyco was a specializing just-in-time compiler for Python.

Not to be confused with ["Psycho", the 1960 movie](https://en.wikipedia.org/wiki/Psycho_(1960_film)) (the one with the knife in the shower scene). Also not to be confused with 'psycho', the shortened term for 'psychopath', often used as a derogatory term. 

---

But why is it called 'psyco'?

---


This I could not find the answer for. 

**Update July 2021**: Someone reached out and shared with me [this mailing list entry](https://www.postgresql.org/message-id/flat/CA%2BRjkXFL6Jy7actUy%2BS%3DdGfjpuD_jpUYYofGpON%2B1Nq9S2Y75w%40mail.gmail.com#f9771ec89bf350e0594cf9640a1f912c) from 2018 with the answer! It was a typo!

---

So how do you pronounce it? 

I am personally *extremely reluctant* to pronounce it "saɪˈkɑ-p-ɡ-to͞o", so at the moment I'm thinking of calling it "the postgres wrapper" or "postgres helper". 

---

I took the time to write this up because the words we use to name things are important, but also words change over time. So when we have terms for packages that are named a term that then has [connotations](https://github.com/thoughtbot/factory_bot/issues/1053), it's important to reflect and think about our actions.
Interactive Shells in Capistrano
Tags: ruby, capistrano
Published: 2019-10-16 15:57:41

---
title: Interactive Shells in Capistrano
published: true
description: How to start a remote Rails console (and other interactive commands) via Capistrano
tags: ruby, capistrano
canonical_url: https://leejarvis.me/posts/2019/interactive-shells-in-capistrano
---


[Capistrano](https://capistranorb.com) is a very popular deployment tool written in Ruby. If you've deployed Ruby or Rails applications, chances are you've heard of it even if you haven't had the chance to use it.

Capistrano was a crucial part of our deployment process at [Loco2](https://loco2.com) long before [overhauling our hosting infrastructure](https://www.jonathanleighton.com/articles/2016/loco2-infrastructure-overhaul/) with Terraform and Docker.

Having [recently left Loco2](https://leejarvis.me/posts/2019/leaving-loco2), I found myself back on a project that uses Capistrano. As powerful as it is, it frustratingly doesn't include support for interactive shells. Whilst this is [by design](https://capistranorb.com/documentation/advanced-features/ptys/), it's a bit annoying if you want to boot a rails console or run another command that allows input from the user.

After doing some Googling I managed to piece together something that calls `ssh` directly, allowing us to run a command in an interactive shell:

```ruby
namespace :rails do
  desc "Start a rails console"
  task :console do
    exec_interactive("rails console")
  end

  desc "Start a rails dbconsole"
  task :dbconsole do
    exec_interactive("rails dbconsole")
  end

  def exec_interactive(command)
    host = primary(:web).hostname
    env = "RAILS_ENV=#{fetch(:rails_env)}" # add other ENV variables
    command = "cd #{release_path}; #{env} bundle exec #{command}"

    puts "Running command on #{host}:"
    puts "  #{command}\n\n"

    exec %(ssh #{host} -t "sh -c '#{command}'")
  end
end
```

The `primary(:web).hostname` just fetches the hostname for the first/primary web host. It's worth mentioning this because it _might_ not be desirable. You could quite easily fetch all of the remote hosts and provide a menu that allows the user to select the host they want to connect to. For my purposes though, I just wanted to run a rails console without having a custom script that fetched our hostname via the AWS command line tools.

You may want to consider safeguarding production access by adding a warning message when `fetch(:rails_env) == "production"`, or perhaps add the `--sandbox` option to protect your data.

I believe developers should be trusted to have direct access to all live
environments, including production. These sorts of small convenience scripts really help to avoid friction when troubleshooting or debugging data issues on non-local environments.
How would you describe your perfect learning strategy?
Tags: discuss, learning
Published: 2019-10-16 22:43:42

---
title: How would you describe your perfect learning strategy?
published: true
description: An open discussion on what could be your ideal learning strategies.
tags: Discussion, Learning, 
---

As time goes by we are forced to learn faster and more efficiently in order to keep up with new contents.

Learning Programming Languages, Frameworks, Architectures and other relevant topics needs to happen ASAP.

Taking notes,practicing,talking or even just reading are some strategies used. What works with you? Is it just one of these, a combination of these or some other?
My first Back-end Project!
Published: 2019-10-16 22:14:18

# Hello World!
My second project I created using Express.js and MongoDB. I learned a lot and found it really cool being able to create edit and update data on a page I created. It has full **C.R.U.D** capability and at its essence is a fitness planner. The idea being you can create your workout plan and change the amount of reps or pounds you do for that day. It definitely is a work in progress but I am excited to share what I have learned so far. 

---
One thing I got good at while working on this project was reading warning messages. It made it really easy to catch my bugs faster than in my front end projects that could have bugs anywhere and not display a message. I felt I did not have a good grasp on the concepts until I started implementing them into the app and it sort of clicked with me! And I am excited to show everyone my next project that will include both front end and back end repositories.

---
For this project I used Handlebars as my views in MVC and am happy to not have to anymore! It was a lot more difficult to understand and get working than just using a front end folder or project and linking them together(which will be my next task!). But overall it was a fun experience and would love feedback from anyone interested in checking out my app!

## Thanks for reading!

[This is the link to my Github Repo!](https://github.com/gabesharpton/Express-App)
Day 13 : Work My Mind
Tags: hiphop, code, coding, lifelongdev
Published: 2019-10-16 22:00:35

_liner notes_:
- Professional : Got the last little blocker with my app figured out. I feel so much better! It really worked my mind. haha. Got some help from the people that work on the SDK. With that done, I dove into the documentation. I filled out the outline I created more. Put in placeholders for where I want screenshots and code snippets. It's coming together. Spent a good amount of the day sitting in on other developers preparing for their upcoming presentations. Picking up some tips for my own presentations.

- Personal : Made my way downtown to attend a meetup. Got here a little early so I would miss traffic and worked a little more on my Use Case documentation. Also, did some work on my personal site.


![Yanacachi, Bolivia mountains](https://thepracticaldev.s3.amazonaws.com/i/s024qgnb39jrdjo3w7us.jpg)

About to head into the venue for the meetup. It's for the Black Orlando Tech group. I haven't been able to attend for a little while, so it'll be good to see some folks again.

That's pretty much it.

Have a great day tomorrow!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube zmYXYlCeUYE %}
Why are you using React?
Tags: react, frontend
Published: 2019-10-16 21:19:09

React is the most used library for frontend development these days, and I would like to better understand why that is. So if you use, have used or are planning to use React, I am curious to read from you what were/are the reasons to adopt it, for example:

- Do you find it better than others, and if so for what reason(s)?
- Because it is the most used?
- Others chose it for you?
- Compatibility with other tools?
- You didn't stop to think about alternatives?
- Other reasons?
How many of you work better in the evening versus the morning?
Tags: beginners
Published: 2019-10-16 21:16:16

---
title: How many of you work better in the evening versus the morning?
published: True
description: routines
tags: beginner 
cover_image: https://videohive.img.customer.envatousercontent.com/files/e534c707-1018-4d76-bc20-658373bc3e24/inline_image_preview.jpg?auto=compress%2Cformat&fit=crop&crop=top&max-h=8000&max-w=590&s=78d6aa2f2df4997c46d486d3dd9af4d0
---

How many of you work better at night versus the day?