teleren/devto huggingface dataset:
Top 6 Website Launch Checklists
Tags: analytics, performance, seo, launch
Published: 2020-11-18 19:59:40

There's a lot to do before launching a new website. It's important to set up a domain name, hosting, analytics, and prepare on-page SEO. The website should also be responsive on different devices, accessible to all users, and fast. In the development world this pre-launch stage is jokingly called the [second 90%](https://en.wikipedia.org/wiki/Ninety-ninety_rule).

Thankfully, there are some great checklists to simplify this process:

- [Humaan Checklist](https://humaan.com/checklist/) — A useful, wide-ranging checklist that also includes items for post-launch.

- [Toptal Web Dev Checklist](https://www.toptal.com/developers/webdevchecklist) — Web development checklist with a nice dark background. The checklist is also available as a [Chrome extension](https://chrome.google.com/webstore/detail/web-developer-checklist/iahamcpedabephpcgkeikbclmaljebjp?hl=en-US).

- [Front End Checklist](https://frontendchecklist.io/) — An [open-source](https://github.com/thedaviddias/Front-End-Checklist) list focused on the technical side of optimizing a website's code for performance, SEO, and more.

- [Process Street Checklist](https://www.process.st/checklist/website-launch-checklist/) — A high-level checklist with design, marketing, and development items.

- [Website Launch Checklist](https://websitelaunchchecklist.com/) — A smart checklist that includes content, accessibility, performance, and analytics. Created by developer [Fraser Boag](https://boag.online/).

- [Checklist Design](https://www.checklist.design/) — Lists of best practices for website pages, user flows, and UI elements. This is a great way to cover all your bases. Created by [George Hatzis](https://www.georgehatzis.com).

I hope this saves you some trouble getting your new website online. Good luck!
Why use Key Vault in ADF?
Tags: adf, security, privacy, datafactory
Published: 2020-11-18 19:58:03

Azure Key Vault (AKV) can be used to store all credentials for services that ADF will connect to. This has multiple advantages:

1. Security of storing sensitive information in credentials store 
   which only the ADF service or Administrators can read from.

2. If credentials need to be rotated, ADF Linked Service is not 
   required to be modified.

3. When we migrate the ADF pipeline from Dev to Test to Production 
   no change is necessary.
7 Tips on How to Manage Stress as a Developer

Published: 2020-11-18 19:32:22

Check out this post on the [devdojo.com](https://devdojo.com/) website!

It is a post on [7 Tips on How to Manage Stress as a Developer
](https://devdojo.com/bobbyiliev/7-tips-on-how-to-manage-stress-as-a-developer)
 🔥!

To make things even better you can use this referral link to get a free $100 credit that you could use to deploy your virtual machines and test the guide yourself on a few DigitalOcean servers:

[Digital Ocean $100 Free Credit](https://m.do.co/c/2a9bba940f39)

Link to the post:

https://devdojo.com/bobbyiliev/7-tips-on-how-to-manage-stress-as-a-developer

I strongly encourage everyone to go ahead and check out the [devdojo.com](https://devdojo.com/) website, there's a lot of valuable content there.
5 Tips For New Software Developers
Tags: codenewbie
Published: 2020-11-18 19:13:22

So, you decided to join the Force of Software Developers where you will able to create apps websites, and more! Welcome to the club, but before you start I have five things I want to let you know about it so you can have fun and grow.

## 1. A new JavaScript Framework pops up every day
JS is the most hated and loved language of all time. I don't think it is bad but some points with it make it a little bit difficult to handle.
No issue my friend, you don't need to know and use all these frameworks. Find a well known one such as Angular or Vue and master it. Don't ride the hype train it will make no difference.

## 2. Software Development Is a collaborative work
It's not only about writing code, you can write code alone but you can't create a program alone. It is the collaborative efforts between you and the Project Manager,  Product Owner, QA, and more.

Work with your team to get the software up and running. You can't and will never be able to do it alone.

## 3. Self Learning
No one will show you what to read and learn. You need to keep yourself up to date no matter what. Don't see other people who just are passing by and not doing what is needed. Keep yourself updated it will pay off in the future.

## 4. Work until it is done
Sometimes you will go through times where you have a task that will take extra time. You can leave at 5 pm and leave the task incomplete. But, it will be reflected on you and how people see you. Commit to finish or trust me it will be against you.

## 5. Build your online profile
If one thing I wish to change, I want to create more content online. I want to have my own personal blog and brand. It will never be taken away from me. Also, a collection of GitHub Repos where I can show off my coding skills.

Hope you find this material useful. Please check out our developer guide course for new software developers

https://landing.advancedsoftware.io/software-developer-guide
Engineering Daybook
Tags: learning, juniors, software, softskill
Published: 2020-11-27 05:38:08

---
title: Engineering Daybook
published: true
date: 2020-11-18 19:04:29 UTC
tags: learning,juniors,software,softskill
canonical_url: https://germangamboa.com/posts/engineering-daybook
---

# Keeping an Engineering Daybook

A while back, I came across the concept of keeping an engineering daybook or notebook from the book The pragmatic programmer. I've since been keeping track of everything I do development-wise on various notebooks and it has been one of the best things so far this year (though it being 2020 that's not saying much :P ). Allow me to convince you to do the same.

First things first, what is an engineering daybook. It is just a notebook where you keep your day to day notes about work. That's it, there is not much to it. A few examples of things I keep in my notebook are meeting notes, especially if someone needs me to do something for them. I also like to doodle out how the specific thing I am working on is supposed to work as well as things that I learn while working on a task. Everyone is going to be different and there is no set structure about what to keep in your notebook.

There are always an insane amount of things to learn while working in development so it is crazy to expect to keep everything in working memory. This is going to be true both for institutional knowledge as well as technology-specific bits. Having something to refer back to is important.

One of the main things I keep in my notebook are mistakes that I have made as well as how to avoid making them in the future. It can be as simple as making sure to check the spelling of my variable names or as embarrassing as to make sure you don't accidentally take a server out by misusing useEffect.

Another thing I have been doing lately is rewriting tickets and tasks in my own words to make sure that I understand them. This helps me ask better questions to make sure that I am accomplishing my tasks correctly. I am still not perfect there since I often start working on tasks and realize I don't have the full picture causing me to waste time collecting extra information. Which as a side note, coding is usually the last thing in the whole work process.

So I encourage you to keep an engineering daybook. The book suggests using pen and paper rather than going for something digital which is also something I would encourage since it just feels more, special.
Customer data privacy in Azure Data Factory
Tags: azure, privacy, dataflow, datafactory
Published: 2020-11-18 18:56:07

ADF has proven to be a go to option for data movement solutions in Azure.
One of the important things to keep in mind during creation of ADF is the **location of ADF and Integration runtime**. The IR location can be different from ADF location.

1. **Azure Data Factory Location**
   When you create a data factory, you need to specify the 
   location for the data factory. 
   The Data Factory location is where the **metadata** of the data 
   factory is stored and where the triggering of the pipeline is 
   initiated from. 
   Metadata for the factory is only stored in the region of 
   customer’s choice and will not be stored in other regions.
2. **Integration Runtime Location**
   It defines the location of its back-end compute, and 
   essentially the location where the data movement, activity 
   dispatching, and SSIS package execution are performed.
Hacktoberfest 2020 👩‍💻👨‍💻 in insights and statistics 📊
Published: 2020-11-18 18:47:16

*TL;DR: I've built [hacktoberfest.cube.dev](https://hacktoberfest.cube.dev/?utm_source=dev-to&utm_medium=post&utm_campaign=hacktoberfest). Have a look, it's fascinating.*

---

Hey devs! :wave:

I guess that you should've definitely heard about [Hacktoberfest 2020](https://hacktoberfest.digitalocean.com) even if you didn't have a chance to participate in it. Indeed, this year was quite special. Oh, wait, who said *Spamtoberfest*? 😂

Lots of people joined Hacktoberfest to make positive contributions to open source (or just get a T-shirt :shrug:), so organizers needed to introduce [additional rules](https://twitter.com/hacktoberfest/status/1312221208667185153) along the way to fight against spammy pull requests.

So I thought it's a good excuse to tinker with Hacktoberfest data and build [yet another](https://dev.to/cubejs/slack-vibe-the-open-source-analytics-for-slack-2khl) interactive analytical website. Especially because I'm quite familiar with [Cube.js](https://cube.dev/?utm_source=dev-to&utm_medium=post&utm_campaign=hacktoberfest), an open source tool which makes building such apps a breeze.

Here comes [hacktoberfest.cube.dev](https://hacktoberfest.cube.dev/?utm_source=dev-to&utm_medium=post&utm_campaign=hacktoberfest):

[![Screenshot 2020-11-18 at 20.46.04](https://dev-to-uploads.s3.amazonaws.com/i/7iwpsxtzqpbrl4rbgqj0.png)](https://hacktoberfest.cube.dev/?utm_source=dev-to&utm_medium=post&utm_campaign=hacktoberfest)

Have a look and you'll know:
* how many pull requests were submitted in total *(a lot, but less than in 2019)*
* what's the 3rd most popular programming language *(okay, it's actually a markup language)*
* how many commits a single pull request contained, on average *(though it's rumored that most of them were punctuation fixes)*
* and much more.

---

And that's not all 🙋‍♀️

I'm going to write a series of posts and tell how to build such an analytical website from scratch. Here're the topics I'm going to cover:

* how to collect data via [GitHub API](https://docs.github.com/en/free-pro-team@latest/rest)
* how to transform JSON records into an SQL storage with [Amazon Athena](https://aws.amazon.com/athena)
* how to spin up an analytical backend and explore the data with [Cube.js](https://cube.dev/?utm_source=dev-to&utm_medium=post&utm_campaign=hacktoberfest)
* how to build a frontend for an analytical app with React

So, if you're interested in these topics, make sure to [follow me](https://dev.to/igorlukanin) and **leave a comment** about the details you want me to cover and your previous experience with analytical apps, if any.

{% user igorlukanin %}
Load Balancer
Tags: systems, design, devops, discuss
Published: 2020-11-18 18:26:47

So, the term Load balancer comes from the late 1990s when companies technology companies couldn't handle the bulk of traffic in single mainframe computers and they really don’t have a budget to buy a new one.

 A Load Balancer is a device which acts as a reverse proxy and distributes over a network or application traffic across the servers. Just like below the image.

So, What Load Balancing actually does ??
In more technical language, A load balancer acts as the “traffic cop” sitting in front of your servers and routing client requests across all servers capable of fulfilling those requests in a manner that maximizes speed and capacity utilization and ensures that no one server is overworked, which could degrade performance. If a single server goes down, the load balancer redirects traffic to the remaining online servers. When a new server is added to the server group, the load balancer automatically starts to send requests to it.


In nowadays, Load Balancer in every large scalable distributed system is now the necessity, form every video streaming platform to E-commerce platform you will saw Load Balancer in their system design. for eg. Facebook, Amazon, Airbnb, Netflix, Youtube, Google & etc. Load Balancing is now a critical part of system design nowadays you should How it works or runs.

Load Balancing Algorithms

Different load balancing algorithms provide different benefits; the choice of load balancing method depends on your needs:
Round Robin — Requests are distributed across the group of servers sequentially.

1. Least Connections — A new request is sent to the server with the fewest current connections to clients. The relative computing capacity of each server is factored into determining which one has the least connections.

2. Least Time — Sends requests to the server selected by a formula that combines the
fastest response time and fewest active connections. Exclusive to NGINX Plus.

3. Hash — Distributes requests based on a key you define, such as the client IP address or
the request URL. NGINX Plus can optionally apply a consistent hash to minimize redistribution of loads if the set of upstream servers changes.

4. IP Hash — The IP address of the client is used to determine which server receives the request.
Random with Two Choices — Picks two servers at random and sends the request to the one that is selected by then applying the Least Connections algorithm (or for NGINX Plus
the Least Time algorithm, if so configured).
The most commonly used is Consistent hashing,

Benefits of Load Balancing
1. Reduced Downtime
2. Scalable
3. Redundancy
4. Flexibility
5. Efficiency
6. Global Server Load Balancing

And for detailed 
Here is my full medium article link
https://sprshgupta521.medium.com/explained-load-balancer-89edc6d1f444
Select dropdown arrow styling with Emotion
Tags: css, javascript, typescript, webdev
Published: 2020-11-18 18:17:28

I'm a big fan of keeping UI controls simple, preferably without the need for client-side javascript. Thankfully CSS has progressed (❤️ `appearance: none;`) to the point where we can style form controls well enough for most UX & brand guidelines.

Here's a technique with [Emotion](https://emotion.sh/docs/introduction) that uses an SVG background-image and CSS [Custom Properties](https://developer.mozilla.org/en-US/docs/Web/CSS/--*) to style the Select's dropdown arrow. It's pretty simple and works client-side using CSS alone. 

```typescript
const makeGlyph = (colour: string, alpha = '100%') =>
  encodeURIComponent(`<svg ...><path ... fill="hsla(${colour}, ${alpha})"/></svg>`);

export const Select = styled.select`
  ${({ theme }) => {
    const enabledGlyph = makeGlyph(theme.colour.neutral);
    const disabledGlyph = makeGlyph(theme.colour.neutral, '50%');
    const activeGlyph = makeGlyph(theme.colour.primary);
    const prefix = `data:image/svg+xml;charset=utf-8`;

    return css`
      --primary: url('${prefix},${enabledGlyph}');
      --disabled: url('${prefix},${disabledGlyph}');
      --active: url('${prefix},${activeGlyph}');
    `;
  }};

  ${otherSelectStyles}

  --glyph: var(--primary);

  appearance: none;
  background: no-repeat right center / 1em;

  &:not([multiple]):not([size]) {
    background-image: var(--glyph);
    transition: background-image 0.2s;
  }

  &:disabled {
    --glyph: var(--disabled);
  }

  &:not(:disabled) {
    &:hover,
    &:focus {
      --glyph: var(--active);
    }
  }
`;
```
Adding Form Validation to Eztrackr
Tags: opensource
Published: 2020-11-01 19:14:31

I use Trello - maybe you do too. I came across [Eztrackr](https://chrome.google.com/webstore/detail/eztrackr/kdpbamlhffmfbgglmaedhopenkpgkfdg), a chrome extension to save notes to Trello. I noticed that Eztrackr had an open issue on github to
[validate the input form before sending an API call](https://github.com/HarshdipD/job-tracker/issues/28). The first thing I did was install the extension and follow the documented steps to reproduce the bug. 

With all fields filled out, the tool works great and your note will appear as a new card in your Trello board. If the user doesn't select a board, the post fails, all entered data is lost and must be re-entered. What I needed to do was run a check to make sure a board was selected before making the API call. An error message should be displayed with a close button, so that all form data fields remain untouched. All the user should have to do is fix the error by selecting the desired Trello board, and resubmit.

I walked through `popup.js` and found the API call and since all data fields could potentially be empty except for the `idList`, I just added a simple condition before its execution.
```js
if(idList != 'Choose list'){
  Trello.post(`/cards?key=${APP_KEY}&token=${token}&idList=${idList}&name=${data_company}&desc=${description}`)
``` 
If the condition fails, an error message should prompt the user to select a Trello board. I noticed that `popup.html` contained two hidden divs that could be conditionally shown for (un)successful API calls and display a hard-coded message. Since I was attempting to fix a bug, I knew I needed show an error message. Instead of adding a third div, I decided I would modify the existing one.
```html
<!-- failed posted alert -->
<div class="alert alert-danger" id="post_fail" role="alert" style="display: none;">
  <h4 class="alert-heading">Error</h4>
  <p>There was an issue posting this card to Trello. Please try again.</p>
</div>
```
 I thought what the most efficient solution would be a generic error that could receive text from javascript instead of hard coded HTML. I added a button and the new code looked like this:
```html
<!-- alert box -->
<div class="alert alert-danger" id="alert_box" role="alert" style="display: none;">
  <h4 class="alert-heading">Error</h4>
  <p id="alert_msg"></p>
  <button class="btn btn-danger btn-sm" id="close_alert">Close</button>
</div>
```
I went back to the `popup.js` added a function that would display `#alert_box` and pass text into `#alert_msg`. I updated the existing code to call this function if the Trello board isn't selected or after a failed API call.

After a few tests to confirm everything was working as intended, I made a pull request. Evidently the work checked all the necessary boxes, as it was merged the next day.

{% github https://github.com/HarshdipD/job-tracker/pull/29 %}
New website for KVision framework (created with Kotlin/JS)
Tags: kvision, kotlin
Published: 2020-11-18 18:07:18

---
title: New website for KVision framework (created with Kotlin/JS)
published: true
description: KVision is an open source web framework created for Kotlin/JS.
tags: kvision,kotlin
---

[KVision](https://kvision.io) is an open source web framework created for Kotlin/JS. It allows developers to build modern web applications with the Kotlin language.

The new website for the project was recently deployed at [https://kvision.io](https://kvision.io). It gives you all important information about KVision and contains links to all necessary resources.

The site is created with KVision itself and is written with almost 100% Kotlin code. It makes KVision the first Kotlin/JS framework capable of building its own website :-)

It's fully open so you can explore sources available at [https://github.com/rjaros/kvision-io](https://github.com/rjaros/kvision-io). The website is automatically built with [Travis CI](https://travis-ci.com/github/rjaros/kvision-io) and deployed to GitHub Pages.

Don't forget to ⭐️ my [GitHub project](https://github.com/rjaros/kvision) if you like it!

As always, any feedback is appreciated!
Most Popular Flutter State Management Systems
Tags: flutter, architecture
Published: 2020-11-18 18:05:17

At Parabeac, we started off as a Flutter exclusive dev shop & over the years we became very interested in automation. In particular, design to code tools really grabbed our attention. However, we became discouraged by the quality of code given to us from many of the tools out there & it became very apparent that a design to code converter must be driven by the developer community. So we decided to build our own tool exclusively for Flutter & [open-sourced](https://dev.to/parabeac/why-we-open-sourced-our-company-3a0i) it.

After talking to many other professional Flutter development teams, it was obvious that building with some state management system was important because it keeps code consistent, testable & maintainable. We created a small survey on Reddit to find out which systems were the most popular. 

## What we learned
Developers submitted 8+ systems they used professionally, and this presents another specific challenge for design to code converters to be truly useful. Another reason why [Parabeac-Core](https://github.com/Parabeac/Parabeac-Core) is open-source because once the source code has a basis for state management, developers can create & contribute their own. We have already began working on supporting state management when exporting but we wanted to know which system to support first. So thank you to all the developers who contributed to our survey! As promised, here's the [results](https://docs.google.com/forms/d/e/1FAIpQLSegQWvQADKK1ZmheEIo53iJiGOQzRoZCQLx68vpnCociktOPg/closedform). We’d love to continue hearing your thoughts on your favorite state management systems!

## Summarization of the data
* [BLoC](https://pub.dev/packages/flutter_bloc) has still remained the most popular system for both professional & personal development despite the Flutter team’s recommendation, [Provider](https://flutter.dev/docs/development/data-and-backend/state-mgmt/options). 
* [Provider](https://pub.dev/packages/provider) is the second most popular for both professional & personal use, but given Google’s endorsement we believe it will likely surpass BLoC at some point. Provider is closing the gap specifically on personal development, we believe this is likely because companies tend to move slower than individual people. 
* [Riverpod](https://pub.dev/packages/riverpod) being the 3rd most popular on personal use, they were the 5th most popular on professional use. We were surprised to see that, “no state management system” was the 3rd most popular for professional use.
* [GetX](https://pub.dev/packages/get) came in 4th for professional use. Outside of the survey, we were surprised to see how vocal their users were on Reddit as well as how polarized other developers felt about GetX.
How do you break up a Monolith?
Tags: webinar, observability, microservices, webdev
Published: 2020-11-18 17:55:02

---
title: How do you break up a Monolith?
published: true
description: A posting promoting my webinar on Observability Strategy for Microservices
tags: webinar, observability, microservices, webdev
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/v0ts0avc9g0cnnp3a2ec.jpg
---
*Cover image by [Dominicus Johannes Bergsma](https://commons.wikimedia.org/w/index.php?curid=83381202)*

Microservices are 'in' this decade. I'm sure that we'll see the first few arguments in 2021 that monolithic code is way better, but for now microservices are where it's at.

That makes sense, because microservices are more likely to deliver stability and growth in a flexible team that handles frequent shifts.

Anyway, microservices, they're big and they're usually good, but they can be quite difficult to monitor. Observability, that holy grail for any large system, can be elusive.

I'm delivering a webinar this month on how you can adopt observability strategies for monolithic systems. You can [check it out at the link below.](https://newrelic.com/resources/webinars/end-the-monolith-observability-strategy-for-microservices)


[<img src="https://dev-to-uploads.s3.amazonaws.com/i/fuktf1bgixq041a4hgnf.png" alt="link to webinar">](https://newrelic.com/resources/webinars/end-the-monolith-observability-strategy-for-microservices)