Bem vindos!

Olá, estou iniciando esse blog sobre desenvolvimento web, utilizando python e django, e a partir de hoje quero passar um pouco do conhecimento que adquiri ao longo dessa jornada. Espero contribuir e aprender cada vez mais.

O sistema operacional.

Sempre fui um apaixonado por software livre, desde meu colégio técnico, aprendi a gostar e a utilizar o Linux. Hoje, não vivo sem! Já passei por várias distros, dentre elas: Debian, Ubuntu, Sabayon, um pouco de Slackware, por algumas vezes tentei instalar o Gentoo mas sem sucesso; ainda não consegui dominar essa distro, mas tudo ao seu tempo.

Atualmente estou utilizando o ElementaryOS, uma distro baseada no Ubuntu que me deixou bem a vontade, possui um visual muito bom, e facilidades no ambiente desktop bem legais. Por ser baseado no Ubuntu e claro no Debian, possui a poderosa ferramenta de gerenciamento de pacotes, Aptitude que facilita e muito a nossa vida, sem falar na quantidade absurda de pacotes feitos pela comunidade Linux.

Abaixo deixarei uma lista para quem deseja conhecer um pouco mais sobre o ElementaryOS e algumas dicas e tutoriais que ja utilizei em meu S.O.

Continuando o artigo, para montar um ambiente de desenvolvimento para web, com foco em Python e Django, recomendo fortemente a utilização de uma distro Linux. Escolha uma que você sinta-se bem em usa-la, que te facilite a vida e não lhe de "probleminhas" corriqueiros que te atrapalhariam.

ZSH

Por padrão o Linux vem com o Bash instalado. Mas eu sempre quis incrementar o meu shell sem ter que fazer configurações absurdas no shell.

Foi então que conheci o projeto oh-my-zsh. Ele é bem legal tem diversas funcionalidades que ajudam no dia-a-dia e deixa o terminal bem bonito.

Veja os temas que o oh-my-zsh, utiliza!

Terminal

O terminal pode ser qualquer um, ate mesmo os que ja vem instalados pela sua distribuição.

Hoje, optei pelo Guake. O interessante dele, é que a qualquer momento posso apertar F10, tecla que configurei, e abrir o terminal para digitar comandos do sistema (aptitude, git, python manage.py ...) ou abrir meu editor de textos vim.

Abaixo segue alguns links e referências para este terminal.

Ide ou editor de textos?

Essa é uma discussão longa e que muitos iniciantes em programação possui dúvidas simplesmente por querer ter um facilitador na sua aprendizagem.

Bom se você for iniciantes, entenda que, não existe a IDE ou editor de textos perfeito. Essa é uma necessidade e aprendizagem que você irá adquirir com o tempo e aquela IDE ou editor de texto que você se sentir mais confortável será a sua favorita.

Na minha jornada de desenvolvimento ja utilizei NetBeans, PyCharm, Sublime Text 2 e atualmente utilizo o VIM.

Dentre a lista citada acima, a que estou curtindo programar é o VIM. Graças a um amigo Igor Leroy do trabalho, conheci o quão poderoso esse editor de textos nativo do linux pode se tornar.

Não vou me aprofundar muito nesse post, sobre o VIM, mas gostaria que vocês conhecessem o projeto do Igor Leroy para bombar o Vim. Em breve, irei fazer um artigo, abordado todas as funcionalidades e macetes do VIM. Aguardem (:

Bom como foi dito acima, a escolha de uma IDE ou editor de texto é particular para cada desenvolvedor. Aconselho a ir testando cada uma até se sentir completamente a vontade.

Abaixo segue uma recomendação da lista Python Brasil, com relação a lista de IDES para Python.

Sistema de Controle de versão.

Tenho somente uma palavra: GIT.

Hoje, GIT se tornou bem popular e é amplamente utilizado para versionar códigos. Existem outros SCM como o Mercurial e o SVN, porém não me aprofundei neles.

Vou deixar aqui uma lista com alguns materiais sobre GIT, para complementar seus estudos.

Instalando o Git

Nos exemplos abaixo utilizarei o Debian como sistema operacional, e o aptitude como gerenciador de pacotes.

sudo aptitude install git git-core

Criando o seu .gitconfig

Não se esqueçam de configurar o arquivo .gitconfig, que deve ser colocado dentro do seu diretório $HOME.

Veja abaixo o arquivo que utilizo.

[user]
       name = Seu nome aqui
       email = Seu email aqui

[core]
    editor = 'vim'

[branch]
    autosetuprebase = always

[color]
    ui = true

[color "branch"]
    current = yellow black
    local = yellow
    remote = magenta

[color "diff"]
    meta = yellow bold
    frag = magenta bold
    old = red reverse
    new = green reverse
    whitespace = white reverse

[color "status"]
    added = yellow
    changed = green
    untracked = cyan reverse
    branch = magenta

[pretty]
    graph = format:%Cblue%h%d%Creset%20%s

[alias]
    st = !GIT_PAGER= git status
    ci = commit
    br = branch
    co = checkout
    lp = log -p
    ll = log --graph --pretty=format:%Cblue%h%d%Creset%x20%s
    la = log --graph --pretty=format:%Cblue%h%d%Creset%x20%s --all
    ls = ls-files

Banco de Dados.

Para o desenvolvimento e produção utilizo o Postgresql. É um ótimo banco de dados e intuitivo.

Ha o pgadmin3 como plataforma gráfica que te auxilia na manutenção do SGBD, criação de tabelas, usuários, e outros.

Considerações finais.

Acima coloquei o básico que utilizo em meu ambiente de trabalho e em casa. Espero que este post de introdução ao blog cumpra o seu objetivo e ajude a esclarecer algumas dúvidas.

No post seguinte, vou explicar como é meu ambiente python.

Espero que gostem. =)