teleren/devto huggingface dataset:
Top business use cases of Golang
Tags: go
Published: 2021-04-30 10:04:32

Go language is extremely flexible and scalable that businesses across industries are using it to leverage machine learning, networking, programming, big data, website building, audio/video editing, and more. It has drawn the attention of many eminent business giants including, Uber, Alibaba, Facebook, BBC, Intel, Netflix and Twitter. All these tech giants leveraging [Golang development services](https://www.softwebsolutions.com/resources/top-business-use-cases-of-golang.html) demonstrate different use cases of Golang for various industries.

## Some real-world use cases:

### American Express uses Go for payments and rewards

American Express is an American-based multinational financial services corporation that mainly offers services and products such as charge cards, credit cards, traveler’s cheques, etc. Currently, the company is efficiently using Golang to make its payments and rewards platform faster, secure and scalable. Many American Express developers were already acquainted with this next-gen programming language. So they started using it to build microservices, collect and aggregate real-time events, write resilient apps, etc.

### Netflix uses Golang for enterprise development

The world’s popular media service provider and production company – Netflix is also using Golang for enterprise development. The company is mainly using the Go programming language for optimized server loading and data processing. Netflix’s web developers were in search of a programming language, having lower latency than Java and more productive than C. Golang appeared to meet their expectations by enabling them to handle millions of client connections simultaneously.

### Uber uses Go to improve user experience

The taxi giant Uber is using the Go programming language to enhance their map processing speeds and automate their decision-making process. The company also created a microservice using Golang that helped to build its highest query per second service (QPS). Thus, Golang enabled Uber to reduce its customer service wait times significantly. Golang also helps the taxi giant in the following ways:
1. To achieve high-throughput and low-latency
2. To manage CPU intensive workload
3. To get fresh and new geofence data

## Way to Go!

Ever since Golang has emerged, it has held the entire programming world by surprise. Although Golang is still a relatively new programming language, it has turned to have a much broader reach than anyone would have ever expected.
Php Datatables Delete Multiple Selected Rows Tutorial

Tags: php, programming, tutorial, blog
Published: 2021-04-30 09:47:30

Hi Dev,

In this blog, I will explain you how to delete multiple selected records useing datatables in php. We will show delete multiple selected records in php. you can easy delete multiple selected records useing datatables in php. we will show datatables delete multiple selected rows example in php.

I will give fulll example of php delete multiple selected records in datatables.
more ...
https://itwebtuts.blogspot.com/2021/04/php-datatables-delete-multiple-selected.html
SSC, changes and propositions
Tags: go, webdev, tooling, programming
Published: 2021-04-30 09:45:32

---
title: SSC, changes and propositions
published: true
description: HTML render engine concept, that brings frontend-like components experience to the server side with native html/template on steroids. Supports any serving basis (nethttp/Gin/etc), that provides io.Writer for response.
tags: go,webdev,tooling,programming
cover_image: https://camo.githubusercontent.com/7a0ee1f2ee7ed09c63aa2b7ee9cc51f8384b1e3cd3a16081bfc91ac4e8612446/68747470733a2f2f692e696d6775722e636f6d2f6948714f50514e2e6a7067
---

https://github.com/yuriizinets/go-ssc

## Latest changes
- Actions handler simplified. Now, it's implemented as http.HandlerFunc and much easier to use. I've added some documentation for that, but it still far away from "done".
- Actions arguments handling changed. You can just specify as much arguments, as you want in that way: `{{ action "ActionName" 1 2 3 }}`. That arguments will be passed as interface slice into your Action.
- Demo page upgraded. It's still not so awesome as need to be, but I'm doing my best :)

## Asking for ideas and propositions
I'm building development roadmap now and would like to listen for community ideas, about your vision of this concept. Feel free to propose anything you would like to see in this project, I would be very glad for any feedback :)
🦄 12 Iconic developer types
Tags: discuss, watercooler, programming, productivity
Published: 2021-04-30 09:37:18

# We've made it to twelve! 🎉
🧐🤠🤪🤓🦄🚫🏹🎅😳🤷‍♀️🐙🤑 

Already twelve iconic developer types created 😎
I noticed a lot of types were recognized by the readers, so I came up with the following questions for you:

> What developer type(s) do you relate to the most?
> What developer types do you have in your team?
> What developer types could you use in your team?
> What is your favorite iconic developer type?


If, by thinking about this, you get some inspiration to write a new iconic developer profile please leave it in the comments!

___

{% post https://dev.to/jmdejager/iconic-developers-51m5 %}
1) 🧐 The know-it-all
2) 🤠 The cowboy
3) 🤪 The funny one
___

{% post https://dev.to/jmdejager/iconic-developers-part-2-250j %}
4) 🤓 The perfectionist
5) 🦄 The Unicorn
6) 🚫 Doctor no
___

{% post https://dev.to/jmdejager/iconic-developers-part-3-47fc %}
7) 🏹 The Bug Buster
8) 🎅 The tools Santa
9) 😳 The branch breaker
___

{% post https://dev.to/jmdejager/iconic-developers-part-4-50nb %}
10) 🤷‍♂️ The WOMM developer
11) 🐙 The unfortunate full-stack
12) 🤑 The Client's Butler
___

## So please tell me 😎

> What developer type(s) do you relate to the most?
> What developer types do you have in your team?
> What developer types could you use in your team?
> What is your favorite iconic developer type?

#

> Photo by <a href="https://unsplash.com/@markuswinkler?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Markus Winkler</a> on <a href="https://unsplash.com/s/photos/emoji?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
How To Install NVM on macOS with Homebrew
Tags: node, todayilearned, tutorial, tooling
Published: 2021-04-30 09:23:39

The NVM (Node Version Manager) is a shell script used for installing and managing Node.js on a Linux based system. The macOS users can install NVM using the homebrew.

This tutorial help you to install NVM on your macOS system and manage Node.js versions.


# Prerequisites

You must have macOS desktop access with administrator privileges.

Login to the macOS desktop system and install Homebrew on your system (if not already installed)

```bash
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```


# Step 1 – Remove existing Node Versions

If your system already have node installed, uninstall it first. My system already have installed node via Homebrew. So uninstalling it first. Skip if not already installed.

```bash
brew uninstall --ignore-dependencies node 
brew uninstall --force node 
```


# Step 2 – Install NVM on macOS

Now, you system is ready for the installation. Update the Homebrew package list and install NVM.

```bash
brew update 
brew install nvm
```

Next, create a directory for NVM in home.

```bash
mkdir ~/.nvm 
```

Now, configure the required environment variables. Edit the following configuration file in your home directory

```bash
vim ~/.bash_profile
```

and, add below lines to ~/.bash_profile ( or ~/.zshrc for macOS Catalina or later)

```text
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
```

Press **ESC + :wq** to save and close your file.

Next, load the variable to the current shell environment. From the next login, it will automatically loaded.

```bash
source ~/.bash_profile
```

That’s it. The NVM has been installed on your macOS system. Go to next step to install Node.js versions with the help of nvm.


# Step 3 – Install Node.js with NVM

First of all, see what Node versions are available to install. To see available versions, type:

```bash
nvm ls-remote 
```

Now, you can install any version listed in above output. You can also use aliases names like node for latest version, lts for latest LTS version, etc.

```bash
nvm install node     ## Installing Latest version 
nvm install 14       ## Installing Node.js 14.X version 
```

After installing you can verify what is installed with:

```bash
nvm ls
```

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

If you have installed multiple versions on your system, you can set any version as the default version any time. To set the node 14.X as default version, simply use:

```bash
nvm use 14 
```

Similarly, you can install other versions like Node 12.X or Node 15 and switch between them.


# Conclusion

This tutorial explained you to how to install NVM and node.js on macOS system.
A multi-node and production like local kubernetes development environment
Tags: kubernetes, dockerdesktop, roost
Published: 2021-04-30 09:06:28

For Developers to run and test their containerized applications on a local system, a few options are available like Docker Desktop, Minikube, Kind or K3s, and many more. There is one more to the list — Roost, which is a complete end-to-end development platform with easy integration to various tools like Jenkins, Argo, Falco, Linkerd, or Istio.

In this article, we will compare Docker Desktop with Roost. Both of them use native virtualization technology available by default.

While both of them are one-click installs, Roost comes with a lot of enterprise-level configuration options. Docker desktop is a single node cluster, Roost gives your development team a multi-node Kubernetes environment on their local systems (Mac, Windows, and Ubuntu). Roost users get a rich UI to configure the cluster as per their needs.![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7zoq0jcxc4kk0xxmxyvq.png)
Docker Desktop is controlled and managed by individual developers. While working in a team, you need consistency in your development environment. Roost also has a SaaS Control Plane component with unique Left-Shifted Enterprise Policies, allowing you to create teams and define cluster policies/configuration, enabling your team’s consistent and production-like development experience. At the same, Roost allows you to have these development clusters on-prem or the cloud.
![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xkleah80pb9pb1hz5r25.png)
Even with multiple nodes, Roost is much more lightweight and easy to configure. Making a configuration or a policy change on the development machine with the Roost control plane can easily be controlled by team admins. Policies can also be changed dynamically and can be different for various teams. A developer may also be part of multiple teams; switching teams is just a click away, and your cluster configuration will change accordingly. With Docker Desktop, you get an isolated environment, which is way different than production.

Roost has a Team Dashboard built-in, which allows you to audit logs for compliance needs. They may be related to Docker file inspection or scanning or any other cluster event. 
![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3e8yhbgue99g1vho39qs.png)
On Roost, teams can also create a shared Team cluster, and users, if a need is there, would be able to acquire an exclusive lock on the cluster.
VMware CMTY Podcast Appearance – Discussing Tanzu Mission Control and vROPs
Tags: general
Published: 2021-06-28 10:14:20

---
title: VMware CMTY Podcast Appearance – Discussing Tanzu Mission Control and vROPs
published: true
date: 2021-04-30 08:49:36 UTC
tags: General
canonical_url: https://veducate.co.uk/vmware-cmty-tanzu-vrops/?utm_source=rss&utm_medium=rss&utm_campaign=vmware-cmty-tanzu-vrops
---

Thanks to [this blog post](https://veducate.co.uk/vrops-powered-off-vms/), I was delighted to be invited as a guest on the [VMware CMTY Podcast](https://communities.vmware.com/t5/Podcasts/ct-p/18200-home) ([YouTube Page](https://www.youtube.com/channel/UCS1bV66Kn32Tsh8WgQ2h84w)) hosted by [Eric Nielsen](https://twitter.com/ericnipro) and [Matt Langguth. ](https://twitter.com/gsxesx)

Originally I was going to discuss the out of the box vROPs dashboards such as finding out how long a VM has been powered off for, however Eric threw a curve ball at me 5 minutes before the podcast asking if I would discuss my more recent blog posts on Tanzu Mission Control, Tanzu Kubernetes Grid and then wrap up with vROPs.

It was a fun session!

{% youtube VkuehgTidBo %}

Find this on your favourite podcast platform under “VMware CMTY Podcast” such as the below:

- [Apple Podcast](https://podcasts.apple.com/gb/podcast/551-tanzu-mission-control-deploying-clusters-to-aws/id292461263?i=1000517163318)
- [Overcast.fm](https://overcast.fm/+I_nkLEQM)
- [TalkShoe](https://www.talkshoe.com/episode/15359046)
- [Spotify](https://open.spotify.com/show/1MVQS10haE2ddsUKMNSxog?si=hXui6fDxQ-6R-6QXF3pAKA) (although my session isn’t live on there yet)

Regards

[Follow @Saintdle](https://twitter.com/saintdle)<script async="" src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

[Dean Lewis](https://uk.linkedin.com/in/saintdle?trk=profile-badge)

The post [VMware CMTY Podcast Appearance – Discussing Tanzu Mission Control and vROPs](https://veducate.co.uk/vmware-cmty-tanzu-vrops/) appeared first on [vEducate.co.uk](https://veducate.co.uk).
My first step into the web dev community
Tags: introduction
Published: 2021-04-30 08:22:43

Hello all! Newbie here.

I started self-teaching Software Dev some months back and it's been an intense journey so far; full of rabbit holes which I've had the best time exploring.
Learning alone can be an interesting life experience and one which provides great insight about your inner self and how our minds work in so many different ways. Until now, the dreaded imposter syndrome has prevented me from putting myself out here on the web and getting to know people who are on the same journey as myself. I've decided to finally throw caution to the wind and fully immerse myself into the community with the intention of learning from others and sharing ideas on what I can. 
There is so much to be gained from interacting with others and thank god, the members of this community don't seem half as intimidating as I painted them out to be!

I'm grateful to you for reading this post and I'm excited to swap ideas and thoughts with some of you soon!
Java 8 Challenges
Tags: java, challenge, interview, string
Published: 2021-04-30 08:22:30

Coding question :
Class 1 ( 3 minutes )
Create class Student
Add 2 properties in this class -- String name and List<String> subjects
Create Getters and parameterized constructor to initialize the values of properties.
Class 2 ( 5 minutes)
Create class School
Add one method -- List<Student> createStudents() which will return list of Student objects
Return below 2 Students in a list from createStudents() -->

name : Rohit ; subjects : English, Science, History
name : Rahul ; subjects : English, Science, Mathematics

User Story 1 ( 10 minutes )
Product Owner wants to know the names of Students who have History as subject. Create a method List<String> findStudentNameWithHistorySubject(List<Student> students)

This method should accept List<Student> as parameter and find out the names of all students who have History as subject & return in a List.
User Story 2 ( 10 minutes)
Product Owner wants to know what all different subjects are being taught in your school. Create a method List<String> findSubjects(List<Student> students)

This method should accept List<Student> as parameter and find out different subjects & return in a List. (not Set/HashSet). Subjects should not be duplicated.
Developers, Start Paying For Stuff, Will You?
Published: 2021-04-30 08:05:21

I can sense your contempt. But hear me out here.

There are some counter-intuitive advantages to taming that inner instinct and natural pride a developer has, which makes him/her want to always develop stuff instead of paying for it. Here is a couple…

1. You will be able to relate: Till I started paying for stuff, I had a hard time relating to people who pay for stuff. That’s not a helpful mindset to have when you are developing products yourself that you expect people to pay. If you have to create high quality, you will need to experience high quality. Most of them cost some money.

2. You will see that it’s not just about the code: A right product means care, attention to detail, handling weird edge cases, proper documentation, UX, excellent onboarding, follow-up, support, and sound design. Signing up and paying for products like Intercom or Basecamp exposed me to the other aspects of product making and showed me first-hand what it ‘feels’ like to be a part of a pleasant experience.

3. Your app/project inherits the qualities of high quality paid products: Contrary to popular belief, open-source products aren’t that efficient at getting jobs done. It is because a random set of developers builds it from different parts of the world with different agendas. There is almost no research, no prioritization, and because developers use it, there is not much need for great onboarding, great UI, and support. Using Slack or Base camp makes your projects better. They allow you to consider more things, think broader and more organized get better consensus, and overall make for a better whatever-you-are-making. It is a little known secret that a product maker cannot make a great product without having experienced several great products themselves. Conversely, an excellent maker builds his creation by the combined influence of the ethos of all the products he/she has experienced until then. If you want to make great products, experience great products

I am the maker of Proxies API, a rotating proxy service that you will need to pay for if you want a reliable way to bypass IP blocks when web scraping.
Avoid defective nouns when naming things
Published: 2021-04-30 08:01:22

## Naming things is hard

You always have to keep in mind, software developers spend more time reading source code than actually writing it. A lot of other people will someday read the source code you are writing today. Better make sure to write it clear, consistent, and well structured. I can recommend reading [Clean Code](https://www.oreilly.com/library/view/clean-code-a/9780136083238/) by [Robert C. Martin](https://twitter.com/unclebobmartin).

Naming things is one part of writing clean code and often it is quite hard to find the right names. In the following, I just want to show you one easy step to improve your source code.

## Avoid defective nouns

Defective nouns are nouns without singulars, nouns without plurals, or nouns that have the same singular and plural (e. g. information, music, or news). See [Wikipedia](https://en.wikipedia.org/wiki/English_plurals#Defective_nouns) for more details.

Usually, in software development, you will need a noun that differs in singular and plural. So you are well-advised not to use defective nouns.

## Example

Think about the list of posts on [DEV](https://dev.to). How would you name those? There are multiple options, but you should definitely avoid a defective noun.

### ❌ Wrong: newss/news

```javascript
newss.forEach(function(news) {
    news.doSomething();
});
```

### ❌ Wrong: newsList/news

```javascript
newsList.forEach(function(news) {
    news.doSomething();
});
```

### ❌ Wrong: news/singleNews

```javascript
news.forEach(function(singleNews) {
    currentNews.doSomething();
});
```

### ✅ Correct: posts/post

```javascript
posts.forEach(function(post) {
    post.doSomething();
});
```

## Bonus: Irregular plural nouns

I will tell you a little secret. This might be a bit fussy, but I try to avoid irregular plural nouns, too. I do not like medium and media, child and children, or radius and radii. I just like good ol' regular plural nouns like post and posts, user and users, list and lists.
Save 5 minutes web scraping with Rust
Tags: programming
Published: 2021-04-30 13:47:17

---
title: Save 5 minutes web scraping with Rust
published: true
date: 2021-04-30 08:00:00 UTC
tags: Programming
canonical_url: https://domenicoluciani.com/2021/04/30/save-5-minutes-web-scraping-with-rust.html
---

Often I read that for simple tasks Rust is not a good choice. Go is more adopted when we need to create a small script to automatize our jobs. But is it true?

Read the [article](https://domenicoluciani.com/2021/04/30/save-5-minutes-web-scraping-with-rust.html)!
How many unfinished projects do you have?
Tags: watercooler, productivity, coding
Published: 2021-04-30 07:49:41

---
title: How many unfinished projects do you have?
published: true
description: 
tags: watercooler, productivity, coding
cover_image: https://image.freepik.com/free-vector/pile-cardboard-boxes-paper-documents-office-file-folders-isolated_53562-6376.jpg
---
Could you estimate how many projects are you normally working on simultaneously? Are you the type of person who works on a "start-to-finish" basis or do you like to switch between the projects in the making?

For example, I usually keep around like 10 projects. Out of those 2-3 are normally larger scale projects and 5-7 are for learning/testing purposes.
✔||🤢 Commit or Vomit | function currying 🍛
Tags: javacript, webdev, programming, discuss
Published: 2021-04-30 07:48:14

# Function currying
Hard to put vomit and curry together in a title, but I had to ask 😁  
I see this posted a lot on dev.to, function currying, but I find it not that readable myself TBH. What do you think? 
And please tell me why 😊


```typescript
// edit::
// It is about the concept of currying so changed to a 
// better way of writing
// I'll leave the first version at the bottom 
// for the comments that are already in!

const multiply = a => b => c => a*b*c
console.log(multiply(1)(2)(3)) // 6

// initial code block

function multiply(a) {
    return (b) => {
        return (c) => {
            return a * b * c
        }
    }
}
console.log(multiply(1)(2)(3)) // 6


```

#### function currying  ✔||🤢?

❤: Commit (I'd commit something like this)
🏷: Vomit (we all know unicorns don't vomit)
🦄: Like your post please continue this series!

Let's vote! 😊

> Photo by <a href="https://unsplash.com/@ninjason?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Jason Leung</a> on <a href="https://unsplash.com/s/photos/curry?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
Archiving and Querying MongoDB collection data from S3 
Tags: mongodb, awss3, archival
Published: 2021-04-30 07:47:19

Description
===========
Background:
===========
MongoDB is being deprecated in favour of DocumentDB, therefore Product Engineering will be moving data to DocumentDB.After the move, the corresponding collections in Mongo will be archived for safekeeping
We are on Redshift, but planning to migrate to Snowflake in future.

Problem Statement:
==================
The current archival process is to run mongodump on a collection,  and finally produces a bson.gz file by a particular partition
However, this is not very access-friendly when data needs to be read back:
Have to run mongorestore on all required bson.gz files into a Mongo / DocumentDB cluster before querying it back

Questions to Resolve:
=====================
1.What should be the right process to archive data? When to archive? How frequent? By whom?
2.mongodump is being run on an EC2 instance, how should this be run without SSH-ing into a server? And runnable by all teams planning to archive their data.
3.What should be the right way to store archived data ?
4.How should the dump (if any) be partitioned ?
5.What is the right output format to improve readability? What tool (query engine) can we read it with?
6.How should a user read the data back, when this is needed?
7.Data organisation structure should assume working with multiple pods, applications, tables / collections, etc

Other Contexts:
===============
We are on Redshift, but planning to migrate to Snowflake (do these support querying the archived data, if yes, how?)