thegoodfellas/blogset-br huggingface dataset:
chamar essa rotina (funcao, metodo, modulo...) que eu nem escrevi ainda. Para conhecer a complexidade, eu faco perguntas como: - Estou passando muitos parametros para essa rotina? - E simples montar esses parametros? - O nome que estou dando a ela representa claramente o que ela devera fazer? - A resposta que espero dela esta simples de ser entendida e tratada nesse contexto?Nessa etapa eu analiso o que eu vou desenvolver e faco o meu melhor para deixar a chamada e o retorno dessa rotina o mais simples possivel. Essa e a parte do "outside". Cada uma dessas perguntas apontam para possives problemas na elaboracao da rotina. Por exemplo, se a lista de parametros e grande, talvez ela tenha muita responsabilidade e dividi-la em partes menores pode ajudar.Depois do teste escrito com o criterio de pronto eu ja posso comecar a escrever a solucao; na parte "in". Eu ja conheco os parametros que a rotina espera receber e o que ela precisara responder. Agora preciso codificar para entregar a resposta. Mas, sera que vou precisar da ajuda de algum outro componente? Esse componente ja existe? Se preciso criar esse componente ajudante, estou na parte "outside" dele e preciso escrever um (ou mais) teste(s) para ele. O ciclo recomeca a partir dai ate que a resposta esperada pelo primeiro teste escrito seja atendida. Quando isso acontece, todos os componentes que precisaram juntar-se em uma forca-tarefa ja estarao mapeados, escritos e testados.Nao, nao e magica. E fruto de muito esforco e disciplina. Leva tempo. Voce perde produtividade no inicio. Da vontade de desistir um monte de vezes, mas evita problemas serios. E como tentar escalar um paredao. Fincar os grampos, dar os nos corretos, prender nos lugares certos... Tudo isso adia o inicio da sua escalada. Nem e a escalada. Mas garante que voce vai chegar la em cima e conseguir voltar para casa. Sem esse procedimento de seguranca voce comecaria a subir mais rapido, mas os riscos seriam altissimos.Finalizando, e por causa de todo esse processo que TDD ajuda a escrever programas mais simples e de forma mais segura. Porque voce vai ter certeza de responder as perguntas certas. Nada mais; nada menos.
estoque do produto, se essa quantidade esta dentro dos limites minimo e maximo para aquele produto.Com essa sentenca acima, o cliente disse varias coisas:1. Precisa haver uma funcionalidade para "consultar estoque do produto".1. Nessa funcionalidade ele quer ver a quantidade em estoque do produto informado.1. O usuario precisa informar o produto para o estoque ser mostrado, obviamente.1. Ele tambem quer ver, de alguma forma, se a quantidade em estoque esta dentro dos limites permitidos para o produto.Perceba que o cliente nao disse como voce tem que buscar esses dados. Nem como voce deve calcular o estoque. Ele disse o que ele quer ver como resultado.E claro que para terminar essa funcionalidade algumas coisas precisam ser esclarecidas. Por exemplo, como mostrar se a quantidade esta dentro dos limites? Seria com uma mensagem? Com uma cor diferente? Isso ainda precisa ser detalhado. Mas ja temos o basico, a espinha dorsal.Nesse ponto ja comecamos a imaginar como seria a tela de resultado, quais campos mostrar, quais tabelas ler para juntar os dados, etc.Em nossa cabeca, fazemos uma mistura de "o que eu quero como resultado" com "qual caminho devo seguir para atingir o resultado desejado". Todo mundo faz isso.A tecnica _Test First_ nada mais e do que transformar em codigo (programa mesmo) a primeira etapa -- "o que eu quero como resultado" -- antes de programar a segunda. _Test First_ precisa estar associado a outras tecnicas para surtir efeito positivo. Por exemplo, desenvolvimento iterativo com feedback constante -- um dos pilares das metodologias ageis.Entao, a cada funcionalidade que vou desenvolver, eu vejo o que o cliente quer e escrevo um programa para checar se o resultado do que eu vou desenvolver atende ao requisito. De fato, o programa de teste e o primeiro cliente do codigo de producao.Claro que se eu rodar meu programa de teste antes de desenvolver a funcionalidade, ele vai me mostrar erros porque a funcionalidade ainda nao existe. E esse e o espirito da coisa: ver um teste dando errado e, a cada etapa que eu avanco no desenvolvimento da funcionalidade real, os erros vao mudando, ate que ela funcione como esperado.Nao e magica. E esforco de desenvolvimento mesmo!Normalmente surge uma pergunta muito comum:> Mas eu posso escrever o teste depois que a funcionalidade estiver pronta. Eu nao mudaria minha forma de pensar, com a qual ja estou acostumado ha anos.Sim, certamente voce pode fazer assim. Muita gente faz assim. A questao e que _Test First_ te forca a formalizar o resultado esperado primeiro, para depois atende-lo. Voce passa a ter um objetivo real a atingir: fazer o teste passar. E escrever testes e mais ou menos como escrever documentacao: se deixar para depois, voce nunca vai fazer.Esse e o conceito de _Test First_, mas onde TDD entra nessa historia?Explicando TDD--------------Sendo uma pratica, TDD nao e usado; TDD e praticado.TDD une os dois conceitos acima e os amplia. E uma demonstracao que o todo e maior do que a soma das partes. Se voce praticar TDD, estara praticando testes automatizados, _Test First_ e algo mais.TDD e a sigla de _Test Driven
erros em producao, mesmo praticando TDD da maneira correta.Lembra quando eu disse que um ser humano precisa dizer ao computador o que considerar como certo ou como errado? Nos, seres humanos, falhamos e podemos deixar de testar algumas situacoes importantes. Quando isso acontece, o sistema da erro. TDD nao livra voce disso.Nesse caso a primeira coisa a fazer e escrever um teste para simular a situacao de erro e ver o teste apontando esse problema. Ai voce esta livre para corrigir o sistema e ver o teste mostrando resultado OK. Agora voce identificou outro beneficio do TDD: evitar que os mesmos erros -- _regressions_ -- ocorram novamente.Outro beneficio comumente detectado por quem pratica TDD e que voce praticamente abandona os debuggers. Como voce esta sendo guiado pelo teste e executa-o com frequencia ate que o resultado esteja correto, tem controle sobre todas as camadas de software do sistema. Assim, a depuracao torna-se desnecessaria. Eu mesmo nao lembro quando precisei usar o debugger em Python. Vale destacar que eu desenvolvo em Python para web. Talvez outros ambientes continuem necessitando do debugger.Conclusao---------Testes automatizados sao muito uteis, mas os testes manuais nao devem ser completamente abandonados. Algumas verificacoes ainda sao dificeis para um computador. Exemplo disso e validar layout. Ja existem ferramentas que auxiliam, mas estao longe do ideal e nao sao muito difundidas.Entender e praticar TDD corretamente demora um pouquinho e exige algum esforco de aprendizado, mas os beneficios sao infinitamente maiores do que as dificuldades.Alguns especialistas afirmam -- e eu concordo com eles -- que, em certo sentido, TDD pende muito mais para arquitetura do que para checagens de "certo" ou "errado". Alegam eles que o grande beneficio esta na clareza e simplicidade da arquitetura para facilitar manutencao futura do software.Para finalizar e responder ao titulo desse artigo, voce deve praticar TDD porque te ajuda a:1. Testar o sistema de forma automatizada, de modo que os testes possam ser executados novamente a cada mudanca.1. Certificar que o sistema faz o que precisa fazer.1. Identificar pontos de complexidade que devem ser simplificados.1. Evitar estragar o sistema ao tentar melhora-lo.1. Evitar que erros ja ocorridos no passado (_regressions_) reaparecam.Quero agradecer, em ordem alfabetica, ao [Cassio Botaro](http://twitter.com/cassiobotaro), ao [Douglas Andrade](http://twitter.com/douglasandrade), ao [Eduardo Klosowski](https://eduardoklosowski.wordpress.com/) e ao [Pedro Miloski](http://twitter.com/pmiloski) que me ajudaram melhorando e revisando esse texto.
um programador mais rapido.A questao e que TDD nao vai tornar voce um programador mais rapido, pelo mesmo motivo que "Metodologia agil" nao necessariamente significa cronograma curto.Vamos analisar algumas situacoes.TDD pode te ajudar a entender melhor o problema e a nao escrever codigo alem do necessario. Talvez, produzindo menos codigo, voce termine um pouco mais rapido.TDD pode te ajudar a dar nomes mais significativos a modulos, classes e funcoes. Assim, e provavel que voce encontre rapidamente o lugar certo para mexer quando for dar manutencao no codigo. Por isso, talvez voce entregue o resultado antes do esperado.[TDD pode te ajudar a escrever programas mais simples](/2016/10/tdd-ajuda-a-escrever-programas-mais-simples.html). Por serem mais simples, e muito provavel que a arquitetura do sistema fique muito mais simples e mais clara. Consequentemente sera mais rapido integra-lo e altera-lo futuramente.TDD tambem vai te ajudar a proteger-se contra voce mesmo. Eu explico. Se ha uma boa cobertura de testes eles vao detectar quando voce inserir um erro em alguma funcionalidade, devido a uma manutencao equivocada. Talvez isso evite que voce perca tempo debugando codigo e, provavelmente, vai te ajudar a terminar mais cedo.TDD pode evitar que erros voltem a ocorrer. Pelo mesmo motivo de manutencao errada, escrever o teste para reproduzir uma situacao de erro antes de conserta-lo vai evitar que esse mesmo problema (uma _regression_) volte. Dessa forma, voce nao vai gastar tempo corrigindo o mesmo erro no futuro.O conceito de TDD e simples e exige disciplina aliada ao senso critico o tempo todo.**Talvez** voce entregue resultado mais cedo praticando TDD. Nao porque voce virou um programador mais rapido, mas porque tornou-se um programador melhor em todos os aspectos acima.A experiencia com desenvolvimento de software, a clareza dos requisitos, o dominio da linguagem de programacao, das bibliotecas/frameworks/ferramentas usadas e o quao rapido voce digita e que vao torna-lo um programador mais rapido.
pela classe `Exception`. `MinhaException` simplifica o acesso a esses atributos ao mesmo tempo que aproveita a infraestrutura do Python, sem criar nada desnecessario.Properties podem fazer mais do que isso. No exemplo abaixo temos dois usos poderosos de properties sem perder a simplicidade: a) "apagar" um atributo; b) uma property que e _write only_: >>> class Campo: ... def __init__(self, valor): ... self.valor = valor ... self._erros = [] ... ... @property ... def erros(self): ... return self._erros ... ... @erros.deleter ... def erros(self): ... self._erros = [] ... ... def _set_erro(self, valor): ... self._erros.append(valor) ... ... erro = property(fset=_set_erro) ... >>> >>> c = Campo("nome") >>> c.erro = "required" >>> c.erro = "too short" >>> c.erros ['required', 'too short'] >>> del c.erros >>> c.erros [] >>> Percebemos que o comando `del c.erros` chama a property `@erros.deleter` para "apagar" o conteudo de `_erros`. Na verdade, `_erros` e inicializado novamente e o objeto continua com o atributo funcionando. Muito melhor do que se usasssemos `clean_erros()`, nao e?Note que se tentarmos fazer `c.erros = ["a", "b"]`, vamos ver uma mensagem dizendo que ele nao pode ser ajustado. Esse comportamento e proposital. Novamente, nao vamos expor os detalhes de implementacao da classe. Entao, usamos uma property que pode apenas receber valor, o atributo `erro`. Usamos `c.erro` para adicionar um erro a lista. Bem mais intuitivo do que algo como `add_erro()`. Nesse caso precisamos usar a funcao builtin `property()` porque esse atributo nao pode ser lido.Concluindo, as properties sao melhores do que metodos getters e setters porque: - Podemos iniciar uma classe de uma forma bem direta, sem complexidade desnecessaria, usando atributos simples; - Podemos acrescentar regras de armazenamento e/ou fornecimento de informacoes a medida do necessario, **sem mexer na interface** da classe; - A sintaxe de uso das properties e igual ao uso de atributos, sendo mais intuitiva para os clientes da classe.Nao escreva mais suas classes com sotaque de outras linguagens. Use properties ao inves de getters e setters.Para aprender mais sobre os nomes iniciados com sublinhado, recomendo voce ler o artigo [Um ou dois sublinhados?](/2013/05/um-ou-dois-sublinhados.html).
web e um assunto delicado e as opinioes/experiencias podem divergir.Abaixo segue uma pequena lista com provedores que eu uso/ja usei e nao tive problemas, ou que foram recomendados por pessoas de minha confianca:- [KingHost](http://kinghost.com.br): hospedagem nacional com servidores no Brasil e precos justos.- [DreamHost](http://dreamhost.com): hospedagem compartilhada com espaco ilimitado e possibilidade de hospedar ilimitados dominios e subdominios independentes. Eu escrevi o artigo [Setup de Python com Django ou Pyramid na Dreamhost](/2016/06/setup-python-com-django-ou-pyramid-na-dreamhost.html) para tentar simplificar as coisas.- [Digital Ocean](http://digitalocean.com): VPS com muitos tutoriais para instalar e configurar praticamente todos os servicos que voce vai precisar.- [Python Anywhere](http://pythonanywhere.com): PaaS especializado em hospedagem Python.- [Heroku](http://heroku.com): PaaS.- [AWS Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/): PaaS.- [OpenShift](http://openshift.com): PaaS.Observacao: como esse artigo e direcionado a principiantes em hospedagem de sistemas Python eu deixei de fora, intencionalmente, os fornecedores de IaaS.Se eu esqueci de alguma coisa importante, escreva nos comentarios que eu avalio e insiro no texto.Para terminar, quero agradecer ao [Filipe Ciffali](https://twitter.com/FilipeCifali) pelo tempo e conhecimento cedidos a comunidade, colaborando com esse artigo.
O mundo que tanto inspiro, nao me dar tanta atencao;As marchas que tanto faco so me tras recordacoes;As rimas que muito rimo, nao me faz feliz;Como pode, se caminho, nao ando, se ando....Ah!!! nao vejo marcas... a nao ser de um passado...Passado este que ficou talvez distante!!!! Estou aqui, como gostaria de estar, lutando por liberdadeEstou aqui, como muitos gostariam de estar cantarolandoEstou aqui, como verdadeira pessoa que sou eu .. genteEstou aqui, pela promessa que Deus fez ao universo tomaEstou aqui, por ser quem sou,criatura pela graca de CristoEstou e sempre estarei, atraves de minhas lembrancas virSerei recordada se algo eu fiz ou fizer em favor da vidaSerei eu e sempre eu .. quando daqui despedir me evoluirEm outra vida preparar e meu trofeu receber se Deus Assim me conceder isto se eu merecer ..... A pipa voa, voa e grita apitooo ...O apito apita e pinta sem tintaA pipa voa e leva o apito e apontaO apito a pita e chama a pipa que piaA pipa cai e bate a poeiraO apito aponta com gritoA pipa canta e encanta o ceuO apito adoca o grito da bocaO apito e pipa encantam a criancaA crianca vem prosa na dancaA apitar o apito e a soltar a pipaCrianca, apito e pipa e vida na terraEu aqui na terra quero voar apitar epintarQuero dizer a meus amados e bons amigos ... Irei dizer que entre ceus e mar hei degritarVou subir as nuvens se o vento me soprar Dou gracas a Deus por estar a cada dia surgindo pessoas do bem despertando nosso Pais a lutar por dias melhores como a igualdade e o bem de todos. isso e Brasil. Isso e o gigante acordando com o brilho de nosso sol ardente com sede de justica social!!!! O amor chegando entra - me ao pomoCom o ardume rasteiro do fogoLogo adentra ao peito contundidoDeixa o coracao em eterno sufocoA chama abrasiva vinda a desenharEspinhosa dor a sufocar sem sobrestarAdormece a alma sem consoloO sonho reclama por abrigo aos olhosPoem - se a chorar lagrimas indesejadaDoce vida de outra hora passada a passosOnde ainda dominava meu proprio euDo sangue verde da relva do olharSem dores e mais dores a sufocar-meQueira Deus que ja nao sofraQueira Deus que ja nao morraEspero o afago de um arduo abracoPostulando que a solidao nao tome parteNao sou poeta, menos canconetistaSou um louco de rosto em prantoSou reserva da erva que a terra criouSou bicho humano em materia de amar Toinha HOJE....tao contente fiquei !!!Sou grata... aquilo que me pareciaSei la... perdido, por milagre !!!Oh que milagre, resgatei....Hoje, aqui estou... na certeza de que...Merecimento... nao sei, mas... seiQue a vida por presente me deu...A chance de vitoria e conquista !!!!!Valeuuuu!!!! Obrigada Meu Deus!!!! Se hoje estou aqui, e porque Deus me deu o privilegioSe hoje estou aqui e porque tenho a graca de viverSe hoje estou aqui e porque as coisas nao acontecempor a caso e sim com a permissao de um Deus que opera milagres diariamente.... louvo a Esse amado eCriador de tudo e todos..... Amem O povo
de Deus, no deserto andava, mas a sua frente alguem caminhava, o povo de Deus era rico de nada so tinha esperanca, e o po da estrada. TAMBEM SOU TEU POVO SENHOR, E ESTOU NESTA ESTRADA, SOMENTE A TUA GRACA ME BASTA E MAIS NADA.O povo de Deus tambem vacilava, as vezes custava a crer no amor, o povo de Deus chorando rezava, pedia perdao e recomecava. TAMBEM SOU TEU POVO SENHOR E ESTOU NESTA ESTRADA,PERDOA SE AS VEZES NAO CREIO EM MAIS NADA.O povo de deus tambem teve fome e tu lhe mandaste opcao lado ceu, o povo de Deus cantando deu gracas, p amor teu amor que nao passa. TAMBEM SOU TEU POVO SENHOR E ESTOU NESTA ESTRADA,CADA DIA MAIS PERTO DA TERRA ESPERADA. Bons tempos !
Se voce pensa que pode viver sem mim, Esta enganada,nao e bem assim. A gente sempre foi feliz.E so uma fase ruim. Desconfianca,sei que todo mundo tem. Mas nao precisa me abandonar. Sera que e tao dificil assim, Em mim acreditar. Seus olhos dizem que nao e o fim. Eu posso enxergar. Ate quando vai insistir,tentar fugir, Tudo acabar. Triste coracao,tao sozinho Que voce deixou de ouvir a voz Quer contrariar o destino Que sempre foi a favor de nos. Feche a porta pra incerteza E vem me amar. Querido e delicioso ursinho pimpao, perguntinha bem facil pra voce. Que tipo de coisas os homens gostam que as mulheres falem na hora do sexo? Beijos, Devassinha!Ola Devassinha, muito obrigado pelos elogios, encararei os adjetivos desta forma. Alias, seu Orkut me revelou uma mulher com muitos atributos.A pergunta parece facil, mas nao e. Voces, mulheres, vivem dizendo que os homens sao todos iguais, mas nao sao. Sao varios tipos de homem, desde o primitivo ate o metrossexual e para cada um deles as palavras magicas mudam.No geral, quase todos os homens tem obsessao pelo tamanho de seu falo, portanto, elogiar o comprimento e a largura e uma frase coringa. So nao exagere, ok? Nao adianta o cara ter um pintinho de 10cm e voce ficar na orelha dele dizendo que e o maior que voce ja viu na vida. Seja sensata! Melhor elogiar outras coisas...Evite comparacoes, de qualquer tipo, com qualquer coisa que o faca lembrar que voce ja teve outro homem, pelo menos naquele momento, economize. Algo como voce e o melhor de todos que ja me comeu e pessimo, pode acabar com a erecao do coitado. Pense bem, voce gostaria de que alguem te dissesse que voce faz o melhor boquete de todos que ele ja provou? Por melhor que seja a comparacao, nao faca A maioria dos homens acham as mulheres misteriosas e indecifraveis. Acham que somos dificeis de se entender. Nao e culpa de voces. E que ninguem deu a voce um guia de compreensao das mulheres pra estudar na escola.Aqui estao ALGUNS dos misterios revelados sobre as mulheres:1) Antes mesmo de voce entrar pela porta a maioria das mulheres imaginam se voce vai ser o Cara Da Vida Delas.2) Ela fica tao nervosa quanto voce num primeiro encontro.3) Mulher gosta de atencao individual e indivisivel. Preste atencao no que ela tem a dizer e ela se mostrara mais interessada em ouvir sobre voce. E mantenha seus olhos nela. Olhar pra qualquer outra mulher no local e definitivamente uma forma de tornar o seu primeiro encontro o ultimo.4) Depois do primeiro encontro a maioria das mulheres saberao SE e quando irao dormir com voce.5) Muitas das mulheres nao querem se casar ou pelo menos nao tanto quanto era costume antigamente. Muitas mulheres ficam solteiras mesmo no fim dos trinta a favor de seguirem suas proprias carreiras.6) Uma mulher pode reclamar o quanto quiser sobre a familia dela, mas no segundo em que voce criticar a familia dela, faca suas malas.7) Perguntar a uma mulher se voce e o melhor
Uma mulher que se preze jamais deve deixar-se levar por uma simples conversa ou um elogio qualquer. Homem nenhum (salvas algumas excessoes) gosta de mulher facil, grande parte deles que querem isso vao a balada (ou pagam para tal).Um homem canalha pode ser aquele que te leve para a cama e depois some, que te diz coisas bonitas em um dia e no outro te trata como se nunca lhe conhecesse... Pode ser aquele cara que fala mal de voce para todos os seus amigos ou simplesmente aquele cara que mente pra voce ao dizer que esta apaixonado.Enfim, existem varios tipos de canalhas, mas se apaixonar por um desses e mais facil do que se imagina.Mulher geralmente se impressiona com atitudes diferenciadas, e os canalhas sabem muito bem disso, por isso nunca lhes faltara mulheres (e de qualidade ainda por cima), mas a ideia deste blog e evitar que o maior numero possivel de mulheres sofram nas maos de homens que nao representam a raca.O ideal, antes de ter qualquer tipo de contato fisico com algum homem, e conhece-lo um pouquinho pelo menos, nao se pode confiar em um homem que voce nunca viu ou ouviu falar. Muitos homens costumam mentir apenas para conseguir o que querem: Sexo!Sexo no primeiro encontro e um assunto para um proximo artigo, sem duvidas, mas ja adianto que, mulher que transa no primeiro encontro e vista com outros olhos por qualquer tipo de homem. Sexo na primeira vez acaba com a magia de um possivel 2o encontro, por mais os 2 estejam no apice da vontade, voce jamais deve transar logo de primeira.Uma coisa bastante comum que pode te mostrar as verdadeiras inteicoes do sujeito, e analisar sua vontade de transar no primeiro encontro. Se ele nao demonstrar que seu objetivo e apenas sexo, ponto positivo pra ele, veja alguns sinais que mostram quando um homem nao quer so sexo:Ele te leva para um lugar bastante agradavel e com pessoas, um barzinho por exemplo.Enquanto ele te beija, suas maos nao tentam passear pelo teu corpo inteiro, no maximo ele pega na sua cintura ou pescoco.Ao te deixar em casa, ou chegar em sua casa, ele te liga pra perguntar se esta tudo bem e te dar boa noite.Ele te liga no outro dia, pra conversar e marcar um proximo encontro.Ele nao comenta sobre sexo em outros relacionamentos, e muito menos fala o que pensa sobre sexo na primeira vez.Ai estao algumas dicas que irao te ajudar a identificar quando um homem nao quer apenas sexo, mas lembre-se, as dicas sao apenas para lhe ajudar, nao quer dizer que estou completamente correto, tudo faz parte do momento, cabe a voce perceber se um cara so quer se aproveitar de voce ou nao. Ivete, que comecou a cantar aos dezessete anos de idade em barzinhos de Salvador, incentivada por sua irma, Monica San Galo,[carece de fontes] alcancou sucesso ainda como vocalista da Banda Eva, vendendo mais de 3,78 milhoes de discos, e chegando a fazer cerca de trinta shows por mes.Em sua carreira ja ganhou o GRAMMY Latino