teleren/devto huggingface dataset:
Cheat Sheet
Published: 2019-09-25 14:50:35

I, *Vikash Agrawal* from India, have been in IT Industry since 2006.
Over the time, I have realised that we get the chance to work on many area including technologies but when it comes to cracking any competition like interview, we have to put extra effort.
And this has inspired me to launch my own blog **Cheat Sheet**.

**Cheat Sheet** is a platform where you can find the quick helping points to understand any basic problem but of course not to be used surreptitiously in an examination :-).

*I'm still working my page to make it better and provide you with the better understandings*

The next pending tasks for me is as follows:
1. Include picture or any diagram.
2. Review the contents in perspective of an independent reader.
3. Keep on updating with my daily learning.

Click on the any item below based on your current interest area:
[Design Principle](https://dev.to/vikashagrawal/design-principles-4ajp)
[Multi Threading In Java](https://dev.to/vikashagrawal/multi-threading-in-java-il)
[Java Updates](https://dev.to/vikashagrawal/java-updates-5h0c)
[AWS](https://dev.to/vikashagrawal/an-overview-of-amazon-web-services-aws-195l)
[Springboot](https://dev.to/vikashagrawal/spring-boot-4ehk)
[Rest vs Soap](https://dev.to/vikashagrawal/rest-vs-soap-47ei)
[API Gateway Basics](https://dev.to/vikashagrawal/api-gateway-1hjn)
[Distributed Memory Caching](https://dev.to/vikashagrawal/distributed-memory-caching-33fd)
[Docker](
https://dev.to/vikashagrawal/dockers-cheat-sheet-56h5)
[Kafka](https://dev.to/vikashagrawal/kafka-27i4)
[IPV4 vs IPV6](https://dev.to/vikashagrawal/ipv4-vs-ipv6-3m0a)
Daily Challenge #76 - Bingo! (or not...)
Tags: challenge
Published: 2019-09-25 14:19:48

---
title: Daily Challenge #76 - Bingo! (or not...)
published: true
series: Daily Challenge
description: Write a function to decide the Bingo winner.
tags: challenge
---
For this game of BINGO, you will receive a single array of 10 numbers from 1 to 26 as an input. Duplicate numbers within the array are possible.

Each number corresponds to their alphabetical order letter (e.g. 1 = A. 2 = B, etc). Write a function where you will win the game if your numbers can spell "BINGO". They do not need to be in the right order in the input array). Otherwise you will lose. Your outputs should be "WIN" or "LOSE" respectively.

Test Arrays:
bingo([21,13,2,7,5,14,7,15,9,10])
bingo([1,2,3,4,5,6,7,8,9,10]

Good luck!

***
_This challenge comes from julesnuggy on CodeWars. Thank you to [CodeWars](<https://codewars.com/>), who has licensed redistribution of this challenge under the [2-Clause BSD License](<https://opensource.org/licenses/BSD-2-Clause>)!_

_Want to propose a challenge idea for a future post?  Email **yo+challenge@dev.to** with your suggestions!_
dbForge Transaction Log – A New Tool Made by Devart
Tags: sqlserver, sql, transactionlog, database
Published: 2019-09-25 14:05:23

---
title: dbForge Transaction Log – A New Tool Made by Devart
published: true
description: Devart has announced the release of a new tool, dbForge Transaction Log for SQL Server, which allows to look through audit changes and perform rollback transactions.
tags: SQL Server, SQL, Transaction Log, database
---

*Devart has announced the release of a new tool, dbForge Transaction Log for SQL Server, which allows to look through audit changes and perform rollback transactions.*

![Transaction Log](https://i.ibb.co/zVpWgkJ/Transaction-Log.png)

Devart, a recognized vendor of professional database management software for developers and DBAs, has released its brand new product – [dbForge Transaction Log for SQL Server](https://www.devart.com/dbforge/sql/transaction-log/). The solution is a powerful transaction log reader tool and .ldf file viewer that provides detailed information about all data changes in the database. Thus, it allows reverting unwanted transactions on different levels depending on user needs.

The core Transaction Log’s features and capabilities:

◘ **Export outputs** – the transaction log information can be displayed in the grid or exported to SQL Script, SQL Bulk files, or directly to a database;
◘ **Detailed log info** – the changes can be tracked, as well as the time when they were committed, even if it happened before the Transaction log installation;
◘ **Transaction visualization** – the transactions are shown, grouped, and stored in a custom high-performance grid with advanced filtering options.
◘ **Data recovery** –  the inadvertent or malicious database transactions can be reversed to repair data/ recover from specific data loss;
◘ **Undo or Redo** – selectively view one or all operations in a transaction and create the corresponding replay or reroll scripts.
◘ **Transaction Isolation** – the specific SQL Server transactions can be isolated by the user, date, object change type, and more.

Furthermore, Devart states its a beta version of a product, so user feedback is extremely welcomed. The developers argue that all recommendations will be taken into account in future releases. Learn more about the Transaction Log at the Devart official blog – [https://blog.devart.com/performing-audit-changes-and-rollback-transactions-is-now-simpler-than-ever.html](https://blog.devart.com/performing-audit-changes-and-rollback-transactions-is-now-simpler-than-ever.html)

**About Devart**

Devart is one of the leading developers of database tools and administration software, ALM solutions, data providers for various database servers, data integration and backup solutions. The company also implements Web and Mobile development projects.
For additional information about Devart, visit [https://www.devart.com/](https://www.devart.com/)
PHP Interview Questions [Core PHP]
Tags: php, interview, corephp, career
Published: 2019-09-25 13:43:52

#####Q. What is PHP?

PHP is a server-side scripting language designed for web development but also used as a general-purpose programming language.
Originally created by Rasmus Lerdorf in 1994, the PHP reference implementation is now produced by The PHP Group.

PHP originally stood for Personal Home Page, but it now stands for the recursive acronym PHP: Hypertext Preprocessor.

PHP code may be embedded into HTML code, or it can be used in combination with various web template systems, web content management systems, and web frameworks.

#####Q. Difference between isset() and empty() in PHP?
isset(): checks if a variable has a value including (False, 0, or empty string), but not NULL. Returns TRUE if var exists; FALSE otherwise.

empty(): function checks if the variable has an empty value empty string , 0, NULL ,or False. Returns FALSE if var has a non-empty and non-zero value."


#####Q. What is the use of explode and implode functions?
Use of explode() and implode() function
explode(): Convert string to Array
implode(): Convert Array to string

#####Q. What are PSRs? briefly describe it?
PSRs are PHP Standards Recommendations that aim at standardizing common aspects of PHP Development.

An example of a PSR is PSR-4, This PSR describes a specification for autoloading classes from file paths


#####Q. What is SQL injection?
The SQL injection is a malicious code injection technique. It exploiting SQL vulnerabilities in Web applications

Read more about - [PHP Interviews Questions Answers](https://www.fullstacktutorials.com/interviews/core-php-interview-questions-and-answers-36.html)
Better Commit Messages
Tags: git, commit, vscode
Published: 2019-09-25 10:15:41

---
title: Better Commit Messages
published: true
description: A guide for better commit messages.
tags: git, commit, vscode
---

## Better Commit Messages

Going through my TL saw the below tweet, I felt attacked a bit. As a one man army on most of my projects, I always do typical one liners, init, update, readme, fix-01, and so on. In this article I will show you how to configure git to launch your template on vscode for better commit messages.

{% tweet 1175100703829909505 %}

## The Template

This is the template that I currently use, you can change whatever you want to your liking. [Here's] (https://github.com/dmroeder/pylogix/pull/71)  an example of me using it. In the beginning it does make you think what to write, but after a few commits you'll get the hang of it.

```
# Commit Title (50 chars)

# Why? Issue, enhancement, etc.

# How does it address the why?

# Tickets, Links, etc...
```
## Save the template in your home directory

I named my template `.git_commit_msg.txt` but you can name it whatever you want. If you don't have environment HOME paths, then do an absolute path.

### Linux, Mac
`${HOME}/.git_commit_msg.txt`

### Windows
`%HOME%/.git_commit_msg.txt`

## Activate template on git
### Linux, Mac
```
git config --global commit.template ${HOME}/.git_commit_msg.txt
```
### Windows
```
git config --global commit.template %HOME%/.git_commit_msg.txt
```

## Configuring your editor

[core.editor docs](https://git-scm.com/docs/git-config#Documentation/git-config.txt-coreeditor)

Check your default text editor:
```
git config core.editor
```

I configured mine with vscode on git configuration : 
```
git config --global core.editor "code -w"
```
> code needs to be on path, if you type `code` in terminal/prompt and the editor doesn't open, then open vscode and do CMD/CTRL+SHIFT+P, and type `shell command`, you should see install and uninstall options. Windows adds code by default during installation.

> code can be replaced with your preferred text editor, vim, emacs, sublime, if you are having issues with your text editor, [SO] (https://stackoverflow.com/search?q=core.editor+git) is your friend.

## How it works?

Once you do a commit, the template will open up on vscode, you can uncomment the template lines, add new ones, whatever. Save message, and close file. At that point your commit will be complete. If you close the template without adding anything, commit will be cancelled. When you do the PR, that whole detailed commit message will be in your PR, ready for the maintainer to review.

```
git commit
```

> You can still use `-m` argument for those pesky one liners.

## What do you prefer?

- Do you enjoy one liners, and then do detailed PRs.
- Do you use commit templates?
- Does your team/company enforce a template?
- Any other methods?

I hope you enjoyed this post, thanks for reading!
SaaS Project Management tool looking for developer love!
Tags: saas, productivity, startup, vue
Published: 2019-09-25 13:23:57

Hey DEV community! 

My name is Coa and I stand behind Infinity (https://startinfinity.com), a SaaS project management platform. 

I firmly believe there are a lot of ambitious and hard-working people here, so I wanted to join the community and share some ideas, advice for the next features, maybe talk to some people about potential cooperation, etc.

The technology we use is Vue.js, Laravel (PHP framework) and JavaScript.

We're always in a search for new dev power, so feel free to reach out! 

Let me start with the next feature on the roadmap: Gantt Charts! Does anyone have a tip? ;)
Houston, we've got a PR
Tags: github, rant, ideas
Published: 2019-09-25 10:15:12

---
title: Houston, we've got a PR
published: true
description: 
tags: github, rant, ideas
---

At the moment [VSCode](https://github.com/microsoft/vscode) is sitting at 5000+ Issues, and 191 PR's. VSCode is popular I know, and it has been on github for 4 years now but still that's a huge number. That is just one of many popular repos with numbers like that. [React](https://github.com/facebook/react) has 201 issues, and 597 PR's, ok not terribly bad. If you keep looking, the patterns are repeated again and again, once a repo gains popularity is nearly impossible to manage PR's and issues.

At what point does this become unmanageable? Would big repos benefit from emailing list patches workflow? Or other magical way, aside from ignoring them?

I really like the way emailing list patches work, such as Linux Kernel or git/git, those github repos are just mirrors, but the email interface is not the greatest, then you have to worry about email server backups on top of git server backups.

## An idea

For me I think having a contributions system on top of git would be the best thing. For example assign Audio to Mario, Drivers to Alex, Utils to Alisson, Main.py to Owner and so on. When a PR is raised for any code under Drivers send PR notification to Alex, same with issues. In addition it could also be configured with keywords. Once a PR is submitted it becomes cumbersome for others to participate, and submit changes to the PR, this is where mailing list patches excel but to be honest I've read some patch emails, and it looks like 1995 came back with the FW:FW:FW chains is horrible.

```
---.contributions
  |
  ---assignments
  |
  ---keywords
```

Can you imagine if in addition to git, we had a great system for handling and dividing workload for PR's, and issues. Maybe even have contributors pre-approve PR's to take some of the workload off and get points, and get reputation as a PR pre-approver. I think there would be a lot more contributions.

- Better way to handle PR's/Issues high submission rates
- Better way to contribute for multiple people in one PR discussion
- Better notification system based on contributors assignments to folders/files/keywords.

How come no one has created that system, is it a very complex problem to solve? We've put a man on the moon with 1960's technology with hand woven memory modules, there must be a better way.
Valet - Windows 10, Acrylic DNS, Host Problem
Tags: valet, windows, acrylic, dns
Published: 2019-09-25 13:10:09

Hi everyone,
I installed Valet on Windows 10 following this guide: https://github.com/cretueusebiu/valet-windows

However I can't seem to get my top level domain for Valet to be found.  I have tried changing Valet's TLD to .app, .valet, .test, .dev as TLD's but none of them work.  I ping foo.valet and it responds with not found.  Have set up using Acrylic DNS on Windows 10, flushed the DNS on Chrome, flushed the DNS on Windows, restarted the machine, restarted the network adapter, but to no avail.  Valet, PHP, Composer, are all running.  It's just when I try to load in Chrome, I get "ERR_NAME_NOT_RESOLVED" and ping results in "ping request could not find host". 
 Any help is greatly appreciated.

Thanks
Trello Automations for Workflow
Tags: remoteworking, frontenddev, productivity, trello
Published: 2019-10-21 14:12:51

---
title: Trello Automations for Workflow
published: true
tags: remote-working,front-end-developmen,productivity,trello
canonical_url: 
---

Now that 2/3rds of our development team is at least partially remote our white board of project status is a little less useful so we turn to Trello to help track what’s going on.

Our basic set up has lists for: projects/launch dates, backlog/waiting, a list for each developer, “in proof”, and completed. But the real fun comes with some automations.

![](https://cdn-images-1.medium.com/max/770/1*k5NXTVfbZhj9gZ-KF7OMmA.png)

### **Power Up — Custom Fields**

We set up a few custom fields using the aptly named power up. The one we use the most is “completed date”. We’re frequently asked “hey, what did you guys do this week?” and being able to filter by the completed date is helpful for throwing together a quick report.

### **Power Up — Butler**

If you have the ability to add multiple power ups, our next choice is Butler. You can do so many things with Butler.

**Auto complete date (and remove complete date)**

One of the Butler rules we have set up will automatically add the current date to the custom field “completed date” if someone moves a card to the Completed list. And conversely it will remove the completed date if that card is removed from the list.

![](https://cdn-images-1.medium.com/max/760/1*vXqT9JlVUO7HZFznapxXOw.png)<figcaption>Butler task to add a completed date</figcaption>

![](https://cdn-images-1.medium.com/max/769/1*fiV--UJXwH1ynioKgYiShg.png)<figcaption>Butler task to remove the completed date</figcaption>

**Auto assign card**

The second automation we have set up will automatically assign a user to a card when it’s added to their list. If you have notifications set up, the users will get a reminder when a card is assigned to them.

![](https://cdn-images-1.medium.com/max/758/1*FRU4B4dBP7xP3JiRHYHEFw.png)<figcaption>Butler task to assign cards</figcaption>

We’re just getting started seeing what Butler can do for our Trello workflow and look forward to discovering more helpful automations.

* * *
Weekly Picks #94 — Development Posts
Tags: javascript, webdev, vscode, serverless
Published: 2019-09-25 12:42:54

* [Human Readable JavaScript](https://app.dailynow.co/r/c3da878f735eb6079dd5cf04c18efb30)
* [14 VSCode Extensions That Will Improve Your Productivity](https://app.dailynow.co/r/7cb30897db603a2f65d95f9c628e3101)
* [Redux without switch-cases (and some other tips)](https://app.dailynow.co/r/5774fc2f370198adb9d7c67ae2a57d20)
* [Coding practices your future self will love you for](https://app.dailynow.co/r/23a2d6290fcbfe1c7c0c701636354f71)
* [Top 5 Admin Templates With Node.JS Backend](https://app.dailynow.co/r/e5d819abe70eb84c99f74eccdd47a31a)
* [Is Serverless really as cheap as everyone claims?](https://app.dailynow.co/r/f780f3b1f0c61cc4c8640d7084e4df09)
* [Best Languages for Microservices](https://app.dailynow.co/r/75086aca1d331589abef1d51349f65ea)
* [Three Programming Languages That Will Drive Enterprise Development](https://app.dailynow.co/r/47df34322d75b260b0dd2478cb9c7d23)
* [Map/Filter/Reduce Crash Course](https://app.dailynow.co/r/ef3cbe97d9daeccd73a4e90ec7e99f33)
* [Bird Eats Bug â€” Perfect bug report every single time](https://app.dailynow.co/r/2c150f1ededeb341af0d2b164b31354a)

* * *

[_Thanks to Daily_](https://www.dailynow.co/) _developers can focus on code instead of searching for news. Get immediate access to all these posts and much more just by opening a new tab._

[![Daily promotion cover](https://cdn-images-1.medium.com/max/1024/1*7bwIhcH467BKX5Ni8XWpQg.jpeg)](https://www.dailynow.co/)
Everything about for loops in JavaScript?
Tags: javascript
Published: 2019-09-25 12:39:45

Learn about the most common ways of using a for loop in JavaScript. In this video we will cover for, for..in, and for..of loops in JavaScript. 

Find the code samples at https://gist.github.com/SuperBonsaii/...

You will learn how to iterate on numbers, Strings, Arrays, Set and Objects in JavaScript using for loops


Harit on Twitter: https://twitter.com/harittweets
    
Subscribe for moe videos on JavaScript with Visualization: https://www.youtube.com/channel/UC0yZ...
Follow bonsaiilabs on Twitter: https://twitter.com/bonsaiilabs
Follow bonsaiilabs on Facebook: https://www.facebook.com/thebonsaiilabs
Visit bonsaiilabs at https://bonsaiilabs.com
Duning-Kruger Effect
Tags: psychology, learning
Published: 2019-09-25 12:37:34

A friend of mine shared this video with me today - hopefully he was not hinting at something:
{% youtube GJz66wm95-M %}
The [Dunning-Kruger Effect](https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect) is something I have always called "Not knowing what you don't know". It's a general lack of understanding for the scope of a field due to inexperience. As you learn more about a field, your understanding of the scope increases and you quickly realize that you don't know as much of it as you think you do - you have only seen the tip of the iceberg.

The downside is that this lack of understanding leads you to a false confidence, which may stunt further learning of the topic.

I have seen this quite often when interviewing candidates over the years. I can also remember experiencing some of those a-ha moments when I realized that there was a lot more to what I was learning at the time.

Now, I just try to assume that "I know nothing."
What are Kubernetes pods ?
Tags: kubernetes, beginners, bitesize
Published: 2019-09-25 12:35:36

---
title: What are Kubernetes pods ?  
published: true
description: Kubernetes bitesize series for busy people. No more than 2 min read. Read it while waiting for the coffee to brew. 
tags: kubernetes, beginners, bitesize
cover_image: https://github.com/adipola/my-posts/blob/master/pictures/kubernetes_sun_bitesize.gif?raw=true
series: Kubernetes in Bitesize
---


A Pod is a group of one or more containers, such as Docker.
It is important to understand that although Kubernetes is defined as a container orchestrator. It doesn't run containers directly. 
Instead, it wraps one or more containers into a higher-level structure  AKA _pod_.

The group shares storage and network, and a specification for how to run the containers. A Pod’s contents are always co-located, co-scheduled and run in a shared context.

Containers within a Pod share an IP address and port space.
They can find each other via localhost. They can also communicate with each other using standard inter-process communications(IPC) like [POSIX shared memory](https://www.geeksforgeeks.org/posix-shared-memory-api/). 

Containers in different Pods have distinct IP addresses and can not communicate by IPC without special configuration. Hence, they will use Pod IP addresses instead.

Applications within a Pod also have access to shared [volumes](https://dev.to/adipolak/kubernetes-storage-config-simplified-3fhn), which defined as part of a Pod and are made available to be mounted into each application’s filesystem.

In terms of Docker, a Pod is modeled as a group of Docker containers with shared namespaces and shared filesystem volumes.

Pods are not durable and have a **lifecycle**:
 1. Pods are created
 2. Pods assigned a unique ID (UID)
 3. Pods are scheduled to nodes ( until restart of deletion )

 Phase status is part of the lifecycle:
 ![](https://github.com/adipola/my-posts/blob/master/pictures/pod_phase.png?raw=true)

###FYI
 
 * If a Node dies, after a timeout period, the Pods scheduled to that node are scheduled for deletion. 
 * Pod with UID can be replaced by an identical Pod, with the same name if desired, but with a new UID.



### ... that's a wrap!

That was Kubernetes pods in under 3 min! which is part of Kubernetes [Bitesize series](https://dev.to/adipolak/kubernetes-in-bitesize-2blm). 

![](https://media.giphy.com/media/l0MYOUI5XfRk4LLWM/giphy.gif)


Resources:
[Kubernetes.io](https://kubernetes.io/docs/concepts/workloads/pods/pod/)
[Step by step tutorial](https://dev.to/adipolak/kubernetes-and-virtual-kubelet-in-a-nutshell-gn4)