teleren/devto huggingface dataset:
Starting a career in front end software development
Published: 2021-08-17 13:51:38

Hello,
My name is Adeyinka Adesanya and I am an aspiring front-end developer. I look forward to this internship program in order to acquire as much knowledge as I can in front-end software development to be precise, so as to be able to create software solutions to the many problems in this world via technology at the end of the 8 weeks internship program with https://internship.zuri.team/

The following are 3 tutorial links
Figma: https://www.youtube.com/watch?v=3q3FV65ZrUs
Git: https://www.youtube.com/watch?v=8JJ101D3knE
HTML: https://www.youtube.com/watch?v=qz0aGYrrlhU
React js: https://www.youtube.com/watch?v=Dorf8i6lCuk
What I plan to achieve before the end of my HNGi8 x I4G internship.
Published: 2021-08-17 13:43:39


So I just started my programming journey by the second half of this year and it has been challenging. I have got a couple of highs and lows in this journey so far and through a friend, I got this opportunity to be part of the Zuri team as an intern (https://internship.zuri.team), to help me get my hands dirty with projects and also to learn how to build scalable projects that meet the industry best practices. While on this program, I have written a set of goals I will like to accomplish before the end of this program which I will like to share with you.

Firstly, I will love to use this platform as a means to improve my coding techniques, learning python from YouTube (https://www.youtube.com/watch?v=LzYNWme1W6Q) same with Django (https://www.youtube.com/watch?v=t7DrJqcUviA) and try to solve real-world problems with it. I see this program as a means to an end and will love the make the most of the opportunities given.

Secondly, I will love to make use of this medium to network with fellow developers so that I learn from their experiences as “no man is an island”, making me work smarter and avoiding a lot of mistakes. Also, networking gives you leverage over others when it comes to job search or projects that are in demand, making my journey less stressful, and having friends with the like mind is golden, nothing beats that.

Furthermore, I will love to also improve on my knowledge of Git and Github (https://www.youtube.com/watch?v=3fUbBnN_H2c) as most of my works are being saved on my local computer. I also understand that in other to become an elite programmer, I will need version control support and not just the support of others (networking) alone. Github brings together teams and coding experts in a collaborative platform, which makes it so beneficial to me.

In addition, I will like to improve my problem-solving skills by teaming up to work on more projects. Problem-solving is the core of everything we do as a programmer and the goal is to build something great in the nearest future. Coding I believe is the last thing to do as we try to break the problems into smaller chunks and have an understanding of what to do with a subsequent algorithm of doing so and as Steve Jobs said “Everyone in this country should learn to program a computer because it teaches you to think”.

Lastly, I need to try my hands on something on the frontend as this area is one area that I am seriously lagging in, and I planned to do that with Figma (https://www.youtube.com/watch?v=keoL0B7NaEs&list=PLFW6ct83_wC_N-IrrU60lH4G0dV6u1B4n) as this will help me create visuals for whatever project(basically web apps) I will work on without the need for UI/UX designers.
Implement Azure Application Insights with React
Tags: react, azure, insights, hooks
Published: 2021-08-17 13:39:18

When we talk about monitoring/logging option on the UI application side we don't have much option which gives picture perfect dashboard, one way could be passing all the data to the server via some endpoints and creating our own dashboard.

Today we are going to talk about Application Insights which can be used in applications from web to mobile. 

In web applications like ecommerce we want to capture specific event, page views, track exception, API calls and much more. We can implement Application Insights in the backend code as well so that team can club all the data if required. 

**Let's start Configuring AppInsights**

First we need to create the Azure account if you don't have, then create the resource in Azure and have an AppInsights instance so that we can get the *instrumentation key*.

Now install npm packages so that we can start integrating AppInsights.

`npm install @microsoft/applicationinsights-react-js
npm install @microsoft/applicationinsights-web`

Let's create the file that will setup the instrumentation for us. 

```
// appInsights.js

import { ApplicationInsights } from '@microsoft/applicationinsights-web';
import { ReactPlugin } from '@microsoft/applicationinsights-react-js';
import { createBrowserHistory } from 'history';

const browserHistory = createBrowserHistory({ basename: '' });
const reactPlugin = new ReactPlugin();
const appInsights = new ApplicationInsights({
  config: {
    instrumentationKey: process.env.REACT_APP_APPINSIGHTS_KEY,
    extensions: [reactPlugin],
    extensionConfig: {
      [reactPlugin.identifier]: { history: browserHistory },
    },
  },
});
appInsights.loadAppInsights();
export { reactPlugin, appInsights };
```

This file will setup the connection using the key (instrumentation key) which I have kept in environment file. Let's create one .env file for development.

```
// .env.development

REACT_APP_APPINSIGHTS_KEY = <paste your instrumentation key here>

```

We are done with the initial setup & it's time to track some events.

**trackException** This event is handy when you want to log exception related to API or if the API itself gets fail.

``` 
import { appInsights } from 'appInsights';

const properties = {userId : personId}
try {
}
catch(err) {
 appInsights.trackException({ error: err, properties });
}
```

pass the data in properties object which you want to capture along with the error.

**trackPageView** In a device or webpage app, page view telemetry is sent by default when each screen or page is loaded. But you can change that to track page views at additional or different times.

```
appInsights.trackPageView("tab1");
```

So idea is to create a common method and just need to import where ever required and call different methods provided by Azure AppInsights.

For other methods please checkout this link
https://docs.microsoft.com/en-us/azure/azure-monitor/app/api-custom-events-metrics
Why automation releases tools is great bullshit for your end-users
Tags: semanticrelease, random, opinion, discuss
Published: 2021-08-17 13:35:50

There are a bunch of tools that take your commits and converts them into release, like [semantic-release](https://github.com/semantic-release/semantic-release). There's nothing wrong with the tools and their authors literally. It's fantastic tools that are mostly used the wrong way. 

In a nutshell, the idea of any of these tools is pretty basic. They take your commits and generate releases base on your git history.

But take a breath before adding such a solution into your daily project workflow. Firstly ask yourself, do I write my git messages for end-users describing the motivation and changes of public API, or am I just putting internal stuff there?

So, the main idea of this post is if you don't write releases by yourself, you don't care about the end-users; you don't help them; you just add a fancy tool for yourself, nothing more.
Learning GO. Step 1
Published: 2021-08-17 13:15:42

Hi, my name is Olesia. I work as QA engineer in e-commerce. 
2 months ago I faced a new challenge - my new job required me to learn Golang. 
My coding experience is limited to a little bit of Java and UI autotests using JUnit and Selenium. But now I need to learn how to write backend tests in Go, how to build and deploy services and tests using Bamboo and Kubernetes. 


I will be using different resources:
1. [Getting Started with Go](https://www.coursera.org/learn/golang-getting-started/home/welcome) by Coursera - free version without homework, tests or any certification.
2. [Learn Go with Tests](https://quii.gitbook.io/learn-go-with-tests/) - great resource suggested by my colleague. Learning process there based on [TDD](https://en.wikipedia.org/wiki/Test-driven_development) principle. As a QA engineer I am very interested in this way of learning.
3. [Go by example](https://gobyexample.com/) - step by step guide from Google.

So, welcome to my journey :)
Site Reliability Engineering
Published: 2021-08-17 13:13:08



# Site Reliability Engineering #
---
- Güvenilir olmayan yazılımlar, işletmelere bir çok alanda olumsuz etkilere sebep olabilir.
	
- İhtiyaç duyulan düzeyde güvenilirlik sağlanmalıdır, aksi takdirde kaynak kaybına yol açar.
	
- Sağlanan güvenilirlik sürdürülebilir olmalıdır.
	
- SRE ve DevOps aynı amaca hizmet eden iki farklı yaklaşımdır.
	
- SRE de kullanılan iki ana konsept: 
	- SLI ve SLO
	- Suçlama Yapılmayan Otopsiler
		
    ;iki konsept de verimli döngüler oluşturmayı hedefler. 
	  
### SLI ve SLO ###
	
- SRE ile ilgili kararlar gelişimin bütün paydaşları ile beraber verilir.
	
 SLI -> sistemin belli ölçekteki başarı sıklığı.
	
- SLO , bu başarının hedeflenen düzeyidir.
	
- Hedeflenen SLO dan kalan kaynağa hata bütçesi denir ve bu kısım ,SLO kaybı olmadığı takdirde, sistem gelişimi için kullanılabilir.
	
- Hata bütçeleri genellikle ayarlanan bir süre için hesaplanır.
	
### Suçlama Yapılmayan Otopsiler ###
	
- Olası bir istenmeyen durumda hatayı yapan kişiyle ilgilenmek yerine, kişinin bu hatayı yapmasına sebep olan şeylere odaklanılır.
	
### SRE ilkeleri 
	
- SRE için zahmetten(toil) kaçınmak için otomasyon kullanımı önemli bir husustur.
	
- Gereğinden fazla zahmetle uğraşılması daha önce belirtilen verimli döngülerin oluşturulması ve devamlılığını baltalar.
Why you need a YouTube channel?
Tags: darklang, dart, programming
Published: 2021-08-17 13:12:34

{% youtube RN9mvrzq61Q %}
I started my 100 days learning challenge on Dart programming language. I am currently documenting all the basic concepts on Dart.
'Learn to teach others' is my biggest believe always. So I started a YouTube channel to document all my learnings. There are 2 benefits out of this.
* Learn the concept clearly and deeply
* Opportunity for others to learn from you

Moreover you can also build your own personal brand.

Subscribe to my channel to learn Dart language (if interested)

Keep learning & Keep growing!
HNG internship on the go 
Tags: mobile, flutter
Published: 2021-08-17 13:09:13


Dear HNG


My goals for this internship is to progress in each stage with more knowledge about mobile app development and at the end be able to create my first app.


The following are my tutorial links

Figma tutorial lihttps://youtu.be/FTFaQWZBqQ8


Github tutorial link- https://youtu.be/RGOj5yH7evk


Tutorial link for flutter- https://youtu.be/pTJJsmejUOQ
Clean Code
Published: 2021-08-17 13:05:13



### TEMİZ KOD ###
Temiz kodlama hakkında notlar genel başlıklar halinde aşağıdaki gibidir.
		
##	Konseptin Genel Gereksinimleri ##
	
Herhangi bir kodlama elemanında tekrarlamalar yapılmamalı, olabildiğince generic bir tasarım yapılmalıdır.
Kod baştan aşağı bir anlam içermeli ve aynı bağlamdaki elemanlar alakalı yerlerde kullanılmalıdır.
Modüller arası ilişkiyi en aza indirip, olabildiğince esnek ve bağımsız bir yapı yaratılmalıdır.
	
##	İsimlendirme ##
		
Değişken : Ne hakkında bilgi taşıdığı net anlaşılmalıdır
			
Sınıf : Sorumlulukları kapsayan isimler olmalıdır, fiil içermemelidir.
		
Method: Ne iş yaptığını "Tek Görevlilik" çerçevesinde anlatmalıdır.
		
Boolean : Cevabının değişkenler ile alakalı olması gerekli, bir durumun kontrolünü açıkça belirtebilmelidir. 
		          Binary sorulara cevap verebilmelidir.
		
İsimlendirmeleri anlık değil, genel kapsamda yapıp kodu anlaşılır yapmalı, yapılmak isteneni en uygun
şekilde ifade edecek şekilde tasarlanmalıdır. Kısaltma kullanmak, bizim için anlaşılır olsa da başkası için
olamayabileceği için, pek iyi değildir.
	
##	Koşullar ##
Kontrol edilen durumun ne olduğunu en iyi anlatacak şekilde tasarlanmalı, koşul kısmını olabildiğince
kısa tutmalı, gerekirse başka bir değişken kullanarak enkapsüle etmeli.
	
##	Fonksiyonlar ##
Tekrardan kaçınmak temel amacıyla küçük ve tek amaca hizmet eden kod blokları kullanılmalı ve verilen 
parametreler ve sayıları da bu tasarımı desteklemeli.
	
##	Exception Handling ##
İşlerin ters gitmesi durumuna karşılık önlem alınmalı ve istenmeyen durumlarla karşılaşıldığı zaman
uygun bilgilendirme ile birlikte gerekli aksiyonlar gerçekleştirilmeli.
	
##	Sınıflar ##
Olabildiğince küçük ve kapsamı net olarak belli olmalı. Koşullara göre kapsamı genişleyen yapılar olmamalı.
İyi organize edilmiş, diğer modüllerle gereğinden fazla alaka  kurmayan sınıflar gelecek değişimlerde kolaylık
sağlar.
		
##	Yorum Satırları ##
Yorum satırları direk olarak kodu açıklamak için değil, kodun gerçek manada kendini anlatmaya yetersiz 
kaldığı durumlarda kullanılmalıdır. Her zaman ilk öncelik yorum satırı yerine ne yaptığını net bir şekilde
açıklayan kod blokları olmalıdır, bunun mümkün olmadığı yerlerde yorum satırları kullanılmalıdır.
		
##	Biçim ##
Baştan aşağı kodu okurken bir örgü içerisinde olmalı, alakalı değişkenler ve metodlar bir arada olmalı.
	
##	Güvenlik ##
Kullandığımız dilin bize verdiği imkanlar doğrultusunda güvenli bir kod yazmalıyız, kod elemanlarının 
kullanılması gereken kapsamlar dışında kullanılmamasını sağlamalıyız. Bu hem güvenliğin yanında esnekliği, 			
bakım yapılabilirliği, anlaşılabilirliği ve test edilebilirliği konusunda da yardımcı olur. 
Örneğin Javada kullanılan private ve public anahtar kelimeleri. 
		
##	Testler ##
Testler bir kodun güvenilirliğini ve bakım-edilebilirliği konusunda önemlidir. Okunabilir kodlar yazmak
kadar okunabilir testler yazmak da önemlidir. Kapsamı belli, bağımsız ve hızlı testler kullanılmalıdır.
CI-CD
Published: 2021-08-17 13:01:06


# CI/CD

- Deployment süreçlerindeki tekrar eden işleri otomatize etmek için kullanılır.
- İnsan payını en az indirmeyi amaçlar ve hızlı bir gelişim süreci sağlar.
- Paketin kullanıcıya sunmaya ne derecede hazır olduğunu denetler.
- Integration ve Delivery aşamalarından oluşur.

### Continuous Integration

- Kaynak kod üzerinde değişiklik yapıldıktan sonra sistemin çalışır durumda olduğunu ve değişikliğin sorun yaratmadığını tespit etmek için kullanılır.
- Sorun halinde gerekli kişilerin bilgilendirilmesi sağlanır.
- Bir uygulamadaki değişiklikler birleştirildiğinde, değişikliklerin uygulamayı bozmadığından emin olmak için uygulamayı otomatik olarak oluşturarak ve farklı düzeylerde testler ile doğrular.

### Continuous Delivery

-  Başarılı olan bir yapının bir ortama ototmatik olarak aktarılmasıdır.
-  Yeni bir sürüm dağıtıldığında geçici kesintilerden etkilenmeyecek şekilde tasarlanmalıdır.

## CI/CD 

- Değişiklikler günde birçok kez ana kod dalında birleştirir
- Her kod, otomatik bir kod oluşturma ve test sırasını tetiklemek için birleştirilir
- Sistem tekrar eden sürümleri destekleyecek şekilde tasarlanmalıdır.
- Sorunları gerçek zamanlı olarak tespit etmeye çalışılmalıdır. 
- Kod test odaklı geliştirmeye çalışılmalıdır.
- Çeşitli araçlar yardımıyla entgre edilir. Bunlar; Jenkins, TeamCity, GitLab, CircleCI

### Faydaları
 
- Otomatik dağıtım ve testler gerçekleştirerek verimliliği artırır.
- En son yazılım sürümünü destekleyerek risklere karşı önlem alır.
- Teslim süreleri kısalır.
- Kaynak daha verimli kullanılır.
API ?
Published: 2021-08-17 12:57:00


## API ve API Yönetimi
---
- Application Programing Interface
- Yazılımın asıl çalışma şekli ve karmaşıklığı ile ilgilenmeden, bu yazılımla iletişim kurma yoludur
- Bu yapı sayesinde yazılım programları birbirlerine istek gönderebilir ve gelen istekleri işleyebilir.
- API yönetiminin 4 temel unsuru vardır;
    - Gateway : WebClient ile iletişimde olduğu service veya sistem arasında bulunur. Gerçekleşen requestlerin kontrolünü sağlar.
    - Developer Portal : Geliştiricilerin API ile alakalı belgelemeleri paylaşabilecekleri bir platformdur.
    - Life Cycle Manager : API gerçekleşimi boyunca adımların doğruluğunu kontrol eder.
    - Reporting Analytic: API performansı hakkında gözlemleme yapmayı sağlar.

## OPEN API 
- Belirli tanımlamaları kullanarak(YAML veya JSON dosyaları),API iç yapısında neler olduğunu anlamaya gerek kalmadan ,API kullanımı gerçekleştirilir.
- Kolay entegrasyon sayesinde kısa sürede kullanıma hazır hale gelebilirler.
- Bulut tabanlı yapısı, internet erişimi olan her yerde kullanıma izin verir.

## REST API 
- Temel olarak Client ve Server arasında iletişim oluşturmak için kullanılır
- REST açılımı Representational State Transfer .
- RESTFUL Service, iletişim kurmak için REST kullanan bir Service demektir.


#### Faydaları 

- Basit ve standartlaştırılmış, projeniz için yapılandırması kolay.
- Scalable and stateles, Service ne kadar karmaşık olursa olsun veya hangi veriler hangi durumda olursa olsun kullanılabilir.
- Yüksek performans.


#### Genel Konsept 
 - Server ve Client arasındaki iletişim, client tarafından yollanan request ve buna cevap olarak server tarafından verilen response ile sağlanır.
 
 - Client ve server arası iletişimdeki CRUD operasyonlarını HTTP metodları ile yönetir
  
 - Client tarafından gönderilen request;
    - Operasyon(Http metodlarından bir tanesi)
    - Endpoint
    - Parametler/Body
    - Header
     içerir.
 - Server tarafından gönderilen response JSON formatında bir yanıt olur.
Goals for HNG Internship 8.0
Published: 2021-08-17 12:54:40

Hello everyone,
I’m Abdul-Muizz Abubakar, an aspiring frontend developer ready to begin this beautiful journey with HNGxI4G.

##ABOUT THE INTERNSHIP
HNG internship is a large-scale virtual internship for people learning to code and design. It usually lasts about 3 months and it is in 10 stages.

The internship focuses on participants with prior experience in coding or design. However, if you have no prior knowledge, you are adviced to apply as you can gain a lot from the experience of others.

You can learn more and register for the internship here: https://internship.zuri.team/

##STACK
Frontend Development.

##MY GOALS FOR THE HNG INTERNSHIP 8.0
* Being a frontend developer has been my goal and I hope by the end of 8 weeks internship, I would have learnt enough to help me whet my skills, network and build connections.
* Learn to work in a team.
* Engage with real-world projects to improve my portfolio.
* Be part of a successful tech community.
* Access to job opportunities.

Here are some tutorial videos to get you started as a Frontend developer:
Introduction to Figma by Envato Tuts+
https://www.youtube.com/watch?v=g6rQFP9zCAM

Git & GitHub Crash Course For Beginners by Traversy Media
https://www.youtube.com/watch?v=SWYqp7iY_Tc&t=5s

HTML tutorials for beginners by Programming with Mosh
https://www.youtube.com/watch?v=qz0aGYrrlhU

Introduction to React JS by Traversy Media
https://www.youtube.com/watch?v=w7ejDZ8SWv8
My Goals At The HNGi8 x I4G
Tags: beginners, internship
Published: 2021-08-17 12:54:12

*“Some things cannot be taught; they must be experienced. You never learn the most valuable lessons in life until you go through your own journey.”* ― Roy T.

An internship is a professional learning experience that offers meaningful, practical work related to a student's field of study or career interest.
It gives people the opportunity to gain new skills and can range in length from a couple of weeks to several months or even a year.

Of recent, I enrolled in the backend track at the Zuri operated HNG internship version 8 in partnership with Ingressive for Good(I4G) to learn new coding skills.

*The HNGi8 x I4G Internship is a 8 weeks, large scale virtual internship for people learning to code and design. It focuses on the post-training phase, and creates a virtual work environment for participants.*

The Internship is designed to surface the very best of candidates out of a large pool of participants. It is fast paced and challenging, and helps people learn how to work in teams, deal with pressure and quickly expand their knowledge.

If you are looking for a challenge, or are a professional looking to grow and connect with others, or probably you have prior design/coding skills; this internship is also for you.
**PS: The enrollment form for the internship is available at:** 
 [https://internship.zuri.team 
](https://internship.zuri.team 
)


 As at the time of writing this article, the internship has commenced and in fact, this article is the first task assigned to all participants. There are 10 stages in total and to move through the stages, we are to complete the tasks assigned to us.
 
By the end of this internship, I hope to have achieved the following goals:
- Proficient knowledge of the back-end programming language and the framework.
- Understanding of front-end web technologies like HTML, CSS, and JavaScript (to communicate with team members on the front-end).
- Knowledge of accessibility and security compliance.

The following are beginner tutorials for :
- Designing with Figma: https://www.figma.com/resources/learn-design/ , https://www.headway.io/event-series/figma-tutorials-for-beginners

- Using GIT : https://www.youtube.com/watch?v=RGOj5yH7evk

- HTML : https://www.youtube.com/watch?v=pQN-pnXPaVg

- PYTHON : https://www.youtube.com/watch?v=rfscVS0vtbw&vl=en

- GO : https://www.youtube.com/watch?v=YS4e4q9oBaU

- FLUTTER : https://www.youtube.com/watch?v=x0uinJvhNxI , https://www.youtube.com/watch?v=pTJJsmejUOQ