ferbass

Criando minha "engine" de blog (parte 3)

Bom vamos lá a mais uma sessão de updates aqui, como na última vez sem muitas novidades.

Tags

Bom agora os posts possuem tags o que é bem bacana para categorizar e gerar uma busca baseada nisso.

JSON as "database"

Como mostrei antes as informações dos posts estão sendo salvas em um arquivo JSON, o que foi me deixando um pouco preocupado devido ao tamanho que o arquivo poderia ter depois de uma certa quantidade de posts, o que dificultaria na hora de buscar etc.

Fiz alguns tests, gerei 3000+ posts em meu arquivo de fixtures que uso para os tests e o tamanho total do aquivo só passou dos 1MB depois de 3000 posts, então resolvi que por enquanto vou manter assim, quando eu chegar em um número absurdo de posts eu posso pensar em como vou resolver isso mas por agora está "ok".

3000 posts é um número que acredito que vou demorar para chegar, e apesar dessse arquivo conter algumas informações sobre os posts as informações mais crucial que é o conteúdo e também a data de criação estão atreladas ao arquivo do post e a estrutura de pastas onde o arquivo markdown é salvo.

Total posts: 3520

ferbass@Galactus ~/Documents/Workspace/personal/ferbass-com (experiments●)$ ls -la spec/fixtures/posts.json
-rw-r--r--  1 ferbass  staff   1.2M Jun  2 11:36 spec/fixtures/posts.json

Geral

Dei um tapa no código e na estrutura de pastas do projeto antes estava bem bagunçado, eu tinha apenas um app.rb na raiz do projeto que fazia todas as rotas chamava o model etc, deixei as coisas mais decentes, como no começo eu estava apenas querendo testar o conceito, não tomei muitos cuidados, mas também não significa que agora estou tomando(haha).

O código em si não esta uma maravilha, não pretendo elevar ao "estado da arte" como muitos dizem por ai, tem muita coisa que ainda está hardcoded, estou pensando como vou abstrarir etc, mas também não me envergonho de como as coisas estão sendo feitas até agora, o que me deixa feliz é colocar algo em prod e por estar fazendo algo que eu estava querendo e precisando sem muita complexidade.

fails

  1. Eu tinha esquecido de colocar o title nas tags do feed 🤦‍♂️
  2. Eu estava colocando o author a data de publicação direto no arquivo markdown, e não usava as infos que eu tinha no JSON 🤣
  3. Comecei testar as rake tasks que eu tinha criado e acabei deixando de lado, as rake estão chamando os métodos do meu Model Post que já está testadinho, então achei que seria meio over ¯\(ツ)

https://media.giphy.com/media/EimNpKJpihLY4/source.gif

Abraços

ferbass
2020-06-05 12:57:29

Tags: new-blog engine ruby sinatra