terça-feira, 13 de novembro de 2012

Adicionando e removendo ações de um roteamento REST em Rails

Dando continuidade ao estudo de roteamento com Rails introduzido no post anterior, vou mostrar como é possível adicionar ações a um roteamento REST, indo além das sete definidas por padrão, e também como fazer para remover alguma das operações padrão quando esta realmente não for necessária em sua aplicação.

segunda-feira, 12 de novembro de 2012

Roteamento de Resources em Rails

Rails Routing, traduzindo e explicando, é a forma como o framework Rails infere a rota até a ação de um controlador através da URL no browser e do método HTTP (GET, POST, PUT ou DELETE).
Conforme já mencionei no post sobre múltiplos bancos de dados, o Rails segue o padrão de convention over configuration. As convenções assumidas para o roteamento vão servir para a grande maioria dos casos, mas customizar o roteamento em sua aplicação é fácil e extremamente flexível.

sexta-feira, 9 de novembro de 2012

Filtrando associações em Rails

Alguns posts aqui no blog já exemplificaram como funcionam as associações na camada de modelo do Rails com ActiveRecord e como efetuar alguma pesquisa (query) a partir de algum modelo. Neste post vou demonstrar como combinar as duas coisas, efetuando filtros a partir de uma associação, usando tanto recurso de blocos quanto de mixins com módulos, também já abordados em posts anteriores.



Rails scope e default_scope (EDITADO)

Neste post pretendo demonstrar como é possível fazer uso de scope e default_scope na camada de modelo de aplicações em Rails de forma a centralizar regras de pesquisa sem violar outras camadas da aplicação e mantendo a simplicidade do código.

quinta-feira, 8 de novembro de 2012

Múltiplos Bancos de Dados com Rails

O Rails segue o conceito de convention over configuration que assume diversos padrões em vários aspectos das aplicações até que se defina o contrário. Por exemplo, o Rails assume que a aplicação será RESTful, ou seja, utilizará os métodos do protocolo HTTP para identificar os tipos de ações a serem executadas para cada requisição do cliente. Também assume que a aplicação será dividida em camadas seguindo o padrão MVC. E uma das convenções assume que você terá um banco de dados, com três ambientes: desenvolvimento, testes e produção.

quarta-feira, 7 de novembro de 2012

Auto-relacionamento Many-to-Many com Rails

Nas aplicações que a maioria de nós desenvolve, é relativamente comum ter auto-relacionamentos, em que uma entidade referencia ela mesma através de um ou mais atributos. Também é comum ter relacionamentos muitos-para-muitos (many-to-many), em que duas entidades podem ser referenciadas por um ou mais registros da outra. Porém, há uma terceira possibilidade, que são os auto-relacionamentos many-to-many, cujo primeiro exemplo que vem à mente é o das redes sociais, tão comuns hoje em dia, onde o perfil de uma pessoa pode possuir vários amigos, que na verdade são outros perfis também de pessoas que também possuem vários amigos e assim por diante, tudo em uma única entidade Pessoa. Na continuidade vou ilustrar as duas primeiras situações, mais comuns, e em seguida mostrar como a terceira situação pode ser implementada com o framework ActiveRecord, incluído por padrão no Rails.

quarta-feira, 31 de outubro de 2012

Carreira no Serviço Público

 Pouca gente sabe a história por trás da urna eletrônica, do novo passaporte, do certificado digital, do sistema dos consulados brasileiros, dentre outras inovações do Governo Brasileiro nas últimas décadas. Como um dos principais coadjuvantes por trás deste avanço tecnológico está o Serviço Federal de Processamento de dados (SERPRO), umas das maiores empresas públicas de TI do mundo.


sexta-feira, 26 de outubro de 2012

Blocos em Ruby

Neste primeiro post sobre a linguagem Ruby, acho que um dos tópicos mais interessantes de abordar é a forma como Ruby lida com blocos.

O que são blocos, como criar, como passar por parâmetro, como reaproveitar, enfim, como eles se fazem constantemente presentes no dia-a-dia de um desenvolvedor Ruby e quais possibilidades oferecem. Sobre tudo isso pretendo dar uma visão geral aqui.



terça-feira, 23 de outubro de 2012

Desmistificando o jQuery (Parte 2)


Quem leu a primeira parte com certeza não pensa mais que jQuery é um bicho de sete cabeças, mas talvez pense que ainda tem umas três.  :o)


E é isso que espero resolver neste segundo post sobre jQuery, atacando agora as funções que estão disponíveis a partir da obtenção de elementos.

Conforme foi apresentado no primeiro post, há diversas formas de se obter os elementos de uma página HTML. Após esta primeira etapa, o jQuery oferece uma vasta diversidade de funções para praticamente qualquer necessidade, por isso vou focar mais nas que para mim foram mais úteis.

sexta-feira, 19 de outubro de 2012

Desmistificando o jQuery (Parte 1)

Em um post anterior, falei sobre o poder e versatilidade do jQuery, sem todavia apresentá-lo na prática, o que ficou prometido e desejo cumprir neste post.

Por muito tempo, há não muito tempo, ouvi falar sobre jQuery e pensei tratar-se de um "bicho de sete cabeças".

Conforme mencionei nesse post anterior, minha habilidade com front-end era bem rasa, fluindo mais com frameworks component-based (como Primefaces) que já me traziam tudo praticamente pronto (e bonito!).

Inconformado com essa lacuna, busquei algumas boas literaturas e acabei sendo alocado em um projeto PHP. Nas boas-vindas já indicaram a toda a equipe que o conhecimento de jQuery seria muito mais importante que o de PHP. Então, não perdi tempo, mergulhei na literatura e, para minha surpresa, descobri que jQuery é muito simples. Tem uma imensidão de recursos, talvez essa seja a parte mais difícil (menos fácil) de aprender, mas a forma de empregá-los em sua aplicação é simples demais! Descobri que o bicho das sete cabeças não existia (ou pelo menos não era o jQuery!).


Minha expectativa é que você descubra a mesma coisa ao concluir a leitura deste post!