21.08.2014

Categoria(s)
hacklab

Tag(s)
,

Ambiente de desenvolvimento Django


por Fabio Montefuscolo 0 comentários


O Django é um framework de desenvolvimento Web escrito em Python. Toda vez que começo um novo projeto em Django, eu sigo quase sempre as mesmas etapas. Algumas etapas são auxiliadas por outros programinhas bem bacanas que são o pip, o virtualenv e o virtualenvwrapper.

O pip é um gerenciador e instalador de pacotes Python.  Uso o pip para baixar as dependências dos meus projetos. Eu costumo guardar os nomes das dependência em um arquivo de texto, na raiz do projeto, para aqueles que forem instalar o projeto saberem o que devem instalar com o pip.

O virtualenv é uma ferramenta que permite isolar um ambiente Python. Para cada projeto, eu crio um ambiente Python e uso o pip para instalar as dependências do meu projeto nesse ambiente isolado.

O virtualenvwrapper é um facilitador de uso do virtualenv. Ele já define o lugar onde serão criados os ambientes isolados e provê alguns atalhos para ativar, desativar e apagar esses ambientes.

Instalação das ferramentas

Mostro a seguir como eu instalo o pip, virtualenv e virtualenvwrapper em minha estação de desenvolvimento.

Instalando do pip

Eu costumo instalar o pip através do gerenciador de pacotes do sistema operacional. Eu uso o Archlinux, então instalo da seguinte forma:

$ sudo pacman -S python-pip

Se a versão do pip que foi instalada é muito antiga, você pode usar o próprio pip para atualiza-la.

$ sudo pip install pip --upgrade

Instalando o virtualenv

No mesmo estilo acima, eu uso o gerenciador de pacotes do sistema operacional para instalar o virtualenv. Como eu uso o Archlinux, instalo da seguinte forma:

$ sudo pacman -S python-virtualenv

Dependendo do seu sistema operacional, alguns pacotes podem estar mais velhos do o que o desejado. Caso você desconfie disso, você pode instalar o virtualenv através do pip.

$ sudo pip install virtualenv

Instalando o virtualenvwrapper

Da mesma forma que os pacotes acima, eu uso o gerenciador de pacotes do Archlinux para instalar o virtualenvwrapper.

$ sudo pacman -S python-virtualenvwrapper

Só que esse pacote precisa de um passo a mais, que é para carregá-lo automaticamente quando você faz login em um terminal. Para isso tente:

$ echo 'source /usr/bin/virtualenvwrapper.sh' >> ~/.bashrc

Criação de um projeto com um novo ambiente python

Meu ponto de partida agora é a pasta ~/devel, onde eu guardo todos os meus projetos.

Criando o virtualenv

Eu acho importante ser explícito em relação a versão de Python que vou usar. O Archlinux tem o python na versão 3 por padrão. No caso abaixo, quero criar um ambiente isolado com python 2.

$  mkvirtualenv meu_novo_projeto -p /usr/bin/python2

Instalando o Django

Depois que você ativa o virtualenv, seu shell ganha o prefixo com o nome do projeto que você deu, no caso ‘meu_novo_projeto’. Tendo isso, vamos instalar o Django.

(meu_novo_projeto)$ pip install django

Tá demorando né? Sim, o pip é um bocado demorado pra baixar as coisas. Como lição de casa, procure no Google por PIP_DOWNLOAD_CACHE.

Começando o projeto com o Django

Legal, temos o Django instalado no nosso ambiente, agora vamos começar nosso projeto, com o mesmo nome do ambiente que criamos, só pra sermos organizados.

(meu_novo_projeto)$ django-admin startproject meu_novo_projeto

Vamos iniciar o Django pra saber se tudo deu certo.

(meu_novo_projeto)$ cd meu_novo_projeto
(meu_novo_projeto)$ ./manage.py syncdb --noinput
(meu_novo_projeot)$ ./manage.py runserver

Agora veja em seu navegador no endereço http://localhost:8000. Se estiver vendo a telinha inicial do Django, tudo deu certo.

Referências

  • https://docs.djangoproject.com/en/1.6/
  • https://pip.pypa.io/en/latest/installing.html#using-package-managers
  • http://virtualenvwrapper.readthedocs.org/en/latest/

17.05.2014

Categoria(s)
hacklab, Software Livre

Tag(s)
, , , , ,

Palestra sobre o WP-CLI no WordCamp BH 2014


por rodrigo 0 comentários


Hoje dei uma palestra sobre o WP-CLI no WordCamp Belo Horizonte 2014.

O WP-CLI é um conjunto de ferramentas para gerenciar o WordPress na linha de comando.

A apresentação foi muito parecida com a que dei ano passado no WordCamp São Paulo. Fiz algumas pequenas modificações nos slides e publiquei eles no link abaixo:

http://rodrigoprimo.github.io/wp-cli-wordcamp-bh-2014/


22.11.2013

Categoria(s)
hacklab, Software Livre

Tag(s)
, , , , ,

Palestra sobre o WP-CLI no WordCamp São Paulo 2013


por rodrigo 0 comentários


Amanhã vou dar uma palestra sobre o WP-CLI no WordCamp São Paulo 2013.

O WP-CLI é um conjunto de ferramentas para gerenciar o WordPress na linha de comando.

Segue abaixo o link para os slides que fiz para a apresentação:

http://rodrigoprimo.github.io/wp-cli-presentation/


22.08.2013

Categoria(s)
Notícias

Tag(s)
,

Apresentação do MOD no Rio de Janeiro


por rodrigo 0 comentários


Na próxima quinta-feira, dia 29/08, vai acontecer a primeira apresentação do MOD no Rio de Janeiro. Será no estúdio Audio Rebel em Botafogo. Todos estão convidados para experimentar a pedaleira digital. Se quiserem tragam seus instrumentos.

MOD

Onde: Audio Rebel – Rua Visconde de Silva, 55, Botafogo Quando: Dia 29/08 das 18h às 21h

Para mais informações vejam a página do evento no Facebook.


21.08.2013

Categoria(s)
Comunidade, Software Livre

Tag(s)

Outro relato do WordCamp San Francisco 2013


por Cátia Kitahara 2 comentários


Como o Rodrigo reportou em outro post, o Hacklab esteve presente no WordCamp San Francisco. Gostamos bastante da experiência e voltamos bastante empolgados com a experiência. Além da oportunidade de assistir boas palestras, conversamos e conhecemos bastante pessoas interessantes, trocamos ideias com core developers, conhecemos a sede da Automattic, que é um espaço muito bacana, e também codamos e contribuímos com o WordPress, como não poderia deixar de ser.

[ Leia mais ]


Relato do WordCamp San Francisco 2013


por rodrigo 0 comentários


Na última semana de julho, eu, Leo e Catia fomos, representando o Hacklab, para San Francisco para participar do WordCamp San Francisco 2013, o maior evento da comunidade do WordPress. Foi uma ótima oportunidade para conhecer alguns dos desenvolvedores da Automatic e saber quais são os planos para o futuro do projeto e da comunidade.

Os dois primeiros dias do evento foram dedicados a palestras dividas em duas trilhas. A primeira tinha como público alvo desenvolvedores e designers e a segunda usuários e empreendedores. O terceiro e último dia foi reservado para o Contributor Day, onde os interessados tem a oportunidade de contribuir diretamente com o WordPress.

Saguão de entrada do WordCamp San Francisco 2013

Saguão de entrada do WordCamp San Francisco 2013

Do primeiro dia destaco as palestras Confident Commits, Delightful Deploys do Mark Jaquith (slides) e a Writing Code as User Experience Design do Nikolay Bachiyski.

A palestra do Mark Jaquith tratou de boas práticas para todos os desenvolvedores e sysadmins que trabalham com WordPress, em especial na hora de publicar uma nova versão do código. Ele reforçou algumas coisas que já deveriam ser senso comum (e que infelizmente ainda não são), como o uso de um sistema de controle de versão. Também citou algumas ferramentas que facilitam bastante o fluxo de trabalho como o WP Stack ou o Capistrano-WP para fazer deploys, Puppet ou Chef que são ferramentas para o gerenciamento das configurações dos servidores e, por fim, o Vagrant para criar um ambiente de desenvolvimento semelhante ao servidor onde o site está publicado.

Na palestra do  Nikolay Bachiyski, ele explorou o que os desenvolvedores podem aprender da experiência de quem estuda user experience designConsiderando que um desenvolvedor passa mais de 70% do seu tempo de trabalho lendo código e não escrevendo, quando criamos código temos que nos preocupar com a experiência do usuário, que neste caso serão os outros desenvolvedores que terão contato com ele. Além de sugerir algumas boas práticas para criação de código, ele mostrou alguns vídeos da tela e cara de alguns desenvolvedores enquanto estes criavam uma página usando a Settings API do WP.

Já do segundo dia destaco as palestras Three Security Issues You Thought You’d Fixed do Mike Adams e a Magical WordPress Management using WP-CLI do Mike Schroder (slides).

No último dia teve ainda o State of the Word 2013 do Matt Mullenweg. Nele o fundador do WordPress falou do crescimento do software que agora representa 18,9% de todo o conteúdo da web (ano passado era 16,7%), do uso crescente a partir de plataformas móveis e de um novo modelo de desenvolvimento para o core. A ideia é implementar ciclos mais curtos de release com o lançamento das versões 3.7 e 3.8 ainda esse ano e organizar os desenvolvedores do core em pequenos times que trabalhem em plugins. Quando um plugin estiver pronto ele é incorporado ao código principal. Este novo modelo já está sendo testado com o desenvolvimento da nova interface para o admin.

No Contributor Day trabalhei na automatização dos testes unitários do core do WordPress utilizando o Travis CI junto com o Bryan Petty e com a ajuda do Nikolai Bachiyski. Criamos um fork do repositório do WordPress no github e nele configuramos o serviço de integração continua que pode ser visto neste link. Nas próximas semanas o Andrew Nacin deve integrar o que fizemos no repositório do WordPress.

Contributor Day no novo escritório da Automattic

Contributor Day no novo escritório da Automattic

O arquivo de configuração que criamos para o Travis CI pode ser visto neste link. Ele roda os testes do WP usando PHP 5.2, 5.3 e 5.4 e para cada uma dessas versões com o modo multisite habilitado ou desabilitado. Por enquanto, o Travis só é chamado quando há um commit no core e não quando há um commit no repositório de testes. O próprio Nacin disse que a intenção é juntar os dois num único repositório.

Uma vez com a integração dos testes do WordPress com o Travis CI funcionando partimos para resolver os testes que estavam falhando. Conseguimos resolver cerca de dez testes, não deu tempo de resolver apenas um que foi resolvido uns dias depois. Após o WordCamp descobrimos mais três testes que falham quando executados com o PHP 5.2. Estes ainda estão pendentes e podem ser vistos na página do repositório no Travis CI.


18.07.2013

Categoria(s)
hacklab

Tag(s)

Sed – como apagar linhas?


por Fabio Montefuscolo 4 comentários


sed é uma ferramenta GNU para tratamento de textos. É possível fazer operações sobre arquivos textuais e saídas de outros programas. Para usar o sed é recomendável saber um pouco de expressões regulares para encontrar padrões, mas é possível usá-lo com simples strings.

Para as experiências a seguir, será usado um arquivo texto com alguns nomes de pessoas, chamada nomes.txt, que contém dois nomes por linha. As alterações feitas pelo sed não persistem no arquivo sem a opção -i, então o mesmo arquivo será usado para todos os comandos.

[~] cat > nomes.txt <<- DONE
Guilherme Sofia
Gustavo Maria
Lucas Beatriz
Enzo Camila
Vinicius Amanda
Joao Bruna
Eduardo Isabela
Bruno Ana
DONE

 Apagar linhas

Em um script para o sed a letra d significa a deleção de uma linha.

Apagar a linha número 2

[~] sed -e '2d' nomes.txt
Guilherme Sofia
Lucas Beatriz
Enzo Camila
Vinicius Amanda
Joao Bruna
Eduardo Isabela
Bruno Ana

Apagar da linha 1 até a linha 3 (inclusive)

[~] sed -e '1,3d' nomes.txt
Enzo Camila
Vinicius Amanda
Joao Bruna
Eduardo Isabela
Bruno Ana

Apagar da linha 3 (inclusive) até o fim do arquivo

[~] sed -e '3,$ d' nomes.txt
Guilherme Sofia
Gustavo Maria

Apagar linhas com o primeiro nome terminando em o

Padrões no sed devem ficar entre duas barras /.

[~] sed -e '/^\w\w*o /d' nomes.txt
Guilherme Sofia
Lucas Beatriz
Vinicius Amanda

Apagar da linha que começa com Lucas até a linha que termina com Amanda

[~] sed -e '/^Lucas/,/Amanda$/d' nomes.txt
Guilherme Sofia
Gustavo Maria
Joao Bruna
Eduardo Isabela
Bruno Ana

Apagar a linha que termina com Beatriz e também a próxima linha

É possível realizar mais de um comando para o mesmo padrão que o sed encontrou no texto de entrada. Os comandos ficam entre chaves. O comando N seleciona a linha seguinte junto a linha do padrão encontrado para serem apagadas pelo comando d.

[~] sed -e '/Beatriz$/{ N; d }' nomes.txt
Guilherme Sofia
Gustavo Maria
Vinicius Amanda
Joao Bruna
Eduardo Isabela
Bruno Ana

Referências


16.05.2013

Categoria(s)
Comunidade, hacklab, Notícias

Tag(s)
,

Entrevista no Code Poet


por Cátia Kitahara 0 comentários


Eu fui entrevistada pelo Michael Pick no site Code Poet, especializado em WordPress.

Entre outras coisas falo sobre minha participação na comunidade de WordPress, do nosso trabalho aqui no Hacklab e do projeto Catraca Livre.

Confira a entrevista aqui: http://build.codepoet.com/2013/05/16/catia-kitahara-interview/


16.05.2013

Categoria(s)
Comunidade, Software Livre

Tag(s)
,

Aniversário de 10 anos do WordPress


por Cátia Kitahara 0 comentários


Dia 27 de maio é aniversário do WordPress, são 10 anos de estrada de um dos mais populares softwares livres do mundo. A festa é mundial, mas estamos planejando a nossa em São Paulo, aqui no Hacklab, rua Tanabi, 74 às 19h, tragam bebidas e comidas.

Precisa ter nome na lista de confirmação pelo site: http://www.meetup.com/WordPress/Sao-Paulo/

Distribuiremos adesivos e sortearemos camisetas do Code Poet. Se atingirmos 50 pessoas, talvez consigamos mais brindes comemorativos.


29.04.2013

Categoria(s)
Comunidade

Tag(s)

Meetup de WordPress no Hacklab


por Cátia Kitahara 1 comentário


Nesta sexta-feira, dia 03 de maio vamos fazer um Meetup de WordPress aqui no Hacklab, a partir das 19h.  Os temas sugeridos são:

  • Novidades da versão 3.6
  • MP6
  • Desenvolvimento de plugins no Brasil
  • WordPress como um framework para apps

Para participar , confirme pelo endereço http://www.meetup.com/wordpressbr/events/116789492/ É gratuito.

O Hacklab fica na Rua Tanabi, 74 em Perdizes.

Meetups são encontros regulares de usuários de WordPress para trocar idéias e experiências, ou até mesmo para assistir pequenas apresentações. O formato é livre. O Fabio Fiss inicou um grupo aqui em São Paulo que já se reuniu três vezes. Hoje conta 59 membros. Participe também!