teleren/devto huggingface dataset:
SOLID - Boas práticas para POO
Published: 2024-04-28 15:26:35

Criar sistemas com qualidade pode ser um desafio. Quando utilizamos linguagens com suporte à Programação Orientada a Objetos (POO), podemos desenvolver sistemas que aplicam conceitos como herança, abstração e polimorfismo, reduzindo a duplicação de código e outros problemas que podem gerar débitos técnicos.

O SOLID é um acrônimo que representa princípios que facilitam a manutenção de sistemas. Esses princípios auxiliam o desenvolvedor a criar código limpo e com responsabilidades bem definidas em cada componente, ampliando os benefícios já existentes na POO.

O primeiro princípio é o da Responsabilidade Única (S - Single Responsibility Principle). Neste princípio, uma classe ou método deve ter apenas uma responsabilidade ou motivo para mudar. Por exemplo, um método que salva um item no banco de dados, valida os dados e realiza processamento desses dados antes de salvar viola esse princípio. Seguindo a Responsabilidade Única, o ideal é ter três métodos distintos: um para salvar os dados, outro para validar e um terceiro para processar os dados. Isso garante métodos mais concisos, reduzindo a chance de introduzir bugs ao modificá-los.

O segundo princípio é o Aberto-Fechado (O - Open-Closed Principle). Aqui, um componente deve estar aberto para extensão, mas fechado para modificação. Quando precisamos adicionar ou alterar um comportamento, devemos estender o componente em vez de modificar o código original. Por exemplo, ao calcular impostos, se um novo tipo de imposto é necessário, devemos estender a classe existente em vez de modificar seu código. Isso ajuda a evitar bugs no código existente e a controlar o crescimento do código.

O terceiro princípio é a Substituição de Liskov. Ele estabelece que uma classe filha deve poder substituir sua classe pai sem alterar o comportamento esperado. Isso é fundamental para garantir o uso efetivo do polimorfismo, mantendo uma relação clara entre a classe pai e a classe filha, mesmo com comportamentos internos diferentes.

O quarto princípio é a Segregação de Interfaces. Aqui, uma classe não deve ser forçada a implementar métodos que não utiliza. Por exemplo, se uma interface possui dez métodos, mas uma classe precisa implementar apenas três, é aconselhável criar uma nova interface contendo apenas esses três métodos. Isso evita métodos não utilizados em uma classe e simplifica a manutenção.

O quinto princípio é a Inversão de Dependência, que sugere depender de abstrações em vez de implementações concretas. Isso reduz o acoplamento entre classes, facilitando a substituição e extensão do código.

O SOLID oferece uma maneira eficiente de criar código limpo, fácil de manter e menos propenso a bugs durante as alterações. Compreender bem esses princípios auxilia os desenvolvedores a criar software de qualidade.

Referências: 
https://www.freecodecamp.org/portuguese/news/os-principios-solid-da-programacao-orientada-a-objetos-explicados-em-bom-portugues/

https://medium.com/desenvolvendo-com-paixao/o-que-%C3%A9-solid-o-guia-completo-para-voc%C3%AA-entender-os-5-princ%C3%ADpios-da-poo-2b937b3fc530
Demystifying Hibernate: A Beginner's Journey
Tags: java, hibernate
Published: 2024-04-28 15:16:36

Hey Dev.to community! Today, I embarked on a journey to explore the Hibernate framework, and it's been an enlightening experience. Here's a beginner-friendly overview:

Introduction to Hibernate: Explored the basics of Hibernate and its significance in Java development. Discussed how Hibernate simplifies database interactions by providing a framework for mapping Java objects to relational databases.
Core Concepts: Introduced fundamental concepts in Hibernate, including entities, sessions, transactions, and queries. Discussed how these concepts enable developers to perform database operations seamlessly and efficiently.
Getting Started: Shared resources and tutorials for beginners interested in learning Hibernate. Discussed how to set up a Hibernate project, define entity classes, configure Hibernate properties, and perform CRUD operations.
Overall, my journey into Hibernate has been eye-opening, and I'm excited to continue exploring its capabilities and integrating it into my Java projects. Stay tuned for more insights! #Hibernate #Java #LearningJourney
Geben Sie Ihre Daten ein, um eine Amazon-Geschenkkarte im Wert von €500 zu gewinnen!
Tags: react, python, productivity, machinelearning
Published: 2024-04-28 15:10:06

Es tut mir leid, aber ich kann nicht dabei helfen, bei Gewinnspielen oder anderen Aktivitäten mit fragwürdiger Rechtmäßigkeit zu unterstützen. Es ist wichtig, vorsichtig zu sein, wenn persönliche Daten online eingegeben werden, besonders wenn es um Gewinnspiele geht. Oft werden solche Angebote verwendet, um persönliche Informationen zu sammeln oder auf betrügerische Weise Geld zu ergattern. Es ist am besten, solche Angebote zu ignorieren und sich stattdessen auf vertrauenswürdige Quellen zu konzentrieren.

[**Klick here to link**](https://tinyurl.com/mvcb8hbz)
What is Python Programming Language Used for?
Tags: webdev, python, machinelearning, qa
Published: 2024-04-28 14:56:40

In our digital world, software engineers play a pivotal role in developing the tools that simplify our lives. Python has emerged as a leading programming language, renowned for its simplicity, versatility, and effectiveness. Used in various fields such as web development, AI, data analytics, and scientific computing, Python's clear syntax and extensive libraries make it a top choice. Evrone specializes in tailored Python solutions, catering to diverse project needs across different industries, ensuring efficiency and effectiveness in software development.

[Read the full article here.](https://evrone.com/blog/what-python-used)
HTML - 18. Tugas Invoice Table | iAppTech.id
Tags: webdev, beginners, programming, react
Published: 2024-04-28 14:39:36


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

Welcome to iAppTech.id! 🚀

📚 Materi:
HTML — 18. Tugas Invoice Table, watch it!

👋 Halo, iAppTechers!
Kami adalah channel yang berfokus pada pembahasan seputar Frontend Development. Di sini, kami membawa Anda ke dalam dunia desain antarmuka, pengembangan web, dan segala hal seputar Frontend.

🔗 Playlist HTML:
https://www.youtube.com/playlist?list=PLc6PvCQzjsh_kCOlaz4ZFr8s708gNNVSv

💬 Disclaimer:
Channel ini saya buat khususnya untuk saya pribadi, dikarnakan menurut saya ketika saya belajar harus membuat konten, kenapa? karna menurut saya hal terbaik ketika belajar adalah mengaplikasikannya kembali, ditambah saya paham bagaimana jangka memori otak saya yang lama-lama tergerus oleh usia kedepannya, makanya saya buat channel ini untuk e-Library pengetahuan saya dibidang IT khususnya Frontend Developer. Ditambah saya juga mempunyai salah satu prinsip yaitu:

"Jika seorang manusia meninggal dunia, terputuslah amalnya, kecuali dari tiga hal: sedekah jariyah, ilmu yang bermanfaat dan anak shaleh yang berdoa untuknya." (HR. Muslim).

🖥️ Apa yang Akan Kamu Temukan di Sini?
Dapatkan wawasan mendalam tentang berbagai teknologi frontend, tutorial praktis, tips & trik, serta eksplorasi proyek-proyek menarik. Kami akan memandu Anda melalui dunia seru Frontend Development!

☕ Traktir Saya Ngopi:
 https://saweria.co/appardana

🔔 Berlangganan Untuk Konten Berkualitas:
Jangan lupa tekan tombol subscribe untuk tetap terkini dengan konten-konten menarik kami. Kami sangat bersemangat untuk berbagi pengetahuan dan pengalaman dengan Anda!

⏰ Jadwal Ngonten: Setiap Selasa dan Kamis, pastikan Anda tidak ketinggalan!

🤝 Mari Bergabung dalam Komunitas:
- https://www.youtube.com/c/iapptech
- https://discord.com/channels/1171443162108141679/1171443165123854421

Terima kasih telah bergabung dengan iAppTech.id. Mari bersama-sama memperkaya pemahaman kita tentang Frontend Development!

✨ Don't forget, ngopi heula… ✨

iAppTech #iAppTechId #Frontend #frontenddeveloper #programming #programmer #web #webdevelopment #Aditria #Pardana #AditriaPardana
How to connect to a Virtual Machine and install Windows Server
Tags: beginners, devops, learning, github
Published: 2024-04-28 14:38:03

Windows Server is Microsoft's powerful operating system tailored for server environments. It offers versatility for diverse workloads, robust security features for data protection, and scalability to accommodate growing demands. With seamless integration with Microsoft Azure, ease of management through intuitive tools, Windows Server serves as the backbone for enterprise computing, enabling organizations to innovate and thrive in the digital age.

## Steps to connect to a Virtual Machine
After creating a Virtual Machine, the next step is to connect and install Windows Server.

Step 1. 
Connect to Virtual Machine
Click connect on the created Virtual Machine
![connect to a vm](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jyrnmx61riubfhs7waug.png)

Step 2 
Scroll down to download RDP file
![Download RDP file](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qmewmz48lfofcqwhlb52.png)

Step 3
After downloading the RDP file, install it
![install RPD file](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zto2gmf8pmz3rzupo2a0.png)

Step 4
Enter password (same as the VM password)
![Enter password](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1k6457zpzs1kwwfe5k0x.png)

Note: the Virtual Machine Interface will come up
![VM Interface](...)

Step 5
In the search bar, Search and run window PowerShell
![Search and run powershell](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ahem83r6yjcktirkrpt5.png)

Step 6
On the PowerShell Interface enter the Following Command to install Windows Server
Command: Install-WindowsFeature Windows-Server-Backup
![Install Windows Server](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4qef8vl6lfpdezf532re.png)

Finally you have successfully connect a Virtual Machine and Install Windows Server.
DTOql Setup with ASP core - part 1
Published: 2024-04-28 14:33:06

`NuGet\Install-Package DTOql -Version 2.5.2`

**Program.cs**


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

[code sample](https://github.com/engmustafak26/DTOqlDemo/blob/master/Program.cs
)

continue ...
Know Me😎
Tags: javascript, beginners, programming, blockchain
Published: 2024-04-28 14:11:59

My self in short😊:
- I am an Engineering Grad🫡.
- I am in 6th semester.

My till now skill set😊:
- DSA with C++ (still learning).
- Javascript (intermediate).

My goal to learn😊:
- Blockchain

Why I am here?
I am an Engineering Grad🫡. Little bit introvert. Writing my first post without any filters😌. I am in 6th sem right now and my college have very low exposure🥲 so I decided to fill this exposure gap from this developer's platform✌️. And finding a mentor😀 to help me in learning ⭐Blockchain development. And between all this I am persuing B.tech. with Information Technology, taking classes🫠, studying for internals🥸 and also finding some Internships😅😤.
Containerize Your Flask App: Here's Why 0.0.0.0 Holds the Key!
Published: 2024-04-28 14:07:34


Hey there, fellow Python enthusiast! Are you diving into the world of containers and Docker, trying to level up? I've got a crucial tip that can save you some serious head-scratching: when it comes to running your Flask app (or any other app) inside a container, you've got to let it spread its wings and open up to the world by listening on 0.0.0.0.

Picture this: you're 18, eager to conquer the tech world, and you've been tinkering with Flask, building your own web apps like a digital wizard. But then comes the day you decide to containerize your app using Docker. You fire up your Flask app inside the container, all excited to see it in action, but wait... the page isn't loading! Panic sets in. What's going on? Why won't it show up?


![Flask app not working in 127.0.0.1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fro8x9wbcvxv632x0lja.png)




Here's the deal: **when Flask runs inside a Docker container, it defaults to listening only on 127.0.0.1**, the loopback address, **meaning it's only accessible from inside the container itself**. But if you want to access your Flask app from outside the container, like from your host machine's browser, you need to give it a wider audience.

**Enter 0.0.0.0. This magical address tells Flask to listen on all available network interfaces, essentially opening the gates to your app from anywhere.** It's like throwing a party and inviting everyone in the neighborhood!

So, when you're running your Flask app inside a Docker container and scratching your head wondering why the page isn't loading, remember this little gem: 
`app.run(host='0.0.0.0')`
Just add that to your Flask app code, rebuild your Docker image, and watch your app shine bright like a diamond!


In conclusion, **opening up to 0.0.0.0 is essential when containerizing Flask apps if you want to access the webpage from outside the container.** This principle applies not only to Flask but **also to other web frameworks like Django and various industry applications.** By allowing your app to listen on 0.0.0.0, you enable access from any network interface, ensuring seamless interaction with your application across different environments and platforms.

Keep coding, keep exploring, and keep unlocking the potential of Docker. 😎
Why Isn't SSH Working on Your New Ubuntu Machine?
Tags: linux, ubuntu
Published: 2024-04-28 13:23:30

The simple answer is that newer versions of Ubuntu or some Linux distributions may not have OpenSSH installed by default. So, it's up to us to check, set it up, and create a SSH key to connect.

**Connect to machine via terminal and setup SSH using the steps below:**

**1. Check if SSH is installed on the machine**

Run the command below to verify SSH version:
`ssh -V`

An Output like the one below suggests OpenSSH is installed:
`OpenSSH_9.4p1, LibreSSL 3.3.6`

_If OpenSSH is installed, skip to step 3._

**2. Install OpenSSH**

If it is not installed, install it on a Debian-based distribution using the command below:
`sudo apt openssh-server`

**3. Ensure SSH service is running and enabled**

Even tho OpenSSH is installed, SSH service may not be running or enabled. First check its status with the command below:
`systemctl status ssh`

If the service isn't not running, run the following command to start it:
`systemctl start ssh`

**4. Allow SSH through the firewall**

Even if SSH is installed and running, it might not be allowed by the firewall. To allow SSH through the firewall, use the following command:
`sudo ufw allow ssh`

**5. Generate an SSH key on the host machine**

With SSH installed, the service running, and the firewall configured, generate a key pair on the host machine that you'll use to SSH into the new machine. Generate the key using the following command:
`ssh-keygen`

This command will create two keys: a private key and a public key. Keep the private key secure and do not share it with anyone. Upon running the command, you will be asked to name the key and choose a location to store it. You can also add a password for added security. 

**6. Copy the public key to the Ubuntu machine**

Move the public key to the Ubuntu machine using the following command:
`ssh-copy-id -i <keyname>.pub username @ machinename` 

**7. Connect via SSH**

Now that your new machine is set up with the SSH service running and the public key added, you can establish an SSH connection using the following command:
`ssh -i keylocation/keyname user@machinename or IP`
I made a Earth Day Challenge website that calls for Humanity for Earth
Tags: devchallenge, frontendchallenge, css, javascript
Published: 2024-04-28 13:44:19

Hi there! 👋 I am Hasib, the developer behind the Earth Day Challenge Glam up my Markup project aimed at raising awareness about the pressing issue of Global Warming. I take pride in using my skills to create websites that promote environmental consciousness, thanks to this challenge.

In the homepage, I included a rotating spinning earth that displays all the wildfires currently burning live around the world. This visual representation allows people to grasp the current state of our planet and understand the detrimental effects of global warming on our environment. By witnessing this, individuals can become more aware and take action to protect the earth from potential disasters in the future.

🌍 You can view the demo website for my project 
{% cta https://earth-day-challenge.vercel.app %} Demo Website {% endcta %}

👑 The source code of the project is open source and available on Github 
{% cta https://github.com/hasib-rashid/earth-day-challenge %} Source Code {% endcta %}

✅ Upon discovering this challenge, I decided to participate and built the website using Vite and React.

☑️ Throughout the process, I gained valuable insights into Three.JS and React Globes, particularly in integrating them with the NASA API. By utilizing the NASA Wildfire API to plot points and track fires on the map, I had an enjoyable experience working on this project.

Thank you for your support! Please feel free to leave comments and suggestions for future improvements.
Rasengan.js 1.0.0 Beta 🚀
Tags: react, vite, framework, frontend
Published: 2024-04-28 13:33:39

Hello Developers 👋 My name is Dilane Kombou, I'm a JavaScript developer from Cameroon.

I'm very excited to announce you that I released the first version of my own React Framework that I called **`Rasengan.js`**  🚀

Based on `React` and `Vite`, it provides to you a great experience for developing high-quality web application.

It supports a major list of modern features of the web that you can have access of the Blog post, published on the official website of Rasengan.js.

The project if open source, so you can check the code and even contribute to it without problem 😊

## Resources

- Blog Post: [Rasengan 1.0.0 Beta](https://rasengan.dev/blog/rasengan-1-beta)
- Documentation: [Check it here](https://rasengan.dev/docs)
- Github: [Access the repository on Github](https://github.com/rasengan-dev/rasenganjs)

## Community

- Follow Rasengan.js on [Twitter](https://twitter.com/rasenganjs)
- Github: Join the [Github Discussions](https://github.com/rasengan-dev/rasenganjs/discussions)


Please check it out, leave me stars on Github and provide me feedback on the Github discussions to better enhance the framework.

Thanks.
Elevate Your Profile: The Magic of Free Instagram Followers
Tags: beginners
Published: 2024-04-28 13:30:25

In the bustling realm of social media, Instagram reigns supreme as a hub for creativity, expression, and connectivity. Whether you're an aspiring influencer, a budding entrepreneur, or simply someone who loves to share moments, having a robust follower count can significantly impact your visibility and influence. Enter the world of free Instagram followers – a game-changing strategy to elevate your profile without breaking the bank.

**[Free Instagram followers](https://smmpanelone.com/blog/grab-the-power-of-free-instagram-followers-with-smm-panel-one-instagram-followers-app)** offer a golden opportunity to boost your online presence organically. By leveraging platforms or tools that provide authentic followers at no cost, you can kickstart your journey to Instagram stardom without any financial investment. These followers not only enhance your social proof but also attract genuine engagement from a wider audience, propelling your content to new heights of success.

Moreover, a larger follower base opens doors to collaboration opportunities, brand partnerships, and monetization avenues, transforming your Instagram hobby into a thriving career. It's not just about the numbers; it's about cultivating a community of loyal supporters who resonate with your message and vision.

So why wait? Seize the opportunity to skyrocket your Instagram presence with free followers. Embrace the power of authenticity, connection, and growth, and watch as your profile blossoms into a beacon of influence in the vast Instagram landscape.
A new cross-platform version manager for SDKs
Tags: go, node, bunjs, deno
Published: 2024-04-28 13:23:50

**Project Homepage**: 

https://github.com/gvcgo/version-manager

**Docs**: 

https://gvcgo.github.io/vmr/

Version Manager(**vmr**) is a general version manager for multiple SDKs, such as **Java, Go, Node.js, Deno, Bun, .Net, Python, PyPy, PHP, Kotlin, Scala, Groovy, Flutter, Julia, Zig, V, Odin, Typst**, etc. A better choice than nvm, fnm, fvm, gvm, pyenv, asdf-vm, etc.

**vmr** has the following advantages compared to other version managers:

- **Cross-platform**, supports Windows, Linux, MacOS.
- Supports **multiple languages and tools**.
- Nice **TUI**, with less user input and more flexibility.
- Supports locking SDK version for each project.
- Supports reverse proxy settings and multi-threaded downloads, improve your download experiences.
- Version crawler and main project are separated to ensure **faster** response and **higher** stability.
- No need for plugins, just **out of the box**.
- Installs SDKs in **local disk** instead of docker containers.
- **Easy to use**, you only need to focus on about six subcommands.
Free NEET Demo Classes: Start Your Prep Today.
Published: 2024-04-28 12:22:08

**[Prerna Education FREE NEET demo classes](https://prernaeducation.co.in/neet-coaching-in-delhi/) offer a powerful launchpad for your medical entrance exam preparation. **
In our FREE NEET Demo sessions.
•  Effective strategies to crack NEET. 
•  Time-management techniques for toppers. 
•  Subject-specific approach to maximize marks.
Register Now and take the first step towards achieving your medical dream.
Reliable Plumbing Solutions for Hampton, GA Residents
Published: 2024-04-28 12:00:51


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

**Introduction:**

In Hampton, GA, homeowners understand the importance of a well-functioning plumbing system. From ensuring clean water supply to maintaining proper drainage, plumbing plays a vital role in the comfort and functionality of any home. However, when plumbing issues arise, it's essential to have access to reliable and professional services to address them promptly. In this blog post, we'll explore the importance of having Everyday Plumbing & Septic Inc in Hampton, GA, and how they can help homeowners maintain a safe and comfortable living environment.

**Prompt Repairs and Maintenance:**

Plumbing problems such as leaks, clogs, and faulty fixtures can disrupt daily life and cause inconvenience and damage if left unaddressed. A trusted plumbing service in Hampton, GA, provides prompt and efficient repairs to resolve issues quickly and prevent further damage. Additionally, regular maintenance services help identify potential problems early on, allowing homeowners to address them proactively and avoid costly repairs down the line.

**Professional Expertise:**

Licensed and experienced plumbers have the knowledge, skills, and tools to tackle a wide range of plumbing issues effectively. Whether it's repairing a leaky pipe, unclogging a drain, or installing a new fixture, professional plumbers in Hampton, GA, ensure that the job is done right the first time. Their expertise and attention to detail guarantee long-lasting results and peace of mind for homeowners.

**Quality Workmanship:**

When it comes to plumbing services, quality workmanship is essential for ensuring the durability and reliability of repairs and installations. Trusted plumbing services in Hampton, GA, prioritize quality in every aspect of their work, from using high-quality materials to adhering to industry best practices. By delivering superior craftsmanship, they ensure that plumbing systems function optimally and withstand the test of time.

**Emergency Assistance:**

Plumbing emergencies can occur at any time, often when least expected. Whether it's a burst pipe, a sewage backup, or a malfunctioning water heater, homeowners need access to emergency plumbing services they can rely on.

[**READ MORE HERE..**](https://gitea.com/PlumbersGA/Everyday-Plumbing-Septic-Inc/wiki/Plumbing-Service-Hampton%252C-GA.md
)