teleren/devto huggingface dataset:
Abstraction in Object-Oriented Programming
Tags: programming, csharp, dotnet, oop
Published: 2023-12-19 21:22:27

**Abstraction** is an essential concept in **Object-Oriented Programming (OOP)**  It's the process of hiding the internal information of an application from the outside world. Abstraction is used to explain things in simple ways. The abstraction acts as a shield, shielding the clients from the nitty-gritty details of the application's internal mechanisms. It provides a high-level view, presenting only the essential functionalities and characteristics necessary for interaction. It lets developers to focus on key elements by filtering out non-essential details, providing a more generalized view of objects.

**<u>Key Aspects of Abstraction:</u>**

- **Hiding Implementation Details:** Abstraction involves hiding the complicated insides of a class or system, revealing just relevant functionalities or characteristics to the outside world. This assists in managing system complexity and encourages clarity for users while using the system.

- **Defining Interfaces:** It emphasizes developing well-structured interfaces that abstract away complex functionalities behind simplified methods or properties. Users engage with these interfaces without needing to fully understand the complex internal workings.

- **Creating Reusable Models:** Abstraction enables the development of reusable models or templates that reflect important features and behaviors common to multiple objects. This encourages code reuse and scalability in software development.

- **Encouraging Maintainability:** By focusing on key aspects and avoiding unnecessary complications, abstraction promotes code maintainability. Changes made to the underlying implementation of a class don't influence the external code using that class's abstraction.

- **Promoting Problem Solving:** Abstraction promotes a problem-solving approach by allowing developers to focus on high-level design without getting distracted by low-level details. It assists in creating understandable and feasible solutions for complex challenges.

**In summary,** abstraction in OOP enables developers to develop simplified models of complicated systems, highlighting fundamental characteristics while hiding implementation details. This increases clarity, reusability, and maintainability in software design, allowing for more effective problem-solving in the development of software.
Not so good Consistency
Published: 2023-12-19 21:17:26

🥲Sadly, I didn't do much in day 2 & 3, Just basic skincare, GYM and just procrastination & Watching Porn [God knows when I quit this habit 🥲].

On Day 4 

- Prepared for an Interview
- Revised ReactJS & JS Topics
- Sadly, I didn't get selected 
- Learn Blockchain topics - ERC-721, stableCoins, Oracles etc.
- Revised Various JS Topics - First Class Functions, Conditionals, Hoisting, Callbacks functions, Execution Context , window object etc.
- Went to GYM.




Thanks....
Understanding middleware and their utility in Django
Published: 2023-12-19 21:14:32

Django, a popular web framework for Python development, provides a powerful feature called "middlewares" that plays a crucial role in handling HTTP requests. Middlewares act as intelligent filters, allowing developers to adjust the flow of request and response processing in their web applications.

Fundamentals of Middlewares

Middlewares in Django work by intercepting incoming requests before they reach the associated view. On the other hand, they can also intervene after the view is executed to modify the response before it is sent back to the client. This ability to influence the lifecycle of a request offers remarkable flexibility.

Processing Requests and Responses

One of the main uses of middlewares is to process requests and responses. Upstream, they can perform operations such as permission validation, session management, and other pre-view processing logic. Downstream, they can modify the generated response by adding HTTP headers, compressing responses, or performing other manipulations.

Error Handling and Security

Middlewares are not limited to normal request and response processing. Some are specifically designed to handle errors, providing custom responses in case of 404 or 500 errors. Additionally, middlewares play a crucial role in security, protecting against common attacks such as CSRF or XSS.

Modularity and Reusability

Modularity is a key feature of middlewares. By separating concerns related to request and response processing, developers can reuse these components in different parts of their application. This improves code readability and facilitates maintenance.

Conclusion

In conclusion, understanding middlewares in Django is essential for any developer looking to optimize request processing in their web applications. Their ability to customize workflow, handle errors, ensure security, and offer increased modularity makes them a powerful tool in the Django developer's arsenal.
Comprendre les Middlewares en Django et Leur Importance
Published: 2023-12-19 21:10:25

Django, un framework web populaire pour le développement en Python, offre une puissante fonctionnalité appelée "middlewares" qui joue un rôle crucial dans le traitement des requêtes HTTP. Les middlewares agissent comme des filtres intelligents, permettant aux développeurs d'ajuster le flux de traitement des requêtes et des réponses dans leurs applications web.

**

## Les Fondements des Middlewares
**

 

Les middlewares en Django fonctionnent en interceptant les requêtes entrantes avant qu'elles n'atteignent la vue (view) associée. D'autre part, ils peuvent également intervenir après l'exécution de la vue pour modifier la réponse avant qu'elle ne soit renvoyée au client. Cette capacité à influencer le cycle de vie d'une requête offre une flexibilité remarquable.

**

## Traitement des Requêtes et des Réponses
**

L'une des principales utilisations des middlewares est de traiter les requêtes et les réponses. En amont, ils peuvent effectuer des opérations telles que la validation des autorisations, la gestion des sessions, et d'autres logiques préalables au traitement de la vue. En aval, ils peuvent modifier la réponse générée, ajoutant des en-têtes HTTP, compressant les réponses, ou effectuant d'autres manipulations.

**

## Gestion des Erreurs et Sécurité
**

 

Les middlewares ne se limitent pas au traitement normal des requêtes et des réponses. Certains sont spécifiquement conçus pour gérer des erreurs, fournissant des réponses personnalisées en cas de 404 ou 500. De plus, les middlewares jouent un rôle essentiel dans la sécurité, protégeant contre les attaques courantes comme le CSRF ou le XSS.

**

## Modularité et Réutilisabilité
**

 

La modularité est une caractéristique clé des middlewares. En séparant les préoccupations liées au traitement des requêtes et des réponses, les développeurs peuvent réutiliser ces composants dans différentes parties de leur application. Cela améliore la lisibilité du code et facilite la maintenance.

 

**

## Conclusion
**

En conclusion, la compréhension des middlewares en Django est essentielle pour tout développeur cherchant à optimiser le traitement des requêtes dans ses applications web. Leur capacité à personnaliser le flux de travail, à gérer les erreurs, à assurer la sécurité, et à offrir une modularité accrue en fait un outil puissant dans l'arsenal du développeur Django.
CoinsPaid is a payment ecosystem for innovative crypto solutions.
Published: 2023-12-19 20:55:21

CoinsPaid is an ecosystem of multiple innovative solutions for the smooth integration of crypto into business and everyday life. The company caters to both businesses and individuals, providing a variety of customizable crypto tools. Being an EU-licensed crypto services provider, CoinsPaid aims to satisfy the world’s everyday needs using cryptocurrency and creates products that will help people get ready for the new era of digital assets.
Add a script to the HTML header but delay its execution
Published: 2023-12-19 20:39:11

To add a script to the HTML header but delay its execution until later, you can use the `async` or `defer` attribute in the script tag. Both attributes allow the HTML parser to continue parsing the HTML document while the script is being downloaded and then execute the script when it's ready.

Here's an example using the `defer` attribute:
```html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Your Page Title</title>
    <!-- Add your other head elements here -->

    <!-- Add your script with defer attribute -->
    <script defer src="your-script.js"></script>
</head>
<body>
    <!-- Your page content goes here -->
</body>
</html>
```
With the `defer` attribute, the script will be executed in order, after the HTML has been fully parsed. If you have multiple scripts with the `defer` attribute, they will be executed in the order in which they appear in the HTML.
>It's worth noting that the `defer` attribute only works for external scripts (those with a `src` attribute pointing to an external file).

Alternatively, you can use the `async` attribute if the order of script execution is not important:
```html
<!-- Add your script with async attribute -->
<script async src="your-script.js"></script>
```
Scripts with the `async` attribute will be executed as soon as they are downloaded, without waiting for the HTML parsing to complete. Keep in mind that using `async` may not guarantee the order of script execution, so it's suitable for independent scripts.
RECOVER ALL SCAMMED CRYPTO WITH PRO WIZARD GILBERT RECOVERY
Published: 2023-12-19 20:38:29

In the world of cryptocurrencies, a simple mistake can lead to devastating consequences. One such mistake occurred when I accidentally sent my hard-earned Bitcoin to the wrong wallet. The heart-wrenching realization of my error sent me into a state of panic and despair. However, amidst the darkness, a glimmer of hope emerged in the form of Pro Wizard Gilbert Recovery. This article recounts my personal journey, highlighting the impact of sending Bitcoin to the wrong wallet, the frustration and desperation that ensued, and ultimately, the restoration of joy and confidence through the successful recovery of my precious cryptocurrency. Panic struck when I discovered I had sent my bitcoin to the incorrect wallet—a terrible blunder. I contacted Pro Wizard Gilbert Recovery in a desperate attempt to get my hard-earned money back. Their staff took the time to comprehend the specifics of my circumstance and responded promptly. I felt optimistic that I could regain my happiness after their initial evaluation. Following the first evaluation, Pro Wizard Gilbert Recovery's specialists created a recovery strategy customized for my particular situation. Their approach was methodical and purposeful, drawing on their knowledge of bitcoin recovery. Thanks to their extensive experience and understanding, they gave me a clear guide on how to get my lost bitcoin back. 
Pro Wizard Gilbert Recovery led me through the recovery procedure step-by-step. They kept in continuous contact with me, updating me on every development. Their crew demonstrated professionalism and dedication throughout the entire process, from the first investigation to the actual retrieval. It was a team effort, and their openness from the beginning gave me faith in their skills. Pro Wizard Gilbert Recovery examined all possibilities to comprehend the incorrect transaction. They looked closely at every detail, examining the data to find any possible paths to healing. Their remarkable attention to detail gave me confidence that I was in good care. Contact prowizardgilbertrecovery(AT)engineer . com  or Signal username: +1 615-5615816
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/23gpl0arjt2yaw1feo4c.jpeg)
Stimulus Keyboard Event Filter
Published: 2023-12-19 20:20:33

**What it was**
In the last update of Stimulus `v3.2.2`, the ability to filter the event by `PageDown` and `PageUp` keys was added. 

Before that, in `v3.2.1`, it looked like this:

```html
<div data-action="keyup->myController#myfunction"></div>
```
and some like this...
```js
import { Controller } from "stimulus";

export default class extends Controller {
  connect() {
    // Add a keydown event listener when the controller is connected to the DOM
    document.addEventListener("keydown", this.handleKeyDown);
  }

  disconnect() {
    // Remove the keydown event listener when the controller is disconnected
    document.removeEventListener("keydown", this.handleKeyDown);
  }

  handleKeyDown(event) {
    // Access the pressed key from the event
    const pressedKey = event.key;

    // Do something with the pressed key
    console.log(`Pressed key: ${pressedKey}`);
  }
}
```
**What the new**
For now, you can call `page_up`/`page_down` in action, like:
```html
<div data-action="keydown.page_up->myController#myfunction"></div>
```

It appears that the update introduces a more declarative syntax for handling key events in Stimulus. Instead of manually adding and removing event listeners in the controller, you can now specify the key and event type directly in the HTML using the data-action attribute.

For example, in the updated version, the element is set to trigger the myfunction method in myController specifically on a keydown event for the Page Up key. This makes the code cleaner and more readable, emphasizing the intent directly in the HTML markup.
Como eu estudei para certificação AWS Cloud Practitioner e fui aprovada?
Tags: aws, cloud, certification
Published: 2023-12-19 20:16:04

A IBM tem um programa de reskilling onde o gerente te coloca. Após você ter finalizado o roadmap essencial do seu role job.
O meu reskilling, inicialmente foi o de IBM Cloud (falar mais em outro post) eu consegui a certificação de IBM Cloud V1, que é a de entrada para IBM Cloud.
Porém em consulting eu já notei certa tendencia de clientes brasileiros escolherem AWS, Google Cloud Plataform (GCP) ou Azure.
Daí resolvi conversar com meu gerente para trocar meu reskilling de IBM Cloud para AWS. Ele fez a buracria, e comecei meus estudos, segue os links dos cursos que eu fiz, simulados e os videos que usei para revisar tudo para prova:


**Parte teorica + Pratica**

- [Certificação Amazon AWS Cloud Practitioner Foundational 2022 | Udemy](https://www.udemy.com/course/certificacao-aws-cloud-practitioner/)

**Simulado**

- [Certificação AWS Cloud Practitioner - Simulados em Português | Udemy](https://www.udemy.com/course/aws-practitioner-em-portugues/)


**Vídeo de Revisao no dia da Prova:**
[AWS Cloud Practitioner — parte 1 (ft. Thauany Moedano)](https://youtu.be/bGZXVslod5E)

[AWS Cloud Practitioner — parte 2 (ft. Thauany Moedano)](https://youtu.be/NXcvR5TV_Jw)

[AWS Cloud Practitioner — parte 3 (ft. Thauany Moedano)](https://youtu.be/v3D6B_8RYZU)
Apps which will become famous in 2024
Tags: discuss, mobile, android, ios
Published: 2023-12-19 20:08:22

Every once in a while, an app comes about and changes the game. Like for example, Instagram, WhatsApp, YouTube, TikTok etc have transformed a huge part of our lives - how we communicate, share and learn. Every year many such life changing apps come into the market. What apps do you think would transform 2024? I think it might be one of the following apps:

- an app which helps people build a strong and deep sense of community
- an app which lets people learn top skills in seconds or minutes (not hours or days)
- an app which helps people to stick to hard macro habits like working out
- an app which lets people to sell their services and is seller biased rather than being buyer biased

What kind of apps do you think will shake 2024?
Unveiling the Secret Behind Netflix, Google, and Uber's Tech Mastery: gRPC
Tags: grpc, api, dx, programming
Published: 2023-12-19 19:42:35

In the labyrinth of modern technology, where complexity is the norm, how do industry titans like Netflix, Google, and Uber maintain seamless integration within their sprawling internal services? The cornerstone of their success might surprise you: it's an open-source framework known as gRPC.

**The Rising Star of Tech: gRPC**'

gRPC isn't just another buzzword in the ever-evolving tech landscape. It's a powerful tool that's quickly gaining traction among developers. Its growing community of adopters is a testament to its potential and effectiveness.

**A Word of Caution**

But as with any technology, diving headfirst without understanding the implications can be risky. It's vital to weigh the benefits against the potential drawbacks before integrating gRPC into your tech stack.

**Deep Dive into Developer Insights**
To shed light on this, I embarked on an extensive exploration. Sifting through thousands of developer opinions, I've gathered insights that paint a comprehensive picture of gRPC's impact in real-world applications.

**Discover the Truth**

What are the trade-offs? How does gRPC stand up against its alternatives? Is it the right choice for your next project? I've compiled my findings in a detailed blog post, offering a balanced view that goes beyond surface-level hype.

**Ready to Explore?**

Join me in uncovering the realities of gRPC. Whether you're considering adopting it or just curious about its role in big tech, my blog provides the clarity you need.

🔗 Dive deeper here: Unraveling gRPC: Insights and Analysis
Distributed System Lab File Vii Sem
Tags: freecodez, react, html, blog
Published: 2023-12-19 19:21:18

Hey there, You are most welcome to this article.

**Distributed System Lab File Vii Sem**

![Distributed System Lab File Vii Sem](https://res.cloudinary.com/freecodez/image/upload/v1703013677/images/fwsfuugfna4zzlipzk95.webp)

For full source code visit : [https://freecodez.com/post/u1pc9p2](https://freecodez.com/post/u1pc9p2)


```html

```

Source Code : [https://freecodez.com/post/u1pc9p2](https://freecodez.com/post/u1pc9p2)

For more such articles visit : [https://freecodez.com](https://freecodez.com/all)
ERROR : "System has not been booted with systemd as init system (PID 1). Can't operate."
Tags: devops, community, opensource, learning
Published: 2023-12-19 18:57:23


I encountered this error when I was setting up docker on my recently installed MXLinux machine.
***This fix is likely to work on Debian-based distros.***

The command was simply to check if docker service is up or not.
```
sudo systemctl status docker
```

It gave me the following error:

![Error message](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gpkfdu47bwougl9agrvg.png)

**OR Is it really an error that needs fixing?**

Try this command:

```
sudo service docker status
```

[Explain this to me](https://dev.to/akshay_khoje/systemd-vs-sysvinit-initializing-the-system-5h71)

## Temporary fix

I figured out a way to fix this temporarily by editing the grub command line arguments by adding the parameter 
`init=/lib/systemd/systemd` besides `splash quite`. You can locate this on a line starting with the `linux` keyword. However, this turns out to be a **temporary fix**. So at every reboot, I needed to repeat this procedure of adding this **init** parameter to the grub edit menu.

## Permanent fix

A little bit of time into fixing this and I learnt that those parameters are actually referenced from the /etc/default/grub file. This file is essentially a key-value pair required to generate the desired configuration during the booting process.

From the /etc/default/grub file, the key(variable) of our attention is `GRUB_CMDLINE_LINUX_DEFAULT`. This variable is passed to the kernel at boot-time. The famous `quiet splash` attributes to disable the log messages and enabling the splash screen are values to this variable.

![/etc/default/grub file before changes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9cx32etw5h48jqs95ruv.png)

Now, we simply have to add the required library that will load the systemd process at every boot by default. Thus, we add a new attribute i.e. the path to the systemd file to the above mentioned variable as follows. *Assuming `quiet splash` already exist there*

`GRUB_CMDLINE_LINUX_DEFAULT="splash quiet init=/lib/systemd/systemd"`


![/etc/default/grub file after changes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hxbjw1728vuh6nc4p3ev.png)

The final step is to reboot the system.

```
sudo reboot
```

Try the systemctl command again:


![Post reboot it works](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lngly4v2kttbevv40q08.png)

See, it works on my machine ;)
Project Nineteen: Emoji
Tags: webdev, beginners, challenge, codingquokka
Published: 2023-12-19 18:50:04

🎄 Ho-ho-ho! Christmas is almost there and I hope you're all ready to spread the holiday cheer 🎉 

Which in written form wouldn't be possible without emojis!😍

Oh, those little pictures can make or break a relationship! A plain message without them sounds very serious and in some cases even angry 😅

Any more or less informal communication pretty much requires emojis - comments, posts, messages - you name it. 

So what do you say about implementing an emoji keyboard and diving a bit into unicode symbols?

## Emoji Keyboard: requirements and recipe

> As a user I want to be access a table of available emojis so that I would be able to quickly pick and use one

The best example I can think of is Slack's implementation:

![Slack emoji keyboard with search bar showing "Smiley and people"](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iwzmurl0sx1by8jbsctc.png)

Of course, you don't need to neither support all the features it has nor limit yourself, as long as the keyboard meets the requirements:

### Requirements

1. User should be able to open and close emoji keyboard
2. User should be able to see all available emojis
3. User should be able to search through them
4. Keyboard should be accessible: i.e. all the labels should be present and navigation should be possible through keyboard

### Recipe

1. Create static layout for emojis table
2. Add 3-4 emojis
3. Implement logic of adding selected emoji to a e.g. textarea 
4. Add a search bar
5. Ensure accessibility
6. Store all available emojis in an object
7. Implement search functionality
8. Add the appear/hide toggle
9. Enjoy 🤩

### Hints

You can find all emojis, their names and codes in various [unicode lists](https://unicode.org/emoji/charts/full-emoji-list.html).

You can use `Object.keys` to get all available keys from a record to search by prefix or using a more complicated algorithm like *soundex*.

## Hard Mode: Emoji Shortcodes

Slack, Github, Dev.to and plenty other services also allow users to type a special code for an emoji, e.g. `:star:` would turn into a "⭐".

I find this feature very useful! Much faster than using a full blown keyboard:

![Slack input with ":hear" typed and all sorts of heart emojis shown](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/my72ils8zb8tum8al46s.png)

Not to mention that such renderer can be extended to support custom emojis :sunglasses:

Share your creations and feedback and see you tomorrow!

Liked the idea a lot and would love to have it all year long?

[![Buy Me A Coffee](https://cdn.buymeacoffee.com/buttons/v2/default-red.png)](https://www.buymeacoffee.com/valeriavg)
Adventofcode 🎄: Day 19 - React's logo
Published: 2023-12-19 18:48:50

At it's core, React draws an inspiration from the principles of Atomic design patters. In this design, "atoms" represent the smallest building blocks - think buttons, labels, and the like. As we move up the hierarchy, "molecules" emerge, forming cohesive functional units by combining these atoms. Further up the chain, "organisms" take shape as collections of molecules, defining distinct sections of the user interface, such as the navbar.

In essence, React's brilliance lies in its orchestration of these design elements. It ingeniously leverages the reuse of atoms across various molecules and molecules within diverse organisms, embodying a modular and efficient approach to building dynamic and scalable user interfaces. 

**This is exactly what the React logo presents!!**