teleren/devto huggingface dataset:
DevOps Overview
Published: 2024-01-31 17:09:32


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mq4rfvce50nlw6gvjzev.JPG)
Simplifying DevOps: A Teamwork Boost for Software Success
In the tech world, DevOps is like a secret sauce that makes sure everyone in the software team works together seamlessly. Let's break it down into simple terms:
Understanding DevOps:
DevOps is a cool way of saying that developers and operations folks are now best friends. They team up to make software faster and better by talking to each other a lot.
Automation:
Think of automation like a superhero sidekick. It helps the team do their work super-fast without making mistakes. So, instead of doing boring tasks over and over, they get the computer to do it for them!
Scaling:
Imagine you have a magic button that makes your computer work even faster when lots of people are using it. That's scaling! DevOps makes sure your computer can handle a big crowd without slowing down.
Infrastructure as Code (IaC):
Okay, this one's like building with Lego blocks. Instead of setting up computers one by one, you create a plan (code) that tells the computer how to build itself. It's like having a recipe to make your computer do what you want.
Why DevOps is Important:
Speedy Delivery: DevOps helps make and deliver software really quickly. Like, super-fast, so you can get cool updates and new features sooner.
Teamwork Wins: It makes developers and operations teams work together smoothly, like a well-oiled machine. This teamwork leads to solving problems faster and coming up with cool ideas.
No More Bugs: DevOps uses tricks to catch mistakes early on. That way, the software is less likely to have problems, and it works better.
Super Reliable: Everything becomes more stable and reliable, like your favorite toy that never breaks. DevOps makes sure things work smoothly every time.
Firebase Firestore Security Rules Tutorial
Published: 2024-01-31 17:07:06

**Introduction**

Firestore security rules play a crucial role in protecting your data and defining access permissions for users of your application. In this tutorial, we'll explore how to write security rules for a Firestore database, using a hypothetical blogging application as an example.

### Requirements:

- Firebase project with Firestore database.
- Basic understanding of Firestore collections and documents.
- Authentication implemented (for user roles).

## Scenario

In our blogging application, we have three main collections:

1. **comments**: Contains comments on blog posts.
2. **projects**: Stores information about various projects.
3. **certificates**: Holds details about certificates earned by users.

## Step 1: Basic Setup

Assuming you have already set up your Firebase project and initialized Firestore, let's create a basic security rule structure.

```firebase
rules_version = '2';

service cloud.firestore {
  match /databases/{database}/documents {
    // Your rules will go here
  }
}
```

## Step 2: Allowing Read and Write for Comments

Let's start by allowing read and write access for the "comments" collection.

```firebase
match /databases/{database}/documents {
  match /comments/{commentId} {
    allow read, write: if true;
  }
}
```

This rule allows any user to read and write comments. However, in a real-world scenario, you may want to restrict access based on user roles or other conditions.

## Step 3: Restricting Write Access for Projects

Next, let's allow read access but deny write access for the "projects" collection.

```firebase
match /projects/{projectId} {
  allow read: if true;
  allow write: if false;
}
```

This ensures that users can only read project information but cannot modify it directly.

## Step 4: Admin-Only Write Access for Certificates

For the "certificates" collection, let's grant write access only to users with an "admin" role.

```firebase
match /certificates/{certificateId} {
  allow read: if true;
  allow write: if request.auth != null && get(/databases/$(database)/documents/users/$(request.auth.uid)).data.role == 'admin';
}
```

This rule checks if the request is from an authenticated user and if that user has an "admin" role.

## Conclusion

Writing Firestore security rules requires careful consideration of your application's requirements. Always ensure that your rules provide the necessary security without compromising functionality. Regularly test and iterate on your rules as your application evolves.

Remember to deploy your rules to your Firebase project using the Firebase CLI or the Firebase console.

This tutorial provides a basic starting point, and you should adapt the rules based on your specific use case and user authentication implementation.

Happy coding!
How to actually prepare for Coding Interviews
Published: 2024-01-31 17:06:48

---
title: How to actually prepare for Coding Interviews
published: true
description: algorithms, data-structures
tags: 
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2024-01-31 02:16 +0000
---
The best way to prepare for coding interviews is really a function of two things:

- Leetcode fitness
- How much time you have 

Ideally you want as much of each possible but we live in the real world where time is scarce and engineering expertise doesn't translate to leetcode fitness.


## 1. Basics

Say you have all the time in the world; you're not actively interviewing but you want to stay sharp. You want to master all the fundamentals. Read these books then solving as many as 500 leetcode questions, at least 100 hard.
 
  - [Cracking the coding interview](https://www.crackingthecodinginterview.com/)
  - [Algorithmic Thinking](https://www.amazon.com/Algorithmic-Thinking-Problem-Based-Daniel-Zingaro/dp/1718500807)
  - [Elements of Programming Interviews](https://www.amazon.com/Elements-Programming-Interviews-Python-Insiders/dp/1537713949)


## 2. Test

Having mastered the basics you should be comfortable testing your knowledge with the popularized 75 random questions like:

  - [Grind 75](https://www.techinterviewhandbook.org/grind75)
  - [Leetcode 75](https://leetcode.com/studyplan/leetcode-75/)
  - [Blind 75](https://www.designgurus.io/blind75)

These lists have a good mix of easy, medium and hard questions that are likely to asked in interviews. You want to ace them within a month of your interview(s).


## 3. Refresh

After testing yourself, you may find gaps in your knowledge or techniques you haven't seen before. You want to double down on Dynamic Programming or Graph Algorithms. This is where focused courses come handy. There are many offerings out there, most of them touch each subtopic lightly. I have a better proposition; focused courses that actually develop your intuition.

Check out my courses on [Dynamic Programming](https://leanpub.com/c/acethetechnicalinterviewdynamicprogrammingandrecur) and [Bit Manipulation](https://leanpub.com/c/acethetechnicalinterviewbitsedition2) (Btw, this is free!). I bet you'll complete them algorithmically fit, otherwise let me know I'll issue a refund.


Happy coding!
Something Weird Most Aspiring Junior Developers Don’t Know About Big Tech Companies
Tags: beginners, career, developers, weird
Published: 2024-01-31 16:55:48

There are many things most people don't know about Big Tech/MAANG companies.

For example, did you know...

- Many of them let you bring your dog to the office 🐾
- You can generally enjoy free food 🍔 and awesome goodies
- You get stock-based compensation that is often higher than your base salary 💸

For anyone in the industry, this stuff is common knowledge.

But to those who haven't lived "a day in the life" as a Software Engineer in Big Tech, some might come as a shock.

For example, here's the weirdest thing most people don't know related to recruiting at Big Tech companies:

## You get a 💰 referral bonus when someone you've referred lands the job!

Crazy, right? You recommend someone and get some extra cash if they get hired.

This is super cool because you get to help someone, but at the same time, you "share" their success. It looks like free money, but hiring is generally expensive for companies: it requires outreach, going through the process, etc.

So, when employees refer candidates, it's a great deal for both.

**Now, as a junior developer, why is this relevant to you?** If you're struggling with the regular recruiting process, prep your resume and skills. Then, hit up people on LinkedIn. If they think you're a good fit, they have a good reason to recommend you 😉, making the hiring process smoother and faster.

---

Thank you for reading this post 🙏.

Leave a comment 📩 to let me know what you think.

And Don't forget to Drop a "💖🦄🔥".

If you like articles like this, join my **FREE** newsletter, **[FrontendJoy](https://frontendjoy.substack.com/)**, or find me on [X/Twitter](https://twitter.com/_ndeyefatoudiop).
How to stay Motivated while Coding
Tags: motivation, coding, productivity, development
Published: 2024-01-31 16:42:39

## Intro

I Have A lot of experience when it comes to coding, as it is something I’ve been doing for about 3 years, first with Scratch and later with more serious programming languages such as JavaScript. It’s very hard to stay motivated to keep coding even when everything you’ve done doesn’t work, believe it or not, it happened to me just like it happens to many other coders.

## Step 1: Mindset

To be and stay motivated while coding is a question of, first of all, your mindset. Your mindset is how you initially think of what you will be doing before you even write the first letter in your code editor. A key component of staying motivated later on, even when encountering big problems, is how you think of what you will be doing.

What I usually do for myself, so that I don’t end up replicating the man in the world famous meme with the man who gets angry and hits his computer off the table, breaking it in the process. My point is, your mindset shouldn’t be: “I have to do this or else I will have done nothing” but: “I’m doing this, but even if I don’t succeed I will still be closer to solving the problem”

## Step 2: Action is key

Many people, including myself, often found themselves in a state of resignation and chose not to make any attempts to resolve the problem they were facing. Consequently, a significant number of individuals, myself included, resorted to becoming semi-sedentary individuals who passively consume various forms of media rather than actively engaging in coding or problem-solving activities.

When you take action (in this case, coding) and make an effort to do something, you are still attempting to solve the problem but may require more time and resources. However, if you are a couch potato, it is a completely different story. You are not even making an effort to confront the problem you have and instead, simply indulge in watching TV or consuming other internet content.

Being a couch potato is not the best experience I’ve had, so I really want to tell you, do not live through this phase, you lose time of your only time to be alive and you will never be able to do anything after you’re dead.

## Step 3: Confront the problem

This is the last and most crucial step to resolve the issue of being demotivated while coding you have to confront the problem you were facing all this time, the very problem that made you give up in the first place. Maybe read a bit more on the issue on the internet.

There are plenty of helpful websites for you such as [Stackoverflow.com](http://Stackoverflow.com), blog posts, and even social media networks that can help you resolve your issue.

## Conclusion

As you have just read, it is quite simple to address your concerns about motivation in coding. I hope you all have a wonderful time staying motivated once again.
SAY GoodBye to endless JOB Searches
Tags: chatgpt, career, job, productivity
Published: 2024-01-31 16:38:29

Say goodbye to endless job searches!

**ChatGPT** can help you land your dream job twice as fast.

Here are **10 powerful ChatGPT ** prompts will 10X your interview chances.

1. **Analyze Your Job Descriptions**

𝗣𝗿𝗼𝗺𝗽𝘁 :

Just copy your target job description and paste it into ChatGPT and ask:

"Highlight the 5 most important responsibilities in this job description:

[Insert Job Description]"


2. **Networking on LinkedIn for Job Opportunity:**

𝗣𝗿𝗼𝗺𝗽𝘁 :

Create a message to connect with a professional at [Company] on LinkedIn, discussing my interest in the [Title] position and how my background in [Specific Field/Technology] makes me a strong candidate.


3. **Optimize Your Resume Bullets**

𝗣𝗿𝗼𝗺𝗽𝘁 :

Take it one step further by optimizing your bullets.

Copy a bullet from your resume.

Paste it in ChatGPT and say:

"Please rewrite this bullet in under 20 words using compelling language and measurable metrics from my resume: [Paste Resume]"


4. **Check if Resume match with Job Description**

𝗣𝗿𝗼𝗺𝗽𝘁 :

Review if my skills and the job description for the [Title] position at [Company] match? Tell mismatch percentage.
Job description: [paste text/link]
My Skills: [Add your Skills]


5. **Update Resume**

𝗣𝗿𝗼𝗺𝗽𝘁 :

Update my resume for the [Title] role at [Company] by focusing on relevant skills mentioned in the job description.
Job Description: [copy/paste job description]
Current Resume: [copy/ paste current resume]


6. **Write Your Cover Letter**

𝗣𝗿𝗼𝗺𝗽𝘁 :

ChatGPT can also help you write a highly personalized cover letter.

"Please write a personalized cover letter for this [Job Title] at [Company].

Here's the job description:

[Paste Job Description]. And here is my resume: [Paste Resume]."


7. **Prepare for Interview**

𝗣𝗿𝗼𝗺𝗽𝘁 :

Provide me a list of [number] interview questions based on job description. Job description: [paste text/link]


8. **Conduct a Mock Interview**

𝗣𝗿𝗼𝗺𝗽𝘁 :

Conduct a technical mock interview for the [Job Role]. I am applying for this position. Ask me 15 questions related to [Specific Field/Technology], one after the other, gauging my expertise.


9. **Introduce Yourself**

𝗣𝗿𝗼𝗺𝗽𝘁 :

Prepare a brief introduction about myself focusing on my experiences in [Specific Field/Technology] for the [Title] interview at [Company].


10. **Follow-up Email**

𝗣𝗿𝗼𝗺𝗽𝘁 :

Craft a follow-up email to inquire about the status of your application for the [Title] role at [Company].

I hope that this will definitely help you.

**Share yout thoughts in the comments**
Functional vs Object-Oriented Programming Paradigms
Tags: programming, computerscience, python, java
Published: 2024-01-31 16:35:03

So, my CS Students keep asking me - what are the differences between Procedural and Object-oriented programming languages? 

Makes sense that the info is all in one place now. OOP definitely built on the mistakes/faults of functional programming, and the inclusion of methods, encapsulation, and inheritance make OOP infinitely better. 

| **Feature**                               | **Procedural (Functional) Programming**                  | **Object-Oriented Programming (OOP)**                   |
|---------------------------------------|------------------------------------------|-----------------------------------------------------|
| Focus                                 | Procedures or routines (functions)       | Objects (instances of classes)                       |
| Data and Functions                    | Separate entities                        | Bundled together in classes                          |
| Global Data                           | Yes, often used                          | Encourages encapsulation and local data              |
| Modularity                            | Emphasizes breaking down into procedures | Emphasizes breaking down into objects and classes   |
| Classes and Objects                   | Not applicable                          | Central to the paradigm, defining blueprints         |
| Encapsulation                         | Limited                                | Key principle, bundling data and methods            |
| Inheritance                           | Not typically supported                 | Supports the creation of derived classes            |
| Polymorphism                          | Not typically supported                 | Supports polymorphism, method overloading, etc.     |
| Example Languages                     | C, Pascal, Fortran                      | Java, C++, Python, Ruby, etc.                        |
| Abstraction                           | Less emphasis                           | Emphasizes abstraction for real-world modeling      |
| Code Reusability                      | Achieved through functions               | Achieved through inheritance, polymorphism, etc.    |
| Complexity                            | May be suitable for simpler projects     | Often preferred for larger, complex projects         |
| Real-world Modeling                   | May not closely mirror entities         | Designed to closely mirror real-world entities      |
| Language Examples                     | C, Pascal, Fortran                      | Java, C++, Python, Ruby, etc.                        |




#### What do you think? Were all the bases covered? Miss anything?


---


<sub><sup>_Photo by [Max Duzij](https://unsplash.com/@max_duz) on [Unsplash](https://unsplash.com/photos/man-facing-three-computer-monitors-while-sitting-qAjJk-un3BI)._</sup></sub>
I'll Write You Letter Men's T-Shirts in UAE Personalized Fashion Bliss
Tags: beginners, discuss, news
Published: 2024-01-31 16:34:31

**Introduction:
**

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

In the vibrant landscape of fashion, personalized items have carved a niche for themselves. Among these, "I'll write you letter men's t-shirts in UAE" stand out, offering a canvas for self-expression. Let's delve into the world of customized fashion and explore the ins and outs of creating a wardrobe that tells your story.

**Importance of Personalized T-Shirts:
**
Personalized t-shirts go beyond mere clothing; they become a medium to convey emotions, sentiments, and personal flair. These shirts are not just garments; they are canvases that allow wearers to wear their hearts on their sleeves, quite literally.

**Trends in Men's T-Shirts in UAE:
**

The fashion scene in the UAE is dynamic, with a growing inclination towards personalized items. Men's t-shirts, in particular, have witnessed a surge in demand, [Buy IWYL Men's Shirts](https://illwriteyouletters.com/)  in UAE with individuals seeking unique designs that reflect their personality and resonate with the local culture.

**Benefits of Personalized T-Shirts:
**
The joy of donning a personalized t-shirt goes beyond aesthetics. These garments create a strong emotional connection, fostering a sense of individuality and uniqueness. In a world flooded with mass-produced items, personalized t-shirts stand as a testament to one's distinctiveness.

**Customization Options:
**
When it comes to customization, the possibilities are limitless. From choosing the fabric and color to designing unique lettering, individuals can tailor their shirts to align with their preferences and style. The freedom of customization ensures that each piece is one of a kind.

**Best Practices for Letter Printing:
**
To ensure the longevity and quality of the personalized message, it's crucial to adhere to best practices in letter printing. Opting for high-quality materials and reliable printing techniques guarantees that the letters remain vibrant and intact over time.

**Finding the Right T-Shirt Brand:
**
Selecting the right brand is paramount when venturing into the world of personalized t-shirts. Reputable brands offer not only quality products but also a seamless customization process, ensuring a satisfying and hassle-free experience for customers.

**Affordable Options for Everyone:
**
Contrary to common belief, personalized fashion doesn't have to come with a hefty price tag. There are budget-friendly options available that provide both quality and customization, making personalized t-shirts accessible to a wide audience.
Formação gratuita para novos desenvolvedores
Tags: webdev, curso, javascript, python
Published: 2024-01-31 16:25:07

Olá pessoas ! 
A Fundação Bradesco está com inscrições abertas para cursos de programação de nível iniciante.

## Python :snake:
- [Python - Básico](https://www.ev.org.br/cursos/linguagem-de-programacao-python-basico)
- [Criando uma interface gráfica com Python](https://www.ev.org.br/cursos/criando-um-projeto-com-interface-grafica-utilizando-a-linguagem-python)
- [Desenvolvendo um Projeto Completo Python com Estruturas de Dados](https://www.ev.org.br/cursos/desenvolvimento-orientado-a-objetos-utilizando-a-linguagem-python)
- [Desenvolvimento Orientado a Objetos Utilizando a Linguagem Python](https://www.ev.org.br/cursos/Desenvolvendo-um-Projeto-Completo-Python-com-Estruturas-de-Dados)

## Mobile :mobile_phone:
-[Desenvolvendo Aplicações Mobile com Android Studio](https://www.ev.org.br/cursos/desenvolvendo-aplicacoes-mobile-com-android-studio)

## Conteúdos gerais sobre programação :computer:
- [Introdução a POO](https://www.ev.org.br/cursos/introducao-a-programacao-orientada-a-objetos-poo)
- [Projetos de Sistemas de TI](https://www.ev.org.br/cursos/projetos-de-sistemas-de-ti)

## Web :wireless: 
- [Crie um site simples usando HTML, CSS e JavaScript](https://www.ev.org.br/cursos/crie-um-site-simples-usando-html-css-e-javascript)
Book Club: Eloquent JavaScript. 4 Programme Structure
Tags: books, javascript, bookclub
Published: 2024-01-31 16:10:29

---
title: Book Club: Eloquent JavaScript. 4 Programme Structure
published: true
description: Book Club discussion for Eloquent JavaScript by Marijn Haverbeke
tags: [books, js, bookclub]
series: book club Eloquent JavaScript
---

## **Eloquent JavaScript** A Modern Introduction to Programming, by Marijn Haverbeke
### Part i: Language
---

Sorry that this next chapter is later than expected, I had a lot going on at the end of last year including a new job as a Frontend Dev. But I will try to stay on track, please feel welcome to join in!

![A pencil illustration from the book, of ferns and flying bumblebees](https://learning.oreilly.com/api/v2/epubs/urn:orm:book:9781492071198/files/images/f0040-01.jpg)
<figcaption>Illustration by <a href="https://www.madalinatantareanu.com">Madalina Tantareanu</a></figcaption>

## Chapter 2: Programme Structure

If you read any of this chapter, please go ahead and discuss what you thought in the comments! 

:memo: I've removed chapter 3 from this post (because I forgot there are exercises too!) and I've added my notes below.

:calendar: End of Feb 2024.

:books: On [Storygraph](https://app.thestorygraph.com)? Join the [Readalong](https://app.thestorygraph.com/readalongs/9a6ec9d4-4572-4a54-a0e2-a4200c63ad67)!

-----

### Who should read this chapter?

This chapter is a general and basic overview of the terminology and syntax used in JS. So it will be useful to read carefully if you're new to programming, otherwise skim it. I find it difficult to use the terms in the book (e.g. 'binding' because I would usually say _var_ or _constant_) but it's good to be aware of the vocab.

### What do we learn?

In a nutshell, here we learn that programs are made of statements, which can contain statements including expressions, which can be made of expressions! Loops and conditions can interrupt the top-to-bottom control flow, with bindings for tracking state and filing data under a name. Functions are like blocks of program, where a function call is an expression which can produce a value.

### Exercises

There are three fairly simple programming logic exercises at the end of the chapter, which are worth doing to practise loops - especially the classic FizzBuzz.
The hints provide a couple of solutions, so if you didn't need to use the hint, _do_ read it after writing your solution.