teleren/devto huggingface dataset:
Migrating to Python 3.7 and Django 3.2
Tags: django, python
Published: 2023-01-31 10:04:01

Last year we migrated our product to Python 3.7 and Django 3.2. from Django 1.11 and Python 2.7. It was a hard road, but it made us grow professionally and gave us deep knowledge of these technologies that we would like to share with you.

**Purpose and starting point**
Athento is a complex product that has been under development and evolution for several years. Until now, Athento’s technology stack was based on Django 1.11 and Python 2.7, versions of these technologies that we needed to renew. In addition to the support issues we faced when using technologies that were already a few years old, we had limitations in terms of the functionality we could offer to our customers: many of the packages and libraries we wanted to use to implement cool features required newer versions of these technologies. Although we often managed to find a workaround, the time had come: we had to upgrade.

Our starting point was a product in these technologies, with a hundred installations. We had to upgrade the technological stack with the least impact on the more than 10K users who work with Athento daily. More than 230,000 lines of code to migrate, 80+ Django apps, and an additional challenge: to continue providing support to our customers, applying fixes, and implementing some new features in the old version of the product.

**Analysis and start**
Our first steps were to evaluate the strategy to follow and the upgrades we were going to apply, and in what order. None of us had done an upgrade of this caliber before. It was clear to us that any plan we might devise at this point was going to be subject to change and that we needed to be flexible and patient in trying new ideas. Our first question was: Python first or Django? or both at the same time?

We solved this question by studying compatibilities.  We found that Django 1.11 supported Python versions up to 3.7. Having Python 3.7 allowed us to increase our Django version up to 3.2. While not the most modern versions of these technologies, they were a vast improvement to the versions we had with probably less effort than it would take to migrate to more modern versions. In addition, the candidate versions of Python and Django already had enough experience and background to give us peace of mind. So we decided to migrate the entire project to Python 3.7 with Django 1.11 and, in a second step, to migrate from Django 1.11 to Django 3.2.


[Access the rest of this article from our website athento.com](https://www.athento.com/migrating-athento-to-python-3-7-and-django-3-2/)
Unlocking the Power of Networking: A Guide to Connecting and Communicating in the Digital World"
Tags: networking, computerscience
Published: 2023-01-31 10:00:00

Networking is the backbone of the modern digital world, allowing devices and systems to communicate and share information. Understanding networking is crucial for building robust, efficient, and connected software and systems. In this article, we'll explore the importance of networking, how it affects other areas of computer science, and what it is.

---

First, let's talk about why networking is important. Networking allows devices and systems to connect and communicate with one another, enabling the exchange of information and the sharing of resources. This enables users to access information and services from anywhere, and allows systems to work together to achieve a common goal. Without networking, our digital world would be limited and disconnected.

Networking also plays a crucial role in the performance and security of a system. The way data is transmitted and received over a network can have a significant impact on the performance of a system. Additionally, securing network communication is essential to protect sensitive information and prevent unauthorized access.

In addition to its importance for individual systems, networking also affects other areas of computer science. For example, it is a key aspect of operating system design, as the operating system is responsible for managing network connections and ensuring that they are performed efficiently. Networking also plays a crucial role in distributed systems, where multiple machines work together to perform a task, and in the design of embedded systems, where real-time requirements and limited resources make efficient networking critical.

So, what is networking? Networking is the practice of connecting and communicating between devices and systems through the use of network protocols. This includes both hardware and software components, such as routers, switches, and network protocols like TCP/IP. Networking allows devices to connect and communicate with one another, enabling the exchange of information and the sharing of resources.

---

In conclusion, networking is the backbone of the modern digital world, allowing devices and systems to communicate and share information. Understanding networking is crucial for building robust, efficient, and connected software and systems. Networking allows devices and systems to connect and communicate with one another, enabling the exchange of information and the sharing of resources. Additionally, networking plays a crucial role in the performance and security of a system. By mastering the art of networking, we can unlock the full potential of our digital world and ensure optimal performance, security and connectivity. So, let's dive deeper into the world of networking and unlock its true potential.
What is globus bank transfer code 2023
Published: 2023-01-31 09:56:58

[https://www.bankfanz.com/globus-bank-transfer-code/](https://www.bankfanz.com/globus-bank-transfer-code/#utm_source=backlinks&utm_medium=search&utm_campaign=darry+ring+us&utm_content=Michelle)

https://plaza.rakuten.co.jp/globusbankcode1/diary/202301310000/
https://www.provenexpert.com/what-is-globus-bank-transfer-code-20232/
https://www.producthunt.com/@bank_globus
https://www.divephotoguide.com/user/globusbankcode2
https://wakelet.com/@Whatisglobusbanktransfercode2023216
https://vocal.media/authors/what-is-globus-bank-transfer-code-2023-hhadt0op3
https://www.lifeofpix.com/photographers/globusbankcode2/
https://seedandspark.com/user/what-is-globus-bank-transfer-code-2023-1
https://rosalind.info/users/globusbankcode2/
http://phillipsservices.net/UserProfile/tabid/43/userId/196619/Default.aspx
https://app.roll20.net/users/11575124/what-is-globus-bank-transfer-code-2
https://speakerdeck.com/globusbankcode2
https://social.msdn.microsoft.com/Profile/What%20is%20globus%20bank%20transfer%20code%202023%202
https://camp-fire.jp/profile/globusbankcode2
https://plazapublica.cdmx.gob.mx/profiles/globusbankcode2/activity
https://www.metal-archives.com/users/globusbankcode2
https://storium.com/user/globusbankcode2023
https://trabajo.merca20.com/author/globusbankcode2/
https://www.intensedebate.com/profiles/globusbankcode2
https://www.mifare.net/support/forum/users/globusbankcode2/
https://pinshape.com/users/2564678-globusbank2
http://foxsheets.com/UserProfile/tabid/57/userId/119413/Default.aspx
https://www.kompasiana.com/globusbankcode2
https://www.credly.com/users/what-is-globus-bank-transfer-code-2023.e7dc01d7/badges
https://www.myminifactory.com/users/globusbankcode2
https://www.sqlservercentral.com/forums/user/globusbankcode2
https://www.longisland.com/profile/globusbankcode2
https://www.zintro.com/profile/what-is-globus-bank-transfer-code-2023-2
https://guides.co/a/what-is-globu-2529
https://myanimelist.net/profile/globusbankcode2
Container Security For NodeJS Applications
Published: 2023-01-31 09:54:57

Attention all developers and DevOps and DevSecOps professionals!

Are you building node based apps and utilising containers ???

Want to ensure the security of your containers while keeping them lightweight and fast? Look no further than Node Alpine Container Images!

These images, based on the Alpine Linux distribution, offer a smaller attack surface with fewer vulnerabilities compared to larger, more feature-rich images. Alpine Linux is known for its small size and security-focused approach, making it the perfect choice for containers.

> An image showing a debian based node 14 image and its equivalent alpine node 14 image.
![Node 14 debian security scan result](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lgdkikxl35gfi9py29jm.png)

![Node 14 alpine security scan result](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6pa5uyb4h474pkaxs0sb.png)

In addition, Node Alpine Container Images include only the necessary libraries and dependencies, reducing the risk of known vulnerabilities and minimising the need for regular security updates. This makes it easier to manage your containers and reduces the risk of security breaches.

So if you're looking for a secure, efficient, and lightweight solution for your container needs, switch to Node Alpine Container Images.

PS: Not saying Alpine is 100% secured, in-fact some other security tool finds few vulnerabilities on this same alpine image in my post, but it's drastically reduced when compared to other node images and when making the switch ensure that you test your application again to ensure you don't have broken features due to the change in container images.

 #Containers #Security #NodeAlpine #DevOps #DevSecOps #appsec #linux #building #alvacoder
What is the Local Storage for?
Tags: webdev, beginners, database, browser
Published: 2023-01-31 09:54:29

The first time I heard about **local storage** was when I joined [The Collab Lab](https://dev.to/the-collab-lab/the-collab-lab-tcl-49-recap-429d) to build an app with other developers. We created “Shoppr.”, a Smart Shopping List app, that learns users' buying habits and helps them remember what they are likely to need on their next trip to the store. 

![Shoppr. app preview](https://community.codenewbie.org/remoteimages/uploads/articles/32o8qmd6o0lgxf7rka07.png)

Users can create a shopping list and start entering items. Each time users buy an item, they can mark it as purchased. The app will understand the intervals at which they buy different items over time.

Try it out [here](https://tcl-49-smart-shopping-list.web.app/)! 

## What does local storage have to do with Shoppr.?

The app preview offers 2 possibilities: users can create a new shopping list or enter a 3 word token to access an existing shopping list. Let's say I am a new user and don't have a token, so I will need to create a new list. What happens when I click on the “create list” button? I get redirected to the “Add Item” screen. But what happens behind the scenes?

One of the technologies involved to create the Shoppr. app is **Firebase**, a Google platform that provides different services like Cloud Firestore, which helps storing and synching real-time data (in this case, stores tokens and list items)

As soon as I want to create a new list in the Shoppr. app, I automatically get a new token but, where is it? There are 2 ways to find the token: one of them is checking the Firestore Database in Firebase and another one is checking the local storage in the browser dev tools under **Application > Local storage**. 

![Local Storage overview](https://community.codenewbie.org/remoteimages/uploads/articles/7fwuz186dsi09gzupiui.gif)

What is happening here? As you can see, **the browser provides something called local storage, which saves data as key-value pairs**, in this case my list's 3 word token. These key-value pairs are an object, which we can inspect on the console by typing localStorage. This will display an object with a key (tcl-shopping-list-token) and a value (my token) 

![Local storage object](https://community.codenewbie.org/remoteimages/uploads/articles/yj1d50mrnlwrh0tgv1fm.png)

Unlike session storage, **local storage data doesn't expire**. If I close the browser, the local storage will continue storing data, meaning, my shopping list will remain open.

I learnt a lot by building the Shoppr. app. As you see, not everything was about writing code. In order to understand the whole context, it is good to dig into some behind the scenes concepts 😉

![Learning by doing quote](https://community.codenewbie.org/remoteimages/uploads/articles/vlxpwdr3h1549um0gwpv.png)
what date neco will start
Published: 2023-01-31 09:45:24

[https://multischolar.com/neco-timetable/](https://multischolar.com/neco-timetable/#utm_source=backlinks&utm_medium=search&utm_campaign=darry+ring+us&utm_content=Michelle)
https://plaza.rakuten.co.jp/chenlee/diary/202301300003/
https://www.provenexpert.com/what-date-neco-will-start/
https://www.producthunt.com/@necowill2
https://www.divephotoguide.com/user/necowill/
https://wakelet.com/@necowill
https://vocal.media/authors/necowill
https://www.lifeofpix.com/photographers/necowill/
https://seedandspark.com/user/necowill
https://rosalind.info/users/necowill/
http://phillipsservices.net/UserProfile/tabid/43/userId/196579/Default.aspx
https://app.roll20.net/users/11574704/necowill
https://speakerdeck.com/necowill
https://social.msdn.microsoft.com/Profile/necowill
https://camp-fire.jp/profile/necowill
https://plazapublica.cdmx.gob.mx/profiles/necowill/activity
https://www.metal-archives.com/users/necowill
https://storium.com/user/necowill
https://trabajo.merca20.com/author/necowill/
https://www.intensedebate.com/profiles/necowill
https://www.mifare.net/support/forum/users/necowill/
https://pinshape.com/users/2564692-necowill
http://foxsheets.com/UserProfile/tabid/57/userId/119419/Default.aspx
https://www.kompasiana.com/necowill
https://www.credly.com/users/what-date-neco-will-start/badges
https://www.myminifactory.com/users/necowill
https://www.sqlservercentral.com/forums/user/necowill
https://www.longisland.com/profile/necowill
https://guides.co/a/neco-will/
https://myanimelist.net/profile/necowill
https://www.iheart.com/podcast/269-what-date-neco-will-start-108091764/
Diff of a range of commits in a Github PR
Tags: github, productivity, git
Published: 2023-01-31 09:39:32

Open the tab of "Files changed" in a Github PR:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/is2tcahkqhmx2k62yli9.png)

Open the dropdown "Changes from **all commits**":

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



Then hold [Shift] and click a commit inside the dropdown. Then click again at another commit. The yellow-highlighted items is the range:

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


Then you'll be redirected to a PR's view containing a diff only from the range of the selected commits.
Need another side project idea?
Tags: webdev, programming, beginners, opensource
Published: 2023-01-31 09:33:20

## ⚠️ There has been alot of traffic since this post! If you see a bug, or there isnt a project you want - please feel free to help out! We are open source and would love more developers involved! ⚠️

As a developer, you are constantly on the lookout for ways to improve your skills, learn new technologies and build something meaningful. But sometimes, inspiration can be hard to come by. This is where [100Projects.dev](https://100projects.dev) comes in - a resource for developers looking to find their next side project idea.

This website is a curated collection of over 100 project ideas, categorised by type (Full-stack, games, desktop, backend, etc.), language (Java, Rust, etc.) and difficulty level. Whether you're a seasoned developer or just starting out, you'll find something to suit your skills and interests.

Best of all, [100Projects.dev](https://100projects.dev) is open-source, so anyone can contribute. Whether you want to add a new project idea, contribute code or help fix a bug, there's a place for you. The community is growing and it's a great way to get involved and give back to the developer community. Check out the [web repository](https://github.com/CharlieSay/100-projects-web) and [project content repository](https://github.com/CharlieSay/100-projects-content) on GitHub.

So, what are you waiting for? Unleash your creativity with [100Projects.dev](https://100projects.dev) and discover your next side project idea today.

> Note: If you want to give back to the open-source community and work on an easy interesting project that helps grow developers, check out the open GitHub issues on the [100Projects.dev repository](https://github.com/CharlieSay/100-projects-web). Help make the platform even better for developers everywhere.
P.s - literally no catch here, lets just make developing a better world for everyone.

## Screenshots


![GitHub repository](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9i98tf2eh5v03wnkvagr.png)
![100Projects homepage](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/upvho8g84vy688p0fuk7.png)
![100Projects project page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wm7oba36slbjrampceb1.png)
Have you integrated CrowdSec into your XSOAR platform yet?🔓
Tags: threatintelligence, infosec, opensource, security
Published: 2023-01-31 09:26:49

✅Avoid background noise from the Internet 👉 Reduce the volume of alerts.
✅Have more oversight and information on the attacker.
✅Create a more informed path to remediation and efficient processes.
✅Free up time and resources.

Learn more about the CrowdSec integration [here](https://www.crowdsec.net/blog/cortex-xsoar-marketplace?mtm_campaign=Cortex&mtm_kwd=Org&mtm_medium=DevTo&mtm_content=XSOARarticle).

Or just go directly to the integration [here](https://cortex.marketplace.pan.dev/marketplace/details/CrowdSec/).


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ugm8hv5twogu4ikpm1vh.jpg)
Code Smell | Switch Statements
Tags: codequality
Published: 2023-01-31 09:19:02

Hello, today I am writing again and this post I am going to introduce you to how we incur in a frequently common
code smell called **Switch Statements**, is caused by the abusive use of the switch statements in our code.

> **The use of the switch structure is perfectly valid**
>
> <cite>I do not seek to try to avoid its use in 100% of cases but in a large percentage in which it will harm us.<cite>

---

## Cause

The abusive use of the switch statements.

As I mentioned above, **it is not always advisable to eliminate the switch**, an example of this is the design patterns,
in particular I would highlight the so-called [Factory Method](https://refactoring.guru/design-patterns/factory-method) or
[Abstract Factory](https://refactoring.guru/design-patterns/abstract-factory), it is very frequent to see its use.

---

## Example

Let's see an example of a switch statement that is not very advisable to use:

```ts
type Fruit = 'apple' | 'banana' | 'orange' | 'pineapple' | 'raspberry'

const getFruitEmoji = (fruit: Fruit) => {
  switch (fruit) {
    case 'apple':
      return '🍎'
    case 'banana':
      return '🍌'
    case 'orange':
      return '🍊'
    case 'pineapple':
      return '🍍'
    default:
      return '🍇'
  }
}
```

---

## Solution

We will replace the switch with a simple object which will allow us to search by key.

```ts
type Fruit = 'apple' | 'banana' | 'orange' | 'pineapple' | 'raspberry'

const getFruitEmoji = (fruit: Fruit) => {
  const FRUIT_EMOJI_MAP = {
    apple: '🍎',
    banana: '🍌',
    orange: '🍊',
    pineapple: '🍍',
    raspberry: '🍇'
  }

  return fruitEmojiMap[fruit] 
}
```

I have created a small example to show one of the most common ways to eliminate this smell,
especially in functional programming, the example could be more complicated if instead of emojis with function calls,
but the way to proceed would be the same.

To correct this smell in **object-oriented programming**, it is common to use **polymorphism** if necessary,
_we must always analyze our code beforehand_.

---

## Benefits

- Less code.
- Improves legibility.
- Improves maintainability, you can export this object and use in a others parts of your application.

---

Thanks for reading me 😊
How OpenSea clone script can ease the NFT marketplace development
Tags: opensea, nft, business, technology
Published: 2023-01-31 09:03:00


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


In general, clone scripts are ready to deploy software used for instant software launches. It helps entrepreneurs and startups end to end with customization, technical integrations, and cost-wise. In other words, we can say that it is a one-stop solution for entrepreneurs who are willing to start an online business in a short period of time. It is similar when it comes to the OpenSea clone script.

OpenSea clone script is a prebuilt NFT marketplace solution that has all the salient features and functionalities of OpenSea and security options in it in a predeveloped manner. The entrepreneurs can purchase the OpenSea clone script at less expense and customize it according to their business needs. 

**How it eases the NFT marketplace development:**

- Easy customization
- Readymade solution
- Instant deployment
- Cost-effective
- End-to-end customization
- Easy integrations
- Advanced integrations
- No technical expertise needed
- Advanced auction modules
- Upgradable security options

You can get a feature-rich OpenSea clone script from a reliable NFT Marketplace clone script provider.

Speaking of which, not all the clone script providers offer superfine OpenSea clone scripts, many of them are devils in disguise. They might offer you cheap clone scripts which are not backed with high-end security features. Using such clone scripts will result in massive financial losses. No worries, I have done some analysis considering many factors and curated a list of top NFT Marketplace clone script providers in the crypto realm. You can choose the top clone script providers for the best outcomes.

1. Fire Bee Techno Services
2. Risingmax
3. Coinsqueens
4. Appinop
5. 10clouds

From this top clone script providers list. Fire Bee Techno Services remains in the top position because of its quality NFT marketplace clone script and its promising services.

Get a free demo of their [**OpenSea clone script**](https://www.firebeetechnoservices.com/opensea-clone-script?utm_source=OpSeaCS&utm_medium=forum&utm_campaign=joy) here.