July 2011
1 post
Realmente existe diferença entre TDD e BDD?
Recebi um comentário do Cândido Sales que me fez reler um texto meu antigo sobre a diferença entre TDD e BDD. Achei legal, interessante, mas vale a pena escrever mais um “dedinho” de palavras e incluir agora minha experiência de se usar TDD/BDD por algum tempo (Uns 2 anos, mais ou menos)!
Depois de toda a experiência que tenho hoje com desenvolvimento orientado a testes/comportamento...
May 2011
1 post
mastá massa! A vitrine da propaganda piauiense.:... →
mastamassa:
Aos programadores, haverá um curso que vai abordar os conceitos básicos até a construção de aplicações em Ruby usando os bancos NoSQL CouchDB e MongoDB. Complicado? Depende a quem é direcionado, no caso, aqueles que tiverem conhecimentos básicos da linguagem de programação Ruby e noções básicas de…
April 2011
3 posts
Ele acredita que a formação universitária será importante para o caso de querer...
– http://olhardigital.uol.com.br/negocios/digital_news/noticias/profissionais_reclamam_da_qualidade_das_faculdades_de_tecnologia_no_brasil
O discurso comum é “minha equipe não se comporta da maneira ágil”, “meu chefe é...
– http://blog.aspercom.com.br/2011/04/03/o-mito-da-cultura-agil
Proc e lambda
Você já deve ter ouvido que tudo em Ruby é objeto. Sim, sim, tudo é objeto. Menos blocos.
Blocos não são objetos. Mas existe duas formas de transformar blocos em objetos. Uma é usar Proc e a outra é usa lamda.
Para se criar um Proc existem algumas formas, a mais simples e mais utilizada é:
proc = Proc.new do |object|
puts object.inspect
end
Depois que você criar o seu Proc, para chamar o...
March 2011
1 post
Leia antes de lançar um produto
Qual a sua definição de um bom produto? Ele tem que ser funcional?! Ele tem que ser útil?! Ou ele tem que despertar em você uma necessidade?
Todos falam sobre os produtos da Apple, sobre como o Steve Jobs consegue criar a necessidade e como todos acabam comprando (Eu sou um deles!).
Não importa o quanto revolucionário é o seu produto. Se ele não despertar a necessidade nos seus clientes, você...
January 2011
1 post
4 tags
Ruby Masters Conf
Eis que mais uma vez a e-Genial surpreende anunciando o Ruby Masters Conf, que é uma maratona de palestras com os maiores feras de Ruby do Brasil e ainda com convidados internacionais!
A e-Genial é conhecida no Brasil pela excelência dos seus cursos (Já ministrei um por lá \o/) e também conhecida por ter uma das melhores plataformas de ensino a distância do país, o TreinaTom.
O evento vai ser todo...
December 2010
1 post
Meu ambiente de desenvolvimento em 7 itens
Fui convidado pelo @danillos para descrever mais sobre o meu ambiente de trabalho :) 1. Sistema operacional Mac OS X e Ubuntu. E já estou indo para o meu terceiro ano com Mac OS, simplesmente fantástico, não só pelo software, mas pelo casamento com o hardware. E o Ubuntu ainda tenho em um desktop que as vezes eu utilizo no Jusplex, sinceramente não muito, mas uso. 2. Terminal Indispensável....
June 2010
4 posts
Extraindo informações usando Ruby
Hoje lancei uma aplicação que faz a análise dos palpites de um bolão (O bolão da Marko Informática) e mostra um gráfico com a quantidade de palpites por placa em um determinado jogo.
Para extrair essas informações eu não precisei acessar o banco de dados. Apenas consumi o que todos já podem ver, como por exemplo este link.
Essa brincadeira de extrair essas informações do bolão da Marko...
Trabalhando com datas naturalmente com Chronic
Esta semana passei gastando um tempão implementando um Parser que me retornaria um dia em que um evento ocorre em uma determinada data.
Mas a data seria algo “Quero trazer todos os usuários que se cadastraram na terceira terça feira do mês de janeiro”. A forma que eu estava implementando não era assim tão segura, apesar de todos os testes estarem passando.
Então hoje eu encontro...
Sincronizando bancos MySQL com Maatkit
Maatkit é uma ferramenta criada para DBAs, programadores e usuários que lidam com bancos de dados opensource em replicação master-master e master-slave.
A maioria das ferramentas foi feita para o MySQL, mas você pode utilizar em seu banco de dados preferido (Não sei quais seriam esses outros bancos :P).
Uma das ferramentas do Maatkit é a sincronização entre bancos de dados. Ela é extremamente...
9 tags
Atualmente eu trabalho em basicamente duas aplicações: a do Jus Navigandi e o TrendTime. São duas aplicações Ruby On Rails, bem distintas, nessas duas aplicações eu faço testes.
Mas são níveis de testes diferentes, infelizmente. Enquanto que na aplicação do Jus Navigandi eu não escrevo código sem testes, na do TrendTime eu ignoro alguns lugares.
Eu faço isso por um único motivo: No Jus Navigandi...
May 2010
4 posts
Dúvidas com Git? Olha o blog do Alberto Leal →
MongoID →
MongoID é um ORM Ruby para MongoDB
NoSQL não é a bala de prata
Assim como qualquer tecnologia, ela nunca será a bala de prata. Escolher qual NoSQL usar é como mulher escolhe roupa: sempre a que fica melhor.
April 2010
7 posts
Não consigo me imaginar passando oito horas por dia fazendo algo com que eu não...
– Lucas Húngaro - http://www.makemesimple.com/blog/2010/04/28/comprometa-se-consigo-mesmo/
CouchDB webcast recap, and info on next one...
couchio:
Last week we had our first CouchDB webcast with O’Reilly, and it went really well! Thanks to all that attended, about 185 or so. Everyone was really active on the chat and the CouchDB experts were great at answering questions from those less familiar with CouchDB. Hope everyone enjoyed it as much as we did! Our next webcast is “CouchApp Evently Guided Hack w/ CouchDB” on May 20th. ...
Slides Introdução a NoSQL →
Links dos slides do Chirp
Chirp, a conferência para desenvolvedores que o Twitter promoveu.
Big Data at Twitter, Chirp 2010 Chirp 2010: Twitter International Effective Use of the Twitter Search API The Why and How of Scala at Twitter Chirp 2010: Scaling Twitter Chirp 2010: Too many secrets, but never enough: OAuth at Twitter Twitter Streaming API Architecture “What’s Happening” to “What’s Happening...
#interaje →
TrendTime da Fórmula 1 →
March 2010
20 posts
Acesso remoto ao postgres
Edite o arquivo /var/lib/pgsql/data/pg_hba.conf e adicione a seguinte linha:
host all all 0.0.0.0 trust
Criando usuário no MySQL
CREATE USER ‘monty’@’localhost’ IDENTIFIED BY ‘some_pass’; GRANT ALL PRIVILEGES ON *.* TO ‘monty’@’localhost’ WITH GRANT OPTION;
Migração finalizada!
Nesta semana fiz duas migrações, uma importante e outra super mega ulta importante. A primeira é que acabei de migrar todos os posts do Wordpress para cá. Não fiz a migração dos comentários ainda. Vou fazer em breve :P
A migração mais importante ainda foi a do TrendTime. Vou contar um pouco de história!
Nós começamos o TrendTime como brincadeira, e como tal não escolhemos um banco de dados,...
Estou mudando para o Tumblr. Em breve todos os posts do meu antigo blog estarão aqui. Só questão de tempo!
Tudo bem que se você sair dos trilhos o BOPE não vai descer de helicoptero na...
Ephemera: Simple CouchDB multi-master clustering... →
I have been playing with CouchDB for the last couple of days a lot. And I like what I see even more. Couch seems to be extracted from the web so much, that it reminds me of my joy when discovering Rails couple of years ago.
One of those impossibly great things is that CouchDB is completely…
Existem várias formas de garantir a qualidade de um software. A mais fácil e mais simples é com testes automáticos. Mesmo que eles não cubram toda a sua aplicação, mesmo que as vezes seja tão simples que com uma linha de teste você faça ele passar, mas fazendo os testes você pode bater no peito e confiar em todos aqueles códigos que você escreveu.
Não são as horas de trabalho que levam ao seu sucesso. É o trabalho que você...
– Stephen Kanitz
Postos, Preços, Mashup! →
Melhor blog ever →
Tenha sempre um amigo em quem você possa confiar, eles sempre vão te ajudar nos piores momentos. Amigos de melhores momentos não são verdadeiros amigos.
Nada melhor do que um gadget novo!! Hoje recebi meu iPod Touch. Estou postando dele, tentando me acostumar com o teclado e com as teclas que não cabem nos meus dedos, :P
Couchdb: Open for all networks
You can change on futon too
Couchdb: Open for all networks
You can change /usr/local/etc/couchdb/local.ini: Find bind_address directive and change to 0.0.0.0. Remove “;” before ;)
Couchdb Mac OS X
Mac OS X ++++++++ You can use the `launchctl` command to control the Apache CouchDB daemon. You can load the launchd configuration by running: sudo launchctl load /usr/local/Library/LaunchDaemons/org.apache.couchdb.plist You can stop the Apache CouchDB daemon by running: sudo launchctl unload /usr/local/Library/LaunchDaemons/org.apache.couchdb.plist You can start Apache CouchDB by running: sudo...
Aprender a aprender é mais importante do que...
Aprender a aprender. Essa deve ser a lição passada a todas as crianças todos os dias. Se você aprende que aprender é mais importante do que você somente aprender uma nova tecnologia ou uma boa receita de bolo, então você está preparado para inovar e mais ainda preparado a nunca parar de aprender.
99% of the people with an “architect” title in software are 100%...
– mikeal
http://twitter.com/mikeal/status/10185293177
Existem dois tipos de gurus. Os que twittam o que observam, e os que retwittam...
– Stephen Kanitz
http://twitter.com/StephenKanitz/status/8824527870
A melhor forma de aprender qualquer coisa é fazendo. Se você pega um monte de...
– Cássio Marques
http://twitter.com/cassiomarques/status/10147037814
November 2009
1 post
1 tag
Colhendo frutos do Pomodoro
A pouco tempo eu comecei com essa história de Pomodoro. Eu já conhecia a técnica faz tempos, desde o ano passado. Na época ela passou como mais uma metodologia de concentração e foco, mas agora voltou então resolvi da uma chance ao Pomodoro.
As regras do Pomodoro são simples:
Priorize suas tarefas logo no inicio do dia;
Você vai ter um intervalo de 25 minutos para resolver todas as tarefas,...
October 2009
1 post
1 tag
Rails Summit 2009 e o lançamento do TrendTi.me!
Este ano o Rails Summit se consolidou como um dos maiores eventos de Rails do mundo. Infelizmente mais uma vez não pude ir e participar presencialmente ao evento, mas nem por isso eu não participei!
No Oxente Rails, evento realizado em Natal - RN, eu, Cleiton, Weldys e Cyrus começamos uma aplicação por brincadeira e zoação, nós criamos um livestream, foram 2 dias de muito trabalho e pouco...
September 2009
4 posts
Documentos aninhados no CouchDB
Dois programadores pensam melhor do que um
O XP é uma metodologia de desenvolvimento Ágil, alguns consideram como framework, outros, assim como eu, consideram como filosofia. Não da dá pra aprender XP em um dia e no segundo dia sua equipe já será extremamente Ágil. Isso é mentira. Assim como programação, XP só se aprende com o tempo, treinando dia após dia.
O XP possui práticas e dentre elas a que eu acho mais vantajosa é a Programação...
O mais importante é arte e não código!
Nos últimos dias eu venho tentando aprender a fazer design sozinho. E sinceramente, design é algo que se aprende, mas é muito difícil. Não é tão simples como programação, aprender meio número de comandos e escrevê-los.
Se fosse assim, já estaria com o design que eu quero pronto. Mas não, não é tão simples. Falo sinceramente quando uma pessoa que sabe fazer design e é programador é um...
Aprendendo Agilidade fora da caixa
Podemos aprender em qualquer lugar, com qualquer coisa. Livros, vídeos, fotos, apresentações, músicas, filmes, etc. Se você ver a coisa com outra ótica poderá aprender muito.
Eu gosto muito de ver o filme do Homem de Ferro, gosto muito de ver toda aquela coisa tecnologica funcionando. Acho o máximo quando ele usa o “raio repulsor” e passa da barreira do som!
O mais importante de se...
August 2009
5 posts
Rails Initializers!
No rails existem 4 lugares onde você pode configurar sua aplicação, no config/environment.rb, config/environments/production.rb, config/environments/development.rb, config/environments/test.rb.
Nesses 4 lugares você pode adicionar configurações para um do environments do rails (production, test e development) ou em todos os environments (config/environment.rb).
Dentro desses arquivos, você...