Arquivos para 'Programação'Categoria

ra Web Framework for Rubyists

Outubro 16, 2009

Pesquisando algumas informações para o projeto em Sinatra que estou concluindo com o pessoal que trabalho, encontrei alguns textos que me levaram a me interessar por este framework, Ramaze.

Ramaze é um simples e modular framework web escrito em ruby, fornecendo tudo o que precisa para que seu desenvolvimento web seja simples e divertido. Proporciona um estilo “livre” de desenvolvimento, ajudando você a fazer as coisas do jeito que quer. Esta último mostra sua grande inspiração no Nitro.

Ainda não conheço muito dele, apenas fiz algumas brincadeiras; mas me chamou a atenção pelos recursos que nele são apresentados.

Não escrevo como instalar ou mesmo um “hello world!” devido a sua vasta documentação. É pra quem estiver acostumado com o Rails ou Sinatra, não terá muito problema em trabalhar com ele. Quem sabe, pode até se divertir mais fazendo um desenvolvimento multiparadigma :)

Como diria esta apresentação, quantos de vocês tem experiência com o Ramaze?

Primeiros Passos (Jifty)

Julho 28, 2009

Esta é uma tradução livre do texto originalmente publicado aqui: http://jifty.org/view/GettingStarted, como nesta primeira vez que traduzi, volto a afirmar: Meu inglês não é muito bom, e por essa razão traduzi este texto, e outros textos que podem vir a ser postado em meu blog, para melhorar ele. Caso encontrem erros, o que é provável que aconteça, me informe (andreoandre <> gmail <dot> com ) para corrigir e manter o texto atualizado.

Nota: Jifty é um framework web em/para Perl. Veja suas características abaixo:

  • DRY
  • Full-stack – Conjunto de ferramentas ( como database mapper, template, AJAX toolkit, etc.. )
  • Continuationsdeixa o desenvolvedor fazer seu trabalho de forma rápida e elegante :)
  • Form-based dispatch – Forma de renderização e processamento do Jifty ( Você dita a regra e ele cuida do resto)
  • Um Pony – O único que vem com um pônei

Primeiros Passos

É fácil como:

perl -MCPAN -eshell
notest install Jifty

jifty app –name MyJiftyApp
cd MyJiftyApp
jifty model –name User

Edite lib/MyJiftyApp/Model/User.pm adicionando as linhas na seção de Schema:

column name =>
type is ‘text’,
is mandatory;
column email =>
type is ‘text’;

Em seguida executeo comando para criar seu banco de dados:

jifty schema –setup

Quando estiver pronto para usar seu (simplista) novo usuário de  banco de dados, inicie o servidor standalone jifty de sua aplicação:

jifty server

Para se aprofundar mais, veja o manual. Códigos como o Wifty ( como este site), que é um pouco mais complexo que o tutorial do manual, também pode ser um bom lugar para começar — você pode obter o código via svn co http://svn.jifty.org/svn/jifty.org/wifty/trunk.

Se você deseja mais detalhes, de uma olhada aqui:

Você pode assistir 20 minutos de um screencast aquiNota: o screencast ( e outros textos no site) fazem uso do plugin de ‘login’, que ainda não esta pronto para uso, e não vem instalado com o Jifty, por isto, não tente copiar o que você vê pois pode não sair exatamente igual. Para mais informações, consulte cpan rt ticket 24107.

Ruby Rpam Nova Versão

Julho 9, 2009

Recebi, recentemente, alguns patchs para o Rpam, (extensão nativa para manipular a biblioteca do PAM em Ruby), enviadas pelos desenvolvedores do WebYast do Suse.

Consiste de exemplos e testes aplicados a chamada authpam().

Você pode baixar os fontes aqui:

http://rubyforge.org/frs/?group_id=6758

Ou aqui:

svn checkout http://rpam.rubyforge.org/svn/

Ou instalar via gem:

gem install rpam

Para quem tem instalado via gem, é só atualizar para a versão atual.

Mais informações:

http://andrem.wordpress.com/2008/08/10/pam-ruby-rpam/

http://rubyforge.org/docman/index.php?group_id=6758

E-mail que recebi:

http://www.mail-archive.com/yast-devel@opensuse.org/msg00864.html

Qualquer problema, me informem :)

Catalyst::Plugin::Captcha

Maio 15, 2009

Simples “como fazer” para usar o Catalyst::Plugin::Captcha.

Criando um projeto:


catalyst.pl MyApp

cd MyApp

Inserindo o plugin no projeto:

No Arquivo, altere:

vim lib/MyApp.pm

use Catalyst qw/-Debug
ConfigLoader
Static::Simple/;

para:

use Catalyst qw/-Debug
ConfigLoader
Static::Simple
Captcha
Session
Session::Store::FastMmap
Session::State::Cookie/;

Acrescente a configuração de como será a imagem de Captcha:

MyApp->config->{captcha} = {
session_name => ‘captcha_string’,
new => {
width      => 100,
height     => 80,
ptsize     => 28,
lines      => 10,
thickness  => 1,
rndmax     => 6,
scramble   => 0,
send_ctobg => 1,
gd_font    => ‘Giant’

},
create => [ qw/ normal rect/ ],
particle => [ 100  ],
out => {force => ‘png’}
};

Criando o Controller e as Views

Crie o controller:

script/myapp_create.pl controller home

Abra o controller

vim lib/MyApp/Controller/home.pm

Altere a o conteúdo:

sub index :Path :Args(0) {
my ( $self, $c ) = @_;

$c->response->body(‘Matched MyApp::Controller::home in home.’);
}

Para:

sub index :Path :Args(0) {
my ( $self, $c ) = @_;

$c->stash->{template} = ‘test.tt’;
}

Adicione os metódos:

sub captcha : Local {
my ($self, $c) = @_;
$c->create_captcha();
}

sub do_post : Local {
my ($self, $c) = @_;
if ($c->validate_captcha($c->req->param(‘validate’))){
$c->response->body(“ok”);
} else {
$c->response->body(“not ok”);
}
}

Crie as Views:

script/myapp_create.pl view TT TT

Para renderizar o Captcha:

vim root/test.tt

<h1> Catalyst::Plugin::Captcha </h1>

<img src=”[% c.uri_for('captcha') -%]” />
<br>
<form action=”do_post”>
<input type=”text” name=”validate” >
<input type=”submit”>
</form>

Agora é só testar:

script/myapp_server.pl

http://localhost:3000/home

Mais:

http://search.cpan.org/~kazeburo/Catalyst-Plugin-Captcha-0.03/lib/Catalyst/Plugin/Captcha.pm

http://search.cpan.org/~burak/GD-SecurityImage-1.70/lib/GD/SecurityImage.pm