- 			ATENÇÃO: Este site está aposentado.
 Não receberá posts nem comentários novos. Para ler dicas mais recentes, vá no Stack Overflow.
- Livros da equipe do CODARE  
 Expressões Regulares
 Uma Abordagem Divertida
 de Aurelio Marinho Jargas  
 Shell Script Profissional
 de Aurelio Marinho Jargas  
 PHP-GTK
 de Pablo Dall'Oglio  
 PHP Programando com Orientação a Objetos
 de Pablo Dall'Oglio  
 Ruby: Conhecendo a Linguagem
 de Eustáquio Rangel (TaQ)
Author Archives: Osvaldo Santana
Python: Pegadinhas com += e list.extend()
Palavras-chave: Python, pegadinhas, gotchas, pitfalls, listas, extends Em Python o operador de soma e atribuição += pode ser usado na forma “a += 1” que tem o mesmo significado que a expressão “a = a + 1“. Até aí nada … Continue reading
									
						Posted in Python					
					
												2 Comments
							
		Python: Singleton
Palavras-chave: Python, Design Patterns, Padrões de Projeto, OOP, POO Um Singleton é um dos padrões de projeto descrito no famoso livro “Design Patterns” escrito pela GoF (Gang of Four) e o seu funcionamento é bastante simples: uma classe é chamada … Continue reading
									
						Posted in Python					
					
												6 Comments
							
		Python: Cópia "rasa" de listas
Palavras-chave: Python, listas, cópia, objetos Em Python as variáveis não armazenam os objetos quando atribuímos um valor à elas. Ao invés disso uma variável em Python guarda apenas uma referência para o objeto em questão. Uma prova disto pode ser … Continue reading
									
						Posted in Python					
					
												6 Comments
							
		Python: Desligando o prompt de comandos no Windows
Palavras-chave: Python, command prompt, prompt de comandos, prompt, DOS, Windows Quando executamos um programa “.py” no Windows uma janela de prompt irá aparecer automaticamente para que as eventuais saídas de texto do seu programa sejam enviadas para lá. Mas essa … Continue reading
Python: Fazer switch/case com dicionários
Palavras-chave: Python, dicionários, switch, case Algumas pessoas reclamam de que Python não possui uma instrução switch/case, que permite executar trechos de código dependendo do valor de uma determinada variável. Python realmente não disponibiliza essa funcionalidade, mas podemos simulá-la utilizando funções … Continue reading
									
						Posted in Python					
					
												5 Comments
							
		Python: Listagem com cores alternadas (zebra)
Palavras-chave: Python, listagem, cores, zebrado, zebra list Em aplicações Web é bastante comum exibir grandes listagens em uma página. Para facilitar a leitura dessas listagens, quase sempre utilizamos do artifício de alternar as cores de fundo das linhas exibidas. O … Continue reading
									
						Posted in Python					
					
												2 Comments
							
		Python: Evitando o excesso de "or" em condicionais
Palavras-chave: Python, or, in, if, while, condicional, pythonico Quem está começando no mundo do desenvolvimento Python e não conhece muito a linguagem, costuma criar cláusulas condicionais muito longas utilizando o operador “or”: if a == “foo” or a == “bar” … Continue reading
Python: Documentação e testes
Palavras-chave: testes, unittest, docstring, documentação, testes unitários, rest, docutils Todo desenvolvedor sabe que fazer testes é superimportante e que fazer documentação também é algo que melhora a qualidade de seus produtos. Mas num primeiro momento, fazer testes é trabalhoso e … Continue reading
Python: Descobrir qual o diretório do usuário
Palavras-chave: userdir, home, homedrive, homepath, arquivo de configuração Frequentemente precisamos guardar preferências do usuário de nossos programas em algum arquivo de configuração. Em ambientes UNIX/Linux a prática diz que esses arquivos devem ser guardados dentro do diretório $HOME e de … Continue reading
Python: Imprimir mensagens de erro (stderr)
Palavras-chave: print, stdin, stdout, stderr, erro, dispositivos, entrada/saída Quando estamos fazendo um programa que roda na linha de comando e precisamos fazer com que esse programa imprima uma mensagem de erro ou alerta, é aconselhável enviar essa mensagem para a … Continue reading
									
						Posted in Python					
					
												Comments Off on Python: Imprimir mensagens de erro (stderr)
							
		Python: Criando pacotes e módulos
Palavras-chave: pacote, módulo, import Criar um módulo em Python é extremamente simples. Basta apenas criar um arquivo .py dentro de algum diretório listado em sys.path. Alguns desenvolvedores também gostariam de fazer pacotes com módulos em Python. Esses pacotes permitiriam que … Continue reading
									
						Posted in Python					
					
												7 Comments
							
		Python: Rastreando chamadas de funções
Palavras-chave: debug, depuração, trace, decorators Essa dica veio de um amigo meu (Ulysses) e foi enviada para a lista de discussões PythonBrasil. É muito comum precisar rastrear as chamadas de funções que ocorrem dentro dos programas, para facilitar nossa vida … Continue reading
									
						Posted in Python					
					
												Comments Off on Python: Rastreando chamadas de funções
							
		Python: Importando módulos errados
Palavras-chave: erro, debug, módulos Se acontecer de, durante o desenvolvimento, você dar um import em um módulo Python e por alguma razão inexplicável o módulo que você importou não funciona ou funciona como se fosse uma versão antiga verifique o … Continue reading
Python: Formatar strings com dicionários (template)
Palavras-chave: strings, formatação, template, dicionário Muitos programadores certamente sabem que a linguagem Python nos permite formatar strings usando os caracteres de formatação comuns à linguagem C. O que talvez poucos saibam é que existe uma “extensão” ao padrão C que … Continue reading
									
						Posted in Python					
					
												Comments Off on Python: Formatar strings com dicionários (template)
							
		Python: Concatenação eficiente de strings
Palavras-chave: strings, otimização, concatenação Em Python as strings são imutáveis e por essa razão, quando concatenamos duas delas usando o operador “+” um novo objeto do tipo string é criado e os objetos originais perdem as suas referências. Se não … Continue reading
									
						Posted in Python					
					
												3 Comments
							
		Python: Código de depuração (debug)
Palavras-chave: debug, depuração, otimização Quando estamos desenvolvendo um programa é muito comum ter que colocar código de depuração nele para facilitar nosso trabalho. Ao mesmo tempo esse tipo de código não deveria ser executado nas mãos de nossos clientes. Alguns … Continue reading
									
						Posted in Python					
					
												Comments Off on Python: Código de depuração (debug)
							
		