teleren/devto huggingface dataset:
Changing the JVM in spring-boot:build-image
Tags: springbootmavenplugin, springboot, buildpack, docker
Published: 2023-04-12 17:46:04

---
title: Changing the JVM in spring-boot:build-image
published: true
description: 
tags: springbootmavenplugin, springboot, buildpack, docker

# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-04-12 17:02 +0000
---

The spring-boot-maven-plugin can create an OCI image from a jar or war file using Cloud Native Buildpacks.

By default it uses a buildpack called `paketo-buildpacks/bellsoft-liberica` which is based on [Bellsoft Liberica JDK](https://bell-sw.com/libericajdk/).

The list of all Java buildpacks is available in [Paketo Buildpacks Reference](https://paketo.io/docs/howto/java/#use-an-alternative-jvm).

To choose another JVM in spring-boot-maven-plugin, first you need to find the buildpacks that are used by default. Run `mvn spring-boot:build-image` and look for something like this:

```
[INFO]     [creator]     ===> DETECTING
[INFO]     [creator]     6 of 26 buildpacks participating
[INFO]     [creator]     paketo-buildpacks/ca-certificates   3.6.1
[INFO]     [creator]     paketo-buildpacks/bellsoft-liberica 10.1.0
[INFO]     [creator]     paketo-buildpacks/syft              1.27.0
[INFO]     [creator]     paketo-buildpacks/executable-jar    6.6.3
[INFO]     [creator]     paketo-buildpacks/dist-zip          5.5.2
[INFO]     [creator]     paketo-buildpacks/spring-boot       5.23.0
```

That´s the list of buildpacks being used. We need to change Bellsoft Liberica to the desired JVM.

So, to use [Microsoft OpenJDK](https://github.com/paketo-buildpacks/microsoft-openjdk), copy the buildpacks from above, but change `paketo-buildpacks/bellsoft-liberica` to `gcr.io/paketo-buildpacks/microsoft-openjdk`. The `pom.xml` should be:

```xml
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <image>
            <buildpacks>
                <buildpack>paketo-buildpacks/ca-certificates</buildpack>
                <buildpack>gcr.io/paketo-buildpacks/microsoft-openjdk</buildpack>
                <buildpack>paketo-buildpacks/syft</buildpack>
                <buildpack>paketo-buildpacks/executable-jar</buildpack>
                <buildpack>paketo-buildpacks/dist-zip</buildpack>
                <buildpack>paketo-buildpacks/spring-boot</buildpack>
            </buildpacks>
        </image>
    </configuration>
</plugin>
```

Now, run `mvn spring-boot:build-image` and verify that Microsoft OpenJDK is being used:

```
[INFO]     [creator]     Paketo Buildpack for Microsoft OpenJDK 3.0.1
[INFO]     [creator]       https://github.com/paketo-buildpacks/microsoft-openjdk
...
[INFO]     [creator]       Microsoft OpenJDK 17.0.6: Contributing to layer
[INFO]     [creator]         Downloading from https://aka.ms/download-jdk/microsoft-jdk-17.0.6-linux-x64.tar.gz
```
Jazz Weekly Internet Packages
Published: 2023-04-12 20:28:58

Jazz is a mobile network operator in Pakistan that offers a variety of weekly internet packages to its users. Here are some of the popular weekly internet packages offered by Jazz:

Weekly Mega Plus: This package offers 20 GB of internet data for a week. You can subscribe to this package by dialing *453# or through the JazzWorld app.

Weekly Mega: This package offers 7 GB of internet data for a week. You can subscribe to this package by dialing *159# or through the JazzWorld app.

Weekly Streamer: This package offers 1 GB of internet data for a week, along with 1 hour of free video streaming on YouTube. You can subscribe to this package by dialing 1177# or through the JazzWorld app.

Weekly Premium: [This package offers](https://dreamyworldinfo.com/jazz-internet-packages-3g-4g-daily-weekly-and-monthly-2023/) 3 GB of internet data for a week, along with free subscription to the Jazz TV app. You can subscribe to this package by dialing 11747# or through the JazzWorld app.

Weekly Social: This package offers 5 GB of internet data for a week, which can be used for social media apps such as WhatsApp, Facebook, and Twitter. You can subscribe to this package by dialing *660# or through the JazzWorld app.

It is important to note that these packages may have different prices and terms and conditions depending on your location and subscription method. You can check for the latest packages and prices by visiting the Jazz website or by calling the Jazz helpline.
Fluxograma Convencional
Published: 2023-04-12 20:28:37

## Definições

Um fluxograma é um diagrama que descreve um processo, sistema ou algoritmo de computador.
Um fluxograma é um diagrama que ilustra um fluxo de trabalho, processo ou sistema, através da ordem das etapas ou tarefas envolvidas.
O fluxograma usa linhas ou setas para direcionar o fluxo de informações.

## Elementos básicos do Fluxograma
- Início;
- Entrada e Saída de dados;
- Processo ou Operação;
- Decisão;
- Documento;
- Comentário ou Anotação;
- Fim.

## Algumas das Aplicações do Fluxograma
- Desenho de processos de negócio;
- Desenho de Algoritmos Computacionais;
- Desenho de Algoritmos Matemáticos;
- Desenvolvimento de Software.
- Desenho de Processos disciplinares (para RH);
- Processos de Solicitação e Emissão de documentos, numa organização;
- Processos de Higiene e segurança no trabalho.


## Ferramentas para Desenhar Fluxograma
- Astah Professional;
- Draw.io;
- Lucidchart;
- Microsoft Visio;
- Visual Paradigm;
- BrModelo.

## Vantagens
- Organização do raciocínio;
- Melhoria na tomada de decisões;
- Melhor representação do que a descrição narrativa;
- Facilidade na identificação de pontos de estrangulamento;
- Previsão de problemas antes da implementação;
- Facilidade na elaboração de passos para resolução de tarefas;
- Suporte na organização do fluxo de informações;

## Desvantagens
- Limitação no nível de detalhe;
- Processos ou algoritmos extensos, torna-se difíceis construir;
- Dificuldade de interpretação quando envolve muitas partes.

## Sugestão
O fluxograma deve ser utilizado para representar algoritmos e processos de alto nível. Quando há necessidade de representar um processo complexo e com mais detalhes, é recomendado usar Diagrama de Actividades ou BPMN.

## Exemplo
- Representação do Algoritmo para de uma fermenta para criar fontes de dados nos formatos SQL, CSV, TXT, JSON e XML;

**Ferramenta**: Astah Professional
**Código Fonte**:
https://github.com/ortizdavid/data-source-generator



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


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


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


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


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


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yo4t6qaws32a2kilit4s.jpg)
Vrl Tracking
Published: 2023-04-12 20:26:25

VRL (Vijay Roadlines) is a transportation and logistics company based in India. If you want to track your shipment using VRL's tracking service, you can follow these steps:

Visit VRL's website: Go to VRL's official website at https://www.vrlgroup.in/.

Navigate to the tracking page: Click on the "Track Your Shipment" button in the menu bar or scroll down to the "Track Your Shipment" section on the homepage.

Enter your consignment number: Enter your consignment number in the tracking field and click on the "Track" button. You can also enter multiple consignment numbers separated by commas.

View your shipment status: Once you click on the "Track" button, VRL's tracking system will display your shipment status. You can view information such as the pickup date, delivery date, current location, and delivery status.

Note that [VRL's tracking](https://packstrack.com/vrltracking) system may not always provide real-time information, and there may be delays or discrepancies in the shipment status updates. If you have any questions or concerns regarding your shipment tracking, you can contact VRL's customer service through their website or by phone.
How to track PICT Container Tracking
Tags: webdev, javascript
Published: 2023-04-12 20:25:11

PICT (Pakistan International Container Terminal) is a container terminal operating company in Pakistan. If you want to track your container using PICT's tracking service, you can follow these steps:

Visit PICT's website: Go to PICT's official website at https://packstrack.com/pictcontainertracking

Navigate to the tracking page: Click on the "Customer Services" tab in the menu bar and select "[Track Shipment](https://packstrack.com/pictcontainertracking)" from the dropdown menu.

Enter your container number: Enter your container number in the tracking field and click on the "Track" button. You can also enter multiple container numbers separated by commas.

View your container status: Once you click on the "Track" button, PICT's tracking system will display your container status. You can view information such as the vessel name, voyage number, port of loading, port of discharge, and estimated time of arrival.

Note that PICT's tracking system may not always provide real-time information, and there may be delays or discrepancies in the container status updates. If you have any questions or concerns regarding your container tracking, you can contact PICT's customer service through their website or by phone.
mode = Table or View - Fast Load not work
Tags: ssis, etl, sql
Published: 2023-04-12 20:15:21

Hello everyone.


I am working in Visual Strudio 2017, I am loading data from a database on a SQL-Server to a Database on an Oracle Server. The problem is that in the OLE DB Destination the data access mode = Table or View - Fast Load sends the following message:

 

Exception from HRESULT: 0xC0202040
Error at Data Flow Task [Load Table APP_BONOCOMP_TBLBCRUN (GRANT) [38]]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E21.
An OLE DB record is available. Source: "OraOLEDB" Hresult: 0x80040E21 Description: "The system cannot find the message text for message number 0x80040e21 in the message file for OraOLEDB.".

Error at Data Flow Task [Cargar Tabla APP_BONOCOMP_TBLBCRUN (GRANT) [38]]: Failed to open a fastload rowset for ""APP_BONOCOMP"."TBLBCRUN"". Check that the object exists in the database.



We couldn't get the access mode = Table or View to work.

 
Any idea how to solve this.

 
Thank you so much
AI war between CHatGPT and Bard
Tags: chatgpt, ai, bard, discuss
Published: 2023-04-12 20:08:37

[AI War started. Google Launches Google Bard After ChatGPT.](https://www.looklify.com/ai-war-started-google-launches-google-bard-after-chatgpt)

It can generate text, translate languages, write different kinds of creative content, and answer your questions in an informative way. Watch out for exciting features google bard announced.

ChatGPT wins this race but Bard is also trying hard to give it a tough time to ChatGPT in the future. What are your views?
Cybersecurity Experts Are Stunned! You Won't Believe What Hackers Can Do Now!
Published: 2023-04-12 19:52:26

Are you worried about your online security? You should be! Cybersecurity experts are sounding the alarm about a new wave of attacks that could leave your personal information in the hands of hackers.

Hackers have always been a threat, but now they're getting smarter and more sophisticated. They're using cutting-edge technology and new tactics to penetrate even the most secure networks. And once they're in, they can do all sorts of damage.

So what can they do? Here are just a few examples:

Ransomware attacks: Hackers can use ransomware to encrypt your files and demand payment in exchange for the decryption key. This can be devastating for individuals and businesses alike.

Phishing scams: Hackers can send you fake emails that look like they're from your bank, your employer, or even a government agency. They'll ask you to click on a link or download an attachment, which will then infect your computer with malware.

Social engineering: Hackers can use social engineering tactics to trick you into revealing sensitive information. They might impersonate a trusted friend or family member, or pretend to be a customer service representative.

IoT attacks: Hackers can target the Internet of Things (IoT) devices in your home, such as your smart thermostat or your baby monitor. They can use these devices to launch attacks on other networks, or even spy on you.

And these are just a few examples! Hackers are constantly coming up with new ways to exploit vulnerabilities in your online security.

So what can you do to protect yourself? Here are some tips:

Use strong passwords and two-factor authentication.
Keep your software up to date.
Be wary of suspicious emails and links.
Use a virtual private network (VPN) to encrypt your internet traffic.
Back up your important files regularly.
Don't wait until it's too late! Take action now to protect yourself from the growing threat of cyber attacks.
How to fix the "Callback info about the Mix.Task behaviour is not available." error from Dialyzer
Tags: elixir, dialyzer, mix
Published: 2023-04-12 19:44:23

Add this to the `dialyzer` options in your `mix.exs` file:

```elixir
def project do
  [
    dialyzer: [
      plt_add_apps: [:mix]
    ]
  ]
end
```
Registration now open! SLSA 1.0 is here! What’s it mean for you? | April 27
Tags: slsa, devops, devrel, security
Published: 2023-04-12 18:53:37

Register here: [](https://bit.ly/3mn0ZPf) https://bit.ly/3mn0ZPf

Any organization that has taken on the daunting task of securing their software supply chain knows the challenges, pitfalls and caveats that come with implementing security best practices. SLSA 1.0, a community-backed framework that provides a comprehensive checklist of security controls and standards, is here! So what does it mean for you and your organization?

Join us live on Thursday, April 27 at 10 AM PT / 1 PM ET, as we gather SLSA experts from across the industry to discuss the practical uses of the framework and address topics such as:

- What controls are included in the specification and why
Real world developer approaches to software supply chain security

- What's working and what's not working in software supply chain security

- The first thing an organization should do if they want to secure their software supply chain

Featuring:

- Isaac Hepworth, Group Product Manager, Software Supply Chain, Google

- David A. Wheeler, Director of Open Source Supply Chain Security, The Linux Foundation

- Moderated by Alison Sickelka, VP of Product, Cloudsmith
✨Making my Dreams into reality!✨
Tags: beginners, programming, career, frontend
Published: 2023-04-12 17:48:44

Greetings to you who are reading this.
My name is Alli, short for Allison :) and this is my blog where I will be sharing my journey on learning how to code. 
So i am in month two of the front end course at Flatiron online school. 

I found using the mac terminal to be quite amusing as it accesses everything! Im not very tech savvy  so learning what my laptop can do is pretty cool. 

Before starting this program I have never touched any code in my life, so going into this program was pretty stressful. The fist month was pretty overwhelming as it contained a bit of everything that will be taught in the program, i got the hang of the process of handing in labs and was able to finish all the labs on time but i do feel as if i'm just doing it to get it done because after i feel like i still know nothing. I got through this first part of the course with the help of my classmates who have been extremely encouraging.

While completing last weeks work I did have problems reading the indextest.js to create the code needed to pass the lab. When reading the test I understand some of what needs to be put in the code i just have trouble creating the code and identifying the functions needed in the code. 

I used trial and error to find most of the answers for the lab but for the ones i couldn't figure out i would go to my classmates for help. 

Luckily for me Flatiron has the option of booking an appointment with the instructors of the course who will help with any questions. I have used it before and plan to use it again for help reading the test. All the instructors are very kind and very helpful making sure that we understand the material their top goal.
The Dawn of Scraping Browsers
Tags: datascience, puppeteer, playwright, automation
Published: 2023-04-12 17:27:42

Headless browsers were not designed specifically for web scraping. All of them are browser automation tools designed for website testing, etc. In most cases, bot-protection software (such as Akami & DataDom) detects these browsers, making it difficult to scrape on a large scale. It is only because Python and Node.js are open-source tools and easily accessible that programmers use them for scraping.

Learn how the first dedicated scraping browser attempts to simplify this task for dev teams here:
https://medium.com/p/18892624bbc9
Changing the base Linux image in spring-boot:build-image
Tags: springbootmavenplugin, springboot, buildpack, docker
Published: 2023-04-12 16:59:12

---
title: Changing the base Linux image in spring-boot:build-image
published: true
description: 
tags: springbootmavenplugin, springboot, buildpack, docker

# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-04-12 16:33 +0000
---

The spring-boot-maven-plugin can create an OCI image from a jar or war file using Cloud Native Buildpacks.

By default it uses a builder called `paketobuildpacks/builder:base` which is based on Ubuntu 18.04 and is suitable for running a Spring Boot application.

But you can choose another builder, for example:
- `paketobuildpacks/builder:tiny` is a lot smaller because it has the minimum requirements to run you application, even `sh` is absent (you can't open a terminal in this image)
- `paketobuildpacks/builder:full` its the oposite of tiny, containing a lot of tools and commands.
- `paketobuildpacks/builder-jammy-base` is based on Ubuntu 22.04

The list of all builders is available in [Paketo Builders Reference](https://paketo.io/docs/reference/builders-reference/).

It's just a matter of configuring the builder in `pom.xml`:

```xml
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <image>
            <builder>paketobuildpacks/builder-jammy-tiny</builder>
        </image>
    </configuration>
</plugin>
```
Implementing Recommendations with Graph Databases: Best Practices and Examples
Published: 2023-04-12 16:38:32

Graph databases are an ideal solution for implementing recommendation systems, as they can efficiently represent and query complex relationships between users, items, and preferences. In this post, we'll explore the best practices and examples for implementing recommendation systems with graph databases.

## Data Modeling Best Practices
To model recommendation data in a graph database, it's important to follow these best practices:

- **Identify the key entities:** Identify the key entities in the recommendation system, such as users, items, and preferences.
- **Define node and edge properties:** Define node and edge properties to capture important attributes of entities and relationships, such as user demographics, item categories, and user-item interactions.
- **Use consistent naming conventions:** Use consistent naming conventions for nodes, edges, and properties to make the data model more intuitive and easier to understand.

## Querying Best Practices
Once you've modeled recommendation data in a graph database, you can query it to generate personalized recommendations for users. Here are some best practices for querying recommendation data:

- **Use collaborative filtering algorithms:** Use collaborative filtering algorithms, such as user-based and item-based filtering, to generate recommendations based on user-item interactions.
- **Use content-based filtering algorithms:** Use content-based filtering algorithms, such as TF-IDF and cosine similarity, to generate recommendations based on user preferences and item attributes.
- **Use hybrid filtering algorithms:** Use hybrid filtering algorithms that combine collaborative and content-based filtering for improved accuracy.

## Examples of Recommendation Systems
There are several examples of recommendation systems that have been implemented using graph databases. Here are some popular ones:

- **Amazon:** Amazon uses a graph database to store and query user-item interactions, item attributes, and user demographics to generate personalized product recommendations.
- **LinkedIn:** LinkedIn uses a graph database to model professional relationships and generate personalized job recommendations for users.
- **Netflix:** Netflix uses a graph database to model user-item interactions and generate personalized movie and TV show recommendations.

## Conclusion
In summary, implementing recommendation systems with graph databases requires careful consideration of data modeling best practices, efficient querying techniques, and the use of specialized algorithms. By following these best practices and using the right algorithms, you can generate personalized recommendations that improve user engagement and satisfaction.

Check out Apache AGE, an extension for PostgreSQL that lets you build graph databases using SQL and Cypher language on top of relational database.

- [https://age.apache.org/](https://age.apache.org/)
- [https://github.com/apache/age](https://github.com/apache/age)
Great Things Laravel 10.7 Released
Tags: php, laravel, programming, beginners
Published: 2023-04-12 16:15:33

In this release I found two new features and a lot of other fixes and additions, so I wanted to share with you guys 

- Added a pipe() method to the Process layer
https://github.com/laravel/framework/pull/46527

method for the Process layer. This method will run commands in sequence and pass the output of the previous command to the input of the next one, 
This can be handy when you need to chain the result of a group of commands

```php
$pipe = Process::pipe(function ($pipe) {
    $pipe->command('cat test.txt'),
    $pipe->command('grep -i "foo"'),
});
 
$pipe->run()->output(); // "foo"
```

- Validator setValue() method
https://github.com/laravel/framework/pull/46716

method in the Validator class to set the value of a given attribute. The author of the PR gave this description for the need for this method

```php
// with this PR:
$this->validator->setValue($attribute, $value);
 
// previously: very slow!
Arr::set($this->data, $attribute, $value);
$this->validator->setData($this->data);
```

I hope you enjoyed with me and to learn more about this release visit the sources and search more. I adore you who search for everything new.
Source :- https://laravel-news.com/laravel-10-7-0
Source :- https://www.youtube.com/watch?v=JP4xBO26eSQ
Welcome Thread - v220
Tags: welcome
Published: 2023-04-12 15:50:05

---
title: Welcome Thread - v220
published: true
description: Welcome to DEV! A thread of hellos and intros.
tags: welcome
canonical_url: 
---

![The word "Hi" in orange on a blue background with a puppy jumping up into frame](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d19wrchahfy6sj6ojjlt.gif)
---

1. Leave a comment below to introduce yourself! You can talk about what brought you here, what you're learning, or just a fun fact about yourself.

2. Reply to someone's comment, either with a question or just a hello. 👋 

3. If you are new to coding, want to help beginners in their programming journey, or just want another awesome place to connect with fellow developers, check out the [CodeNewbie Org](https://dev.to/codenewbieteam) page on DEV! 

**Great to have you in the community!**