Alex FelipeAlex Felipe

Content Editor at Alura and Software Developer

Todos os artigos por Alex Felipe

 

Como deixar uma imagem circular no Android

No curso de Android II Integração com apps e recursos do device desenvolvi a App Agenda para cadastrar alunos com o seguinte visual: Observe que temos uma lista de alunos que, a cada item da lista, tem uma imagem que representa a foto do aluno junto com o nome e seu telefone. Embora o visual
Continuar lendo…  

Conheça os criadores do Decifre o livro

Se você esteve antenado durante esses dias, provavelmente soube da notícia do jovem Bruno de Melo Silva Borges que desapareceu no Acre. Neste caso o jovem deixou diversas mensagens criptografadas com símbolos, “textos” e objetos. Entretanto, o diretor da Antecipe (startup de segurança da informação) Igor Rincon, e o líder de desenvolvimento, Renoir dos Reis,
Continuar lendo…  

Quem está por trás das principais linguagens de programação?

Os verdadeiros gênios da informática muitas vezes ficam desconhecidos do grande público, mas sem o trabalho de programação deles, os sites e aplicações mais utilizadas do mundo seriam bem diferentes do que a gente conhece hoje, se é que existiriam. Ficou curioso para conhecê-los? Então bora começar: Programação C O americano Dennis Ritchie foi o
Continuar lendo…  

Criando uma tela de abertura no Android (Splash Screen)

Estou desenvolvendo uma App para a Alura onde armazeno os cursos que realizei. Recentemente, adicionei uma tela para autenticação: E agora essa tela é a minha LAUNCHER, ou seja, a tela inicial quando abro a minha App. Entretanto, em diversas Apps do nosso dia-a-dia, quando abrimos temos uma tela de abertura, como por exemplo: Conhecendo
Continuar lendo…  

Ordenando listas no Python

No meu sistema de cadastro de produtos para um mercado, recebi uma lista com alguns produtos: Cada produto é um objeto do tipo Produto, que é representado pela seguinte classe: Note que a lista contém produtos em uma ordem aleatória. Porém, preciso ordená-los, isto é, saber quais são os produtos mais caros ou mais baratos,
Continuar lendo…  

Tratando notificações recebidas do Firebase no Android

No post onde vimos como configurar o FCM (Firebase Cloud Messaging) e integrar com a nossa App Android. Fizemos um pequeno exemplo de envio de notificação, porém, no exemplo que vimos, a notificação não aparecia em foreground, ou seja, enquanto estávamos com a App aberta. Em outras palavras, queremos obter um resultado conforme o exemplo
Continuar lendo…  

Adicionando elementos na lista do Python: append ou extend?

No desenvolvimento de qualquer sistema, é muito comum lidarmos com listas, como por exemplo, uma lista de produtos. Suponhamos que tenhamos a seguinte representação de um produto: Então temos uma lista com alguns produtos: Se executarmos esse código, temos o seguinte resultado: Por enquanto, tudo ocorrendo conforme o esperado, mas, e se quisermos adicionar um
Continuar lendo…  

Agendando tarefas com Scheduled do Spring

Estou desenvolvendo um sistema de vendas web utilizando Spring Boot e agora o cliente pediu algumas funcionalidades um pouco peculiares… Ele deseja saber como está o fluxo de vendas por um determinado período, por exemplo, a cada hora, ou então, a cada dia… Como será que podemos fazer essa rotina que irá realizar essas tarefas
Continuar lendo…  

Carreira como freelancer: saiba como organizar uma rotina de trabalho!

Quem opta por seguir uma carreira de freelancer tem vários benefícios, como flexibilidade de horários, não enfrentar congestionamentos diários no trânsito e liberdade para programar alguns dias de folga durante a semana. No entanto, assim como todo trabalho, esse tipo de profissional também enfrenta diversos desafios. Afinal, manter a organização, a concentração e a produtividade
Continuar lendo…  

Criando caixas de diálogo no Android (Dialogs)

No post onde vimos como criar context menu, criamos um menu de deletar um curso da lista, ou melhor, um item da lista. Para isso criamos o método deletar() que recebe a posição do curso, e então, deleta o curso a partir da posição: A princípio, esse método está perfeito, porém, uma funcionalidade de deletar
Continuar lendo…  

8 ferramentas que vão tornar o seu trabalho remoto mais produtivo

Trabalhar de maneira remota traz vantagens, como evitar trânsito e grandes deslocamentos, ter horário flexível e mais conforto na execução das tarefas. Em contraponto, a concorrência acirrada, os prazos apertados, a falta de rotina de trabalho e as dificuldades em organizar as tarefas por prioridade e prazos de entrega, deixam muitos profissionais com os nervos à
Continuar lendo…  

Comunicação entre Apps Android com Intents

No post anterior, havíamos criado uma lista de cursos e por fim, fizemos com que a lista fosse uma lista personalizada, e o resultado foi o seguinte: Porém, seria bem interessante se ao tocarmos em um item da lista, nesse caso um curso, abri-se a página da Alura com as informações do curso que eu
Continuar lendo…  

O que é o operador ternário?

No desenvolvimento de uma aplicação, é muito comum utilizarmos estruturas condicionais como, por exemplo, ifs e elses ou switch case. Porém, em algum momento da nossa vida, provavelmente, um desses testes que realizamos é tão simples que retorna um valor para apenas duas possibilidades. Por exemplo, suponhamos que precisamos criar uma funcionalidade para gerar uma
Continuar lendo…  

Retorno no construtor – treino para a certificação Java

Estive me preparando para a certificação da Oracle e surgiu a seguinte situação: Existe algum retorno para construtores? Retorno de construtor??? Como assim??? Vamos verificar a classe Livro: Agora se eu testar o meu código: Resultado: Funciona como o esperado. Analisando um pouco o nosso código… Podemos ver que o nosso construtor não retorna nada,
Continuar lendo…  

Alura entrevista: Vinicius Brito

Fala Vinicius, beleza? Diz pra gente o seu nome completo, por favor. Vinicius Brito de Paulo. Mora em qual cidade atualmente? Bauru, SP. Estuda? Qual instituição e curso? Sim, Fatec-Bauru, no curso de Banco de Dados. Trabalha atualmente? Qual o seu cargo? Pode se dizer que sim rsrs, pois estou afastado. Mas trabalho como desenvolvedor
Continuar lendo…  

Criando menu de contexto no Android (Context Menu)

Na App que estou desenvolvendo para armazenar meus cursos realizados na Alura, fiz uma lista de cursos e listei alguns que realizei: Observe que a cada vez que tocamos em um curso, ou seja, um item da lista, vamos direto para o link do curso. Porém, notei que o curso de MySQL eu ainda não
Continuar lendo…  

Integrando App Android com o Firebase Cloud Messaging

No post onde explico sobre Push Notification, vimos uma série de problemas que temos ao implementar um sistema de notificação utilizando a arquitetura em que a própria app faz as requisições ao servidor. Nesse post, aprenderemos a implementar uma solução mais adequada para essa necessidade utilizando o FCM (Firebase Cloud Messaging). Lembrando que estarei utilizando
Continuar lendo…  

O que é Push Notification?

No projeto (de teste) para a casa do código desenvolvido pelo instrutor Matheus Brandino, temos uma App Android que permitirá que os usuários consigam realizar compras via celular. A primeira tela para essa App é justamente exibir todos os livros disponíveis na Casa do Código: Atualmente, para que o cliente consiga verificar se tem algum
Continuar lendo…  

Compreensão de listas no Python

Em um sistema de cadastro de produtos que estou desenvolvendo em Python, para um mercado, temos a seguinte classe que representa um produto: Dentro desse sistema, recebi uma lista chamada produtos: Contendo os seguintes produtos: Porém, o dono do mercado pediu para verificar todos os produtos que estão acabando, ou seja, com quantidade menores que
Continuar lendo…  

5 passos para aprender a programar

Está começando agora a sua carreira como programador? Ou então nem começou mas precisa de um “empurrãozinho” para dar o ponto de partida? Então da uma olhada nessas dicas que farão toda a diferença para você trilhar a sua jornada! 1 – Escolha uma linguagem de programação. Em diversos grupos, redes sociais ou em qualquer
Continuar lendo…  

Pegando partes de um texto no Java

Estou me preparando para a certificação da Oracle e tive que lidar com a seguinte situação: Como pegar uma parte de uma String? Vamos verificar a classe Livro: Adicionando um livro novo: E essa descrição gigantesca? Vamos imprimir o livro e ver o que acontece: Se apenas um livro já está ocupando todo esse espaço
Continuar lendo…  

Importando classes no Java

Em meu preparo para a certificação da Oracle, tive que lidar com a complexidade dos imports. Vamos verificar essa classe Aluno: Agora vou adicionar os alunos em uma lista para formar uma turma. Para adicionar todos os alunos de uma vez usarei o método addAll() da interface List: Analisando um pouco o nosso código, veja
Continuar lendo…  

Métodos de requisição do HTTP

Na Web, todas as vezes que entramos em um site, utilizamos o protocolo HTTP (Hypertext Transfer Protocol) como por exemplo uma requisição para o site do Alura: Porém, por de trás dos panos, o que acontece exatamente? Vamos abrir a aba desenvolvedores (no google chrome o atalho é F12) e clicar na aba “network”: Se
Continuar lendo…  

Aumentando a produtividade no Android com o Butter Knife

Durante o desenvolvimento da nossa lista de cursos, vimos diversos assuntos sobre Android, como por exemplo, criação e personalização de uma lista e até nos comunicamos com apps externas… Porém, vamos verificar a quantidade de código que utilizamos para construir essa app simples. Começaremos pela nossa activity: Agora o nosso adapter: Vamos dar uma olhada
Continuar lendo…  

Recebendo dados de um formulário HTML com Servlets

No post sobre como criar uma aplicação Java Web utilizando Servlets, fizemos uma aplicação bem básica que imprimia apenas uma mensagem no navegador, porém, eu havia dito que eu queria criar uma aplicação que permitisse o cadastro dos meus livros, e então, listá-los! Na Web, como fazemos para mandar informações para a aplicação? Utilizamos um
Continuar lendo…  

Criando uma aplicação Java Web com Servlet

Todas as vezes que desenvolvemos uma aplicação Java, criamos os nossos arquivos .java, compilamos e executamos os arquivos .class, porém sempre fazemos isso dentro de um computador que precisa ter o Java instalado! Além disso, na maioria das vezes são aplicações que a interface gráfica é um terminal, nada atrativo para o usuário… E como
Continuar lendo…  

Quando utilizar short circuit em Java

Estou me preparando para a certificação da Oracle e me deparei com a situação de comparação de booleanos. Todas as vezes que precisamos fazer comparações com tipos boolean utilizamos operadores E ou OU: Nesses exemplos a comparação é feita nos dois lados. Dois lados? Mas como assim? Isso mesmo, dois lados! Por exemplo: Quando ele
Continuar lendo…  

Método main em Java

Estou estudando para a certificação da Oracle e preciso saber todas as restrições do método main. Então vamos implementá-lo ora bolas: Rodando a minha aplicação: Ótimo, mas eu sempre terei que escrever o método main da mesma maneira? Será que não da pra modificar alguma coisa? Vamos tentar executar sem o modificador de acesso public:
Continuar lendo…  

O que um arquivo .java precisa para compilar?

Durante os meus estudos para certificação da Oracle, surgiu uma questão bem interessante… O que um arquivo .java precisa para compilar? Vamos verificar com a classe Teste. Se eu tirar o método main: E tentar compilar: Ele compila conforme o esperado! Certo agora eu acho que não tem mais nada que possa retirar… Mas e
Continuar lendo…  

Depoimento do aluno: Wanderson Macêdo

Mais um depoimento da série de posts sobre depoimentos e histórias dos nossos alunos. Dessa vez, o nosso aluno Wanderson Macêdo, compartilha a forma como estuda e descreve uma de suas técnicas de aprendizagem que faz muita diferença para o aprendizado! Bora dar uma olhada? Wanderson Macêdo, 21 Anos, mora em: Missão Velha – CE
Continuar lendo…  

Reduzindo de N ifs para nenhum com Strategy em Java

Estou desenvolvendo um sistema para computar todas as vendas de uma empresa. Atualmente, estou representando cada funcionário da seguinte forma: O atributo cargo é um enum que listará todos os cargos diferentes do sistema: Além da representação do funcionário, eu também fiz a representação de uma venda, que possui um funcionário e o valor da
Continuar lendo…  

Personalizando uma ListView no Android

No post sobre como criar listas com o ListView que eu escrevi anteriormente, vimos como é possível criar uma lista bem básica no Android. O resultado da lista criada foi: Mas pensando bem, não era exatamente uma lista assim que eu queria… Em outras palavras, seria melhor se cada item tivesse um layout e um
Continuar lendo…  

Alura entrevista: Felipe Alencar

Trabalhar no exterior é um sonho de muitos desenvolvedores. Além de bons salários e oportunidades de crescimento na carreira, muitos buscam isso pela possibilidade de conhecer conhecer novas culturas, aprender outro idioma e toda a bagagem que vem junto com uma experiência internacional. Felipe, um de nossos ex-alunos, saiu do Brasil para trabalhar na Bélgica.
Continuar lendo…  

Do aplicativo de locadora ao aprendizado online e otimizações Redis: o caminho do moderador Cristiano Oliveira

Algumas semanas atrás o Cristiano Oliveira começou como moderador no Alura, e levantei alguns pontos para saber mais sobre seu passado. E adivinha? Como eu e meu irmão (o Paulo, fundador do GUJ e da Casa do Código), ele começou com aplicativos de locadora. A seguir ele nos conta um pouco da história dele. Vamos
Continuar lendo…  

Utilizando funções de agregação com GROUP BY no SQL

Nesses últimos tempos eu resolvi cadastrar todos os livros que comprei no período de 2015 a 2016 em um banco de dados. Então eu criei uma tabela livros e inseri todas as compras que realizei: Ótimo! Os livros que eu comprei estão bem organizados. Posso até fazer queries para verificar, por exemplo, quais foram os
Continuar lendo…  

Liberada a apostila gratuita de SQL da Alura

Sempre quis aprender sobre SQL e banco de dados mas não teve oportunidade ou simplesmente não conseguiu nenhum material que focasse com exemplos do mundo real, seus problemas e soluções do dia a dia? Pensando nisso, escrevi a apostila de SQL e modelagem com banco de dados! Você pode baixá-la aqui. Esta apostila é baseada
Continuar lendo…  

Depoimento do aluno: Matheus Henrique

A partir de hoje, começaremos com uma série de posts que terão como foco depoimentos e histórias bacanas de nossos alunos. O primeiro deles é o do Matheus 🙂 Perfil: Matheus Henrique, 21 anos, mora em Mogi-Guaçu – SP Desenvolvedor web Hobbies: por incrivel que pareça estudar, jogar sinuca e futebol. Depoimento: Estudar nunca foi
Continuar lendo…  

Criando uma lista com ListView no Android

Estou desenvolvendo um app para cadastrar todos os cursos do Alura que eu fiz ou estou fazendo, para que eu possa verificar quais são os cursos que eu já terminei ou se ainda precisa finalizar. Então inicialmente eu criei uma classe para representar meus cursos: E um ENUM pra representar o estado atual do curso,
Continuar lendo…  

Validando dados com expressões regulares no Java

No meu sistema de cadastro de alunos eu recebo um aluno com os seguintes atributos: Ao imprimir os dados de um aluno: Alex2016? 12Felipe? E esse telefone bizarro? Esse aluno contém informações que não fazem sentido… Como posso fazer para impedir que esses tipos de dados sejam inseridos no meu sistema? Vamos tentar validar esses
Continuar lendo…  

Valores válidos para variáveis em Java

Durante o meu treinamento para certificação da Oracle surgiu o seguinte problema: Quais são os valores válidos para uma variável do tipo int? Imagine que temos a classe telefone: Ótimo, agora vou cadastrar um telefone de São Paulo (SP): vou adicionar mais 2 telefones, um de Salvador(BA) e outro de Refice(PE): Ué, o telefone de
Continuar lendo…  

Formulário com form validation do HTML5

Estou desenvolvendo um sistema web que armazenará todos os livros que comprei para poder realizar consultas e verificar se já tenho um livro ou não. Porém, preciso criar um formulário de cadastro em HTML para enviar esses livros para o servidor. Para fazer um formulário precisamos utilizar a tag form: Já indicamos que estamos criando
Continuar lendo…  

Declarando duas variáveis com o mesmo nome

Estou me preparando para a certificação da Oracle e surgiu o seguinte cenário: posso declarar variáveis com o mesmo nome na mesma classe? Vamos verificar a classe Livro: Testando minha classe: O resultado é o esperado: O método calculaImposto() sofreu um pequeno ajuste e agora ele mesmo define o valor padrão do imposto: Espera aí!
Continuar lendo…  

Iterando uma lista em Java

Tenho uma lista com todos os livros que comprei e quero saber quanto eu gastei no total: Agora vou varrer minha lista e somar o preço de cada livro usando um for: Agora eu sei quanto gastei! Porém, olha o tanto de parâmetro e código que tive que escrever…será que não tem uma forma mais
Continuar lendo…  

Recebendo dados em Java

Eu recebi uma lista de alunos em um arquivo CSV e preciso cadastrá-los no meu sistema: Preciso digitar as informações deles no meu sistema. Usarei a classe Scanner do pacote java.util para receber os dados do teclado: Pegando o primeiro resultado: O método nextLine() permite a leitura de String e o método nextInt() permite a
Continuar lendo…  

Para que serve o String[] args em Java?

Acabei de terminar mais uma funcionalidade da minha aplicação e preciso testá-la. Porém a minha aplicação possui o ambiente de desenvolvimento, teste e produção: Agora vou usar a classe Scanner e fazer a leitura pelo teclado para testar o meu código: Resultado: Poxa vida… Agora todas as vezes que eu precisar testar a minha aplicação
Continuar lendo…  

Como comparar objetos em Java?

Eu tenho uma lista de livros os quais já comprei: Resultado: Agora testarei minha lista e verificarei se ela sabe conferir se um livro que já comprei está na lista: Resultado: Opa! Eu já comprei esse livro de TDD! Essa lista está doida? Ela não conseguiu verificar a existência desse livro, pois cada objeto possui um código chamado hashcode
Continuar lendo…  

Como separar palavras de String em Java

Fiz a leitura de um arquivo CSV com as informações de nome, e-mail e pontos de um aluno. Essas informações estão dentro de uma única String: Agora preciso enviar essas informações para ele: Pegando um pedaço da String E agora? Como eu posso pegar um pedaço dessa String e settar no meu aluno? Podemos usar
Continuar lendo…  

Como fazer um import static em Java

Todos os livros do meu sistema precisa de um nome, autor e um código de categoria. Para identificar o código da categoria eu tenho a classe CodigoCategoria no pacote br.com.caelum.alura.codigo: E também tenho a minha classe Livro no pacote br.com.caelum.alura.model: Certo, agora irei criar um livro novo na classe Main no pacote br.com.caelum.alura.main: Ué, não
Continuar lendo…  

Pegando a data atual em Java

Quando um aluno inicia um curso é gerada uma matrícula para ele no meu sistema: Mas como faço para adicionar a data atual no momento em que o aluno se matricula em um curso? É simples! Precisamos apenas fazer uma instância para a classe Date: Testando o método geraDataDeInscricao(), qual será o resultado? Resultado: Ótimo,
Continuar lendo…  

Ordenando números em Java

Por esses dias a Mega-Sena acumulou de novo… Chegou ao valor de R$ 200 milhões! Porém, eu sempre fico muito indeciso em qual jogo fazer, então vou pedir para que o meu sistema jogue por mim. Vamos criar nosso array de int de 6 posições para armazenar os números: Agora varremos nosso array e preenchemos cada posição
Continuar lendo…