Nowadays, it is more popular to have online applications in all environments. These applications aim to consume information through interfaces with a series of routines and standards. We named these types of applications of API.

The API acronym comes from Application Programming Interface. It is a set of documented standards and rules so that an application X can use another application Y features without knowing the application X implementation details.

Is it still confusing? To a better understanding, let’s imagine a day in a company that has an e-commerce website. The developers are working on the solution based on…

Chegamos à quarta e última parte da série de construção de uma API RESTful com Java + Spring Framework. Nesse artigo, continuaremos falando sobre performance, mas sobre alguns tópicos mais específicos às rotas da nossa API: paginação, ordenação, filtros de consultas e resposta parcial. Além disso, finalizaremos adicionando uma camada de segurança em nossa API.

Se você começou a leitura da série por esse artigo, sugiro voltar nos três primeiros, Parte 1, Parte 2 e Parte 3, respectivamente, para acompanhar a evolução do nossa aplicação e todos os assuntos abordados até então. …

Configurar uma aplicação Java para a web, principalmente quando o cenário em que lidamos é bastante robusto e complexo, pode ser uma tarefa um tanto quanto árdua. Ao longo dos anos, diversas ferramentas surgiram como alternativas de facilitação desse trabalho, independente do tamanho da aplicação. Uma delas foi o Spring.

O Spring surgiu oficialmente em 2004, criado pelo programador australiano Rod Johnson, como uma ferramenta mais elegante para construção de serviços em Java. Sua base consistia no que de melhor existia de outras tecnologias daquela época, por exemplo, Generics, Annotations, Autoboxing, etc; e outros conceitos que estavam popularizando no momento…

Nas primeiras duas partes dessa série, que podem ser lidas aqui e aqui, construímos uma API RESTful com Java e Spring Framework e apresentamos algumas boas práticas a serem aplicadas no projeto inicial. O código desse artigo está nesse repositório no Github:

Nessa terceira parte, continuaremos a discussão com foco em dois assuntos importantes: técnicas, regras e políticas para ganho de performance; e profiling da sua aplicação.

Performance é, certamente, um dos assuntos amplamente discutidos em arquitetura de software, pois influencia diretamente na utilização de recursos de servidores, e consequentemente, no seu nível de escalabilidade.

The official logo of the celebration

For the first time, I leave aside articles with themes more focused on tools and tutorials, to write an editorial about a “birthday programming language” who is loved by some, hated by others, but widely used by a large number of computer professionals: Java.

This week, Oracle and the community began celebrating the 25th anniversary of Java, the Silver Jubilee as traditions say, completed on May 23, 2020. Java made this passing inside of a restricted group of programming languages that reached their “youth”, but with the merits of still being very present in the IT world today.

According to…

Logo oficial da comemoração

Pela primeira vez, deixo de lado os artigos com temas mais voltados às ferramentas e tutoriais, para escrever um editorial sobre um aniversariante que é amado por uns, odiado por outros, mas amplamente utilizada por um grande número de profissionais da computação: Java. Esse artigo também tem uma versão em inglês, que pode ser lida aqui, caso deseje.

Nessa semana, a Oracle e a comunidade iniciaram as comemorações dos 25 anos de existência do Java, seu Jubileu de Prata como a tradição diz, completados nesse sábado, dia 23 de maio de 2020. …

No primeiro artigo da série, o foco foi um tutorial para desenvolvedores que estão iniciando os estudos em Java ou Spring Framework e na construção de uma API RESTful. Nesse artigo, daremos continuidade à série comentando as otimizações que poderíamos fazer e boas práticas que podem ser utilizadas no projeto. Esse código refatorado está nesse repositório no Github:

Devemos usar o Lombok?

Hoje em dia, está cada vez mais comum termos aplicações que funcionam online, em navegadores ou dispositivos móveis. Essas aplicações tem por objetivo consumir informação por meio de interfaces que implementam uma série rotinas e padrões que chamamos de API.

O acrônimo API vem da expressão em inglês Application Programming Interface (em português, Interface de Programação de Aplicações). Uma API é um conjunto de padrões e regras documentadas para que uma aplicação X possa utilizar funcionalidades de uma aplicação Y sem precisar conhecer os detalhes da implementação dessa aplicação X.

Ainda está obscuro? Para facilitar o entendimento, vamos imaginar…

Um guia passo-a-passo realizado no projeto Java json-formatter-validator

Ao desenvolver um software buscamos utilizar ferramentas que facilitam o gerenciamento, distribuição e evolução do mesmo. Uma das ferramentas mais difundidas na gestão e automação das dependências de um projeto é o Apache Maven. O Apache Maven, ou simplesmente Maven, é uma ferramenta de automação de compilação utilizada inicialmente em projetos Java, mas pode ser utilizada também em outras linguagens como Ruby, Scala e C#, por exemplo.

O Maven utiliza um arquivo no formato XML, chamado de pom.xml (sigla para Project Object Model), em que é possível configurar todo um ambiente de desenvolvimento mais padronizado, aplicando boas práticas de…

Creating quality code throughout the development phase is undoubtedly the mission of any developer who cares about your software product. Best practices tend to reduce code complexity, the coupling between classes, separating responsibilities, and defining their relations. These are simple ways to improve code internal quality.

This series’s first two articles list some best practices tips and tools to evaluate and evolve software quality. However, we don’t go deep into the theories of a SOLID code.

And what are these fundamental principles that help us to keep the code organized without code-smells and ̶s̶h̶a̶r̶e̶a̶b̶l̶e̶ ̶o̶n̶ ̶G̶i̶t̶h̶u̶b̶/̶B̶i̶t̶b̶u̶c̶k̶e̶t̶ ̶w̶i̶t̶h̶o̶u̶t̶ ̶f̶e̶a̶r̶ ̶o̶f̶ ̶b̶e̶i̶n̶g̶…

Mariana Azevedo

Senior Software Developer/Tech Lead, master in Computer Science/Software Engineering, Java, open source, and software quality enthusiast.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store