teleren/devto huggingface dataset:
Parametrize Your Custom Bitbucket Pipeline With Variables
Tags: bitbucket, cicd, bitbucketpipeline, ci
Published: 2023-12-30 14:47:52

Bitbucket Pipelines provides a seamless integration for continuous integration and deployment (CI/CD) processes. 

In this article, we'll go through the process of setting up a basic custom pipeline, **using variables**, and configuring **default values** for a smoother and more personalized workflow.

## USE CASE
Sometimes we want to automate some amount of steps. Those steps will execute steps with different values.

One example I faced was to build automation for upgrading Postgres version.

The process consists of some regular steps. And the bitbucket pipeline may look like this:

```
pipelines:
  custom:
    - upgrade_postgres:
      - step:
        name: "some saving of old version"
        script:
          - ./dump_10.sh
      - step: 
        name: "Some steps for raising up new version"
        script:
          - ./load_11.sh
```

The process consists of some regular steps that only differ on the version I want to upgrade from **(10)** and the version I want to upgrade to **(11)**.

Instead of changing the bitbucket-pipeline file, for every iteration of upgrading version, we can **use variables**.

```
pipelines:
  custom:
    - variables: #list variable names under here
       - name: UP_PG_FROM
         default: '11'
         allowed-values:
           - '11'
           - '12'
           - '13'
           - '14'
       - name: UP_PG_TO
         default: '12'
         allowed-values:
           - '12'
           - '13'
           - '14'
           - '15'  	
    - upgrade_postgres:
      - step:
        name: "some saving of old version"
        script:
          - ./build_${UP_PG_FROM}.sh
      - step: 
        name: "Some steps for raising up new version"
        script:
          - ./build_${UP_PG_TO}.sh
```

Notice that in this snipped we set up variables with a set of possible values using keyword **allowed-values** and default values with keyword **default**

And we use those values with the syntax `${variable name}`

This example could lead you to this once you click on **Run Pipeline**:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3jwyyq66ujdqmiajfpu4.png)
What you learning about this weekend? 🧠
Tags: codenewbie, learning, beginners, discuss
Published: 2023-12-30 14:32:00

Howdy partners 🤠 

What's everybody learning on this weekend?

Whether you're sharpening your [JS](https://dev.to/t/javascript) skills, making PRs to [your OSS repo of choice](https://github.com/forem/forem) 😉, sprucing up your portfolio, or [writing a new post](https://dev.to/new) here on DEV, we'd like to hear about it.

Have a wonderful weekend, learn lots, and but of course remember to step away from the computer and enjoy your New Year, otherwise you might end up like Fry down here! 🥳👇

![Fry from Futurama is sitting back in a chair on New Year's Eve alone looking board and blowing a party blower... little does he know the adventure that he's about to go on.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qiqjy474uov4bquu93kc.gif)
Engineering Bolt ⚡: #2 Friday Developer Fun 😎
Tags: meme, webdev, productivity, learning
Published: 2023-12-30 14:03:35

Friday Developers Fun 😎

Do you diligently comment on your code? You should!

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

## 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
Discovering New Tech in 2024
Tags: programming, webdev, career, devresolutions2024
Published: 2023-12-30 13:53:01

If you're diving into the world of software development, you've likely encountered a diverse range of technologies to explore. Here's a sneak peek into what I'll be learning in 2024 (hoping to cover everything 😅):

1. Rust:
First up, Rust. It’s got this rep for being lightning-fast and super reliable. I'm stoked to dive into a language that promises both performance and safety without compromise. They say Rust’s ownership model is a game-changer—I can’t wait to get my hands dirty and see how it handles concurrency fearlessly.

2. Serverless:
Then there's the buzz around serverless computing. The idea of coding without worrying about infrastructure sounds like a dream. I'll be exploring AWS Lambda, Azure Functions, and the likes, getting into this whole new way of building and deploying applications.

3. Azure:
Speaking of deploying, Azure's on my radar. Microsoft's cloud platform offers a ton of services, from AI to data storage. I'm itching to get hands-on and figure out how to leverage Azure’s power for different projects.

4. Langchain:
LangChain is a framework designed to simplify the creation of applications using large language models. As a language model integration framework, LangChain's use-cases largely overlap with those of language models in general, including document analysis and summarization, chatbots, and code analysis.

5. Neo4j:
Neo4j’s all about graph databases. Wrapping my head around representing relationships between data points and mastering graph queries? Count me in. It's going to be fascinating to explore the interconnectedness of data.

6. Golang Concurrency:
Let’s talk Go. Concurrency is at its core, and I’m ready to explore goroutines, channels, and all that jazz. Understanding how Go handles concurrency is going to level up my programming game.

7. Kubernetes:
Then there's Kubernetes—the superhero of container orchestration. I'm gearing up to manage containerized apps like a pro, automating deployments and ensuring high availability in a cloud-native environment.

8. Prisma:
Prisma's promising to simplify database access. I'm excited to see how it streamlines things, allowing me to focus more on the app logic rather than getting tangled in complex queries.

9. Figma:
Ah, Figma! This design tool isn't just about pixels and prototypes; it's about collaborative design processes. I'll be exploring how to bridge the gap between design and code, making UI/UX concepts come to life.

10. gRPC:
And last but not least, gRPC. This RPC framework is all about efficient communication between services. I can't wait to dive into its capabilities, connecting the dots in distributed systems.

---

This year's going to be a rollercoaster of learning, experimenting, and, undoubtedly, a fair share of challenges. But hey, that's what makes this journey into tech so thrilling, right?

Thank you for exploring this diverse tech landscape! You can follow my coding adventures on [GitHub](https://github.com/marpit19) for more insights, projects, and collaborations.

Happy Coding! 🚀👩‍💻👨‍💻
Exploring CSS Math Functions for Powerful Style Calculations
Tags: webdev, css, programming, coding
Published: 2023-12-30 13:23:01



## Introduction:

[Cascading Style Sheets (CSS)](https://www.hostinger.in/tutorials/what-is-css) serve as the backbone of web design. It allows developers to control the presentation and layout of web pages. CSS has evolved over the years, introducing new features to enhance flexibility and responsiveness in web design. One such feature is the inclusion of math functions, a set of powerful tools that enable developers to perform mathematical operations directly within style declarations.

### 1. **Calc() Function:**
The `calc()` function is a cornerstone of CSS math functions. It allows developers to perform calculations within style rules, making it easier to create layouts that adapt to different screen sizes. With `calc()`, you can mix and match different units and perform addition, subtraction, multiplication, and division.

```css
width: calc(50% - 20px);
```

### 2. **Min() and Max() Functions:**
The `min()` and `max()` functions offer a convenient way to set boundaries for values. Developers can specify a list of comma-separated values, and the functions will return the minimum or maximum value, respectively.

```css
width: min(300px, 50%);
```

### 3. **Clamp() Function:**
The `clamp()` function takes three parameters—minimum, preferred, and maximum values. It returns the preferred value if it falls within the specified range; otherwise, it returns the closest bound. This is particularly useful for setting flexible dimensions.

```css
width: clamp(200px, 50%, 500px);
```

### 4. **Abs() Function:**
The `abs()` function returns the absolute value of a number. This can be handy when dealing with calculations that involve negative values.

```css
margin: abs(-10px);
```

### 5. **Sqrt() Function:**
For scenarios where you need to calculate the square root of a number, the `sqrt()` function comes into play. It simplifies the process of deriving square root values for specific design requirements.

```css
width: sqrt(16px); /* results in 4px */
```

### 6. **Trigonometric Functions:**
CSS math functions also include trigonometric functions like `sin()`, `cos()`, and `tan()`. These functions allow developers to calculate the sine, cosine, and tangent of an angle, respectively.

```css
height: sin(30deg);
```

### Conclusion:
Incorporating CSS math functions into your stylesheets can significantly enhance your ability to create flexible and dynamic layouts. Whether you're designing [responsive websites](https://www.one.com/en/websitebuilder/responsive-website#:~:text=clear%20website%20layout.-,What%20is%20a%20responsive%20website%20design%3F,it%20is%20being%20visited%20from.) or crafting intricate animations, these functions provide a powerful set of tools for performing calculations directly within your styles. As you explore these functions, keep in mind that browser support may vary, and it's crucial to check compatibility to ensure a seamless user experience across different platforms. Embrace the versatility of CSS math functions and unlock new possibilities in your web design journey.
[NYCR 2024] New Year's Coding Resolutions 2024
Tags: discuss, lit, go
Published: 2023-12-30 13:05:29

Maybe I'll read this in a few months and laugh. But here I am, sharing a **wishlist** of small and big things I'd like to do in **2024** regarding code

- Develop one or more non-trivial application using **Go** [https://go.dev/](https://go.dev/)
- Practice cloud computing more from a developer perspective
- Delve into the microservices architecture
- Build something with **Lit** [https://lit.dev/](https://lit.dev/)
- Apply design patterns and clean code more

I tried to keep the list short. Who knows how far from this next year's gonna be! Feel free to share yours, bye.
The best app building for developers
Tags: nocode, appmaster, programming, webdev
Published: 2023-12-30 12:47:38

Hello, I want to talk about a topic that concerns all developers:
The platform is really useful when you have to build a whole bunch of interconnected apps. The database design tool seemed intuitive and quick-to-use. You'll be able to integrate any service you need with modules. They make it easy to build complex workflows. You can integrate any service with the power of a click, including slack, zoom, etc. I really like their UX and they offer exceptional customer support. They help with every task, provide useful information and instructions.
The fact that you can build several apps - client facing and internal - using a single backend really makes it easy to create a whole system of apps. Once you come up with business cases, it takes just a little time to translate them into algorithms using the business process editor. The editor is drag and drop so there’s no need to have a developer by your side. The database can be built without any code as well - visual interface makes it very easy for anyone to do that.
[](https://appmaster.io)
https://appmaster.io
farisfarissal285@gmail.com
hello@appmaster.io
Kubernetes Online Training
Tags: kubernetes, docker, devops
Published: 2023-12-30 12:34:32

Docker and Kubernetes - The Complete Guide 
Introduction:
Docker and Kubernetes have emerged as game-changers, revolutionizing how applications are built, shipped, and managed. Let's delve into the core concepts of these technologies, understanding their key components, and how they collectively streamline the development and deployment process. 

What is Docker and Kubernetes?
Meaning of Docker: Docker is a containerization platform that allows developers to package applications and their dependencies into lightweight, portable containers. These containers can run consistently across various environments, ensuring that an application behaves the same way in development, testing, and production.  
Meaning of Kubernetes: K8s, is also known as Kubernetes. It is a container orchestration platform, open-source in nature, designed to automate the deployment, scaling, and management processes for containerized applications. It provides a robust framework for managing containerized workloads, ensuring high availability, scalability, and resilience. 
What are the Key Components of Docker and Kubernetes?
Key Components of Docker:
Docker Engine: The heart of Docker, responsible for creating and running containers.
Docker Images: Lightweight, standalone, and executable packages that include application code, runtime, libraries, and system tools.
Docker Containers: Instances of Docker images that run as isolated processes on the host machine.
Docker Hub: A cloud-based registry for sharing and accessing Docker images, facilitating collaboration among developers.
Key Components of Kubernetes:
Nodes: The physical or virtual machines that run containers.
Pods: The smallest deployable units in Kubernetes, representing one or more containers that share storage, network, and a specification.
Services: A stable endpoint that abstracts the networking details, enabling communication between different pods. 
ReplicaSets: Ensures the desired number of identical pods are running to enhance availability and fault tolerance.
Master Node: Controls and manages the cluster, deciding when and where to deploy applications.
Conclusion:
Docker and Kubernetes form a powerful stack for modern application development and deployment. Docker simplifies packaging and distribution, while Kubernetes orchestrates the deployment and scaling of containerized applications. 
Visualpath is the Leading and Best Institute for learning Docker And Kubernetes Online in Ameerpet, Hyderabad. We provide Docker Online Training Course, you will get the best course at an affordable cost.
Attend Free Demo
Call on - +91-9989971070.
Visit : https://www.visualpath.in/DevOps-docker-kubernetes-training.html
Blog Visit: https://dockerandkubernetesonlinetraining.blogspot.com/
Boxes 4 Soldiers
Published: 2023-12-30 12:14:52

B4S helps your friends and family to send you military care packages, making sure the shoeboxes full of goodies are just what you need.  The free mobile and pc app will let you list the items you need and by sharing it via email and social media, your friends and relations can login and select what they plan to send in their care packages, you get emailed and no more random stuff will be sent, well your friends can send anything they want and probably will surprise you with something else in the goodie boxes.
[Royal Air Force](https://royal-air-force.boxes4soldiers.co.uk/)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/adueq3pyxai3yyfqnce1.png)
Hot and Fresh Meals Onboard: How to Order Food in Train with ZoopIndia.com
Tags: food, train, news, productivity
Published: 2023-12-30 12:11:03

Train journeys can be a delightful experience, but finding quality food on the go can often be a challenge. Fortunately, ZoopIndia.com is here to make your train travel tastier and more convenient than ever. In this blog post, we'll explore how travelers can effortlessly order hot and fresh food right to their train seats using ZoopIndia.com's services.

1. Easy Online Ordering:

Ordering [food in train](https://www.zoopindia.com/) has never been simpler. With ZoopIndia.com, you can place your food order online in a few easy steps. No need to rely on station vendors or pantry car offerings.

2. Extensive Menu Variety:

ZoopIndia.com offers a wide array of culinary choices. Whether you crave North Indian classics like biryani or prefer South Indian delicacies like dosas, their extensive menu has something for every palate.

3. User-Friendly Platform:

Navigating ZoopIndia.com's website or mobile app is a breeze. Enter your train details, select your station, and browse through the mouthwatering menu options. Ordering delicious food on your train journey has never been more convenient.

4. Customization at Your Fingertips:

Have specific dietary preferences or allergies? No problem. ZoopIndia.com caters to your needs, offering vegetarian, vegan, and Jain meal options, ensuring you enjoy a personalized dining experience.

5. Quality and Hygiene Assurance:

ZoopIndia.com places a high priority on food quality and hygiene. Every meal is prepared with the freshest ingredients and stringent quality standards, so you can savor your food with confidence.

6. On-Time Delivery:

Worried about your meal arriving late? ZoopIndia.com's prompt delivery service ensures that your food reaches you on time, allowing you to relish your meal without any delays.

7. Affordable Dining:

Eating well on a train need not break the bank. ZoopIndia.com offers budget-friendly meal options that let you enjoy restaurant-quality food at reasonable prices.

8. Secure Payment Options:

Making payments is hassle-free with ZoopIndia.com. They accept various payment methods, including UPI, credit/debit cards, digital wallets, and more, ensuring a seamless ordering experience.

9. Customer Reviews and Ratings:

Still unsure? Check out the reviews and ratings from satisfied travelers who've used ZoopIndia.com. Their positive testimonials speak volumes about the quality and satisfaction ZoopIndia.com delivers.

10. 24/7 Availability:

Craving a late-night snack or an early morning breakfast? ZoopIndia.com's round-the-clock service is there to cater to your food cravings at any hour of the day or night.

Conclusion:

Next time you're traveling by train and hunger strikes, remember that you can enjoy hot and fresh meals right at your seat with ZoopIndia.com. Say goodbye to bland train food and elevate your train journey with delicious options that cater to your taste and preferences. With ZoopIndia.com, train travel becomes a culinary adventure you'll look forward to.
How to Leverage AI in SEO for Data Insights and Content Efficiency
Published: 2023-12-30 11:47:43

This comprehensive guide brings together the collective wisdom of four essential articles. We'll delve into the power of AI-driven data insights to formulate strategic SEO campaigns, explore how AI SEO optimization can elevate your online presence, uncover techniques for maximizing local visibility through AI, and discover the art of scaling content production using AI.

Read more: https://seovendor.co/how-to-leverage-ai-in-seo-for-data-insights-and-content-efficiency/
Nest.js Nested Routing, Wildcard, Request
Tags: javascript, node, nestjs
Published: 2023-12-30 11:40:17

In previous blog, we understood about Nest.js controller and now we will be exploring a bit about nested routing, wildcard and starting with nest.js request.

## Nest.js Nested Routing: A Modular Approach

Nest.js encourages a modular and organized structure for building applications. One key aspect is nested routing, where routes are organized hierarchically, mirroring the structure of your application. This approach provides clarity and maintainability, making it easier to manage the complexity of larger applications.

This is a simple Nest.js controller:

```js
import { Controller, Get, Param, Post } from '@nestjs/common';

@Controller('cats')
export class CatsController {
@Get()
  findAll(): string {
    return 'This action returns all cats of Shameel!';
  }
}
```
If you send GET request to `/cats/` then it will return `'This action returns all cats of Shameel!'`.

In order to make nested routes within this controller for GET request handler for this case, all you have to make changes is in `@Get()` decorator to something like this:
```js
@Get('/shameel/123')
```
Now you can access this route with this:
```
/cats/shameel/123
```

## Wildcard Routes

Wildcard routes in Nest.js provide a way to capture dynamic or unpredictable segments in a URL, enabling the handling of various scenarios within a single route.

You can make changes like this:
```js
@Get('/sha*eel/')
```
Now you can access it with any character between "sha" and "meel". For example:
```
/cats/shameel
/cats/sha1eel
/cats/shaweel
```

## Nest.js Request

In Nest.js, the `@Req()` decorator is used to access the underlying Express.js request object. This decorator allows developers to tap into the details of an incoming HTTP request, gaining access to headers, parameters, and other request-specific information.

For better typing in TypeScript, please install this as dev dependency.

```js
npm install @types/express --save-dev
```

Now you need to replace the controller code with this:
```js
import { Controller, Get, Req } from '@nestjs/common';
import { Request } from 'express';

@Controller('cats')
export class CatsController {
  @Get()
  findAll(@Req() req: Request): string {
    console.log(req);
    return 'This action returns all cats of Shameel!';
  }
}

```

As you can see that we have added `@Req` as a decorator and when you check your terminal after hitting `/cats/`, then you will observe request object similar to express.js.

Follow me for more such content:
YouTube: https://www.youtube.com/@ShameelUddin123
LinkedIn: https://www.linkedin.com/in/shameeluddin/
Github: https://github.com/Shameel123