teleren/devto huggingface dataset:
Why Choose Vue.js for Frontend Development
Tags: javascript, vue
Published: 2023-07-13 19:07:34



**Introduction:**
Frontend development is an ever-evolving field with numerous options available to developers. Among the most popular JavaScript frameworks, Vue.js has quickly emerged as a preferred choice for many developers. In this article, we will explore why choosing Vue.js for frontend development is advantageous and the benefits it offers.

**1. Easy to Learn and Get Started:**
Vue.js stands out with its gentle learning curve, making it ideal for frontend development beginners. With its simple and intuitive syntax, developers can quickly create interactive applications without having to master complex concepts. Comprehensive documentation and an active Vue.js community are valuable resources for developers looking to deepen their knowledge.

**2. Flexibility and Modularity:**
Vue.js follows a component-based approach, making it easy to create modular and reusable user interfaces. Vue.js components can be combined to form complex applications, enabling easy management of different parts of a frontend application. This modular approach also facilitates maintenance and updates, as each component can be managed independently.

**3. Optimized Performance:**
Vue.js is designed to deliver good performance, crucial for a smooth user experience. It utilizes an efficient virtual DOM rendering system, minimizing DOM manipulations and ensuring fast and efficient UI updates. Additionally, Vue.js provides tools such as server-side rendering (SSR) and the ability to generate optimized files for better performance.

**4. Rich Ecosystem and Active Community:**
Vue.js benefits from a rich ecosystem with numerous plugins and complementary libraries, making it easy to integrate additional features into your applications. Whether it's state management (such as Vuex), routing (such as Vue Router), or animation (such as Vue.js Transitions), you'll find suitable solutions for your needs. Furthermore, the active Vue.js community offers valuable support and helps you stay up to date with the latest trends and best practices.

**5. Growing Adoption and Stability:**
Since its introduction, Vue.js has experienced growing adoption among frontend developers and companies worldwide. Many major companies, such as Xiaomi, Alibaba, and GitLab, have adopted Vue.js for their projects. This widespread adoption ensures the stability and longevity of Vue.js, with regular updates and ongoing evolution.

**Conclusion:**
Vue.js offers numerous advantages for frontend development, whether you're a beginner or an experienced developer. Its gentle learning curve, flexibility, optimized performance, rich ecosystem, and active community make it an attractive choice for building reactive and dynamic user interfaces. If you're looking for a versatile and efficient frontend framework, Vue.js is definitely worth considering.
4 cosas que debes saber antes de comenzar a aprender Docker
Tags: dotnet, docker, programming
Published: 2023-07-13 19:02:50

Estoy emocionado de hablarles sobre Docker, una herramienta que ha revolucionado el mundo de la informática y el desarrollo de software. Si estás considerando aprender Docker, aquí te presento cuatro aspectos cruciales que necesitas conocer antes de comenzar tu viaje.

**1. Entendiendo los Componentes de Docker**

Primero, es esencial entender que Docker está compuesto por dos componentes fundamentales: el cliente y el servidor. Como estudiante de Docker, pronto descubrirás que el cliente es la herramienta que usarás para crear, administrar y eliminar contenedores. Por otro lado, el servidor desempeña un papel crucial, ya que se encarga de almacenar las imágenes de los contenedores. Es una danza perfecta de creación y almacenamiento.

**2. El Poder de las Imágenes en Docker**

El segundo aspecto importante son las imágenes. Una imagen de Docker es, en esencia, una colección de archivos que se utiliza para crear un contenedor. Imagínalo como la receta de un platillo: la imagen contiene el código de una aplicación (los ingredientes), sus dependencias (las instrucciones de preparación) y los archivos de configuración necesarios para ejecutar la aplicación (el proceso de cocción). De esta forma, se genera un ambiente uniforme y reproducible para ejecutar nuestras aplicaciones.

**3. Explorando el Networking en Docker**

El tercer punto clave en Docker es su sistema de networking. Docker proporciona un sistema de networking robusto y seguro, que permite a los contenedores comunicarse entre sí y con el exterior. Lo hermoso de este sistema es que cada contenedor tiene su propia dirección IP y puede interactuar con otros contenedores y con la red local. Esta capacidad de comunicación aporta una enorme flexibilidad al funcionamiento de las aplicaciones en contenedores.

**4. La Magia de los Volúmenes en Docker**

Por último, pero no menos importante, están los volúmenes. Los volúmenes en Docker son una forma increíblemente útil de compartir archivos entre contenedores. Piensa en ellos como discos duros portátiles que puedes conectar a diferentes contenedores según sea necesario. Los volúmenes se pueden utilizar para almacenar datos que deben ser accesibles por varios contenedores, asegurando que la información necesaria siempre esté al alcance.

En resumen, si estás pensando en aventurarte en el mundo de Docker, es esencial que comprendas estos cuatro aspectos: los componentes, las imágenes, el networking y los volúmenes. Con esta base sólida, estarás bien equipado para comenzar tu viaje de aprendizaje con Docker. ¡No puedo esperar para ver lo que lograrás!

¿Te animas a aprender Docker?
How to upload videos on dev.to 🧠
Tags: discuss, tutorial, beginners, devdiscuss
Published: 2023-07-13 18:08:50

I only discovered the function a few minutes⏲️ ago; and I'll show you how it works.

---
If you like my articles🧑‍💻, I would be happy if you would leave a Like ♥️ & Comment🫴!

---

You have to go to your dashboard:
https://dev.to/dashboard

After that there is a new button with "Upload Video" under the analytics!

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c4gn5rnv2qa1395w03wi.png)
You'll come to a dev.to page that looks like this:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/duh0yjry2l4xi252wmn7.png)
Now you can select a video that you want to upload. It will look like that:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pxk38ommytl5516pxcg8.png)
After that it looks like before; you can upload a video again. But if we go to our article, here is a draft with the video inside:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eee5lx1xwm58cd8g7d70.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bqdt7lcburkpmal45ofl.png)
You may have to wait a bit longer for the video to fully upload. But when it's done, it looks like this:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2fnycrzgtnr4mbtvdnc0.png)
I have already included a video in my post on how to activate god mode in Windows 11:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/622sklpc425znbe8qmsl.png)
You can also adjust the thumbnail in the field. All you have to do is change the url!

---

How do you like this function? Have you ever heard of this one!
Write all your thoughts in the comments!
Enable Godmode🌠in Windows 11
Tags: microsoft, discuss, tutorial
Published: 2023-07-13 17:57:08

If you like my articles, I would be happy if you would leave a Like & Comment!

---

Here's an Easter Egg that's very special; With this you unlock the god mode. In this there are over 100 different actions and settings that you can make! It's really great! Try it yourself! You just have to create a folder on the desktop with the code:
`GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}`!


---

What are you using this function for? Does it help you in everyday life or have you never seen it before? Let us know in the comments!

---

We published this first on Pinterest in German:
{% embed https://www.pinterest.de/pin/880805639604496740/ %}
Updates from the 97th TC39 meeting
Tags: javascript, news
Published: 2023-07-13 17:45:59

There were several items on the agenda, this post focuses on feature proposals and their progress from the 97th TC39 meeting [Jul 11 - Jul 13 of 2023].

__Stage 3:__
 
* [Array Grouping](https://github.com/tc39/proposal-array-grouping): A proposal to make grouping of array items easier.

* [Promise.withResolvers](https://github.com/tc39/proposal-promise-with-resolvers): Creates a Promise with the reject,resolveandpromise functions placed as methods
on the promise object itself.

* [Source Phase Imports](https://github.com/tc39/proposal-source-phase-imports): Proposal to enable importing modules at the source phase.

* [Time Zone Canonicalization](https://github.com/tc39/proposal-canonical-tz): Stacked on [Temporal](https://github.com/tc39/proposal-temporal) to improve handling of changes to the IANA Time Zone Database.

__Stage 2:__

* [Deferred Import Evaluation]():a way to defer evaluate of a module (previously known as "Lazy Module Initialization").

__Stage 1:__

* [DataView get/set Uint8Clamped methods](https://github.com/tc39/proposal-dataview-get-set-uint8clamped): `getUint8Clamped` and `setUint8Clamped` on `DataView.prototype`.

* [Optional Chaining assignment](https://github.com/nicolo-ribaudo/proposal-optional-chaining-assignment): add support for optional chaining on the left of assignment operators: `a?.b = c`.
Writing a Nes Game Day 1
Tags: programming, learning, diary
Published: 2023-07-13 17:36:05

Hello everyone! It is me, Dracu, starting my journey to create a NES game and document it, so I will use this and some recordings that I am doing as a diary for this journey

First, a little background: Back in the beggining of the 90's, a young Dracu was starting his teenager years. I bought my first computer with bar-mitzvah money (a 286) where I discovered a new world that I would never quit. At the same time my sister came back from USA with a gift for me: a Nintendo Entertainment System. Once I put the Super Mario Bross cartridge I never stopped. I LOVED this, I spent hours and hours playing Mario, Mario 2, Mario 3, The Addams Family and so much more...
time passed and I began to feel nostalgic. Yes, I have a Playstation 5 and soon a Nintendo Switch but... I loved those 8 bit games, without a large tutorial, hard to play, hard to win, those were the times when only the brave ones were good players.

My passion is coding. I LOVE coding (Python is love, love is Python), so if I love old 8 bit games and my fingers can code, why don't make a game? 

## Why doing a NES game in 2023

Why doing a game? Well, there are some reasons:

1. I can't learn if I don't do. I need to create and code to understand and learn.
2. Nostalgia.
3. Be a better developer
4. Be part of all those mid age people with white hair that loves doing old machines and code for vintage processors (like the 6502). I mean, who does not love 8-bit guy? I am 45 so I think is time to join that club.
5. After all this process I feel I will become some sort of Rambo of development.

## What kind of game will I do?

The idea is to create a platform game, maybe a "Metroidvania" game. I thought about an RPG and still think that it is a good idea (and maybe in the future I will do it), but I want to learn and understand not only how to code but also all about game mechanics. I will add a story to the game but I want to make something that everyone enjoys playing.


So, let's start this adventure!
Help: How to watch for changes in local dependencies in monorepo?
Tags: help, typescript, nestjs, monorepo
Published: 2023-07-13 17:26:22

Hey folks,

I am currently setting up a monorepo project using `pnpm`, `turborepo`, `typescript`, and `nestjs`.

The folder structure is like this

```
└── my-ts-monorepo/
    ├── apps/
    │   └── server
    └── libs/
        └── utils
```

The `utils` library is added as a dependency in the `server` application.
`utils` is a simple typescript library with some math functions and `server` is a NestJS REST API.

Everything is working fine except for one thing. While running the dev server, if I make any code changes in the `utils` library, the changes are not picked up by the `server` application.

I tried running the `tsc` build for the `utils` library with the `--watch` flag, but no luck there also.

The `dev` scripts look like this

```json
/* root package.json */
"dev": "turbo run dev"

/* apps/server/package.json */
"dev": "nest start --watch"

/* libs/utils/package.json */
"dev": "tsc --watch"
```

Please help me so that the NestJS dev server can pick up code changes in the `utils` dependency also.

Thanks!
Canary Version Management
Tags: git, github, opensource, beginners
Published: 2023-07-13 17:15:05

## Canary Versions of Next.js
While looking at the [next.js](https://github.com/vercel/next.js) repository, I noticed that it doesn't have a `main/master` branch, however, it has a `canary` branch instead. There are many canary versions between tags. This caught my interest.

![screenshot](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dpcqiwcp0gudgj3upimt.png)

By observation, PRs in Next.js will use Squash and Merge and delete the merged branch. The new version will start from xxx-canary.0, and after some testing fixes, it will be released as an official version number. I am unsure of the change period and what the criteria are for next.js to publish an official version.

In the versions I used to manage, adding new features would result in an updated patch version. However, when issues were discovered and fixed, another patch version would need to be released immediately. This version was intended only to fix issues in the previous version. Unfortunately, this casual practice has resulted in some unusable versions.

> **MAJOR.MINOR.PATCH**

The canary stage can significantly improve the problem. It also serves as a reminder not to casually release a new version number. Sufficient time and testing are required before doing so.

How to publish a canary version:

```bash
npm publish --tag canary
```

## Origin of the Canary

The practice of using canaries as an early detection system for toxic gases originated from coal miners.

In 1911, British miners introduced canaries into mines. These birds are highly sensitive to carbon monoxide, and even a small amount of leakage can cause them to become restless, chirp, or die. When the canaries display these symptoms, miners know that there is dangerous gas in the mine and they must evacuate.

Over time, the term "canary" has come to represent the early detection and feedback of software.

## Practice

In the new version of my [react18-json-view](https://www.npmjs.com/package/react18-json-view?activeTab=versions), I have adopted the new approach. A version now starts as a canary version and, after a certain number of canary versions, it is replaced by an official version.

## Versioning Specification

[**Semantic Versioning 2.0.0**](https://semver.org/)

> Given a version number MAJOR.MINOR.PATCH, increment the:
>
> 1. MAJOR version when you make incompatible API changes
> 2. MINOR version when you add functionality in a backward compatible manner
> 3. PATCH version when you make backward compatible bug fixes
>
> Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

In my opinion, a minor version should be an accumulation of certain features from previous patches. Usually, the patch version number is still added even if some features are included. For example, consider the minor version change of _next.js_:

![screenshot 2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tbfzdqw1dfqk081qydy7.png)
LetMeSpeak Introduces Interactive AI Dialogues for Spoken English Practice
Tags: ai, web3, productivity, news
Published: 2023-07-13 17:14:47


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

LetMeSpeak is proud to announce the launch of its latest innovation in English language learning — interactive dialogues with an AI bot. These dialogues simulate real-life situations and enable users to practice their spoken English skills in a format that is convenient for them.

The AI bot is polite and kind, creating a safe and comfortable environment for users to practice their spoken English skills. Users can engage in dynamic and lively speech, allowing them to practice in various situations, some of which may even be unexpected.

LetMeSpeak’s approach is not about memorizing phrases that may not apply in real-life situations. Instead, users are presented with tasks to complete, just like in real life. The AI bot evaluates whether the user has completed the task, providing valuable feedback for learners.

“During the development of our new Dialogues, the primary objective revolved around enabling users to practice their language skills in real-life scenarios. Specifically, we sought to recreate the experience of a friend requesting help with an order in a cafe, thereby presenting users with a tangible goal to achieve. AI Dialogues, based on ChatGPT technology simulate authentic dialogues, evaluate your progress, and offer valuable feedback following each conversation.

Rather than practicing solely within the confines of an actual cafe, our innovative AI Dialogs provide the opportunity for unlimited practice sessions, allowing you to enhance your language proficiency and boost your confidence before venturing into real-world settings. These Dialogs accurately replicate genuine conversations, enabling you to make additional inquiries or seek recommendations from virtual barista. This novel approach to language practice fosters a sense of curiosity and engagement, offering a unique avenue for honoring your speaking skills” — said Konstantin Degtiarev, Managing Director of LetMeSpeak.

[Join us ](https://letmespeak.org/)in embracing this innovative approach to learning English.

LetMeSpeak — the future of English language learning.

The interactive dialogues are available for all users on Web and Android. Will soon be available on iOS.
63 berufliches Vorwärtskommen: Über Zusammenarbeit und Stattarbeit.
Tags: deutsch, career, motivation, discuss
Published: 2023-07-13 16:17:00

Moin Moin,

Ich denke, um an den Gedanken des [Phasenwechsels→](https://dev.to/amustafa16421/62-berufliches-vorwartskommen-phasenwechsel-in-der-it-4pgb) anzuknüpfen, dass fortan interessante Neuentwicklungen unter anderem in den Organisationen zu finden sind, die sich fragen, welche Probleme Fachkräfte mit Software-Unterstützung besser lösen können als alleine, und auch besser als eine Software alleine.

Dies ist neu, da es in der „Aufbauphase“ keine derartige Software gab. Einige scheinen jedoch zu erwarten und anzustreben, den Menschen durch Software zu ersetzen – was in einzelnen Bereichen bereits passiert ist. Der „Operator“ wurde durch das „Operatingsystem“ ersetzt. Zumindest der Operator, der die Rechenanlagen bediente, die ganze Wohnräume füllten.

Als Anmerkung sei gegeben, dass es selbstverständlich bereits Software gibt, mit denen Fachkräfte ihre Arbeit meistern. Betonung sei hier auf _interessante Neuentwicklungen_ gesetzt.

1) Wie stehst du zur Zusammenarbeit von Mensch und Rechner oder wünschst du dir lieber eine „Stattarbeit“ - der Rechner arbeitet statt des Menschen? Oder befürwortest du sowohl das eine als auch das andere für unterschiedliche Bereiche?

Lass uns mittels Kommentaren austauschen.

Beste Grüße,
Mustafa

Oder auch mittels E-Mail: mustafa.kevin.dwenger@posteo.de
Betreff: Austausch
Javascript Implement a synchronous sleep #8
Tags: javascript, programming, tutorial, webdev
Published: 2023-07-13 16:05:08

**This problem was asked by Amazon.**

## Please Implement a synchronous sleep() ?

**Example
**
```
sleep(3000);
console.log('>>> hi');

// output
>>> sleep start
// 3s later
>>> sleep finish
>>> hi
```

**Solution**

```
function sleep(ms){
  console.log(">>> sleep start")
  let start = Date.now()
  while(start+ms > Date.now()){
    // so something
  }
  console.log('>>> sleep finish');
}
```

**Explanation**

- Use Date.now() to get the start time before the sleep.
- Loop while checking Date.now() - start to see if ms time has elapsed.
- The loop essentially pauses execution for the given ms by doing nothing.
- After the loop finishes, execution resumes normally.
Javascript Polyfill Array.sample #7
Tags: javascript, programming, tutorial, polyfill
Published: 2023-07-13 15:56:11

**This problem was asked by Tencent.**

## Implement Array.prototype.sample() result gets a random element from array.

**Examples**

```
[1, 9, 8, 7].sample()
[1, 2, 3, 4].sample(); 
```

**Solution**

```
if (!Array.prototype.sample) {
  Array.prototype.sample = function () {
    // Get a random index between 0 and length of array
    const randomIndex = Math.floor(Math.random() * this.length);

    // Return element at random index
    return this[randomIndex];
  };
}
```

**Explanation:**

- Use Math.random() to generate a random number between 0 and 1.
- Multiply by the length of the array to get a random index.
- Use Math.floor() to convert to an integer index.
- Return the element at the randomly generated index.
- This will work for arrays of any size and return a randomly selected element each time.
Countdown to js13kGames 2023
Tags: codegolf, competition, gamejams, js13k
Published: 2023-07-13 17:28:32

---
title: Countdown to js13kGames 2023
published: true
date: 2023-07-13 15:51:09 UTC
tags: codegolf,competition,gamejams,js13k
canonical_url: https://medium.com/js13kgames/countdown-to-js13kgames-2023-a73a992608a1
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0w2fcf3pvdtizosct72q.png
---

Following the tradition of “_starting a countdown_”, which runs for a few good years already, we’re letting you know that the **twelfth** edition of the [js13kGames](https://js13kgames.com/) competition will begin exactly in a month from now!

The preparations to this year’s **JS13K** started right after [Gamedev.js Jam 2023](https://gamedevjs.com/jam/2023/) has [wrapped](https://gamedevjs.com/competitions/gamedev-js-jam-2023-winners-announced/). You can already see the first [partners](https://js13kgames.com/#partners), [experts](https://js13kgames.com/#experts), and [prizes](https://js13kgames.com/#prizes) on the website, and more will be announced soon.

We have some new things for you, but they are not ready yet - I will be sharing the details as soon as they are though. While you’re waiting for the start on **August 13th** you might consider [refreshing your toolkit](https://github.com/codyebberson/js13k-starter-2023) or checking out some [new tutorials](https://github.com/KilledByAPixel/LittleJS/tree/main/examples/breakoutTutorial).

Don’t forget to [**help promote the competition**](https://medium.com/js13kgames/help-promote-js13k-532616fbe217) in your company, community, or family - we’re always open to welcome new folks participating. Same for new companies interested in partnering, so please [get in touch](https://js13kgames.com/#contact) if you can assist with that, it will be much appreciated!

We’re still on [Twitter](https://twitter.com/js13kGames) and [Facebook](https://facebook.com/js13kGames) for announcements, and [Slack](https://slack.js13kgames.com) for live discussion (you can also find some folks on [Gamedev.js’ Discord](https://gamedevjs.com/discord)). I do hope to see you building cool size-constrained entries this year while having fun at the same time!

* * *