SemtexGirl

É uma garota dinâmica e de bom gosto, uma garota que explode, que não para e nem aceita um não como resposta.

Archive for 2009

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3

Problemas com unicode?

Vá no diretório <python_home>/lib/python2.6/site-packages/ e crie um novo arquivo com o nome sitecustomize.py com o conteúdo abaixo:

import sys
sys.setdefaultencoding('utf-8')

Prontinho problema resolvido!

Twittar este post! Comments are off for this post

Compilando o PyActiveMQ + ActiveMQ-CPP no Mac OS X Leopard

Finalmente consegui compilar o PyActiveMQ + ActiveMQ-CPP no meu Mac. Uma boa parte do trabalho eu fiz via Mac Port, vou colocar o passo-a-passo abaixo para caso alguem precise fazer o mesmo.

Pré-requistos:

  • X11
  • Apple's Xcode Developer Tools
  • MacPorts 1.710
  • apr-util 1.3.8

Para saber o que você ja tem instalado basta utilizar o comando abaixo:

sudo port installed

1) Atualizando o port:

sudo port -v selfupdate

2) Instalando o python 2.6

sudo port install python26
sudo port install python_select
sudo python_select python26

3) Instalando o Boost com suporte para o Python26

sudo port install boost +python26

Dica importante... este processo demora um bocado... portanto de um volta, tome um café, leia algum blog e por ai vai.

4) Compilando o ActiveMQ-CPP

svn co https://svn.apache.org/repos/asf/activemq/activemq-cpp/tags/activemq-cpp-2.2.6 activemq-cpp-2.2.6
cd activemq-cpp-2.2.6
./autogen.sh
./configure --prefix=/opt/activemq-cpp
make
sudo make install

5) Compilando o PyActiveMQ

svn co http://pyactivemq.googlecode.com/svn/tags/pyactivemq-0.1.0 pyactivemq-0.1.0
cd pyactivemq-0.1.0

Abra o arquivo setup.py e faça as seguintes alterações:
de:

libraries = [
'libactivemq-cpp',
'apr-1',
'aprutil-1',
'apriconv-1',
'uuid',
'ws2_32',
'rpcrt4',
'mswsock',
'advapi32',
'shell32'
]

para:

libraries = [
'libactivemq-cpp',
'apr-1',
'aprutil-1',
'apriconv-1',
#'uuid',
'ws2_32',
'rpcrt4',
'mswsock',
'advapi32',
'shell32'
]

de:

include_dirs = [
'/opt/activemq-cpp-2.2.1/include/activemq-cpp-2.2.1'
]
libraries = [
'activemq-cpp',
'uuid',
'boost_python'
]
extra_compile_args = []
extra_link_args = [
'-Wl,-rpath,/opt/activemq-cpp-2.2.1/lib'
]

para:

include_dirs = [
'/opt/activemq-cpp/include/activemq-cpp-2.2.6',
'/opt/local/include'
]
libraries = [
'activemq-cpp',
#'uuid',
'boost_python-mt'
]
library_dirs = [
'/opt/activemq-cpp/lib'
]
extra_compile_args = []
extra_link_args = [
'-Wl,-rpath,/opt/activemq-cpp/lib'
]

python setup.py build
sudo python setup.py install

Twittar este post! 2 comments

Desejar trabalhar de forma ágil? Venha para a Globo.com!

A Globo.com continua crescendo, inovando e se transformando!

Devido a isso, estamos procurando por um Desenvolvedor (experiente e versátil) com sólidos conhecimentos teóricos de computação e capacidade de adaptação para integrar um de nossos times no GloboEsporte.com. Procuramos pessoas com espírito inovador, curiosidade, paixão por tecnologia e talento, que se empolgam com construir grandes softwares com grandes pessoas. Que acredite que ajudar a criar e distribuir um produto é importante. Nós também procuramos pessoas que pensam sobre o que nossos clientes gostariam de ter, que focam no sucesso do produto e do negócio e não se deixam levar em guerras religiosas sobre processos de desenvolvimento.

Hoje grande parte de nossos aplicativos são desenvolvidos em Java e Python, mas encorajamos o contato de desenvolvedores que dominem outras tecnologias de desenvolvimento web, pois apreciamos visões diferentes e diversidade de conhecimento e acreditamos que um bom desenvolvedor poderá estudar as tecnologias que utilizamos e dominá-las rapidamente.

Prezamos a colaboração e a constante busca pelo aperfeiçoamento.

Nossos Desenvolvedores devem ser capazes de:

  • Trabalhar em equipe e ouvir a equipe;
  • Colocar suas idéias e valores de maneira clara e objetiva;
  • Expor suas opniões com segurança e baseadas em fundamentos;
  • Desenvolver módulos para integração com serviços web;
  • Projetar e programar a aplicação em camadas visando modularização;
  • Elaborar as melhores estratégias de implementação para reduzir o custo de manutenção do produto;
  • Aprimorar o ambiente de desenvolvimento automatizando processos repetitivos;
  • Estimar o tempo de desenvolvimento das atividades;
  • Dividir as atividades (Visões do Cliente) em tarefas;
  • Escolher as tarefas para desenvolvimento;
  • Atualizar o status de suas atividades diariamente;
  • Participar das reuniões de planejamento de iteração e release, reviews e retrospectivas com os demais integrantes do time, clientes e usuários;
  • Desenvolver os produtos de software;
  • Elaborar a arquitetura e esquema lógico dos dados quando necessário;
  • Implementar testes de unidade, aceitação, integração;
  • Trabalhar com ferramentas para Gerência de Configuração de Software (ex.: SVN, GIT e várias outras SCM suites);
  • Refatorar constantemente para manter o código limpo;
  • Integrar freqüentemente com o repositório porém sem descuidar de requisitos mínimos como executar os testes;
  • Revisar o código:
    • Trabalhar em par;
    • Outro desenvolvedor faz uma revisão antes da integração.

É necessário ter experiência comprovada em:

  • Desenvolvimento multi-camadas usando tecnologias tais como EJB ou Hibernate;
  • Desenvolvimento de aplicações Java™ J2EE no ambiente da Web;
  • Implementação de testes unitários em JUnit e DBUnit;
  • Processos e Threads;
  • Redes;
  • Linguagens XML e SQL;
  • Ter sólidos conhecimentos de Engenharia de Software;
  • OO, MVC, Design Patterns;
  • Métodos e estratégias de depuração;
  • Um ou mais servidores de aplicação Java™: Tomcat, JBoss, Bea Weblogic e Jetty;
  • Bancos de dados: Oracle 9i/10g e MySQL.

É importante saber do que se trata e como funciona:

  • Subversion;
  • Git;
  • Test Driven Development (TDD);
  • SOA;
  • Web Services (SOAP, XML-RPC, REST);
  • Javascript, JQuery, Ajax, Template Engines;
  • CSS2, CSS3, HTML, DHTML e XSLT;
  • Scrum.

É desejável conhecer:

  • Linguagens de script (Shell Script, Perl...);
  • Linguagens dinâmicas, preferencialmente Python.

Nós da Globo.com, buscamos criar o melhor ambiente possível, pois acreditamos que o segredo do sucesso de um time está nas pessoas e não nas ferramentas. Por isso, adotamos o Manifesto Ágil e quaisquer idéias que promovam a melhoria dos processos para o desenvolvimento de software. Oferecemos contratação apenas no regime CLT, com salário de mercado e um bom plano de benefícios. Nosso escritório fica localizado na Barra da Tijuca na cidade do Rio de Janeiro e damos suporte a pessoas de outros estados que queiram se mudar. Se você se sente capaz de encarar este desafio, envie seu currículo para andreia at corp dot globo dot com, com o valor pretendido e uma breve descrição do seu interesse pela oportunidade e sua aptidão.

Twittar este post! Comments are off for this post