Pesquisa aponta analista de dados como profissão promissora
Boundary rastreia desempenho de aplicativo, mesmo em AWS
7 habilidades decisivas para ser contratado em TI
Google diz que consumidores com smartphones gastam mais
O futuro chegou (de novo)
Internet das coisas: um chamado para as empresas
Ataques cibernéticos têm poder de bombas nucleares, afirma general chinês
Cuidado com os mitos de segurança dos aplicativos web
Hackers LulzSec recebem sentença em Londres
Surface Pro, da Microsoft, vence iPad em teste
Google Now se mistura ao iOS
BlackBerry Z10 chega ao Brasil por R$ 2,449 mil
Hash é uma estrutura de dados poderosa em Ruby. Os hashes são fundamentados em hash tables e servem para mapear objetos arbritários. Eles mantém um grupo de objetos conhecidos como chaves e associa um valor para cada chave.
Assim como arrays, hashes usam colchetes para buscar e definir valores dentro do hash. Mas ao invés de usar índices, usa-se as chaves dentro dos colchetes. Essas chaves podem conter qualquer tipo de objetos, mas strings e símbolos são normalmente utilizados. Veja um exemplo de hash:
Símbolos, strings escritas como identificadores imutáveis prefixados com dois pontos, são o tipo preferido para se utilizar nas chaves, pois além de serem imutáveis, eles são muito rápidos quando se faz comparação de igualdade entre eles. Veja o mesmo exemplo anterior, agora utilizando símbolos como chaves:
Uma maneira mais intuitiva de se criar hashes é através de uma lista separada por vírgulas de pares chave/valor. As chaves e os valores são separados pelos caracteres “=>”, que representam uma seta. Veja o exemplo:
O Ruby 1.9 suporta uma sintaxe ainda mais intuitiva e sucinta, muito parecida com objetos JSON.
Através da característica de tipagem dinâmica que o Ruby possui, é possível atribuir diferentes tipos de valores em um mesmo hash:
Claro que criar um hash com vários tipos nem sempre é uma boa alternativa. Procure manter uma coêrencia dos tipos dos valores que serão armazenados.
A maneira mais comum de iterar em elementos de um hash é através do método each. O primeiro parâmetro do bloco (key) recebe a chave e o segundo (value) o valor de cada elemento.
Iteradores somente para chaves ou somente para valores também estão disponíveis:
No Ruby on Rails, os parâmetros passados em requisições Web, independente do método HTTP utilizado, são convertidos para um hash e armazenados em uma variável chamada params que fica disponível nos controladores. Abaixo segue um exemplo de um controlador com uma ação payment que utiliza o hash params:
Uma boa prática na programação orientada a objetos é não criar métodos com uma grande lista de parâmetros. Por exemplo, na classe abaixo, o método calculate possui quatro parâmetros:
Uma solução para o exemplo acima seria agrupar alguns parâmetros em uma classe, preferencialmente de uma forma que faça sentido na sua lógica de negócio, onde os parâmetros viram seus atributos.
Mas em Ruby, para situações como essa, usamos um hash no lugar de uma classe que somente carrega dados.
Quando o último parâmetro de um método recebe um hash, podemos omitir as chaves que envolvem os pares chave/valor.
O uso de hashes como parâmetros aumenta a legibilidade do código, pois deixa explícito para quem lê o que significado dos mesmos, sem precisar olhar a definição do método para lembrar o que é cada parâmetro.
Desenvolvedor sênior na Locaweb, Fernando Hamasaki de Amorim atua em projetos utilizando Ruby e Rails. Pós-graduado em Tecnologias Web Fiap, trabalha desde 2000 com desenvolvimento web, onde já desenvolveu em várias plataformas e linguagens, como .NET, Java, JavaScript, PHP e ASP. Também foi palestrante do FISL e da RubyConf Brasil. Neste espaço, abordará temas envolvendo o desenvolvimento por meio da linguagem Ruby.
Blog Teste
Eric Ouchi
Teste
Diário de um Campuseiro
Rafael de Souza Mota
Diário de um campuseiro: abertura oficial da #CPBR13
Conscientização e Dicas de Segurança da Informação
Anderson Santana
Artigo: Proteção de Dados
Dirty & Ugly Web
Paulino Michelazzo
Caiu na rede
Internet Upgrade
Victor Maeda
Ataques DDos aos bancos brasileiros.