Criação Blog #1
Nascimento da ideia!
Um dos meus hobbies na vida, além de ler, é jogar e ao apreciar esse hobbie, descobri uma fonte constante de leitura no blog semanal dos desenvolvedores do jogo ‘Factorio’. As postagens não apenas ofereciam insights interessantes sobre os bastidores do processo de criação, mas também alimentavam minha própria criatividade e desejo de compartilhar minhas jornadas e projetos pessoais.
Assim surgiu a ideia deste blog, assim como os desenvolvedores de ‘Factorio’, vou compartilhar não apenas meus projetos, mas também minhas experiências e aprendizados. No entanto, havia um pequena pedra no meu caminho: minha falta de experiência em desenvolvimento web e design.
Meu caminho rumo à criação deste blog foi uma verdadeira montanha-russa e estou passando para compartilhar cada passo desse processo com vocês.
Desafios Iniciais e Escolha da Plataforma
Enquanto a ideia do blog começava a tomar forma, encontrei alguns desafios iniciais devido à minha inexperiência em desenvolvimento web. A falta de conhecimento sobre sites, domínios e design web tornou a execução dessa ideia bastante intimidadora.
Inicialmente, considerei três plataformas nas quais poderia colocar meu blog: LinkedIn Pages, Medium e GitHub Pages. No entanto, logo joguei fora as duas primeiras devido a limitações ou mudanças recentes. Após uma análise, e devido ao acesso ao GitHub Pro por meio do programa “GitHub Student Developer Pack”, decidi optar pelo GitHub Pages, uma escolha que aparentava ser mais acessível e alinhada com minhas necessidades, meu foco era em customização, flexbilidade, controle total do blog em si e que o conteúdo postado seja meu de fato.
Com a plataforma escolhida estava na hora de colocar a mão na massa! Como não queria me aventurar em criar um site do zero, e esse não era meu foco, decidi procurar temas que funcionassem com o GitHub Pages, nessa procura achei o Jekyll, que é um gerador de site estático escrito em Ruby e que possui código aberto, como gosto bastante da ídeia de código aberto, decidi dar uma chance ao Jekyll!
Quanto ao design do blog, vi que no próprio GitHub tem bastante temas criados e após uma pesquisa extensiva, reduzi minha seleção a dois temas promissores: o Klise e o Gapura. Ambos apresentavam um design minimalista e responsivo, que me agradou demais.
Após uma avaliação demorada, decidi pelo Klise devido à sua compatibilidade com dispositivos móveis e a inclusão de um modo escuro, uma opção que me é bastante de meu interesse devido à fotobia (nome bonito para sensibilidade à luz). No entanto, mesmo com a escolha do tema decidida, ainda enfrentei desafios técnicos ao configurar o blog.
A escolha de utilizar o Jekyll, embora promissora, revelou ser desafiadora ao tentar hospedar o site localmente. As dependências de Ruby e Jekyll, juntamente com questões de compatibilidade e configuração, provou ser um obstáculo significativo.
Experiência com Docker
Para hospedar o site localmente com o Jekyll, era necessário Ruby e Jekyll instalado na máquina, porém mesmo instalando as dependências de cada um, Chocolatey, MSYS2, na hora de rodar localmente continuava acontecendo problemas de dependências, depois de quebrar muito a cabeça sem solução, decidi explorar uma abordagem alternativa: o Docker. Já possuia interesse há algum tempo em aprender sobre essa tecnologia e vi essa situação como uma oportunidade perfeita para abordar esse interesse!
A instalação do Docker foi relativamente tranquila, porém como a vida de alguém que mexe com tecnologias não é um mar de rosas, logo me deparei com um obstáculo ao tentar iniciar o serviço: a necessidade de ativar a virtualização nas configurações da BIOS. Felizmente, graças a algumas experiências prévias com ajustes na BIOS, consegui resolver esse problema rapidamente.
Entretanto, ao tentar executar o Docker, encontrei alguns problemas relacionados a diretórios e caminhos. A estrutura do projeto Jekyll e do meu repositório precisou ser ajustada para garantir que o Docker encontrasse os arquivos necessários, assim como foi necessário fazer algumas modificações nos arquivos para corrigir alguns caminhos.
Para simplificar ainda mais o processo de configuração, criei um arquivo Dockerfile
. Esse arquivo define as configurações necessárias para construir uma imagem Docker do meu blog. Com o Dockerfile pronto, consegui criar uma imagem sem problemas e, em seguida, iniciei o contêiner com o comando docker run
.
Apesar de algumas dificuldades iniciais, a experiência com Docker acabou sendo muito instrutiva e recompensadora, além de rápida e concisa. Não apenas consegui contornar os desafios de hospedar o site localmente, mas também adquiri conhecimentos valiosos sobre uma tecnologia no processo. Inclusive, durante esse processo, encontrei uma outra abordagem que parecia promissora, levando-me a investigar ainda mais.
Nova Abordagem com Docker Compose
Apesar de já ter resolvido os problemas técnicos encontrados e conseguido enfim hospedar o site localmente, ainda não estava satisfeito, pois com o DockerFile
estava sendo necessário rodar dois comandos diferentes para conseguir hospedar:
- Docker Build:
docker build -t my-jekyll-site -f Dockerfile jekyll-klise/
- Docker Run:
docker run -p 4000:4000 -v $(pwd):/srv/jekyll -it my-jekyll-site
E ao pesquisar uma forma de deixar mais rápido e simplificar esse processo, descobri uma nova abordagem que prometia simplificar significativamente o processo: o uso do Docker Compose.
Após uma pesquisa rápida sobre o Docker Compose, decidi experimentá-lo em meu projeto. A criação de um arquivo docker-compose.yml
permitiu que eu definisse facilmente os serviços necessários para executar o site Jekyll.
Com o docker-compose.yml
configurado, o processo de criação e hospedagem local do site tornou-se incrivelmente simples. Bastava um comando para iniciar todos os serviços definidos no arquivo:
- Docker-Compose:
docker-compose up
Essa nova abordagem proporcionou uma experiência mais eficiente de desenvolvimento e hospedagem local do meu blog Jekyll.
Conclusão
O nascimento deste blog representa mais do que apenas uma jornada técnica; é o início de uma nova etapa de aprendizado e compartilhamento. Desde o momento em que a ideia começou a ganhar forma até os desafios superados com o Docker, cada passo deste processo me ensinou lições valiosas e reforçou minha paixão pela área de dados.
Ao compartilhar essa experiência com vocês, espero inspirar outros aspirantes a explorar novas tecnologias e enfrentar desafios com determinação e criatividade. Este blog não é apenas um registro dos meus projetos e aprendizados, mas também um convite para uma jornada conjunta de descoberta e crescimento na área de dados.
Agradeço a todos que acompanharam e apoiaram este projeto desde o início. Estou ansioso para compartilhar mais conteúdo e experiências com vocês no futuro. Até a próxima postagem!