teleren/devto huggingface dataset:
Let’s Meet Igor – Full Stack Web, Mobile, and Desktop App Developer
Tags: beginners, webdev, career, computerscience
Published: 2019-03-17 18:30:02

---
title: Let’s Meet Igor – Full Stack Web, Mobile, and Desktop App Developer
published: true
description: Today, we will meet Igor Dimitrijevic - a full stack web, mobile, and desktop app developer. He will share his professional coding experience and how to get over the fear of coding. Read the complete interview here.
tags: beginners, webdev, career, computerscience
---

![Igor - CodeItBro](https://i0.wp.com/www.codeitbro.com/wp-content/uploads/2018/06/igorskyflyer.jpg?)

First of all, I would really like to thank Igor for participating and sharing his wonderful professional experience with our readers.

As a beginner in the coding world, you can learn from his journey and get some hot tips to improve your learning and coding skills.

Bio: “A young self-taught full stack Web, desktop and mobile developer from Serbia.”

 

So let’s hear from Igor as he explains how amazing is the coding world with a reference to his professional journey :0

## 1. What is coding to you?
“I know I’m going to sound like a total geek now, but coding to me is pure FUN. Yes, I do get paid for coding, but that was NOT why I started learning how to code in the first place. Read ahead, to find out the real reasons for starting my developer journey.”

## 2. When did you begin coding and what inspired you?
“I started coding at the age of 15, which was a long time ago (😓) – haha, kidding, but almost 10 years ago by the way. I was always interested and fascinated with all the tech stuff and gadgets in general. The only thing that I knew about programming at the time is that you need strong logic to be a programmer and I remember that one day I decided to challenge myself mentally and learn my first programming language – even though technically what I’m about to reveal is not really considered a programming language – and that language was HTML, actually WML at that time. Feeling old yet? 😁 After mastering HTML, I’ve started learning CSS and JavaScript and after mastering them I started with Desktop and afterward with mobile development.”

Read his full interview [here](https://www.codeitbro.com/developers-interview-igor-dimitrijevic/)
This is my blog
Tags: beginners, rails, webdev
Published: 2019-03-17 12:16:13

---
title: This is my blog
published: true
description: Finally, after weeks of learning and working on the (personal blog)[saralkarki.herokuapp.com],
tags: beginner, rails, webdev
---


![alt text](https://images.pexels.com/photos/1437904/pexels-photo-1437904.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=500&w=500)


Finally, after weeks of learning and working on the [personal blog](saralkarki.herokuapp.com), I can say it has now taken a shape that I am satisfied with. There is still a lot of work needed to be done especially with the styling of the blog, however, overall I think I have got the features I wanted to add. So what features are integrated within my personal blog

1. User Authentication:
	 For user authentication, I used the 'bcrypt' gem. Though in my other projects I have used the 'Devise gem', this being my project, I chose to use bcrypt. Also, user authentication wasn't a feature that I absolutely required in this project, because it is a personal blog, and I am guessing the only person uploading here will be me. 
Here's how I went about getting bcrypt to work on [the blog]    (https://dev.to/saral/rails-here-i-come-day5-2a7l).

2. Markdown:
	 For my blog I wanted to be able to enter the text as I do on Dev. Therefore, I went about finding how I could implement markdown on the blog. Also, I have no idea a thing called 'Rich text editor' existed. Had I known this, I would probably have gone and tried using a rich text editor instead. My ignorance was a blessing in disguise as now I am equipped with knowledge on how to implement both markdown and rich text editor. 
Here is how I implemented the [markdown] (https://dev.to/saral/implementing-markdown-on-my-blog-post-46jf)

3. Bootstrap and Font-awesome:
	 Next up, I wanted to use bootstrap and for this, I followed the instructions provided on the [bootstrap gem homepage](https://github.com/twbs/bootstrap-rubygem). I also used the font-awesome icons to style the icons. Again, the [Font-awesome gem page](https://github.com/bokmann/font-awesome-rails) came in handy whilst implementing the FA icons. 
	
4. Pagination:
	 For pagination I used the [will_paginate](https://rubygems.org/gems/will_paginate) gem. Here's my implementation of the gem on the [blog](https://dev.to/saral/pagination-done-309l).

5. Paperclip:
	Finally, for adding images to the blog posts I used the paperclip gem. I was able to get the gem working on localhost, however, I soon encountered an issue on Heroku. The images looked to be stored on my database but every time I refreshed the images would disappear. It was then that I learnt, that Heroku wouldn't store my images, and therefore I would have to store my images elsewhere. The recommended platform was AWS. 

Now I embark on my next goal to get the images on AWS.
Writing a validator for Gatsby's Site Showcase
Tags: javascript, gatsby
Published: 2019-03-17 18:23:39

---
title: Writing a validator for Gatsby's Site Showcase
published: true
description: Post about how I wrote a validator for Gatsby's site showcase
tags: javascript, gatsby
cover_image: https://thepracticaldev.s3.amazonaws.com/i/pp6qbsknvg38d1nwqfpb.png
---

This past weekend, I made a simple node script to run through the site showcase for GatsbyJS and was very happy with the end results and wanted to talk through the process.

# Why do this?

As Gatsby continues to grow with currently over 450 sites in the showcase as a place to show off sites that use Gatsby, being able to maintain and see occasionally that the sites still are around and using Gatbsy is a good sanity check.

As well, this could be good to add into a CI process so when someone submits a site to the showcase, the check could be automated rather than needing to manually check if it is actually a Gatsby site.

# Dig into the code

The entire source for this is located on my GitHub:

{% github lannonbr/gatsby-site-showcase-validator %}

Starting out, I pull down the [sites.yml](https://github.com/gatsbyjs/gatsby/blob/master/docs/sites.yml) file from Gatsby's repo which is used to build the showcase and parse it with [js-yaml](https://www.npmjs.com/package/js-yaml). Now I have an array of sites and I loop through each and fetch the main_url for each site.

Then when I have the HTML from an individual site, I pass it into [cheerio](https://cheerio.js.org/) which is a DOM parser for NodeJS that has a jQuery like API.

```js
let $ = cheerio.load(siteHtml);
```

The main part of the code is to check if it has an element with the "___gatsby" id. which is the default container that is built as part of Gatsby.

```js
let gatsbyContainer = $("#___gatsby")

if (gatsbyContainer.length !== 0) {
  // The page is a gatsby site
} else {
  // The page is not a gatsby site, print out an error message
}
```

Otherwise, in total the file is only about 70 lines of code but overall it did a fairly good job.

# Results

So from the stats, there were only ~20 sites that were either not loading or have moved off of Gatsby as a framework. Doing the math that is less than 5% which is a low percentage so it shows that the site showcase is reputable in showing that the sites that say they are a Gatsby site actually are.

Some cases for why there is a number of sites which return up being invalid likely end up being because the site used to be a Gatsby site but since was rewritten and then was forgotten to be removed from the showcase. Now that a tool like this is around, the number can decrease further and stay fairly low. It's a large task to maintain a large site showcase, but with a little bit of automation and scripts, the task can be made easier.
You don't know TDD
Tags: tdd, development
Published: 2019-03-17 16:20:22

Okay, maybe you think you know what TDD is but let me tell you a story. 

Some years ago there was this young developer who thought that, even when she/he had a lot to learn, she/he at least got a pretty solid foundation. She/He knew that coupling is bad and classes should be single responsibility and the methods inside the class should be also single responsibility in order to produce maintainable and extensible software. 

To this point, most of us can resonate with this story and laugh at ourselves for being that naive. Of course, we think we write decoupled code now but the truth is most developers don't know what TDD is and they write coupled code, less coupled that some years ago because of practice, but coupled none the less. Proof of that is on your companies repositories and how developers shudder every time they need to change something on the codebase. 

## TDD is not Unit Testing but Unit Testing is TDD.

TDD, as the name implies, is the practice of developing software aided by tests. One of the tools are Unit Tests but if you only use those you get something like this:

{% twitter 687672086152753152 %}

Integration tests serve the purpose of checking that your code makes overall sense and does what is expected to do. 

So, what purpose Unit Tests serve?

Unit Test most people think they exist to ensure the contract between classes and they are right but those tests also allow the developer to ensure the quality of the code by listening to the test.

## Listening to the tests.

A Unit Test shouldn't take more than three or five lines of code and a couple of minutes to write, assuming there is no accidental complexity. If your test is long or hard to write it is a signal of coupling. 

Tests usually are kinda like "given X to ClassA.cat() it will call ClassB.fox() with X*Y" and then you write the call and an assertion, depending on which language and framework this should take two or three lines. If ClassA.cat() does more than multiply then your test will become harder and harder the more things ClassA does because you need to come up with the output to assert against and if your code does a lot of things it would become more difficult to ensure the assertion value.

## Applying TDD to the daily code.

Red green refactor is great but is not for everyone neither for all the scenarios.

Here is how I do things: I write a test that says "ClassA.cat() calls ClassB.fox()". I call those test the design tests and use them to build the general structure of the classes. Then, I write the ones that specify the values received and the expected outputs and design the detail of which class does what, in this phase usually the design test get modified because there was some hidden coupling.

After those happy test, I write some tests to handle errors and some with other values to ensure nothing weird happens. Then, I write integration tests.

And that is more or less it. Also, sorry for my English.
The Building an Indie Business Podcast- A little about myself and the directory
Tags: podcast
Published: 2019-03-17 16:01:26

---
title: The Building an Indie Business Podcast- A little about myself and the directory
published: True
description: 
tags: podcast
---

https://overcast.fm/+RG5jxJW9Q

[Episode Page](https://baib-podcast.com)
[Revenue Research](https://revenueresearch.co/)
nzb | a way to add tasks and check them off right from the command line!
Tags: productivity, rust, cli, terminal
Published: 2019-03-17 15:57:24

---
title: nzb | a way to add tasks and check them off right from the command line!
published: true
description: A command line app
tags: productivity, rust, cli, terminal
---
{% github reisub0/nzb %}

Hey guys!

I recently started getting really into Rust so I decided to write my own app in it! This app is for this task management app called Nozbe which implements a system called GTD(Getting Things Done).

The basic idea is to have an Inbox where you simply fill ideas and tasks as you get them throughout the day. Tasks in the Inbox are further processed based on their priority and urgency, and then finally, executed.

Nozbe has pretty good apps for web, desktop and mobile. However, I found all these quite lacking in terms of speed and usability. The overhead of switching between my projects to find the certain task I wanted to mark as done was a bit too much to handle. So I took some inspiration from the amazing Wunderline app, and made this!

I had to learn a lot of libraries to make API requests, to print data prettily, to serialise JSON, to fuzzy matching task names. It has been a blast, but now I'm finally ready to share this work with others.

It's made me love Rust a whole lot, because it's just so easy to work with. And unlike the other projects I've worked on in Python, I'm completely confident in my code because I know I've handled all the cases. The language simply ensures that with its strict type system.

That's all I have to say today!
Until next time!
ReactJS, components swapping?
Tags: react, components, frontendframework, microservices
Published: 2019-03-17 15:24:26

---
title: ReactJS, components swapping?
published: true
description: Are we able to without re-deploying, swap an updated version of the same component?
tags: reactjs, components, frontend framework, microservice
---

# ReactJS!

Is anyone familiar with react components? I have a question regarding react components, are we able to without re-deploying, swap an updated version of the same component?

EG: I have a website shop, I want to say update the shopping cart parameters to accept a new parameter, do I have to redeploy the website or could I just swap the current component to the updated one?

Would appreciate any help at all!
Brian
Code-it® Notes 📝  for JavaScript
Tags: javascript, beginners, webdev, explainlikeimfive
Published: 2019-03-17 14:48:30

Everybody loves a Post-it note. For organising, taking messages, even project planning. Their versatility makes them perfect for tasks that only require bitesize pieces of information. They're big enough to scribble a few words on, but too small for more than a couple of sentences. 

And it's no surprise that digital stickies have become a popular feature of notetaking apps too. Padlet, Google Jamboard and Trello all use their own versions. Breaking down big ideas into smaller, managable chunks makes the most difficult challenges somehow  more achievable.

I prefer to study by taking detailed handwritten notes, but this makes finding  specific reminders frustrating. Particularly when it comes to JavaScript. I revisit the same tutorials, each time taking notes, only to still have trouble remembering how different data types and methods work later on. 

So to try and solve this problem, I've decided to combine the Post-it format with a consistent note taking style; __Code-it notes!__

{% instagram BvEyqj_njyt %}

Each note explains a single topic (e.g. a JavaScript method) in simple, non-jargon language, with an annotated example on the back. Every time I study something new, I'll create a note, share it online and steadily build a resource that will grow into a handy reference library. I'm starting with JavaScript (as that's what I need to revise most), but hope to cover HTML and CSS too. 

{% instagram BvFXAE5nQGb %}

If you'd like to use Code-it notes, I'll be sharing them via Instagram initially and building the collection as a Google Slides presentation. To get started, the first 3 have been embedded here on dev.to.

{% instagram BvH2z08nONS %}  

If you have any feedback, or would like to request a topic, I'd be interested to hear it! 👨‍💻
Chocolatey Autoinstall Windows
Tags: chocolatey, windows
Published: 2019-03-17 14:25:11

---
title: Chocolatey Autoinstall Windows
published: true
description: Chocolatey Autoinstall
tags: Chocolatey, windows
---


[ Packages Search](https://chocolatey.org/search?q=name)
```sh
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

choco feature enable -n allowGlobalConfirmation

choco install vscode -fy
 
choco install 7zip -fy

choco install nodejs-lts -fy

choco install yarn -fy
```



.bat formated.

Run adminastator autoinstall packages.

You coffee drink.

He makes the installation

Thanks you for reading.
Pirrigator, part 3. Being a newbie and writing bad code.
Tags: rust, raspberrypi, sideprojects
Published: 2019-03-17 13:29:01

---
title: Pirrigator, part 3. Being a newbie and writing bad code.
published: true
description: Why writing any code is better than procrastinating
tags: #rust #raspberrypi #sideprojects
series: Watering tomatoes with a Raspberry Pi
---

I procrastinated a bit this week. There were other things to do - I received the darlington transistors and got the water valve working under Raspberry Pi control with the sysfs interface to GPIO. I also received the MCP3008 ADC and got some Python code reading the analog output from my moisture sensors.

But I find the hardest thing about learning a new language is the feeling you're doing it wrong. I don't mind the feeling of being less productive, having to look everything up or having a very short and frequent edit-compile cycle to catch all the silly and syntactic mistakes. I've been writing code in many languages for over three decades and I like to think I have a good sense of what the right and wrong way to do things is, but entering the new world of Rust feels like I've lost this sense. I've learned enough to be able to write stuff that _works_, but is it the right way to do it in Rust? I found myself saying I'll wait until I've read more of the book, or find someone else's code which does something similar, then I'll write my own code. But I had to fight this urge. Writing anything, even if it's terrible, is progress. The wonderful thing about software is you can always rewrite it again later.

So I have produced my first Rust code! It's hideous, probably non-idiomatic in countless ways, but it's Rust code which compiles and works. I have built an ARMv6 native binary for Raspberry Pi which reads the temperature/pressure/humidity sensor (I think I'll just call this the weather sensor from now on) and prints the current values to the console. I will still wait to learn a little more Rust before publishing on [crates.io](https://crates.io), as I don't think it's ready for "production" yet but its beautiful functionality and straight-port-from-C ugliness is available for all on [GitHub](https://github.com/neilgall/rust-bme280).

I've also been working on a module to read the moisture sensors, which have an SPI interface. I really wanted to have everything on I²C but SPI is only a few more wires, and a bit more code. [RustpiIO](https://github.com/Skasselbard/rustpiIO/tree/master/src) is looking pretty promising as a base to build this on.

So today's message is to push on when you're learning and write that bad code. The worst you've ever written. Awful nonsense that reinvents the standard library or misses language features which would make it more concise or robust. Throwaway garbage that other people will laugh at. One day you'll be the other people laughing at it, because the bad code will have taught you more than all the examples of perfection you can find.
Allun.ga - Open Source URL shortner
Tags: react, webdev, opensource, javascript
Published: 2019-03-17 13:28:31

---
title: Allun.ga - Open Source URL shortner
published: true
description: succint URL shortner in ReactJS
tags: react, webdev, opensource, javascript
canonical_url: https://allun.ga
cover_image: https://thepracticaldev.s3.amazonaws.com/i/kgrv40d03iyh0fy478at.png
---

[Github repo](https://github.com/TestDotCom/Allun.ga)

# Something about us:
Allun.ga is an italian [open source, succint, vaporwave, material-design] based URL shortner, written in ReactJS.

Allun.ga's name come from an italian verb which means 'to extend', we choose it to create the domain hack and obviously the wordplay.

Allun.ga is **against** racism, women harassment, pineapple bacon pizza and, of course, light themes in IDEs.

Feel free to use Allun.ga to shorten your url, but remember that we are in beta, so be patient if something doesn't work properly: open an issue on our Github repo, we'll work on it ;)
Stateful/Stateless
Tags: webdev, beginners, explainlikeimfive
Published: 2019-03-17 12:51:32

---
title: Stateful/Stateless
published: true
description: Stateful/Stateless, explained with fishes...
tags: webdev,beginners,explainlikeimfive
---

![blackboarddev states](https://thepracticaldev.s3.amazonaws.com/i/7dpxt3mu0j0ef5lby0ag.png)
https://www.siteanalyticz.com
Published: 2019-03-17 11:40:42

---
title: https://www.siteanalyticz.com
published: True
description: most powerful visitor analytics and SEO tools
tags: 
---


Hi Experts,

I have designed a visitor analytics tools and various different SEO tools in php that will be useful to many here. please feel free to use it for a 7 day free trial

https://www.siteanalyticz.com


Thanks,
Jvalin
Creating Custom Directives in Angular 9|8|7
Tags: angular, customdirectivesdirective, angular987, customdirectives
Published: 2020-02-01 19:18:16

---
title: Creating Custom Directives in Angular 9|8|7
published: true
tags: Angular, Custom Directives directive, Angular 9|8|7, Custom Directives
canonical_url: https://www.positronx.io/creating-custom-directives-angular-7/
---

The post [Creating Custom Directives in Angular 7](https://www.positronx.io/creating-custom-directives-angular-7/) appeared first on [positronX.io](https://www.positronx.io).

**Angular 7 Custom Directives** will be discussed here in this article. You can compare the building of directives with the building of components in Angular 2. As for components, they are directives with a view attached to it. In general, there are 3 types of directives: **structural** , **attribute** and **components**.


[Click here to read more](https://www.positronx.io/creating-custom-directives-angular-7/)
Best JavaScript Framework in the Year 2019
Tags: react
Published: 2019-03-17 11:02:26

---
title: Best JavaScript Framework in the Year 2019
published: true
description: Here I am going to write the best javascript framework in the year 2019. So here is it. React is the top best framework used around the world due to its large community and number of a library. 
tags: reactJS
---
LaraCRUDJS
Tags: laravel, javascript, crud, jquery
Published: 2019-03-17 09:19:47

---
title: LaraCRUDJS
published: true
description: JavaScript Helper library for laravel CRUD functions
tags: laravel, javascript, crud, jquery
---

So for the post, I thought I write about something that I developed a few months back. This a JavaScript library I have written to manage CRUD functions.

You can find it no GitHub https://github.com/chamra/laraCRUDJS 

Once you downloaded the zip you can place `laraCRUD.js` file in your assets folder and reference it in your `app.balde.php` file.

`<script src="{{ assets('js/laraCRUD.js') }}"></script>`

after that, it's all a matter of time you create an object from `CRUD` class

`const crud = new CRUD()`

you can override all defaults from the constuctor. default is,

`{
//form element id
 this.form = "formData"; 
//modal id that include the form
 this.modal = "#formModal"; 
//form submit buttom id
 this.submitButton = "#btnSubmit"; 
//propertie for datatables
 this.datatables = ""; 
//resource url
 this.url = ""; 
//unable page refresh afer a form a submit
 this.refreshPage = false; 
//current status of the form to be update or create
 this.update = false;
//csrf token
 this.token = document.head.querySelector('meta[name="csrf-token"]'); 
//selected items auto increment id
 this.id = 0; 
}`


calling the method `initCRUDFunctions()` on `crud` will in initiate basic crud function you need for the instance. 


`crud.initCRUDFunctions()`


for example - https://github.com/chamra/laraCRUDJS/blob/master/example/main.js


Help is always welcome, so fork me ✌!