Análise Comparativa Entre Tecnologias de Backend

Terceiro e último post sobre minhas contribuições acadêmicas dos últimos anos, venho apresentar o TCC do curso de Especialização em Aplicações Web da FURG, que conclui em 2019. Como trabalho de conclusão, fiz um estudo comparando as principais tecnologias de backend: Java, NodeJS e PHP. 

O artigo pode ser baixado AQUI.

Spoiler: Java ganhou, mas acho que foi injusto! 😛 hehehe

Até a próxima 😉

Obsolescência Profissional na Engenharia de Software

Seguindo a linha de publicações acadêmicas (o que pode servir como desculpa pra eu ter passado tanto tempo sem postar no blog), em 2018 conclui o curso de Especialização em Engenharia de Software pela Unisinos. O resultado foi um TCC que apresenta uma pesquisa sobre o pensamento de profissionais de TI em relação a obsolescência profissional.

O artigo pode ser baixado AQUI.

Até a próxima 😉

iGenda – Meu primeiro (ou segundo) TCC

O iGenda foi um sistema que desenvolvi em 2016 quando me formei na graduação de Sistemas Para Internet pela ULBRA. O sistema basicamente é uma agenda, com gerenciamento de clientes, atividades, calendário e negócios.

O sistema é realmente bem básico e o código fonte está disponível no Github. Junto com o sistema, um “hotsite” da aplicação também é disponibilizado. O sistema está disponível nos idiomas inglês e português.

Você pode fazer o download do código AQUI ou acessar o repositório no Github.

Até a próxima 😉

Instalando o Tomcat 9 no Ubuntu Server 18.04.3 LTS

Buscando na internet informações sobre como instalar o Tomcat 9 no Ubuntu Server me levou sempre a tutoriais onde era necessário baixar e instalar o Tomcat de forma manual.

Porém existe uma forma MUITO mais fácil de fazer este procedimento: nosso velho e querido apt.

Para instalar o Tomcat 9 no Ubuntu Server 18.04.3 LTS, basta exeutar os seguintes comandos:

Continue lendo

Ray Casting em JavaScript

No começo da década de 90, quando os recursos computacionais eram bastante limitados, surge um jogo revolucionário: Wolfenstein 3D. Utilizando uma técnica chamada Ray Casting, o jogo conseguia reproduzir um ambiente 3D a partir de um mapa 2D, fazendo apenas cálculos muito loucos simples.

Segue então um exemplo de um cenário 3D, similar ao Wolfenstein 3D, porém utilizando apenas JavaScript. O código está todo comentado em português e foi baseado neste tutorial.

Continue lendo

Breakout em JavaScript

Uma das dificuldades que encontrei quando comecei a estudar o desenvolvimento de jogos eletrônicos, foi a falta de códigos comentados e de fácil entendimento disponíveis. Pensando nisto, estou disponibilizando o código fonte de um jogo simples feito em JavaScript.

O jogo é um clone do famoso Breakout, porém totalmente escrito em JavaScript, graças ao tão bem-vindo HTML 5. 🙂

Continue lendo

Git pull com PHP no Bitbucket

Quando comecei a desenvolver o AMG Controle, precisava de um local onde eu pudesse hospedar o repositório do projeto. O Github era uma boa alternativa, porém só permitia repositórios públicos. A alternativa que encontrei foi utilizar o Bitbucket, que permite a criação de repositórios privados em seu plano gratuito.

Continue lendo

Criando Triggers no MySQL

Triggers ou gatilhos é um recurso bastante interessante presente na maioria dos SGBDs pois permite que comandos SQL sejam executados antes ou depois de operações como INSERT, UPDATE e DELETE.

No exemplo de hoje, vamos imaginar que possuímos uma tabela chamada registros, cujos campos serão: id, nome, alteracoes.

O campo alteracoes irá conter o número de edições que o registro sofreu, ou seja, será incrementado a cada UPDATE. Para criar um gatilho que faça a atualização do campo alteracoes será necessário executar o seguinte comando:

Continue lendo

Excluindo registros duplicados no MySQL

Vamos supor que você possua uma tabela e por algum motivo os registros da tabela foram duplicados. Agora imagine que são milhares de registros e que você não pode ficar procurando os registros repetidos um a um.

Para isto, temos um comando SQL mágico, que irá remover os registros duplicados, mantendo apenas uma cópia de cada.

Continue lendo

Utilizando migrations no CakePHP 3

cakephp_logoMigrations é um recurso que permite ao desenvolvedor, controlar as alterações realizadas na estrutura da sua base de dados, permitindo assim, um versionamento melhor do banco de dados. No final das contas são arquivos PHP que estendem a classe AbstractMigration e através da API disponibilizada pelo CakePHP, constroem e modificam a base de dados.

Neste pequeno post, vou mostrar como instalar o plugin Migrations e executar uma migração básica. Para isto, assumo que você tenha familiaridade com o Composer e com o CakePHP.

Para instalar o plugin, o jeito mais fácil é utilizar o Composer:

Continue lendo