Cairo Noleto

RSpec Framework!

| Comments

RSpec é um framework para ajudar você desenvolvedor a ter sua aplicação coberta por testes e ainda esses testes definindo o comportamento da aplicação. RSpec é um framework para Desenvolvimento Guiado a Comportamentos.

O mais legal no RSpec é a sua DSL, que é bastante intuitiva e simples, por conta da metaprogramação de Ruby, a DSL do RSpec é bastante familiar e soa como o inglês :)

Outro ponto forte é a sua documentação que conta com muitos exemplos de como utilizar o framework.

Com o RSpec você pode descrever o comportamento a nível de aplicação e a nível de objeto. Pera ae?! Nível de aplicação!? Com o RSpec é possível sim!

Desenvolvimento Guiado a Comportamento é justamente isso, fazer com que você faça seus códigos seguindo o comportamento da aplicação, seguindo o negócio, validando se está tudo dentro do especificado e se está tudo está conforme as estorias dos usuários e os cenários em que a aplicação vai passar, simplificando o que você está escrevendo e mantendo uma consistência em todo o desenvolvimento.

Notícias rápidas

| Comments

Como ta sendo corrido para mim esses últimos dias e hoje consegui uma folguinha rápida, vou postar rapidamente aqui.

Primeiro queria me desculpar com vocês pela demora na postagem de novos artigos aqui no blog, a segunda coisa é que agora além de PHP, você vai ver mais coisas em Ruby e Rails aqui no blog e a terceira é que em breve tenho algumas novidades :P

Até a próxima!

PHP Rest Server

| Comments

Olá, hoje no blog da Lorna Jane saiu a terceira e ultima parte de como fazer um REST Server em PHP. Aqui você pode ver o primeiro, segundo e terceiro artigo.

Basicamente ele tem o mesmo comportamento do que um SOAP service. Ótimo guia para quem vem vendo com outros olhos RESTs services, principalmente quem trabalha com rails, que é simples e prático fazer seu REST service.

Até a próxima!

É realmente legal manter código legado?

| Comments

Eu lendo meu feeds hoje me deparo com um resumo da RailsConf Europe no blog do Pedro Pimentel. E um comentário dele foi sobre o keynote do David Heinemeier Hansson/. Ele falou sobre a importância de código legado.

Se pararmos para pensar, todos os códigos que você e eu escrevemos viram códigos legados em menos de 30 segundos! Claro, que com menos ou mais relevância. Códigos que você escreve para resolver seus problemas realmente viram legados assim que você resolve seus problemas.

Mas e aquele papo todo de refatoração e outras coisas pra ajudar a você a manter seu código o mais simples e objetivo.

Realmente faz toda a diferença, mas você aplica em seu código legado. Para mim, código legado é aquele que você parou de trabalhar e que só precisa agora de manutenção, que é praticamente TODO o código escrito.

Refatorar faz parte do negócio, e o mais legal é quando você ver como você era antes e agora. Você faz um comparativo rápido e vê o quanto você evoluiu e aprendeu nesse tempo todo.

Mas para chegar onde você chegou foi necessário muitas e muitas horas de estudo, dedicação, frustração e aprendizado, realmente ninguém faz as coisas da noite para o dia, e ninguém acerta de primeira.

Pergunto mais uma vez, é legal manter código legado?

Até a próxima!

Singleton pattern em PHP

| Comments

UPDATE: Alteração no código do Singleton

O Pattern Singleton é um design usado para restringir a criação de objetos e apenas utilizar uma quantidade exata de cada instancia.

Para que eu vou usar isso afinal? Diminuição no uso de memória, uso de apenas algumas conexões com um banco de dados, apenas um único objeto para toda a aplicação entre outros.

O framework CodeIgniter utiliza esse pattern para a criação de objetos, o Lumine utiliza essa pattern, eu utilizo esse pattern :P.

Exemplo de como fazer isso em PHP:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Singleton {
  private static $instance;
  private function Singleton() {
    // Your code here…
  }

  public static function getInstance() {
    if (!self::$instance instanceof self) {
      self::$instance = new self;
    }

    return self::$instance;
  }
}

UPDATE: Por que usar construtor privado? Se o construtor não for privado, você poderá fazer várias instancias assim quebrando o Singleton Pattern. Você não deve iniciar diretamente o objeto, deve fazer isso chamando o método estático getInstance().

Imagine agora as possibilidades ;)

Até a próxima!

E se você fizer sem paixão?

| Comments

Hoje o Vinícius da Improve It colocou um Receita do sucesso: fazer o que você ama explicando porquê ele deixou a consultoria de mão e começou a trabalhar produzindo seus próprios produtos.

E tudo se resume a uma só palavra, pequena, mas que faz todo o diferencial entre uma pessoa para outra:

PAIXÃO

Você pode desenvolver, você pode namorar, você pode ser pai, mas se não existir isso na sua vida, realmente nada faz sentido!

Mas e se você fizer sem paixão? Provavelmente as coisas não serão fáceis para você, e você terá muitos desafios e quase todos eles não trará satisfação e você será sempre uma pessoa frustrada. Se você já sabe sua paixão invista nela, faça acontecer se ainda não encontrou procure, quando menos você esperar estará fazendo as coisas por simples e pura paixão!

Até a próxima!

Por que os desenvolvedores PHP são preguiçosos?

| Comments

A comparação que eu faço é com Ruby, não sei das outras linguagens, mas por que os desenvolvedores PHP são tão preguiçosos?

Eu estou de saco cheio das listas PHP do Google Groups porque 98% das mensagens são sobre duvidas idiotas que em menos de cinco minutos da para se resolver em uma simples busca no Google.

Pior do que isso são as pessoas que só procuram um “scriptizinho”. Ninguém PENSA em como solucionar os problemas, mas pensam em usar um scriptzinho para tal.

#prontofalei

Materiais sobre Metodologias Ágeis

| Comments

Algumas pessoas entraram em contato comigo procurando materiais sobre metodologias Ágeis.

O material mais atualizado em português é o da Improve It. Você vai encontrar tudo relacionado ao XP e alguma coisa sobre Scrum. Outro lugar sobre XP é o Extreme Programming.

Sobre Scrum e tudo mais relacionado a Metodologias Ágeis, sugiro a leitura dos seguintes blogs:

Até a próxima!

Git Cheat Sheets

| Comments

Está muito aperreado com o Git? Aqui tem um Git Cheat Sheets, muito bom por sinal!

Desculpa por artigos curtos e rápidos, mas estou trabalhando a mil e fico sem tempo para procurar coisas interessantes para blogar :D

Eu aceito dicas sobre novos artigos por caironoleto at gmail dot com ;)

Até a próxima!