teleren/devto huggingface dataset:
Should you learn jQuery in 2021?
Tags: javascript, jquery, frontend
Published: 2021-03-31 21:45:25

Back in the day, Microsoft Internet Explorer was the most popular web browser. It was awful at following web standards. **Often, you had to code everything twice: one for standard-compliant browsers, and another for IE.**

When jQuery first appeared in 2006, it allowed developers to code only once. The library itself took care of browser compatibility. That made jQuery the most popular JavaScript library of its time.

Not only that, but it also was easier to use than the standard DOM. You could do with jQuery tasks that require complex logic if you used vanilla JS.

However, things have changed. Internet Explorer is no longer with us, and **practically every browser follows the standards to the letter. Also, standards have improved and became simpler**. And that brings the question: is it worth learning jQuery in 2021?

It's good to know jQuery and there are still use cases for it. However, **you should not spend a lot of time learning it.** jQuery should not be your focus this year.

The biggest advantage of jQuery now is that **you can manipulate the DOM with less code**. Yes, now the DOM has new features to make things easier, like `document.querySelector` or `fetch`.

Yet still, the DOM is quite verbose. There are still quite a few tasks that require a lot of code if you want to go vanilla.

The thing is, if you are working on a small project, it's not worth adding an extra library. And if you have a big project with lots of DOM modifications, you'll probably need a UI framework like React, Vue.js, and friends.

**If you do complex tasks and do the DOM changes yourself (either with jQuery or using vanilla JS), it can easily lead to unmaintainable code.**

The big advantage of modern UI frameworks is that the framework itself takes the responsibility of changing the DOM, so you can focus on the business logic and declare how to display content on the page.

Also, jQuery isn't hard to learn. If one day you have to work on a project that uses it (and there are many of them out there), **you can learn the library on the go.** That's how I learned it 10 years ago! Just google a cheat sheet (I recommend [this one](https://oscarotero.com/jquery/)) and you'll be fine.

----

p.s. Did you like what you've read? Every week I send an email with free tips and insights to become a better JavaScript dev. If you're interested, [https://nicozerpa.com/newsletter/](click here to subscribe).
Pandas in the Pandaemic. (COVID-19 in — Scotland statistics) Part 2
Tags: pandas, python, covid19, datavisualization
Published: 2022-02-08 17:24:10

---
title: Pandas in the Pandaemic. (COVID-19 in — Scotland statistics) Part 2
published: true
date: 2021-03-31 21:38:34 UTC
tags: pandas,python,covid19,datavisualization
canonical_url: 
---

[![](https://cdn-images-1.medium.com/max/680/0*BdAoVR-thPf14MjX)](https://vallka.medium.com/pandas-in-the-pandaemic-covid-19-in-scotland-statistics-part-2-c8d41c94fb07?source=rss-b12a2c268778------2)

This is the 2nd part of the exploration of pandas package. Part 1 can be found here…

[Continue reading on Medium »](https://vallka.medium.com/pandas-in-the-pandaemic-covid-19-in-scotland-statistics-part-2-c8d41c94fb07?source=rss-b12a2c268778------2)
Property Management Company Program
Tags: java, programming, software, propertymanagement
Published: 2021-03-31 21:34:02

I have been working on this programming this week, it is a property management company software that a company can use to monitor and track tenants of a given property in location x. The client can add a house by name, rent fee, tenant, and it will calculate the total management fees from all the tenants, total rent collected, a tenant who pays the highest rent, and so much. I'm adding more features to this project to make it even much more flexible, fancier, and efficient to user's needs.
SAMPLE OUTPUT:
<img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wd9ag0veqjm56ppxfv54.jpg"/>
Comment envoyer des emails en utilisant Python
Tags: python, security, programming
Published: 2021-03-31 21:19:25

L'envoie d'emails en utilisant python est très simple, vous pouvez le faire en suivant les étapes suivantes:

1.**Importez la librairie `smtplib`**
```
import smtplib
```
2.**Définissez des constantes de vos identifiants (email et mot passe)**

```
MY_EMAIL = 'testdeveloppement76@gmail.com'
MY_PASSWORD = 'agent007'
```
ici j'utilise une adresse email et un mot de passe de test. Je vous recommande de faire de même car vous devriez activez **Accès moins sécurisé des applications** dans les paramètres de sécurité de votre compte tel que décrit de la façon suivante:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w1c24t87y53pb1a3kg6v.png)

3.**Ouvrez une connexion smpt**
```
connexion = smtplib.SMTP('smtp.gmail.com')
```
puisque nous utilisons une adresse *gmail*, nous nous connectons à un server d'adresse gmail : **smtp.gmail.com**

4.**Etablissez une connexion Sécurisée**

Pour établir une connexion sécurisé, on utilise la ligne suivante:
```
connexion.starttls()
```

5.**Connectez vous avec vos identifiants**

```
connexion.login(user=MY_EMAIL, password=MY_PASSWORD)
```

6.**Envoyez votre mail**

```
connexion.sendmail(
        from_addr=MY_EMAIL,
        to_addrs=MY_EMAIL,
        msg='Subject: Salutation\n\nBonjour le monde!'
    )
```

On utilise *\n\n* pour séparer le sujet du corps de l'email afin que celui-ci ne soit pas ajouter à liste de spams.

Ici nous envoyons un email à notre propre compte gmail.

7.**Fermez la connexion**

```
connexion.close()
```

Ce code permet de fermer la connexion smtp précédemment ouverte.

### Code complet

```
import smtplib

MY_EMAIL = 'testdeveloppement76@gmail.com'
MY_PASSWORD = 'agent007'

with  smtplib.SMTP('smtp.gmail.com') as connection:
    connection.starttls()
    connection.login(user=MY_EMAIL, password=MY_PASSWORD)
    connection.sendmail(
        from_addr=MY_EMAIL,
        to_addrs=MY_EMAIL,
        msg='Subject: Salutation\n\nBonjour le monde!'
    )
```
Ce code est plus élaborer car ici nous fermons la connexion de façon automatique.

Merci d'avoir lu et à la prochaine pour un nouvel article 👋.
The Day You Become a Better Programmer.
Tags: computerscience, programming, beginners
Published: 2021-03-31 21:07:50

Tutorials won't make you a good programmer. I went from a copy-cat programmer to a good programmer in 6 months. No online tutorial will teach you this. The first trait of a good programmer is that he understands fundamentals well.

*Programme* is to the *computer* what *sex* is to *masturbation*. Understanding how computers work will improve your thinking process. You will not be the same person again. You will look at machines differently.

Here is my list of topics to master the fundaments.

1. **Computer Hardware**. Just using just NAND gate you can build an entire computer. Understand how Latches help in storing states. How CPU is build using Adders. These things won't make you a good programmer but will give you a big picture.

2. **Operating System**. Understanding Operating Systems will make you a good programmer. What Processes and Threads are? How Kernel works. What systems commands are. After understanding these concepts you will know why they designed Node.js as single-threaded.

3. **The Internet.** What is the Internet? What TCP/IP protocols are. Why they are backward compatible. Why we use IPv6 instead of IPv4, HTTP/2 over HTTP/1.

4. **Algorithms.** Now you can't escape this monster. But this time learn algorithms to understand it. To challenge old algorithms. They are meant to be challenged and redesign.

Just these topics. You don't need to master all these. Just understanding them will change your thinking. Instead of using other people's tools, you will build your own tool when needed. That's it.
WFH vs office setup! Share them!
Tags: discuss, watercooler, wfh, setup
Published: 2021-03-31 20:36:09

Hey Everyone 👋

So I have recently been going to the office for 1-2 days/week, as some restrictions were lifted off.

(Hoping that everyone is staying safe)

Had the chance to finally work from my office setup after a long time.

Here is what my **WFH** setup looks like:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w0vpsbickzki5qpcjutu.JPG)

Compared to my setup at the **Office**

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mvzkwrch1kp6ufdondfx.png)

Would love to see what you guys have as your WFH setup, feel free to share them 👇
Keeping Your Fork Up-to-date
Tags: opensource, beginners, git
Published: 2021-03-31 20:13:26

When you fork a repository, you are creating your own copy to manage. Development will continue on the main repository so your fork may fall behind. 

## Today's quick lesson:

Keeping your forked repository up to date with the main repository

## Steps

1. Clone your fork
`$ git clone git@github.com:[user]/[repo].git`

2. Add the upstream
`$ git remote add upstream git://github.com/[user]/[repo].git`

3. Get the latest upstream
`$ git fetch upstream`

4. Bring your fork up to date using `merge` OR `rebase` 
(pick **one**, you can read more about the differences [here](https://www.atlassian.com/git/tutorials/merging-vs-rebasing))
`$ git merge upstream/[remote-branch] [local-branch]`
-OR-
`$ git rebase upstream/[remote-branch] [local-branch]`

Done! 🎉 Your local fork is now up to date. For future updates, you will only need steps 3 and 4 as you have already established the upstream. 

I hoped this helped you. If there are other quick tips you'd like, or more in depth topics you'd like me to cover, leave a comment or reach out to me, [@giannelli.tech](https://twitter.com/GiannelliTech)

Thanks for reading! 👩‍💻


<span>Photo by <a href="https://unsplash.com/@yancymin?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Yancy Min</a> on <a href="https://unsplash.com/s/photos/github?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></span>
Codeddit community
Published: 2021-03-31 19:36:02

Join Codeddit community , here you can challenge your friend in any programming language QUIZS , you can also run your HTML, css, js code and customise your post with HTML , you can ask questions there , I have also been using it
try it out 
https://play.google.com/store/apps/details?id=com.codedditapp.codeddit
Adding twitter tags to your NextJS blog
Tags: twitter, nextjs, seo
Published: 2021-03-31 19:35:54

Images on your twitter posts will increase the interaction of your tweets, that's a fact. You like blogging on your brand new NextJS website and you would like to share it on twitter. But you realize that your blog url does not look like this card style:
![Screenshot_2021-03-31_22-02-28](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/17e6tvvt9diday3dhrig.png)

In order to solve this problem you need to have twitter tags in the `<head></head>` of your page. So how do we manage this in `NextJS` ?

We can add `<Head>` tag to our component's return portion.
```JS
import Head from 'next/head';

export default function example() {
  return (
    <div>
      <Head>
        <title>My site title</title>
      </Head>
      <h2>My awesome content</h2>
    </div>
  );
}
```
Whatever we put inside the <Head> tags will be available on the document's head section. So we can add our twitter tags here. But as a better option, we can use `next-seo` package to handle this problem.


```bash
npm i next-seo --save
```

Now let's create a component called `Seo.js`

```JSX
// components/Seo.js
import { NextSeo } from 'next-seo';

export default function Seo({ post }) {
  const { title, excerpt, slug, coverImage } = post;
  return (
    <>
      <NextSeo
        title={title}
        description={excerpt}
        canonical={`https://myawesomewebsite.com/blog/${slug}`}
        openGraph={{
          type: 'website',
          url: 'https://myawesomewebsite.com',
          title: `${title} | originally posted on myawesomewebsite.com`,
          description: excerpt,
          locale: 'en_EN',
          images: [
            {
              url: coverImage,
              width: 800,
              height: 600,
              alt: `hero image for ${title}`,
            },
          ],
          site_name: 'myawesomewebsite.com',
        }}
        twitter={{
          handle: '@myawesometwittername',
          site: 'myawesomewebsite.com',
          cardType: 'summary',
        }}
      />
    </>
  );
}
```

After editing the fields with your own data you can import this component to your blog component. Notice that we are passing the data as a prop to the `Seo.js` component and dynamically rendering the meta data. This component can be very useful with dynamic routing in NextJS.

```JSX
import Seo from '@components/Seo';

export default function example() {
  const post = {
    // ...
  };
  return (
    <div>
      <Seo post={post} />
      <h2>My awesome content</h2>
    </div>
  );
}
```

And that's it. You can check if your url is working as expected from [this card validator](https://cards-dev.twitter.com/validator).

I hope you find this tutorial helpful. You can find me on [twitter](https://twitter.com/uguremirmustafa) where I share daily content related to web development and especially on NextJS.
8 Ultimate ressources for learning Web Dev in 2021 #1
Tags: javascript, webdev, git, css
Published: 2021-03-31 19:08:18

Hey friends ! I'm sharing with you a lot of ressources about web developper that will help you to improve your skills and save your time !

## Git 🔧

As you know as web developper Git is an essential tools.

https://learngitbranching.js.org/

It's the best tool about learning Git ! If you have any issue about learning git, go into this ! You will not regret I promise you.

## CSS 🎨

Three important things about CSS is :

#### CSS Selector 

https://flukeout.github.io/

Learn how CSS Selector works with animation !

#### Grid

https://cssgridgarden.com/

Learn Grid CSS as gardener !

#### Flexbox

https://flexboxfroggy.com/

Learn Flexbox in CSS as a Frog !

## VIM 📝

Learn about this famous text editor across a game ! Yes in fact it's possible !

https://vim-adventures.com/

## Regex 🔣

Who loves and know 100 % about Regex ? Yes it's a pain to learn this and apply them.

Across these both ressources you will :

#### Learn Regex

https://regexone.com/

#### CheatList about Regex Pattern (email, password, phone number, ect..)

https://ihateregex.io/

## Javascript 🖥️

Just one ressource about Javascript, I will share with you the BEST ressource about learning javascript `Properly`

https://javascript.info/


---

I hope you like this reading!

🎁 You can get my new book `Underrated skills in javascript, make the difference` for FREE if you follow me on [Twitter](https://twitter.com/code__oz) and MP me 😁

Or get it [HERE](https://codeoz.gumroad.com/l/RXLYp)

🎁 [MY NEWSLETTER](https://www.getrevue.co/profile/code__oz)

☕️ You can [SUPPORT MY WORKS](https://www.buymeacoffee.com/CodeoZ) 🙏

🏃‍♂️ You can follow me on 👇

🕊 Twitter : [https://twitter.com/code__oz](https://twitter.com/code__oz)

👨‍💻 Github: https://github.com/Code-Oz

And you can mark 🔖 this article!
One of the advantages of switching to a completely new code
Tags: unity3d, gamedev, shader, code
Published: 2021-03-31 19:33:36

The new code provides competent mechanics. Previously, the pen had strange reflections. The problem was in the 2D rendering of Unity itself: the glass shader did not work with "sprite-render" if the layer in the sprite was greater than 1.
Refraction works with new code.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/457ud49fpudm3vivey7n.gif)

The game is still in development support me :)
https://twitter.com/PAPERTANKS2
https://www.youtube.com/channel/UChy9stkBBtr9ZIakwD5Hwd
https://store.steampowered.com/app/1213020/PAPER_TANKS/
Pros and Cons of Web and Native Mobile Development
Published: 2021-03-31 19:28:34

As with everything in life, both web and native mobile development have their advantages and disadvantages, and in today's blog post I'd like to go over a few of them for each. Some of these are objective, and some are just the opinions of a junior developer. I'll begin with web mobile development, as that was one of the first fields I learned in college. 

The first pro of web mobile development is that it is accessible on both a computer or a mobile device, whereas a native application would be accessible only on mobile devices. The second pro is that they aren't restricted by the play store or app store. This gives developers full creative freedom on what they're developing, as well as the freedom to. The final pro I will go over today is that web applications don't need to be installed, you're able to access them instantly on your browser.

Now it's time for the cons of web mobile development. You'll notice that both the pros and cons are just two sides of the same coin. For starters, the first con I'll talk about is that they don't run as well and aren't as optimized as native applications on mobile devices. A native app on mobile can perform actions much quicker, and overall just run smoother. The second con is that unless it's an absolutely incredible and well marketed web app, it will generally not gain as much traction due to the fact that it isn't advertised on the play/app store. Finally, the last con I'll talk about is web applications require internet to access, whereas native applications don't (unless they need to connect to a server).

Moving onto native mobile development, the first pro I'll touch on is that native apps have overall better performance than web applications. This is largely due to the fact that they don't rely on browsers, which have inferior performance compared to a native application. The second pro is that native development allows developers to use the full features of their selected operating system. Finally, the last pro I'll talk about is that the user experience of native applications is generally superior to the user experience of a web application, due to the fact that mobile operating systems have their own specific UI guidelines and standards.

Onto the disadvantages of native mobile development, I'll start with the fact that they're generally more difficult to develop, meaning that sufficient experience is necessary before you even begin. The second disadvantage is that developers have much less freedom when developing native compared to web, due to the fact that mobile operating systems have specific UI guidelines and standards. Finally, the last con I'll talk about is that updating a native application takes considerably longer than its web counterpart. This is because developers have to submit the update to the app/play store, whereas you can freely update your own web application.

There are plenty more pros and cons for both, but I hope this information gives you an idea of the differences between the two.
EXTENSION - Inférence dynamique de champs personnalisés
Tags: blog
Published: 2021-07-19 00:11:19

---
title: EXTENSION - Inférence dynamique de champs personnalisés
published: true
date: 2021-03-31 19:19:15 UTC
tags: Blog
canonical_url: https://alexandre-elise.fr/blog-developpeur-joomla/chocochamps
---

![](https://alexandre-elise.fr/images/brooke-lark-ywv6hrtgsf8-unsplash.jpg)

Salut! Super Joomlers

> Le concept d'inférence dynamique de champs personnalisés:

Tenter de "déduire" le type de champ personnalisé à créer dynamiquement en fonction de l'API mise en cache.

Infé quoi ? Pensez-y comme à des "Choco Fields" ! Chocolate Custom Fields, le sucre synthaxique autour de la création de champs personnalisés enveloppé dans la crème glacée de l'api en cache.

Pensez-vous que c'est un poisson d'avril ? Bien sûr ! Mais cette extension est réelle.

Découvrez "Choco Fields"

<!-- Free download -->
[Télécharger](https://github.com/alexandreelise/plg_system_chocofields "Télécharger")
<!-- Contact me -->
[Contacter Alexandre](https://coderparlerpartager.fr/contact "Contactez votre spécialiste en code sécurisé pour Joomla!")
Phalcon v5.0.0 Alpha 1 Released!
Tags: phalcon, phalcon5, release
Published: 2021-03-31 18:49:34

---
title: Phalcon v5.0.0 Alpha 1 Released!
published: true
date: 2021-03-31 18:21:15 UTC
tags: phalcon,phalcon5,release
canonical_url: 
---

We are very happy to announce the release of Phalcon v5.0.0 Alpha 1!

[Github Tag](https://github.com/phalcon/cphalcon/releases/tag/v5.0.0-alpha.1)

This is the first release in the v5 series. Although there is still a lot of work to be done until we reach the stable release, we are releasing this version now to get as much feedback from the community as possible.

> This release requires PHP 7.4 or PHP 8.0

> We are still working on the Windows DLLs. For our friends using Windows, please be a bit patient. They will be introduced in subsequent versions of v5.

Huge thanks to our contributors that reported issues, offered input as well as submitted pull requests with additions and corrections!

NOTE: You can always check our roadmap and the status of our active sprint for v5 in our project page: [https://github.com/orgs/phalcon/projects/4](https://github.com/orgs/phalcon/projects/4)

# Changelog

## Fixed

- Support for PHP 7.4 and PHP 8.0
- Fixed `Logger\Log::log()` `log` to recognize all log levels [#15214](https://github.com/phalcon/cphalcon/issues/15214)
- Changed `setClaims` to be protected so that the `Phalcon\Security\JWT\Builder` class can be properly extended. [#15322](https://github.com/phalcon/cphalcon/issues/15322)
- Fixed `Phalcon\Mvc\Model::average()` to return `float` value when is `string` [#15287](https://github.com/phalcon/cphalcon/pull/15287)
- Fixed `Phalcon\Storage\Serializer\Igbinary` to store `is_numeric` and `bool` values properly [#15240](https://github.com/phalcon/cphalcon/pull/15240)
- Fixed `Phalcon\Validation\Validator\Confirmation` was failing to compare cases such as 000123 = 123 [#15347](https://github.com/phalcon/cphalcon/pull/15347)
- Fixed `Phalcon\Storage\Adapter` failing to retrieve empty like stored data (such as [], 0, false) [15125](https://github.com/phalcon/cphalcon/issues/15125)
- Fixed declarations for `function getEventsManager()` to allow null return [15010](https://github.com/phalcon/cphalcon/issues/15010)
- Removed underscore from method names (starting) to abide with PSR-12 [15345](https://github.com/phalcon/cphalcon/issues/15345)
- Fixed `Phalcon\Flash\Session::has()` to properly check if any messages are existing [15204](https://github.com/phalcon/cphalcon/issues/15204)