teleren/devto huggingface dataset:
Continuous Deployment
Tags: cicd, devopsplatforms, softwaredeliveryplatform
Published: 2023-03-31 10:16:49


**[Onboard any Container Ready Application]**
Save your DevOps teams from unwanted hassles as they onboard any registries or repositories onto the platform and deploy quickly to Kubernetes.


**GUI-based Pipeline Configurator**
Automate deployments across various environments and cloud providers with ease. Choose from 100+ preloaded pipelines & tasks from a catalogue. Customize pipelines based on your requirements with DIY workflows.

**
Release Applications in Half The Time!**
Plan and execute CD Pipelines with minimal cloud native expertise. Manage application releases onto Kubernetes in a few clicks and automate app deployments at scale across clusters.

**
Manage Helm Releases**
Deploy helm packaged applications effortlessly. Manage private helm charts with a better transparency of state management for your helm applications.

**
Incremental Rollouts & Instant Rollbacks**
Enterprises can implement stage wise rollout strategy using canary or blue/green deployments in CD pipelines. Rollback instantly from failed deployments to prevent business losses.

**
Pipelines Runtime View**
Get powerful insights in real time with pipeline runtime logs and metrics. Debug and fix faulty deployments that could potentially improve the application deployment speed.

**
Pipelines Runtime View**
Get powerful insights in real time with pipeline runtime logs and metrics. Debug and fix faulty deployments that could potentially improve the application deployment speed.
Build a Complete Website from Scratch with Tailwind & TailGrids
Tags: webdev, tailwindcss, beginners, css
Published: 2023-03-31 09:52:10

Hello everyone, today we are going to build a complete website with Tailwind CSS and + Tailgrids. 
TailGrids is a Tailwind CSS component library which makes the process of building websites super fast and easy. 

Today we are going to build a website from scratch using Tailwind & TailGrids.
So, let’s get started.

**If you prefer video content, check this out**

{% youtube F-I8oEzwuQA %}

### #1: Setup a Tailwind Project

**1: Install tailwind and create init file**

To build a project with Tailwind, you must first install it and crate tailwind css config file. Run the following commands to install:

```jsx
npm install -D tailwindcss
npx tailwindcss init
```

**2: Configure your template paths**

```jsx
/** @type {import('tailwindcss').Config} */
module.exports = {
  content: ["./src/**/*.{html,js}"],
  theme: {
    extend: {},
  },
  plugins: [],
}
```

**3: Add the Tailwind directives to your CSS**

```jsx
@tailwind base;
@tailwind components;
@tailwind utilities;
```

**4: Start the Tailwind CLI build process**

```jsx
npx tailwindcss -i ./src/input.css -o ./dist/output.css --watch
```

The build command is too long. So, for simplicity let’s add it to package.json file as a script. 

```jsx
"dev": "tailwindcss -i ./src/input.css -o ./dist/output.css --watch"
```

Now, whenever you want to start the project just run:

```jsx
npm run dev
```

It’ll start the build command easily. 

**5: Include the output.css file in html**

Create an Index.html file in the dist. Then include the output.css file to it.

Note: you name anything you like it doesn’t have to be output.css

### #2: Setup TailGrids

So, we got Tailwind setup done. Now, we need to get TailGrids. 
To get the access to TailGrids All you have to do is purchage the Library. It has three plans, go ahead and get the one you need. 


![TailGrids Pricing Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1i57xlimxorrd2iob80l.png)



### #3: Build the website

All the setup is done!
Now, let’s build the site. To build the site all you have to do is, go to TailGrids site and go to components tab. And then choos the components you like to add to your website. 


![TailGrids component page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pcr0vnltoe2qdmxl9z6d.png)



Copy the code and then customize the contents and the images. 


![TailGrids copy component page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d64ccnndze8x1gfahp39.png)



That’s it that’s how you can build a website super fast using Tailwind CSS and TailGrids.

Here’s a site I built from scratch using Tailwind CSS and TailGrids. 

Link:

### Conclusion

In this article I showed you how to build a website from scratch using Tailwind Css and TailGrids.

Hope you enjoyed this short article. If you want to see more articles or tutorials like this follow me. 

YouTube: [coderamrin](https://www.youtube.com/channel/UCiHUi4wJ6rkPSQ5n4bxKU1A?sub_confirmation=1)

Twitter: [https://twitter.com/CoderAmrin](https://twitter.com/CoderAmrin)
GitHub Profile Builder 🚀
Tags: github, showdev
Published: 2023-03-31 09:40:45

Hey everyone, I wanted to share with you my `GitHub-Profile-Builder` - a curated collection of the best GitHub repositories to help you build the best profile possible. Whether you're new to GitHub or a seasoned developer, our collection of templates and resources will help you showcase your skills, highlight your contributions, and make your profile stand out. We've handpicked the best tools and tips from the community, but we're always looking for more great resources to add. If you have a suggestion or contribution, we welcome your input! Give it a try and take your GitHub profile to the next level.

[GitHub-Profile-Builder](https://github.com/Ntshangase/GitHub-Profile-Builder)
Help Me Regarding Some code error
Tags: webdev, beginners, programming, tutorial
Published: 2023-03-31 09:16:17

I Have Copied this code from a link i edited it and added my own images but i am unable to fix share this to whatsapp button kindly help me 
https//bit.ly/40Lcs9G
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gfp3eggm0s4y3uagkxrl.png)
TIL: Stubbing nested, global properties in Vitest
Tags: testing, vite, vue, todayilearned
Published: 2023-03-31 09:15:16

I recently upgraded some functionality of our legacy codebase to fit our new Stack containing:

- Vue3/Nuxt3
- Vite
- Vitest
- Typescript

The feature that had to be rewritten was a scroll-depth tracking. It extensively uses `IntersectionObservers` and some global properties like `innerWidth` or `document.visibilityState` to do some checks. As I had a hard time testing changes on `document.visibilityState` changes, I write this post so you won't have to deal with them.

TLDR;

```
vi.spyOn(document, 'visibilityState', 'get').mockImplementationOnce(() => 'hidden');
```

## First approach: simply setting it

Does not work as `document.visibilityState` is defined as `read-only`. It is, however a solution if you want to manipulate `window.innerWidth` as shown in the [docs](https://vitest.dev/api/vi.html#vi-stubglobal)


## Second Approach: Using global stubs

The first idea I had was to use [global stubs](https://vitest.dev/api/vi.html#vi-stubglobal-1). With these you can overwrite a global property or object and provide [Mock](https://vitest.dev/guide/mocking.html) to use instead. I used this to stub the `IntersectionObservers` as suggested in the docs.

Unfortunately, if you need the functionality of the original object somewhere else this won't work as it apparently gets hoisted, meaning it is not scoped to your current test. For me, this did not work. `vi.unstubAllGlobals()` did not reset the stubs which may have prevented this issue as we use JSDOM.


## Third Approach: Using a `spy`

[`spy`s](https://vitest.dev/api/vi.html#vi-spyon) are `function`s which observe the use of `method`s. You can use them like so `vi.spyOn(object, "methodName")`. They are usefull in cases where you check if calling a `function` or `method` calls another `function` or `method`. This helped me to find out if the `function` I was testing was called. However, I needed to now if it was called with the correct argument.


## Solution: mocking the return of a `getter` you `spy` on

After a bit of tinkering I found out, that `vi.spy` accepts a third argument and allows me to provide a `mockImplementation` for that `setter/getter`. The third parameter describes if the property - instead of being a method - is a `getter` or `setter`. 

Hence I ended up with the following solution:

```JS
vi.spyOn(document, 'visibilityState', 'get').mockImplementationOnce(() => 'hidden');

// and later

vi.spyOn(document, 'visibilityState', 'get').mockImplementationOnce(() => 'visible');
```

If you have questions, better ideas or find errors, please leave a comment. 

Cheers!
BROUGHT TO YOU BY SERVERSEA.PK TIPS FOR A FAST-LOADING WEBSITE SPEED
Published: 2023-03-31 09:11:29

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

**WHY FAST LOADING SPEED IS NEEDED?
Websites having low speeds do not rank well in
search engines.
Users and website visitors are more inclined to leave
websites that take more than 3 seconds to load.
Slow loading website has high bounce rate and low
income due to low CTR.** 
BROUGHT TO YOU BY [SERVERSEA.PK](https://www.serversea.pk/)

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

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nvew7nm023xma1oiokv7.jpg)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/durcauwi46g7j0mcuxdu.jpg)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5r29m3gbm1dp8gwjntc3.jpg)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cc0g7365d13cbrd3mzu6.jpg)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0e32em36z31sn5a92n96.jpg)
Hello everyone. No challenge with me.
Tags: job, webdev, programming
Published: 2023-03-31 08:59:29

Hi, everyone!.
My name is Austin Lee from Singapore.
I am a Senior Frontend engineer with more than 5+ years of extensive experience and Bachelor of Business Administration(BBA).
In the Frontend side, there is no difficult challenge with me.
If you have any problem or job, please contact me anytime.
Then I will reply as soon as I see.

Skype: live:.cid.59aa75db18e0f726
Telegram: https://t.me/AustinLee0125
Email: talenteddev0125@gmail.com

Hope you are doing well.
Best regards.
GitHub Secret tool !
Tags: webdev, programming, github
Published: 2023-03-31 08:57:16

Did you know that GitHub has a secret tool?

## GitHub dev

GitHub.dev is an editor introduces a lightweight editing experience that runs entirely in your browser. With the github.dev editor, you can navigate files and source code repositories from GitHub, and make and commit code changes. You can open any repository, fork, or pull request in the editor. [According to this article.
](https://docs.github.com/en/codespaces/the-githubdev-web-based-editor)
How to open github dev?
To open it you will need to select the repo that you want to edit.
Then change github.com to github.dev and that's it :)
Sticky nav bar
Published: 2023-03-31 08:51:40

Hey:)

You can easily make your nav bar sticky at the top
Html:

```
<!DOCTYPE html>
<html lang=”en”>
<head>
    <meta charset=”UTF-8″>
    <meta http-equiv=”X-UA-Compatible” content=”IE=edge”>
    <meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
    <link rel=”stylesheet” href=”style.css”>
    <title>Sticky</title>
</head>
<body>
    <nav id=”nav”><h1>Content</h1></nav>
</body>
</html>
```
CSS:

```
#nav{

    position:sticky;

    top:0;

    left:0;

}
```
Insertion Sort
Tags: insertionsort, algorithms, datastructure, javascript
Published: 2023-03-31 08:55:19

Insertion sort builds the final sorted array one item at a time by comparisons. works best on small datasets and is much less efficient than quicksort, mergesort.

My understanding on this is that insertion sort removes one item from the input array/list, finds the location it belongs within the sorted list, and inserts it there. it repeats until no input elements remain.

below is the solution, using a recursive approach:

```
const insertionSort = (arr, n) => {
    if(n > 0) {     //base case
        insertionSort(arr, (n - 1))
        
        let x = arr[n];
        let j = (n - 1);

        while (j >=0 && arr[j] > x) {
            //swap 
            arr[j+1] = arr[j];
            j = j - 1;
        }
        arr[j+1] = x;

        console.log(arr, '\n');
    }
}
const inputArr = [5,10,1,25];
insertionSort(inputArr, (inputArr.length - 1));  // [1, 5, 10, 25]
```
Worst/Average case: O(n^2)
However insertion sort is the fastest in sorting small datasets, even faster than quicksort. but terrible with large datasets.
While seeking for a job, having a portfolio website is helpful for showcasing your abilities.
Tags: webdev, javascript, productivity, job
Published: 2023-03-31 08:55:03

Although while a website for your portfolio can be a great tool to highlight your abilities and experience, it's crucial to keep in mind that it's only one step in the overall job search procedure. You'll need to do a more thorough job search if you're trying to get employment.

Here are some additional approaches to think about:

**1. Customize your resume and cover letter**

Although your portfolio website can show off your work visually, it's crucial to also have a strong CV and cover letter that are tailored to the job you're seeking for. Make sure to highlight your most pertinent experiences and talents in your application documents.

**2. Network**

One of the best ways to locate a job is by networking. Visit trade shows, join LinkedIn groups for professionals, and get in touch with anyone in your network who might be able to provide you recommendations or advise. Don't be scared to ask for assistance; most individuals are eager to help a driven and enthusiastic person.

**3. Apply to jobs**

In addition to networking, you ought to actively pursue employment. Find positions that fit your qualifications and experience by using job boards and corporate websites. Make sure your application is strong and contains a résumé and cover letter that are both well-written.

**4. Practice your interviewing skills**

As you begin receiving interviews, it's critical to be ready. Practice responding to typical interview questions while researching the organization and the role. When asked about your portfolio website, if applicable, be prepared to discuss your relevant experience and talents in detail.

In conclusion, a portfolio website can be a fantastic tool to highlight your abilities and expertise, but it's crucial to keep in mind that it's only one stage of the hiring process. You must tailor your application materials, network, submit applications for employment, and hone your interviewing techniques if you want to increase your chances of landing a job. You can improve your chances of finding your dream job by adopting a thorough strategy.
Azure for Beginners: A Guide to Getting Started with Microsoft's Cloud Platform
Tags: beginners, devops, cloud, tutorial
Published: 2023-03-31 08:49:19

If you're new to the world of cloud computing, you might be wondering where to start. With so many options out there, it can be overwhelming to figure out which platform to choose. But if you're looking for a powerful and user-friendly cloud platform, Microsoft's Azure might be just what you need.

In this post, we'll walk you through the basics of getting started with Azure. We'll cover what Azure is, how it works, and some of its key features and benefits.

First off, **what is Azure?** Azure is a cloud computing platform that allows you to build, deploy, and manage applications and services on a global scale. With Azure, you can take advantage of a wide range of tools and services, from virtual machines and databases to machine learning and AI.

One of the biggest benefits of Azure is its **scalability**. Whether you're a small startup or a large enterprise, Azure can scale up or down to meet your needs. You only pay for what you use, so you don't have to worry about investing in expensive hardware that you might not need.

Another key feature of Azure is its **flexibility**. With Azure, you can use the programming languages, frameworks, and tools that you're already familiar with, so you don't have to spend time learning new ones.

So how do you get started with Azure? First, you'll need to create an account on the Azure portal. From there, you can explore the various services and tools that Azure has to offer, and start building your own applications and services.

If you're new to cloud computing, Azure might seem intimidating at first. But with its user-friendly interface and powerful features, it's a great choice for beginners and experienced developers alike. So why not give it a try and see what it can do for you.
How to make a `ListView.builder` Start from a specific index in flutter.
Tags: flutter, dart, mobile
Published: 2023-03-31 08:34:33

I was working on a chat application which I used ListView.builder to render the chat messages.

I had a problem of resuming from the last message read by the user, this poses a bad user experience if users can not resume from the last read message as most chat applications do.

Programmatically, I need to start the chat message lists from the index of the last read message by the user.

- Get the index of the last read message
- Assign the index to the list view builder 

I checked online for solutions and tips, I found out so many developers faced the same problem but **I could not found any tangible solution.**

After so many personal approaches I finally settled for the one with the best user experience and well optimised.

There is a dart package on pub spec

> [scrollable_positioned_list](https://pub.dev/packages/scrollable_positioned_list)

> Use the package as your listView builder.

The package has a property called `**initialScrollIndex**`.

The value you assign to the **initialScrollIndex** will be the index where the listView will start from, irrespective of how large the data is, it works well.

Most importantly, the value of your `**initialScrollIndex**` **must not be out of range**, so as a good developer, it's essential you check the length of the data your listview is building before assigning a value to the `initialScrollIndex`.

Using `StartIndex` as the index you want your listView to start from, and `alldataLength` is the total length of all the chat messages you are loading.

```
initialScrollIndex: alldataLength > startIndex ? startIndex : 0
```
The above code safely prevents your app from crashing by ensuring that your `startindex` is not out of range of the `alldataLength`.


```
ScrollablePositionedList.builder(
  itemCount: alldataLength,
  itemBuilder: (context, index) => Text('Item $index'),
  initialScrollIndex: alldataLength > startIndex ? startIndex : 0 
);
```

keep fluttering!
Cheers!
22 berufliches Vorwärtskommen: Ein gerader Berufsweg – Der Anfang.
Tags: deutsch, career, austausch, 1min
Published: 2023-03-31 08:28:43

Moin Moin,

gibt es eine Vorgehensweise durch die man auf einen geraden Berufsweg kommt? Ich denke ja, und diesen Gedanken, möchte ich mit dir teilen.
Zunächst:
> Ein gerader Berufsweg := Ein Berufsweg der von Anfang an zu einem passt, auf dem man sein volles Potential entfalten kann und an dessen Ende man froh und dankbar ist, diesen Weg gegangen zu sein.

Um gut zu starten, setze man sich mit dem auseinander, was Robert Greene als _”primary curiosity”_, in seinem Buch Mastery, bezeichnet. Dies ist ein Erlebnis, ein Phänomen oder ähnliches durch welches wir, für gewöhnlich als Kind, eine tiefe Neugierde bei uns selbst beobachtet haben. 

Bei Albert Einstein soll dies eine sich bewegende Kompassnadel gewesen sein. Er fragte sich daraufhin, was es für weitere unsichtbare Kräfte, neben der Schwerkraft, gibt. 
Der Rest ist Geschichte.

Was ist deine ursprüngliche Neugierde?

Beste Grüße,
Mustafa

Nachtrag:
[Buchzusammenfassung – Mastery – Robert Greene↗](https://www.youtube.com/watch?v=xBjz2hOJFDo)
Dauer ungf. 9 Minuten.
„Ursprüngliche Neugierde“ in den ersten 4 Minuten.
Are you searching for best YouTube advertising agency in India
Published: 2023-03-31 08:28:43


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

YouTube is truly surprising and most prominent video-sharing stages on the planet, which makes it an incredibly significant appearance device. It has determinedly been a wellspring of interfacing with, moving, and edifying substances. This second most basic web record has gigantic traffic and a huge number of significant solid areas for typical. **[YouTube advertising agency](https://www.indidigital.in/product/youtube-advertising-agency-india-video-ads-marketing-services/)** India can assist with working on your Internet design overhaul and in standard brand presence.

YouTube can be a differentiation in the development of your business. As per assessment, Youtube has in excess of a billion in number of clients and can be gotten to in 76 extraordinary lingos. Youtube has in excess of 50 million substance makers conveying accounts dependably. With YouTube advertising agency India it awards patrons to introduce captivating substances that are clear for watchers to consume and share.

**[Indidigital](https://www.indidigital.in/product/youtube-advertising-agency-india-video-ads-marketing-services/)** is a basic and recognized YouTube advertising agency India. In this way, make and spread out secret IDs with us. Notwithstanding it, advance the business and whiz the model authority to the larger part. YouTube advertising agency India that is known for giving the best quality to our clients.
Despite it, our gatherings are additionally too prepared in this field. Accordingly, decline the greatness of improvement with us. In any case, this is the fundamental clarification that our chain of clients is making each little move toward turn since they experience all the stress over us.

The guard for the standing of video sees. In the event that they crossed around 1,000,000 perspectives, it displayed on the superstar of each and every telephone. **[YouTube advertising](https://www.indidigital.in/product/youtube-advertising-agency-india-video-ads-marketing-services/)** agency India presents in excess of 5,000,000 perspectives for our clients. With the objective that they drop by the standard outcome from us, and we Indidigital will truly have to satisfy their assumptions. They will pick us for future activities moreover. A standard need could have emerged to drive their business through us. Generally masses are drawn to any YouTube advertising agency India through the affiliations. Luckily, we give astonishing and strong connections to our clients.


**[YouTube advertising agency India](https://www.indidigital.in/product/youtube-advertising-agency-india-video-ads-marketing-services/)**

To get in touch with INDIDIGITAL TEAM, contact at India contact #- +91-9971778006, USA Contact #- 1–8068484144, email us- contact@indidigital.com, skype us- indidigital, indidigital@gmail.com For more visit our website: https://www.indidigital.in/