sábado, 30 de dezembro de 2023

Retrospectiva 2023

 


Mais um ano se passou e como praxe, não poderia deixar de registrar uma retrospectiva de como foi o Ano de 2023. Se você perdeu algum evento, não se preocupe estarei deixando os links neste post para que você possa desfrutar do conteúdo nas suas férias.

O ano de 2023 começou com a minha participação no canal do Landerson Gomes para falarmos sobre o projeto Devs2Blu à qual eu participei. Nele comentei como foi o programa de capacitação que ajudei a formar 20 alunos na linguagem Delphi.

No mês de abril fui convidado pela Jéssica Nathany do projeto Café Debug para batermos um papo sobre o Delphi e suas últimas versões.

Em maio tivemos uma dobradinha de palestras, começando pelo Intensive Delphi da Academia do Código, falando sobre o componente AWS4Delphi e também uma palestra bem bacana aos alunos de Análise e Desenvolvimento de Sistemas do UniSenai Santa Catarina - Campus Blumenau para falarmos sobre o Delphi.

Em agosto em conjunto com a Academia do Código promovemos um workshop sobre Delphi e Angular, mostrando na prática a combinação perfeita usando as duas stacks.

Em setembro foi a vez de participar do Papo ACBR - também levando o tema Delphi e Angular.

Em outubro tive o prazer de participar do Embarcadero Conference em São Paulo, lugar de muito network e aprendizado, pois são palestras sensacionais.

Desejo à todos um ótimo final de Ano e que venha 2024 com muitos desafios e aprendizagem.

Links

Landerson Gomes
Café Debug
Academia do Código
Papo ACBR


domingo, 17 de dezembro de 2023

Iniciando um Projeto Delphi para utilização das práticas de CI/CD

Iniciando um Projeto Delphi para utilização das práticas de CI/CD




Ao iniciar um projeto atualmente, apenas um "File -> New Project" já não é mais o suficiente.

Devemos pensar em toda a esteira de desenvolvimento do projeto, contemplando sua escalabilidade, produtividade, manutenibilidade e entre outros fatores.

Nesse post estarei explicando algumas ferramentas essenciais para iniciarmos o nosso projeto.

Bora Lá?

Repositório

Para o repositório de código existem diversas plataformas, nesse caso utilizaremos o GitLab. Ela possui desde o plano free até planos pagos com mais recursos.

Para projetos e equipes reduzidas o plano free já atende, inclusive com opções de Continuous Integration e Continuous Delivery.

Site: GitLab
Planos: Ref.: Dez/2023


Controlador

Para controlarmos os branchs locais e facilitar o nosso desenvolvimento, seja no momento do commit ou mesmo na visualização das alterações, utilizaremos o SourceTree.

É uma ferramenta gráfica que utiliza os comandos do Git. Com ela conseguimos fazer Commit, Pull, CherryPick, Merge e entre outras operações.

Site: SourceTree

Embora o SourceTree seja uma ferramenta completa, eu costumo utilizar juntamente com ela o WinMerge para comparação de arquivos e o TortoiseMerge para resolução de conflitos.

Site: WinMerge
Site: TortoiseMerge

Agora que já sabemos as ferramentas que utilizaremos, que tal irmos para uma demonstração prática?
Nessa demonstração iremos criar nosso branch no GitLab e configurar nosso projeto localmente, tudo isso pensando em um fluxo para facilitar os processos de CI/CD.




O que achou? Comente as ferramentas que você utiliza e o que elas te proporciona na sua produtividade.

domingo, 3 de dezembro de 2023

Versionamento Semântico

Versionamento Semântico





  No mundo da tecnologia as mudanças, sejam elas melhorias e/ou correções de bugs são muito constantes no nosso dia a dia e é natural depararmos com o cenário descrito na imagem desse post.
    Algumas empresas ainda sentem dificuldades em controlar as versões do seu software. Utilizando boas práticas de CI/CD juntamente com o Versionamento Semântico conseguimos sanar tais dificuldades.
    O que é um Versionamento Semântico.
    Todo software desenvolvido possui (normalmente no menu sobre) a versão instalada. Você por acaso já se perguntou o significado de cada número que o compõe?
     Pois é, existe um padrão e o nome dele é Versionamento Semântico.

   Nesse tipo de versionamento definimos cada numeração conforme o que está sendo entregue no software.
  • Major: Quebra de compatibilidade, quebra no contrato da API, alterações no banco de dados ou alterações muito complexas.
  • Minor: Alterações mais simples que não quebrem a compatibilidade.
  • Patch: Correções de bugs que não venha quebrar a compatibilidade.
  • Pré Release: Versões candidatas que podem, ou não, quebrar compatibilidade (futuramente podem incrementar o Major ou Minor)
    Agora que vimos o significado de cada número que compõe uma versão, que tal irmos para um exemplo prático? Neste exemplo estamos utilizando como base uma versão 1.1.0.
  • 1.0.0 (versão inicial) - 01/06/2023
  • 1.1.0 (versão com melhorias) - 01/10/2023
  • 1.1.1 (versão com correções de bugs) - 15/12/2023
  • 1.1.2 (versão com correções de bugs) - 30/12/2023
    Como você pode ver, não é um bicho de sete cabeças e nem uma combinação binária kkkk. Todo software possui uma versão inicial, posteriormente essa versão vai recebendo incrementos seja de melhorias e/ou bugs e utilizando o versionamento semântico, conseguimos garantir esse controle.
    Tá Armandinho, agora que eu sei formar esse controle de versionamento, como que vou lembrar o que foi liberado em cada uma delas. É nesse ponto que falaremos sobre os Changes Logs.

    O que é um Change Log
  Change Log é um arquivo onde nós desenvolvedores mantemos o controle de todas as versões liberadas e o que foi liberada em cada uma com suas respectivas datas.
  Não adianta termos um fluxo de liberação e numeração das versões se não anotarmos e registrarmos as versões liberadas e o que foi liberada em cada versão, não concorda?
    Abaixo segue a imagem de exemplo de um changelog.


    
    E, na Prática

    Agora que já conhecemos um pouco da teoria, que tal termos uma visão um pouco mais clara de como devemos seguir no desenvolvimento?
   Elaborei um fluxo onde você pode seguir caso sua empresa esteja começando a usar o versionamento. Lembrando que isso não é escrito em pedras e você pode adaptar conforme a necessidade da sua empresa.

     No vídeo abaixo explico de forma detalhada como funciona esse processo.
      O que achou, bora começar a controlar a versão do seu software?
      Deixe seu comentário, ficarei feliz em saber o que achou.

Postagem em Destaque

Configurando o Projeto Delphi para o SonarQube

  No post anterior expliquei como instalar e configurar o SonarQube com o plugin do Delphi . Neste post vamos configurar nosso projeto Del...

As mais visitadas