teleren/devto huggingface dataset:
Git, GitHub - Ultimate developer tools
Tags: git, github, tooling
Published: 2022-02-21 18:29:57

As the title says these tools help you throughout your project development life cycle. Almost every developer on the planet at least heard about these. And if you don't know these yet 😐, you are in trouble. So, in this blog, I will introduce you to Git and will share some amazing resources to master git and GitHub.

## Let's dive in

![DiveGIF.gif](https://cdn.hashnode.com/res/hashnode/image/upload/v1645438365587/pyNV4APTc.gif)

Let's Git before GitHub
## What is Git?
>Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

So it is a tool to control and manage your code like tracking changes, keeping the history of all changes, switching versions and lots of things.

Some important concepts you should learn:
- Making and committing changes
- Staging
- Stashing
- Branching
- Squashing

## What is GitHub?
So git is a tool to manage your project. Now imagine, if you want to add invite others to collaborate on your project and build together. What will you do? Share your computer? No, you have to share your code through some medium and others will make some changes and then they share updated code with you and then you make some changes and so on... What if there is someplace to host your code and everyone work together? Here comes GitHub into action. GitHub is a place for collaboration.


- If you prefer a video tutorial:

{% embed https://youtu.be/apGV9Kg7ics %}

- Learn interactively:

https://docs.microsoft.com/en-us/learn/modules/intro-to-git

- Learn with diagrams and conceptually:

{% embed https://dev.to/unseenwizzard/learn-git-concepts-not-commands-4gjc %}

- Git branching is one of the main features of Git. Learn it interactively:

https://learngitbranching.js.org

- Learn how to deploy your project with GitHub pages:

{% embed https://dev.to/itsrakesh/how-to-put-website-online-under-10-minutes-3m2g %}

- Learn GitHub actions:

{% embed https://youtu.be/R8_veQiYBjI %}

- Make an awesome GitHub profile: (Mine - [here](https://github.com/RakeshPotnuru) :))

_GitHub profiles are now Resumes, portfolios and everything._

https://github.com/abhisheknaiidu/awesome-github-profile-readme

- Try GitHub copilot:

https://copilot.github.com

## Are you a student?

- Get **GitHub Student Developer Pack**:

https://education.github.com/pack

- Build your community with the help of GitHub training and resources:

https://education.github.com/experts

- Apply for GitHub externship:

http://externship.github.in 

---

## ⚒️ Tool of the week ⚒️

[Haikei](https://haikei.app) - Generate SVG designs

![haikei](https://cdn.hashnode.com/res/hashnode/image/upload/v1645466343530/1EfC8bkio.png)

---

Hope you like this. Follow for more.
The Ripper Tool Is Here
Published: 2022-02-21 18:20:46

Few days ago I was reading a post on a website and suddenly, my router stopped connecting. I reloaded the website page multiple times and I kept getting connection not possible.

So I was forced to check the router to see what's happening underground but discovered that my data plan has expired. It was so sad because at that time I was healthy with funds and could not instantly renew my plan.

Face squeezed and I was like Hey telecom "Gbam" that's a punch on their face.

Sat down comfortable later and began to stir at the ceiling, then started counting how many nails were used for the roof😂😂. Sounds very funny since I had nothing to do. 

After counting the nails multiple times then I realized that the carpenter didn't include one nail at the corner of the wall. Mtcheeeeeew this carpenter eeeeheeen, I said it again and again until I heard a very sharp voice inside my head saying.

Hey man! next time clone the entire website and store it on your computer drive, then you have offline access to read all the entire post even if the ISP decides to shut down.

Wao!!! I said to myself and immediately I stopped counting the nails and got straight to work.

Overall It took me 6 hours to come up with the final codings and designs. I completed the API and keyed it into a telegram bot.

You will ask me why telegram? That's because I wanted to avoid form fillings, reduce resources loads and also be able to clone any website anytime even on my mobile phone.

I called the tool Ripper. The name sounds horrible but that's what I got for it at that time. I wanted to call it carpenter but refused because they don't relate.

Ripper tool helps to clone any website including https sites for offline access. You can take a look at it. Use it and give me feedback on what you think.

May be in the future I will add more advanced functionalities such as multiple clonings and the rest or may be do for WhatsApp too.

Check it out at.
https://t.me/rippertoolbot
Introduction to Data Structures and Algorithms With Python
Tags: python, beginners
Published: 2022-02-21 18:20:24

Data structures allow us to organize, store, and manage data for efficient access and modification. 
There are four types of data structures in Python: 
•	List
•	Tuple 
•	Set
•	Dictionary
**LIST**
A list is defined using square brackets. It can contain a mix of different data types. It holds data that is separated by commas. A list is ordered and you can modify the values in it. Example:
`Tasks=[“Work”, “Code”, “Cook”, “Rest”]`
**TUPLE**
A tuple is defined using brackets. It is similar to a list but once you create a tuple you cannot modify the values in it. Example:
`Tasks=(“Work”, “Code”, “Cook”, “Rest”)`
**SET**
A set is defined using curly brackets. The values in it can be modified and in no particular order. It has no key value pair and no repeated data. It can help us to remove repeated values from a list. Example:
`Tasks={ “Work”, “Code”, “Cook”, “Rest”, “Cook”, “Code”, “Work”}`
**DICTIONARY**
A dictionary is also defined using curly brackets and the data in it does not need be ordered. It permits storing a pair of items. Example:
`user{
	“Name”: “Dianne”
	“Age”: “67”
	}`
**ALGORITHMS**
Algorithms are instructions that are made in a finite and sequential order to help solve problems.
There are three main approaches to solve algorithms:
•	Divide et Impera (also known as divide and conquer) ; It divides the problem into sub-parts and solves each one separately
•	Dynamic programming ;It divides the problem into sub-parts remembers the results of the sub-parts and applies it to similar ones
•	Greedy algorithms ;Involves taking the easiest step while solving a problem without worrying about the complexity of the future steps
10 steps to create a project
Tags: application, project, creation
Published: 2022-02-21 18:17:15

1. First you must learn to use a version control software, preferably git or mercurial. You check-in the empty project from the beginning. Do not wait until the project grow, it may be too late.

2. Write unit tests. I've always scoffed at them because they only test the cases you've thought of, and you probably already thought of them when you wrote the code you're testing, but once your project grows and you add people to the team, you're going to wish you'd done it.
Have separate development, test and production servers so you can have people looking at your stuff on test while you break stuff on development environment. 

3. Use a labeling or branching system in your version control so you can always go back to the code that's running on each server. If a problem comes up in production while you're working on a new whiz-bang new feature in development, you want to be able to put aside the new feature and fix it in the production version.

4. Deploying code to development should be automatic as soon as you check in. Deploying to test and production should either be automatic or a single click.
Make sure your boss and other stakeholders actually look at the site on test before you deploy to production. 

5. Try to get some of the people who will actually use the site involved in usability testing. Listen to them, but don't let them design the thing.

6. Make sure your code has clear division of responsibility. Don't mix the access control in the middle of the business logic and the UI.

7. Use a web framework like Twitter bootstrap. Sometimes you'll be fighting with it, but it will take a lot of the burden of getting a consistent UI off your hands.
Use a good framework like Svelte or Vue for JavaScript back-end.This will organize your application and will have better integration with the front-end.

8. If you use Python, use a good framework like Django or Flask. Make sure it supports or at least doesn't prevent you from doing AJAX front-end and asynchronous jobs.

9. If you like higher performance, try to make responsive web pages using Vanilla JavaScript and CSS. Your page should work on any monitor size from very large to very small. Some users have secondary monitor in portrait mode and some are using multiple monitors. Having the applications design for a fix size is a huge mistake.

10. Hosting:  After you create a website on your computer, you have to deploy it to a web host server to be visible over the internet. Hosting a website is not easy. You need a domain name, and this costs you money. Then you need to know how to connect to the server and upload files.

I hope you enjoy this reading.
Cửa lưới hệ kéo xếp
Tags: beginners, productivity
Published: 2022-02-21 18:12:33

[Cửa Lưới Hệ Kéo Xếp](https://cualuoiquangminh.net/san-pham/cua-luoi-chong-muoi-keo-xep/)
•	Lưới polester (dạng lưới nhựa), khung nhôm sơn tỉnh điện
•	Màu: trắng sữa, xám, nâu cà phê, đen, vân gỗ
•	Bảo hành 3 năm
•	Đơn vị tính: /m2 (đối với hệ cửa dưới 1 mét vuông tính thành 1 mét vuông)
•	Phân Loại: 1 cánh, 2 cánh, 3 cánh, 4 cánh
1) Cấu tạo
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1h0qdo9yj402tl1009zy.jpg)
Cửa lưới chống muỗi kéo xếp là mẫu sản phẩm được sử dụng nhiều nhất trong các model cửa lưới Quang Minh. Cửa lưới chống muỗi kéo xếp khi mở cửa, lưới được xếp theo các nếp gấp (giống quạt giấy) gọn gàng và chắc chắn. Cấu tạo chung bao gồm:
•	1. Sử dụng lưới polyester nhập khẩu từ, có chứng chỉ xuất xứ, tờ khai nhập khẩu hàng hóa rõ ràng đảm bảo lưới chất lượng tốt, độ bền cao
•	2. Cửa với thiết kế các nếp lưới xếp lại với nhau một cách gọn ngàng khi sử dụng, mang tính thẩm mỹ cao
•	3. Cánh liên kết với khung bằng con bọ sập, giúp cửa dễ dàng tháo rời khi cần bảo hành hoặc vệ sinh
•	4. Với cửa sổ, ray dẫn hướng được thiết kế theo tiêu chuẩn riêng, dẫn lưới chạy ngang, tạo độ kín khit cho cửa và không làm mắc rách lưới.
•	5. Với cửa đi, ray được thiết kết thấp hơn, bo viền giúp thuận tiện việc đi lại và vệ sinh
•	6. Tay nắm được thiết kế riêng với logo “Quang Minh” nhận diện thương hiệu
•	7. Nắp bịt khung nằm ở các góc với thiết kế logo “Quang Minh”
2) Cơ chế hoạt động và thông số kỹ thuật
•	Cửa lưới chống muỗi hệ kéo xếp được chia làm nhiều loại:
•	Cửa xếp 1 cánh: Chiều rộng tối đa: 1600mm, chiều cao tối đa: 3050mm
•	Cửa xếp 2 cánh: Chiều rộng tối đa: 3200mm, chiều cao tối đa: 3050mm
•	Cửa xếp 3 cánh: Chiều rộng tối đa: 6000mm, chiều cao tối đa: 3050mm
•	Cửa xếp 4 cánh: Chiều rộng tối đa: 6000mm, chiều cao tối đa: 3050mm
dụng (đóng cửa chính), chỉ cần cầm tay cầm kéo về 2 bên, xếp gọn gàng.
•	Vị trí lắp đặt: Phù hợp lắp vị trí cửa sổ, cửa đi, cửa chính có kích thước lớn, giúp tiết kiệm không gian, tạo sự sang trọng cho không gian căn phòng.
CÔNG TY CP VẬT TƯ XÂY DỰNG QUANG MINH
HOTLINE: 0975.998.317 – 096.522.8224ư
https://cualuoiquangminh.net/san-pham/cua-luoi-chong-muoi-keo-xep/
My Journey To Being a Web Developer
Tags: webdev, javascript, beginners, programming
Published: 2022-02-21 17:59:50

Hi there!
This is my journey to becoming a web developer.
I've had quite a handful of experiences with HTML, CSS, JavaScript but I'm taking a whole new approach to it and I want to start building projects on my own and this account will help me document my progress as time goes on!
Please support me by following my Twitter https://www.twitter.com/effi_dev and my Instagram https://www.instagram.com/_effiemmanuel
How to make a Color chooser in python with tkinter.
Tags: tkinter, python
Published: 2022-02-21 17:38:50

```Python
#Kaveh Sabouri
from tkinter import *
from tkinter import colorchooser


window=Tk() 
window.title("Color chooser")
window.geometry("500x500")
window.config(bg="lavender")
def choose():
      color=colorchooser.askcolor()
      colorHex=color[1]
      window.config(bg=colorHex)
      la243=Label(text="Your Hex color is:",font=("Lalezar",25),bg=colorHex)
      la243.place(x=60,y=20)
      lco=Label(window,text=colorHex,font=("Lalezar",25),bg=colorHex)
      lco.place(x=300,y=20)
      
btn1=Button(text="Chosse color",font=("",23),bg="#fc8803",command=choose)
btn1.place(x=145,y=224)
window.mainloop()`
```
Azure Functions logging with log levels
Tags: azuretrialhack, azurefunctions, logger
Published: 2022-02-21 17:25:45

[Instructions]: # (To submit to the Microsoft Azure Trial Hackathon on DEV, please fill out all sections.)


### Overview of My Submission
Logging with log-levels and to different sink targets in Azure Functions

### Problem
In most Server-less boilerplate template, generally a log context is provided which logs to default log service of the respective Cloud provider i.e. Azure Application metric.

However, they do not provide the ability to log messages with different log levels which is really necessary for large distributed micro-service based systems where-in you need to drill down to a particular warning or debug message.
Without a log-level, it becomes tedious to filter out the types of message that really interests us.

### Use Serilog in your Azure Functions

There are lot of readily available libraries which provide a means to perform structured event logging with context and push event message in custom formatted template. We will explore one such open-source library called Serilog.

Serilog provides a mechanism to perform structured logging and way to switch between different log-levels. It also supports a bunch of different target sinks.

Checkout the sample code in the github link. Once up and running trigger your function app with a query paramater and see Serilog in action.

Check the App Insights Logs to view the logs in real-time. Notice how the logs are colored based on the log severity i.e. warning, info or error etc.

### Submission Category: 
Computing Captains

### Link to Code on GitHub
[github] (https://github.com/TauseefMalik/Az-function-logger)

### In-Action

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rip65ouf3cicp8yy7xwe.PNG)
Step Functions as Test Automation Framework?
Tags: serverless, aws, testing
Published: 2022-02-21 16:58:57

Have you ever faced any issue with your infrastructure when running Test Automation scripts? Have you wondered if there is an easy way to find where the test is broken? perhaps a kind of graph where it tells you where the test got broken?.

Probably this is not your case, or maybe you already are using a good framework that solves all these issues, but what I want to share with you is an idea that we were able to put in place some years ago.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/144k61v839hiyd07e5zy.png)
 

For starters, we will have to understand what a test case really is:

A test case is just a bunch of actions that we have to perform in a given order to finally get a predictable result, which in most of the cases we ended up creating a script so we can run it whenever we want and even make it part of a CI/CD solution.

But how is this related to AWS and Step Functions? what's the benefit we saw there? so if we take a look to what actually the Cloud Computing solves, or what actually Serverless mean, it goes to the simple fact that you don't have to worry about the infrastructure.. meaning you don't deal with OS updates, plugins, or even security gabs.. and guess what.. that was exactly what we were looking for.

So if we go to the definition of a Step Function, and we think of it as a States Machines, that's exactly what a test case is a group of steps that we perform in a given order". All we have to know is that there will be a "context" that needs to be share between states.

Imagine using Selenium, Python, AWS Step Function and AWS Lambas to create this solution.

We faced several issues there, but the biggest one, taking in account we used lambdas as the mechanism in each state to execute a piece of code that uses Selenium web driver, was to share the driver between states.

How to solve this? one of our best options; use a place where we can store this "driver" so the next state will know what to do, we decided to use AWS Dynamo DB, meaning somehow we will have to convert and store the driver there.

Back in those days we were using python as the main PL that was executed in the lambdas functions, and TBH there were a lot of options to "convert" the driver object to a format Dynamo DB could understand.

Having the serialized object, it was a matter to use Boto3 and a couple of IAM roles to be able to write/read from Dynamo, so it became the pre and post steps we executed in each state.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7rx6wkrwjk9bxzz93yrb.png)

We ended with a test case that looked much as any state machine, so if a state failed for any reason (a lambda) we could see that in a nice graph and for details we always could take a look to the AWS CloudWatch logs.
How to add custom scrollbar in CSS?
Published: 2022-02-21 16:57:28

I have used custom scroll bar on my web applications. I learned a few things when I was trying to use a custom scroll bar using CSS. Here, I will share those things with you.
Let’s start designing the scroll bar…

## For Chrome/Safari and other modern browsers:
 **1**.  ::-webkit-scrollbar , this pseudo-element is like a container of a scroll bar which is covered by other elements:

```
::-webkit-scrollbar {
   width: 9px;
}
```

 **2**. ::-webkit-scrollbar-button , this pseudo-element are used for controlling the directional buttons of the scroll bar:

```
::-webkit-scrollbar-button {
    width: 9px;
    height: 5px;
    ...
}
```

 **3**. ::-webkit-scrollbar-track , we can style the empty space of a scroll bar using this pseudo-element:

```
::-webkit-scrollbar-track {
    background: #ddd;
    ...
}
```

 **4**. ::-webkit-scrollbar-thumb , by using this pseudo-element we can style the thumb of the scroll bar:
```
::-webkit-scrollbar-thumb {
    background: #f1f1f1;
    width: 8px;
    ...
}
```

## For Firefox:
In firebox we can style scroll bar using CSS property scrollbar-color and scrollbar-width:

```
:root {
    overflow-y: scroll;
    scrollbar-color: #3182fc #ddd; // scroll-thumb  and scroll-track
    scrollbar-width: thin; // thin, auto or custom width
}
```

For learning more you can read:
1. [How To Style Scrollbars with CSS](https://www.digitalocean.com/community/tutorials/css-scrollbars)
2. [Scrollbar](https://css-tricks.com/almanac/properties/s/scrollbar/)
3. [The Current State of Styling Scrollbars in CSS](https://css-tricks.com/the-current-state-of-styling-scrollbars-in-css/)


**My Portfolio Website**: [https://habibullahftl.web.app/](https://habibullahftl.web.app/)
Day-28 Training at Ryaz
Tags: javascript, node, webdev, beginners
Published: 2022-02-21 16:48:53

- Date:21/02/22
- Day:Monday

Today,I started at about 10:50 am basically I started to troubleshoot the users part as it shows lot of problems when I trigger npm start but as we know that if we are getting a big problem sometimes it get's over with just an small instance as there is one phrase in Hindi like "Khoda Pahad Nikla chua". same thing happened with me today I was busy in configuring all sort of errors but error was found in just one line basically I was mistakenly import controller as user but it was to called as users so this way my problem got sort but when I got finished with this problem one more problem raised that data I post or get from data base or send to data base it get's as object id so I am unable to fetch actual data that  I post so, when I was unable to solve this so I ping my mentor and had a meet so, he have suggested some of changes so, I would move forward by keeping in mind all view points explained to me.
How to access gitlab from git cli using personal access token?
Tags: gitlab, token
Published: 2022-02-21 16:46:21

---
title: How to access gitlab from git cli using personal access token?
published: True
description: gitlab token
tags: gitlab, token
//cover_image: https://direct_url_to_image.jpg
---
## Create a personal access token by following

[https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)

## Using the personal access token to authenticate, lets clone a repository.

Form your `url` as shown below. Replace the `personal_token` with the token you have got.

```
# To clone using personal token
git clone https://oauth2:personal_token@gitlab.com/username/project.git 
```

If the project is already cloned and you have done few commits already by painstakingly providing the login and token every time then do this:

1. Open the file `.git/config` in `vscode` or any editor you prefer
1. Change the `url` as show below with your personal access token
```
[remote "origin"]
        url = https://oauth2:1AbCDeF_g2HIJKLMNOPqr@gitlab.com/yourusername/project.git
        fetch = +refs/heads/*:refs/remotes/origin/*
```

For a more robust solution look at [A function to clone git repository using gitlab personal access token](https://dev.to/abbazs/a-function-to-clone-git-repository-using-gitlab-personal-access-token-bb)
Deploy Java library to Maven central
Tags: java, maven, release, deployment
Published: 2022-02-21 16:43:07

Have you created an awesome Java framework or library and you want to share it with the world? Well, all you need to do is to deploy your Java library to Maven Central.

Now the question comes, how to deploy to Maven central? To learn how to deploy to Maven, take a look at [my recent blog on Medium](https://medium.com/@WasiqB/deploy-java-library-to-maven-central-6cbbd17b23e1) on the topic where I break down the steps and help you in your journey of deploying to Maven.

Share your thoughts in the comments, also share the blog with your networks and give a :clap: if you liked it.

Follow me here as well as on [LinkedIn](https://www.linkedin.com/in/wasiqbhamla/), [Medium](https://medium.com/@WasiqB), [GitHub](https://github.com/WasiqB) and [Twitter](https://twitter.com/WasiqBhamla) for more contents related to Test Automation, DevOps and development tools and practices.