Dev
Artigos relacionados à desenvolvimento.
Java “Hidden” Features – 1
13/01/12
Após um longo período de “hiatus” aqui no geekvigarista, estamos tentando salvá-lo do mundo inferior dos blogs abandonados da terra média.
Claro, temos todos uma desculpinha um motivo para não ter postado ultimamente, mas, não vou encher sua cabeça com coisas que você não precisa/quer saber
Para voltar a ativa com chave de ouro (frase manjada, né?), resolvi começar uma série de artigos sobre funcionalidades não muito divulgadas e/ou desconhecidas pela maioria dos desenvolvedores Java.
Vou ir postando os artigos, com exemplos de código e uma breve explanada sobre. Se eu falar alguma merda coisa errada, por favor, Mais >
NoSQl – parte 2 (MongoDB)
15/11/11
Continuando (antes tarde do que nunca) com a segunda parte do tutorial, vamos ver como construir agora uma arquitetura distribuida com MongoDB, fazendo uso da feature ReplicaSet. Para isso, vou supor que você tenha o MongoDB instalado, e/ou adicionado no seu PATH.
Arquitetura
Teoricamente, teremos 3 máquinas: server1, server2 e arbiter. Ok, server1 e server2 eu sei pra que serve, mas pra que eu preciso de um arbiter? Um arbiter (arbitro) é um servidor que monitora os membros da nossa infraestrutura (arquitetura, replicaset, chame do que quiser) e quando o nosso master cai por algum motivo, ele escolhe (por meio de votes) um outro nó da nossa infraestrutura para Mais >
Instalando o JDK 7 e o Jetty 8 no Ubuntu 11.10
07/11/11
Sim, eu sei que faz anos que ninguém posta nada aqui.. mas está uma época tensa para todos, TCC, final de ano e tudo mais…
Whatever, vamos fazer algo útil.
JDK
Sempre instalava o Java pelo apt, mas no 11.10 não tava dando muito certo… já nem lembro o porque (faz tempo), então, decidi instalar no modo SANGUE-NU-ZÓIO!
É simples assim:
Baixar o JDKSim manolo, você precisa do arquivo tar da sua arquitetura… você pode baixar a última versão nesse link.
Descompactar e mover!
Depois de baixar, vamos por as coisas nos seus devidos lugares. Abra o terminal, e faça:
cd ~/Downloads tar xvzf Mais >
Gráficos em Aplicações web usando HighCharts JS #1
19/08/11
Existem várias formas de gráficos (linha, pizza, colunas, etc)…
Aqui vou demonstrar um exemplo para gerar gráficos de linha para sua aplicação web usando a Biblioteca HighCharts JS. (http://www.highcharts.com/)
Primeiro faça download da biblioteca http://www.highcharts.com/download para esse exemplo utilizei a versão 2.1.4. verifiquei agora está na versão 2.1.6.
Baixado o arquivo, copiei a pasta JS que contém as subpastas adapters, modules, themes e os arquivos highcharts.js e larguei na estrutura da minha aplicação.
Na pasta Adapters encontra-se os js de adaptação (necessários para funcionar os gráficos);
Na pasta Modules encontra-se os js de exportação dos gráficos, Mais >
“Closures” com Java 6
08/08/11
Muito longe de outras linguagens como python e groovy, que possuem implementações relativamente simples e elegantes.
Porém, nem todo mundo pode já utilizar o Java 7. Tem aquele velho problema dos sistemas legados, clientes que não atualizam e etc.. e pra piorar, o release saiu com um bug cabuloso que ferra com as libs da apache commons.
Mas, ainda falando em apache commons, a apache commons collections tem uma implementação, ainda mais feia que Mais >
Melhorar a performance do Eclipse
08/08/11
Então, vou postar uma dica que pode melhorar bastante o desempenho:
Depois do trecho:
-startup plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar --launcher.library plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505 -showsplash org.eclipse.platform
Adicione o seguinte conteúdo:
--launcher.XXMaxPermSize 1024m -vm CAMINHO_PARA_O_JDK\jre\bin\client\jvm.dll --launcher.defaultAction openFile -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms512m -Xmx1024m -Xss4m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxGCPauseMillis=10 -XX:MaxHeapFreeRatio=70 -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:CompileThreshold=5 -Dcom.sun.management.jmxremote
Resumindo, o meu ficou assim:
-startup plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar --launcher.library plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505 -showsplash org.eclipse.platform --launcher.XXMaxPermSize 1024m -vm /opt/java/jre/lib/amd64/server/libjvm.so --launcher.defaultAction openFile -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms512m -Xmx1024m -Xss4m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxGCPauseMillis=10 -XX:MaxHeapFreeRatio=70 -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:CompileThreshold=5 -Dcom.sun.management.jmxremote
Agora, é só abrir o eclipse e já era
Repare que no Mais >
Entendendo os Memory Spaces do Java
20/07/11
Essa exception ocorre, como você deve imaginar lendo ela, quando algum espaço de memória da JVM alcança o limite.
Existem 3 espaços de memória na JVM:
1. Heap SpaceEsse é o espaço de alocação dinâmica de memória da JVM. Ele armazena todos os objetos criados pelo seu programa.
O Heap Space é monitorado pelo Garbage Collector (algo como “Coletor de lixo”). O garbage Mais >
Relação Muitos Pra Muitos em Rails
06/06/11
Para esse exemplo estou utilizando Ubuntu 10, Ruby 1.8.7, Rails 3.0.7 e MySQL 5.1. Quando comecei a trabalhar com Ruby On Rails, achava dificuldade em entender a linguagem Ruby, e entender o framework Rails. Com o tempo, essa dificuldade foi diminuindo, o estilo de trabalhar com o Rails, é bom e fácil. Porém, sempre tive dúvidas e apanhei um pouco até aprender como fazer uma relação muitos pra muitos em rails, ou has_and_belongs_to_many em rails. Por isso, fiz um exemplo e vou compartilhar, espero ajudar muitos programadores RoR com esse exemplo. Vamos lá… A relação é entre Produtos e Caracteristicas, 1 Produto pode Mais >
Sabendo TUDO ou quase tudo que acontece em seu Linux
06/05/11
Como eu estava precisando de um PrintLogger que é como se fosse um keylogger, mas ao invés de gravar as teclas digitadas, ele tira um print da tela a cada tantos segundos
Então fui procurar pela net por um desses, mas não achei. então pensei “quer saber, vou fazer eu mesmo um”!
O código no GitHub está Disponível aqui e está até que bem comentado.
Primeira coisa que precisamos é o Scrot Instalado
sudo apt-get install scrot
Depois de instalado crie um arquivo .sh e cole Mais >
Client Side Storage – HTML5
11/03/11
O HTML5 está vindo por aí com milhões de recursos muito interessantes, e, principalmente, FODASTICOS!
É canvas, forms melhorados, audio, video, etc etc etc… muita coisa nova, muita coisa que logo será comum em todos os navegadores e aplicações (MORTE AO IECA! MORTE AO IECA! repitam comigo…).
Enfim, o recurso que eu achei mais interessante até agora é, com certeza, o armazenamento local. Inclusive, temos duas opções:
- Local Databases – Usa SQL na veia, você pode ler um pouco sobre ele aqui.
- Local Storage – Você pode armazenar JSON’s nervosamente por aqui, já vamos falar sobre ele.
Mas primeiro, precisamos saber o que é JSON. Mais >


Últimos Comentários