2790
Comentário:
|
5337
|
Deleções são marcadas assim. | Adições são marcadas assim. |
Linha 1: | Linha 1: |
Se você encontrou um erro do tipo "UnicodeEncodeError: 'ascii' codec can't encode character ?? in position 2: ordinal not in range(128)" e não sabe o que fazer, então está na hora de aprender um pouquinho sobre o Unicode. | ## page was renamed from Mais Durante o PyConBrasil 2008 serão oferecidos as seguintes atividades paralelas: |
Linha 3: | Linha 4: |
Neste mundo globalizado a idéia básica é que todo dado que seja "Texto" para ser compreendido tem que ter junto sua codificação. Uma cadeia de caracteres só é um texto se tiver uma codificação junto. Se você ler um texto (como um input de usuário) e não especificar a codificação, estará usando a default, provavelmente ASCII. Esta não tem acento nenhum e só define os 128 primeiros caracteres. Se aparecer o número 128 em alguma mensagem de erro é porque o ASCII está envolvido:-) | Mini-cursos * Criando Plug-ins em python para o GIMP * Introdução ao Python |
Linha 5: | Linha 8: |
A idéia básica de usar unicode é : | Tutorial * Coding Dojo Python |
Linha 7: | Linha 11: |
1. Você lê um dado codificado para seu programa e ao ler converte-o para unicode (decodifica ele). 2. Todo o processamento dentro do seu programa é feito com o texto em Unicode. 3. Na hora de exportar para um arquivo, tela ou transmitir, você tem que codificá-lo para o codec apropriado. |
Caso você tenha interesse em participar de algum dos mini-cursos ou do tutorial, edite esta página e coloque o seu nome em um dos espaços marcados como '''(livre)''' abaixo. São 25 vagas disponíveis para cada mini-curso e 40 vagas para o tutorial, onde o critério de seleção é a ordem de inscrição. |
Linha 11: | Linha 13: |
O problema em 3) é que se seu codec pode ter caracteres que não existem no codec para o qual vc está querendo resolver. A solução mais usada é sempre usar o codec UTF-8, que é compatível com o ASCII (os 128 primeiros caracteres são os mesmos) e suporta todos os carateres unicode. | No início dos treinamentos a lista de inscrição será conferida e caso tenhamos ausências, as vagas serão redistribuídas aos presentes no local. |
Linha 13: | Linha 15: |
Independentemente de como você lê os dados para seu programa, é preciso saber o codec em que ele vem e decodificá-lo: | A participação nas atividades é '''gratuita''', mas limitada pela ordem das pré-inscrições nesta página. |
Linha 15: | Linha 17: |
{{{ >>> inputUsuario = "João Ângelo" >>> inputUsuario.decode("iso8859-1") u'Jo\xe3o \xc2ngelo' >>> inputUnicode = inputUsuario.decode("iso-8859-1") >>> print inputUnicode.encode('iso8859-1') João Ângelo }}} |
|
Linha 24: | Linha 18: |
O que vc vai usar para decodificar o input do usuário vai depender do ambiente de entrada e saída de dados. Normamente o iso8859-1 ou o UTF8 vão resolver. Lembre-se que você tem que saber o codec de todo texto. | == Mini-curso de Introdução ao Python == '''Sábado, dia 20/09, das 09:00 às 12:00''', por LucianoRamalho |
Linha 26: | Linha 21: |
== O codec do seu código == | Aprenda Python de forma rápida. A idéia é passar pelo tutorial do Python, e quem sabe algumas partes do Diving Into Python dependendo do tempo alocado. |
Linha 28: | Linha 23: |
Com esta linha no início de seus programas: {{{# -*- coding: iso-8859-1 -*-}}} você está dizendo é o codec do texto do seu próprio código fonte, não do input do usuário. Já falei que para ser corretamente interpretado todo texto tem que ter um codec associado? Este é o codec do seu código fonte. Com isto você poderá ter strings hardcoded no seu código que serão interpretadas corretamente. |
Só pra lembrar o tutorial do Python é voltado pra quem já programa em alguma linguagem ou tem pelo menos os conceitos de programação estruturada e lógica, mas tirando isso não precisa ter conhecimento nenhum da linguagem. A parte a ser adicionada no treinamento são mais exercícios para fixação dos conteúdos. |
Linha 32: | Linha 25: |
Eis algumas boas referências (em inglês) sobre o assunto: | || '''Num''' || '''25 Vagas para participantes do PyConBrasil''' || || 1 || MauroCavalcanti || || 2 || Maurício Neves || || 3 || Eliezer Dutra Gonçalves || || 4 || Rodrigo Fonseca de Souza || || 5 || Alexander Barros da Silva || || 6 || Vitor Rodrigues Cavalcanti || || 7 || NiltonMoura || || 8 || Mara Dota || || 9 || Gabriela Couto Reis Cabral || || 10 || Felipe da Silva Ferreira || || 11 || Chaiana Layza do Nascimento Lima || || 12 || Claudio Delfino Machado || || 13 || Mauricio Nunes || || 14 || Marcelo Pontes Rodrigues || || 15 || (livre) || || 16 || (livre) || || 17 || (livre) || || 18 || (livre) || || 19 || (livre) || || 20 || (livre) || || 21 || (livre) || || 22 || (livre) || || 23 || (livre) || || 24 || (livre) || || 25 || (livre) || |
Linha 34: | Linha 52: |
All About Python and Unicode http://boodebr.org/main/python/all-about-python-and-unicode |
---- |
Linha 37: | Linha 54: |
Joel on Software - The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) http://www.joelonsoftware.com/articles/Unicode.html |
== Mini-Curso de Criando Plug-ins em Python para o GIMP == '''Sexta, dia 19/09, das 9:00 às 12:00''', por João Sebastião de Oliveira Bueno A possibilidade de criar plug-ins em Python para o GIMP existe há vários anos. Esse treinamento visa capacitar os alunos a entenderem como os scripts são organizados, do que são capazes e qual a API do GIMP disponível para plug-ins em Python. Ao final do mesmo, os alunos devem ser capazes de criarem seus próprios plug-ins para automatizar tarefas de edição de imagens, processar imagens em lote, ou criar padrões e efeitos programáticamente usando o GIMP. Além das aplicações práticas, é uma boa oportunidade para ver como Python pode ser usado em aplicações reais com o uso de poucas linhas de código. || '''Num''' || '''25 Vagas para participantes do PyConBrasil''' || || 1 || Alan Franco Rosa || || 2 || José Mário Neiva Brandão || || 3 || Mara Dota || || 4 || Gabriela Couto Reis Cabral || || 5 || Felipe da Silva Ferreira || || 6 || Chaiana Layza do Nascimento Lima || || 7 || (livre) || || 8 || (livre) || || 9 || (livre) || || 10 || (livre) || || 11 || (livre) || || 12 || (livre) || || 13 || (livre) || || 14 || (livre) || || 15 || (livre) || || 16 || (livre) || || 17 || (livre) || || 18 || (livre) || || 19 || (livre) || || 20 || (livre) || || 21 || (livre) || || 22 || (livre) || || 23 || (livre) || || 24 || (livre) || || 25 || (livre) || ---- == Coding Dojo Python == '''Sábado, dia 20/09, das 14:00 às 17:00''', por HugoCorbucci e a equipe [http://www.async.com.br/ Async Open Source] Um [http://www.codingdojo.org coding dojo] é uma sessão aberta onde o público participa em pares, ao vivo, codificando um software de escopo reduzido. Os pares trabalham por alguns minutos conectados a um projetor e discutem projeto e implementação à medida que avançam. Ao fim do tempo trocam-se os pares e o desafio continua! Nesta sessão faremos um coding dojo épico cobrindo 2 problemas: um em Python puro, e um usando infraestrutura gráfica. Tanto ninjas em Python quanto iniciantes se divertirão, e são igualmente bem-vindos. || '''Num''' || '''40 Vagas para participantes do PyConBrasil''' || || 1 || BrunoGola || || 2 || FelipeFerreriTonello || || 3 || RafaelZanella || || 4 || Ramiro Batista da Luz || || 5 || DouglasAndrade || || 6 || FlavioAmieiro || || 7 || Alexander Barros da Silva || || 8 || NiltonMoura || || 9 || (livre) || || 10 || (livre) || || 11 || (livre) || || 12 || (livre) || || 13 || (livre) || || 14 || (livre) || || 15 || (livre) || || 16 || (livre) || || 17 || (livre) || || 18 || (livre) || || 19 || (livre) || || 20 || (livre) || || 21 || (livre) || || 22 || (livre) || || 23 || (livre) || || 24 || (livre) || || 25 || (livre) || || 26 || (livre) || || 27 || (livre) || || 28 || (livre) || || 29 || (livre) || || 30 || (livre) || || 31 || (livre) || || 32 || (livre) || || 33 || (livre) || || 34 || (livre) || || 35 || (livre) || || 36 || (livre) || || 37 || (livre) || || 38 || (livre) || || 39 || (livre) || || 40 || (livre) || |
Durante o PyConBrasil 2008 serão oferecidos as seguintes atividades paralelas:
Mini-cursos
- Criando Plug-ins em python para o GIMP
- Introdução ao Python
Tutorial
- Coding Dojo Python
Caso você tenha interesse em participar de algum dos mini-cursos ou do tutorial, edite esta página e coloque o seu nome em um dos espaços marcados como (livre) abaixo. São 25 vagas disponíveis para cada mini-curso e 40 vagas para o tutorial, onde o critério de seleção é a ordem de inscrição.
No início dos treinamentos a lista de inscrição será conferida e caso tenhamos ausências, as vagas serão redistribuídas aos presentes no local.
A participação nas atividades é gratuita, mas limitada pela ordem das pré-inscrições nesta página.
Mini-curso de Introdução ao Python
Sábado, dia 20/09, das 09:00 às 12:00, por LucianoRamalho
Aprenda Python de forma rápida. A idéia é passar pelo tutorial do Python, e quem sabe algumas partes do Diving Into Python dependendo do tempo alocado.
Só pra lembrar o tutorial do Python é voltado pra quem já programa em alguma linguagem ou tem pelo menos os conceitos de programação estruturada e lógica, mas tirando isso não precisa ter conhecimento nenhum da linguagem. A parte a ser adicionada no treinamento são mais exercícios para fixação dos conteúdos.
Num |
25 Vagas para participantes do PyConBrasil |
1 |
|
2 |
Maurício Neves |
3 |
Eliezer Dutra Gonçalves |
4 |
Rodrigo Fonseca de Souza |
5 |
Alexander Barros da Silva |
6 |
Vitor Rodrigues Cavalcanti |
7 |
|
8 |
Mara Dota |
9 |
Gabriela Couto Reis Cabral |
10 |
Felipe da Silva Ferreira |
11 |
Chaiana Layza do Nascimento Lima |
12 |
Claudio Delfino Machado |
13 |
Mauricio Nunes |
14 |
Marcelo Pontes Rodrigues |
15 |
(livre) |
16 |
(livre) |
17 |
(livre) |
18 |
(livre) |
19 |
(livre) |
20 |
(livre) |
21 |
(livre) |
22 |
(livre) |
23 |
(livre) |
24 |
(livre) |
25 |
(livre) |
Mini-Curso de Criando Plug-ins em Python para o GIMP
Sexta, dia 19/09, das 9:00 às 12:00, por João Sebastião de Oliveira Bueno
A possibilidade de criar plug-ins em Python para o GIMP existe há vários anos. Esse treinamento visa capacitar os alunos a entenderem como os scripts são organizados, do que são capazes e qual a API do GIMP disponível para plug-ins em Python.
Ao final do mesmo, os alunos devem ser capazes de criarem seus próprios plug-ins para automatizar tarefas de edição de imagens, processar imagens em lote, ou criar padrões e efeitos programáticamente usando o GIMP. Além das aplicações práticas, é uma boa oportunidade para ver como Python pode ser usado em aplicações reais com o uso de poucas linhas de código.
Num |
25 Vagas para participantes do PyConBrasil |
1 |
Alan Franco Rosa |
2 |
José Mário Neiva Brandão |
3 |
Mara Dota |
4 |
Gabriela Couto Reis Cabral |
5 |
Felipe da Silva Ferreira |
6 |
Chaiana Layza do Nascimento Lima |
7 |
(livre) |
8 |
(livre) |
9 |
(livre) |
10 |
(livre) |
11 |
(livre) |
12 |
(livre) |
13 |
(livre) |
14 |
(livre) |
15 |
(livre) |
16 |
(livre) |
17 |
(livre) |
18 |
(livre) |
19 |
(livre) |
20 |
(livre) |
21 |
(livre) |
22 |
(livre) |
23 |
(livre) |
24 |
(livre) |
25 |
(livre) |
Coding Dojo Python
Sábado, dia 20/09, das 14:00 às 17:00, por HugoCorbucci e a equipe [http://www.async.com.br/ Async Open Source]
Um [http://www.codingdojo.org coding dojo] é uma sessão aberta onde o público participa em pares, ao vivo, codificando um software de escopo reduzido. Os pares trabalham por alguns minutos conectados a um projetor e discutem projeto e implementação à medida que avançam. Ao fim do tempo trocam-se os pares e o desafio continua!
Nesta sessão faremos um coding dojo épico cobrindo 2 problemas: um em Python puro, e um usando infraestrutura gráfica. Tanto ninjas em Python quanto iniciantes se divertirão, e são igualmente bem-vindos.
Num |
40 Vagas para participantes do PyConBrasil |
1 |
|
2 |
|
3 |
|
4 |
Ramiro Batista da Luz |
5 |
|
6 |
|
7 |
Alexander Barros da Silva |
8 |
|
9 |
(livre) |
10 |
(livre) |
11 |
(livre) |
12 |
(livre) |
13 |
(livre) |
14 |
(livre) |
15 |
(livre) |
16 |
(livre) |
17 |
(livre) |
18 |
(livre) |
19 |
(livre) |
20 |
(livre) |
21 |
(livre) |
22 |
(livre) |
23 |
(livre) |
24 |
(livre) |
25 |
(livre) |
26 |
(livre) |
27 |
(livre) |
28 |
(livre) |
29 |
(livre) |
30 |
(livre) |
31 |
(livre) |
32 |
(livre) |
33 |
(livre) |
34 |
(livre) |
35 |
(livre) |
36 |
(livre) |
37 |
(livre) |
38 |
(livre) |
39 |
(livre) |
40 |
(livre) |