teleren/devto huggingface dataset:
Hybrid cloud deployment
Tags: cloudnative, kubernetes, docker, devops
Published: 2021-04-16 11:30:40

BENEFITS OF Hybrid cloud architecture
Today, a multi cloud or hybrid cloud architecture brings in a lot of benefits and is quickly becoming a promising strategy for companies. Multi cloud uses a private/public cloud service or a combination of both from different cloud vendors. Whereas, hybrid-cloud deployment is the combination of private, public clouds and traditional data centers i.e., on-premises that work together effectively even if they have a different infrastructure, work under a single heterogeneous environment
 

Hence, being on multiple clouds gives enterprises the flexibility to find the best cloud solutions that fit their budget, without the risk of depending on one vendor.
Simplest permutations
Tags: javascript, algorithms
Published: 2021-04-16 11:23:19

This is a review of backtracking and putting this algorithm together in its simplest form, which is still complex with many different factors at play.

The complexity of backtracking starts with the arguments passed into the function. In its simplest form backtracking for permutations includes:

```javascript
result // a result array of arrays
```

```javascript
current // contains the current elements of each permutation
```

```javascript
nums // the actual numbers to be permutated
```

With these three arguments for the backtracking callback we then either check if the `current` permutation elements are the same length as the `nums` array as the base case to exit. 

Or loop through the nums array making sure there are unique elements on the `current` permutation candidate, to then add new elements to `current` from `nums` and then remove them as we exit the recursions.

``` javascript 

var permute = function(nums) {
    let result = []
    backtracking(result, [], nums) 
    return result
};

const backtracking = (result, current, nums) => {
    if(current.length === nums.length){
        result.push([...current]) // add a copy of current
    }else{
        for(let i = 0; i <nums.length; i++){
            if(current.includes(nums[i])) continue // skip rest of loop 
            current.push(nums[i])
            backtracking(result, current, nums)
            current.pop()
        }
    }
}
```

## Current permutations array

This array (`current`) will only store the elements if we define it in the local scope of backtracking, but also we have to create a new array in this case with the spread operator when we enter the base case.
CodePen - A Very Wobbly Liquid SVG Button ✨
Tags: codepen, webdev, javascript
Published: 2021-04-16 11:16:29

This very wobbly button makes use of vectors, catmull-rom splines and linear interpolation to create an entirely vector based "liquid" button.

<p>Toggle the debug mode to see how it works!</p>

{% codepen https://codepen.io/georgedoescode/pen/yLgExbV %}
YouTube Marketing Guide: Understand Your Potential Audience - eGoodMedia
Published: 2021-04-16 11:11:58

After completing your profile next comes the most important part i.e. creating a youtube marketing strategy for your business. If you are starting new then first we recommend you check out youtube demographics or statistics. 
 
Getting insight about youtube data like more than 5% of the youtube traffic comes from the US or the age range ( 81% youtube users age ranges between 18-30 years) and more makes your decision process more effective and result-driven. 
 
Collecting Youtube data allows you to create more targeted youtube marketing strategies that can offer you desired results. For example, if you are having an SEO agency then youtube can help you to spread brand awareness and educate the audience but very rarely companies get customers from youtube. 

<a href="https://www.egoodmedia.com/youtube-marketing-guide-scale-your-business-using-youtube-in-2020/">Read more</a>

Read more Articles:-
<a href="https://www.egoodmedia.com/covid19-social-media-strategy/">Tips To Reevaluate Your Social Media Strategy During COVID19</a>
<a href="https://www.egoodmedia.com/whats-social-listening-5-best-social-listening-tools/">What’s Social Listening? 5 Best Social Listening Tools</a>

Contact Details:-
1-6046704333
422 Richards St Unit 170, Vancouver, BC V6B 2Z4, Canada

<a href="https://www.egoodmedia.com/">web design seattle agency</a>

Visit Reference Profile Websites:-

https://bit.ly/2QslZDP
https://bit.ly/2Qob4ec
https://bit.ly/3e75LI7
<a href="https://www.egoodmedia.com/how-social-media-engagement-has-changed-during-covid19/">Social media engagement during covid-19</a>
https://bit.ly/3e85fto
https://bit.ly/2OUurLE
https://bit.ly/2Qob5Pi
https://bit.ly/3mOots8
https://bit.ly/3djr7TC
<a href="https://www.egoodmedia.com/reddit-marketing-scale-your-business-using-reddit-in-2020/">reddit marketing</a>
https://bit.ly/3dgOhdh
https://bit.ly/3sfapZW
https://bit.ly/3e23y0L
https://bit.ly/3a9rRca
<a href="https://www.egoodmedia.com/google-image-search-to-drive-organic-traffic-on-your-website-in-2020/">Google image search drive traffic</a>
https://bit.ly/3dXcLay
https://bit.ly/3a3K9Lz
https://bit.ly/328fM2s
https://bit.ly/3s8uNvt
https://bit.ly/3a0ATb1
https://bit.ly/2Qob4Le
Windows Terminal - Get a default config
Published: 2021-04-16 11:11:23

*If you are using Windows Terminal and you want to have a default config open in a click, this is for you!*

---

Windows Terminal exposes a command line with multiple parameters which allows you to do a lot of things easily!

#### Open Windows Terminal
Use the following command and a new window of Windows Terminal will be open.
> wt

Then you can add multiple options to open what you want.

<br/>

#### Open 2 tabs
> wt new-tab `; new-tab

<br/>


#### Open a tab with a title
> wt --title "K8s"

<br/>


#### Open in fullscreen
> wt -F

<br/>


#### Open with focus
> wt -f

...

And so on. Also, you can compile all that options to generate a personal quick launch terminal with multiple tabs, specific names...

For more information and options : https://docs.microsoft.com/en-us/windows/terminal/command-line-arguments?tabs=windows

---

To have access to that terminal in one click, you have multiple options:
- Create a bash file to execute that script
- Create a shortcut where you call PowerShell with the command in parameter.

---

I hope it will help you!

*Don't hesitate to give some feedback to help me to improve my writing skills. Thanks!*
Website Application Development for Your Business
Tags: webappdevelopment
Published: 2021-04-16 11:03:33

A Website is the Medium through which viewers can access information or purchase products over the internet. Responsive Web Development is a broad term that encompasses a wide variety of tasks, all involved in the formation or web pages. The Importance of web design and its impact on the web is globally accepted fact these days. Presentation of a website is a Fundamental factor that the developer or owner must reside on.  
Obviously, Best website design is of major importance to any new or established business. It is the most profitable way to bring a quick ROI (Return on Investment) to your business. A small investment of today will certainly get you flawless results tomorrow. 
Many Business executives overlook importance of Responsive web design in overall marketing performance, but the truth is it can make or break your campaign, especially if you’re marketing online.
Web Design Benefits	
•	First Impressions
Whenever meeting a new person or potential client, you always worry about making the best possible first impression. Your website should be an immediate reflection of you, your personality and your business. Web design provides you the First Impression of your website.
•	Higher Search Engine Ranking
When people are searching for a specific business or service to suit their needs, they are searching for key terms within these search engines.  Statistically Users will visit the first or second business that is generated by their search. Having a high search engine ranking is the best method today to gain new client.
•	Challenge Your Competition	
Having a professional website allows you to be challenge your competition to keep up. Continually working to your website forces your competition to always remain one step behind. 
•	Generate More Revenue
A professionally designed website will attract more attention and generate more traffic to your website. Humans by nature are drawn to attractive things and this is no different in the world of design. This is why it is important to employ a professional design firm in order to maximize the potential of your website design and effectiveness.
•	Extended Word of Mouth
How often have you enjoyed a great website design for a business? More than likely you have shared that business name or website with friends & family, simply because of the effect the website had on you. 
Great design balancing with intuitive site navigation leads to a great experience for the end user. This word of mouth leads to more traffic and potential clients simply based off of your well designed website.
•	Greater & Quick Access
Internet access is available on almost every mobile device or tablet these days. Having a quick and easy way for customers to find your phone number, address or contact you by email is a huge benefit. They can easily find out what you do, what you have done previously and what you can offer them. You don’t have to say a lot in order to get people’s attention. Sometimes you can just let the design speak for you.
도메인 네임서버 변경후 계속 이전 서버에 연결될 때
Published: 2021-04-16 10:55:09

인터넷 서비스를 하다가 호스팅을 이전하고 도메인 네임서버를 변경했는데
계속 이전 서버를 찾아갈 때 **DNS Flush** 방법입니다.

네임서버를 변경해도 최대 48시간까지 캐쉬가 갱신되지 않아 이전 서버를 찾아갈 수 있습니다.

## Windows 운영체제인 경우

1. 시작 버튼의 실행에서 **'cmd'**를 입력하여 터미널 모드로 들어갑니다.
2. 명령 프롬프트가 나타나면 **'ipconfig/flushdns'**를 입력후 엔터합니다.

## macOS

터미널에서

#### macOS Mojave (모하비)
1. sudo killall -HUP mDNSResponder; sleep 2; 
2. macOS 비밀번호 입력

#### macOS High Sierra (하이시에라)
1. sudo killall -HUP mDNSResponder; sleep 2; echo macOS DNS Cache Reset | say
2. macOS 비밀번호 입력

#### macOS Sierra (시에라)
1. sudo killall -HUP mDNSResponder;say DNS cache has been flushed 
2. macOS 비밀번호 입력
April 16th, 2021: What did you learn this week?
Tags: weeklylearn, discuss, weeklyretro
Published: 2021-04-16 10:29:20

It's that time of the week again. So wonderful devs, what did you learn this week? It could be programming tips, career advice etc.

<center>

![Image of the brain](https://media.giphy.com/media/ojmB7lOn3VUU8/giphy.gif)
</center>

Feel free to comment with what you learnt and/or reference your TIL post to give it some more exposure.

{%tag todayilearned %}


And remember, if something you learnt was a big win for you, then you know where to drop it as well.👇👇🏻👇🏼👇🏽👇🏾👇🏿

{%link https://dev.to/devteam/what-was-your-win-this-week-53nb %}

<center>

![Little kid making a fist as if to say "Yes!"](https://media.giphy.com/media/6brH8dM3zeMyA/giphy.gif)
</center>

Photo by <a href="https://unsplash.com/@qmikola?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Mikołaj</a> on <a href="https://unsplash.com/s/photos/book?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
English Dictionary Application using Youglish API with Vue.js
Tags: vue, english, javascript, css
Published: 2021-04-16 10:27:33

I tried to make a project that will help you learn English with Vue.js. It gives you to understand the most common 1000 words in English randomly according to the range you entered and with the examples used on Youtube with Youglish API. I hope it will be useful content when studying English, memorizing words.

My purpose of doing this project was when I realized that I had a hard time memorizing English words. I did this project to get a little more familiar with the words. I think hard work can be overcome with simple solutions. My english is not perfect at the moment, but I am working on it. I hope it becomes a little easier for me to learn English with this project.
I did this project in English-Turkish. But you can do this project in your native language by forking.

I will share the source code url of the project. You can see how he does it from there. I used two APIs in the project. One of them is OWLBOT DICTIONARY API and the other is Youglish API.
These APIs helped me a lot in the project.

#The project is as follows;
There is the most common 1000-word json in English, and the key values in this json correspond to English-Turkish words. In the project, there are two input ranges from 0 to 1000, the user selects the desired value in these ranges and comes across the user randomly in the desired range. It sends the APIs we use with this word, bringing the meaning of the word, an example sentence, the place where it is used in these APIs.

Project URL: https://cihat.github.io/dictionary/
Source Code: https://github.com/cihat/dictionary

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jucx7lkbgjodz4vfqvas.gif)
Node.js API Starter Kit
Tags: javascript, typescript, node, postgres
Published: 2021-04-16 10:18:16

**[https://github.com/kriasoft/node-starter-kit](https://github.com/kriasoft/node-starter-kit)** — complete starter kit for building Node.js apps optimized for serverless deployment (Google Cloud Functions, Cloud SQL).

- PostgreSQL database tools (migrations, seeds, backup/restore, REPL shell)

- Stateless authentication via 3rd party providers (Google, Facebook, GitHub)

- Starting database schema with "user" and "identity" (credentials) db tables

- Email templates for transactional emails using Handlebars, Juice CSS inliner, instant preview

- Pre-configured "local", "dev", "test" (QA), and "prod" environments (env variables)

- Pre-configured with Babel, TypeScript, and Rollup (bundling); hot-reload in dev mode

- Deployment scripts for Google Cloud Functions

- No API-specific code (other than OAuth 2.0 endpoints); feel free to use it with any API library!

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x161jq7omftx44kqv5w1.png)
Integrate your website into Cloudflare
Tags: cloudflare, security, deploy, release
Published: 2021-04-16 10:09:55

Suppose you have hosted your website. One day you want it more secured, DDos mitigation and faster. Don't worry! Cloudflare can help you. Cloudflare provides services such as CDN, DDos mitigation, internet security and so on. Cloudflare sits between users and your hosting server. This means that Cloudflare will handle requests from clients before going to web server. Cloudflare offers free and paid packages. This depends on your needs.

The following is steps by steps to integrate your website into Cloudflare:

- Register a new account at Cloudflare.
https://dash.cloudflare.com/sign-up

- Sign in Cloudflare.
https://dash.cloudflare.com/login

- Replace your DNS provider's nameservers into Cloudflare-Nameservers.

|Name|Server|
|:-----|:-----|
|NS|[YOUR_CLOUDFLARE_NAMESERVER1]|
|NS|[YOUR_CLOUDFLARE_NAMESERVER2]|

- Click "Add Website" link on Cloudflare website.
- Enter your domain.
- Go to DNS area to add following DNS records:

|DNS Type|Name|Value|
|:-----|:-----|:-----|
|A|www|[IP_ADDRESS_OF_YOUR_SERVER]

- Make a cup of tea.
- Your website is live.

Cloudflare's Benefits:
- Users can't see actual IP Address of your server over Browser Development Tools.
- Assets of your website will be automatically cached such as JavaScript files, Stylesheets and so on.
- Always redirect http to https.
- ...

Hope you enjoy this post.

Happy coding :)
Run a worker alongside Next.js server using a single command
Tags: nextjs, javascript, api, worker
Published: 2021-04-16 09:53:55

By default Next.js only has one entry point: the web server, sourcing `/pages`. But if you're building a real API, you may need other entry points to run scripts and/or run a worker to process background jobs.

You could just add a `worker.js` file and execute it with `node /path/to/worker.js` but you'll lose ES6 imports and therefore compatibility with your helpers. No point in duplicating the Next.js build stack, let's see how we can reuse it.

Next.js allows us to extend its Webpack config in `next.config.js`, we only need to specify our new entry points there. As stated in my previous article [Build a full API with Next.js](https://dev.to/noclat/build-a-full-api-with-next-js-1ke):

```js
const path = require('path');

module.exports = {
  webpack: (config, { isServer }) => {
    if (isServer) {
      return {
        ...config,
        entry() {
          return config.entry().then((entry) => ({
            ...entry,
            // adding custom entry points
            worker: path.resolve(process.cwd(), 'src/worker.js'),
            run: path.resolve(process.cwd(), 'src/run.js'),
          }));
        }
      };
    }
  },
};
```

Pretty basic. But how do we run them? `node ./src/worker.js` won't work because it needs go to through Webpack. So we have to wait for the file to have compiled with `next dev` or `next start` commands. Once your app is built, the compiled file will be available at `.next/server/worker.js` so we can basically just run `node .next/server/worker.js` and now it'll work!

But that's a poor developer experience, as we have to wait for first compilation before we run our worker process in a second terminal. To run the worker alongside the server with a single command, I rely on:
- [`npm-run-all`](https://www.npmjs.com/package/npm-run-all) to execute multiple commands in parallel,
- [`wait-on`](https://www.npmjs.com/package/wait-on) to wait for the file to exist before running the worker,
- [`nodemon`](https://www.npmjs.com/package/nodemon) to reload the worker on file change.

Here's how my `package.json` looks like:

```json
{
  //...
  "scripts": {
    "dev:app": "next dev"
    "dev:worker": "wait-on .next/server/worker.js && dotenv -c -- nodemon .next/server/worker.js -w src/server -w src/shared"
    "dev": "npm-run-all -p dev:worker dev:app",
    "worker": "dotenv -c -- node .next/server/worker.js",
    "script": "dotenv -c -- node .next/server/run.js script",
    "job": "dotenv -c -- node .next/server/run.js job",
    //...
  }
}
```

A few notes here:
- I'm only watching back-end utilities with `nodemon` (`src/server` and `src/shared`) so front-end changes don't unnecessarily reload the worker.
- I use `dotenv-cli` to source `.env` files because Next.js won't inject them in custom entry points.
- Running a script or a job is managed here by a single entry point `run.js` but you could have 2 separate files to handle this. As it's an on-off process, I don't feel the need to use `wait-on` nor `nodemon`.

Hope this helps!
using github desktop with  Github.
Tags: beginners
Published: 2021-04-16 09:51:41

GitHub desktop :
GitHub Desktop is an application that enables you to interact with GitHub using a GUI instead of the command line or a web browser. You can use GitHub Desktop to complete most Git commands from your desktop with visual confirmation of changes. You can push to, pull from, and clone remote repositories with GitHub Desktop, and use collaborative tools such as attributing commits and creating pull requests. It's much easier then git and very convenient.

GitHub:	
GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere. It's consist of repositories, branches, commits, and Pull Requests.

Repository:
A repository is usually used to organize a single project. Repositories can contain folders and files, images, videos, spreadsheets, and data sets – anything your project needs.

Branch
Branching is the way to work on different versions of a repository at one time.
By default your repository has one branch named [main] which is considered to be the definitive branch. We use branches to experiment and make edits before committing them to [main]. Its a kind of copy of [main] branch.

Make and commit changes:
On GitHub, saved changes are called commits. Each commit has an associated commit message, which is a description explaining why a particular change was made. Commit messages capture the history of your changes, so other contributors can understand what you’ve done and why.

Open a Pull Request:
Pull Requests are the heart of collaboration on GitHub. When you open a pull request, you’re proposing your changes and requesting that someone review and pull in your contribution and merge them into their branch. Pull requests show diffs, or differences, of the content from both branches. The changes, additions, and subtractions are shown in green and red.
As soon as you make a commit, you can open a pull request and start a discussion, even before the code is finished.

Merge your Pull Request
In this final step, it’s time to bring your changes together – merging your readme-edits branch into the main branch.

Thanks for reading.
That's all for now, I'll share more in my up-coming posts.
Does TDD help you to write more SOLID code?
Tags: discuss, tdd, healthydebate
Published: 2021-04-16 09:50:29

It's clear to most that SOLID principles help us to produce more testable code and that unit testing promotes following SOLID principles.

I'm wondering if driving development through tests (TDD) helps you to follow SOLID principles any more that testing after development.

What do you think?
Finotes 4.0.0 for Android, iOS & watchOS released
Tags: android, ios, watchos, finotes
Published: 2021-04-16 09:45:59

Announcing the release of Finotes 4.0.0
-----------------------------------------

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

**Finotes SDK 4.0.0 for Android** comes with improved screen load delay and ANR tracking. https://www.blog.finotes.com/post/finotes-sdk-version-4-0-0-for-android-released

**Finotes Framework 4.0.0 for iOS** comes with added customization capabilities while tracking screen load delays. https://www.blog.finotes.com/post/finotes-ios-framework-version-4-0-0-released

**Finotes Framework 4.0.0 for watchOS** comes with Zero-code HTTP tracking and life cycle event tracking. https://www.blog.finotes.com/post/finotes-watchos-framework-version-4-0-0-released-it-is-a-step-closer-to-no-code-integration

Do try it out. Visit https://finotes.com for more details.
Fullcalendar v4 Add Event Tutorial
Tags: fullcalendar, html, php, laravel
Published: 2021-04-16 09:33:45

Today our leading topic is fullcalendar v4 add event example. This tutorial will give you simple example of fullcalendar v4 add event. this example will help you fullcalendar add event example code. this example will help you fullcalendar v4 add event basic example.
more...
https://itwebtuts.blogspot.com/2021/04/fullcalendar-v4-add-event-tutorial.html