teleren/devto huggingface dataset:
Liman MYS'de Ansible eklentisi ile nginx kurulumu
Tags: liman, ansible, nginx
Published: 2022-01-07 11:12:07

Ansible eklentisi ile NGINX'in kurulumunu ve Ansible playbook'un nasıl yazılacağını inceleyeceğiz. 
Başlamadan önce, Liman'a Ansible eklentisini eklemiş olmamız gerekir.

Ansible eklentisinin kurulum için:
https://dev.to/liman/ansible-yonetim-eklentisi-4ina

Ansible eklentisini başarılı bir şekilde eklediysek nginx kurmaya başlayalım.


**1) Playbook Oluşturma**

Playbook'lar, Ansible'ın yapılandırma, dağıtım ve düzenleme işlevlerini kaydeder ve yürütür. Uzak sistemlerimizin uygulamasını istediğiniz bir politikayı veya genel bir BT sürecindeki bir dizi adımı tanımlayabilirler. 

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

Playbook sekmesinden "Dosya Oluştur" diyoruz


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

Dosya Adı: Oluşturacağımız playbook dosyasının ismini giriyoruz.

Dosya İçeriği: Oluşturacağımız playbook dosyasının içeriğini giriyoruz.

```yml
- hosts: all
  become: yes
  tasks:
    - name: ensure nginx is at the latest version
      apt: name=nginx state=latest
    - name: start nginx
      service:
        name: nginx
        state: started
```

**2) Hosts Ayarları**

Ansible, envanter olarak bilinen bir liste veya listeler grubu kullanarak aynı anda altyapıdaki birden çok yönetilen düğüme veya "ana bilgisayara" karşı çalışır. Envanter Ansible'ın karşı karşıya gelmesini istediğimiz ana bilgisayarları veya grupları seçmek için kullanılır. 


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

Hosts sekmesinde Grup Ekle diyoruz

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

Clientlarımızı ekleyeceğimiz bir grup adı ekliyoruz. 

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

Daha sonra hosts sekmesinde eklediğimiz grup gözükecektir. Üzerine tıklayıp Client Ekle diyoruz ve client bilgilerini giriyoruz.

**3) Playbook Çalıştırma**


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

Playbook sekmesinde oluşturduğumuz playbook'un üzerine tıklayıp çalıştırabiliriz veya sağ tıklayıp görüntüleme, düzenleme, çalıştırma ve silme gibi diğer fonksiyonları da kullanabiliriz.

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

Playbooku çalıştır dedikten sonra playbooku uygulayacağımız hosts grubunu ve sudo şifresini girip çalıştır diyoruz.


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

İsteğe bağlı olarak log kaydedilebilir.

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

Client üzerinden nginx'in yüklendiğini ve aktif olduğunu görüntüleyebiliriz.
Blynk zeRGBa 元件無法傳回資料
Published: 2022-01-07 11:11:03

如果你有使用 Blynk 服務, 而且也乖乖地更新 App, 那你應該會遇到 zeRGBa 元件**無法傳送顏色資料**的問題, 經測試後應該是 App 版本的問題, 1.3.7 及 1.3.8 會有上述問題, 若降版本到 [1.3.6](https://apkpure.com/tw/blynk-iot/cloud.blynk) 就可以正常運作。如果覺得下載的 APK 有安全疑慮, 可考慮改用單獨的滑桿元件來替代, 或是加入付費方案使用 Color Picker 元件。
Laravel 8, VueJS 3 & Tailwind CSS 3 SPA CRUD with VueRouter & VueX Store
Published: 2022-01-07 11:10:53

Are you looking for a SPA CRUD built with latest version of Laravel, VueJS & Tailwind? I have spent lot of my time searching for a sample CRUD but didn't find any promising result. After spending few weeks, I was able to build the same & today I decided to make this repository public.

Vutal is Laravel 8, VueJS 3, Tailwind 3 SPA (Single Page Application) CRUD example for intermediate & advanced user. If you are a begineer, I recommend you to spend some time figuring out basic concept of Laravel & VueJS.

![Laravel VueJS Tailwind CRUD](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7144dm9jsoq2swhe7hfi.png)

Github Repository: github.com/scriptmint-solution/laravel-vue3-..

Live Demo: vutal.scriptmint.com

### Interested in Full Featured & Advanced Admin Panel built with Laravel 8, Vue.js 3 & Tailwind CSS 3? Check Vana Admin at  https://ui.scriptmint.com

Vutal includes sample "project" module demonstrating a complete CRUD operation. Below are the operations included in this repository:

- Listing all Projects
- Create a Project
- Edit a Project
- Delete a Project
- Alert before Deleting any Project
- Form Validation
- Loading Indicator

Vutal implements Laravel Requests, API Resource, Factory & Seeder to perform backend operations. The controller uses services for various actions to make code neat & clean.

Vutal is written with the composition API and script setup syntax to make your code clean. Also, it loads the route components dynamically using VueRouter. It uses VueX Store to perform API operations. Vutal also offers following basic components:

- Base Input
- Base Textarea
- Base Button
- Dropdown Menu
- Dropdown Item
- Base Card

To run the code, follow these steps: 

```
git clone https://github.com/scriptmint-solution/laravel-vue3-tailwind-crud.git vutal
cd vutal
composer install
php artisan migrate // Make sure you update database details in .env
npm install
npm run dev

```

To run tests:

```
php artisan test
```

Vutal uses following open source packages:

- Vue 3
- Vue Router
- Vuex
- Tailwind CSS
- Tailwind Typography
- Axios
- Vue Loading Overlay
- Vue Toastification
- Vue Sweetalert2
- Lodash
- Laravel Mix
- Hero & Fontawesome Icon

### Browser Support
Modern browser only
Don’t be a speed shaver
Tags: development, programming, codecraft, management
Published: 2022-01-07 11:48:19

---
title: Don’t be a speed shaver
published: true
date: 2022-01-07 11:02:00 UTC
tags: development,programming,codecraft,management
canonical_url: https://craignicol.wordpress.com/2022/01/07/dont-be-a-speed-shaver/
cover_image: https://craignicol.files.wordpress.com/2021/01/wp-1609625215982.jpg?w=1200
---

_CW: description of blood._

There’s a deadline looming, and your estimates show the project coming in late. Very late.

You need to claw it back. Drop the ballast and become a lean mean coding machine.

* * *

You have a plane to catch. You look at your watch and you’re going to be late. Very late.

You need to cut corners. Shave as you shower. No time for shaving foam in the mirror.

The first cut is annoying. Your cheek stings in the heat, but you keep going.

A second cut, right on the chin. That one hurt. And it’s dripping rather than seeping.

But you need to finish. You don’t have time for this. Keep going.

Missed a bit, back under the chin.

4 cuts. 3 seeping and one dripping.

And the heat keeps them open.

So you patch it over with tissue once you’re out of the shower, try and clean it up to see what you’ve missed. And then you have to go back in and finish the job with cold skin, so more nicks, and more time is taken.

Aftershave to help seal and clean. That’s sore. That’ll sting until you get on the plane.

More tissues, and then plasters. Trying to get dressed without getting any blood stains, so that’s slower too.

* * *

Every shortcut you take has consequences. Technical debt pays interest, and sometimes it’s eye-watering. The debt exceeds the functionality and the project takes longer, and even longer than that. And so you have to make more cuts and ensure more pain. And still, your clients can see it’s held together with plasters that are already starting to peel.

_Don’t be a speed shaver. You don’t have enough time to do it quickly._
My Introduction to Programming
Tags: webdev, python, beginners, web3
Published: 2022-01-07 07:55:24

Picture this.. it's 2011 and I'm in the backend of my tumblr site. I'm eleven years old and I'm trying to figure out how to install STM player so I can have my own custom playlist built into my blog. 

Tumblr is where I had my first experience playing with HTML and CSS code, at the time I had no idea how significant these two programming languages were to the Internet. You see, I was just a kid trying to get Yonkers by Tyler the Creator to automatically play on my blog. 

Now, almost five years later in 2016 I was shipped off to boarding school. I now had the choice of choosing two electives. I remember I picked art and photography but fortunately for me the photography class was full so I was slotted straight into the IST class with the weirdos. Our teacher introduced the class to Python.. well tried to at-least. You see, no one in that class really payed attention, or wait maybe that was just me. I think I was too busy binge watching Casey Neistat vlogs (this was Caseys golden era tbh) Regardless, I managed to learn a few things that year and built some super simple programs that I remember nothing from, lol. 

I dropped the subject the next year. I hated it.

Fast-forward it's 2021 and I've finally jumped into NFTs. I had known about the polarising phrase for a minute now and no it was actually before Gary Vee started jamming the phrase down peoples throats. The first NFT I ever owned was some NBA TopShot card worth probably nothing now. I soon dove deeper and deeper and began learning more and more about the blockchain. I learnt the difference between on-chain and off-chain data (s/o Anonymice! love you guys) I joined several DAOs, Started my own Axie Guild and now employee several scholars in the Phillipines and have met so many wonderful friends along the way. 

This blog thingy or whatever you want to call is my next step in this weird world of web3 and programming. I plan on using this as an outlet to document my learnings and hopefully encourage anyone else in a similar position to myself to jump into this world. 

I'm still new to this whole programming thing but my main focuses will be:

1. Solidity
2. HTML
3. CSS
4. Js
5. Python

I do plan on learning C#, Java and PHP but for now these are my main priorities. One goal I wish to have completed before the conclusion of 2022 is to release my own on-chain NFT project to accompany 7265646163746564  

Feel free to follow me on Twitter here [@0xTeji ](https://twitter.com/0xTeji) to stay up to date on my web dev journey!

I'm so excited to be here, I can't wait to build some cool shit and even better make some even cooler friends. 

Love,
Teji

(not sure if people close blog posts like they are letters but oh well you get the sentiment)
Resume Tips for Bypassing ATS
Tags: career, resume, help
Published: 2022-01-07 10:54:49

If you've been applying to jobs, especially for companies that use ATS and have not been getting feedback or you've been getting immediate rejections, you probably have a resume problem. 

Before I talk about what you can do to rectify this, we first need to talk about ATS (Application Tracking System). According to Jobvite.com, ATS is a piece of software for recruiters that simplifies the recruiting process by using automated intelligence to screen for the best , most qualified candidates. This type of software is particularly used by large companies who get hundreds or maybe even thousands of potential candidates for a given role, as such this type of software saves companies' time by weeding out unqualified applicants and presenting Hiring managers with the best candidates for that role.

The ATS will scan all the submitted Resumes for Keyword matches and structure and so if your CV is not compliant, you are very likely to get a rejection. 

There are two things I have done to prevent this happening to me and give myself the best chance of bypassing the ATS and I'm going to talk about them:

**1. Use Keywords from the Job description in your resume.**
  The ATS searched resumes for specific words, usually the requirements stated in the Job description. For example If you are applying for a devops role and some the requirements in the Job description are Ansible, jenkins, docker etc. and you don't have any of those stated in your resume, Its very likely you'll get a rejection.
	
**2. Use Resume Templates that Are ATS friendly**
  The other thing to do is to use resume templates that allow the ATS to scan your CV without any issues. One option is to use [resumake.io](https://resumake.io/), its open source and free. If you know how to use Json it also comes in handy when you want to save a template of your resume, so you don't have to type everything out all over again when you want to make changes. The other option is to use the free resume templates on Google docs. You can navigate to these templates using the following steps:
1. Go to your central google docs page.
2. Click on the Plus (**+**) sign to create a new document.
3. Click on choose template.
4. Navigate to the Resumes section.
5. Pick any template you want and edit to your taste.
		  
	
I hope this helps you bypass ATS and gets you closer to your desired role. 
Thank you for reading and Goodluck with your job applications.
Why Python?
Tags: beginners, python, webdev, backend
Published: 2022-01-07 10:48:10

Have you ever wondered why companies are nowadays preferring Python over Java for backend development?

The answer to the above question lies in the awesome features that Python provides.

Following are the features of python:
1. Python is a very easy Programming Language. It’s like writing the code in the English Language.
2. Python is a general-purpose high-level Programming Language.
  - general-purpose- As it can be used to build a web app, 
    machine learning, desktop app, robotics, artificial 
    intelligence, IoT, gaming, data Analysis
  - high-Level Programming Language- Assembly language is a 
    low-level language and can interact with the hardware but 
    is not human friendly. However Python, Java is a high- 
    level programming language.
3. Python is a dynamically typed language. i.e You need not declare the type of variable. It is assigned automatically based on the value that you store in the variable.
Eg: a = 10 , b =10.0
To debug the code in Python, you can use Type(variable) as the variable can save any type.
However, Java and C are statically typed languages. You always declare the variable with type in advance
4. Python has the following programming features, borrowed from different languages
  - Functional Programming from C
  - OOP from C++
  - Scripting language feature from Perl and Shell Script
  - Modular programming language
5. It has borrowed the syntax from C and ABC Programming Language
6. Python is platform-independent- You can write the code once in any O.S and can run the code anywhere.
7. Python is portable- Portability means you write the code in one machine and then if you port the code to any other machine then it won't require any changes.
8. Interpreted Language- To run the program you need not compile the program. To understand the difference between compiled Language and Interpreted Language refer to this https://www.freecodecamp.org/news/compiled-versus-interpreted-languages/
9. Extensible- Extensible feature in python refers that you can write some of your Python code in other languages like C or C++. It means that it can be extended to other languages which makes python an extensible language. It’s
not extending the language itself (syntax, constructs, etc), but it lets you interface python with libraries written in other languages. which simply means that you can write code in other languages in your python source code. By implementing this feature you can improve performance.
10. Embedded: Python code can be embedded in any other programming language.
11. Extensive Library Support
Golang Echo
Tags: go, learning, echo, writing
Published: 2022-01-07 10:11:03

This is my self documentation from original docs [here](https://echo.labstack.com/guide/).

Echo claims these points:
```
High performance, extensible, minimalist Go web framework
```
which the biggest point is minimalist. That's why I started to writing here to talk about Echo.

Another strong points of Echo:

1. Optimized Route
Highly optimized HTTP router with zero dynamic memory allocation which smartly prioritizes routes.

2. Scalable
Build robust and scalable RESTful API, easily organized into groups.

3. Automatic TLS
Automatically install TLS certificates from Let's Encrypt.

4. HTTP/2
HTTP/2 support improves speed and provides better user experience.

5. Middleware
Many built-in middleware to use, or define your own. Middleware can be set at root, group or route level.

6. Data Binding
Data binding for HTTP request payload, including JSON, XML or form-data.

7. Data Rendering
API to send variety of HTTP response, including JSON, XML, HTML, File, Attachment, Inline, Stream or Blob.

8. Templates
Template rendering using any template engine.

9. Extensible
Customized central HTTP error handling. Easily extendable API.

Next post will write about _Getting Started_
betadots GmbH wishes everybody a healthy and happy new year
Tags: puppet, devops, architecture
Published: 2022-01-07 10:08:48

We are proud to introduce our new team at betadots GmbH. At betadots, we train and support customers and our business partners. This enables us to help IT teams to learn and implement IT automation using Puppet and cloud technologies.

Through our experience with many different IT organizations and branches such as finance, telecommunication, healthcare, government, and online businesses, we have developed expertise to cover configuration and general IT service management; orchestration and insights; metrics and alerting; storage and network; and cloud and containers.

Our trainers have vast experience in training topics like Foreman and Katello; Puppet and Puppet Enterprise; Git and GitLab.

We are looking forward to support you and your company in DevOps culture, agile Ops methods and IT automation.
Please contact us at: info@betadots.de
What do you know about .NET memory management?
Tags: dotnet, quiz, memory
Published: 2022-01-07 09:55:04

Do you have dreams where you go back to your school years and have to pass an exam that you had no idea about, so you are not necessarily prepared? Psychology has an explanation for this common dream symbol of **being critical of one's level of knowledge**. How critical are you towards your knowledge of .NET memory management? We have an excellent tool that will allow you to check your knowledge level with a short quiz. Just click on the link below


[![.NET Memory quiz](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vy5dg3wglz5mpqhoxhv6.png)](https://quiz.dotnetmemoryexpert.com/)

32 questions that will allow you to assess your knowledge, without waiting for the results, because you will get these immediately after completing the quiz.

Good luck!
I want change and safe my life and i want start with a blog.
Published: 2022-01-07 09:50:21

Hi, It's Mario here.
i'm an italian guy, i want tell the my "new life" from today.
i stopped all, i want only improve english , my cs competence.
Please feel free to correct me , i wanna make mistake for learn.
in 1 yr i want cure my self and go away.
I'll want work on remote, i hope we can know more with this blog.
i'll tell few about my past and i want demostrate is possible change life.
in this day i'll learn pentest skill on TryHackMe[dot]com , Solidity and w3 on udemy.
and i want learn at least one chapter for day Atomic Abits by  James Clear.
Let's go!
Setting up a Certificate for localhost
Published: 2022-01-07 09:28:34

(This post is mainly a public note for myself but maybe will help others too.) 

## Self Signed Not Enough

We had a requirement to run our site using https locally due to changing security requirements. It was possible to create a self signed certificate with the following command to enable the site to load but it is still not trusted by the browsers. 

```
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./selfsigned.key -out ./selfsigned.crt
```

This means you will have the red padlock and on Chrome you can run into issues like this.

```
localhost/:35 GET https://localhost:8000/commons.css net::ERR_TOO_MANY_RETRIES
```

For me this meant that my local environment would just not load important scripts making development impossible. The solution is to create and use a proper certificate.

## Using mkcert

These steps are for Mac.

```
brew install mkcert
mkcert localhost
mkcert -install
```

This will create the following two files for you. 

```
mv ./localhost.pem
mv ./localhost-key.pem
```

You could move these somewhere easy to reference for your dev server as you will need them when creating the https server. 

```
const key = fs.readFileSync('PATH_TO_FILES/localhost-key.pem, 'utf8');
const cert = fs.readFileSync('PATH_TO
_FILES/localhost.pem', 'utf8');

const credentials = {
    key: key,
    cert: cert
};

const httpsServer = https.createServer(credentials, app).listen(EXPRESS_HTTPS_PORT);

```

Following these steps you should be able to use https on localhost and the browsers will trust the certificate.
The Story of NPM and Left-pad
Tags: node, javascript, webdev, react
Published: 2022-01-07 09:22:03

Hello developers, i want to share a little but interesting story for those of you that will just patronize any framework or plugin you see on the web.

Npm became the de-facto JavaScript library package ecosystem in the last decade. People could contribute their own packages to the ecosystem, and other packages could use them, making it easier to develop large projects. 

Azer Koçulu was one of those developers. Left-pad was only one of the packages out of the 250 he contributed to the npm ecosystem. It had only one function: to append spaces to a string to make sure that it’s always a fixed size, which is quite trivial. 

One day, he received an email from npm saying that they had removed one of his packages called “Kik,” because a company with the same name complained. npm decided to remove Azer’s package and give the name to the other company. 

That made Azer so angry that he removed all the packages that he contributed, including left-pad. The thing is, you see, there were hundreds of large-scale projects in the world directly or indirectly using the package. His actions caused all those projects to stop in their tracks. It was quite a catastrophe and a good lesson about the trust we have on the platforms.

The moral of the story is that life in the streets is full of unwelcome surprises.


Thank you for reading. Feel free to write a comment or reach out to me. 

Visit our website: [Megtrix Technologies](https://megtrix.com)
Visit our blog: [Megtrix Blog](https://blog.megtrix.com)