teleren/devto huggingface dataset:
MICROSERVICES WITH SPRING BOOT, EUREKA AND DOCKER - PART 1
Tags: java, docker, programming, tutorial
Published: 2024-01-19 14:30:48

## HOW TO COMMUNICATE SPRING BOOT MICROSERVICES WITHIN THE SAME DOCKER NETWORK?

##### FIRST THINGS FIRST, WE NEED TO CREATE OUR DOCKER NETWORK.


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


##### NOW WE NEED TO SET-UP THE DOCKERFILE.


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

##### WILL LOOK LIKE THIS INSIDE THE CONTAINER:
/app
├── .mvn/
├── pom.xml
├── target/
│   └── [compiled JAR files and other build artifacts]
└── src/

#### NOW WE NEED TO BUILD AND RUN OUR DOCKER CONTAINER:

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

#### "DOCKER BUILD ." WILL CREATE YOUR IMAGE THEN YOU RUN IT WITH:


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

#### REMEMBER TO RUN YOUR CONTAINER WITH THE SAME NETWORK YOU JUST CREATED. IT WILL PROBABLY FAIL TO RUN SO STOP THE CONTAINER FOR NOW.

## CONFIGURING OUR SPRING BOOT APPLICATIONS

### DISCOVERY/SERVICE-REGISTRY

###### REMEMBER TO ANNOTATE YOUR MAIN JAVA CLASS WITH @EnableEurekaServer


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



#### I RECOMMEND YOU TO NOT USE THE IPV4 BECAUSE EVERYTIME YOU REASSIGN YOUR CONTAINER TO THE NETWORK THE IP WILL CHANGE. USE THE DOCKER CONTAINER INSTEAD.


###### http://YOUR_CONTAINER_NAME:8761/eureka/


#### HOW TO GET THE APPLICATION CONTAINER IPV4?



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



###  GATEWAY CONFIGURATION



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



#### ON "serviceUrl.defaultZone" USE THE NETWORK IPV4 FROM THE DISCOVERY/SERVICE-REGISTRY CONTAINER OR JUST USE THE CONTAINER NAME(its better trust me).


#### CREATE YOUR DOCKERFILE FOR THE GATEWAY TOO AND MAKE SURE TO SET-UP YOUR PORTS CORRECTLY FOR THE CONTAINERS. IN THIS CASE WOULD LOOK LIKE THIS:



###### docker run --name CONTAINER_NAME --network=YOUR_NETWORK_NAME -p 8080:8080 YOUR_DOCKER_IMAGE_NAME




#### NOW YOU ONLY THE GATEWAY TO RECEIVE CONNECTIONS FROM THE OUTSIDE.
Did a Moth Really Shape the Destiny of Computers ⁉️
Tags: programming, coding, news, discuss
Published: 2024-01-19 14:30:00

Imagine this; an innovative scientist, a moth and a pivotal moment that would profoundly impact the course of coding.

It was far more than a simple malfunction; it evolved into a powerful symbol of the palpable result caused by computational mistakes!

***

### 🔍 What Exactly am I talking about?

[The first computer bug](https://en.wikipedia.org/wiki/Hardware_bug)! Yes, a moth literally shaped the destiny of computing.

Believe it or not, the very first computer bug was an actual insect—a moth, to be precise—discovered inside the Harvard Mark II computer in 1947.

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

[Grace Hopper](https://en.wikipedia.org/wiki/Grace_Hopper), a pioneering computer scientist, stumbled upon this moth causing a system malfunction.

Hopper did not find the bug, the operators who found it amusedly kept the insect with the notation ["First actual case of bug being found."](https://education.nationalgeographic.org/resource/worlds-first-computer-bug/)

In a rather memorable act, she decided to tape the moth onto the computer's logbook dated September 9, 1947, and coined the term "bug" to describe any glitches found in computer code. 

***

### 🤔 Why Does It Hold Significance?
The finding of this inaugural computer bug marked a significant moment in computing history as it brought attention to real-world consequences resulting from system malfunctions.

It underscored the importance of thorough testing and debugging within this burgeoning field called computer science.

The term "bug" soon became a widely used metaphor for any imperfection discovered in a computer program.

***

### 💻 How Did This Impact Computing?

This incident triggered a shift in perspective by highlighting the crucial role of meticulous problem-solving when it comes to programming.

Debugging, which once involved literal insect hunts, turned into an established practice for identifying and rectifying errors within code.

The story behind this initial encounter with a computer bug serves as an enduring reminder of how technology development often requires an iterative approach.

![Image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h9024o1s625degr5m3g0.png)credits: https://www.thoughtco.com/howard-aiken-and-grace-hopper-4078389

***

### 🌐 What is its Lasting Legacy?

The impact of the initial computer bug continues to shape programming culture, as developers have adopted the term "bug" to refer to any unforeseen error.

This incident has led to improvements in debugging tools and techniques, influencing how programmers tackle problem-solving in the ever-changing field of computing.

![Image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c8sb45wokxdafhof5pfi.png)
Uma forma simples de realizar soft delete em .Net utilizando Entity Framework Core
Tags: dotnet, csharp, api
Published: 2024-01-19 14:26:31

Ao desenvolver APIs, é comum ter de alterar o comportamento de DELETE para que, em vez de excluir o registro, simplesmente alterar uma propriedade booleana e considerar que aquele recurso não existe caso o valor da propriedade seja _false_. Essa técnica é conhecida como **"Soft Delete"**.

Há várias formas de implementar esse comportamento. A forma apresentada neste texto pode ser resumida aos seguintes passos:
1- Adicionar uma propriedade booleana à classe desejada;
2- Sobrescrever o método **SaveChangesAsync** da classe que estende **DbContext**;
3- Adicionar um filtro na configuração da entidade para que as entidades "inativas" não sejam retornadas em queries.

## Adicionar propriedade booleana
O primeiro passo é autoexplicativo. Crie uma entidade e adicione a propriedade booleana a ela. Caso várias entidades precisem desse comportamento, considere criar uma classe base ou interface que a contenha.

## Sobrescrever o método SaveChangesAsync
Se você utiliza o EF, é provável que tenha estendido a classe **DbContext** para criar um contexto próprio. A classe base possui um método chamado **SaveChangesAsync**, o qual salva as alterações feitas no banco de dados.  
A alteração que será realizada no método visa detectar o estado das  entidades rastreadas pelo [ChangeTracker](https://learn.microsoft.com/en-us/ef/core/change-tracking/). Caso alguma tenha sido deletada, será necessário mudar o estado dela para **Unchanged** (em vez de **Deleted**), e então alterar a propriedade booleana adicionada no passo anterior.

```
public override Task<int> SaveChangesAsync(bool acceptAllChangesOnSuccess, CancellationToken cancellationToken = default)
{
    foreach (var entry in ChangeTracker.Entries<T>()) // Onde "T" é o tipo da entidade
    {
        switch (entry.State)
        {
            case EntityState.Deleted:
                entry.State = EntityState.Unchanged;
                entry.Entity.PropriedadeBooleana = false; // Prefira utilizar um método para isso.
                break;
        }
    }
    return base.SaveChangesAsync(acceptAllChangesOnSuccess, cancellationToken);
}
```

## Adicionar filtro
Com a alteração feita, já é possível alterar todas as queries para que elas deconsiderem entidades às quais o valor da propriedade booleana seja **false**. Entretanto, dependendo do tamanho da sua aplicação, essa tarefa poderá ser bastante trabalhosa.

Para evitar a situação descrita acima, o EF fornece uma forma de realizar isso de forma automática através da configuração da entidade. Exemplo:
```
public class SuaEntidadeConfiguration: IEntityTypeConfiguration<SuaEntidade>
{
    public void Configure(EntityTypeBuilder<SuaEntidade> builder)
    {
        builder.HasQueryFilter(x => x.Active);
    }
}
```

O código acima faz com que somente as entidades que possuam a propriedade **Active** como **true** sejam retornadas em caso de queries. 

Chegamos ao fim do tutorial. Espero que este texto tenha sido o suficiente para a implementação de um comportamento básico de **Soft delete** na sua aplicação.
My projects | Front-end dev
Tags: webdev, html, css, beginners
Published: 2024-01-19 14:24:19

Alright this one is actually pretty good considering my skills at that time, back then I thought it looked ugly. It has three pages, I didn't add the "Tags" page and never fixed the footer again LOL. 

Live demo: https://infamous003.github.io/Recipe-Website-two/recipes.html

I sure am lazy. The title says "Document" T_T
Debugging Tips + Helpful Resources
Published: 2024-01-19 14:17:23


**Feeling stuck?** Try the following:

View a task-by-task guide,
to help you through the multiple stages of this project. With each stage, I provided additional resources you can explore to help you get unstuck. 

**Google your question:** oftentimes, someone has had the same question as you! Check out websites like 
StackOverflow
 to see how other folks have found solutions.

**Read the documentation:** make sure to carefully read through the documentation for any languages and libraries that you are using. Oftentimes they’ll have examples of what you’re looking for! Check out the additional resources at the end of this page for links to official documentation.

**Rubber ducking:** try to explain a problem to a friend or co-worker. Oftentimes you’ll figure out the solution as you’re trying to explain it. And if not, getting another pair of eyes on your code can be helpful.
Engineering Bolt ⚡: #3 Friday Developer Fun 🐞
Tags: webdev, meme, bug, learning
Published: 2024-01-19 14:16:33

Friday Developers Fun🐞

No deployment Friday, no fret 👋!

{% embed https://twitter.com/alexrashkov/status/1748347609058591173 %}

## Join Me

Read more about [Engineering Culture in Meta (Facebook)](https://engineeringbolt.com/interview-question/tell-me-about-a-time-you-made-a-mistake/), [⚡Newsletter](https://engineeringbolt.substack.com/subscribe), [Twitter](https://twitter.com/alexrashkov/status/1741096846531920326) and [LinkedIn](https://www.linkedin.com/in/alexrashkov) for more Career, Leadership and Growth advice.

[![Engineering Bolt Newsletter Subscription](https://miro.medium.com/v2/resize:fit:1400/0*GRosK-LpWlj01rUR.png)](https://engineeringbolt.substack.com/subscribe)

 #developers #softwareengineering #meme #fridayhumor
PLEASED FOR THE SERVICES OF SPYWEB CYBER FOR THE RECOVERY OF MY CRYPTO FUNDS
Published: 2024-01-19 14:16:02

I’m pleased with Spyweb Cyber Security Service for the recovery of my stolen crypto funds. A few months ago, I was duped by a fake crypto investment broker of my hard-earned money. I had invested $409,000 worth of Bitcoins and ETHEREUM into this platform and I was blocked from withdrawing my profits. A colleague of mine told me about Spyweb Cyber Security Service and their experience in the recovery process, I did my research and found Spyweb Cyber Security to be a genuine and reliable recovery service, I contacted them immediately and provided them all the necessary information. I was very impressed when they were able to recover my stolen crypto funds from these broker accounts. I’m truly grateful for their service and I feel it is right that I put this out here for anyone who might require their services. Spyweb Cyber Security Service is very reliable and trustworthy. You can contact them directly at  ( Spyweb@Cyberdude.com ) 
WEBSITE:  ( https://spyweb3.wixsite.com/spywebcyber )
WHATS-APP: ( +1 720 625 0393 )
My front end dev journey
Tags: webdev, html, frontend, css
Published: 2024-01-19 14:12:28

I remember making this website to practice my HTML & CSS skills. I never went back to fix the last logo being a little off. The footer text should have been at the center.
Live demo: https://infamous003.github.io/Website-HTML-CSS/

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

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2fr35k03qvpxph6enztz.png)
Best Staff Augmentation Country in Latin America: Why Uruguay Stands Out
Tags: nearshoreoutsourcing, recruitinginsights, staffaugmentation
Published: 2024-06-10 15:21:20

---
title: Best Staff Augmentation Country in Latin America: Why Uruguay Stands Out
published: true
date: 2024-01-19 14:11:47 UTC
tags: NearshoreOutsourcing,RecruitingInsights,nearshoreoutsourcing,staffaugmentation
canonical_url: 
---

Latin America has compelling qualities that make the continent an ideal hub for effective staff augmentation. By opting for outsourcing in the region, you gain access to cost-effective labor, a diverse talent pool, and streamlined communication due to the time zone alignment between Latin America and North America. But what truly distinguishes the region is its cultural parallels with the USA. This shared foundation of values and understanding fosters seamless collaboration between US businesses and Latin American nearshore developers.

The post [Best Staff Augmentation Country in Latin America: Why Uruguay Stands Out](https://blog.nextideatech.com/best-staff-augmentation-country-in-south-america/) appeared first on [Next Idea Tech Blog](https://blog.nextideatech.com).
Top 10 Nearshore Software Development Companies in Latin America [2024]
Tags: webdev
Published: 2024-06-10 15:20:42

---
title: Top 10 Nearshore Software Development Companies in Latin America [2024]
published: true
date: 2024-01-19 14:09:19 UTC
tags: WebDevelopment
canonical_url: 
---

As a technology leader, you’re on the hook to deliver business and technology outcomes while reducing costs to achieve growth and profitability. But after years of IT recruiting, you came to realize that hiring full-time tech talent to bring in-house isn’t always the best way to build the technology you need. After all, the recruitment […]

The post [Top 10 Nearshore Software Development Companies in Latin America [2024]](https://blog.nextideatech.com/top-10-nearshore-software-development-companies-in-latin-america/) appeared first on [Next Idea Tech Blog](https://blog.nextideatech.com).
How To Set Up A Nearshore Software Development Team
Tags: howtohire, nearshoredevelopers, nearshoresoftwaredev
Published: 2024-06-10 15:20:31

---
title: How To Set Up A Nearshore Software Development Team
published: true
date: 2024-01-19 14:07:26 UTC
tags: HowtoHire,nearshoredevelopers,nearshoresoftwaredev
canonical_url: 
---

In this comprehensive guide, you'll learn what it takes to build effective nearshore software development teams and set yourself up for success.

The post [How To Set Up A Nearshore Software Development Team](https://blog.nextideatech.com/how-to-set-up-a-nearshore-software-development-team/) appeared first on [Next Idea Tech Blog](https://blog.nextideatech.com).
Create an API Gateway to consume a Lambda with an internal Http Post method
Published: 2024-01-19 14:02:52

My API Gateway will receive the incoming request to create an entry in the DB students table by going through first the gateway, then to the lambda, to finally insert the record on the AWS RDS MySQL DB table.


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

Then, you have to deploy your previous changes:

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

Once you click the deploy button, you will see this:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/412hqyewx2f5qx8ewn7z.png)
🌟 Keep Calm and Code On: Positive Strategies for Handling Frustration in Web Development 🚀
Tags: webdev, programming, beginners, productivity
Published: 2024-01-19 13:58:21

It's totally normal to feel frustrated when things don't go as planned, especially in technical fields like web development where problems can be complex and solutions aren't always immediate. Here are some strategies to manage that frustration and move forward productively:

## Take a Break 😌
Sometimes, stepping away from the problem briefly can help clear your mind. A short break, a walk, or even switching tasks for a moment can provide a new perspective when you return.

## Break the Problem into Smaller Parts 🧩
Try dividing the problem into smaller, manageable tasks. Tackling each small part separately can make the overall problem less overwhelming.

## Review and Documentation 📚
Often, reviewing your code or configuration from the beginning can help. Also, looking over official documentation or guides can offer new ideas or highlight things you might have overlooked.

## Seek Community Support 👥
Sharing your issues with colleagues or in online forums can provide new insights. Sometimes, explaining the problem to someone else can help you see it differently.

## Learning and Growth 🌱
Remember that facing and overcoming challenges is an important part of learning and professional growth. Each problem you face and solve makes you stronger in your field.

## Celebrate Small Victories 🎉
When you make a bit of progress, take a moment to acknowledge and celebrate it. This can boost your motivation and lessen the feeling of frustration.

## Maintain a Positive Attitude 😊
Keep a positive attitude and remember that frustration is temporary. With time and effort, it's likely you'll find a solution.

## Stress Management 🧘
Practice stress management techniques, like meditation, breathing exercises, or regular physical exercise.

## Learn from the Experience 🔍
Once you've solved the problem, reflect on the experience. What did you learn? How can you apply this knowledge in the future?

Frustration is a natural part of the problem-solving process, especially in technical areas. However, how you respond to that frustration can make a big difference in your professional development and personal well-being. Cheer up, with perseverance and the right approach, you'll overcome this challenge! 🌈💪
🌟 Mantén la Calma y Código On: Estrategias Positivas para Manejar la Frustración en Desarrollo Web 🚀
Tags: webdev, programming, productivity, spanish
Published: 2024-01-19 13:55:04

Es completamente normal sentir frustración cuando las cosas no salen como esperamos, especialmente en campos técnicos como el desarrollo web donde los problemas pueden ser complejos y las soluciones no siempre son inmediatas. Aquí tienes algunas estrategias para manejar esa frustración y seguir adelante de manera productiva:

## Haz una Pausa 😌
A veces, alejarse brevemente del problema puede ayudar a despejar la mente. Un descanso corto, una caminata, o incluso cambiar de tarea por un momento, puede proporcionar una nueva perspectiva cuando regreses.

## Divide el Problema en Partes Más Pequeñas 🧩
Intenta dividir el problema en tareas más pequeñas y manejables. Abordar cada pequeña parte por separado puede hacer que el problema general sea menos abrumador.

## Revisión y Documentación 📚
A menudo, revisar tu código o configuración desde el principio puede ayudar. También revisar la documentación oficial o guías puede ofrecer nuevas ideas o cosas que podrías haber pasado por alto.

## Buscar Soporte de la Comunidad 👥
Compartir tus problemas con colegas o en foros en línea puede proporcionar nuevas perspectivas. A veces, explicar el problema a otra persona puede ayudarte a verlo de manera diferente.

## Aprendizaje y Crecimiento 🌱
Recuerda que enfrentar y superar desafíos es una parte importante del aprendizaje y el crecimiento profesional. Cada problema que enfrentas y resuelves te hace más fuerte en tu campo.

## Celebra las Pequeñas Victorias 🎉
Cuando logres un pequeño progreso, tómate un momento para reconocerlo y celebrarlo. Esto puede aumentar tu motivación y reducir la sensación de frustración.

## Mantén una Actitud Positiva 😊
Mantén una actitud positiva y recuerda que la frustración es temporal. Con el tiempo y el esfuerzo, es probable que encuentres una solución.

## Gestión del Estrés 🧘
Practica técnicas de gestión del estrés, como la meditación, ejercicios de respiración o el ejercicio físico regular.

## Aprender de la Experiencia 🔍
Una vez que hayas resuelto el problema, reflexiona sobre la experiencia. ¿Qué aprendiste? ¿Cómo puedes aplicar este conocimiento en el futuro?

La frustración es una parte natural del proceso de resolución de problemas, especialmente en áreas técnicas. Sin embargo, cómo respondes a esa frustración puede marcar una gran diferencia en tu desarrollo profesional y bienestar personal. ¡Anímate, con perseverancia y el enfoque correcto, superarás este desafío! 🌈💪
FluxStore WooCommerce: Full integration with WooCommerce website and impressive UI design
Tags: flutter, woocommerce, beginners, ui
Published: 2024-01-19 13:45:16

## Fluxstore

Fluxstore – your passport to a seamless, universal e-commerce experience. A groundbreaking Flutter framework-inspired app, Fluxstore is your all-in-one solution for efficient, cost-effective, and high-productivity mobile app development, catering to both iOS and Android platforms.

![68747470733a2f2f757365722d696d616765732e67697468756275736572636f6e74656e742e636f6d2f313435393830352f36383635363838322d33396565616238302d303536352d313165612d386462632d3263353165373532653439302e676966](https://flutterawesome.com/content/images/2024/01/68747470733a2f2f757365722d696d616765732e67697468756275736572636f6e74656e742e636f6d2f313435393830352f36383635363838322d33396565616238302d303536352d313165612d386462632d3263353165373532653439302e676966.gif)

<div class="ct-demo-links">
<a class="ct-demo-link ct-demo-link--download" href="https://1.envato.market/eVkBz" target="_blank" rel="nofollow">More info / Download</a> 
</div>

Crafted with a mission to save businesses thousands of hours in designing and testing, Fluxstore is your go-to for all e-commerce functionalities. It offers an impressive UX design and smooth performance, making it the perfect choice for a wide range of businesses.

{% embed https://www.youtube.com/embed/KvOv4GNFTGs %}.

Already have a WooCommerce website? Integrating with Fluxstore is a breeze! In just a few steps, you can release your app on both App Store and Google Play. The download package includes full source code, designs, documents, and videos – ensuring a smooth installation process.

Fluxstore WooCommerce, built on Google's Flutter framework, is a comprehensive Flutter app allowing users to create native iOS and Android applications directly from their existing WooCommerce store.

Experience a user-friendly interface design with customizable blog layouts, rapid product filters, smooth checkout flows, and a history of search terms. Over twenty-five homepage layouts, modifiable category lists, and powerful widgets for easy customization.

![fluxstore-woo1](https://flutterawesome.com/content/images/2024/01/fluxstore-woo1.png)

The plugin bundle includes language picker, WOOCS currency switcher, webview payment options, and more. Multiple payment options, including Cash on Delivery, Smart COD, and native payments, provide flexibility.

Enjoy robust user preferences such as WishList, Order Tracking, Dark Theme, Smart Chat, Language Selection, and Push Notification Enablement. Fluxstore is not just an app; it's a complete e-commerce solution.

Combine Fluxstore with other Flutter apps like FluxGPT, OpenAI Writing Assistant, and Image Generator for a comprehensive application experience. Use offline image caching strategies and Google Analytics for real-time tracking.

Revolutionize your mobile app development journey. Fluxstore – where innovation meets efficiency and versatility.