você está em: leonardofaria.netarquivo → 2008

Impressione todo mundo com o LiquidMac

21/09/2008 — Comente! — Tags: ,

Tem um Mac? Mate seu amigos (e inimigos) de inveja com o LiquidMac



Edge Rails no Windows Vista

10/09/2008 — Comente! — Tags: , ,

Uma das mudanças do Rails 2.2 é não inclusão do bundle do MySQL, responsável por conectar seu projeto ao banco. Mês passado eu postei sobre isso e hoje, ao tentar instalar o gem do MySQL no Windows Vista de um co-worker, me deparei com um problema na DLL libmySQL.dll.

A solução encontrada foi copiar esse arquivo (geralmente em C:\Program Files\MySQL\MySQL Server 4.1\bin\) para a pasta bin do Ruby (por exemplo: C:\ruby\bin).

Que fique documentado ;)



Acelerando seu Textmate

16/08/2008 — 2 comentários — Tags: , ,

Estou trabalhando em um projeto usando o Edge Rails. No Textmate, a tecla de atalho CMD + T é uma mão na roda para localizar e abrir qualquer arquivo, entretanto, com o Edge estando na pasta /vendor/rails, a busca pode se tornar lenta e encontrar, além dos seus arquivos, os arquivos do framework. Foi então que encontrei essa dica do Dr. Nic (sempre ele):

É possível mudar a forma default de como funciona os patterns para localizar os arquivos. Para isso, acione as preferências do software, escolha Advanced, depois Folder References e substitua, em Folder Pattern, o valor padrão, pelo seguinte:

!.*/(\.[^/]*|vendor/rails|doc|rails_root|CVS|log|data_dump|build|_darcs|pkg |_MTN|\{arch\}|blib|.*~\.nib|.*\.(framework|app|pbproj|pbxproj|xcode(proj)? |bundle))$

Caso queira reverter, o valor padrão é:

!.*/(\.[^/]*|CVS|_darcs|_MTN|\{arch\}|blib|.*~\.nib|.*\.(framework|app|pbproj|pbxproj|xcode(proj)?|bundle))$

Após isso, alguns diretórios não serão mais 'encontrados' e você terá uma busca mais rápida.



Ruby on Rails na WebMobile

10/08/2008 — 2 comentários — Tags: ,

Ruby on Rails é um framework minimalista que chama cada vez mais atenção do mainstream. Dia-a-dia a comunidade avança, com encontros (Rails Summit está chegando), publicações e artigos e reportagens em revistas especializadas. E é com grande satisfação que divulgo que a WebMobile, da editora DevMedia, traz, a partir dessa edição, um micro curso apresentando as funcionalidades do RoR.

Vale a pena correr a banca e me conferir lá ;)

P.S.: Mês que vem tem Minas on Rails '08. Em breve novas informações desse evento.



Mudanças no Rails 2.2

02/08/2008 — Comente! — Tags:

O Rails 2.2 está chegando e ao baixar o Edge para testar o novo recurso de internacionalização (uma das grandes novidades), me deparei com a primeira diferença da versão: o arquivo de conexão com o MySQL não está mais integrado ao framework. É isso o que diz o log do development.log:

!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql.

Como o próprio log já sugere, é só instalar o gem, mas atenção: é preciso especificar o path do arquivo mysql_config, através do flag "--with-mysql-config". Para o Mac OS X, a instalação pode ser feita com:

sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

e no Ubuntu, com:

sudo gem install mysql -- --with-mysql-config=/usr/bin/mysql_config

Depois disso, é só correr pro abraço!



MacLimpeza Pro

20/07/2008 — 3 comentários — Tags:

Eu era um feliz dono de um MacBook branco acizentado até que resolvi experimentar o Limplex. Após utilizar métodos como borracha branca (trabalhoso) e algodão, sem sucesso na limpeza do MacBook, resolvi finalmente experimentar o produto que muita gente já utilizava, e que já estava em casa por quase 3 meses sem uso.

O produto, segundo o site do fabricante, é vendido em lojas como a Saraiva, Extra, Kalunga (onde comprei), entre outras. A aplicação é simples: basta usá-lo com a esponja que vem junto no kit em movimentos circulares. Depois, é só usar um pano branco macio para tirar o excesso do produto. Para limpar o display, usei algodão seco.

ps. Aproveitei e tentei limpar meu Nokia 1108, que estava amarelado. Não tive nenhum sucesso em obter o branco original.



Protegendo projetos com o .htaccess

16/07/2008 — 2 comentários — Tags: ,

O Apache pode te ajudar a proteger um projeto com seu sistema de autenticação. E isso é mais fácil do que você pensa. Para tal, crie um arquivo .htaccess com o seguinte conteúdo:

AuthUserFile /home/leonardo/public_html/project/.htpasswd
AuthGroupFile /dev/null
AuthName "Restricted Access"
AuthType Basic
<limit GET>
require valid-user
</limit>

Após isso, crie um .htpasswd com os dados de usuário e senha (atenção ao caminho do arquivo). A senha é criptografada e o conteúdo do arquivo é algo como o seguinte:

leo:4tHAiRmQ4OpjM

Para criptografar a senha use um dos vários serviços por aí existentes. Para proteger um projeto em Rails, a solução também funciona bem, desde que seu .htaccess esteja na pasta public de sua aplicação



Usando ApacheBench para testes: Apache/mod_rails e Nginx/mongrel

15/07/2008 — 3 comentários — Tags: , ,

O ApacheBench é um software do Apache usado para fazer testes de perfomance de servidores web, independente do servidor usado. Isso é muito útil para comparar o desempenho de diversas configurações, mas nem sempre pode apresentar a realidade do ambiente.

O ApacheBench é distribuído nos ambientes Linux pelo pacote apache2-utils - versões para Mac OS e Windows podem ser encontradas no site do software. Em distribuições como o Ubuntu, para instalá-lo basta um apt-get install apache2-utils (como super-usuário). A partir daí, o comando ab fica disponível em seu terminal e é só correr para o abraço!

Um teste pode ser feito com o comando:

ab -n 100 -c 5 http://www.leonardofaria.net/

O Flag '-n' indica o número de requisições, enquanto a opção '-c' indica a ocorrência de conexões simultâneas. A saída do comando acima é semelhante a:

This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking www.leonardofaria.net (be patient).....done

Server Software:        Apache/2.2.8
Server Hostname:        www.leonardofaria.net
Server Port:            80

Document Path:          /
Document Length:        0 bytes

Concurrency Level:      5
Time taken for tests:   16.460184 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Non-2xx responses:      100
Total transferred:      41600 bytes
HTML transferred:       0 bytes
Requests per second:    6.08 [#/sec] (mean)
Time per request:       823.009 [ms] (mean)
Time per request:       164.602 [ms] (mean, across all concurrent requests)
Transfer rate:          2.43 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      255  291  21.2    287     361
Processing:   442  506 131.1    485    1732
Waiting:      438  492  42.9    484     655
Total:        698  797 137.9    774    2040

Percentage of the requests served within a certain time (ms)
  50%    774
  66%    804
  75%    812
  80%    818
  90%    878
  95%    925
  98%    982
  99%   2040
 100%   2040 (longest request)

Dezenas de possibilidades podem ser traçadas com esses testes.
Nos meus benchmarks, realizei basicamente 2 testes: a renderização do index.html default do framework e a renderização de um Time.Now do Ruby. Em ambos os testes, o desempenho do nginx + mongrel_cluster foi superior ao Apache + mod_rails. Esse teste também foi feito por aí, e com resultados semelhantes ao meu.

Desse modo, em uma balança estão Apache/mod_rails e Nginx/mongrel_cluster. De um lado, pesam a facilidade de deployment e o crescente uso em shared hosts. De outro lado pesam a rapidez do servidor e a 'dificuldade' do deployment. E aí? De que lado você vai ficar?



Rails Screencasts

11/07/2008 — 2 comentários — Tags: ,

É incrível a qualidade de material existente sobre Rails. A comunidade está cada vez mais crescendo e para quem está vindo para o lado Rails da força, nada mau uns screencast para aprender.

  1. Railscasts: já são 117 episódios do mais conhecido site de vídeos.
  2. PeepCode: screencasts de ótima qualidade, entretanto, pagos (o Júlio fez um ótimo post sobre isso).
  3. Ruby Plus: outro site interessante de conteúdo.
  4. ThinkRefresh: um site com um bom número de screencasts.
  5. Learncasts: o Lucas Húngaro começou sua série de screencasts.
  6. Git: git parece ser ainda um mistério, mas não se você ver esses screencasts.
  7. TDD Screencast: não assisti ainda, mas promete ser um screencast bem bacana.
  8. [update] o Carlos Brando também tem screencasts brilhantes! (E não deixe de conferir o Rails Podcast Brasil, do qual ele também participa.)


Nasceu: codestacker.com

02/07/2008 — 4 comentários — Tags: ,

Nasceu meu projeto Rails de 2 fins-de-semana: codestacker (é em minúsculas, tá?) é um site para compartilhamento de código, anônimo ou não, público ou privado. Existem vários sites semelhantes ao codestacker, entretanto, quis fazer minha solução cobrindo minha abordagem para o problema e como posso solucioná-lo.

Tenho vários features que ainda não implementei, caí na real e lancei o básico do serviço. Existirão outros fins-de-semana para atualizações.

Então é isso, vejo todo mundo .




Publicidade