Skip to content

Commit

Permalink
Merge pull request #2 from MMazoni/simple-changes
Browse files Browse the repository at this point in the history
Simple changes
  • Loading branch information
MMazoni authored Aug 15, 2024
2 parents 9a5c586 + 1c5b684 commit 33654fa
Show file tree
Hide file tree
Showing 21 changed files with 226 additions and 255 deletions.
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,11 @@

Blog pessoal que conto um pouco a minha experiência na área de tecnologia.


## 💻 Pré-requisitos

Antes de começar, verifique se você atendeu aos seguintes requisitos:

* Você instalou a versão LTS do `Node` que já vem junto com `npm`

- Você instalou a versão LTS do `Node` que já vem junto com `npm`

## ☕ Rodar o blog

Expand All @@ -18,6 +16,7 @@ Para utilizar o blog, siga estas etapas:
npm install
npm run start
```

Caso queira buildar para produção:

```
Expand Down
73 changes: 35 additions & 38 deletions content/blog/ambiente-local-php/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ Agora vou mostrar o ambiente de desenvolvimento que preparei no Ubuntu 19.10 no

Faça o download de acordo com sua máquina do [Oracle Instant Client](https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html) dos arquivos que tiver `basic` e `sdk`.

+ Arquivos de exemplo do linux x64: _instantclient-basic-linux.x64-19.3.0.0.0dbru.zip_ e _instantclient-sdk-linux.x64-19.3.0.0.0dbru.zip_
- Arquivos de exemplo do linux x64: _instantclient-basic-linux.x64-19.3.0.0.0dbru.zip_ e _instantclient-sdk-linux.x64-19.3.0.0.0dbru.zip_

Na pasta _Downloads_:

``` sh
```sh
mkdir oracle
mv instantclient-basic-linux.x64-19.3.0.0.0dbru.zip oracle/
mv instantclient-sdk-linux.x64-19.3.0.0.0dbru.zip oracle/
Expand All @@ -27,11 +27,11 @@ cd ..
sudo mv oracle /opt/
```

Adicione a pasta ao __ldconfig__ e use o comando.
Adicione a pasta ao **ldconfig** e use o comando.

export LD_LIBRARY_PATH=/opt/oracle/instantclient_19_3
sudo sh -c "echo /opt/oracle/instantclient_19_3 > /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig
export LD_LIBRARY_PATH=/opt/oracle/instantclient_19_3
sudo sh -c "echo /opt/oracle/instantclient_19_3 > /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig

Utilizamos o banco Oracle e precisamos da extensão `oci8` no PHP, iremos ativar na compilação dele.

Expand All @@ -45,7 +45,7 @@ Instale as dependências
sudo apt install autoconf automake bison build-essential curl flex \
libtool libssl-dev libcurl4-openssl-dev libxml2-dev libonig-dev \
libreadline-dev libsqlite3-dev libzip-dev nginx openssl \
pkg-config re2c sqlite3 zlib1g-dev
pkg-config re2c sqlite3 zlib1g-dev
```

[Baixe o PHP](https://www.php.net/downloads.php). Lembrando que utilizei a versão 7.3. Descompacte e entre no diretório pelo terminal.
Expand Down Expand Up @@ -94,85 +94,82 @@ cd ~/php7.3/etc/
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf
```

Adicione a caminho ~/php7.3/bin [para a variável $PATH](https://gist.github.com/nex3/c395b2f8fd4b02068be37c961301caa7)

Para testar se o PHP está funcionando.

php --version
php --version

O output:

PHP 7.3.12 (cli) (built: Dec 02 2019 20:55:45) ( NTS )
Copyright (c) 1997-2019 The PHP Group
Zend Engine v3.3.11, Copyright (c) 1998-2019 Zend Technologies
PHP 7.3.12 (cli) (built: Dec 02 2019 20:55:45) ( NTS )
Copyright (c) 1997-2019 The PHP Group
Zend Engine v3.3.11, Copyright (c) 1998-2019 Zend Technologies

## 3 - Composer - Gerenciador de pacotes do PHP

A partir daqui iremos instalar os requisitos para o __Laravel__, o composer é um deles.
A partir daqui iremos instalar os requisitos para o **Laravel**, o composer é um deles.

Apenas rode os comandos do script para instalar o composer, no [site oficial](https://getcomposer.org/download/).

Agora precisamos mover o arquivo `composer.phar` para a pasta de binários do sistema(irei renomear para apenas 'composer').

sudo mv composer.phar /usr/bin/composer
sudo mv composer.phar /usr/bin/composer

Digite 'composer --version' e o output será parecido com esse:

Composer version 1.9.0 2019-08-02 20:55:32
Composer version 1.9.0 2019-08-02 20:55:32

## 4 - Node-js e NPM

Baixe no [site oficial](https://nodejs.org/en/) a versão LTS ou a mais recente. Extraia o arquivo na sua pasta `home`. Depois adicione o caminho para o PATH.

Para confirmar:

nodejs -v
npm -v
nodejs -v
npm -v

Se apareceu o número da versão, está tudo certo.

## 5 - Laravel

Utilize o comando abaixo para o composer instalar o Laravel e adicionar no $PATH

composer global require laravel/installer
echo 'export PATH="PATH:/$HOME/.config/composer/vendor/bin/"' | sudo tee -a ~/.bashrc
composer global require laravel/installer
echo 'export PATH="PATH:/$HOME/.config/composer/vendor/bin/"' | sudo tee -a ~/.bashrc

## 6 - Oracle SQL Developer

Um dos pré-requisitos é a instalação do Java 8 para cima, recomendo que instale o [Java da Oracle](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html), pois o OpenJDK não é o suficiente, sendo necessário a instalação de mais bibliotecas por fora para o SQL Developer funcionar corretamente.

Para instalá-lo, apenas baixe o jdk-8 no formato ´tar.gz´ e extraia para a pasta /opt/jdk.

sudo mkdir -p /opt/jdk
sudo cp -rf /$HOME/Downloads/jdk-8u231-linux-x64.tar.gz /opt/jdk/
cd /opt/jdk/
sudo tar -zxf jdk-8u231-linux-x64.tar.gz
sudo mkdir -p /opt/jdk
sudo cp -rf /$HOME/Downloads/jdk-8u231-linux-x64.tar.gz /opt/jdk/
cd /opt/jdk/
sudo tar -zxf jdk-8u231-linux-x64.tar.gz

Com o java instalado, agora vamos baixar o [SQL Developer](https://www.oracle.com/tools/downloads/sqldev-v192-downloads.html). Utilizei o "Other Platforms".
Com o java instalado, agora vamos baixar o [SQL Developer](https://www.oracle.com/tools/downloads/sqldev-v192-downloads.html). Utilizei o "Other Platforms".

Extraia o zip baixado e siga os passos abaixo para a instalação:

sudo unzip /$HOME/Downloads/sqldeveloper-*-no-jre.zip -d /opt/
sudo chmod +x /opt/sqldeveloper/sqldeveloper.sh
sudo ln -s /opt/sqldeveloper/sqldeveloper.sh /usr/local/bin/sqldeveloper
sudo unzip /$HOME/Downloads/sqldeveloper-*-no-jre.zip -d /opt/
sudo chmod +x /opt/sqldeveloper/sqldeveloper.sh
sudo ln -s /opt/sqldeveloper/sqldeveloper.sh /usr/local/bin/sqldeveloper

Edite o script /opt/sqldeveloper/sqldeveloper.sh por:

#!/bin/bash
unset -v GNOME_DESKTOP_SESSION_ID
cd /opt/sqldeveloper/sqldeveloper/bin
./sqldeveloper "$@"
#!/bin/bash
unset -v GNOME_DESKTOP_SESSION_ID
cd /opt/sqldeveloper/sqldeveloper/bin
./sqldeveloper "$@"

Quando você executar o SQL Developer, vai ser necessário colocar o caminho da pasta do Java, irei colocar o meu como exemplo:

sqldeveloper

/opt/jdk/jdk1.8.0_231/

sqldeveloper

/opt/jdk/jdk1.8.0_231/

Com isso finaliza a instalação do meu ambiente de desenvolvimento no trabalho. Há alguns programas adicionais utilizados por mim, acho bom apenas citar, que são:

+ Visual Studio Code - meu editor de código favorito no momento
+ Postman - para testar as APIs feitas com Lumen
- Visual Studio Code - meu editor de código favorito no momento
- Postman - para testar as APIs feitas com Lumen
18 changes: 8 additions & 10 deletions content/blog/anki/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,17 @@ Existe outros softwares de flashcards, mas apenas conheço o Anki, como sempre a

Eu prefiro utilizar o [AnkiWeb](https://ankiweb.net/), pois não precisa instalar nada. Consigo sincronizar meus _decks_ pela minha conta em qualquer lugar, apenas acessando o site e logando.

Faz muito tempo que não utilizo o Anki, uma matéria(Redes de Computadores) da faculdade me fez lembrar dessa ferramenta para me auxiliar sem gastar muito tempo de estudo. O professor utiliza questões de verdadeiro ou falso e ele possui um vasto banco de questões, com isso achei que o Anki e a técnica de flashcards se aplicaria muito bem nessa situação.
Faz muito tempo que não utilizo o Anki, uma matéria(Redes de Computadores) da faculdade me fez lembrar dessa ferramenta para me auxiliar sem gastar muito tempo de estudo. O professor utiliza questões de verdadeiro ou falso e ele possui um vasto banco de questões, com isso achei que o Anki e a técnica de flashcards se aplicaria muito bem nessa situação.

Aqui seria a minha tela de Decks:

![anki-home](https://trello-attachments.s3.amazonaws.com/5a9ad7ae3d56417005320ecd/5da4c48a6d0ad462fafe764d/c1ce32fddc48d77ccf84199000c144e4/anki1.png "Minha tela de Decks")


Como é mostrado logo no rodapé da imagem, é possível compartilhar seus Decks e adicionar Decks de outras pessoas.


![anki2](https://trello-attachments.s3.amazonaws.com/5a9ad7ae3d56417005320ecd/5da4c48a6d0ad462fafe764d/c45a8bd3e7067656e1fe98c32447a288/anki2.png "frente de um card")

Aqui seria a frente do card. Clique em __Show Answer__ quando você mentalizar na cabeça qual seria a resposta.
Aqui seria a frente do card. Clique em **Show Answer** quando você mentalizar na cabeça qual seria a resposta.

![anki3](https://trello-attachments.s3.amazonaws.com/5a9ad7ae3d56417005320ecd/5da4c48a6d0ad462fafe764d/d0ce34496e03371613692d501352a330/anki3.png "verso do card")

Expand All @@ -34,11 +32,11 @@ Na hora de criar um card é simples, apenas selecione o Deck, coloque a informa

Há muitas possibilidades de estudo com o Anki, concurseiros e vestibulandos utilizam muito aqui no Brasil. Em geral são usados para estudar:

+ Fórmulas matemáticas
+ Leis e datas
+ Mapas e geografia
+ Uma nova língua
+ Provas e exames
+ Acordes de música
- Fórmulas matemáticas
- Leis e datas
- Mapas e geografia
- Uma nova língua
- Provas e exames
- Acordes de música

O Anki é de grande ajuda na hora de estudar, quando você cria os Decks em si já é um estudo, depois é só ir revisando sempre utilizando a Repetição Espaçada, que é nativo da aplicação. Eu tinha deixado de usar, mas vou ver se consigo colocar de novo na minha rotina e usá-lo no meu estudo de programação.
22 changes: 11 additions & 11 deletions content/blog/ansible-local-dev/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ date: "2022-04-21T11:34:32.169Z"
description: Automatizar a configuração do meu ambiente de Desenvolvimento do Chromebook com Ansible
---

Se você leu os primeiros posts do meu blog, deve saber que tenho um chromebook. Hoje em dia, a forma mais fácil e nativa de desenvolvimento é utilizando o Crostini. É um LXC (Linux Containers), que vem na distro Debian por padrão, mas dá para mudar para Ubuntu, Arch Linux entre outras. Eu tenho um problema muito grande chamado: *espaço em disco*. Como meu chromebook tem apenas 16Gb de disco, o Crostini consegue alocar no máximo 7Gb, sendo que o sistema do Linux por si só já deve comer uns 2Gb.
Se você leu os primeiros posts do meu blog, deve saber que tenho um chromebook. Hoje em dia, a forma mais fácil e nativa de desenvolvimento é utilizando o Crostini. É um LXC (Linux Containers), que vem na distro Debian por padrão, mas dá para mudar para Ubuntu, Arch Linux entre outras. Eu tenho um problema muito grande chamado: _espaço em disco_. Como meu chromebook tem apenas 16Gb de disco, o Crostini consegue alocar no máximo 7Gb, sendo que o sistema do Linux por si só já deve comer uns 2Gb.

Geralmente faço reboot desse container para diferentes setups de desenvolvimento (Node+Docker, Terraform+Kubernetes, PHP+Python+MySQL). E fazer a instalação dos pacotes tudo na mão toda hora que eu troco entre esses setup é um saco. É aí que entra o Ansible. Conheci recentemente por uma indicação de um colega do trabalho. Pesquisei e vi uns vídeos da Alura sobre o assunto e já consegui brincar um pouquinho para automatizar o provisionamento de meu ambiente padrão de desenvolvimento no Crostini.

Expand Down Expand Up @@ -74,22 +74,22 @@ npm i -g yarn

O script era bem simples:

* Instalava o fish, meu shell favorito.
* Configurava o git
* Configurava o vim
* Gerava o SSH da máquina (não era tão automatizado, pois tinha que colocar no github)
* Instalava o Docker e o Docker Compose
* Instalava o node
- Instalava o fish, meu shell favorito.
- Configurava o git
- Configurava o vim
- Gerava o SSH da máquina (não era tão automatizado, pois tinha que colocar no github)
- Instalava o Docker e o Docker Compose
- Instalava o node

[Ansible](https://github.com/ansible/ansible) é uma ferramenta open-source de automação mais utilizada para gerenciar a configuração de servidores. Porêm, vou usá-lo com meu ambiente de desenvolvimento local. Ela foi desenvolvida pela Red Hat em python, mas não precisa saber python para usar o ansible.
[Ansible](https://github.com/ansible/ansible) é uma ferramenta open-source de automação mais utilizada para gerenciar a configuração de servidores. Porêm, vou usá-lo com meu ambiente de desenvolvimento local. Ela foi desenvolvida pela Red Hat em python, mas não precisa saber python para usar o ansible.

Geralmente não é comum utilizar no ambiente local, pelo fato ser muito poderoso pra fazer somente isso. Só que fiz para aprender mesmo. Achei a curva de aprendizado bem tranquila.
Geralmente não é comum utilizar no ambiente local, pelo fato ser muito poderoso pra fazer somente isso. Só que fiz para aprender mesmo. Achei a curva de aprendizado bem tranquila.

Algumas vantagens que percebi ao usar o Ansible:

- simplicidade, fácil de aprender
- não precisa instalar agent na máquina que será automatizada
- playbooks escritos em YAML
- utilizar secrets para dados sensíveis
- utilizar secrets para dados sensíveis

Em um próximo post vou mostrar as formas de instalar o ansible e como fiz a automação e estruturei os playbooks.
Em um próximo post vou mostrar as formas de instalar o ansible e como fiz a automação e estruturei os playbooks.
Loading

0 comments on commit 33654fa

Please sign in to comment.