teleren/devto huggingface dataset:
Obvious Mistakes Every Junior Developer Should Avoid
Tags: career, beginners, codenewbie, webdev
Published: 2023-02-14 18:23:28

![Mistake every developer should avoid](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cb5idogbnhukq7rbwt1z.png)

I asked tech twitter to share ONE mistake they wish they had avoided in their developer journey. I have documented the top responses in this article. Hope these will be helpful — **especially for beginner devleopers**. 

Let's dive in! 🚀 

## TL;DR

- [Overwhelming yourself 😟](#overwhelming-yourself)
- [Setting unrealistic goals 🎯](#setting-unrealistic-goals)
- [Not tracking progress 📈](#not-tracking-progress)
- [Not being consistent 🗓️](#not-being-consistent)
- [Not taking breaks ☕](#not-taking-breaks)


## Overwhelming yourself 😟

In tech there is always:

A new library
A new framework
A new buzz word

…to overwhelm you.

It’s ok to not know everything.

Learn to take things 1 at a time.

## Setting unrealistic goals 🎯

No, you can’t learn JavaScript in 1 month.

Or Python. Or Kubernetes.

You want accomplishment, but you will get anxiety.

Instead:

Set small goals. Have low expectations.

And scale slowly as you gain momentum.

## Not tracking progress 📈

Measuring progress doesn’t come naturally.

But, without it you will reach nowhere.

Track finished projects.
Track time taken for tasks.
Track happiness levels.

Remember:

You can only improve what you measure.

## Not being consistent 🗓️

If you want to be good at something,

you need to stick to it.

Long term consistency > Short term intensity.

Don’t overcomplicate it.

Start today. Repeat tomorrow.

## Not taking breaks ☕

Working without breaks leads to burnout.

So, disconnect from work.

Often.

Listen to music
Go for a walk
Talk to your friend.

Make time to recharge.

## Wrapping up 📝

Hope you will learn from these mistakes and avoid them in your career.

If you liked this post, follow me for more of these. 🙂

Share a mistake that you wish you had avoided. Would love to hear it. 👇
A renderização de componentes no React
Tags: react, beginners
Published: 2023-02-14 18:21:07

O React é uma biblioteca do JavaScript que é usada para criar interfaces de usuário interativas. Uma das principais características do React é o uso de componentes reutilizáveis, que podem ser facilmente criados e utilizados em vários lugares de um projeto. Esses componentes são criados em React através de uma combinação de HTML e JavaScript, e podem ser renderizados no navegador ou em dispositivos móveis.

A renderização de componentes é um processo importante no React, que acontece sempre que há uma mudança no estado ou nas propriedades de um componente.

O React utiliza o _Virtual DOM (DOM Virtual)_ para otimizar o processo de renderização. O Virtual DOM é uma representação do DOM (Document Object Model) que fica em memória, permitindo que o React faça as alterações necessárias sem renderizar novamente toda a página.

```
ReactDOM.render(<App />, container)
```

O processo de renderização de componentes no React funciona da seguinte maneira:

O componente é criado: Quando um componente é criado no React, uma função é chamada para renderizar o componente.

O Virtual DOM é atualizado: Quando o estado ou as propriedades do componente mudam, o React atualiza o Virtual DOM.

A diferença é calculada: O React calcula a diferença entre o Virtual DOM atualizado e o anterior.

O DOM é atualizado: O React atualiza somente as partes do DOM que foram alteradas, resultando em uma renderização mais eficiente e rápida.

Para renderizar um componente no React, você pode utilizar a função "ReactDOM.render". Esta função recebe dois parâmetros: o componente a ser renderizado e o elemento do DOM no qual o componente será renderizado. O componente pode ser criado de diversas maneiras, como por exemplo através de funções, classes ou hooks.

Uma vez que o componente é renderizado, ele pode ser atualizado em resposta a eventos ou interações do usuário. Para atualizar um componente, você pode usar a função "setState", que permite que você atualize o estado do componente e inicie o processo de renderização novamente.

Em resumo, a renderização de componentes no React é um processo importante para criar interfaces de usuário reutilizáveis e eficientes. Utilizando o Virtual DOM, o React é capaz de atualizar apenas as partes necessárias do DOM, resultando em uma renderização mais rápida e eficiente. Com o React, é possível criar interfaces de usuário complexas de forma rápida e eficiente, graças à utilização de componentes reutilizáveis e ao processo de renderização otimizado.
Please support the author of core-js
Tags: opensource, news, javascript
Published: 2023-02-14 18:16:58

If you are a frontend developer then there is a high chance that you're using the **core-js** library without even knowing about it. It provides pollyfills for modern JavaScript features so that you can use it with being concerned about vendor supports. **Fifty two** percent of world's top 1000 websites are dependent on it. 

Unfortunately, this opensource tool that we take for granted came at real cost. But, it is really heart breaking how the open source community treated Denis Pushkarev for his contribution to the world. I believe we as developers should know about this kind of people and stand by their sides. Because they are literally carrying the digital world on their shoulders.


Please read Denis' post on [official core-js Github repository](https://github.com/zloirock/core-js/blob/master/docs/2023-02-14-so-whats-next.md).
isv platform with low code
Tags: isv, javascript, api
Published: 2023-02-14 18:04:48

Using isv platform is isv platform. Low Code Platforms refer to the platforms that are easy accessible for both developers and non-developers to create and customize their own application. isv  platform with low code provides modern developers and small companies the flexibility and speed they need to launch applications. by streamlining the development process and is a framework that lets you create apps with low code. One platform you can use to develop your app is . This is one of the more popular app development tools for upcoming developers. isv platform are designed for developers who need to add custom features into an application. isv platform are similar to the traditional mvc. [low code platforms](https://www.wavemaker.com/low-code-app-development-platform/) are good for smaller projects. Platforms like [Wavemaker](https://www.wavemaker.com/) are ideal for coders and designers wanting to build their own apps. isv is a flexible platform with low code that can be used for various applications and is able to offer a lot of value.  isv is a platform that offers a lot of choice and many innovations Isv [low code](https://www.wavemaker.com/what-is-low-code-app-development/): a new landscape exploration platform that enables strategists to keep tabs on a sizeable set of tools and be equipped with topics designers can leverage.
what is callback function in javascript
Tags: programming, javascript, opensource, webdev
Published: 2023-02-14 17:33:26

1. a callback function is a function 
2. that is passed as an argument
3. to another function and is intended to be called later in the execution of that function.

## The purpose of a callback function is to

1. allow for asynchronous programming.
2. where a function can be executed while other code is running,
3. and then execute the callback function when it's finished.

Callback functions are commonly used in event handling,
AJAX requests, and other asynchronous operations.

Q. Interview Question  related to Callback functions

Q1.Explain what a callback function is and provide a simple example

A callback function is a function that is passed to another function as an argument and is executed after some operation has been completed.

 Below is an example of a simple callback function that logs to the console after some operations have been completed.

`function modifyArray(arr, callback) {
  // do something to arr here
  arr.push(100);
  // then execute the callback function that was passed
  callback();
}

var arr = [1, 2, 3, 4, 5];

modifyArray(arr, function() {
  console.log("array has been modified", arr);
});`

Google JavaScript Technical Interview (Callbacks, Promises, Await/Async)

1. Callbacks
What is a Callback in JavaScript
Callbacks in real Life

2. Callbacks vs. ES6 Promises & Await / Async
Why Promises
What are Promises
How Promises resolves Callback Hell


Why do we even need Callback in JavaScript?

(https://medium.com/developers-tomorrow/google-javascript-technical-interview-7a20accd6ddf)

[](https://medium.com/developers-tomorrow/google-javascript-technical-interview-7a20accd6ddf)
Introducing ResumerX - Elevate your CV using AI
Tags: ai, tooling, career
Published: 2023-02-14 17:30:07

Maximize your job search potential with the power of AI! As the buzz surrounding OpenAI's GPT-3 grows, I discovered its amazing potential for enhancing CVs.

With the job market competitive, a standout resume is crucial for landing your next job. That's why I developed ResumerX, a tool leveraging OpenAI's API to elevate your CV and give you an edge in the interview process.

Or, as Chat-GPT puts it: Unlock your full potential with our AI-powered platform and let it edit your CV to new heights. Build on OpenAI's GPT-3 API.

[Visit ResumerX and try out for free](https://www.resumerx.me/)

And it's easy to use:

1. ✏️ Feed in Your CV Texts: Provide the text from your current CV in ResumerX's platform.
2. ♺ Generate Optimized Texts: Optimize your CV text with AI technology. Make them shorter, extend or change tone.
3. 📝 Use Texts in Your CV: Boost your CV's impact with ResumerX's optimized text. Just copy and paste them into your CV.
 
My goal with this is to help you improve your CV with no effort, using AI tooling. For recruiters and hiring managers, using AI technology for CV texts will also make it easier to compare CVs - focus is on the content, not form.

Yes, yes, there are lots of tools like this. ResumerX is effort-less, without registration, and for free.

Try out the tool and let me know how it can be improved. Hope it will be helpful to some.
What is Interface and How to use it in Laravel
Tags: laravel, php, beginners, codenewbie
Published: 2023-02-14 17:25:55


Hello Artisan,


In object-oriented programming, an interface is a contract that specifies a set of methods that a class must implement. It defines a common set of methods that multiple classes can implement, providing a way to ensure that these classes can be used interchangeably.

In Laravel, interfaces are used to define a set of methods that a class must implement in order to satisfy a contract. They provide a way to define and enforce the implementation of specific methods across multiple classes.

- Define the interface: Create a new interface by defining a set of methods that the implementing classes must implement. For example:

Here's an example of how to use an interface in Laravel:

```php
<?php

namespace App\Interfaces;

interface PaymentGatewayInterface
{
    public function pay($amount);
    public function refund($transactionId, $amount);
}
```

- Implement the interface: Implement the interface by creating a new class that defines the methods specified in the interface. For example:

```php
<?php

namespace App\Services;

use App\Interfaces\PaymentGatewayInterface;

class StripePaymentGateway implements PaymentGatewayInterface
{
    public function pay($amount)
    {
        // Implement payment gateway logic here
    }

    public function refund($transactionId, $amount)
    {
        // Implement refund logic here
    }
}

```

- Use the interface: Use the interface by creating a new instance of the class that implements the interface. For example:

```php
<?php

namespace App\Http\Controllers;

use App\Interfaces\PaymentGatewayInterface;
use App\Services\StripePaymentGateway;

class PaymentController extends Controller
{
    public function makePayment(PaymentGatewayInterface $gateway)
    {
        $gateway->pay(100);
    }
}

// Usage:
$controller = new PaymentController();
$gateway = new StripePaymentGateway();
$controller->makePayment($gateway);

```

- In this example, the PaymentGatewayInterface interface defines the pay and refund methods that a payment gateway class must implement. 

- The StripePaymentGateway class implements this interface and provides its own implementation for the pay and refund methods. 

- Finally, the PaymentController class uses the PaymentGatewayInterface interface as a parameter type, which allows any class that implements this interface to be passed into the makePayment method. 

- This provides a way to ensure that the passed-in class meets the requirements of the interface.


In this way we can use interfaces in laravel.

Thank You!!

Happy Reading... :heart: :unicorn:
Pra não esquecer mais: Stateless x Stateful no Flutter
Tags: flutter, beginners, braziliandevs
Published: 2023-02-14 17:19:44

Se você caiu aqui de paraquedas e não sabe do que eu estou falando, recomendo você começar lendo esse [artigo da Maiza Louise que explica “O que é Flutter?”.](https://www.linkedin.com/pulse/o-que-%C3%A9-flutter-maiza-louise/)

Prazer, eu sou a [**Leticia @levxyca**](https://links.levxyca.com/) e estou em busca de me tornar a maga do Flutter, ou a Flutterfly 🦋 Hoje eu estou aqui escrevendo sobre Stateless e Stateful no Flutter para não me esquecer mais, ou tentar pelo menos rs.

## Stateless Widget

Um *Stateless Widget* é um widget sem controle de estado. Mas o que isso significa? Significa que esse tipo de widget não tem alterações dinâmicas, ou seja, as informações ali são estáticas, não mudam ao longo do processo.

```dart
class WidgetExample extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container();
  }
}
```

## Stateful Widget

Agora falando sobre o *Stateful Widget*, é um widget com controle de estado. O que significa que podemos ter infomações que se alteram ao longo do processo, ou seja, é com ele que conseguimos construir várias coisas interativas.

```dart
class WidgetExample extends StatefulWidget {
  const WidgetExample({super.key});

  @override
  State<WidgetExample> createState() => _WidgetExample();
}
```

## Ficou um pouco mais lúcido agora?

Espero que sim! Esses são conceitos muito importantes na hora de criar nossas aplicações utilizando Flutter 💙 Se você tem alguma outra forma de definir esses conceitos, fique a vontade para comentar aqui em baixo!
The GitHub platform is a powerful tool 🛠️
Tags: github, webdev, beginners, python
Published: 2023-02-14 17:09:14

## Introduction


- GitHub is a powerful platform for developers to collaborate, store code and share their work with the world. 

- It provides an array of useful repositories that can be used to speed up development processes and make coding easier.

- In this essay, we will discuss some of the most popular GitHub repositories which are beneficial for developers. 

- The first repository worth mentioning is Bootstrap by Twitter. 

- This open-source library allows users to quickly create responsive websites using HTML5, [CSS3](https://www.youtube.com/watch?v=baXsdDqM_5o&t=6s) and [JavaScript](https://www.youtube.com/watch?v=9EZ0TpuHYvI) components without having any prior knowledge of web development languages or frameworks like AngularJS or ReactJS. 

- The library also comes with pre-built themes which make creating attractive web pages even simpler than before! 

- Another great repository on GitHub is Node Package Manager (NPM).

- NPM helps manage dependencies in projects written in JavaScript by downloading packages from its registry as well as managing versions between different projects so you don’t have conflicting versions installed at once. 

- With NPM you can easily install libraries such as Express JS, MongoDB, Socket IO etc. 

- Saving time when starting new projects or updating existing ones! 

- Finally, there's Docker Hub – a cloud-based service where users can find containers ready-made for them according to their needs. 

- It supports over 100 programming languages including [Python](https://youtu.be/2VRXU2H4q0c), Java and Ruby on Rails making it easy for anyone regardless of experience level to get started quickly without having to worry about configuring servers manually each time they start something new! 

- Docker Hub also has other features such as automated builds & deployment pipelines making life easier not just during initial setup but throughout the entire project lifecycle too.

- All these features combined make Docker hub one of the most important tools available today if you want your applications running reliably across multiple environments while keeping maintenance costs low - definitely worth checking out if you haven't already done so.



###### Useful 👍 GitHub Repositories Every Developer Should Bookmark ✅ 

🎥 {% youtube uH8aYgmqoDs%}


#### Bonus

###### 7 programming tools 🔧 you should be using in 2023 👩‍💻💡 

🎥 {% youtube djONtv0TM_E%}


### Connect with Me 😊

#### 🔗 Links

[![linkedin](https://img.shields.io/badge/linkedin-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/mahmoud-el-kariouny-822719149/)

[![twitter](https://img.shields.io/badge/twitter-1DA1F2?style=for-the-badge&logo=twitter&logoColor=white)](https://twitter.com/Mahmoud42275)
Commit to your team's development conventions or get out
Tags: devops, conventions, career
Published: 2023-02-14 17:05:13

I'm not saying this for the good of your team, even though it will be good for your team. I'm telling you this for your own sake: don't martyr yourself for your software development opinions!

Software engineering attracts a certain type of mind. Our thinking is necessarily precise -- the computer does exactly what we tell it to do, and if we tell it to do something incorrectly, that's on us. In general, this leads to strong views on how development should be done. Every programmer I've met that has two or more years of development experience has already developed strong beliefs about sustainable, maintainable development conventions, and does not hesitate to inform you about them.

This is fine in isolation -- you have your principles, you stick to them, and your code is cleaner and more maintainable as a result. You always use spaces, you use the gitflow workflow when branching in source control, you always promote through dev/stg/prd environments, you use the pytest framework for unit tests, etc etc. You are a paragon of forward-thinking development discipline.

Problems arise, though, when you must work on a project with an engineer who doesn't share your ideology. Yes, I use that word on purpose: "best practices" are ideology, not universal laws. Good software can be written in myriad ways, and so two skilled engineers can have equally valid, yet diametrically opposed, opinions about development practices.

<img src="https://media.giphy.com/media/l0IylSajlbPRFxH8Y/giphy.gif">

**And so we come to the hard truth of my rant**: it is better to conform to the development practices accepted by the majority of your team than to try and force them to accept your convictions. Nothing tanks productivity on a team faster than arguing about development practices and tooling. It might be hard for you to accept, but your pet convention is not so superior that it is worth wasting engineer-weeks (or even engineer-days!) arguing about.

If you just can't accept the idiotic processes your team has in place, and you feel so strongly about your development conventions that you find yourself trying to convince your coworkers again and again to change their ways, it's probably best for everyone if you try and find a role on a new team that shares your convictions. You will be happier, your former team will be happier, your new team will welcome you with open arms, you will crush all your performance reviews, and society will be improved by all the code you will be shipping.

<img src="https://media.giphy.com/media/Hw8vYF4DNRCKY/giphy.gif">
Welcome Laravel 10
Tags: laravel, php, programming, webdev
Published: 2023-02-14 17:00:39

On December 14th 2022, Good news has reached us about the approaching release of Laravel 10 And the wonderful features it contains, I will put all the sources and links below to get acquainted with the new version 

- Laravel 10 Now
https://laravel-news.com/laravel-10


- Process Facade Coming to Laravel 10
https://laravel-news.com/process-facade-laravel-10


- Include a profile option to find slow tests
https://laravel-news.com/laravel-10-profile-option


- Laravel Pennant
https://laravel-news.com/laravel-pennant
https://laravel.com/docs/10.x/pennant
https://www.youtube.com/watch?v=xn7bRW_lbTE


- Upgrade to Laravel 10
https://laravel.com/docs/10.x/upgrade
https://www.youtube.com/watch?v=9t3cR5xJ_SU
https://laravelshift.com/upgrade-laravel-9-to-laravel-10


- what's new in Laravel 10
https://www.youtube.com/watch?v=j6olagluNCw
https://www.youtube.com/watch?v=krvhbrdTon8
https://www.youtube.com/watch?v=fxBLTMmZWcc


- Laracasts
https://www.youtube.com/playlist?list=PL3VM-unCzF8j7Do3dDNqH_vL20kGWubNA


- Laravel Artisan Cheatsheet Supports Laravel 10
https://artisan.page/


I hope you enjoy and benefit from these resources.
Make `std/strformat` work at the compile time in the Nim language
Tags: nim, nimlang
Published: 2023-02-14 16:58:21

[The Nim language](https://nim-lang.org) is a great statically typed modern programming language. Its built-in VM is quite powerful and can be used for compile-time calculations in order to make the program as fast as possible. Not only is it efficient, but also expressive. We shall see the juicy fruits of the elegant syntax macros in this blog. The `std/strformat` is implemented by syntax macros. In a word, the core Nim is small but with macros, its possibilities are infinite.

You might have heard the f-string in Python language, which is quite neat and handy. `std/strformat` implements String interpolation/format elegantly, likewise. 


```nim
import std/strformat
let msg = "hello"
assert fmt"{msg}\n" == "hello\\n"
```

No need for extra string concatenation or obscure interpolation operations. What you see is what you get. You just need to put variables between curly bracelets. Can't it be simpler?

There was a problem before that `std/strformat` cannot format floats. It was a bit depressing since `std/strformat` is such an elegant and handy library, how could it be so cruel as not to work at the compile time. Worry not, the `devel` compiler has supported calling it at any time by means of [registering `formatBiggestFloat` in VM](https://github.com/nim-lang/Nim/pull/21299).

```nim
import strformat

const compileTimeVarible = &"{1.236:<.2}"
echo compileTimeVarible
```

Now it prints the expected result: `1.2`. See, it is not difficult to contribute to an open source project. Every contribution, big or small, counts.