- 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: Alfredo Kojima
Visual Studio: Updating Intellisense
Se sua pressão aumenta toda vez que vê essa mensage no Visual Studio, é possível desabilitar totalmente essa funcionalidade: Vá em: C:\Program Files\Microsoft Visual Studio 8\VC\vcpackages ou equivalente na sua máquina e apague (ou renomeie para algo inócuo) o arquivo … Continue reading
Posted in Windows
Tagged feacp.dll, intellisense, msvc, Visual Studio, Windows
Comments Off on Visual Studio: Updating Intellisense
C++: hash_set, hash_map
Apesar dos templates para hash_set e hash_map não serem padronizados, ambos são relativamente comuns, estando disponíveis tanto na implementação GNU (ie, no GCC) quanto no Visual C++ no Windows. Existem algumas diferenças, como o namespace um pouco mais escondido no … Continue reading
C++: Ponteiro para métodos/funções sobrecarregadas
Para obter ponteiros a métodos ou funções sobrecarregadas, como exemplo: class Foo { public: void bla(int a); int bla() const; }; Se tentarmos usar o nome da função diretamente, o compilador não saberá a qual dos métodos você se refere. … Continue reading
C, C++: Funções com número variável de parâmetros (stdargs)
Palavras-chave: C, C++, varargs, argumentos variáveis Para escrever funções que aceitam quantidade variável de parâmetros, usa-se o mecanismo de stdargs do C. Para isso coloca-se “…” como último parâmetro na declaração da função e depois usa-se as funções de stdarg.h … Continue reading
Posted in C, CPP
6 Comments
C++: Pré-compilação de headers no gcc
Palavras-chave: C++, C, C#, precompiled header, prefix header, g++, lento Se seu programa em C++ demora séculos para compilar, considere usar um recurso do GCC 4 que acelera compilações de maneira bastante simples. Um dos motivo porque programas C++ demoram … Continue reading
C: Ler linhas de um arquivo texto de maneira portável
Palavras-chave: C, arquivo texto, linhas, leitura, getline Como dito num post anterior, a glibc possui uma função para ler linhas de comprimento arbitrário de um arquivo texto. Mas como esta função é especifica a glibc, alguns leitores pediram uma versão … Continue reading
Posted in C
12 Comments
Python: split() de palavras com "strings protegidas"
Palavras-chave: Python, split, tokenizacão, análise léxica, parser, strings, quotes, aspas O módulo re possui a conveniente função split(), que faz o mesmo que o split() dos strings, mas aceita expressões regulares como separador. Isto pode ser aproveitado para fazer um … Continue reading
Posted in Python
2 Comments
Python: UTF8 e SQLObject
Palavras-chave: Unicode, utf8, SQLObject, TurboGears, erro UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xc3 in position 50: ordinal not in range(128) Este erro pode ocorrer quando se tenta executar queries que envolvem caracteres Unicode (na query em si ou no resultado) … Continue reading
Posted in Python
Comments Off on Python: UTF8 e SQLObject
C: Linkagem estática não encontra funções
Palavras-chave: C, linkagem estática, undefined reference, referência indefinida Ao linkar programas que usam bibliotecas estáticas que por usa vez usam outras bibliotecas estáticas, pode ocorrer de o linker reclamar da falta de símbolos de uma das bibliotecas, apesar de eles … Continue reading
Posted in C
4 Comments
C: varargs com macros no gcc
Palavras-chave: C, gcc, cpp, macros, …, varargs, número de parâmetros variável, variadic macros Para escrever macros de função com número variável de argumentos: #define DPRINT(fmt, …) printf(“DEBUG: “fmt”\\n”, ## __VA_ARGS__) __VA_ARGS__ será substituído pelos parâmetros dados. E o ## entre … Continue reading
Posted in C
11 Comments
C++: undefined reference to `vtable for Classe'
Palavras-chave: C++, gcc, g++, erro, compilacão, linker, linking Na maioria dos casos, o erro undefined reference to `vtable for Class’ ocorre quando falta a definicão de algum método declarado na classe. Certifique-se que seu Makefile contém o arquivo com a … Continue reading
Posted in CPP
5 Comments
C++: Depurando exceções
Palavras-chave: exceções, gdb, depuração, debug exceptions, catch Ao depurarmos programas C++ o GDB costuma interromper a execução quando a exceção é pega (catch) ou já quando um signal é lançado e o programa é abortado. O problema é que esse … Continue reading
Posted in CPP
Comments Off on C++: Depurando exceções
Python: Iterar sob listas com índices
Palavras-chave: for, iteração, índice O for do Python é bastante conveniente para iterar listas, descartando a necessidade de variáveis de índice auxiliares. No entanto as vezes é necessário iterar uma lista e ter o índice de cada elemento além do … Continue reading
Posted in Python
2 Comments
C: Performance: percorrendo vetores de bytes
Palavras-chave: C, memória, otimização, arrays, vetores, bitmap, pixmap Ao se escrever código para manipulação de strings ou imagens, é comum percorrer grandes vetores de bytes. A maneira óbvia de fazer isto é algo no estilo de: char *ptr= buffer; for … Continue reading
Posted in C
8 Comments
C: Segmentation fault em programas OpenGL com multi-threading
Palavras-chave: OpenGL, Linux, multi-thread, drivers NVidia, crash, segmentation fault, segfault Se seu programa explode em uma função OpenGL sem nenhum motivo aparente, verifique se a chamada está sendo feita desde a thread onde a OpenGL foi inicializada. As bibliotecas que … Continue reading
Posted in C, Linux
2 Comments
C, C++: Transformar macros e identificadores em strings
Palavras-chave: C, C++, CPP, macro, string, identificador Para transformar o nome de um macro ou identificador em string: #define STR(s) #s Para transformar o valor de um macro ou identificador em string: #define STRV(s) STR(s) O seguinte exemplo ilustra a … Continue reading
Posted in C, CPP
3 Comments
C: Ler linhas de um arquivo texto
Palavras-chave: C, arquivo texto, fgets, linhas de comprimento arbitrário O método típico para se ler um arquivo texto linha a linha é usando a função fgets() com um buffer estático. O problema é que nem sempre sabemos qual será o … Continue reading
Posted in C
9 Comments
Python: Escapar caracteres especiais em HTML (entities)
Palavras-chave: HTML, escape, escapar, html_escape, htmlspecialchars, htmlentities Funcões rápidas para escapar e desescapar caracteres especiais HTML (<, & etc) from htmlentitydefs import codepoint2name as cp2nm, entitydefs as nm2cp import re def htmlescape(texto): return “”.join([cp2nm.has_key(ord(x)) and “&%s;”%cp2nm[ord(x)] or x for x … Continue reading
Posted in Python
5 Comments
Como embutir bibliotecas e frameworks em uma aplicação Cocoa
Palavras-chave: Mac, embed framework, dylib, Cocoa, deployment, XCode No OS X, bundles de aplicativos (as pastas .app) podem conter as bibliotecas dinâmicas e Frameworks que o programa usa. Assim sua aplicação passa a ser auto-contida: o usuário não precisa instalar … Continue reading
Posted in Mac
2 Comments