teleren/devto huggingface dataset:
How to prepare for Front End Jobs 2019! My Collection of resources
Tags: javascript, react, interview, webdev
Published: 2019-07-27 20:07:30

---
title: How to prepare for Front End Jobs 2019! My Collection of resources
published: true
description: a post to help people for their interview preparation
tags: javascript, reactjs, interview, webdev
---

So after giving almost half-a-century of interviews in past eleven months, I have made this stable list of resources to go through. Currently, I got fired so looking for a new opportunity.

To prepare for front end developer role you should prepare well on following topics :
1. Core JS - OOPS, ES6, Polyfills, Event Loop, [Closures, Scope, Execution Context](https://tylermcginnis.com/ultimate-guide-to-execution-contexts-hoisting-scopes-and-closures-in-javascript/)^(always lovely content from him)
2. CSS - Flexbox, CSS Grid
3. React - Core React Internals (VDOM), Context API, Hooks, Redux, Redux Saga
4. Any bundler e.g. Webpack
5. Caching , HTTP2, Security in Web Apps
6. Debounce, throttle, Promise, Async Await

I used to read most of the stuff from
- jsvault.com,
- javascript.info 

Webpack docs are the best to start off with.

> Webpack - Module bundler for Javascript Applications

> I guess one should deep dive into webpack config. There are so many optimizations that one can do just by tweaking a bit. Vendor libs caching, code splitting are two such things.

A fun and important resource 
 - http://www.thatjsdude.com/interview/ 

Keep modularity in mind while developing
 - https://github.com/MaximAbramchuck/awesome-interview-questions#javascript

for javascript interview questions github page : 
 - https://github.com/sudheerj/javascript-interview-questions

for react.js questions github page : 
 - https://github.com/sudheerj/reactjs-interview-questions

This is more comprehensive for Front-End Developer Interview Questions :
- https://github.com/h5bp/Front-end-Developer-Interview-Questions

Just like quickies in real life this one is exciting : https://30secondsofinterviews.org/

While giving all these interviews one thing surpriced me is that when I was relaxed and chilled I was able to perform better with less doubt on myself. 

Sometimes I just did more data structures and algorithm challanages or some Polyfill question from one day before the interview and if that stuff would make me confuse than during the interview I was lacking self-confidence while giving the answer. Even though I knew I have faced that asked question in some previous interview. So on a personal not always stay healthy, fresh, clear and light minded before you go for it.

Please do share any exciting more fun resources that helps one learn easily.
If You Don't Know, Now You Know - GitHub Is Restricting Access For Users From Iran And A Few Other Embargoed Countries
Tags: opensource, discuss, webdev, news
Published: 2019-07-27 19:11:10

---
title: If You Don't Know, Now You Know - GitHub Is Restricting Access For Users From Iran And A Few Other Embargoed Countries
published: true
description: Please help our cause against modern-day discrimination 
tags: #opensource #discuss #webdev #news
cover_image: https://thepracticaldev.s3.amazonaws.com/i/lpy1cq837bs738jzz3fo.png
---

### Here's something you may **never** have to see in your lifetime:

![](https://thepracticaldev.s3.amazonaws.com/i/pbqwep2nu7wk617ljdnu.png)

This is not something new to me and many others. In fact these sort of discriminations have happened to me so much that I'm very sad to have gotten used to it. Let me catch you up on what's going on.

### Update 1 - 28/7/19
It is now possible to make your private repositories public.

A few days ago, I received an email from GitHub which stated that my GitHub account has been restricted due to "Trade Control Laws Restrictions". Opening my GitHub profile, I found out that I can't access my private repositories. It also had stopped publishing my GitHub Pages sites. I was pretty upset and disappointed to see this happen again.

I understand that GitHub may be innocent and simply obligated to comply by the US government laws and regulations but here's the sad part, it's not the governments who suffer. It's us. We have to pay the price just because governments and politicians don't get along.

I do appreciate GitHub providing free private repository hosting for us, but I do believe it was absolutely unprofessional and unethical to block our access to our private assets without any prior notice. 

You might think, "what's the big deal?! there are many alternatives out there." Yeah, I know but this is not what it's about. It's about being constantly overlooked and discriminated against and not being able to have the same right to access the tools and resources as your fellow DEVs. 😔 

How would you feel like if you wake up tomorrow and see that @ben is blocking your access to this great community of amazing developers for a stupid reason?

Please make sure to checkout this repo for more information and see how you can help us.

{% github 1995parham/github-do-not-ban-us %}
What's the best UI you've used?
Tags: ui, ux, discuss
Published: 2019-07-27 18:41:41

---
title: What's the best UI you've used?
published: true
description: 
tags: ui,ux,discuss
---

If you're a musician, you probably notice things in music that regular folks miss out on. Likewise if you're, I guess, *anything* professional.

We've probably all used a website or app at some point where, as programmers and people who can appreciate that sort of thing, we stop for a moment and say, "wow, that's really good."

What's been an example of that for you, and what made it special?
Flow state - how do you achieve yours?
Tags: discuss, flow, flowstate
Published: 2019-07-27 18:26:45

---
title: Flow state - how do you achieve yours?
published: true
description: Flow, Flow state, In the zone. Whatever you call it, I'd love to know how you achieve your own version of it while developing. 
tags: discuss,flow,flow state
---

It has a few names. Flow, Flow state, Hyperfocus or being 'in the zone'. It's that mental state where you feel fully immersed in a feeling of energized focus, full involvement and hopefully, enjoyment in the process of an activity.

I'm curious about if, and how, other developers enter and maintain their Flow state.

So. How do you enter and maintain your Flow state?
This Explains a Lot
Tags: watercooler, offtopic, friday
Published: 2019-07-27 18:22:14

---
title: This Explains a Lot
published: true
description: 
tags: watercooler, offtopic, friday
---

<img src="https://laughingsquid.com/wp-content/uploads/2009/09/Geek-Nerd-Dork.jpg?w=434">

Source:  https://laughingsquid.com/wp-content/uploads/2009/09/Geek-Nerd-Dork.jpg
weekend links ... 2019-07-27
Tags: links
Published: 2019-07-27 18:17:29

---
title: weekend links ... 2019-07-27
published: true
description: 
tags: links
---

The zig programming language - https://ziglang.org/
SVG font effects from the 80s - http://www.coding-dude.com/wp/css/svg-filters/
Intro to Recurrent Neural Networks in Python - https://victorzhou.com/blog/intro-to-rnns/
Bird internet routing - https://bird.network.cz/
Phaser3 template - https://github.com/EnclaveGames/Enclave-Phaser-Template
Mini black hole in JS - http://frankforce.com/?p=6378
Knots Animated - https://www.animatedknots.com/

That black hole in JS is really cool.
Troubleshooting Datadog Log Setup
Tags: datadog, permission, logs
Published: 2019-07-27 17:45:08

---
title: Troubleshooting Datadog Log Setup
published: true
description: Datadog is a great tool for log management but the setup can be pretty annoying with permission issues to deal and logs not showing on datadog. Here I show the battle proved troubleshooting experience from managing log management setup across our Infrastructure.
tags: datadog, permission, logs
---

## Description

The setup of datadog is so simple for anybody to do. But to get it to ship logs can be messy. This guide would help you in troubleshooting.

## Known Issues

After installation and having all configurations right, this include `logs_enabled: true` set in your `datadog.yaml`, your datadog log setup may still not work. 
These lessons are from experience and you can refer to this in times of need.

1. Datadog Log

The first point of call is datadog logs. note: These logs are not managed by Logrotate so it can get very huge. I advise you `tail -n 500 /var/log/datadog/agent.log`.

Check this log for TCP(Port) and Permission issues.

```
sudo cat /var/log/datadog/agent.log
# or
sudo cat /var/log/datadog/agent.log | grep permission

```

2. Users and Usergroup

From experience datadog works well if the `/etc/datadog/conf.d/awesome-app.d/conf.yaml` is owned by
dd-agent user and group you created during installation.
If you are not sure, run `cd /etc/datadog/conf.d/awesome-app && ll` and view the usergrp and user. If the directory is owned by root or any other user, you can fix it with the following.

```sh
sudo chown dd-agent awesome-app.d/conf.yaml
sudo chgrp dd-agent awesome-app.d/conf.yaml

# and restart datadog

sudo service datadog-agent restart

```
Verify if you are still unable to ship logs.


3. Grant Permission to Datadog

Most of the time, we can get lucky by running some `chmod` on the log file we are shipping to datadog. This is not so good since the directory and log is generated by an application with a different user and group.

So the best approach here is [setfacl](https://linux.die.net/man/1/setfacl). It grants permission on a file without the need to compromise its previous users or permission.

Execute it as below per your path

`setfacl -m u:dd-agent:rwx /var/log/awesome-app/file.log`

or grant it on a directory

`setfacl -m u:dd-agent:rwx /var/log/awesome-app`

Restart and you would be fine.

Visit https://docs.datadoghq.com/ for more!
What does MVP really stand for (and the recipe for doing it right)
Tags: mvp, minimumviableproduct
Published: 2019-07-27 17:44:54

---
title: What does MVP really stand for (and the recipe for doing it right)
published: true
description: Since MVP became one of the most abused terms in the development world, we decided to clear up what MVP stand for and show how to build it right.
tags: mvp, Minimum Viable Product
cover_image: https://www.mindk.com/blog/wp-content/uploads/2019/07/kelly-sikkema-JRVxgAkzIsM-unsplash-min-1920x1080.jpg
canonical_url: https://www.mindk.com/blog/what-does-mvp-stand-for/
---
The whole startup world has become inspired by the idea of building Minimum Viable Products (MVPs) after Eric Ries popularised it back in 2008. It has become a trendy word in the tech world gradually turning into a misleading concept.

As a result, we have companies that are not willing to use the MVP approach as they don’t 100% understand it, experts who state the concept is wrong and clients who often get hot under the collar after the suggestion to try out a minimum viable product.

Сonsidering the fact that MVP remains one of the most important components when creating software, it would be unreasonable to drop it just because some people misuse the concept.

Let’s talk about why this lean tool becomes confusing, what mistakes you should avoid and, more to the point, what is the right way to build an MVP.

[Continue reading...](https://www.mindk.com/blog/what-does-mvp-stand-for/)
programming languages as crafts and toys
Tags: watercooler
Published: 2019-07-27 17:31:50

---
title: programming languages as crafts and toys
published: true
description: 
tags: watercooler
---

Java: LEGO
Python: Knitting
Ruby: Crochet
JavaScript: Cross stitch
HTML/CSS: Sand Art
Web Assembly: Embroidery
Go: K’nex
SQL: Silly Putty
PHP: Pony Bead Melting
C: Glassblowing
COBOL: blacksmithing


I will not be explaining further or taking questions. It’s not rational. This is just something I feel deeply in my soul.
How to build an API (without spending a fortune and going crazy)
Tags: api, webdev, softwaredevelopment
Published: 2019-07-27 17:05:02

---
title: How to build an API (without spending a fortune and going crazy)
published: true
description: APIs are everywhere. They help us integrate third-party features, connect enterprise systems, and exchange data between apps. 
tags: api, webdev, softwaredevelopment
cover_image: https://www.mindk.com/blog/wp-content/uploads/2019/05/raj-eiamworakul-603747-unsplash-min-1920x1080.jpg
canonical_url: https://www.mindk.com/blog/how-to-build-an-api/
---

Learning how to build an API turns regular developers into digital superheroes. Here’s our guide to unlocking your superpower.

Knowing how to create an API can give you a number of advantages like higher development speed, streamlined architecture (backend/frontend separation), better scalability with microservices, simpler integrations, easier testing, better security, easier compliance with GDPR and other regulations.

Now, let’s find out how to make an API.

[Continue reading...](https://www.mindk.com/blog/how-to-build-an-api/)
Pegando os meses entre duas datas com Javascript
Tags: dev, data, dates, javascript
Published: 2019-07-31 03:41:00

---
title: Pegando os meses entre duas datas com Javascript
published: true
tags: Dev,data,dates,javascript
canonical_url: https://marquesfernandes.com/2019/07/27/pegando-os-meses-entre-duas-datas-com-javascript/
---

Recentemente precisei montar um projeto para baixar arquivos com nomes que seguiam um padrão mensal e para isso montei uma função dinâmica para facilitar. Deixe seu comentário caso você tenha encontrado/feito outra solução!

```
function dateRange(startDate, endDate) { var start = startDate.split('-'); var end = endDate.split('-'); var startYear = parseInt(start[0]); var endYear = parseInt(end[0]); var dates = []; for(var i = startYear; i \<= endYear; i++) { var endMonth = i != endYear ? 11 : parseInt(end[1]) - 1; var startMon = i === startYear ? parseInt(start[1])-1 : 0; for(var j = startMon; j \<= endMonth; j = j \> 12 ? j % 12 || 11 : j+1) { var month = j+1; var displayMonth = month \< 10 ? '0'+month : month; dates.push([i, displayMonth, '01'].join('-')); } } return dates; } const dates = dateRange('2017-01-01', '2019-07-01'); // Retorno: //['2017-01-01', // '2017-02-01', // '2017-03-01', // '2017-04-01', // '2017-05-01', // '2017-06-01', // '2017-07-01', // '2017-08-01', // '2017-09-01', // '2017-10-01', // '2017-11-01', // '2017-12-01', // '2018-01-01', // '2018-02-01', // '2018-03-01', // '2018-04-01', // '2018-05-01', // '2018-06-01', // '2018-07-01', // '2018-08-01', // '2018-09-01', // '2018-10-01', // '2018-11-01', // '2018-12-01', // '2019-01-01', // '2019-02-01', // '2019-03-01', // '2019-04-01', // '2019-05-01', // '2019-06-01', // '2019-07-01']
```

O post [Pegando os meses entre duas datas com Javascript](https://marquesfernandes.com/2019/07/27/pegando-os-meses-entre-duas-datas-com-javascript/) apareceu primeiro em [Henrique Marques Fernandes](https://marquesfernandes.com).
Container Management Platform .. for FREE!! 
Tags: openshift, enterprizedocker, kubernetes, docker
Published: 2019-07-27 16:26:36

---
title: Container Management Platform .. for FREE!! 
published: yes
description: 
tags: #openshift #enterprizedocker  #kubernetes #docker
---

The microservice world seems to have decided on two layers of the stack: 
* Docker for containers
* Kubernetes to Orchestrate the containers

The level "below" (cloud service) may be hosted on something like AWS, or on premises.

The level above (application management) is less clear. The leading contenders are RedHat's OpenShift and Docker Enterprise, with Pivotal's Application Manager competing against them.


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

The interesting thing: there's no free software available for the application management layer. You can download and use Docker or Kubernetes, but you can't do the same with OpenShift and so on.

Is this an space begging for an OpenSource project, or am I missing something?
ReactJS + Twitch API Dashboard Portfolio Project - Part 2
Tags: react, javascript, webdev, tutorial
Published: 2019-07-27 16:26:21

The second and final video for the ReactJS and Twitch API project tutorial.

In this video you will create the routes and components for the most popular streams for specific video games on Twitch as well as the top live streams based on viewer count

Once you've finished you will have a good base to customize and extend so you can have a unique project for your portfolio when applying for jobs.

{% youtube 4FqIvnW0l5s %}

You can find the first article and video here:
{% link https://dev.to/renaissancetroll/learning-should-be-fun-reactjs-twitch-api-tutorial-4i6p %}
How to Install the Spree E-Commerce Framework using Ruby on Rails
Tags: rails, ruby, tutorial, video
Published: 2019-07-28 18:40:18

---
title: How to Install the Spree E-Commerce Framework using Ruby on Rails
published: true
tags: rails, ruby, tutorial, video
canonical_url: https://web-crunch.com/install-spree-commerce-framework-ruby-on-rails/
---

The [Spree commerce framework](https://spreecommerce.org/) is an open-source fully-featured e-commerce solution that integrates directly with the Ruby on Rails framework using three main gems.

In this short tutorial, I walk you through how to get the gem and its dependencies installed. We tour the framework showing off both the front-end and back-end admin-only UI. We also take a brief look at the source code responsible for the e-commerce framework.

{% youtube ec78bl1kypY %}

#### Prerequisites

This framework (gem) depends on a fresh install of Rails 5.2.3. Rails 6 support I’m sure is on the horizon but I wasn’t able to install it successfully.

Using Spree you can extend it with additional gems found here.  
[https://github.com/spree/spree#extensions](https://github.com/spree/spree#extensions)

Installing on your own? Reference the developer docs for more information:  
[https://github.com/spree/spree](https://github.com/spree/spree) or [https://guides.spreecommerce.org/](https://guides.spreecommerce.org/)

If you’re interested in me exploring more of this framework or a popular counter-part called [Solidus](https://solidus.io/) let me know!

The post [How to Install the Spree E-Commerce Framework using Ruby on Rails](https://web-crunch.com/install-spree-commerce-framework-ruby-on-rails/) appeared first on [Web-Crunch](https://web-crunch.com).
Remove Duplicates From Arrays in Javascript
Published: 2019-07-27 16:14:31

---
title: Remove Duplicates From Arrays in Javascript
published: true
description: 
tags: 
---
### Summary
There are several ways to remove duplicates from arrays in JS. This article will demonstrate a method using loop and indexOf() and another method using Array.from() and Set().

### Method #1
1. create a new empty array
2. iterate through the original array
3. use indexOf to check whether the new array already has a same value
4. if the value is not found in the new array, then push it.
```
//Objective: remove the duplicate values in array1
let array1 = [1,2,3,3,4,2,5,7,1]

let array2 = []

for(let eachValue of array1){
    if(array2.indexOf(eachValue) === -1){
      array2.push(eachValue)
    }
}

console.log(array2) //returns [ 1, 2, 3, 4, 5, 7 ]
```
Notice that array.indexOf returns -1 if no value is found. In that case we will push the value into the empty array we have created because it is a unique value.

### Method #2
1. Set is a javascript built-in method, which allows to store unique values.
2. since set returns collection of unique values in an object type, we need to convert this object back to an array.
3. Array.from() method will convert the Set() object back to an array. This creates a new, shallow copied array.

```
//Objective: remove the duplicate values in array1

let array1 = [1,2,3,3,4,2,5,7,1]

array1 = Array.from(new Set(array1))


console.log(array1) //returns [ 1, 2, 3, 4, 5, 7 ]
```

We can also use the array.filter() and indexOf() to return only unique values.
During PR review - do you check in into the branch?
Tags: discuss, codereview, pr
Published: 2019-07-27 16:02:16

---
title: During PR review - do you check in into the branch?
published: true
tags: discuss, code review, pr
---

Have found a very fundamental post on Code review https://charcoalbin.com/posts/code-review.html where Authour states that it is needed to check the functionality of PR.

>Usability Test
>Confirm if the PR achieves its goal, visually and functionally.

I have thought about this idea, but actually never tried, mostly because of time. 
Do some of you follow it, what's your perspective?
KubeRider - Loading contexts and namespaces
Published: 2019-11-24 12:46:16

---
title: KubeRider - Loading contexts and namespaces
published: true
date: 2019-07-27 15:19:17 UTC
tags: 
canonical_url: https://deskriders.dev/kuberider-loading-contexts-and-namespaces/
---

 ![](https://deskriders.dev/media/posts/2/kuberider.png)

[KubeRider](https://github.com/namuan/kube-rider "KubeRider") is a desktop application that I'm building to working with Kubernetes clusters. This post is part of the ongoing series covering the development of KubeRider.

See [here](https://deskriders.dev/tags/kuberider/) for more articles in the series.

![](https://deskriders.dev/media/posts/2/kuberider.png)

The application is written in Python and uses PyQt5 for desktop components. My plan is to make it simple enough for most people to manage kubernetes clusters without having to remember CLI switches. And at the same time, the console view shows you the commands being run to help you understand what is going on behind the scenes.

The application relies on [Kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) to run commands so make sure you have it installed and working.

When the application starts up, it tries to get all the available [contexts](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) and select the currently selected context. It also tries to load all available namespaces in the selected context.

![](https://deskriders.dev/media/posts/2/kube_rider_loading.gif)

Github 
[https://github.com/namuan/kube-rider](https://github.com/namuan/kube-rider)
JavaScript series, Reverse Engineering, best practices and Spies
Tags: beginners, tutorial, javascript, showdev
Published: 2019-07-27 14:41:38

---
title: JavaScript series, Reverse Engineering, best practices and Spies
published: true
description: A series on Reverse Engineering, some algorithms and a top 10 list on best practices.
tags: beginners, tutorial, javascript, showdev
---

### Reverse Engineering

There is a real benefit to trying to figure out how the tools you use every day actually work. It forces you to think and also improve your architecture skill. Most of all it makes you understand why something is implemented in a certain way.

{% link https://dev.to/itnext/reverse-engineering-understand-promises-1jfc %}
Have you ever wondered how a Promise actually works? Then this article is for you

{% link https://dev.to/itnext/reverse-engineering-how-you-can-build-a-test-library-53e3 %}
You use test libraries every day, I hope. Have you ever wondered what makes them tick?

{% link https://dev.to/itnext/reverse-engineering-understanding-spies-in-testing-3443 %}
Want to understand what makes spies tick in testing by implementing it yourself? Then this is for you.

### Good practices

{% link https://dev.to/itnext/modern-javascript-10-things-you-should-be-using-starting-today-22dp %}

Here are 10 things in JavaScript I think you should adopt today. You will type less and get more done.

### Back to school

{% link https://dev.to/itnext/why-you-should-learn-recursion-3dao %}
Recursion was one of those dreaded topics at Uni but if you got it WOW you could build some really elegant solutions. Recursion is everywhere, compilers, compression, search. Upskills with this elegant approach