terça-feira, 5 de abril de 2011

Dificuldade para manter o foco? Talvez um tomate resolva

Vamos ser sinceros consigo mesmo, por mais prazeroso e emocionante que seja o desenvolvimento de softwares, existem momentos que deixam esta arte um tanto quanto chata e sem emoção, como por exemplo desenvolver soluções para atender aquelas legislações complexas que nem mesmo um contador consegue nos prestar consultoria. Nestes momentos nos deparamos com um problema muito sério, a perda da concentração, o que nem preciso dizer o quanto isto é ruim. Para isso acontecer não é preciso muito, basta você estar cansado ou sem motivação. Nestas situações qualquer atualização de rede social ou serviço de mensagem instantânea já é motivo para se desligar totalmente do raciocínio atual, resultando em atrasos e tornado o problema cada vez mais chato e complicado de resolver. Para algumas pessoas, esse desvio de atenção ocorre mesmo em projetos mais envolventes.

Sendo assim, a pergunta é: Como posso evitar os meus desvios de atenção?. Pois bem, existe uma técnica criada na década de 80 que defende a idéia que, algumas pausas durante as atividades podem melhorar a sua agilidade mental, está técnica se chama Pomodoro Technique ou técnica do tomate. E como isto funciona? Simples, um pomodoro consiste em um tempo de trabalho totalmente focado e a cada pomodoro realizado você deve fazer um pequeno intervalo. A forma mais popular é com pomodoros de 25 minutos e intervalos de 5, sendo assim, na pratica, a cada 25 minutos trabalhos você deve descansar 5.
Vamos partir um pouco para a pratica, como poderia ser organizado a utilização desta técnica? Segundo a literatura do tema (e algumas praticas adquiridas com a experiência), você deve seguir os seguintes passos:
  • Planejar suas tarefas: Antes de começar os pomodoros do dia, você deve pegar o seu bloquinho de rascunho ou mesmo a ferramenta onde você gerencia seus to-do list e anotar todas as tarefas que você deseja realizar no dia, evitando assim começar um pomodoro e parar no meio do período para procurar o que fazer. Faça isso de maneira sucinta.
  • Controlar o tempo: Uma palavra define esse passo, comprometimento. Se comprometa a não desviar a atenção da sua tarefa de forma alguma dentro dos 25 minutos do seu pomodoro e não faça mais do que 5 minutos de intervalo entre os pomodoros. É claro que casos de exceção podem acontecer, como por exemplo um cliente ao telefone precisando de suporte, mas como já dito, é caso de exceção. Use um cronometro simples para controlar o tempo do pomodoro e o tempo do intervalo.
  • Registrar os passos: A cada final de pomodoro, faça uma marcação na tarefa em que você trabalhou neste pomodoro, caso esta tarefa ainda esteja pendente. Este processo deve ser repetido até que a tarefa seja concluída, onde a tarefa deve ser marcada como finalizada. Assim é possível fazer um levantamento aproximado de quanto tempo foi necessário para concluir cada tarefa. Uma boa praticar é anotar também quantas vezes você foi interrompido e/ou perdeu o foco.
  • Visualizar resultados. No final do dia, você consegue analisar quantos pomodoros foram feitos sem interrupções, quantas interrupções ocorreram, quantas e quais tarefas foram concluídas e quais ainda estão pendentes. Ao final de uma semana, com esses dados é possível levantar qual foi o seu progresso utilizando o método do tomate.

Uma boa pratica é, a cada 4 pomodoros, fazer um intervalo maior, algo por volta dos 15 minutos. Confesso que uma forma que me ajudou a ser disciplinado em meus pomodoros foi encara-los como um desafio, onde meu desafio é passar 25 minutos sem desviar o foco de uma tarefa e como recompensa tenho 5 minutos para descansar a mente, dar uma volta para melhorar a circulação, verificar e-mails, tomar um café, etc, e posso dizer que funcionou, senti que minha produtividade aumentou, consegui identificar os meus principais motivos de distração e no final do dia tenho uma lista completa do meu andamento diário e parte do meu planejamento (se sobrar tarefas) do dia seguinte.
Acesse o site oficial da The Pomodoro Technique para ter acesso ao livro oficial (infelizmente somente em inglês), e outros materiais gratuitos muito interessantes para você começar hoje mesmo a gerenciar o seu tempo com simplicidade da técnica do tomate. Aproveite e teste o cronometro para pomodoro que disponibilizamos aqui no blog, ele segue a regre de 25 minutos de pomodoro para 5 de descanso e a cada 4 pomodoros sem interrupções ele entre em um tempo de descanso de 15 minutos, espero que gostem =).

domingo, 3 de abril de 2011

Gerador de MD5 do getIdeia()

Como vão amigos? este post é só para comentar que disponibilizamos um gerador de Hash MD5 online aqui no nosso blog, basta clicar em Gerador de MD5 no menu superior do blog ou acessar através deste link. É algo bem simples porem muito util, espero que gostem =).

quarta-feira, 30 de março de 2011

Montando um servidor Ubuntu com Php, MySql e Apache no Oracle VirtualBox - Parte 2

Apesar da demora, continuemos com a nossa saga para montar um servidor de testes utilizando o Oracle Virtual Box. Na primeira parte instalamos o Ubuntu na máquina virtual agora, a parte seguinte é bem simples e com ela finalizaremos a configuração do servidor, restando apenas a parte da estação de trabalho que será abordada na terceira e ultima parte deste estudo.


Tópicos da segunda parte
  • Instalação do Apache
  • Instalação do Php
  • Instalação do MySql

Instalando o servidor Apache
Vamos começar pela instalação do famoso servidor web open-source Apache. Com a maquina virtual carregada e no prompt de comando do Ubuntu, digite o seguinte comando:

sudo apt-get install apache2

Este comando irá fazer com quem Ubuntu comece a baixar o pacote Apache2 e suas respectivas dependências. Após o processo de instalação, para verificar se a instalação foi bem sucedida, na sua estação de trabalho abra pelo browser a página http://<id ou hostname do servidor>/, caso apareça uma página em branco com o texto It's Works! significa que o Apache foi instalado corretamente e já está em execução.

Instalando o Php 5
Agora é a vez do Php, essa linguagem gratuita, poderosa e de fácil aprendizado. O processo de instalação do Php5 segue o mesmo padrão da instalação do Apache, utilizando o gerenciador de pacotes linux, o APT, através do comando:

sudo apt-get install php5

Após o download e a instalação dos pacotes do Php, vamos verificar se a instalação foi bem sucedida, para  isso, no diretório /var/www/ do servidor crie uma pasta com o nome de teste e dentro desta pasta crie um arquivo com o nome index.php com o seguinte conteúdo:

<?php
phpinfo();
?>

Criado o arquivo basta abrir no browser da estação a página http://<ip ou hostname do servidor>/<nome da pasta>, caso sejam apresentadas informações sobre o Php significa que a instalação foi bem sucedida.



Instalando o MySql
Para finalizar a segunda parte do nosso estudo, vamos instalar o MySql, um banco de dados largamente utilizado em softwares web e que vem evoluindo significativamente a cada versão. Simples como a instalação dos pacotes anteriores, para instalar o MySql basta utilizar o seguinte comando:

sudo apt-get install mysql-server

Antes de testar instalação do MySql, vamos instalar o popular gerenciador de base de dados MySql baseado em Php, o PhpMyAdmin, com o comando:

sudo apt-get install phpmyadmin

Tenho certeza que o PhpMyAdmin será muito útil em seus estudos e testes assim como está sendo para mim. Para testar a instalação do MySql e do PhpMyAdmin, basta abrir no browser da estação a página: http://<ip ou hostname do servidor/phpmyadmin



Uma observação importante a ser fazer com a instalação do PhpMyAdmin é que uma das dependências deste pacote é a biblioteca de conexão Php<->MySql, sendo assim, a instalação do PhpMyAdmin já garante a instalação desta biblioteca.
Na terceira e ultima parte deste post iremos instalar a IDE Aptana para criarmos nossas páginas Php e iremos configurar essa IDE para acessar o arquivos remotamente em nosso servidor.

sexta-feira, 11 de março de 2011

Montando um servidor Ubuntu com Php, MySql e Apache no Oracle VirtualBox - Parte 1

Algo que gostei muito nos meus últimos testes e estudos foi o uso de máquinas virtuais. Fizemos alguns dojos com PHP utilizando uma maquina virtual como servidor e posso dizer que os resultados foram bem satisfatórios, tanto que, com a chegada do ultimo ano da faculdade, já estou iniciando o desenvolvimento do meu TCC utilizando uma arquitetura voltada ao uso de máquinas virtuais como servidores. É claro que estou apanhando um pouco com algumas coisas mas isso faz parte do aprendizado. Seguindo a proposta deste blog, irei relatar em 3 post todo o processo que fiz para configurar meu servidor de testes para o TCC.

Tópicos da primeira parte
  • Download do Ubuntu 10.10 Server e do Oracle VirtualBox
  • Criação e configuração de uma nova maquina virtual
  • Instalação do Ubuntu 10.10 na maquina virtual

Realizando downloads
Para iniciar o processo de preparo do servidor, precisamos antes de mais nada instalar o software gerenciador da máquina virtual. O Software que resolvi adotar para esta função é o Oracle VirtualBox por ser uma opção gratuita, fácil de usar e robusta. Através do site oficial do Oracle VirtualBox é possível realizar download da ultima versão estável. Agora, é preciso adquirir o arquivo de instalação do O.S. que iremos utilizar na nossa máquina virtual. O S.O. que escolhi para este estudo é o Ubuntu 10.10, por ser uma distribuição linux já consagrada e fácil uso. Caso você não tenha o instalador do Ubuntu 10.10, basta realizar o download da ISO através do site oficial do Ubuntu. Eu optei por instalar a versão server, por ser mais leve e mais desafiadora de usar. Execute o instalador do Oracle VirtualBox após finalizar o seu download, não entraremos em detalhes desta instalação por ser simples e intuitiva.

Criando e configurando uma máquina virtual.
Após a instalação do Oracle Virtual Box, chegou a hora de criarmos nosso servidor virtual. Com o Oracle VirtualBox aberto, selecione a opção Máquina -> Novo no menu superior, feito isso iniciaremos o processo do assistente de criação de máquina virtual. Este processo é algo bem simples, assim como a instalação do Oracle VirtualBox, só precisamos nos atentar a alguns pontos sendo o primeiro o nome e o tipo de sistema operacional que será utilizado na máquina virtual.
O campo nome nada mais é do que o nome pelo qual o Oracle VirtualBox irá identificar esta máquina virtual e como ela será listada para o usuário. Como dito anteriormente, nosso estudo será baseado no S.O. Linux em sua distribuição Ubuntu versão 10.10, sendo assim, o nosso sistema operacional da maquina virtual será Linux na versão Ubuntu. Passada está etapa, informaremos a quantidade de memória ram que será reservada para a máquina virtual quando estiver em execução (no meu caso utilizei 512MB) e logo em seguida iremos informar onde e como será criado o arquivo de disco da máquina virtual, este arquivo consiste na maquina virtual em si, ou seja, ao carregar a máquina virtual, o Oracle VirtualBox estará utilizando este arquivo. Um segundo ponto que eu gostaria de destacar a opção de armazenamento da máquina virtual, eu optei inicialmente por utilizar a opção de armazenamento fixo com o arquivo da maquina ocupando 3GB, desta forma a maquina virtual passa a ficar mais rápida e evita alguns problemas que alguns colegas me relataram quando usaram o armazenamento expansivo dinâmico, além disso, alterei o diretório onde o arquivo de disco será criado. Feitas essas configurações nossa máquina virtual já está criada.
Após concluir a criação da nossa máquina virtual, iremos agora fazer algumas configurações antes de iniciarmos a sua utilização. Começaremos pela ordem de boot, na tela principal do Oracle VirtualBox selecione a maquina criada e abra a opção Máquina -> Configurações e na seção Sistema altere a ordem de boot da máquina virtual, no meu caso eu coloquei a seguinte ordem: Disco Rígido -> CD/DVD-ROM -> Disquete -> Rede. Para que seja possível utilizar internet a partir da máquina virtual podemos deixar a configuração padrão (NAT), porém, com esta configuração eu tive alguns problemas para acessar a máquina virtual pela estação, para resolver esse problema, na seção Rede, alterei a configuração de Conectado a: para Placa em modo Bridge. Concluindo esta configuração vamos fazer um massete para podermos instalar o Ubuntu. Vamos montar a ISO do cd de instalação do Ubuntu como uma unidade da máquina virtual.
Ainda na tela de configurações da máquina virtual, vá na seção Armazenamento e na sua respectiva controlado de disco (no meu caso a controladora IDE) adicione um dispositivo de cd/dvd. Neste momento basta informar o caminho do arquivo ISO do Ubuntu que, ao iniciar a máquina virtual, este drive está disponível.

Instalando o Ubuntu na máquina virtual
Chegou a hora de colocar os pingos nos 'i's, vamos dar vida util a nossa máquina virtual, vamos finalmente instalar o Ubuntu. Meio caminho já foi andando quando "montamos" a ISO que baixamos anteriormente, sendo assim, inicie a máquina virtual no menu superior Máquina -> Iniciar. A máquina será iniciada e automaticamente entrara no processo de instalação do Ubuntu. Não entrarei em detalhes da instalação do Ubuntu por ser simples, intuitiva e por eu não ser nenhum hard-user linux. Próximo ao final da instalação, chegaremos na parte de configuração do nosso usuário.
Eu optei por utilizar um nome não muito comum por questões de segurança, mas é claro, isto vai de gosto, outro ponto importante é Seleção de Softwares que consiste em uma etapa onde o instalador permite que o usuário selecione outros serviços comuns que não são instalados no pacote server padrão do Ubuntu, dentre eles eu optei por instalar OpenSSH Server e o Samba File Server. Aguarde mais alguns instantes, faça algumas definições caso seja necessário e pronto! Já temos nosso Ubuntu Server instalado. Na segunda parte deste post iremos instalar e configurar o famoso 3 de ouro das aplicações web, Apache, MySql e PHP.

quinta-feira, 2 de setembro de 2010

Coding Dojo

Coding Dojo, é definido assim pelo site http://codingdojo.org/: “Um Coding Dojo é um encontro onde um grupo de programadores se reúne para trabalhar em conjunto em um desafio de programação. Eles estão lá para se divertir, e, através de uma metodologia pragmática, melhorar suas habilidades de programação e de trabalho em grupo.”
Esse encontro segue algumas regras básicas, como por exemplo a programação em pares, a troca constante dos pares, desenvolvimento guiado por testes e os "passos de bebê".

Existem 3 tipos de Coding Dojo:
  • Kata: técnica em que um apresentador deve demonstrar uma solução previamente desenvolvida. O objetivo é ensinar aos participantes todos os passos necessários e permitir que todos possam reproduzir o mesmo resultado. Nesse formato é permitido realizar interrupções para tirar dúvidas a qualquer momento.
  • Randori: formato que promove a participação de todos. O desenvolvimento da solução é feita orientada à testes e com programação em par. A cada turno de aproximadamente 5 minutos, o piloto volta para a platéia, o co-piloto vira piloto e um participante da platéia vira co-piloto. Os comentários são permitidos somente quando os testes estiverem em verde e, enquanto estiverem no vermelho, a platéia deve permanecer em silêncio.
  • Kake: técnica semelhante ao Randori, porém no desenvolvimento há vários pares trabalhando em soluções diferentes simultaneamente e a cada turno a troca é feita entre os pares. Esse formato necessita de um conhecimento mais avançado dos participantes.

Nas reuniões que fazemos aqui, não podemos seguir todos esses conceitos, a começar pela quantidade limitada de pessoas (normalmente 2 ou 3) e de tempo (normalmente, nos dedicamos entre 30 e 40 minutos para nossos estudos).

Utilizamos um formato parecido com o Randori, porém obviamente sem platéia no nosso caso :p.
Como o tempo que dispomos não é grande, normalmente não realizamos a troca de par, ou seja, quem começou programando segue programando até o final.

Como o enfoque é totalmente no aprendizado, sempre pegamos problemas pequenos, e que de preferência possam ser resolvidos em meia hora, e nos concentramos nele durante todo o tempo.

Esse formato tem se mostrado bastante produtivo no nosso caso, e estamos obtendo um grande progresso em nosso (des)conhecimento de Java, Orientação a Objetos, etc.

O primordial para o sucesso de um Dojo é a participação e compromentimento de todos.

Com a gente, tem funcionando muito bem até agora, visto que conseguimos montar um ambiente colaborativo, onde não temos receio de expor nossas dúvidas.
Além disso, é muito importante a colaboração, compartilhando pesquisas, blogs, exemplos, etc.

Bem, é isso... Apesar de não ser um Coding Dojo "tradicional" é assim que temos feito, e até agora não temos encontrado problemas.

sexta-feira, 27 de agosto de 2010

Hello World - Instalando o JDK (Java Developers Kit)

Começaremos a postar neste blog da mesma maneira que começamos a programar, instalando o Java no Windows Vista e fazendo um clássico HelloWorld.
Para começar, faça o download da versão mais atual do JDK no site oficial da Oracle e execute o instalador. Após concluir a instalação, é recomendado que sejam configuradas algumas variáveis de ambiente do windows, para que o compilador seja executado a partir de qualquer diretório.
Em Painel de Controle -> Sistema -> Configurações avançadas do sistema clique em Variáveis de Ambiente.

Caso as seguintes variáveis já existirem, acrescente o caracter ";" no final do valor já definido para separar os valores já existentes dos novos e depois acrescente o novo valor, caso a variável não exista, crie ela
  • JAVA_HOME = <diretório onde o Java foi instalado> Ex: C:\Program Files\Java\jdk1.6.0_21
  • PATH = %PATH%;%JAVA_HOME%\\bin
  • CLASSPATH = .;%JAVA_HOME%
Repare no ponto (.) no inicio do valor da variável CLASSPATH, não deixe este detalhe passar ele é necessário.

Feito isso o JDK já esta instalado e pronto para funcionar (em alguns casos é possível que seja necessário reiniciar o computador), para testar basta abrir o prompt e digitar javac, caso retorne uma lista de opções para usar esse comando, você já esta pronto para começar a programar, mas antes, visando uma maior praticidade dentro de nossos estudos optamos por utilizar a ide Eclipse por ser uma ide poderosa e fácil de usar, então, antes do nosso primeiro aplicativo Java, você pode baixar o Eclipse através do site oficial do produto, lembrando que existem diferente versões do Eclipse, sendo cada uma para um propósito distinto, em nossos estudos optamos pela versão Helios que é a versão destinada a linguagem Java. O Eclipse não requer instalação, basta realizar o download e descompactar o arquivo.


Finalmente iremos criar nossa primeira classe Java. Abra o Eclipse e vá em File -> New -> Class , defina o nome da classe como HelloWord e clique em Finish. Antes de prosseguir, vamos definir um conceito.


Toda classe Java que será executada deve obrigatoriamente conter um método main. 

Isso porque o método main é sempre o primeiro método a ser executado, você pode ter classes sem método main, porem, essas classes não poderão ser executadas por si próprias. Agora vamos ao nosso HelloWorld, o método para imprimir uma informação na tela em java (estamos trabalhando com prompt ok?) é o System.out.print( String ) ou o System.out.println( String ) , o segundo posiciona o cursor na próxima linha após imprimir a informação, sendo assim, basta criar um método main que dentro dele tenha uma chamada para o método System.out.print.

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}


Pronto, seu pontapé inicial no mundo Java está feito, basta clicar em Run e ver o resultado. Você pode também fazer esse processo todo manualmente, basta criar um arquivo de texto contendo o código acima, salvar com a extensão java (ex. HelloWorld.java) abrir o prompt de comando e compilar o código através do javac.


D:\>javac HelloWorld.java


fazendo isso, o compilador vai criar um arquivo para cada classe do seu código com a extensão class (ex. HelloWorld.class), agora basta executar essa classe utilizando o comando java

D:\>java HelloWorld


Note que não precisei informar a extensão do arquivo.