Pular para o conteúdo principal

Postagens

Atualizando a lista de Timezone da JVM

Olá pessoal vamos falar sobre como atualizar a lista de Timezone da JVM. O Problema da Mudança de Timezone Devido uma mudança realizada pelo governo brasileiro, este ano não teremos o horário de verão, que mudava o GMT para -2 em algumas regiões do Pais, com isso, as configurações de Timezone dos servidores são ajustados para não realizar a mudança, mas alguns ambientes onde temos JVM podem acabar mudando e não seguindo o Timezone do S.O, pois a regra antiga ainda encontra-se configurada. Ambiente Java 10 mudou com Timezone incorreto. Acima instanciamos um objeto Date() a partir do JShell e notamos a diferença no horário, onde o correto seria exibir 11:05:31. Lista de Timezone Atualizados Como aconteceu aqui no Brasil, podem acontecer mudanças de Timezone em qualquer lugar (mesmo não sendo comum), quando ocorrem essas mudanças temos que recorrer a listas de Timezone atualizadas para que os ambientes possam funcionar corretamente. No caso da JVM, a Oracle man...

Skipping Tests, Profiles e Debug com Maven

Olá pessoal, hoje iremos ver alguns comandos utilitários no processo de build do Maven. O Processo de Build O Maven é uma ferramenta que trás muitos benefícios ao ambiente de desenvolvimento, com ele gerenciamos dependências, versionamento e configurações dos projetos. Uma parte muito importante que devemos nos atentar é com o processo de build, este processo é composto pela execução de todo o ciclo de vida do Maven, execução dos plugins presentes no  pom.xml  e a criação do artefato final. É comum nos depararmos com builds que demoram vários minutos para completar, caso seja o seu caso, existem algumas métricas que dizem que "um processo de build não deve demorar mais que 5 minutos". Maven Skip Tests A execução dos testes é algo fundamental em projetos de softwares, mas as vezes nos deparamos com cenários onde precisamos executar o processo de build e não executar o pipeline de testes, com Maven temos 3 maneiras de executar tal tarefa, sendo: Plugin ...

Analisando na Prática o uso de Primitivos e Wrappers

O uso de tipos primitivos e Wrappers é um tema que traz diversas discussões, inclusive existem vários tutorias que mostram a aplicabilidade de cada uma das estratégias em diferentes cenários. As Classes Wrappers As classes Wrappers são aquelas que representam os tipos primitivos da linguagem Java, há algum tempo existiam autores que falavam que Java não era uma linguagem 100% OO por tratar os tipos básicos como primitivos, mas isso acabou quando adicionaram os tipos Wrappers a linguagem. O Wrappers são classes imutáveis, e possuem vários métodos utilitários que facilitam conversões, parses, formatação, entre outras funcionalidades bem utilizadas no dia a dia. Vamos analisar cada tipo primitivo e sua representação em classe Wrapper : byte Byte; short Short; int Integer; long Long; boolean Boolean; char Character; float Float; double Double; Comparação entre Wrappers Vamos entender como esses objetos funcionam no quesito compa...

Ferramentas Gráficas para MongoDB

Olá pessoal, hoje iremos analisar algumas ferramentas gráficas para utilização do banco de dados MongoDB. As Ferramentas Em banco de dados relacionais é comum interagirmos com os databases por meio de alguma ferramenta gráfica, por exemplo, com PostgreSQL podemos usar o pgadmin, com Oracle temos o SQL Developer, entre outras. Com MongoDB, além do tradicional console, temos várias opções no mercado, sendo elas open source ou pagas, vou listar 2 que venho utilizando: Robo3T (conhecido como Robomongo); NoSQLBooster for MongoDB. Robo3T Esta foi a primeira ferramenta na qual tive contato ao entrar no mundo do MongoDB, anteriormente era conhecida como RoboMongo, ela possui uma interface simples e de fácil utilização e está disponível para Linux. Mac e Windows. Site:  https://robomongo.org/ Download :  https://robomongo.org/download Interface inicial do Robo3T. Uma das grandes vantagens que vejo nesta ferramenta é a facilidade de realizar consulta e...

Utilizando LocalDate, LocalDateTime e LocalTime na Prática

Tudo bem pessoal, hoje iremos avaliar e analisar operações de manipulação de Datas envolvendo a JavaTime API introduzida no Java 8. Exemplos da java.time API Já se passaram alguns anos desde o lançamento do Java 8 e mesmo após este período, há empresas que desconhecem o poder da java.time API, esta foi uma nova API de datas introduzida no Java 8 visando resolver problemas que tínhamos com as velhas classes Date e Calendar. Vamos mostrar vários exemplos práticos do uso da API: Criação de objetos No exemplo abaixo, estamos criando os objetos para manipulação de datas, perceba que temos 3 tipos, sendo LocalDate para manipular datas, LocalDateTime para manipular data/hora e LocalTime para horas: LocalDate localDate = LocalDate . now (); LocalDateTime localDateTime = LocalDateTime . now (); LocalTime localTime = LocalTime . now (); Utilizando formatação Aqui realizamos a operação de formatação, perceba que não foi necessário utilizar a classe SimpleDateF...

Instalando o Apache Spark e utilizando o Spark Shell

Olá pessoal, hoje iremos conhecer e instalar a ferramenta para processamento de dados Apache Spark, esta é uma ferramenta que atualmente vem sendo muito utilizada em ambientes de manipulação de grande quantidade de dados. O Que é BigData BigData é com certeza uma das palavras mais faladas em tecnologia nos últimos anos, e com isso temos diferentes significados espalhados pelas mais variadas fontes, mas basicamente BigData pode ser resumido em: Volume:  Grande quantidade de dados; Variedade:  Dados variados, sendo de tipos e fontes diferentes; Velocidade:  Dados crescendo/aumentando em alta velocidade. Quando manipulamos uma grande quantidade de dados, começam a surgir desafios do mesmo tamanho, tais como  performance ,  capacidade ,  armazenamento ,  escalabilidade , entre outros, e para esses novos desafios foram surgindo várias ferramentas, entre elas: Hadoop, Spark, NoSQL, Hive, entre outras. Conhecendo o Spark Como falamos anteri...

Criando e Executando Funções no MongoDB

Olá pessoal, hoje iremos ver como realizar a criação e execução de funções dentro de uma base no banco de dados MongoDB. Conhecendo o MongoDB Nos dias atuais o tema NoSQL vem sendo muito discutido, muitas empresas vem adotando este paradigma de armazenamento, mas como toda tecnologia existem prós e contras, para entender bem o tema recomento a leitura do livro NoSQL Essencial ( NoSQL Destilled ) dos autores Promod J. Sadalage e Martin Fowler, o livro mostra características de aplicações, modelos de NoSQL, entre outras detalhes importantes sobre adoção de qualquer banco desse segmento. O MongoDB é um banco de dados NoSQL baseado no modelo de documentos, onde cada registro é armazenado em forma de um documento  BSON , uma característica muito legal do MongoDB é justamente trabalhar neste formato, porque o formato JSON é amplamente utilizado pela maioria dos desenvolvedores, sendo assim o entendimento da estrutura de armazenamento se torna simples. Criando Funções n...