teleren/devto huggingface dataset:
Top Lightning Network Projects (1)
Tags: technology, startup, bitcoin, cryptocurrency
Published: 2020-11-18 19:15:45

---
title: Top Lightning Network Projects (1)
published: true
date: 2020-11-16 12:38:21 UTC
tags: technology,startup,bitcoin,cryptocurrency
canonical_url: https://medium.com/coinmonks/top-lightning-network-projects-1-4e5ae579740d
---

[![](https://cdn-images-1.medium.com/max/2600/0*B8PEcbhxd59FLbzL)](https://medium.com/coinmonks/top-lightning-network-projects-1-4e5ae579740d?source=rss----721b17443fd5---4)

In this article we try to analyze the best projects that in my opinion are being born above the Lightning Network, layer number 2 of…

[Continue reading on Coinmonks »](https://medium.com/coinmonks/top-lightning-network-projects-1-4e5ae579740d?source=rss----721b17443fd5---4)
Quora Clone MERN
Tags: react, node, mongodb
Published: 2020-11-16 12:24:07

During stay home period, i have to study MERN in deep. So, I worked on Quora Clone Web App by using React, Node, Mongo & Express.

I provided below repo link.
Mine is not finished yet :D

https://github.com/nayyaung9/quora-clone
[Free] Tailwind CSS footer pack
Tags: tailwindcss
Published: 2020-11-16 12:18:55

Have a nice freebie to share

Five beautiful, designed footers to kickstart your next project. Every footer comes in a dark and light version. All footers are made with Tailwind CSS and optimized for mobile, tablet and desktop use. Icons included in these designs are from the awesome heroicons library.

👇

https://www.themes.dev/library/tailwindcss-footer-pack/
Best jobs remotely for today - 16 of November 
Tags: android, angular, systems, react
Published: 2020-11-16 12:15:23

See more on our [Telegram](https://t.me/remotely_jobs)

1. [Quality Assurance Engineer](https://www.remotely.jobs/remote-quality-assurance-engineer-job-at-amazon) (amazon)

- 4+ year of experience working as a Quality Assurance Engineer
- Experience in manual testing

2. [Frontend Developer](https://www.remotely.jobs/remote-frontend-developer-job-at-gun-io)(Gun.io)

- Has experience building greenfield software products as the key technical decision-maker
- Has experience building and leading software teams

3. [Sr. Front End Developer](https://www.remotely.jobs/remote-sr-front-end-developer-job-at-amazon)(amazon)

 - 8+ years of professional front end development around the user experience.
-  Experience with responsive web design.

4. [Contract .NET/React Developer](https://www.remotely.jobs/remote-contract-net-react-developer-job-at-skapa-tech-llc) (Skapa Tech, LLC)

- Strong knowledge of ASP.NET (Core or Full Framework) and React
- Experience with Bootstrap, REST APIs, Integrating Systems

5. [Software Development Engineer, Search Customer Experience](https://www.remotely.jobs/remote-software-development-engineer-search-customer-experience-job-at-amazon) (amazon)

- Bachelor's Degree in Computer Science or related field
- Computer Science fundamentals in object-oriented design
Coding Best Practices for Java Apps
Tags: java, codequality, productivity, beginners
Published: 2020-11-16 12:11:41

##Introduction##

Coding best practices are always helpful in ensuring the code quality, performance, and consistency.

In this article, I'll share a few coding best practices to follow while developing Java Applications that I use in my daily coding.

Before jumping to that, I'd recommend readers follow my other write-up that will set the stage for us:

{% link https://dev.to/smartyansh/code-review-checklist-for-java-beginners-181f %}

Now, we're all set to take a look at a few best practices:

1. **Follow the OOPs principles** - *Abstraction*, *Encapsulation*, *Inheritance*, and *Polymorphism*

2. **Use Design Patterns** like *Singleton*, *Decorator*, *Factory*, and *Builder-Factory* for reusable, robust, and maintainable code

3. Leverage the ***Project Lombok library* to reduce boiler-plate code**

4. Use ***Java Stream APIs* and *Lambda expressions* to process collections of objects**

5. Leverage ***Lambda expressions* to perform functional programming in Java**

5. Leverage ***Generics* for cleaner code and less duplicity**

6. Use the ***Collections class* for performing general operations on a collection**

7. Use the **_LocalDate_, _LocalTime_, and _LocalDateTime_ classes to work with Date/Time**.

7. Consider ***Optional* in place of null**

8. Prefer **Atomic variables and Concurrent Collections over Synchronization**

8. Proper **Error/Exception handling**

9. Leverage **ExecutorService for Asynchronous operations**

10. Move the **business logic to Services** for reusability

11. Keep **controllers thin** - only for handling request/response

12. It's a better idea to **reduce Database interactions**

13. If using **ORM technology like Hibernate**, use **Lazy/Eager** fetching techniques wisely

14. Use a **database connection pool for the handling of DB connections**

15. Leverage **batch insert/update for bulk transactions**

16. May use **asynchronous programming for long fetched queries**

17. Try **not to block the main thread for long execution task** - try asynchronous programming instead using the *FutureTask* and *CompletableFuture* classes

18. Enable **logging using _SLF4J_**

19. **Unit test the code using testing frameworks like _JUnit_**

20. **Document API specifications using _Swagger 2_**

##Summary##
In this short article, we've seen a few pointers for coding best practices as well as a few tips and tricks to follow while developing Java Applications.

Please let me know your thoughts and share the best practices you follow in the comments below.

Thanks for reading!
JavaScript Arrow & Regular functions case study
Tags: javascript, functional, programming
Published: 2020-11-16 12:04:37

We know the differences between arrow and regular functions in JavaScript. But sometimes I often meet difficult situations to predict the running results of JavaScript functions correctly.
So I have built simple test scripts to explain deeper about JavaScript functions and introduce here.
For the beginners, please visit [here](https://dmitripavlutin.com/differences-between-arrow-and-regular-functions/#6-summary).

```javascript
const case1 = {
	name: "Case1",
  fnArrow: () => {
  	console.log("case1/fnArrow: ", this.name)
  },
  fnRegular: function(){
  	console.log("case1/fnRegular: ", this.name)
  },
  fnArrowOutside: () => {
  	console.log("case1/fnArrowOutside: ", this.name)
  },
  fnRegularOutside: function(){
  	console.log("case1/fnRegularOutside: ", this.name)
  },
}

class Case2 {
	constructor() {
  	this.name = "Case2"
  }
  fnArrow = () => {
  	console.log("case2/fnArrow: ", this.name)
  }
  fnRegular(){
  	console.log("case2/fnRegular: ", this.name)
  }
  fnArrowOutside = () => {
  	console.log("case2/fnArrowOutside: ", this.name)
  }
  fnRegularOutside(){
  	console.log("case2/fnRegularOutside: ", this.name)
  }
}
const case2 = new Case2()

case1.fnArrow();
case1.fnRegular();
case2.fnArrow();
case2.fnRegular();

setTimeout(case1.fnArrowOutside, 100);
setTimeout(case1.fnRegularOutside, 200);
setTimeout(case2.fnArrowOutside, 300);
setTimeout(case2.fnRegularOutside, 400);
```
And this is a running result.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/cflfdry7nalwbehk4e9d.png)
Understanding Reconciliation: React Rendering Phases
Tags: react, javascript, webdev, beginners
Published: 2020-11-16 08:10:27

Ever wonder how React takes your code and creates what you see on the screen? Or how React knows whether to update your component or not? 

Learning how rendering works in React will allow you to optimize your apps and make better decisions on how to structure your React application.

Let's get started...

## How React Works

There are two phases to the React rendering cycle.

The **render phase** and the **commit phase**.

Here's the quick overview. The **Render** phase takes your JSX and turns it into a javascript representation of what the HTML structure should look like. This is called the VirtualDOM. While the **commit** phase is actually taking that representation and applying it to the real DOM. The whole process is called **reconciliation**.

### Rendering Phase

There are also **two** types of renders. An initial render and a re-render. Initial rendering is when your app first starts up. A re-render is when your state or props have updated.

The initial rendering phase starts from your root component (usually App if using CRA) and works its way down the tree. React will take your JSX components and build out a javascript representation of what the actual DOM will look like with it. This is called the VirtualDOM and this is one part of the rendering phase.

Once the Virtual DOM is created, React will compare what it has built out to what the actual DOM has using a fancy diff algorithm. However, once it has finished comparing it ends up with a list of what needs to be changed. This is still considered part of the rendering phase.

**Side Note:** It's important to note that React goes through its virtualDOM and creates a list of those changes that need to be made to the actual DOM. Meaning that React will wait to commit all the updates so it does it in one swift process and not in parts. This is what it means when you read that React does batch updates. This is crucial to understand when working with state.

Re-rendering is similar, but with one key difference. It does not go through every component to check for updates. Instead, when your component state or props update React uses a flag to mark that component. Basically saying that this component has been marked for an update.

### Commit Phase

Once React has done the comparison between its new and old components using that diff algorithm and has a list of changes. It will go ahead and *surgically* apply those changes to the actual DOM. Meaning that it will only change the particular elements of the DOM that have changes, not every single element. This is called the commit phase.

The commit phase is where React actually touches the DOM and makes changes.

It's important to point out that React may go through the render phase but never commit. This can happen if the component returns the same result as the last time. Often happening if the parent component's state updates causing a render, but the child component(s) still create the same output anyways.
Process v/s Threads | Operating System - M01 P11
Tags: linux, beginners, devops, codenewbie
Published: 2020-11-16 12:03:34

**This is a multipart blog article series, and in this series I am going to explain you the concepts of operating system. This article series is divided into multiple modules and this is the first module which consists of 12 articles.**

_In this article you will the difference between **Process** and **Threads** in an operating system. Here, we are talking about **multiprocessing/ multitasking** environment._

Let’s take a general overview about both things. A process is a heavy weight task while a thread is a light weight task.

We will see the difference in between these with the help of a table.

Process | Thread |
---| --- |
In process we fork the process, and by it a duplicate process starts, which has its own `Data`, `code`, `stack` and `register` ![Untitled Diagram.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1605527872948/lSN96Lf9J.png)| In thread, if we create multiple threads of a task, then both threads will share he `data`, `code` while they have their own `stack` and `registers`. ![Untitled Diagram (1).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1605527884640/lAdRNjumd.png)|
System calls are involved in process _(e.g. fork)_. Here operating system/kernel is responsible for making multiple processes. |There is no system call involved _(generally at user level)_. Here user or the API is responsible for making multiple threads. |
Operating system treats different processes differently. | All user level threads are treated as single level for operating system. |
Different processes have different copies of data, file, and code. | Threads share same copy of code and data. |
Context switching is slow. | Context switching is faster. |
Blocking a process will not lock the other process. | Blocking a thread will block entire thread. | 
Independent in nature. | Interdependent in nature. Because they share memory and address. | 

_So, this was difference between **process** and **thread**. Hope it helped you and you learn something new._

If you have any doubt, question, queries related to this article or just want to share something, then please feel free to contact me.

### 📱 Contact Me

[Twitter](https://twitter.com/r_mishra10)
[LinkedIn](https://www.linkedin.com/in/rahul-mishra-66210b185)
[Telegram](https://t.me/rahul_mishra10)
[Instagram](https://www.instagram.com/rahul_mishra10/?hl=en)

### 📧 Write a mail
<rahulmishra102000@gmail.com>

#### 🚀 Other links

[GitHub](https://github.com/rahulMishra05)
[HackerRank](https://www.hackerrank.com/rahulmishra10201)
Overview of Vim
Tags: vim, programming, productivity, linux
Published: 2020-11-16 11:58:51

### __What is Vi?__
Vi was the first screen-oriented text editor created for Unix, it was designed to be simple yet powerful for text manipulation.

### __What is Vim(Vi IMproved)?__
Vim is not just any text editor, it is an open-source configurable text editor that we can program according to our needs. It is an extremely fast and powerful text editor.

### __Philosophy of Vim__
When programming, you spend most of your time reading/editing, not writing. For this reason, Vim is a modal editor: it has different modes for inserting text vs manipulating text. Vim is programmable (with Vimscript and also other languages like Python), and Vim’s interface itself is a programming language: keystrokes (with mnemonic names) are commands, and these commands are composable. Vim avoids the use of the mouse because it’s too slow; Vim even avoids using the arrow keys because it requires too much movement.
The end result is an editor that can match the speed at which you think.

### __Advantages of VIM__
- __Vim is Always Available:__ Vim is available on most, if not all Linux distributions out there, you can install it from your distro’s official software repositories as follows:
```bash
apt-get install vim [On Debian/Ubuntu]
yum install vim [On RHEL/CentOS]
dnf install vim [Fedora 22+]
```

WSL and WSL2 can be used in Windows to be able to use VIM. Also, Vim GUI can be downloaded for Windows to use VIM. [Click Here](https://www.vim.org/download.php#pc) to download Vim GUI.

- __Vim Is Very Customizable and Extensible__
- __Vim Uses Less Amount of System Resources__
- __Vim Supports All Programming Languages and File Formats__
- __Vim Has A Vibrant Community__

### __Disadvantages of VIM__

- Difficult learning curve
- High effort to customize

### __Modes in VIM__

Vim’s design is based on the idea that a lot of programmer time is spent reading, navigating, and making small edits, as opposed to writing long streams of text. For this reason, Vim has multiple operating modes.

- __Normal:__ for moving around a file and making edits
- __Insert:__ for inserting text
- __Replace:__ for replacing text
- __Visual (plain, line, or block):__ for selecting blocks of text
- __Command-line:__ for running a command

### __My Opinion on Vim:__
Stick with using vim for all your text editing needs (even if it slows you down initially). If you can cross the initial learning period then it could be a boon for you.
Formulas for Counting Unique dates in a range in Excel Office 365!!
Tags: excelformula, excelformulas
Published: 2020-11-17 03:51:11

---
title: Formulas for Counting Unique dates in a range in Excel Office 365!!
published: true
date: 2020-11-16 11:51:50 UTC
tags: ExcelFormula,Excelformulas
canonical_url: https://geekexcel.com/formulas-for-counting-unique-dates-in-a-range-in-excel-office-365/
---

Here, we will discuss the simple **formulas used for counting the unique dates in a range in Excel Office 365**. Let’s see them below!!

Get an official version of ** MS Excel**  from the following link: [https://www.microsoft.com/en-in/microsoft-365/excel](https://www.microsoft.com/en-in/microsoft-365/excel)

[![Formulas to count unique dates](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/11/formulas-to-count-unique-dates.png)](https://geekexcel.com/formulas-for-counting-unique-dates-in-a-range-in-excel-office-365/formulas-to-count-unique-dates/#main)<figcaption id="caption-attachment-17425">Formulas to count unique dates</figcaption>
## General Formula:

-  Use the below formula to count the unique dates in Excel.

**=[COUNT](https://geekexcel.com/how-to-use-excel-count-function-in-office-365-with-examples/)(UNIQUE(date))**

## Syntax Explanations:

- **UNIQUE** – This function will return the list of unique values from a range. Values can be numbers, text, date, time, etc.
- **COUNT** – In Excel, the [**COUNT Function**](https://geekexcel.com/how-to-use-excel-count-function-in-office-365-with-examples/) helps to count the number of cells that contain any numbers or values.
- **Date** – It represents the input dates from your worksheet.
- **Parenthesis ()** – The main purpose of this symbol is to group the elements.

## Example:

- Let’s consider the below image to count the unique dates.
- First, we give the input dates in **Column B**.
- Then, enter the given formula in the selected area.
- After applying the formula, it will show the result in **Cell E3**.

![Example](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/11/mspaint_gSmVjYcerB.png)<figcaption id="caption-attachment-17424">Example</figcaption>

## Closure:

From this article, you can get to know the simple **formulas used for counting the unique dates in Excel Office 365**. Hope that this article is useful to you. If you have any **suggestions,** don’t forget to share it with us. Thank you so much for Visiting Our Site!! Continue learning on **[Geek Excel](https://geekexcel.com/)!! **and [**Excel Formulas**](https://geekexcel.com/excel-formula/) **!!**

### Read Ahead:

- **[Formulas to Count Matches Between Two Columns in Excel!!](https://geekexcel.com/formulas-to-count-matches-between-two-columns-in-excel/)**
- **[Excel Formulas to Count Rows that meet Multiple OR Criteria!!](https://geekexcel.com/excel-formulas-to-count-rows-that-contain-multiple-or-criteria/)**
- [**Excel Formulas to Count Rows that meets Internal Criteria!!**](https://geekexcel.com/excel-formulas-to-count-rows-that-meets-internal-criteria/)
git pull --rebase : Making life easy
Tags: github, git, webdev, tricks
Published: 2020-11-16 11:46:25

Github is confusing according to me and max developers find it too. So this is my latest post on using the `git pull --rebase`. This latest post on this topic because this git command will make your life easy, different and amazing. 
﻿
Let's rock onto that.
﻿
<hr>
When working on a project we synchronize the code by using the `git pull` command (common for everyone). 
﻿
The `git pull` command actually issues `git fetch` and `git merge` commands, which will result with some extra damnn commits and ugly merges in the commit log. 
﻿
So here is the final solution for this. 
﻿
You can simply use the command `git pull --rebase` to keep your repository clean. Your commit log and everything will be clean. 
<hr>
### Must Know
﻿
If you wanna merge a quality branch it might be cleverish to actually merge your commits so, by having a single point of integration of two distinct branches. Now the conflict resolving will as per the commit basis, so you have to use the command `git rebase --continue` to get to the next group of conflicts.  <br>
﻿
<hr>
Thanks For Reading 😀                
> I don't encourage this practice for ..... (you know what) use for personal projects only. 

Originally at - [RAHULISM - BLOG](https://rahulism.co/git-pull-rebase)
Explore Computer Vision Datasets
Tags: machinelearning, computervision
Published: 2020-11-16 11:39:32



This article list outs resources to find the trending data-sets in computer vision field useful for beginners and other practitioners.
<!--more-->

![](https://live.staticflickr.com/65535/49469177806_762f088247_w_d.jpg)



## **Datasets**
---

 [Open Images Dataset](https://storage.googleapis.com/openimages/web/index.html)

 [MS-COCO](http://cocodataset.org/#home) 

 [CIFAR-10](https://www.cs.toronto.edu/~kriz/cifar.html)

 [Fashion MNIST](https://github.com/zalandoresearch/fashion-mnist)

 [ImageNet](http://www.image-net.org/)

 [Objects365](https://www.objects365.org/overview.html)

 [KITTI Vision](http://www.cvlibs.net/datasets/kitti/)



## **Resources**

---

[Kaggle](https://www.kaggle.com/datasets)

[Google Data Search](https://datasetsearch.research.google.com/)

[visualdata.io](https://www.visualdata.io/)

[CVonline: Image Databases](http://homepages.inf.ed.ac.uk/rbf/CVonline/Imagedbase.htm)

[YACVID](https://riemenschneider.hayko.at/vision/dataset/)

[Computer Vision Online](https://computervisiononline.com/datasets)

[Datasetlist](https://www.datasetlist.com/)
Populate a drop-down with function-names from external module
Tags: javascript, html, module
Published: 2020-11-16 11:35:04

The use-case for this is probably *very* limited, but I found it useful, when I had to add a drop-down with *easing-functions* to a small app.

The easing-functions are in an external module called _easings.mjs_, and is a bunch of timing functions for animations, example:

```js
export function linear(t) { return t; }
export function easeIn(t) { return t*t; }
export function easeOut(t) { return t*(2-t); }
etc.
```

To populate a drop-down (select) with options, we need to have that element in the DOM:

```html
<select id="easingSelect"></select>
```

And, finally, the script for dynamically importing the _easings.mjs_ file and populate the drop-down is:

```js
/* Create a locally scoped variable for the imported module */
let easingModule;
const easingSelect = document.getElementById('easingSelect');

import('../assets/js/easing.mjs')
.then(module => {
  /* If import is succesful, assign imported module to local variable */
  easingModule = module;
  for (const func in module) {
    /*
    Iterate functions/methods in module.
    Add an option for each, assign innerText and value in one go
    */
    const option = document.createElement('option');
    option.innerText = option.value = func.toString();
    easingSelect.appendChild(option)
  }
});
/*
Add onChange-listener.
If selected value (function-name) exists in èasingModule`, run the function.
*/
easingSelect.addEventListener('change', () => {
  const easingFunc = easingModule[easingSelect.value];
  if (typeof easingFunc === 'function') {
    // easingFunc();
    console.log(`Run: easingFunc() ⇒ ${easingSelect.value}()`);
  }
})
```

Now, whenever I add a new easing-method to _easings.mjs_, the drop-down is automatically updated.