teleren/devto huggingface dataset:
What are WCMs and why they matter for developers
Tags: webdev, react, frontend, cms
Published: 2023-10-15 16:38:26

Web Content Management Systems (WCMs) are a class of software solutions that facilitate the organization, control, and publication of content on the web. Often underestimated in their impact, WCMs have a range of features that benefit both novice users and seasoned developers. This article aims to provide an impartial look at what WCMs are and why they hold a place of importance in the field of web development.

### Defining WCMs

WCMs serve as the backbone for content storage and deployment on websites. They usually feature a graphical user interface that allows users to create, edit, and manage web content without the necessity for deep technical knowledge. However, underneath this user-friendly facade often lies a complex system that can be highly customized and integrated with other services.

### Functionality Beyond Simplicity

From a developer's standpoint, WCMs offer more than just content management. They often include built-in functionalities for search engine optimization (SEO), social media integration, and analytics, among others. The inclusion of these features reduces the need for third-party solutions and streamlines the development process.

### Modularity and Scalability

One reason developers value WCMs is their modular architecture. This allows for scalability and adaptability, as components can be added or removed without affecting the system's core functions. Furthermore, modern WCMs often provide APIs that allow for integration with other services and databases, thus expanding their utility.

### Collaboration and Workflow

WCMs are engineered for multiple users, each potentially having distinct roles and permissions. This built-in functionality for collaboration is useful for team-based projects and larger enterprises, where workflow management is a key concern.

### Industry Trends

In an ever-changing tech landscape, WCMs are not static entities. The push towards headless architectures and API-first approaches is evident in the development of newer WCMs, aligning them with current industry best practices.

### Conclusion

While WCMs are often considered tools aimed at non-technical users, their range of functionalities, modular design, and adaptability make them invaluable assets in the toolkit of modern web developers.

**To explore a WCM tailored for React-based projects, consider starring our GitHub repository [WebCrumbs](https://github.com/webcrumbs-community/webcrumbs), a platform aiming to simplify web development in the React ecosystem. ⭐️⭐️⭐️⭐️⭐️**
Launching My static website using AWS
Published: 2023-10-15 16:38:16

Hi, In this tutorial I will be explaining step-by-step how I hosted my static website using AWS


AWS Services Used:

S3

Other:

VS Code (website building)




1. Sign in to the AWS Management Console (https://console.aws.amazon.com) using your AWS account credentials.

2. Open the AWS Management Console and navigate to the Amazon S3 service.

3. Click on "Create bucket" to create a new bucket. Provide a unique name for your bucket and choose the region where you want to host your website. Click "Next" to proceed.

4. In the Configure options step, leave the default settings as they are and click "Next."

5. On the Set permissions step, uncheck the "Block all public access" option if you want to make your website publicly accessible. Check the acknowledgement and click "Next."

6. Review the bucket settings on the Review step and click "Create bucket."

7. Once the bucket is created, select it from the list and open the Properties tab.

8. In the Properties tab, click on "Static website hosting."

9. Choose the "Use this bucket to host a website" option and enter the index document name (e.g., "index.html") and optional error document name (e.g., "error.html"). Click "Save."

10. Now, upload your website files to the bucket. Click on the "Upload" button and select the files from your computer.

11. After uploading the files, make sure that the necessary permissions are set for each file to be publicly accessible. Select the file, click on "Actions," and choose "Make public."

12. Once all the files are uploaded and set to public, go back to the Properties tab and copy the Endpoint URL displayed under "Static website hosting."

13. Open a new browser tab and paste the Endpoint URL to verify if your website is accessible.

Congratulations! You have successfully hosted a static website using AWS S3. Your website should now be accessible through the provided Endpoint URL.
How to clean old GIT branches from the remote server?
Tags: git, github
Published: 2023-10-15 16:37:27

If you want to make some free space on the server or if you feel annoyed to see too many git branches on remote as you will never be using them in lifetime, then there is a solution for deleting the old git branches.

If you are using GitLab, GitHub or any other git supported repository for version controlling for your project, this solution should work for you.

We will be listing branches from oldest commit date to newest.

The command is as follows:

`git for-each-ref --sort=committerdate refs/heads/ --format='%(HEAD) %(color:cyan)%(refname:short) - %(color:red)%(objectname:short)%(color:reset) - %(contents:subject) - %(authorname) (%(color:green)%(committerdate:relative)%(color:reset))'`


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

Command should return the result which consist of Branch name, Last commit id, Description of last commit, Author, Date of the last commit.

Now you can figure out which branches you would like to delete. Prepare a list of branches you would like to delete.

In our case, we will delete Test_1 and Test_2.
Basically, you can delete as many branches as you want. There are two ways as follows:

1) `git push origin -d branch-name1 branch-name2`
2) `git push origin -d branch-name1 
    git push origin -d branch-name2` 

Either you need to pass multiple branch names to the command, or you need to prepare a list of command followed by single branch name and paste entire list in command prompt or powershell at once.

For example:
1) `git push origin -d Test_1 Test_2`
2) `git push origin -d Test_1 
    git push origin -d Test_2`

We will be using the first option here. It will delete both Test_1 and Test_2 branches at once.


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

GIT has deleted both branches. Now let's verify that using the command earlier we used to list branches by oldest commit date first order.

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

Let's also check on GitHub.

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

We can see that both Test_1 and Test_2 branches have been deleted.
Introduction to .NET 7 Minimal APIs
Tags: dotnet, programming, minimalapi, tutorial
Published: 2023-10-15 16:03:30

The release of .NET 6 brought about several exciting features and improvements, and one of the most exciting additions is the Minimal API. Minimal APIs make it easier than ever to create lightweight and efficient web applications in .NET. With its immense usefulness, I have started this .net 7 minimal API series and this is the first part of it.

To get started with Minimal APIs, you'll need .NET 6 SDK and Visual Studio 2022 or your preferred code editor. Here's a step-by-step guide to creating a simple Minimal API:

**Step 1: Create a New .NET 7 Project**

You can create a new project using the following command:

`dotnet new web -n MyMinimalApi`

Or alternatively, open Visual Studio 2022, and select the Asp.Net Web API project from Microsoft from the templates list.

![Select Project Type](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ftuaq49jfmrrzvuf9uia.png)

And once selected, in the next step, keep the "Use controllers" checkbox unchecked.

![Controllers Checkbox](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vgjvu9cwk77rgh0cvg09.png)

**Step 2: Define Endpoints**
In your Program.cs file, you'll define your endpoints using C# 10's new top-level statements. For example, a simple "Hello, World!" endpoint might look like this:

```
var builder = WebApplication.CreateBuilder(args); 
var app = builder.Build(); 
 app.MapGet("/", () => "Hello, World!"); 
 app.Run();
```

**Step 3: Run Your Application**
You can run your application with the following command:

`dotnet run`

Your Minimal API is now up and running! You can access it by navigating to http://localhost:5000 in your web browser.

Conclusion
.NET Minimal APIs offer a straightforward and efficient way to build web applications in .NET. Whether you're a beginner or an experienced developer, Minimal APIs can simplify your development process, improve performance, and reduce boilerplate code. They are a powerful addition to the .NET ecosystem, and you should consider using them for your next project.

For further detail, check my detailed blog post : [.Net 7 Minimal APIs Series - Introduction ](https://www.usmanrafiq.com/2023/10/net-7-minimal-apis-series-introduction.html)

Stay tuned for more in-depth tutorials and examples to help you make the most of Minimal APIs in .NET 7!
I contributed in October 2023
Tags: hack23contributor, hacktoberfest23, opensource, astro
Published: 2023-10-15 15:51:51

<!-- ✨This template is only meant to get your ideas going, so please feel free to write your own title, structure, and words! ✨ -->

### Intro

Again, this year, I contribute to Hacktoberfest! I already published a post on DEV about this event, if you want to read more and know about how I started to contribute:

{% embed https://dev.to/thomasbnt/another-year-of-contributing-to-hacktoberfest-13p7 %}

Now I'm [24](https://thomasbnt.dev/about), I participate in the Open Source world, like [Astro Docs](https://docs.astro.build).

<!-- Share a bit about yourself as a contributor. Is this your first Hacktoberfest, or have you contributed to others? Feel free to embed your GitHub account by using [% embed LINK %] -->
### Highs and Lows
<!-- What were some of your biggest accomplishments or light-bulb moments this month? Did any problems come up that seemed impossible to fix? How did you adapt in those cases?  -->

This is my goal, translating all `fr/guides/deploy/*` Astro docs in French language. You can follow my adventure directly with the issue:

{% embed https://github.com/withastro/docs/issues/4984 %}

I already have some PR merged, the team and members behind the documentation and the *Astro* framework are awesome. This is why I love contributing !

{% embed https://github.com/withastro/docs/pull/4975 %}
{% embed https://github.com/withastro/docs/pull/4970 noreadme %}
{% embed https://github.com/withastro/docs/pull/4978 %} 
{% embed https://github.com/withastro/docs/pull/5123 %}


### Growth
<!-- What was your skillset before Hacktoberfest 2023 and how did it improve? Have your learning or career goals changed since working on these new projects? -->
I need to **improve my English language**, I talk about in *[Featued Mod of the Mod: Thomas Bnt](https://dev.to/devteam/featured-mod-of-the-month-thomas-bnt-4lo3)* post. This is why I love contributing to Docs. Helping to translate in my language, is a good away to progress!

*Edit of the end of October* :
I realized more than 4PR and merged all issues 🥳

![More than 4PR for participating to the Hacktoberfest 2023](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gq9v4snnggktz3ouikhp.png)

[![An image of @thomasbnt's Holopin badges, which is a link to view their full Holopin profile](https://holopin.me/thomasbnt)](https://holopin.io/@thomasbnt)
Dia 9 - #100DaysOfSwift
Tags: ios, swift
Published: 2023-10-15 15:50:11

###Inicializadores
Toda struct tem um _init_ padrão(memberwise initializer), mas é possível criar outros inits e ao criar um init o padrão é substituído. 
Caso queira manter o init padrão mesmo após criar um, é só mover o init personalizado pra uma extension.

---

###Self
Dentro do método é possível nos referir à instância da estrutura usando _self_, isso é bastante usado pra usar o mesmo nome de variável ao criar o init.

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

O self serve para indicar que uma propriedade diz respeito ao elemento(struct, class) e não a uma variável local.

---

###Lazy
Para otimização de performance o Swift nos deixa criar algumas propriedades apenas quando elas são necessárias(Lazy), parecido com as propriedades computadas; Mas ao contrário dessas, as propriedades lazy armazenam o resultado calculado, evitando retrabalho nos próximos acessos.
São bem performáticas quando não estão sendo utilizadas porque o código nunca roda e ainda mais performáticas quando usadas várias vezes porque seu valor é armazenado em cache.

- Não são indicadas pra uso em coisas que não precisam de armazenamento ou que não são modificadas constantemente.
- Não podem ser utilizadas em structs constantes.

---

###Propriedades e métodos estáticos
Declarando uma propriedade ou método como estático é possível compartilhar eles em todas as instâncias da struct já que eles passam a ser membros da própria struct ao invés de cada instância ter o seu.


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

---

###Controle de acesso
O controle de acesso do swift é baseado no conceito de módulos e arquivos e tem 5 níveis de acesso diferentes para entidades(propriedades, tipos, funções...) dentro do código.

**Open** - Permite que entidades sejam usadas no módulo de definição e em qualquer outro que importe o módulo de definição; Pode acessar e sobrescrever.

**Public** - Permite que entidades sejam usadas no módulo de definição e em qualquer outro que importe o módulo de definição; Pode acessar, mas não pode sobrescrever.

**Internal** - Padrão do Swift, tudo que está no mesmo módulo pode ser acessado.

**File-private** - Só quem está no mesmo arquivo pode usar.

**Private** - Só quem declarou ou extensões de quem declarou(no mesmo arquivo) podem usar.
C# - Dynamic Behavior with Lambda Expressions and Delegates
Tags: csharp, beginners, programming, tutorial
Published: 2023-10-15 15:30:00

Lambda expressions in C# allow you to define anonymous methods or functions on the fly. Combined with delegates, you can create dynamic behaviors in your code, where you determine what a method does at runtime.

Here's an example that demonstrates this concept:

```csharp
using System;

public class Program
{
    public static void Main()
    {
        // Define a dynamic behavior using a lambda expression
        Func<int, int, int> dynamicOperation = (x, y) => x + y;

        // Use the dynamic behavior to perform an operation
        int result = PerformOperation(5, 3, dynamicOperation);
        Console.WriteLine($"Result: {result}");
    }

    public static int PerformOperation(int a, int b, Func<int, int, int> operation)
    {
        return operation(a, b);
    }
}
```

In this example, we define a `dynamicOperation` variable as a `Func<int, int, int>` delegate that takes two integers and returns their sum. We can change the behavior of `dynamicOperation` by assigning different lambda expressions to it at runtime.

The `PerformOperation` method accepts two integers and a delegate representing an operation to perform. In this way, you can pass different operations to `PerformOperation` and achieve dynamic behavior based on the operation you provide.

This approach is highly flexible and allows you to create code that adapts to changing requirements by changing the behavior of the delegates at runtime. It's a powerful technique for building extensible and configurable components in your applications.
HacktoberFest Week two
Tags: hacktoberfest23, games
Published: 2023-10-15 15:29:19

- HacktoberFest continues, issues have been assigned, code has been written pushed and accepted. The second week is almost over and I have three PRs accepted. 

## Pull Request #3

My next Pull request was for a game called Tiny Troves of Dev Wisdom. It's a unity 2D game and they need some more content.
I added a couple pieces of developer advice.


## Games

I realized almost every year I'm submitted code to a game of some sort. 

* **2020** Twitter code bot. Added some trivia questions to the bot.
* **2021** Wrote some documentation for a canvas project. Explored another game project but couldn't help them. 
* **2022** CodeThesaurus added some Documentation. Wrote some best practices.
* **2023** Already Memory Game and Tiny Troves of Dev Wisdom


## Virtual Coffee

Every year Virtual Coffee has a kickoff event for our members. It's to build community and welcome newer devs to open source. There's a  beginner friendly project to welcome new  members that we all do . Since it 1st issue I also do something else for the site.

* **2020** added Favicon, modified JS to place VC founders at top of member list.
* **2021** wrote Pull Request Templates
* **2022** Transcribed two podcasts.
* **2023** Working on transcribing another podcast episode.

## Next?

I'm working on two more issues. This week was also Fall Break so lots of family stuff going on.

## Surprise 

Last week I had my Hacktoberfest Article shared in the Dev HacktoberFest wrap up.

{% embed https://dev.to/devteam/hacktoberfest-2023-chronicles-diverse-insights-viewpoints-4i8l %}
highlight tất cả các đoạn văn nằm giữa dấu ngoặc đơn, ngoặc vuông, ngoặc nhọn
Tags: msword
Published: 2023-10-15 15:22:44

Đôi khi chúng ta sẽ cần phải "tìm" và "đánh dấu" những đoạn văn nằm giữa các cặp dấu đặc biệt, vd như ngoặc đơn `()` , ngoặc vuông `[]`, ngoặc nhọn `{}` trong MSWord 

lúc này mình sẽ cần mở cửa sổ Thay thế lên, bằng phím Ctrl H, 
sau đó nhập vào `\[(*)\]`
trong đó: 
- `\[` là token thứ nhất, cái này để Word tìm cái ngoặc vuông, trong đó cái dấu xẹt trái, nó là "escape character", giúp Word có thể tìm dc ký tự dấu ngoặc vuông vì dấu này là "ký tự đặc biệt", 
- `(*)` là token thứ hai là để Word tìm tất cả các ký tự cho đến khi tìm dc "token" tiếp theo
- `\]` là token thứ ba và lại là escape character để Word kết thúc cái chuỗi tìm kiếm 

Tick vào Use Wild card để Word hiểu dc cái đoạn ở trên. 
chỗ Format bạn chọn highlight hoặc định dạng bạn thích. 

Replace All và enjoy 

(*) token là cái gì thì cũng hơi khó giải thích, bạn cứ hiểu đơn giản nó là "bộ phận của một đoạn text sử dụng trong lập trình" là dc. 


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

thanks [bài gốc](**https://bioexpressblog.wordpress.com/2014/04/16/highlight-words-enclosed-in-parenthesis-in-ms-word/**)
Como atualizar / limpar o Wordpress em um servidor Linux pelo terminal
Tags: wordpress, linux, tutorial
Published: 2023-10-15 15:20:51

Aconteceu algum problema com seu WordPress e agora você precisa fazer uma faxina? Vou te ajudar nisso!

Primeiro de tudo, faça backup! Independentemente de tudo, faça backup! Dentro da pasta onde fica seu WordPress, faça backup dos arquivos wp-config.php e da pasta wp-content. São os arquivos que têm que ficar, senão você perderá todo seu trabalho.

Vamos comprimir o arquivo e a pasta e mover para a pasta acima. 
Assim:
`tar -czvf wp_content.tar.gz wp-content
mv wp_content.tar.gz ..
tar -czvf wp_config.tar.gz wp-config.php
mv wp_config.tar.gz ..`

Backups feitos! Vamos excluir todos os arquivos, exceto wp-config.php e a pasta wp-content! Atenção, atenção, atenção! Este comando deve ser executado dentro da pasta onde fica seu WordPress!
`find . -maxdepth 1 ! -name 'wp-content' ! -name 'wp-config.php' -exec rm -r {} +`

Este comando basicamente vai excluir tudo, menos o arquivo wp-config.php e a pasta wp-content. Ficou com medo de executar esse comando? Pode usar o 'rm' em cada pasta e arquivo que estiver aí. Só será mais trabalhoso!

Agora envie para a pasta do servidor onde ficaram os arquivos essenciais o WordPress atualizado e comprimido em 'tar.xz', para ficar mais fácil. Basta descomprimir usando o comando:
`tar -xJf wordpress.6.3.2.tar.xz`
Entre na pasta que foi criada:` cd wordpress.6.3.2/`
Mova os arquivos para a pasta acima: `mv * ..`

Prontinho, concluída sua tarefa de atualização ou limpeza Wordpress!
Becoming an Efficient Programmer Without the 24/7 Hustle 🚀
Published: 2023-10-15 15:19:00

Hey there, fellow code enthusiast! 🌟👋 If you've clicked on this article, you're probably looking for ways to level up your programming skills without chaining yourself to a desk all day. Good news! 🎉 Here are some tips to help you become an efficient programmer without feeling overwhelmed or burned out.

1. **Begin With Clarity** 📝: Before diving into coding, take a few minutes to understand your goal. Outline the features, draw a quick flowchart 📊, or jot down some pseudocode. A little planning can save you hours of debugging later on.

2. **Master Your Tools** 🛠: Just as a chef knows their knives 🔪, a programmer should be intimately familiar with their tools. Learn the shortcuts ⌨️, features, and capabilities of your IDE. The faster you navigate, the more efficient you'll be.

3. **Break Tasks into Chunks** ⏳: Coding for hours can be counterproductive. Try the Pomodoro Technique 🍅: work intensely for 25 minutes, then take a 5-minute break. This maintains focus while giving your brain some TLC.

4. **Stay Updated but Not Distracted** 🔄: Tech is ever-evolving. Dedicate time each week to learn about new tools 🧰 or updates. But remember, while staying updated is essential, jumping onto every trend can be distracting. Stay true to your goals.

5. **Invest in Continuous Learning** 📚: Set aside time for courses, tutorials, or coding challenges. Platforms like LeetCode or Codecademy can be fab places to practice. But balance is key. Don't forget to apply what you learn!

6. **Ask for Help** 🙋‍♂️🙋‍♀️: Stuck? Reach out. Whether it's a coworker, mentor, or friendly folks on Stack Overflow, many are ready to assist.

7. **Prioritize Self-care** 💆‍♀️💆‍♂️: One of the best things for programming efficiency? Self-care. Eat healthily 🥦, exercise 🏋️‍♂️, and sleep well 🌙. A refreshed mind is a productive one!

8. **Set Clear Boundaries** 🚫: It's essential to set work limits. Decide on your daily hours and stick to it. When it's time to log off, really log off—no sneaky peeks at code!

9. **Celebrate Small Wins** 🎊: Programming can sometimes feel like an uphill battle. Celebrating small victories—whether it's fixing a bug 🐛 or learning something new—keeps you motivated.

10. **Remember Your Why** ❤️: Amidst all the code, algorithms, and late-night debugging, remember why you started. Your passion will keep you driven.

Remember, becoming an efficient programmer isn't about working more; it's about working smarter. With these tips in mind, embrace the journey and happy coding! 🥳🎈👩‍💻👨‍💻
Meditação no cotidiano - Meditantes PodCast #1
Published: 2023-10-15 15:14:43

No ar o primeiro episódio do Meditantes PodCast com apresentação de Domício Shanti-Rham e participação de Raquel Ayimax.

Ouça, veja, curte, participe, compartilhe. 

Saiba mais em: [https://youtu.be/zWfip3EjT6s](https://youtu.be/zWfip3EjT6s)

#meditação #méditer #meditation #meditazione #meditación #nachdenken #meditar #muse #meditativo #meditantespodcast #meditantes #podcast #shantirham


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1mldwnz2ow95oj73nop1.jpg)
Meditantes PodCast
Published: 2023-10-15 15:13:52

Meditantes PodCast - Meditação sem fronteiras é como um programa de rádio moderno, trazendo convidados especialistas em Meditação para contarem suas experiências com as práticas meditativas. Para saber mais acesse: http://meditantes.com.br
.
#meditação #méditer #meditation #meditazione #meditación #nachdenken #meditar #muse #meditativo #meditantespodcast #meditantes #podcast #shantirham


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