teleren/devto huggingface dataset:
Solving Common MySQL Issues on macOS: A Guide for Developers
Tags: mysql, macos, databasetroubleshooting, homebrew
Published: 2024-01-08 21:06:37

## Introduction

Working with MySQL on macOS can sometimes lead to unexpected issues, whether you're setting up a new database or maintaining an existing one. In this post, we'll discuss how to address two common MySQL problems on macOS, particularly for those using Homebrew: changing the password policy and troubleshooting service start-up issues.

## Adjusting MySQL Password Policy

### The Issue

You might encounter an error (`ERROR 1819 (HY000): Your password does not satisfy the current policy requirements`) when trying to set a new MySQL password that doesn't include uppercase letters.

### The Solution

1. **Log in to MySQL**

    ```bash
    mysql -u root -p
    ```

2. **Check Current Password Policy**

    ```sql
    SHOW VARIABLES LIKE 'validate_password%';
    ```

3. **Adjust Policy**
    - Lower the password policy level:
         ```sql
         SET GLOBAL validate_password.policy = LOW;
         ```
    - Change the password length requirement, if necessary:
        ```sql
        SET GLOBAL validate_password.length = 8;
        ```
4. **Set New Password**

    ```sql
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
    FLUSH PRIVILEGES;
    ```

5. **Restart MySQL**
    ```bash
    brew services restart mysql
    ```

## Troubleshooting MySQL Start-Up Issues

### The Issue

Sometimes, after running `brew services restart mysql`, MySQL is `Loaded` but not `Running`.

### The Solution

1. **Check MySQL Logs**
    - Locate and view the error log:
        ```bash
        cat /usr/local/var/mysql/hostname.err
        ```

2. **Check MySQL Status**
    ```bash
    brew services list
    ```

3. **Start MySQL Manually**
    - This can give more immediate feedback:
        ```bash
        mysql.server start
        ```

4. **Check for Port Conflicts**
      ```bash
      lsof -i :3306
      ```

5. **Check File Permissions**
      ```bash
      sudo chown -R $(whoami) /usr/local/var/mysql/
      ```

6. **Repair MySQL Installation**
    - Reinstall MySQL if necessary:
        ```bash
        brew uninstall mysql
        brew install mysql
        ```

## Conclusion

Dealing with MySQL on macOS can present challenges, but with the right approach, these can be easily overcome. Whether adjusting the password policy or troubleshooting service start-up, understanding how to navigate these issues is crucial for any developer.
7 VSCode Extensions To 10X Your Productivity
Published: 2024-01-08 21:05:41

Today, there are a ton of VSCode extensions for just about anything.

But when it comes to **Frontend**, there are seven extensions I can't live without:

## Extension #1: Better Comments

This extension helps you write more human-friendly comments, enabling quick code **scanning for essential elements** like TODOs and highlights.

**Link**: https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments

## Extension #2: Code Spell Checker

Before this extension, I'd often get typo comments on my PRs. That meant going back, making changes, and waiting for CI again. With this extension, those days are history—I now know all **my code is typo-free**.

**Link**: https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker

## Extension #3: File Utils

This extension makes file manipulation (rename, delete, duplicate) a breeze.

**Link**: https://marketplace.visualstudio.com/items?itemName=sleistner.vscode-fileutils

Extension #4: GitHub Copilot

Seriously, I can't believe I survived without this extension. It works wonders in speeding up my coding, and I can't get enough of the **comments auto-completion**.

**Link**: https://marketplace.visualstudio.com/items?itemName=GitHub.copilot

## Extension #5: GitLens — Git supercharged

Git users, if you don't have this extension yet, stop and install it now. It makes everything, from finding the author of a line to checking commit history, much more convenient.

**Link**: https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens

## Extension #6: GitHub Pull Requests and Issues

If, like me, you are too lazy to navigate to the pull requests page and create one, download this extension. It lets you effortlessly **create PRs directly from VSCode**. Plus, you can easily **read/edit PR comments directly within VSCode**.

**Link**: https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github

## Extension #7: Turbo Console Log
I love this extension. It helps you craft meaningful messages, making them easy to spot in a sea of console logs.

**Link**: https://marketplace.visualstudio.com/items?itemName=ChakrounAnas.turbo-console-log

What about you? What are your favorite VSCode extensions? Share it with me on X/Twitter at [_ndeyefatoudiop](https://twitter.com/_ndeyefatoudiop) or on [Substack](https://frontendjoy.substack.com/).
Debugging Laravel: Printing SQL Queries with Ease
Published: 2024-01-08 20:47:01

As developers working on Laravel projects, there are moments when we need to delve into the inner workings of SQL queries. Printing the SQL query along with its bindings becomes crucial for debugging or running queries in SQL editors like `Sequel Ace` to verify expected results.

Laravel, although not having this feature out of the box (as of Laravel 9), provides methods like `toSql()` for printing queries without bindings and `getBindings()` for printing bindings separately. Let's explore how to print them together using a simple example:

#### Example Query:

```
$query = UserModel::where('email', 'name@example.com');
```

#### Using `toSql()` and `getBindings()`:

```
$rawQuery = str_replace('?', "'?'", $query->toSql());
logger()->info(vsprintf(str_replace('?', '%s', $rawQuery), $query->getBindings()));
```

This will output:

```
 select * from `users` where `email` = 'name@example.com' and `users`.`deleted_at` is null
```

#### Macroable Trait for Convenience:

For a more convenient and reusable approach, you can create a Macroable Trait. In your `AppServiceProvider`:

```
Builder::macro('toSqlWithBindings', function () {
    $rawQuery = str_replace('?', "'?'", $this->toSql());

    return vsprintf(str_replace('?', '%s', $rawQuery), $this->getBindings());
});
```

Now, you can use it seamlessly in your code:

```
UserModel::where('email', 'name@example.com')->toSqlWithBindings(); 
```

This will output the same SQL query as before.

#### Conclusion:

By incorporating these techniques, you can easily print SQL queries with bindings, empowering you to debug and optimize your Laravel applications effectively.

Happy coding!
Which one is recommended php framework for developing, Laravel or Codelgniter?
Published: 2024-01-08 20:36:18

Friends, The best choice depends on your project's specific needs, the scale of the application, your development team's expertise, and the features and ecosystem you require. If you prioritize rapid development and simplicity, **CodeIgniter** might be suitable. If you're looking for a more comprehensive framework with a larger feature set and community support, **Laravel** could be the preferred choice.

**[What are the optimal choices for developers and clients respectively?](https://dgihost.com/index.php/2024/01/08/best-php-framework-laravel-or-codelgniter/)**
Latest Release: React YouTube Playlist v2
Published: 2024-01-08 20:28:21

[React YouTube Playlist](https://www.npmjs.com/package/@codesweetly/react-youtube-playlist) version 2 is out! &#129395;

Let's discuss the highlights.

## Breaking Changes

This release comes with one breaking change.

- Replace default `import` with named `import`. This change provides better compatibility with Node and Babel-like tools.

## Other Changes

- Replace EmotionJS dependency with inline styling.
- Convert all configuration files to TypeScript.
- Change the loading spinner's color to improve its contrast on dark and light background schemes.

## How to Update the React YouTube Playlist Package

Here are the steps required to upgrade to the latest version:

### Step 1: Install the latest version

```bash
npm install @codesweetly/react-youtube-playlist@latest
```

Alternatively, you can use Yarn or pnpm like so:

```bash
yarn upgrade @codesweetly/react-youtube-playlist --latest
```

```bash
pnpm update @codesweetly/react-youtube-playlist --latest
```

### Step 2: Update the package's `import` syntax

Replace the package's default `import` statement with the named `import` syntax like so:

```diff
- import YouTubePlaylist from "@codesweetly/react-youtube-playlist";
+ import { YouTubePlaylist } from "@codesweetly/react-youtube-playlist";
```

## How to Use the React YouTube Playlist Package

See the [complete project-based guide](https://codesweetly.com/react-youtube-playlist) to learn how to add the `YouTubePlaylist` package to your React applications. You can use the library with Vite, NextJS, Remix, or any other React app.
Setting up Nginx as a Reverse Proxy for Jenkins with SSL certificates on multiple subdomains using Certbot on Ubuntu 20.04
Published: 2024-01-08 20:12:17

**Step 1: Install the Nginx Web Server**
Ubuntu
`sudo apt update
sudo apt install nginx vim
`
Note: Ensure that Apache2 is not running simultaneously with Nginx. If Apache2 is running, stop and disable it.

**Step 2: Configure Nginx for the Jenkins Server subdirectory**
After installing Nginx web server, create a VirtualHost configuration file:
`sudo vim /etc/nginx/conf.d/jenkins.conf
`
Paste and modify the following configurations in the created file:

```
upstream jenkins {
  server 127.0.0.1:8080 fail_timeout=0;
}

server {
  listen 80;
  server_name jenkins.example.com;

  location / {
    proxy_set_header        Host $host:$server_port;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_pass              http://jenkins;
    proxy_http_version 1.1;
    proxy_request_buffering off;
    proxy_buffering off;
  }
}

server {
  listen 80;
  server_name www.jenkins.example.com;

  location / {
    proxy_set_header        Host $host:$server_port;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_pass              http://jenkins;
    proxy_http_version 1.1;
    proxy_request_buffering off;
    proxy_buffering off;
  }
}

```
Replace:
jenkins.example.com and www.jenkins.example.com with your Jenkins server domain name as configured in the DNS server.

**Step 3: Validate Nginx configuration**
`sudo nginx -t
`
Output should confirm that the syntax is OK and the test is successful.

**Step 4: Start Nginx service**
`sudo systemctl enable --now nginx
sudo systemctl restart nginx
`
Nginx is now configured to proxy requests to the Jenkins server. Access Jenkins using your specified domain name (e.g., jenkins.example.com or www.jenkins.example.com).

**Certbot instructions - Nginx on Ubuntu 20
Step 1: SSH into the Server**
SSH into the server running your HTTP website as a user with sudo privileges.
`ssh your_username@your_server_ip
`
**Step 2: Install Snapd**
Install Snapd on the server.
`sudo apt install snapd
`
**Step 3: Remove Existing Certbot Packages**
Remove any Certbot packages installed using the OS package manager.
`sudo apt remove certbot
`
**Step 4: Install Certbot Snap**
Install Certbot using Snap.
`sudo snap install --classic certbot
`
**Step 5: Obtain and Install SSL Certificate**
Run Certbot to get a certificate and automatically edit the Nginx configuration to enable HTTPS.
`sudo certbot --nginx
`
Follow the prompts to enter your email address and answer other questions.

Choose which domain you want to activate HTTPS or press Enter to choose everything.
You can check your SSL certificate's expiration date and other information on the [SSL Server Test (Powered by Qualys SSL Labs) ](https://www.ssllabs.com/)website.
Como usar o elasticsearch - Data Stream APIs
Tags: elasticsearch
Published: 2024-01-08 20:10:51


Neste artigo irei falar brevemente sobre o elasticsearch - data stream, no qual permite armazenar séries temporais em vários índices através de API, ao mesmo tempo em que fornece um único recurso nomeado para solicitações, tornando-se adequados para logs, eventos, métricas e outros dados que são gerados de forma contínua.

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

Com isso, você pode enviar solicitações de indexação e pesquisa diretamente para um fluxo de dados. O stream roteia automaticamente a solicitação para índices de backup que armazenam o dados do fluxo. Você também pode usar o ILM (gerenciamento do ciclo de vida do índice) para automatizar o gerenciamento desses índices de apoio. Por exemplo, você pode usar ILM para mover automaticamente índices de suporte mais antigos para menos desperdícios de hardware e excluir índices desnecessários. 

Para realizar uma solicitação de leitura para um fluxo de dados, o data stream roteia a solicitação a todos os seus índices de apoio:

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

Do modo semelhante funciona a gravação/escrita em um data stream, ou seja, o índice de suporte criado mais recentemente é o índice de gravação do fluxo de dados. O fluxo adiciona novos documentos somente a esse índice, conforme o exemplo abaixo:

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


Caso você esteja começando agora sua trilha nas soluções da Elastic, possuo um artigo que realiza uma [Introdução ao Elastic Stack](https://medium.com/data-hackers/introdução-ao-elastic-stack-914a89b5f07c).

Em outras palavras o Elasticsearch é um mecanismo de análise de dados e busca RESTful distribuído, capaz de atender a um número crescente de casos de uso. Como elemento central do Elastic Stack, ele armazena seus dados centralmente para proporcionar busca rápida, relevância com ajuste fino e analítica poderosa que pode ser ampliada com facilidade.

**Onde aprender mais?**
Caso você queira aprender um pouco mais sobre o monitoramento de aplicação e observabilidade, tem possuo um [guia de estudos para observabilidade](https://medium.com/@gersoneto/guia-de-estudos-elastic-observability-526d79fc6233) e também possuo um canal no [Youtube](https://www.youtube.com/channel/UCQm4EeyAuV3hBzRlq9jQXRw) com o objetivo de explicar ao público iniciante, como instalar a solução e falar mais aprofundado sobre cada módulo que compõe a stack. Também existe a [comunidade oficial](https://www.elastic.co/pt/community/) da elastic e os grupos de meetups e telegram em várias cidades do Brasil.

Bem, espero que tenham conseguido extrair novos conhecimentos. Caso tenham alguma dúvida, sintam-se livres para em entrar em contato, ou deixar um comentário que irei responder assim que possível. Obrigado!




https://www.elastic.co/guide/en/elasticsearch/reference/current/data-stream-apis.html
Como usar o elasticsearch - Data Stream APIs
Published: 2024-01-08 20:10:28


Neste artigo irei falar brevemente sobre o elasticsearch - data stream, no qual permite armazenar séries temporais em vários índices através de API, ao mesmo tempo em que fornece um único recurso nomeado para solicitações, tornando-se adequados para logs, eventos, métricas e outros dados que são gerados de forma contínua.

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

Com isso, você pode enviar solicitações de indexação e pesquisa diretamente para um fluxo de dados. O stream roteia automaticamente a solicitação para índices de backup que armazenam o dados do fluxo. Você também pode usar o ILM (gerenciamento do ciclo de vida do índice) para automatizar o gerenciamento desses índices de apoio. Por exemplo, você pode usar ILM para mover automaticamente índices de suporte mais antigos para menos desperdícios de hardware e excluir índices desnecessários. 

Para realizar uma solicitação de leitura para um fluxo de dados, o data stream roteia a solicitação a todos os seus índices de apoio:

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

Do modo semelhante funciona a gravação/escrita em um data stream, ou seja, o índice de suporte criado mais recentemente é o índice de gravação do fluxo de dados. O fluxo adiciona novos documentos somente a esse índice, conforme o exemplo abaixo:

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


Caso você esteja começando agora sua trilha nas soluções da Elastic, possuo um artigo que realiza uma [Introdução ao Elastic Stack](https://medium.com/data-hackers/introdução-ao-elastic-stack-914a89b5f07c).

Em outras palavras o Elasticsearch é um mecanismo de análise de dados e busca RESTful distribuído, capaz de atender a um número crescente de casos de uso. Como elemento central do Elastic Stack, ele armazena seus dados centralmente para proporcionar busca rápida, relevância com ajuste fino e analítica poderosa que pode ser ampliada com facilidade.

**Onde aprender mais?**
Caso você queira aprender um pouco mais sobre o monitoramento de aplicação e observabilidade, tem possuo um [guia de estudos para observabilidade](https://medium.com/@gersoneto/guia-de-estudos-elastic-observability-526d79fc6233) e também possuo um canal no [Youtube](https://www.youtube.com/channel/UCQm4EeyAuV3hBzRlq9jQXRw) com o objetivo de explicar ao público iniciante, como instalar a solução e falar mais aprofundado sobre cada módulo que compõe a stack. Também existe a [comunidade oficial](https://www.elastic.co/pt/community/) da elastic e os grupos de meetups e telegram em várias cidades do Brasil.

Bem, espero que tenham conseguido extrair novos conhecimentos. Caso tenham alguma dúvida, sintam-se livres para em entrar em contato, ou deixar um comentário que irei responder assim que possível. Obrigado!


https://www.elastic.co/guide/en/elasticsearch/reference/current/data-stream-apis.html
Os benefícios de monitorar Kubernetes com Elastic Observability
Published: 2024-01-08 20:05:12

Sabemos que hoje em dia as aplicações estão se tornando cada vez mais complexa, com isso, se faz necessário o monitoramento de toda esteira de desenvolvimento. O Kubernetes se tornou uma grande potencia quando falamos em aplicações distribuídas, mas você realiza o monitoramento desta plataforma? Neste artigo vou falar um pouco de como a solução da Elastic pode te ajudar neste contexto.

A Elastic dispõe de uma solução "APM" que fornece visibilidade dos seus serviços de aplicações, além de correlacionar com o Kubernetes e os componentes de nuvem. O machine learning da Elastic fornece insights adicionais sobre problemas inter-relacionados entre as camadas.

Deste modo, você pode reunir logs, métricas e traces do seu cluster do Kubernetes e das cargas de trabalho executadas nele em uma solução unificada. Além de tudo, viabiliza a descoberta dinâmica de serviços, o gerenciamento central de agentes e os dados de telemetria enriquecidos dos seus clusters lhe permitem identificar rapidamente problemas em suas aplicações, serviços e ambiente.


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


https://www.elastic.co/pt/observability/kubernetes-monitoring

Após ingestão das métricas, você é capaz de visualizar as informações através de dashboards padrão, nativos do próprio Kibana, entre eles os dashboards de: Kubernetes Overview, Kubernetes Nodes, Kubernetes Pods, Kubernetes Deployments, Kubernetes StatefulSets, Kubernetes DaemonSets, Kubernetes CronJobs, Kubernetes Jobs, Kubernetes Volumes, Kubernetes PV/PVC, Kubernetes Services, Kubernetes API Server.

Deste modo, a solução da Elastic Observability proporciona uma experiência correlacionada e contextualizada para análise ad-hoc reduz a complexidade relacionada a arquiteturas de microsserviços distribuídos e expõe problemas com mais facilidade, enriquecida com as funcionalidades de machine learning para melhorar o gerenciamento dos seus clusters do Kubernetes.

**Onde aprender mais?**
Caso você queira aprender um pouco mais sobre o monitoramento de aplicação e observabilidade, tem possuo um [guia de estudos para observabilidade](https://medium.com/@gersoneto/guia-de-estudos-elastic-observability-526d79fc6233) e também possuo um canal no [Youtube](https://www.youtube.com/channel/UCQm4EeyAuV3hBzRlq9jQXRw) com o objetivo de explicar ao público iniciante, como instalar a solução e falar mais aprofundado sobre cada módulo que compõe a stack. Também existe a [comunidade oficial](https://www.elastic.co/pt/community/) da elastic e os grupos de meetups e telegram em várias cidades do Brasil.

Bem, espero que tenham conseguido extrair novos conhecimentos. Caso tenham alguma dúvida, sintam-se livres para em entrar em contato, ou deixar um comentário que irei responder assim que possível. Obrigado!
What is the difference between http and https?
Tags: html, beginners, programming, seo
Published: 2024-01-08 17:28:37

HTTP (Hypertext Transfer Protocol) and HTTPS (Hypertext Transfer Protocol Secure) are both protocols used for transferring data over a network, typically the internet. However, they have some fundamental differences, primarily related to security:

**Security:**

HTTP is not secure by default. The data sent via HTTP is in plain text, which means it can be intercepted and read by anyone who has access to the data transmission.

HTTPS, on the other hand, is a secure version of HTTP. It uses encryption (usually SSL/TLS protocols) to secure the data transmitted between the client (like your web browser) and the server. This encryption makes it extremely difficult for unauthorized parties to intercept or manipulate the data.

**Encryption:**

HTTP does not encrypt the data being transmitted. Therefore, any information sent using HTTP, such as login credentials or personal information, can be easily intercepted by attackers.
HTTPS encrypts the data during transmission, making it secure. This encryption ensures that even if intercepted, the data would be unreadable without the encryption key.

**Protocol and Port:**

HTTP typically uses port 80 for communication.
HTTPS typically uses port 443 for communication.

**Trust and Authentication:**

HTTPS requires an SSL/TLS certificate installed on the server. This certificate verifies the identity of the website and encrypts the data being transmitted.

HTTP does not require any certificate for communication, which means it lacks the authenticity and assurance that the site you're communicating with is legitimate and not intercepted or altered.

In summary, HTTPS provides a secure way of transmitting data over the internet by encrypting it, while HTTP does not have built-in security measures, making the transmitted data vulnerable to interception and manipulation. In modern web usage, websites are increasingly moving towards HTTPS to ensure the security and privacy of their users.

**[Why is HTTPS important for SEO?](https://dgihost.com/index.php/2024/01/08/role-of-https-in-seo-marketing/)**