teleren/devto huggingface dataset:
Do not be this kind of developer
Tags: career
Published: 2018-10-19 21:24:40

We, humans, use language  since ancient times to express ourselves and to communicate with each other. The same thing happens with programming languages. It is a tool made so humans can communicate with machines. Just as spoken languages, there are a lot of programming languages with different dialects, applicabilities, and contexts. Some are even called dead languages because no nation officially speaks it.

Spoken languages are close to programming languages in its core: *communication*. Both are great tools to communicate. And that’s how you want to see programming languages: as a tool.

With the ascension of Agile methodologies and evolving IT market, it is becoming common to handle programming languages as a tool to deliver business value. It doesn’t matter if it’s Ruby, Python, JavaScript or Go, it depends mainly on the applicability and the *business value* you’re delivering.

Software developers, over the years, are even more involved with the business. They’re no more hired to write a bunch of code, but to understand the business problem and code based on it, otherwise it doesn’t matter because it doesn’t offer value preposition.

# The hater
The biggest problem is: there are people that live complaining about programming languages.

> Python is slow, Java is clunky and I hate JavaScript.

This is a phrase that I hear or read almost every day. And that bothers me because some developers just don't want to see programming languages as business tools, instead, they see as a weapon to harm other programmers.

Python has its applicabilities in web development, web scraping, data science and so on. Java works so well as an enterprise language. And JavaScript conquers the web.

Every programming language has its applicabilities, its pros and cons. If you think that language you love is the best, maybe you’re wrong. It can be the best for the project you’re working, but it might not be helpful for every kind of problem.

Being this kind of developer can harm a whole workplace, because of their negativity. Sorry, but it isn’t because someone hates JavaScript that the whole web is going to give up on it. So, instead of complaining, let’s deal with it and start studying.
Nginx with Brotli and ModSecurity
Tags: nginx, brotli, docker, modsecurity
Published: 2018-10-19 20:22:07

---
title: Nginx with Brotli and ModSecurity
published: true
description: Run Nginx in Docker with Brotli and ModSecurity enabled
tags: Nginx, Brotli, Docker, ModSecurity
---

Are you using Docker for your next deployment?

How about web server? Nginx? Good choice!

But how do you manage security?

Docker is secured already? Myth! Wake up

Yes, you need to handle your own security, Docker ain't gonna do shit to help you secure things up with public accessibility to your endpoints.

Well, I recently bumped up into Nginx [ModSecurity](https://www.modsecurity.org/) module and found it amazing.

It handles a ton of vulnerabilities and keeps your app secure from a major web and SQL vulnerabilities which otherwise were not handled by nginx default.

Also, [Brotli](https://github.com/google/brotli) is a much better compression offered by Google, gives 20% extra compression as compared to GZip.

Wow! isn't it? So how do you use this in your deployment?

It takes a lot of building and compiling and configuring to get this working. 15 mins of minimum build time guaranteed!

Don't worry, I've got your back and build a Docker image for you with all these together.

Try https://github.com/krish512/docker_nginx_modsecurity,

Latest Nginx with Modsecurity v3 and Brotli compression level 11


PS: Not really promoting my repo, just helping the community with my contribution and expecting PRs raised towards the repo to make it more feature-rich.
How to best organize a Rails app folder?
Tags: discuss, rails, meta, opensource
Published: 2018-10-19 19:54:19

Aside from all the rudimentary folders, we have a few that are generated by gems we use, and then there's the custom folders we've created. It's not obvious sometime what should go where. We have folders called "labor" and "services" which are for plain-old-ruby-objects; We had some purpose to these patterns but it never really materialized. Now it's just confusing.


```
app
├── assets
├── controllers
├── dashboards (created by administrate gem)
├── decorators (created by draper gem)
├── fields (created by administrate gem)
├── helpers
├── javascript (created by Webpacker gem)
├── labor [** we created **]
├── lib
├── liquid_tags [** we created **]
├── mailers
├── models
├── observers [** we created **]
├── policies (created by Pundit gem)
├── sanitizers [** we created **]
├── services [** we created **]
├── uploads (created by carrierwave gem)
└── views
```

Or [check it out here on GitHub](https://github.com/thepracticaldev/dev.to/tree/master/app)

How do you organize your Rails `app` folder? Any and all opinionated suggestion welcomed!
Everyday usage of Emacs
Tags: emacs, productivity
Published: 2018-10-19 18:54:11

---
title: Everyday usage of Emacs
published: true
description: Share your experience about using Emacs in your everyday life
tags: emacs, productivity
---
 
I was searching about how to parse`YAML` with `Emacs` when I found [this post](https://nickdrozd.github.io/2018/10/17/web-scraping.html) and it blew my mind!!! Are there any more users solving everyday problems like this with Emacs? If so, please share a comment with your solution.
The Basics Of ES6 Generators - Javascript
Tags: react, es6, javascritp
Published: 2018-10-19 16:56:33

---
title: The Basics Of ES6 Generators - Javascript
published: true
description: The Basics Of ES6 Generators - Javascript
tags: #react #es6 #javascritp #reactjs 
---

Post Link : <a href="https://www.skptricks.com/2018/10/the-basics-of-es6-generators-javascript.html" > The Basics Of ES6 Generators - Javascript</a>

With ES6 generators, we have a different kind of function, which may be paused in the middle, one or many times, and resumed later, allowing other code to run during these paused periods.

 The function* declaration (function keyword followed by an asterisk) defines a generator function, which returns a Generator object.

Syntax :
First, the new declaration syntax:
function *addnumber() {
    // ...
}
 <a href="https://www.skptricks.com/2018/10/the-basics-of-es6-generators-javascript.html" > The Basics Of ES6 Generators - Javascript</a>

<img src="https://3.bp.blogspot.com/-XhR2CaeJE3M/W8oKAFPha_I/AAAAAAAACCs/MnKDQ_jtCjg8kgF9lirPAfa0CupLcsWhQCLcBGAs/s400/gene.png" />

 <a href="https://www.skptricks.com/2018/10/the-basics-of-es6-generators-javascript.html" > Read More ...</a>
Containous is hiring for a U.S. based developer advocate for Traefik 
Tags: whoishiring
Published: 2018-10-19 16:52:35

---
title: Containous is hiring for a U.S. based developer advocate for Traefik 
published: true
description: 
tags: #whoishiring
---
![Traefik](https://thepracticaldev.s3.amazonaws.com/i/j3d4cc65onyn67cskoxq.png)`

Containous, creator of [Traefik](https://traefik.io/)| Developer Advocate | U.S. | Remote| Sponsor visa? No.

About the company — Containous develops advanced software solutions for companies committed to using container technologies. Our first product, Traefik, is an open source cloud native edge router, with over 300 contributors, 250 million downloads on DockerHub, 18,000 stars on GitHub, and an active and supportive global Slack channel. 

About the role — Comfortable coding and hacking on Docker and Kubernetes in an enterprise environment. Experience with Rancher, Mesos, and other technologies that [Traefik integrates with.](https://containo.us/traefik) More information on the job found [here.](https://containo.us/careers#developer-advocate)

Do you sponsor visas? Not at this time. 

How to Apply — Please apply [here](https://containo.us/careers#developer-advocate)
Have you used the new "suggested changes" in GitHub pull requests?
Tags: github, opensource, discuss
Published: 2018-10-19 16:43:18

These are pretty cool! "Suggested Changes" are in public beta and allow you to pitch code alterations which can be one-click merged.

![](https://user-images.githubusercontent.com/527589/46896770-a53aeb00-ce44-11e8-8a9f-4edc171cf584.jpg)

> You can apply a suggested change directly in a pull request if you have write access to the repository and are the author of or assigned to the pull request.

## [Guide](https://help.github.com/articles/incorporating-feedback-in-your-pull-request/#applying-a-suggested-change)

I have not actually made use of this yet. Have you? What is your opinion either way.
Nodejs Mail Localhost
Tags: node
Published: 2018-10-19 16:21:06

---
title: Nodejs Mail Localhost
published: true
description: Nodejs Mail Localhost
tags: Nodejs
---

Hello to all, here is I am sharing the working and tested link for **Sending mail in node js from localhost**.

I am liking nodejs more more now.

[node js send mail from localhost](https://therichpost.com/node-js-send-mail-from-localhost)

I am having more node js post on my blog, you can check it.

Thank you

**Therichpost**

Jatt Da Mukabla
Music Libary CLI
Tags: ruby, cli, womenwhocode, codingmoms
Published: 2018-10-19 12:02:40

---
title: Music Libary CLI
published: true
description: My Flatiron Ruby Project
tags: ruby, cli, womenwhocode, codingmoms
---

It came. It saw. It conquered my entire life for a whole week.

The Music Library CLI was the first of the final projects for Object Oriented Ruby. To say that it was challenging is an understatement; it truly tested me on all the knowledge I had gained in the preceding lessons. In this blog post, I would like to iterate over ; ) the final method that brought everything together - #play_song.

The first line:

def play_song puts “Which song number would you like to play?”

The CLI asks the user which song they would like to play from the imported library, a simple puts statement. The CLI then ‘gets’ the user’s response in the next line:

user = gets.strip

Then the program checks to make sure that the number entered by the user is a valid number corresponding to one of the song options in the music library. This is accomplished by the following code:

if user.to_i.between?(1, Song.all.length)

Song.all.length is the number of items in the Song.all array. If the number entered is valid, the CLI then matches the number entered with the corresponding item in the Song.all array through this line of code:

song = Song.sorted[user.to_i - 1]

The song variable is assigned to the value of the sorted class method, which looks like this:

def sorted 
    self.all.uniq.sort_by {|s| s.name} 
end

The return value of this method is a uniqe array of items listed alphabetically. In the case of Song.sorted, it is an array of songs listed in alphabetical order. So calling Song.sorted[user.to_i - 1] takes the user’s input, subtracts 1 from the number in order to correspond to the array items that start with a 0 index, and chooses the song at that index from the Song.all array. The next line:

puts “Playing #{song.name} by #{song.artist.name}”

Here, the program uses string interpolation to return the .name and .artist.name of the matching song item in the Song.all array.

It was interesting to incorporate the use of modules in this lab, which was a concept recently introduced in the course. I really like the sleekness of having a single file with a body of methods that can be applied to each class.

Here’s the final #play_song method:

def play_song
  puts "Which song number would you like to play?"
  user = gets.strip
    if user.to_i.between?(1, Song.all.length)
      song = Song.sorted[user.to_i - 1]
      puts "Playing #{song.name} by #{song.artist.name}"
    end
end

Thank you for reading : )
Developers Help With OCPJ Hints
Tags: help
Published: 2018-10-19 14:16:08

---
title: Developers Help With OCPJ Hints
published: true
description: 
tags: help
---

I will be taking an OCPJP exam soon not sure of what to study. I'll be glad if anyone can help give a hint of what to expect in the exam due to experience taking the exam before.
[VIDEO] Frontend vs Backend #TFHDailyStandUp ep4
Tags: tfhdailystandup, frontend, backend, beginners
Published: 2018-10-19 14:13:43

---
title: [VIDEO] Frontend vs Backend #TFHDailyStandUp ep4
published: true
description: 
tags: #tfhdailystandup #frontend #backend #beginners
---

<img src ="https://thepracticaldev.s3.amazonaws.com/i/d7bnr41w5d3c2vsq9yvj.png" />

EP4: TFH DAILY STAND UP TIME!!!! In today’s stand up I talk about frontend vs backend 
<br>👀 💻 🍕 🤖<br> 
Using a pizza making robot, the way the robot looks and the buttons are the frontend, the action behind the buttons and the making of the pizza are the backend
[VIDEO] Bugs and Debugging #TFHDailyStandUp ep3
Tags: tfhdailystandup, debugging, career, beginners
Published: 2018-10-19 14:09:01

---
title: [VIDEO] Bugs and Debugging #TFHDailyStandUp ep3
published: true
description: 
tags: #tfhdailystandup #debugging #career #beginner
---

<img src="https://thepracticaldev.s3.amazonaws.com/i/e80f1nd7xezjedwjl1qc.png" />


EP3: TFH DAILY STAND UP TIME!!!! In today’s stand up I talk about bugs and debugging <br>
🐛 🐜 <br>

Bugs are like the crumbs you drown in when you’re eating a Nature Valley granola bar. The moment you take the first real bite, they’re everywhere.
[VIDEO] Creating a good portfolio #TFHDailyStandUp ep2
Tags: tfhdailystandup, portfolio, beginners, career
Published: 2018-10-19 13:58:57

---
title: [VIDEO] Creating a good portfolio #TFHDailyStandUp ep2
published: true
description: 
tags: #tfhdailystandup #portfolio #beginners #career
---

<img src = "https://thepracticaldev.s3.amazonaws.com/i/jke5vvnxhd6ky900v3h1.png" />

EP2: TFH DAILY STAND UP TIME!!!! In today’s stand up I talk about what makes a good portfolio
💼 💼 
Portfolios are everything in the tech world. Portfolios are how you showcase your skills, show who you are, and secure that BAG 💰 💵
[VIDEO] Git vs Github #TFHDailyStandUp ep1
Tags: tfhdailystandup, git, github, beginners
Published: 2018-10-19 13:45:29

---
title: [VIDEO] Git vs Github #TFHDailyStandUp ep1
published: true
description: 
tags: #tfhdailystandup #git #github #beginners
---


<img src="https://thepracticaldev.s3.amazonaws.com/i/smpv8ag4v4enn6ga3yo6.png" />


TFH DAILY STAND UP TIME!!!! In today’s stand up I talk about git and github GitHub is one of those things where you gotta have one if you’re a developer

Shit is lit 🔥
C# for the Java Developer: Extension Methods
Tags: java, beginners, csharp
Published: 2019-03-14 01:05:00

---
title: C# for the Java Developer: Extension Methods
published: true
tags: java, beginner, csharp
series: C# for the Java Developer
canonical_url: 
---

After spending several years crafting Java code, I recently decided to dive back into C# and share what I learn in the process. In this blog post, I will talk about extensions methods. This concept, which exists in some JVM languages (like [Kotlin](https://kotlinlang.org/docs/reference/extensions.html)) but not in Java, let the developer add methods to a class without touching its code (hence the name _extension_ methods).

<!-- more -->

Let’s say you want to create a method that puts the first letter of a string in upper case and returns the new string. You cannot modify (or even inherit) the `String` class in Java to add this method. Since you don’t necessarily want to create your own custom flavour of the `String` class for your code base, you would probably create a static function that takes a `String` as an argument and return another `String`:

```csharp
class StringExtensions {
  static String capitalize(String word) {
      return Character.toUpperCase(word.charAt(0)) + word.substring(1);
  }
}
```

Now, you can simply invoke this function like this:

```csharp
String word = "hello";
String capitalizedWord = StringExtensions.capitalize(word);
```

Of course, creating a static method is also possible in C#. However, C# has a feature that allows adding new methods to a class without having to modify its code. This feature is called _extension methods_. In order to create an extension method, you have to create a top-level static class and implement a static method. The first argument of this method specifies the type that the method operates on and should have the `this` modifier:

```csharp
static class StringExtensions
{
  static string Capitalize(this String word)
  {
      // Note that this cannot access any private data in the String class. 
      return char.ToUpper(word[0]) + word.Substring(1);
  }
}
```

In order to use it, the namespace that contains the class must be specified with a `using` directive. Afterwards, the method can be invoked as if it was an instance method of the type:

```csharp
string word = "hello";
string capitalizedWord = word.Capitalize();
```

Extension methods are very powerful. Besides the fact that the code looks “cleaner”, it is also possible to seamlessly plug new behaviours in existing types by simply importing a namespace. The extension code can be in separate specific modules that can be imported only when needed.
Neat trick to download YouTube videos using Termux
Tags: youtube, termux, shell, hacks
Published: 2018-10-19 10:35:26

---
title: Neat trick to download YouTube videos using Termux
published: true
description: This post will walk you through all the steps on how you can use termux to download videos directly from your youTube app.
tags: YouTube,Termux,Shell,hacks
---
<img src='https://termux.com/files/htop_framed.png' width="300" height="300"/>
<br>

I like termux a lot, because of all the things that it supports and all the things that it can do. In this post I have mentioned some of the steps to Download YouTube videos directly from YouTube app using Termux.
<br>

You can go <a href='https://medium.com/@baradhiren07/download-youtube-videos-using-termux-2e72082d5173'>here</a> to get the full post.
<br>

This is my first post here, so do let me know what you think of this and if you have any suggestions.
Web Frontend Dev Starter.
Tags: javascript, typescript, webpack, npm
Published: 2018-10-19 10:17:23

---
title: Web Frontend Dev Starter.
published: true
description: Web Frontend Development Starter Kit.
tags: #javascript, #typescript, #webpack, #npm, 
cover_image: http://kojiyamauchi.com/images/my_logo.jpg
---　　
![image](http://kojiyamauchi.com/images/img.jpg)
# Web Frontend Dev Starter Kit.  
<https://github.com/kojiyamauchi/frontend-dev-starter-kit>  
Creating Optimization of I Think About Various Things Necessary for the Development of Recently Front End & Designs.

## Usage.

- Clone or Download This Repository in Project Root Dir.
- Initialize package.json
  - -> `yarn init`
- Install All Packages.
  - -> `yarn install`
- When Creating Static Website.
  - -> `gulp` or `yarn gulp`
- When Creating Web Application, Using JavaScript Framework or Library.
  - Development -> `yarn dev`
  - Build -> `yarn build`

ー

- Check npm Package Update Version. ( ncu )
  - -> `yarn check-pkg`
- Update npm Package on package.json. ( ncu )
  - -> `yarn update-pkg`
- Delete yarn.lock & node_modules.
  - -> `rm yarn.lock` & `rm -rf node_modules`
- Re:Install All Packages.
  - -> `yarn install`
Diary - 2018.10.19
Tags: productivity, learning, journey, javascript
Published: 2018-10-19 07:27:22

---
title: Diary - 2018.10.19
published: true
tags: productivity, learning, journey, javascript
---

# React: Summary of useful Array Methods

I see a lot of React beginners having problems with functional programming methods when working on the state of an array.

In the end, we need three operations, like the C, U, D in CRUD:

- Creating new data / adding data to the array
- Deleting / removing data from the array
- Updating data in the array

From a functional standpoint,

- Creating is using existing data and concating it with other data: `concat`
- Deleting is using existing data and filtering out the (un)needed data: `filter`
- Updating is using existing data and mapping it onto something new: `map`

```js
const origNumbers = [1, 2, 3];

// creating new data => add the number 4
const addedNewNumber = origNumbers.concat(4); // [1,2,3,4]

// deleting data => remove even numbers
const removedSomeNumbers = origNumbers.filter((number) => number % 2); // [1,3]

// updating data => update number by adding 1 to it
const numbersPlusOne = origNumbers.map((number) => number + 1); // [2,3,4]
```


# Dev Tools

We can use `$` instead of `document.querySelector`
and `$$` instead of `document.querySelectorAll`.

That's not related to the jQuery $.

Example:

```js
// old
document.querySelectorAll(".myClass");

// new
$$(".myClass");
```
5 BEST OPEN SOURCE ECOMMERCE PLATFORMS 2018
Published: 2018-10-19 07:24:17

---
title: 5 BEST OPEN SOURCE ECOMMERCE PLATFORMS 2018
published: true
description: We have shortlisted the 5 best open source eCommerce platforms that help you meet your business requirements and bring it to the next level.
tags: 
canonical_url: https://www.techcronus.com/blog/ecommerce-website-development-platforms/
---

1. WooCommerce


WooCommerce is one of the most popular open source eCommerce development platforms today. 

2. Magento

Magento provides great flexibility to online store owners. They can modify the source code and add features they need.

3. Zen Cart

Zen Cart is a free open source PHP platform. It is a user-friendly open-source eCommerce development platform.

4. PrestaShop

PrestaShop is considered to be a prime choice out of latest open source eCommerce website development platform.

5. OpenCart

Compared to other open source eCommerce platforms, OpenCart is easy to use and lightweight.


Checkout for more information regarding [E-commerce Platform](https://www.techcronus.com/blog/ecommerce-website-development-platforms/) with Benefits of every E-commerce Platform and Is An Open Source E-commerce Platform Right for You?