Vídeo sobre a visão da Nokia em 2015



Olá pessoal, encontrei este vídeo postado no blog NPossibilidades , onde mostra a visão da Nokia no ano de 2015. De acordo com suas previsões, ela pretende traze o seus telefones mais próximo das nuvens, isto é,  troca de dados entre o telefone e serviços nas web.




Como eu falei no meu último post, imaginem a possibilidade de ter um assistente virtual no seu aparelho que monitora todas as suas atividades e te alerta ou recomenda ou busca informações de acordo com suas necessidades e logicamente tudo sobre contexto com informações provenientes do próprio aparelho: contatos, tarefas, e-mails, localização, etc.   De acordo com a Nokia tudo isso será convergido por meio de um serviço na web que armazenará todo esse conteúdo importante para o usuário e trará o mesmo em formato personalizado.

Pois é pessoal, minha visão é compartilhada com a Nokia, mas vou mais adiante será em diversos aparelhos de diversos fabricantes. Surgirão uma novo nicho de aparelhos inteligentes  que irão aprender com o tempo de uso do usuário. Eles irão permitir novas experiências conectando usuários através da web.  Imagino que no futuro haverá um sistema flexível que se adaptará às preferências do usuários onde ele ficará conectado a milhões de usuários (uma grande rede de conteúdo), ou seja acessar conteúdo instantaneamente que lhe realmente  interessa. E conectar pessoas a coisas que lhe interessam é o que faz eles realmente aproveitar o máximo de cada momento.

Atenciosamente,

Marcel


Olá pessoal,

Estive lendo alguns blogs sobre geo-localização e serviços móveis e acabei encontrando um post muito interessante no site TechCrunch  do Robert Scoble (um popular reporter nos EUA). Ele fala sobre a experiência atual com sistemas de localização e comentar suas previsões para 2012 sobre este cenário.

Eu gostaria de replicar estas informações e adicionar alguns comentários em especial relacionados ao nosso cenário brasileiro.  Atualmente,  estamos sofrendo da era de silos da informação.  O que seriam silos da informação ?  Cada vez mais novos serviços web estão aparecendo, porém nenhum deles se comunicam entre si a fim de permitir a oferta de serviços personalizados para o nosso dia-a-dia.  Ou seja, os serviços hoje são como uma caixa-preta onde os dados ficam expostos por meio de uma API (sim ainda há uma comunicação), mas não há uma interligação entre  um serviço de uma empresa A com um serviço de uma empresa B.  
 Vou dar um exemplo real:  Hoje temos o Twitter que é uma das maiores redes sociais em formato microblog do mundo e temos o maior sistema popular de localização-móvel em formato de rede social o Foursquare. Ambas hoje estão permitindo que você possa geo-referenciar o seus posts ou geo-referenciar aonde você está (por meio de check-ins).  Entretanto, cada serviço tem a sua maneira, a sua base de dados individual com tais informações. Ou seja, eu terei que localizar o lugar no twitter (Se este estiver cadastrado lá) e depois lançar o post geo-referenciado e torcer para que no Foursquare, ele tenha o mesmo nome (ou também esteja cadastrado) e aí poder dar finalmente o check-in no Foursquare. Entendem o problema?  Duas bases de dados com as mesmas informações únicas geo-referenciáveis do mesmo local.  São verdadeiros silos de informação. E isto prejudica a todos usuários e até estas empresas que tornam serviços de localização móvel um empecilho para a adoção massiva desses serviços. E logicamente se quisermos sair desta era onde serviços web são como silos e partir para verdadeiras coleções (mashups) de informação útil é necessário uma maior integração.

Silos de Informação: Nossa Web hoje!

No Brasil, a cenário é ainda um pouco mais complicado. Digo isso porque ainda é exorbitante o preço para um simples usuário por meio do seu telefone poder acessar a internet, isso associado ao fato de  ele tenha que saber que tem GPS no seu aparelho ou até saber como usar.  Estou sendo um pouco radical, mas eu falo da maioria da população.  É lógico que temos vários grupos de usuários que tem acesso a toda essa tecnologia, e é o que está movimentando o mercado brasileiro de aplicativos móveis.  Mas esse post vai além disso, o que irei transcrever aqui agora o que pode ser no Brasil em um futuro não distante.
O codinome para esta aplicação fícticia batizo de projeto Caranguejo (em homenagem aos animais tipicamente brasileiros encontrados em especial no litoral brasileiro).

Imagem do Aplicativo Siri
"Estou em janeiro de 2012 e estou com meu novo aparelho celular Android 3.0 que comprei pela operadora X com 3G  ilimitado.  Eu entrarei de férias no meu trabalho e tenho uma viagem hoje mais tarde e preciso pegar coisas na lavanderia e uma reunião de emergência com um colega para entrega de alguns trabalhos.  Abro meu telefone e acesso o aplicativo instalado no meu aparelho 'Caranguejo'. Este aplicativo é uma mão na roda para mim, praticamente minha secretária eletrônica direto do meu aparelho, ou como chamo na linguagem científica: Meu assistente móvel virtual personalizado.  

Assim que aciono o aplicativo, ele já começa a me enviar alertas me lembrando da reunião com o meu colega por meio da integração com  o Google Agenda e que preciso pegar coisas na lavanderia  (atividade) por meio dos alertas do Remember the Milk . Claro e ainda consulto se o vôo  de mais tarde está tudo ok por meio de uma integração nova do Caranguejo com as informações dos vôos por todo Brasil por meio da  Infraero em tempo real.  Ok, após checado tudo, é hora de fazer a primeira atividade do dia, ir até a lavanderia. Assim que saio de casa, o Caranguejo (sabendo onde estou já por meio da integração do Foursquare e por meio da minha agenda) já me envia um alerta: 'Eu vi que você já saiu de Marcel's house, você poderia me avisar para aonde você está indo ?'  O Caranguejo já vem integrado com a funcionalidade voz-para-texto, então eu digo ao meu telefone: 'Eu irei para lavanderia MIX pegar minhas roupas.' Isto faz com que o Caranguejo automaticamente abra uma pequena caixa com o nome do local, telefone, endereço e um pequeno mapa com a posição da lavanderia marcada. Ele pergunta: 'Você está indo para aí ?'  Eu respondo: 'Sim'.  Ele automaticamente já abre um pequena caixa com minha posição atual e como faço para chegar até lá por meio da integração com o Google Maps. Ele pergunta: 'Você irá de carro, de ônibus ou à pé ?'  Dessa vez como a lavanderia é perto, decido ir de ônibus. Ele já se comunica com o serviço do ÔnibusRecife e já me traz informações do ônibus, paradas e onde tenho que descer e o custo da passagem. Após chegar ao local,  o Caranguejo já faz o check-in no Foursquare do local automaticamente. Após pegar tudo,  me bate uma fome e decido tomar um cafézinho, mas para onde ir ?  Ou melhor, será que tem uma cafeteria por aqui perto ?  Pego meu telefone e já aciono o Caranguejo: 'Eu gostaria de uma cafeteria por aqui perto'.  O Caranguejo já sabendo onde estou por meio das APIs do Foursquare e do Google Latitude e por meio de uma pesquisa em serviços parceiros como Guia da Veja , ObaOba, Kekanto; começa a processar  a lista de recomendações e compara um a  um  o meu histórico no Foursquare e Reviews do mesmo e também com minha posição atual. Esse cruzamento de informações em tempo real, resulta em o o sitema me falando: 'Encontrei 1 Cafeteria São Braz há 12 km daí e o Café Delta há 8 km daí. '  (Já sabendo que frequentei muito mês passado a cafeteria São Braz e também que marquei excelente o serviço do café Delta), e ainda  continua: 'Se você deseja tentar outra opção do que suas 2 escolhas comuns ou  se você precisa de alguma opção diferente, me avise'.  Eu já vendo o relógio, penso que vai ser difícil chegar a tempo na reunião, então desisto de ir para a cafeteria. Café vai ficar para outra hora!
Mais uma vez o Caranguejo lança um alerta:  'Hoje você tem uma reunião hoje de meio dia com Ricardo, faltam 1 hora.'.  Eita não posso esquecer desta reunião, volto para casa e já começo a me trocar. Assim que saio o Caranguejo me pergunta: 'Você ainda vai ter a reunião com Ricardo no Sppetus à 12:00 pm ?'  Eu respondo: 'Sim'.  Diretamente o Caranguejo já consulta sites de reviews do restaurante (Kekanto, Google Maps e VejaRestaurantes) e me avisa que é um excelente restaurante e bastante refinado. O Caranguejo já me dá o telefone do local (infelizmente ainda não há uma API para reservas via celular) e eu disco já confirmando minha reserva. Eu também coloco um uma roupa mais sofisticada e parto de carro para o restaurante.Assim que parto, mais uma vez o Caranguejo confirma para onde estou indo e que transporte irei tomar e já consulta a API do trânsito do Recife para me informar que eu não devo pegar a avenida Agamenon Magalhães (parte da rota informada pelo Google Maps) e já me dá outra rota alternativa e que vai demorar 40 minutos para chegar. Quando estou no carro aparece 3 mensagens no Caranguejo com alguns amigos postando via Twitter  me perguntando se eu irei mais tarde para o cinemar ver o filme 'Homem de Ferro 2'. Já mando um reply via caranguejo pro voz avisando que não poderei comparecer, pois viajarei.  Não esquecer também que o Caranguejo já consultou minha agenda telefônica e já mandou um SMS para o Ricardo avisando que estou à caminho.

Chegando no local e mais uma vez o Caranguejo já marcando no Foursquare o Sppetus, ele me avisa: 'Há 45 pessoas que estão por aqui e 2 deles são seus amigos' (Ele já consultou o número de usuários no Foursquare  e também já procurou por amigos que deram check-in naquele momento). Vejo pelos detetalhes que um deles é o Ricardo. Ele já chegou!  Depois de conversarmos sobre projetos e trabalho, volto para casa.

Há algumas horas do vôo, o sistema me avisa que o vôo está próximo de chegar em Recife (Já consultando informações da Infraero).  Já me direciono ao Caranguejo e pergunto: 'Gostaria de pegar um táxi para o aeroporto'. O  Caranguejo já busca em páginas web sobre possíveis empresas de táxi e me dá um conjunto de opções para escolha. Decido a  'fast' que oferece o pagamento mediante cartão de crédito. Já ligo e agendo o táxi! 

Chegando no aeroporto, o Caranguejo já me informa que o vôo que irei pegar embarca as 18:30. Me envia já o meu código de embarque que armazenei no meu Remember the Milk. Faço check-in mas ainda dá tempo para tomar um cafézinho, mais uma vez Caranguejo já me dando as melhores opções, e me alertando que se eu for na Cafeteria Doce Nordestino e der um check-in lá  ganho 15% de desconto no café  ou tenho a opção de ir à Cafeteria Dengoso que por meio do ZIPME  se eu comprar um voucher por meio de compra coletiva, ganho 20% de desconto.  Decido ir ao Dengoso  e depois de tomar um cappuccino adiciono um review para este novo restaurante que o Caranguejo me informou dando 5 estrelas com o comentário: Excelente cappuccino! .

Eita o meu vôo! Antes de partir meu Caranguejo informa que alguns amigos já me deram boa viagem via Twitter e eu mando postar no Twitter :  'Partindo para São Paulo!'.  É hora de desligar o caranguejo e o aparelho, ansioso porque ele vai ser extremamente importante  em São Paulo, onde é um mundo desconhecido para mim!'

Pois é pessoal, este é apenas um depoimento de um cenário hipotético no futuro de um aplicativo que toma a forma de um assistente pessoal virtual inteligente direto do meu telefone. Logicamente hoje isso seria inviável ainda porque grande parte desses serviços mencionados acima não oferecem APIs de acesso, e quando oferecem funcionam como SILOS totalmente isolados um do outro. 

É preciso que a informação seja ubíqua ou seja compartilhada. Os serviços precisam estar em comunicação e cientes uma das outras.  Se eu vou à algum lugar aciona serviços como Foursquare, Twitter e serviços de mapa como Google Maps e informações de trânsito de sites locais.  Este cenário ainda está longe de existir, em especial no Brasil onde as informações ainda estão brutas em páginas HTML.

Percebi que menos de 10% das empresas mencionadas acima oferecem uma API para acesso dos seus dados, que seria um belo início. Ainda não temos aplicativos inteligentes que funcionem como agentes que me alerte, recomende e que mantenha minha rede de contatos sempre disponível. 

Sim, estou falando de um agente onisciente rodando em meu aparelho celular.  O Caranguejo, o único em qualquer lugar à sua disposição.
Ah, antes de finalizar este post dêem uma olhada neste projeto  e neste vídeo. Entendem agora porque no Brasil estamos ainda longe para atingirmos isso ?!






Pois é , acabei de lembrar que preciso dar um check-in no Foursquare que estou em casa e ainda consultar minha agenda no Google Agenda para saber meus compromissos de amanhã.

Viva a Web 2.0!

PS: Agradecimentos especiais ao amigo Ricardo Caspirro, por discutirmos e amadurecermos sobre esses projetos a desenvolver.

Como adicionar auto-complete com interpretador Python

Olá pessoal,

Encontrei essa excelente dica no blog do Brunno Gomes e não deixei de postar!

Para os desenvolvedores Python que precisam da funcionalidade de auto-completar e infelizmente ainda desconheciam como ter isso direto do seu interpretador Python, agora os problemas acabaram!

Vejam abaixo como fazer:

Ao abrir o shell interativo do Python (digitar "python" no terminal), rode os comandos:

1import readline
2import rlcompleter
3readline.parse_and_bind("tab: complete")


Agora é só usar o TAB sem dó para completar os comandos, e é muito útil para descobrir coisas novas também.

Por exemplo digitando "de" e apertando TAB ele mostra as opções:
1def del delattr(       


E se você por acaso não conhecia o "delattr()" pode começar a pesquisar e ver que ele é útil para você.

Valeu Brunno pela excelente dica!!!

Fonte: http://brunno.net/

Idéias para futuros projetos mobile - Post comemorativo 800!

 Olá pessoal,

Para comemorar o octingentésimo post do meu blog (800 posts), decidi postar umas das minhas recentes idéias que tive durante momentos de reflexão. Este post retorna uma série de posts em 2006 que postei com várias idéias para projetos mobile.

Problema: Um dos maiores problemas que hoje enfrentamos em Recife e grandes centros pelas metropóles no Brasil é a falta de estacionamento público, em especial, localizada em famosas "zonas azuis".  Vamos para um caso real: o Recife Antigo, sede do maior parque tecnológico de Pernambuco. Lá atualmente, para quem procura um estacionamento pelas ruas do Recife, sofre para encontrar uma vaga em aberto, e isso piora, quando chegamos em horários de pico como no meio da manhã ou no meio da tarde. A busca acaba em diversas rodadas de carro pelo Recife Antigo até achar uma vaga. O que isso custa ? Tempo para o motorista que perde tempo até achar uma vaga disponível,  Combustível para o automóvel até encontrar a vaga e finalmente para o meio ambiente a poluição, o quanto é dispensado se essa busca é feita diariamente por centenas de carros, o quanto de poluição é dispensada.

Solução: A minha solução proposta é o uso de um aplicativo que acompanhe o usuário desde a sua chegada até o estacionamento e a sua saída do estacionamento.  Nada mais coerente, do que usar o próprio celular do motorista como plataforma-alvo deste aplicativo. Além de ter hoje capacidades suficientes para processamento, eles vêm com sistemas de localização como GPS e acesso à web como 3G e futuramente WIFI (de acordo com o governo do estado de PE).

A minha proposta é desenvolver um aplicativo  móvel que consulta uma webservice REST. Esta permitirá que o usuário possa encontrar rapidamente vagas livres em tempo real. A idéia inicial é ter uma tela com um mapa o qual o usuário mediante uso do GPS que vá consultando automaticamente num raio de X metros ao redor do aparelho (veículo) possíveis vagas em aberto. Assim que estacionar, ele poderia fazer um check-in, ou seja a vaga deixa de aparecer para outros usuários do sistema. Uma opção também é que mesmo que a pessoa que estacione deixe de fazer o check-in na vaga, isto é, ocupa a vaga,  o sistema tem um timer que após 20 min por exemplo, a vaga em aberto deixa de aparecer. As vagas existentes livres são marcadas por um marcador o qual são coloridas como um mapa de calor (vaga mais recente -> vermelho escuro , vaga menos recente até timeout -> vermelho bem claro). Isso permitiria que o usuário pudesse avaliar no mapa as vagas mais recentes ou arriscar pelas vagas menos recentes.  A pessoa  também pode marcar novos lugares em abertos, por exemplo, a pessoa saiu do estacionamento deixando a vaga livre, ela pega o aparelho e marca como 'livre' aquela vaga (check-out).

Logicamente, quanto mais pessoas usarem a aplicação mais vagas aparecerão e o sistema será mais eficiente na localização de vagas livres em estacionamentos públicos nas cidades. Sim, e qual a vantagem de um usuário avisar que está saindo ? Pensei em um sistema de recompensa, como pontos de recompensa que são acumulados à medida que você encontra novos lugares disponíveis.

Esse sistema de recompensa pode ser usado futuramentem algum modelo de negócios para recompensar os usuários. Mas, a priori poderiamos ter uma lista dos top usuários que mais interagiram com sistema, inclusive tendo pequenos badges (insigneas) para estimulo de marcacao de novos lugares.
O modelo de negócios não é ainda definido, mas penso em um futuro próximo uma parceria com a zona azul por exemplo, para facilitar esse sistema rotativo, por inclusão de alertas para o usuário quando o tempo está próximo de expirar ( 5h , 2h , etc).  Por exemplo, a localizacao de vagas, inclusive podendo integrar algum servico futuro de zona azul automático sem uso do papel ou até uso de propagandas junto à aplicação. Não está ainda muito bem definido.

Com certeza, um tipo de aplicação que pode ser exportada em moldes de modelo mundial, não apenas em Recife e capitais brasileiras. 

Logicamente, é um ponto de partida, deixo aberto a discussão sobre a viabilidade desse pequeno projeto. Outra coisa a se definir é se há interesse dos usuários em marcar tais lugares ou se há aparelhos com acesso internet e tecnologia para viabilidade e popularidade desse aplicativo ? É importante frisar que é um sistema colaborativo, onde é essencial a participação do usuário na alimentação de dados no sistema.

Talvez eu construa este projeto mais como um protótipo para estudos sobre serviços REST  e webservices. Quem quiser conversar e trocar idéias, fiquem à vontade para postar comentários abaixo.

Batizo o codinome deste projeto como: Socialnamento.  ( O estacionamento agora é social!)

Atenciosamente,

Marcel Caraciolo
Olá pessoal,

Este post é resultado de um experimento rápido que eu realizei nestas semanas sobre uma curiosidade que me alimentava há um certo tempo: " É possível desenvolver com Python na plataforma Android ?"
E a ótima notícia é que sim, é possível!  Eu estava brincando com meu N900 da Nokia que vem com o Maemo OS e este tem  suporte total ao Python nativo. Mas, é difícil no mercado brasileiro você comprar um N900, especialmente depois que a Nokia divulgou o seu preço oficial que fica acima da faixa de R$ 1000 reais.  E ultimamente tenho visto uma tendência positiva de aparelhos embarcados com a plataforma Android da Google e  suportada por fabricantes bastante populares no mercado brasileiro como a Motorola, Samsung, HTC, LG, etc. Como sou um fã da linguagem Python e pelas suas particularidades que fazem desta linguagem ser uma ferramenta para construção rápida de aplicativos, fiquei curioso para saber se o Android suportava desenvolvimento com Python.

Mas calma, nem tantas alegrias! De fato a plataforma oficial de desenvolvimento para o Android é a linguagem Java e que permite total integração com o sistema operacional e consequentemente a construção de aplicativos completos que possuam GUI e ao mesmo tempo instaláveis. Por enquanto assim como Python e outras linguagens de script é necessário que você instale um interpretador runtime para o Android e assim você poderá rodar seus scripts Python.  De acordo com alguns forums que venho acompanhado, parece que há uma movimentação no Google para tornar possível a construção de aplicativos completos com linguagens de script como Python, inclusive disponibilizando-os via a loja virtual Android Market.

Agora que sabemos que é possível desenvolver pequenos aplicativos Python no Android, vamos para a próxima etapa que é como e por onde começamos a desenvolver.  A resposta para esta pergunta está no projeto extra-oficial android-scripting (ASE).

Este projeto apresentado oficialmente em meados de 2009 agora conhecido como SL4A (Scripting Layer for Android) trouxe ao sistema Android o suporte a linguagens baseado em scripts como Python, Perl, JRuby, Lua, JavaScript, Tcl, e até o Shell. De acordo com o wiki do projeto, ele pode ser executado via terminal ou em background.

Tela de Edição do ASE

Existem 2 maneiras de instalar o interpretador e executá-lo: Por meio de um aparelho que tenha o sistema operacional Android ou pelo uso do emulador. Neste tutorial focarei na instalação no emulador, pois mesmo você não tendo um aparelho em mãos pode já começar a escrever códigos Python para executar no emulador e no futuro com seu aparelho em mãos vê-los em tempo real.  Deixo claro que nem todas funcionalidades estarão ativas por meio do emulador como conexão bluetooth, speech-to-text, câmera e outras funcionalidades avançadas. Você pode ter mais detalhes sobre o emulador no site oficial do Android.

Vamos ao passo - a - passo (neste tutorial foi usado o sistema operacional Mac OS 10.5)

1 - Instalar o Android SDK

Por meio deste post (existem diversos pela internet (Windows)) eu consegui instalar o SDK do Android (neste tutorial a última versão era a 2.2).  Com apenas o passo 2: Download the Android SDK,  já é possível ter o emulador pronto para uso.

2 - Configurar o Android Virtual Device (AVD)


O próximo passo é criar uma dispositivo virtual (AVD), com este é possível simular o dispositivo  com a versão do Android desejado. Para isso navego até a pasta onde eu extraí o android sdk:
  • /android-sdk-mac_86/tools  (meu caso no Mac)
  • C:\android-sdk-windows\tools\android.bat  (possível no Windows)
Executo o comando:

         ./android   (no Mac OS) ,  C:\android-sdk-windows\tools\android.bat (no Windows).

Crio um novo AVD, nomeado 'ASE_test', conforme a imagem abaixo:




Selecione o AVD criado e clique no botão 'Start..'


3 - Instalação do ASE (Android Scripting Enviroment)

Você pode instalar por via console, baixando os pacotes no seu browser e depois instalando mediante comandos no console (ver este link) ou você pode fazer toda a instalação dentro do próprio emulador! Muito mais fácil, pois o Google permite instalar aplicativos no seu emulador como se fosse um dispositivo real! Para facilitar esta a visualização desta etapa, preparei um vídeo passo-a-passo ilustrando a instalação completa e inclusive como editar e executar scripts python com o ASE no emulador Android (serve também no dispositivo móvel).



Running Python on Android OS Emulator from Marcel Caraciolo on Vimeo.


O que está acontecendo por baixo ? Para simplicar, o ASE provê  uma classe facade (fachada) que permite a integração via API por meio JSON RPC que funciona como um proxy. Assim funcionalidades nativas podem ser acessadas por meio desta fachada em interpretadores como Python e Lua. Claro que estas devem estar encapsuladas pelas classes AndroidFacade e AndroidProxy que de acordo com os autores do projeto são simples de extender.

4- Só programar e se divertir!

Pronto pessoal, vocês podem ter agora o Python rodando no seu emulador ou até no seu aparelho (os mesmos passos podem ser feitos em um dispositivo real). No emulador, embora limitado, já dá uma prévia do que é capaz a plataforma Android que abrange milhares aparelhos de diversas fabricantes. Vale ficar de olho nela, em especial no Brasil!  Pode tomar o lugar da Nokia na categoria Smartphones, se a Nokia não acelerar seu desenvolvimento com o MeeGo.

Há mais informações no site oficial do projeto do ASE-Android  e se quiser acompanhar a lista de dicussão do mesmo, também se encontra neste link.

Espero ter ajudado a todos a conhecerem mais uma plataforma que Python está presente: A plataforma Android da Google!

Até a próxima,

Atenciosamente,

Marcel Caraciolo

Olá pessoal,


Este sábado participei do  V Encontro do Usuários de Python de Pernambuco (PUG-PE), onde ministrei uma mini-palestra introdutória sobre padrões de projeto com a linguagem de programação Python. Na verdade, essa palestra foi extremamente introdutória e apenas um pontapé inicial para abrirmos dicussões sobre esse tópico tão recorrente especialmente em desenvolvimento de software.

Nesta palestra falei um pouco sobre os conceitos básicos de OO como Herança (IS-A), Composição (HAS-A) e Encapsulamento.  A principal discussão ficou sobre o comando property de python que permite criar um mecanismo de encaspulamento em cima de atributos declarados em Python, visto ue os mesmos ao ser declarados são públicos. Ou seja, não há modificadores de acesso em Python. Esse comando permite você associar getters/setters (métodos) ao seu atributo que ao fazer operações de leitura e escrita sobre o mesmo,  tais métodos são chamados automaticamente.

Com isso, o famos problema dos cursos de programação com OO com o exemplo do Saldo da Conta Bancária pode ser sanado. Saldo negativo jamais! hehe

Um exemplo de fone de ouvido foi utilizado para ilustrar esse exemplo e se encontra disponível nos slides no link abaixo.





O Encontro foi muito bom e tiveram ótimas palestras envolvendo Reconhecimento de Gestos, Twitter com Python, Iron Python e minha palestra sobre padrões de projeto. Parabenizar a todos presentes e envolvidos, e rumo ao VI Encontro do PUG-PE!!

Um resumo de todo o encontro pode ser encontrado neste link inclusive com os slides para download das outras apresentações.

Atenciosamente,

Marcel
top