teleren/devto huggingface dataset:
Deploy Spring Boot Application on K8S using Minikube and Docker Desktop.
Tags: k8s, docker, spring, devops
Published: 2023-04-21 08:15:11

**GitHub Link** — [k8s-vishal-bharti-demo
](https://github.com/vishalbharti0000/k8s-vishal-bharti-demo)

**Prerequisites**: Docker Desktop Installed, Minikube Installed

> For Windows: use *Git Bash* command line.


- **Step-1: Start Minikube**

```
minikube start
```
It will start the single node cluster for kubernetes. For 1st time it will take upto 5 minutes or more depending upon your sytem configuration and network speed.

- **Step-2: Set Docker as Minikube Environment.**

```
eval $(minikube -p minikube docker-env)
```
 
Only for Windows: This will configure your docker in minikube environment till your git bash command line is active. When you close or open new window of git bash you need to use this command in every terminal.

- **Step-3: Build Jar file of spring boot application.**

Open the Git Hub project in Intellij or some Ide and build the jar file.

If you use Intellij then you can build this from Maven on side and navigate to product and then Lifecycle and then Install.

> Maven->k8s-vishal-bharti-demo->Lifecycle->install

*Jar file name should k8s-vishal-bharti-demo.jar .

After this step for command to run you need to be in root directory of your project or in root directory of given application.

- **Step-4: Build Docker Image.**

```
docker build -t k8s-vishal-bharti-demo:1.0 -f devops/docker/Dockerfile .
```

This command will build the docker image of spring-boot application.

- **Step-5: Creating Deployment on K8s.**

We need to create deployment file which is already present in repo. This file will create number of pods as configured in deployment.yaml file as replicas. In this I created 3replica set.

```
kubectl apply -f devops/kube/deployment.yaml
```

This will create 3 pods on the k8s cluster. We can check with command:

```
kubectl get pods
```

Now After this application will run in k8s cluster with 3 pods but for accessing those we need single IP and Port. So for that we will deploy service as type: LoadBalancer which will balance the load to these three pods.

- **Step-6: Creating Service on K8s.**

We need to create Service file which is already present in repo. This file will create service to access application.

```
kubectl apply -f devops/kube/service.yaml
```

We can check service with command:

```
kubectl get svc
```

This will show our service as service name k8s-vishal-bharti-demo-svc.

**

- **Step-7: Tunnelling Minikube Service.**

Now After this to access our service from localhost we need to tunnel minikube Ip to localhost.

```
minikube tunnel
```

> Congrats We successfully Deployed our application in K8s.

> We can access application now from [localhost:9000](http://localhost:9000/test) as configured in service.yaml .
> Thanks For Check in My Blog on Medium.
> Contact me on my mail vishalbharti0000@gmail.com and Linkedin for any queries.
> [Linkedin Profile](https://www.linkedin.com/in/vishalbharti0000/): https://www.linkedin.com/in/vishalbharti0000/
Webquick India Pvt Ltd
Tags: digitalmarketingagency, digitalmarketingservices, digitalmarketingcompany, digitalmarketingagencydelhi
Published: 2023-04-21 07:47:39

Webquick India is one of the best digital marketing agency in India, providing a wide range of services such as website development, website designing, digital marketing, social media branding, and google ads. We have a team of highly skilled and experienced professionals who are always ready to help our clients achieve their desired results.We believe in providing quality services and our team is dedicated to ensuring that all our clients are satisfied with our work. So if you're looking for an agency that can help you take your business to the next level.
visit here : [Webquick India Pvt Ltd](https://www.webquickindia.com/)
Top 5 Must-Have Technologies Every Developer Should Bookmark
Tags: javascript, api, ai, frontend
Published: 2023-04-21 07:41:47

As a developer, it's essential to stay updated with the latest technologies and tools to stay relevant in the industry. With new developments happening every day, it can be challenging to keep track of all the innovations. However, some technologies are a must-have for every developer, regardless of their domain. In this blog, we'll discuss the top five technologies that every developer should bookmark to stay ahead in the game.

**Low-Code Development Platforms:**
[Low-code development platforms](https://www.dronahq.com/low-code-platform/) have revolutionized the way developers build software applications. These platforms use visual interfaces and pre-built components to create complex applications, eliminating the need for writing code from scratch. Low-code development platforms can help developers build applications in less time, with less complexity, and with fewer resources, making them an excellent tool for every developer.

**Cloud Computing:**
Cloud computing has become an essential technology for developers due to its scalability, reliability, and cost-effectiveness. Developers can use cloud computing to build, test, and deploy their applications, without having to worry about the infrastructure or hardware requirements. Cloud computing also allows developers to access a vast range of tools and services, making it easier to build complex applications.

**Artificial Intelligence and Machine Learning:**
Artificial Intelligence (AI) and Machine Learning (ML) have become popular technologies in recent years, thanks to their ability to automate processes and make accurate predictions. As a developer, having knowledge of AI and ML can open up new career opportunities and help you build more intelligent applications.

**Blockchain:**
Blockchain technology has taken the world by storm, with its decentralized and secure nature. Developers can use blockchain to build applications that can be trusted and transparent, making it an essential technology to bookmark. Understanding blockchain technology can help developers build applications that are secure and free from fraud.

**Progressive Web Apps:**
Progressive Web Apps (PWA) are web applications that offer an app-like experience to users. PWAs are fast, reliable, and can work offline, making them an excellent technology for developers to bookmark. With PWAs, developers can build web applications that feel like native applications, providing users with a better experience.

In conclusion, as a developer, it's essential to stay updated with the latest technologies to stay ahead in the game. Low-code development platforms, cloud computing, AI and ML, blockchain, and progressive web apps are some of the top technologies that every developer should bookmark. With these technologies, developers can build applications faster, more efficiently, and with better security, providing a better experience to users.
How to start Jenkins Docker container with a given version
Tags: docker, jenkins, cicd
Published: 2023-04-21 07:32:45

---
title: How to start Jenkins Docker container with a given version
published: true
description: Details on how to start new Jenkins Docker container with a give version
tags: docker,jenkins,cicd
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-04-21 07:23 +0000
---
Jenkins is a widely used automation server that helps to streamline software development processes. Docker, on the other hand, is a popular tool for creating and managing containers. Running Jenkins in a Docker container can offer several benefits, such as easy deployment and portability. However, it's important to make sure you're using the right version of Jenkins to ensure compatibility with your existing tools and processes. In this guide, we'll explore how to start a Jenkins Docker container with a specific version, ensuring you have the right tools for the job.

Use the following docker registry to pull docker image to start a Jenkins Docker image:
https://hub.docker.com/r/bitnami/jenkins

Following is the docker pull command to pull 2.346.3 version:

```
docker pull bitnami/jenkins:2.346.3
```

Once pull is completed we can start the Jenkins Docker container with the following command:
```
docker volume create --name jenkins_data
docker run -d -p 8080:8080 --name jenkins \
  --network jenkins-network \
  --volume jenkins_data:/bitnami/jenkins \
  bitnami/jenkins:2.346.3
```
Here I set the port mapping from 8080 to 8080. If you need to map to another port(ex 9000), use `-p 9000:8080` option.

It take some time and you can see jenkins logs with `docker logs <container_ID>` command.

Then, open a browser and go to `http://localhost:8080` and you will see Jenkins login page. User the following credentials to log into it:
Username: user
Password: bitnami
How to Replace All String Occurrences in JavaScript
Tags: javascript, webdev, tutorial, react
Published: 2023-04-21 07:11:02

**To replace all string occurrences in JavaScript, use String.replace() method**.

The `String.replace()` method returns a new string with one, some, or all matches of a pattern replaced by a replacement. 

The pattern can be a **string or a regular expression (RegExp)**, and the replacement can be a string or a function called for each match. 

_Note that If the pattern is a string, only the first match will be replaced._

```
const str = "duck duck go";
const result = str.replace('duck', 'dove');

console.log(result); // 👉️ dove duck go
```

As you can see, the method `String.replace()` replaced only the first match.

## So how can we replace all the matches?

Using **regular expression(RegEx)**, we can remove all the matches.

```
const str = "duck duck go";
const regEx = /duck/;
const result = str.replace(regEx, 'dove');
console.log(result); // 👉️ dove dove go
```

Here, we used regex pattern matching to replace all strings.

_Note that we append the g (global) flag to the regex pattern, which means global._

If the `g` flag is not appended, it **replaces only the first occurrence**.

```
const str = "duck duck go";
const regEx = /duck/;
const result = str.replace(regEx, 'dove');

console.log(result); // 👉️ dove duck go
```

Also, by adding the `i` flag, you can make** case insensitive replacements**.

```
const str = "Duck duck go";
const regEx = /duck/gi;
const result = str.replace(regEx, 'dove');

console.log(result); // 👉️ dove dove go
```

You can also use regex to [remove all special characters from the string](https://stackthrive.com/javascript-remove-special-characters-from-string/).

```
const str = "duck@duck#go";
const regEx = /[^a-zA-Z0-9]/g;
const result = str.replace(regEx,' ');

console.log(result); // 👉️ dove dove go
```

In conclusion, we can easily replace all string occurrences, but I suggest using `String.replace()` method.
My thoughts on Crucial Conversations
Tags: softskills
Published: 2023-04-21 07:05:38

Just read Crucial Conversations by K. Patterson, J. Granny, R. McMillan and A. Switzler. Brilliant book! I recommend it!

A few thoughts from the book and from me:

1.  Ask yourself what you want from the conversation. Know your aim. Stay with it throughout the conversation.
2.  A few more great questions:
    
    What do I want for myself?
    What do I want for others?
    What do I want for the relationship?

    This will help both sides to achieve their aims, maintaining a good relationship.
3.  Treat everyone in the conversation with 100% honesty and 100% respect.
4.  Would you collaborate with a person, who doesn't respect you? Let others feel you respect them and their opinion.
5.  Likewise, let others know you care about them and what they want.
6.  Make sure that people feel safe. When people feel safe, they can talk about almost everything.
7.  When people don't feel safe, they don't want to talk and/or they might interpret even the best intended words as offensive.
8.  If others don't feel safe, encourage them to speak up. If that doesn't help, try challenging your own ideas out loud. You can also try guessing what other people might think to encourage the discussion on a topic.
9.  Silence is not always a confirmation. Maybe people don't feel safe enough to share?
10. More heads can come up with better ideas than one. So put your ideas aside and listen to what other people have to say. Then share (don't push, share) your ideas and let others listen as well. You'll all end up with a common shared knowledge pool. It will be the cornerstone of both better decisions and better relationships.
11. It's hard to change others, but easy to change your own behavior. So if there's an issue, first think what you can do about it.
12. Stay in a dialogue, not in a monologue.
13. Sometimes we feel that some peoples' actions are driving us nuts. Wrong! It's our interpretation of those actions which is driving us nuts. To solve this we can change the stories we tell to ourselves (our interpretations). Of course, we can also share our concerns with those "annoying" people and ask for their own view of the situation.
14. Separate facts from interpretation. He was late to pick you up? That's a fact. He did it because he's a ****? That's an interpretation.

[Come over for more tips!](https://aidas.site/blog/my-thoughts-on-crucial-conversations/)
How Do You Land Your First Job in Tech?
Tags: discuss, beginners, codenewbie, career
Published: 2023-04-21 07:00:00

Are you a new coder looking to break into the tech industry? 

It can feel discouraging and isolating when you're trying to find your first job in tech, especially when it seems like you don't have access to the community or the resources you need to succeed.

You’ve probably heard the refrain: keep learning, be persistent. And you have the list, some variation of this: build a strong portfolio, network, apply for internships, join online communities (like DEV and CodeNewbie!) to connect with other professionals in the industry. 

But what else can you be doing? And are there other ways to approach this challenge?

Let’s ask our more experienced members what steps they suggest for landing you first job in the tech industry. Share some stories: how did you make it happen?

---

Follow the [CodeNewbie Org](https://dev.to/codenewbieteam) and [#codenewbie](https://dev.to/t/codenewbie) for more awesome discussions and online camaraderie!
JSON.parse() vs JSON.stringify()
Tags: javascript
Published: 2023-04-21 06:41:57

The role of JSON.parse is to parse a JSON string into a JavaScript object. In other words, it converts a JSON data into a format that can be understood by JavaScript.

For example, let's assume that we have the following JSON string:

`'{"name":"John", "age":30, "city":"New York"}'`

To convert this string into a JavaScript object, we can use the JSON.parse() method, like this:

`const person = JSON.parse('{"name":"John", "age":30, "city":"New York"}');
console.log(person.name); // "John"
console.log(person.age); // 30
console.log(person.city); // "New York"`


In the code above, the JSON.parse() method parses the string into a JavaScript object and assigns it to the person variable. Then we access the object's properties to print their values.

The JSON.parse() method is the opposite of the JSON.stringify() method, which converts a JavaScript object into a JSON string.
Professional ways to center a div(2)
Tags: css, centerdiv, csstricks
Published: 2023-04-21 05:40:35

There are more ways to center an div in CSS,

Let's check old seven eight ways: https://dev.to/lyfperegrine/professional-ways-to-center-a-div-46eo

8.Perspective and Transform:

```
.container {
 position: relative;
 perspective: 1000px;
}
 .child {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translateX(-50%) translateY(-50%) translateZ(0);
}
```

9.Clip-path:

```
.container {
 position: relative;
 height: 100vh;
}
 .child {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 width: 50%;
 height: 50%;
 clip-path: circle(50% at center);
}
```

10.SVG:

```
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
 <rect x="0" y="0" width="100" height="100" fill="transparent" />
 <foreignObject width="100%" height="100%">
 <div class="child">Centered Content</div>
 </foreignObject>
</svg>
/* CSS */
.child {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
}
```

11.Flexbox with pseudo-elements:

```
.container {
 display: flex;
 justify-content: center;
 align-items: center;
 height: 100vh;
}
.container::before,
.container::after {
 content: "";
 flex: 1;
}
.child {
 width: 50%;
 height: 50%;
}
```

12.Background-size:

```
.container {
 background: url('image.jpg') no-repeat;
 background-size: contain;
 background-position: center;
 height: 100vh;
 position: relative;
}
.child {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 width: 50%;
 height: 50%;
}
```

13.Grid with auto margins:

```
.container {
 display: grid;
 place-items: center;
 height: 100vh;
}
.child {
 margin: auto;
 width: 50%;
 height: 50%;
}
```

I hope the methods we provided for centering a div in CSS will be helpful for you to achieve your desired layout in your project.
"Creating a Scalable AWS Infrastructure with Auto Scaling and Launch Configurations"
Published: 2023-04-21 04:53:31


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

Hey, connections!!👋
🎯Let's learn and grow together.
📢 📢 📢
🎯 Let's Understand ️ ️" 𝐂𝐫𝐞𝐚𝐭𝐢𝐧𝐠 𝐚 𝐒𝐜𝐚𝐥𝐚𝐛𝐥𝐞 𝐀𝐖𝐒 𝐈𝐧𝐟𝐫𝐚𝐬𝐭𝐫𝐮𝐜𝐭𝐮𝐫𝐞 𝐰𝐢𝐭𝐡 𝐀𝐮𝐭𝐨 𝐒𝐜𝐚𝐥𝐢𝐧𝐠 𝐚𝐧𝐝 𝐋𝐚𝐮𝐧𝐜𝐡 𝐂𝐨𝐧𝐟𝐢𝐠𝐮𝐫𝐚𝐭𝐢𝐨𝐧𝐬"
Click the YouTube link https://youtu.be/2gRbLGgw_0k
Happy learning,
🍂🍂🍂🍂
Sources: Google
Follow me, @Manikanta Suru, and @Cloudnloud Tech Community on LinkedIn for more insightful knowledge & resources.
install Go language on Ubuntu
Tags: apacheage, go
Published: 2023-04-19 03:09:00

## Introduction
[Go](https://go.dev)? Sometimes referred as "Golang", is a programming language that was made by Google and they made it available for anyone to use for free in 2012. The main idea behind Go was to create a language that would be easy to learn, so that more people could use it.

## Remove previous installation (if there is any)

Remove any previous Go installation by deleting the /usr/local/go folder (if it exists).

`sudo rm -rf /usr/local/go`

## Installation

**Method 1**

execute the following command

`sudo snap install go`

but it might give the following error:


_error: This revision of snap "go" was published using classic confinement and thus may perform arbitrary system changes outside of the security sandbox that snaps are usually confined to, which may put your system at risk._

_If you understand and want to proceed repeat the command including --classic ._

now run the following command

`sudo snap install --classic go`

_**Go will be installed on your system**_

## Check installation 

to check whether the go is installed or not run the following command

`go version`

it will display the version of installed go language

I hope this tutorial will help you

**Apache AGE viewer Desktop Project is under development in Go**

[AGE viewer Desktop Go](https://github.com/orgs/apache/projects/183)

_**visit Apache AGE:**_

[Official Site](https://age.apache.org)

[Apache AGE Github](https://github.com/apache/age)
44 berufliches Vorwärtskommen: Woher rührt das Davonschleichen?
Tags: deutsch, career, motivation, discuss
Published: 2023-04-21 04:36:00

Moin Moin,

es stellt sich die Frage, was Arbeitskollegen dazu verleitet, sich davonzuschleichen.

Zum einen kann dies an mangelnder Fachkompetenz liegen. Der Arbeitskollege weiß also genau, dass er eine Aufgabe mangelhaft bearbeitet hat und auch, dass er nicht die Kompetenz besitzt diese fachgerecht zu bearbeiten, kommuniziert dieses jedoch nicht ([„Selbstsicherheit rührt von Fähigkeit“→](https://dev.to/amustafa16421/35-berufliches-vorwartskommen-der-eigentliche-weg-mangelnde-fachliche-bildung-1bo6)).

Ein weiterer möglicher Grund: Charakterschwäche. Dies führt uns wieder zur [emotionalen Intelligenz / Sozialkompetenz→](https://dev.to/amustafa16421/comment/25k2n). FachINkompetenz allein erklärt nicht unbedingt ein solches Fehlverhalten. Wie oben angedeutet, können FachINkompetenz und emotionale Unintelligenz zusammenhängen. Dazu zählt auch übersteigerte Angst, was uns zum letzten Punkt führt.

Eine [unreife Fehlerkultur→](https://dev.to/lexlohr/comment/25ka0) ( Danke nochmals [Alex→](https://dev.to/lexlohr) ). Wenn bei Fehlern grundsätzlich mit übertriebenen Ärger gerechnet werden muss oder sogar mit Kündigung, dann begünstigt die UnternehmensUNkultur, die Entwicklung von Davonschleichern.

1. Erhältst du in deinem Unternehmen regelmäßig Fortbildungszeit bzw. Schulungen zur Steigerung deiner Fachkompetenz?
2. Wie sieht es aus mit der sozial Kompetenz?
3. Pflegt ihr eine Fehlerkultur die auf [Nachsicht→](https://dev.to/amustafa16421/10-berufliches-vorwartskommen-die-wohl-wichtigste-charakter-eigenschaft-4n4i) gegründet ist?

Beste Grüße,
Mustafa

Austausch mittels E-Mail: mustafa.kevin.dwenger@posteo.de
Betreff: Austausch
Static Web Hosting for JavaScript: Benefits and How to Get Started
Published: 2023-04-21 04:09:33

## Introduction:

Static web hosting is a type of hosting service that allows you to host a website with static files, which are files that do not require server-side processing. JavaScript is a popular programming language used to create dynamic and interactive web pages.

## Benefits of static web hosting for JavaScript:

Static web hosting has several benefits for hosting JavaScript-based websites. Some of these benefits are:

- Faster loading times:

Static web hosting typically delivers content faster than dynamic hosting because it doesn't need to generate pages on the server-side. As a result, JavaScript files are loaded more quickly, leading to a better user experience.

- Increased security:

Static web hosting is more secure than dynamic hosting because there is no server-side code execution. This means that there are fewer opportunities for attackers to exploit vulnerabilities in your code.

- Improved SEO:

Static websites can be more SEO-friendly than dynamic websites because they are easier to crawl for search engines. This means that your website may rank higher in search engine results pages (SERPs), leading to more traffic and higher conversion rates.

## How to host a static website with JavaScript:

Hosting a static website with JavaScript requires the following steps:

- Choose a static hosting provider:

When selecting a static hosting provider, you need to consider factors such as price, features, and uptime. Some popular options include AWS S3, Netlify, and GitHub Pages.

- Upload your website files:

To upload your website files to your hosting provider, you'll need to use a secure file transfer protocol (FTP) such as FileZilla or Cyberduck. This ensures that your files are uploaded securely and that your website is protected against potential security threats.

- Configure your DNS:

To make your website accessible to users, you'll need to configure your domain name system (DNS) settings to point to the IP address of your hosting provider. This involves updating your DNS records with your hosting provider's IP address.

## Conclusion:

In conclusion, static web hosting is an excellent option for hosting JavaScript-based websites. It offers benefits such as faster loading times, increased security, and improved SEO. To host a static website with JavaScript, you'll need to choose a static hosting provider, upload your website files using a secure FTP, and configure your DNS.

Visit [staticsave.com](https://staticsave.com)