teleren/devto huggingface dataset:
Reverse - Vowels
Tags: javascript, leetcode
Published: 2022-08-23 17:19:46

```
/**
 * @param {string} s
 * @return {string}
 */
var reverseVowels = function (s) {
  const vowels = "aeiouAEIOU";
  const strArray = s?.split("");

  let vowelsInString = [];

  for (let i = 0; i < strArray.length; i++) {
    if (vowels.includes(strArray[i])) {
      vowelsInString.push(strArray[i]);
    }
  }

  vowelsInString = vowelsInString.reverse();
  for (let i = 0; i < strArray.length; i++) {
    if (vowels.includes(strArray[i])) {
      strArray[i] = vowelsInString.shift();
    }
  }
  return strArray?.join("");
};

reverseVowels("aA");

```
Keyboard Row -
Tags: javascript, leetcode
Published: 2022-08-23 17:11:38

```
var findWords = function (words) {
    let firstRowSet = new Set("qwertyuiop".split(''));
    let secondRowSet = new Set("asdfghjkl".split(''));
    let thirdRowSet = new Set("zxcvbnm".split(''))
    let result = [];

    for (let word of words) {
        let charSplit = word.toLowerCase().split('')
        if (charSplit.every(char => firstRowSet.has(char))) {
            result.push(word)
        } else if (charSplit.every(char => secondRowSet.has(char))) {
            result.push(word)
        } else if (charSplit.every(char => thirdRowSet.has(char))) {
            result.push(word)
        }
    }

    return result
};
```
Blackjack in Python!
Tags: beginners, python
Published: 2022-08-23 17:02:02

Hello and welcome to my blogpost! This program is my first terminal program of this scale and it was done to challenge myself. I decided to code the game of blackjack because it seemed as fun as it did challenging.

My program runs on while loops so the game becomes replayable (You only have to run the script once to play multiple times) and a series of if/elif/else statements for the logic of the game. believe my code is good but not great and I'm sure there is a way to write a blackjack with less lines of code. You can see my code here:

https://github.com/PiePirates/BlackJack

I will most likely go back and attempt to lower the amount of lines, make it look better in the terminal and whatever else I can find. Look forward to my updates on this program!
Data Engineering 101: Introduction to Data Engineering
Tags: newbie, dataengineering
Published: 2022-08-23 16:49:59

---
title: Data Engineering 101: Introduction to Data Engineering
published: true
description: 
tags: newbie, DataEngineering, DataEngineer
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
---

As data becomes ever more critical to organizations of all sizes, there has been a need for more data professionals such as Data Scientists, Data Analysts, ML Engineers and Data Engineers. In this article, we'll go through the difference between data engineering and data science and the skills of a data engineer.

## What is Data Engineering?
Data engineering is the practice of designing and building systems for collecting, storing, and analyzing data at scale.

## Who is a Data Engineer?
A Data Engineer is responsible for ingesting data from different sources, optimizing databases for analysis, removing corrupted data and developing, testing and maintaining data architectures.
Generally, a Data Engineer makes data accessible so that organizations can use it to evaluate and optimize their performance.

## Data Engineering vs Data Science
Data Engineering focuses on building infrastructure and architecture for data generation, while Data Science focuses on advanced mathematics and statistical analysis of the generated data. It is not a requirement for a data engineer to have advanced math or statistics skills, unlike a data scientist.

## Skills that a Data Engineer should have?
Listed below are some of the skills that a data engineer should have.
1. **Programming**: Python, Java or Scala.
2. **Scripting and Automation**: Shell, Cron
3. **Databases**: SQL, NoSQL, Data Modeling and Map Reduce
4. **Data Analysis**: Pandas, Numpy, Web Scraping, Data Visualization
5. **Data Processing Techniques**: Batch Processing, Stream Processing, Build Data Pipelines, Target Databases, Machine learning Algorithms
6. **Big Data**: HDFS, Hadoop Yarn, Sqoop Hadoop, Hadoop Yarn, Hive, Pig, Hbase
7. **Workflows and Scheduling**: Airflow, Jenkins, Autosys, Java Spring
8. **Cloud Computing**: Amazon Web Services (AWS), Google Cloud Platform, Microsoft Azure
9. **Infrastructure**: Docker, Kubernetes, Terraform

**N.B**: This is not a comprehensive list of skills, nor does it mean that you should master everything listed here.

## The average salary for a Data Engineer
According to [Payscale](https://www.payscale.com/research/US/Job=Data_Engineer/Salary), the average salary for a Data Engineer is $93,654 per year. However, salaries depend on various variables such as the type of role, skills, experience, and location.
DeveloperWeek 2022 - Free Passes
Tags: offers
Published: 2022-08-23 16:43:59


I'll be speaking at DeveloperWeek Cloud 2022 on "API Security Testing Modern Best Practices"


As a speaker benefit, I'm giving away my team and colleagues a free OPEN Pass (a $150 value) to the event.

An OPEN Pass will give them access to all OPEN Talks and to the Expo. Take advantage of this exclusive speaker benefit.

DeveloperWeek Cloud 2022 is the premiere international cloud computing conference, with tracks covering Future of Cloud-Native Computing, Microservices Architecture & Deployment, Full Stack Cloud Security, Containers & Kubernetes, AI & ML in the Cloud, DevOps, Edge Computing, Cloud innovation, and more!


Here is the link to my session and free pass: https://bit.ly/3SB0HPN
Roadmap to Master Web Development
Tags: javascript, webdev, beginners, css
Published: 2022-08-23 16:37:07

📂 HTML & CSS
   ∟📂 CSS Frameworks (Tailwind,Bootstrap)
      ∟📂 JavaScript
         ∟📂 Git & GitHub
           ∟📂React / Angular (JS Framework)
              ∟📂Node JS & API
                 ∟📂MongoDB
                    ∟ ✅ Build Projects
How to add a custom XDebug Client menu to Sublime Text (on Mac)
Tags: sublimetext, xdebug, php
Published: 2022-08-23 16:30:00

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

Note, this works with this package: [XDebug Client](https://packagecontrol.io/packages/Xdebug%20Client)

Edit your `Application Support/Sublime Text/Packages/User/Main.sublime-menu` file and add the following to it:

```json
[
    {
        "caption": "XDebug",
        "mnemonic": "X",
        "id": "xDebug",
        "children":
        [
            {
                "caption": "Continue",
                "command": "xdebug_continue"
            },
            {
                "caption": "Evaluate",
                "command": "xdebug_evaluate"
            },
            {
                "caption": "Restart",
                "command": "xdebug_session_restart"
            },
            {
                "caption": "Stop",
                "command": "xdebug_session_stop"
            },
            {
                "caption": "Toggle Breakpoint",
                "command": "xdebug_breakpoint"
            },
            {
                "caption": "Clear All Breakpoints",
                "command": "xdebug_clear_all_breakpoints"
            },
            {
                "caption": "Start",
                "command": "xdebug_session_start"
            }
        ]
    }
]
```

Now, at first all the menu items won't show, but that's because you haven't started a debugging session. Just add a breakpoint and start a session to see all the other menu items.

I wish SublimeText had a API for adding buttons for these, but I think this is as good as it's going to get!

See [my configuration](https://github.com/aubreypwd/vcsh/blob/main/Library/Mobile%20Documents/com~apple~CloudDocs/Application%20Support/Sublime%20Text/Packages/User/Main.sublime-menu), as it may have been changed or improved.

Happy debugging!
Markdown Editor with JavaScript
Tags: markdown, javascript, webdev, programming
Published: 2022-08-23 16:26:00

For this little project I'm using [Marked](https://www.npmjs.com/package/marked) to parse the markdown content.

It's just 3 lines of JS in this case, most of the time invested here is in styling. 
You'll find a text set as a sort of placeholder that serves the purpose of a quick markdown guide. 

Here it goes:

{% codepen https://codepen.io/joelbonetr/pen/qBogMqa %}

You can edit the textarea and write whatever you want in markdown and it will be translated into HTML with the preview being at the right side (or at the bottom if you're using a smartphone).


That's all for today, hope you enjoyed I sure did doing that

<img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XBXkPOUl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://c.tenor.com/Arsu0w_nD2EAAAAM/bob-anakshie.gif" />
2.6 - Open Props - an Open Source CSS Props Library
Tags: podcast, webdev, javascript, beginners
Published: 2022-08-23 16:17:07

---
title: 2.6 - Open Props - an Open Source CSS Props Library
description: We sit down to learn more about Adam Argyle and his new project Open Props.
tags: podcast, webdev, javascript, beginners
cover_image: https://media.codingcat.dev/image/upload/b_rgb:5e1186,c_pad,w_1000,h_420/main-codingcatdev-photo/OpenProps.png
series: codingcatdev_podcast_2
published: true
canonical_url: https://codingcat.dev/podcast/2-6-open-props-an-open-source-css-props-library
---
Checkout Season 1: https://dev.to/ajonp/series/14611

Original: https://codingcat.dev/podcast/2-6-open-props-an-open-source-css-props-library

{% youtube https://www.youtube.com/watch?v=hW-itQMKyiU %}

{% spotify spotify:episode:34dNMpOmT5jtHbecQQz2ND %}

{% user argyleink %}
2.5 - Scaling Transactional Data Globally with Fauna
Tags: podcast, webdev, javascript, beginners
Published: 2022-08-23 16:15:19

---
title: 2.5 - Scaling Transactional Data Globally with Fauna
description: We sit down with Rob Sutter to talk all about his history as a developer advocate and Fauna. Fauna is a flexible, developer-friendly, transactional database delivered as a secure and scalable cloud API with native GraphQL.
tags: podcast, webdev, javascript, beginners
cover_image: https://media.codingcat.dev/image/upload/b_rgb:5e1186,c_pad,w_1000,h_420/main-codingcatdev-photo/fauna.png
series: codingcatdev_podcast_2
published: true
canonical_url: https://codingcat.dev/podcast/2-5-scaling-transactional-data-globally-with-fauna
---
Checkout Season 1: https://dev.to/ajonp/series/14611

Original: https://codingcat.dev/podcast/2-5-scaling-transactional-data-globally-with-fauna

{% youtube https://www.youtube.com/watch?v=-wjpyBmeYG4 %}

{% spotify spotify:episode:3Op24f7z9NCD5ufjrshupB %}
The Other Side of Tech - A Documentarian Perspective
Tags: webdev, javascript, beginners, podcast
Published: 2022-08-23 16:13:08


Original: https://codingcat.dev/podcast/2-4-the-other-side-of-tech-a-documentarian-perspective

{% youtube https://www.youtube.com/watch?v=jypnsnmrBbg %}

## Questions

1. Tell us a little about how you got into making tech documentaries.
  1. Why specifically tech focused?
2. Have you noticed the tech community is different from others you’ve interviewed?
3. How do people tend to react when you ask for an interview?
4. Best thing about making tech documentaries?
5. Worst thing about making tech documentaries? 😅
6. Can we talk about the Svelte documentary?
  1. When is it coming out?
  2. Why Svelte, besides the fact it's awesome 😄?
7. How have you found your topics and people to interview?
8. Looking forward, what other technologies / communities would you like to make documentaries about?

## Additional Links

* Marketing 4 Humans (m4h) - [https://www.marketing4humans.com/](https://www.marketing4humans.com/)
* Honeypot - Europe's developer-focused job platform - [https://www.honeypot.io/](https://www.honeypot.io/)
* OfferZen - Developer Job Platform - [https://www.offerzen.com/](https://www.offerzen.com/)
* VueJS Documentary Film Maker - [https://twitter.com/josiahmcgarvie](https://twitter.com/josiahmcgarvie)
* Doja Cat collab - [https://www.theverge.com/2021/12/5/22817753/doja-cat-video-girls-who-code](https://www.theverge.com/2021/12/5/22817753/doja-cat-video-girls-who-code)
Fireship.io
Tags: webdev, javascript, beginners, podcast
Published: 2022-08-23 16:01:32


Original: https://codingcat.dev/podcast/0-9-jeff-delaney-of-fireship-io

{% youtube https://www.youtube.com/watch?v=VL366tS-ETE %}

## Questions

1. First talk to me about this Kaggle thing, what is it?
2. Did you get started on tutorials because of [https://codediode.io/](https://codediode.io/) ?
3. What made you start angular firebase, which eventually became fireship?
4. Did you ever think you would be able to make a career out of making Tutorials?
5. I have been a lifetime Pro Member on your channel and have never regretted it for a minute, it has helped push me as a dev expert and taught me countless things I didn’t know.
6. What do you think it is that makes your tutorials so easy to digest?
7. At this point what do you think you like doing more Creating code or Creating vids?
8. I am trying to find out how to become a GDE in 2020, I know you have a whole video on what it took to find that path. [https://youtu.be/IDZyZMYn3H0](https://youtu.be/IDZyZMYn3H0)
9. What do you think is the biggest part of becoming a GDE? `Tutorials, Public Speaking, Meetups`

## Future

Do you think Flutter will continue to grow as fast as it has? Do you think Angular 9 (Ivy) is a game changer?

Random Thoughts

I noticed that we are both PADI certified, we need to plan a trip!
Django Rest Framework Throttling with API Key
Tags: django, python, testing, tutorial
Published: 2022-08-23 15:46:07


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

My new blog post about Django Rest Framework throttling is ready 🚀 In this blog, we test the throttling with different Django cache configurations (LocMemCache and Redis) and deploy it to Kubernetes. We used the open-source Ddosify load generator for the load test and Docker Desktop for single-node Kubernetes. 

https://ddosify.com/blog/django-restframework-throttling-with-apikey
How to develop IoT, edge, and embedded projects easier?
Tags: opensource, microservices, help, luos
Published: 2022-08-23 15:41:33

🚀 Some IoT, edge and embedded projects should not involve such a dependence on hardware.

⏩ https://www.luos.io/blog/how-to-develop-iot-edge-and-embedded-projects-easier

Let's see how to develop projects more easily with a rocket project made by Alexis Gorlier.
BASIC CONCEPTS (INTRODUCTION)
Tags: python, beginners, programming
Published: 2022-08-23 15:34:49

**WELCOME TO PYTHON**

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

Want to build a slick website? Develop a video game? Or maybe create an artificial intelligence? Python’s got you covered, and then some. Python is a high-level programming language, with a ton of applications. 

It’s seriously flexible and accessible, which makes it popular with some of the world's biggest (and coolest) organizations–think Google, NASA, Disney...*whispers* even the CIA. 

In this course, we’ll cover the basic concepts of Python, as well as build real-life projects and solve different coding challenges!
_
We will be learning Python version 3, which is the most recent major version of Python._
Easy way to internationalize your apps with PyI18n
Tags: programming, python
Published: 2022-08-23 12:36:00

## Introduction
[PyI18n](https://github.com/sectasy0/pyi18n) is a simple and easy to use internationalization library written for python projects, to help you handle multiple languages in your applications.

## How start use PyI18n
First, you have to create your locale files, in my example this will be in `locale` directory (default PyI18n locales path). In my example I use only two languages polish (pl.yml) and english (en.yml).

## Let's write simple FastAPI app.

Project structure for this example
```sh
.
├── app.py
└── locales
    ├── en.yml
    └── pl.yml
```

### en.yml
```yml
en:
  greetings:
    hello_name: "Hello there {name}! nice to meet you" 
```

### pl.yml
```yml
pl:
  greetings:
    hello_name: "Witaj {name}! miło mi cię poznać" 
```

Assume we're logged in user and we have stored locales in database, otherwise we will just return default locale.

```py
from pyi18n import PyI18n
from fastapi import FastAPI
from typing import Callable, Dict

app: FastAPI = FastAPI()
i18n: PyI18n = PyI18n(('pl', 'en'))

DEFAULT_LOCALE: str = 'en'

_: Callable = i18n.gettext

fake_db: Dict[str, str] = {
    "logged_users": {
        "Piotrek": {
            "locale": "pl"
        },
        "John": {
            "locale": "en",
        },
    }

}

def get_user_locale(name) -> str:
    current_user_locale: str = fake_db["logged_users"].get(name)
    return current_user_locale['locale'] if current_user_locale else DEFAULT_LOCALE


@app.get("/hello/{name}")
def hello_name(name: str):
    locale: str = get_user_locale(name)
    return {"greeting": _(locale, "greetings.hello_name", name=name)}

```

Now it's time to run our app and check what happens, for testing I used RapidAPI vscode extension (It's something like postman in visual studio code)

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

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hko8hczmeom8d1tihaap.png)
 
A full documentation for this module is available at: https://sectasy0.github.io/pyi18n.

If you had some questions or if you see any inaccuracies please let me know in the comments below! Thanks for reading <3
Fizz-Buzz
Tags: javascript, leetcode
Published: 2022-08-23 15:13:33

```
var fizzBuzz = function (n) {
  let arrayResult = [];
  for (let i = 1; i <= n; i++) {
    if (i % 3 === 0 && i % 5 === 0) {
      arrayResult.push("FizzBuzz");
    } else if (i % 3 === 0) {
      arrayResult.push("Fizz");
    } else if (i % 5 === 0) {
      arrayResult.push("Buzz");
    } else {
      arrayResult.push(i);
    }
  }
  return arrayResult;
};

console.log(fizzBuzz(5));

```
[Redis Hackathon Submission Post Placeholder Title]
Tags: redishackathon
Published: 2022-08-23 12:29:53

[Instructions]: # (To submit to the Redis Hackathon on DEV, please fill out all sections. DELETE ALL NOTES, reminders, and guidelines before publishing.)


### Overview of My Submission
[Note]: # (Share what you built, how you built it, and the inspiration behind the idea! Please make sure the project links to the appropriate GitHub repository, and includes the [MIT](https://choosealicense.com/licenses/mit/), [Apache](https://www.apache.org/licenses/), [BSD-2](https://opensource.org/licenses/BSD-2-Clause), [BSD-3](https://opensource.org/licenses/BSD-3-Clause), or [Commons Clause](https://commonsclause.com/) license and a README.)


### Submission Category: 

[Note]: # (Select between Minimalism Magicians, Microservice Mavens, MEAN/MERN Mavericks, Wacky Wildcards – Descriptions of requirements listed in the announcement post.)

### [Optional: Video Explainer of My Project]

[Note]: # (This is where you can embed the optional bonus video you created to accompany your submission. Ensure your video is published publicly to YouTube and you’ve used the embed tag here to share it with us. By opting to include a video, you will be eligible for BONUS prizes. Learn more in the announcement post.)

### Language Used
[Note]: # (Select the language you used for your project – must be one of the following: C#/ASP.NET Core, Java/Spring, JS/TS/Node.js, Python)


### Link to Code

[Note]: # (Our markdown editor supports pretty embeds. Try this syntax: `{% embed link_to_your_repo %}` to share a GitHub repository)

BTW, your Github code’s README file should contain the details as [per this template](https://github.com/redis-developer/hackathon-docs/blob/main/README.md).

### Additional Resources / Info

[Note:] # (Be sure to link to any open source projects that are using your workflow!)

[Note:] # Screenshots/demo videos are encouraged!

### Collaborators

[Note]: # (Be sure to include the DEV usernames of your collaborators, if any. Prizes for winning projects with multiple collaborators will be sent ONLY to the person who posts this submission and they will distribute the prize evenly.)

[Note]: # (All collaborators with DEV profiles listed here will receive a badge, however, prizes including sticker packs will only be sent to the member who publishes the post, with the person expected to distribute the prizes evenly amongst their collaborators.)

[Reminder]: # (Submissions are due on August 29th, 2022 @ 11:59 PM UTC).

- - - 

[Note]: # (Please ensure  that the footer content below is part of your post when publishing. Please delete this note in parentheses but do not delete the content below.)


* _Check out [Redis OM](https://redis.io/docs/stack/get-started/clients/#high-level-client-libraries), client libraries for working with Redis as a multi-model database._
* _Use [RedisInsight](https://redis.info/redisinsight) to visualize your data in Redis._
* _Sign up for a [free Redis database](https://redis.info/try-free-dev-to)._
Learning Go, was it worth it?
Published: 2022-08-23 14:43:07

Really wanted to build a project from scratch... so I did. 

Project turned into a command line utility for daily journaling - [stoic](https://github.com/skatkov/stoic). I was mainly motivated by my desire to practice golang in a greenfield project and with an itch to scratch my own niche (meaning, finally writing software that I would use myself). 

At some point, after writing in various programming languages you start to wonder... Will another language make that big of a difference to justify time spent on mastering it? 

In case of golang learning curve was really low. It might be language, it might be my approach to learning new language or might be combination of two. Here are some of the things, that made it easy for me to learn it.

## Open source
One of the big reasons I got interested in golang, was huge amount of awesome go projects in open source. I personally use roughly around ~10 golang based project on a computer I'm sitting at now.

I couldn't stop reading source code - it was easy to digest, even without prior experience in language! So, there have become a moment where I said "this seems easy, I should try writing my app with go". Of course, a lot of that available open source not only inspired, but show me examples for possible solutions that I was looking for.

## Github Copilot
Copilot is amazingly good. In some cases it fills in 80% of a method I'm planning to write and almost always guesses assertions in tests that I about to write.

With Copilot I didn't need to disrupt my coding flow. Wrote a descriptive method name and AI filled in the "blanks", I tweaked the hell out of it, especially with auto-complete - it's easy.

It's creepy, how fast Copilot allowed me to pick up a language.

## BubbleTea
[BubbleTea TUI](https://github.com/charmbracelet/bubbletea) framework and charm related libraries is amazingly great looking. It also follows ELM architecture and this architecture works great with golang. I was blown away to find a framework of such a quality and with so much simplicity!

I need to write more cli tools! This BubbleTea TUI thing is just incredible, a bit hard to test though.

# Documentation
I generally try to code without google/stackoverflow these days, mostly relying on official API documentation. I always stumble on something interesting there, something that is usually omitted in a stackoverflow answer! 

In this regard, golang documentation was mostly great!


So to sum it up, I must say, even against my initial prejudgement (not a functional language, duhhh) - I really enjoyed diving into Go and absolutely will continue to explore this language further. I already have couple of projects I'd want to build with it too.

Golang turned out to be a valuable asset to have -- only the fact, that it can easily compile for any platform! Damn it's nice! I'm eagerly looking for new projects to build with it now.