Identificando algumas ferramentas e serviços na construção de projetos que ainda utilizo ou que tive gosto de ter tido contato, para isso, separei o conteúdo em quatro partes buscando organizar cada método.

  1. Em primeiro, selecionei algumas linguagens que fazem parte da bagagem necessária para aprendizagem e elaboração dos projetos, houveram diversas outros que acabei tendo contato, entretanto, identifiquei algumas que realmente precisavam estar nesta seleção e justifiquei para o melhor entendimento.
  2. Acredito que nesta seção eu tenha compartilhado pouco sobre o tanto de coisas legais que tive o prazer de utilizar, porém as principais se encontram no tópico 2.
  3. Da mesma forma, foram selecionados três bancos que são prioridades quando penso na criação dos serviços, tanto em projetos web/mobile quanto em programação de SGBD (construção de funções, triggers e transactions), testes de escala com a finalidade de analisar o desempenho.
  4. Por fim, considerei trazer os servidores e plataformas que são essenciais ou dispositivos que utilizo por prazer, como por exemplo, Arduino e Raspberry.


Linguagens de programação

  • A linguagem C foi essencial para minha abstração lógica, com ela tive o primeiro contato com a programação, é uma linguagem de baixo nível, o que garante a construção de projetos de alta performance, pioneira entre quase todas do mercado e ainda muito genuína.

  • Possui muitas bibliotecas que facilitam na construção de estruturas, e pensando assim, meu contato com C++ foi nesta aprendizagem, seleciono por ainda utilizar nos projetos Arduino.

  • Atualmente busco utilizar Python para projetos que antes desenvolvia em C, acreditando no bom desempenho, simplicidade e por ser mais intuitiva.

  • Embora seja de alto nível, com extenso conjunto léxico, Java foi a primeira linguagem de orientação que tive contato. Ainda lembro de algumas coisas, mas cada projeto é uma dissertação. system.out.println(“puts print cout”). hehe

  • Não é minha linguagem primária entra as ferramentas, porém, sempre considero ampliar os conhecimentos nela, considerando ser uma das melhores no mercado (back-end).

  • Reconheço as diversas “features” do Javascript, ainda assim, é uma das minhas preferidas, adoto sempre que necessário.

  • Nodejs é minha primeira opção, em tudo que posso eu finco node js, acredito que encontrei um norte quando comecei, evitanto todo aquele lance do Apache/XAMPP, sei lá, parece que tirei uma tonelada das costas/libs.

  • Minha relação com CSS é de amor e ódio, perco horas quando tenho que armonizar meus templates.

  • Embora seja apenas uma linguagem marcação de texto, nunca me esqueço do dia que renderizei meu primeiro layout com Html. Acredito ser uma skill comum a todos nos, sujeitos programadores.

  • Em razão de ter lançado Html como uma linguagem válida, fiz questão de trazer também o Markdown, qual estou utilizando para criação deste portfolio, mesmo este possuindo parte das tags Html.



Bancos de dados

  • Postgres é um ótimo SGBD e com ele tive um contato mais ampliado em banco de dados, também acredito ser pouco complexo, enfim, gostei dos resultados em testes de escala, ou seja, possui bom desempenho.

  • Utilizei o MySQL para alguns projetos de desenvolvimento, é um SGBD bem adotado pela comunidade, porém, eu costumo fazer uso através do Apache, utilizando do XAMPP. Também possui bom desempenho e garante diversas funcionalidades, aliás, possui uma interface amigável na plataforma, o que garante a possibilidade de pessoas com certa dificuldade com cmdl estarem criando projetos com ele.

  • Tive pouco contato com NoSQL, sendo o MongoDB o único banco qual utilizo, importante salientar que acho interessante a utilização do modelo, atualmente listo o Atlas do MongoDB em nuvem uma boa opção.



Sistemas, softwares e práticas

  • Utilizado em todos os projetos para o versionamento de forma flexivel e segura, recurso frequentes: clone, pull, push e merge.

  • Utilizei na simulação/construção de circuitos que continham muitas portas lógicas, como por exemplo, multiplexador, somadores e subtratores, ou que precisam de registradores na implementação.

  • O BRmodelo serviu na construção dos modelos conceituais, representando o relacionamento das entidades (atributos e métodos dos projetos).

  • Serviu nas modelagens UMLs, permitindo a projeção dos modelos estáticos, fornecendo icons/buttons/lines para todas as entidades/atributos e representações como: usuários e administradores, possui diversas operacionalidades e interface amigável.

  • Utilizado durante minha pesquisa, é um SaaS que opera como broker (corretor) do MQTT, possui código aberto, é o broker mais leve do protocolo MQTT.

  • Auxilia na construção de layouts, grids e templates, dentre as opções, a lib Bootstrap Twitter sempre é uma das ferramentas que procuro incluir nos projetos visando a simplicidade e os containers responsivos.

  • React e React Native são os front frames que tenho adotado na construção dos meus projetos, acredito que a facilidade de construir templates com estas App Views sejam legais, até busquei outras ferramentas com recursos parecidos, mas o bundler do React superou as demais testadas quanto a análise léxica.

  • O VS Code é uma IDE que inclui muitas operacionalidades, já faz algum tempo que utilizo somente ela, possui boa integração de serviços, como por exemplo: git, docker, heroku, enfim, o que permite certa fluidez na produção.

  • Práticas seguras nas rotas de transferências, ou conjunto de restrições na arquitetura de rotas (GET, POST, PUT e DELETE).

  • Os métodos ágeis são recomendações/normas qual acredito ser fundamental atualmente, tive contato com modelo scrum com sprints semanais, mas penso positivamente sobre outros modelos, como, Kanban, XP, etc.

  • O Arena Simulation permitiu a projeção de modelos com finitos ou infinitos servidores, possui diversas funcionalidas. Incluindo a execução de projetos com tempos discretos, e implementações de métodos, como por exemplo: método de Mont Carlo.

  • Permite a criação de todas as etapas da construção de linguagens de máquina, ou seja, como a máquina vai interpretar as entradas posteriormente, exemplos: LALR (Look-Ahead de decidibilidade canônica), SLRs (ações, sendo estas: state, left or right), etc. Auxilia na construção de compiladores.

  • Utilizei o AdonisJS apenas para conhecer a ferramenta (lib), achei legal pelo fato de o pacote garantir a configuração inicial de um projeto node, gerando as dependências e configurações, tanto do express, ou o cors quanto do BD com diretórios para migrações já montados, ou seja, facilita muito para acelerar a aprendizagem de Javascript e Typescript, entretanto, para os devs mais antigos, essa funcionalidade chega ser contextada, quase um no code para iniciar o projeto, afinal, de certa forma estes estão habituados a desenvolver todas as etapas dos serviços existentes na API, o que garante também o maior entendimento do projeto quando assim feito, particularmente, gostei do pacote.

  • O Sequelize foi o único ORM que tive contato, gosto bastante e sempre que posso utilizo a ferramenta, gosto das migrações com ele e também da quantidade de querys que facilitam as chamadas no banco de dados.



Dispositivos, plataformas API's e servidores

  • Meu preferido, embora tenha limitações de memória, anualmente eu procuro utilizar, afinal, sempre existem projetos (mesmo que residênciais) a serem elaborados.

  • Com o Dbeaver fiz testes de conexões e importação e exportação de dados massivos de um BD, aliás, o software é muito integro para estas funcionalidades.

  • Esta plataforma foi muito útil na criação de notebooks e assim como o Jupyter, foi útil para aprendizagem de máquina, permitindo a criação de alguns robozitos, porém, o Colab, por ser um serviço leve e em nuvem acabei utilizando mais vezes.

  • O Google Cloud Platform foi um dos servidores que usei apenas para testes que surgiram em meio a graduação, ainda estou nos primeiros contatos mas pretendo me aprofundar mais na utilização dos recursos.

  • Juro que já contextei a AWS, mas é a pioneira e atualmente uma das minhas plataformas preferidas, quando preciso de uma VM ou serviços quaisquer em cloud, penso sempre na Amazon Web Services.

  • Através do servidor Apache consegui configurar muitos outros serviços intermediado pelo http, considero um dos servidores mais integrativos para testar diferentes protocolos e serviços atualmente.

  • Utilizei pouco o Docker, entretanto, considero a adoção de containers um diferencial atualmente, em razões de segurança e controle do projeto, podendo ser utilizada de forma distribuída.

  • Expo foi um dos achados deste ano (2022), que me fez abandonar a maioria dos recursos de desenvolvimento mobile já utilizados, ou seja, android studio, ionic e outros (importante salientar que produzi pouco para mobile), acredito que me identifiquei por possuir recursos híbridos (IOS, Android) e conter um bundler simples/leve, uma plataforma intuitiva em nuvem, etc.

  • Acredito que todo dev adepto a depuração dos services tem contato com o Postman, é uma API simples. Aliás, como prefiro desenvolver o back-end, acredito que tive uma familiarização rápida com o Postman.

  • Assim como o Postman, o Insomnia atende muito bem para depuração dos end-points. Sendo uma API simples e completa.

  • utilizo o Heroku para deployar/buildar apps, entretanto, considerei utilizar somente para os back-end/api. A plataforma tem atendido perfeitamente todas as minhas necessidades atualmente.

  • Utilizei o Netlify para deploy front-end. Testei outras plataformas e realmente achei uma simplicidade em deployments com o Netlify, um exemplo é não ter que utilizar webpacks fora do projeto, como por exemplo inclusão do babel.

  • Utilizo o Vercel para deploy das aplicações com React, simples, intuitivo, ótimo de usar, atendeu muito bem em todas as vezes que precisei, utilizo e indico, melhor referência de versionamento em nuvem atualmente.

  • O Github é o único servidor qual tenho upado meus projetos, penso em migrar para o Gitlab sempre, mas pelo hábito contínuo no Github.

  • o Firebase é uma das APIs que mais me encantam, razões: gerador de links, autenticação, tokenização, etc. Tenho incluído bastante nos meus projetos. Para ser sincero, ainda não encontrei outra plataforma que sirva com as mesmas disponibilidades/services.

  • O RPi é um dos dispositivos que mantenho executando boa parte do tempo, atualmente, o meu ta com OS Lakka para emular alguns consoles, ainda existem desafios para implementação na máquina, por razão deste possuir um hardware com certa capacidade, se comparado aos demais.