Python
Dev In Sampa
Nesse sábado, dia 28/11/2009 aconteceu aqui em São Paulo (obviamente!
) o Dev In Sampa! Um evento para desenvolvedores em geral, sem foco em uma determinada linguagem de programação, ou seja, um evento bem legal e pragmatico!
Perdi um pouco a hora, portanto não assisti o começo da palestra do José Valim, que por sinal é um assunto que muito me interessa, portanto recorri aos vídeos do @agaelebe para assistir o comecinho. Para quem quiser ver os vídeos confira no blip.tv do agaelebe.
Agora vamos para a programação e meus comentários:
José Valim – Tópicos de machine learning: classificação de textos
Como disse no começo do post, eu perdi o começo da palestra do Jose Valim por que eu me atrasei ( foi por um bom motivo ), mas compensei depois assistindo o vídeo.
A palestra foi muito boa, e abordou um dos tipos de tema que eu gosto, machine learning é bem interessante! Essa é uma das coisas que eu pretendo estudar só por diversão, por que parece ser bem legal.
O @josevalim fez sua tese sobre classificação de textos, portanto conhece bem do assunto e foi muito interessante ver as pesquisas dele consolidadas e simplificadas em uma apresentação.
Rodrigo Yoshima – Design de Software: As técnicas esquecidas…
O @rodrigoy fez uma palestra bem legal comentando sobre várias técnicas esquecidas sobre design de software, e muitos programadores que assistiram essa palestra devem ter se visto em várias situações por ele citadas ( eu fui um deles em alguns pontos ). Algumas das coisas citadas foram:
- Design incremental Nunca pense naquela história de “Preciso do pedido para poder fazer a tela de cadastro” sempre comece por aquilo que agrega mais valor. Faça as coisas sempre usando um pensamento incremental, criando testes para que quando você resolva um bug não crie mais outros por não saber as consequências de suas modificações. Sempre tomar cuidado com o design incremental para que ele não se torne um problema pelo mal crescimento da sua aplicação.
- Tomar cuidado com arquiteturas monolíticas / egípcias Arquiteturas difíceis de refatorar, que usam componentes pesados, quem ninguém sabe como foi feita e etc.
- Separar a função de cada unidade, não deixando que o produto tenha que saber sobre vendas, por exemplo.
- É melhor um design ruim com testes do que um design bom sem testes por que com testes você pode refatorar, agora sem testes a situação já muda bastante.
Entre outras coisas muito interessantes que eu não vou mencionar por que senão meu post vai ficar enorme, mas assista o vídeo e veja as dicas interessantes que ele dá.
Primeiro Coffee break para encontrar os amigos e bater papo! Tinha bastante gente do Guru-sp por lá ( @almeidaricardo, @shadow, @rafaelrosafu, @scalone, @bbcoimbra, @nelsonmhjr, @_bojak, @cassiomarques, @dcreq e mais um monte de gente! ), foi legal para bater um papo com os conhecidos.
Só para constar, o Ronaldp Ferraz (@rferraz) veio falar comigo sem crachá e sem cavanhaque, e eu obviamente não conheci, tinha que se apresentar formalmente ( ou seja, com cavanhaque! O @tinogomes já aprendeu! haha ).
Ronaldo Ferraz – Criando sua própria linguagem de programação
Palestra muito boa do @rferraz!
O assunto foi bem denso, mas bem interessante, ele mostrou alguns conceitos e informações interessantes sobre como criar e brincar com a sua própria linguagem de programação de uma maneira não tão difícil usando Treetop e Ruby.
Como muitos já sabem o Ronaldo tem conhecimento infinito em linguagens de programação, portanto a palestra foi bem legal com vários exemplos em várias linguagens.
João S. O. Bueno – Desenvolvimento de jogos com Python
Puxa vida…Essa palestra foi um grande 417 ( Código de retorno do HTTP para Expectation Failed ), por que como muitos sabem eu adoro desenvolvimento de jogos, e fiquei muito feliz por ver uma palestra desse segmento nesse evento. Outra coisa que me entusiasmou bastante foi o fato de ser com Python, que assim como Ruby é uma linguagem que eu gosto bastante, mas em outra palestra que eu tinha visto ( no CONISLI 2008 ) o palestrante não foi muito feliz com o conteúdo. Enfim, e fui com muita vontade de ver essa palestra.
No início da palestra quando falaram o nome do palestrante e eu o vi, percebi que parecia familiar, e por incrível que pareça…Era o mesmo do CONISLI 2008… Mas até aí tudo bem, agora o nível do pessoal é diferente e já se passou mais de 1 ano desde a ultima palestra, ou seja, essa prometia ser bem melhor.
Como puderam ver pelo começo do post, foi um grande engano meu, apesar de o palestrante falar que ia focar mais em jogos já que o pessoal já conhecia Python, ele ficou muito em Python e no finalzinho mostrou alguns joguinhos feitos em PyGame, como se a idéia da palestra fosse mostrar que Python é legal (que nós já sabemos!
) e dá para fazer jogos tambem.
Enfim…Me decepcionou…
Intervalo para almoço
O Almoço foi meio corrido por que o evento estava meio atrasado, mas mesmo assim deu para conversar bastante com a galera do Guru-sp no shopping ( não me pergunte qual ).
Guilherme Silveira e Adriano Almeida – Do REST ao RESTFul
Na volta do almoço tivemos uma palestra teórica sobre REST e RESTful, que por sinal abriu muito a mente sobre o assunto. Mesmo o assunto sendo teórico o Guilherme Silveira e o Adriano passaram muito bem a idéia e souberam conduzir bem a palestra para manter o conteúdo bem dinâmico.
Nando Vieira – Escrevendo testes no JavaScript
Aqui um assunto que vem me interessando cada vez mais, testes! E como eu sempre gostei de Javascript, a palestra foi bem relevante. Infelizmente o Nando Vieira não conseguiu mostrar todos os exemplos que ele tinha planejado, mas foi bem interessante ver o live coding, e as amostras de testes para determinadas coisas. Gostei bastante da syntax do JSpec, não sei como fica a integração dele com o prototype ( que é o que eu estou usando atualmente no trabalho, mesmo preferindo JQuery ), mas pretendo dar uma chance para ele assim que possível.
Luis Cipriani – Web em tempo real com Ruby e XMPP
Bem legal o case que o Cipriani mostrou sobre a sua aplicação da maratona de basquete, achei muito interessante as ferramentas que ele usou, e vi que ele soube passar bem as informações sobre o XMPP que foram necessárias.
Coffee-break
Agora sim um coffee break que deu um tempinho para conversar com uma outra galerinha como o @rferraz, a @narwen, o @fabiokung e mais outra galera.
Ricardo Almeida – Buscas poderosas com Solr
Estava curioso desde o ultimo post do @dcrec sobre o Solr, e a palestra do Ricardo foi o ponto para tirar as minhas dúvidas. Vi muitas vantagens do Solr sobre o Sphinx e nenhuma do Sphinx sobre o Solr, acho que vale a pena tentar uma migração num futuro não tão distante.
Radamés Ajna – Arduino – Computação Física
A palestra do Radamés foi demais! Além do Arduino ser fantástico, o Radamés soube apresentar muito bem, mesmo com alguns problemas nos slides ele mostrou muito bem algumas coisas legais que dá para fazer com o Arduino, sempre com exemplos muito interessantes de coisas que já fizeram ou que ele pretende fazer.
A interface para mexer com arduino realmente não parece ser tão complexa, e eu gostaria mesmo de ter algum conhecimento em eletronica nesses momentos, mas quem sabe algum dia eu tiro um tempinho para dar uma brincada.
Fabio Kung – Cloud Computing. E eu com isso?
Para fechar o evento tivemos uma palestra muito legal do Kung mostrando o que “ele acha” que é cloud computing, e os tipos de cloud computing que são oferecidos ( IaaS, PaaS e SaaS ). Ele mostrou como funciona e por que são usados os cloud computings atualmente, e como estão as experiencias dele com cluod computing atualmente. Achei a palestra bem legal, e é interessante ver as opiniões e experiências de alguem que realmente está vivendo essa parte de cloud computing.
Conclusão
O evento terminou bem atrasado ( mais de 20:00 ), mas valeu muito a pena ter ido. Há tempos estava sentindo falta de um evento que não levasse em consideração apenas uma linguagem de programação, algo que fosse mais pragmático mas que fosse totalmente voltado a desenvolvimento.
Parabens a todos os organizadores do evento e espero ver vocês novamente na próxima edição!
Há braços
Rails X Django
Æ!!
Como todos sabem eu sou do mundo Ruby/Rails ( Não sou xiita mas é o que mais gosto ) e de vez em quando começo a brincar com coisas diferentes para poder formar a minha própria opinião sobre o assunto. No mes de fevereiro me surgiu um projeto bem interessante para trabalhar, pessoas legais, oportunidade legal, bem interessante! O projeto seria feito em Python/Django, e achei bem interessante a idéia de poder comparar várias coisas do Rails com o Django.
Bem…Vamos as minhas comparações:
Pontos fortes
- Como primeiro argumento, e incontestável para mim, tenho que dizer que o admin do Django é muito legal! Você consegue fazer coisas bonitinhas e funcionais com uma facilidade espantosa! Sei que no Rails podemos fazer um scaffold ( ou até usar o ActiveScaffold, mas não é tão bom ) e criar facilmente um CRUD para mexer nos dados, mas isso não é um admin pronto, é apenas uma forma fácil de se manipular os dados. Penso eu que com o Rails seja mais facil de se criar um admin personalizado, com Design próprio, mas gostei bastante da solução a curto prazo do Django.
- Achei bem interessante como podemos fazer a divisão de trabalhos com o nosso HTML(er) / JavaScript(er), por que o Django dá pouquíssima liberdade para o template com relação a código, ou seja, você define na sua view as query’s que vão ser mandadas para o template e no template ele vai usar apenas o que você pode mandar, e não vai poder consultar ou fazer maiores alterações no conteúdo, portanto, quem deve cuidar de como o conteúdo vai chegar ao template são os programadores que vão enviar os dados para quem vai fazer a integração com o layout.
Pontos fracos
- Não encontrei uma padronização / centralização para os plugins do Django…Você encontra vários modos de instalação para determinados plugins, alguns vem com setup.py, outros falam para você jogar na pasta do Python. Não tem algo centralizado como as gems do Rails ou os próprios plugins para jogar na pasta vendor/plugins, ou usar um script/plugin install …
- Não cria uma estrutura de pastas, deixando que você faça o que bem entender com a estrutura, ao invés de usar uma convenção sobre configuração.
- Talvez seja a inexperiencia, mas eu não achei legal o que tivemos que fazer com o settings, pois cada um precisava colocar uma configuração diferente de diretórios de imagens, ou algumas configurações referentes aos plugins ( filebrowser no caso ), portanto cada um tinha que ter um settings.py diferente, informando o settings.py quando vamos executar alguma coisa.
- Não me acostumei muito bem com o esquema de indentação do Python…Não que seja ruim, mas como estavamos trabalhando em sistemas operacionais diferentes de vez em quando aparecia um indentation error por causa de conversões de tabs em espaços e tal. Sei que esse argumento vai ser facilmente contestado com um: “É só configurar o seu editor de texto” ou “usa um editor de texto multiplataforma”, mas mesmo assim…A idéia da indentação é legal, mas ainda me atrapalha um pouco.
Bem, é isso! Essas foram as minhas primeiras impressões do Django, como disse, não tinha experiência com o framework e muitas coisas poderiam ser evitadas mais facilmente, ou feitas de um modo bem melhor.
Continuo gostando bastante do Rails, mas achei muito legal várias idéias do Django, e acho que tem aplicações legais dependendo do projeto que você for usar.
Há braços
Search
Recent Posts
WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.
