thegoodfellas/blogset-br huggingface dataset:
voce escolher o jogo NAO CLIQUE NO JOGO, apenas deixe a pagina dele carregar e tente jogar. Voce nao vai conseguir, e por que o applet ou flash nao esta ativo, se voce pressionar as setinhas cima, baixo, esquerda e direita, voce vai movimentar a pagina e nao o personagem do jogo, se voce quiser ativar o controle do jogo, vai ter que clicar no applet ou flash, para somente apos isso, conseguir utilizar o teclado. Se voce possui um menu feito em flash ou applet ou qualquer coisa do tipo, delete-o e crie um novo menu via HTML, pode utilizar imagens, muitas imagens, mas lembre-se do assunto anterior, nao deixe seu site muito pesado. Alem dessa dificuldade, seu leitor/cliente pode tentar acessar o site de um celular ou de um computador um pouco mais antigo que nao possua suporte para a ferramenta que voce esta tentando disponibilizar, nesse caso tambem vai ficar muito dificil navegar pelo seu site.Ainda nos menus, mas tambem no resto do site, se voce esta tratando algum tipo de evento do mouse via script, tipo onmouseover, onclick, onmouseout, esse menu ou item so vai funcionar se seu leitor/cliente possuir e conseguir utilizar um mouse, mas se for um deficiente visual, ou alguem que nao possua mouse, essa pessoa nao conseguira navegar pela pagina.Duas alternativas plausiveis, a primeira e remover esses eventos e menus que capturam o evento do mouse, outra solucao e adicionar eventos de teclado! Se voce esta capturando um onclick capture tambem quando a tecla barra de espaco for acionada, se esta capturando o onmouseover adicione tambem um evento onfocus, se esta utilizando o evento onmouseout, capture tambem o evento onblur, sempre procure similares para teclado, em todos os eventos de mouse que estiver utilizando.Outro fator importante para a navegacao e a ordem dos elementos, esquecamos mais uma vez o mouse, desconecte ele e guarde em algum lugar, navegue pela sua pagina utilizando a tecla TAB, voce consegue chegar ao conteudo rapidamente ou tem que passar por milhares de botoes e propagandas antes? Se voce esta demorando mais do que 5 tabs para chegar ao conteudo, EU acho que ja e muito, alguns acham ate que o primeiro tab ja deve cair no conteudo, mas ai voce tenta fazer isso nesse blog e ve que nao consegue chegar no conteudo da postagem antes de passar por todo tipo de link, correto? Realmente, mas esse blog nao e meu, e do wordpress.com, eu nao edito o codigo fonte do site, apenas o da minha postagem, infelizmente.Mas como criar uma navegacao? Utilizando um comando html simples, o tabindex.Tabindex e um atributo que existe na maioria das tags html, e com ele e possivel estabelecer uma ordem de navegacao para os objetos, definindo com valores numericos, de preferencia positivos, alguns navegadores aceitam valores negativos, mas nao sao todos.Exemplos:<a href=x.com.br tabindex=1>aaa</a><a href=x.com.br tabindex=2>bbb</a><input type=submit value=ccc tabindex=3/>No exemplo acima, o primeiro tab vai deixar o link aaa selecionado (nao vai acionar o link, vai apenas dar o foco para ele), o segundo tab vai marcar o link bbb, o terceiro
tab vai marcar o botao ccc.Voce pode deixar lacunas entre os tabindex, por exemplo, 1-2-3-6-7-9-15-29-30-100, neste caso os tabs vao acessar os objetos na ordem que for definida, se um numero nao for encontrado, entao o proximo e procurado, e assim vai ate encontrar um numero.Nao e necessario inserir as tabulacoes na ordem que os objetos estiverem dispostos no codigo fonte, voce pode colocar um tabindex=1 para um objeto que esta no final da pagina e um tabindex=2 para um objeto que esta no comeco, isso nao importa, se fizer isso o primeiro tab vai acessar o objeto que esta com a tabulacao 1 e o segundo tab vai acessar o objeto 2.Resumindo o capitulo, quando estiver criando ou editando o codigo fonte de uma pagina, invista alguns minutos tentando navegar pelo site sem o mouse e veja se e possivel, se nao conseguir entao sera necessario efetuar alguns ajustes.Assim encerro esta postagem, e para a proxima prepararei uma materia sobre leitores de tela e a utilidade (ou falta de utilidade) de tabelas em sites acessiveis.Enjoy!
Em um outro post sobre JSF + Javascript comentei como manipular os objetos no jsp via javascript, agora vou postar algo ainda mais util que isso, ainda no quesito gambiarra necessaria.Imagine que voce tem algumas variaveis de controle em seu codigo Java, mas precisa que essas variaveis sejam enviadas de alguma forma para o jsp para que voce faca alguma acao via javascript, como por exemplo, efetuar uma validacao no codigo Java e se tudo estiver certo continuar a execucao, mas se algo estiver errado volta para a tela, exibe uma mensagem e pinta os campos de alguma cor destacando o que esta errado. Nesse caso a acao de pintar os campos e ate mesmo a mensagem, dependendo da sua aplicacao, e uma acao delegada ao javascript. Mas como fazer para que a minha variavel de controle no Java seja enxergada no javascript? Na minha epoca de estagiario, eu certamente faria algo do tipo:Deixa a variavel de controle no Bean, adiciona um campo inputtext oculto no jsp e faz esse campo receber o valor da variavel de controle, via javascript eu mando um getElementById pegar o valor desse campo e comeco a utilizar. Maravilha, gambiarra melhor que essa fica dificil de fazer, nem da vontade de mexer mais no codigo depois disso, deixa la para as geracoes futuras saberem quem fez essa maravilha de codigo. Uma coisa que eu costumo dizer e: Para que ter o trabalho de fazer algo que ja fizeram, e provavelmente melhor do que voce? O Tomahalk ja faz algo do tipo sem precisar ficar colocando campo oculto na tela, nao precisa se preocupar mais com essa gambiarra, se preocupe com as outras. O que iremos fazer e utilizar um comando do tomahalk que pega uma variavel qualquer do seu bean e passa o seu valor para uma variavel global em javascript (a variavel e global mas funciona apenas no jsp em que ela foi declarada). Para utilizar essa poderosissima ferramenta, precisaremos primeiro importar a taglib necessaria no jsp, mas nao se desespere, se voce esta utilizando JSF e bem provavel que possua esse jar no meio de sua pasta lib. Importe a seguinte taglib (eu estou chamando apenas de T para economizar as teclas digitadas): <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>Agora, em qualquer lugar de seu jsp, mas para ficar menos feio, proximo ao seu javascript, importe a variavel que precisa utilizando o comando t:jsValueSet <t:jsValueSet name="" value=""/>Em NAME voce precisa colocar o nome que essa variavel tera no javascript, pode ser qualquer coisa, atesorveteDeChocolate, mas sera muito mais agradavel se colocar um nome que faca referencia ao que ela representa.Em VALUE voce deve colocar a variavel de seu bean. Ex.: Digamos que eu tenha uma variavel de controle em meu bean chamada controleMensagem, essa variavel e booleana. NOTA: Os nomes no Java e no javascript podem ser iguais, eu coloquei diferente para nao confundir as coisas. Feito isso, agora eu so preciso utilizar a variavel no javascript: if (exibeMensagem) {alert("preencha direito o campo x!");}No exemplo acima eu estou utilizando minha variavel dentro do IF, porque condiz com o
exemplo que eu passei, mas voce pode utilizar em qualquer outra situacao dentro de qualquer javascript no jsp em que o jsValueSet foi declarado, a variavel nao precisa nem ser booleana, pode ser de qualquer tipo. Espero que esse post ajude a eliminar muitas gambiarras em seu codigo!
possuir dez mil iteracoes, serao dez mil chamadas ao metodo que contara sempre os dez mil registros da lista.Exemplo de como se deve fazer, economizando processamento.ArrayList<String> array = new ArrayList<String>(Numeros.CEM);int tamanho = array.size();int x = Numeros.ZERO;while(x < tamanho) {}for (int i = 0; i < tamanho; i++) {}Imports nao utilizados.Sempre que passar por uma classe, remova os imports nao utilizados, pode ser manualmente ou com o atalho CTRL+SHIFT+O do eclipse.Apesar de nao parecer, os imports inutilizados ajudam a deixar a classe mais pesada, por que quando ela e compilada (pelo javac), todas as classes importadas sao compiladas juntas.Isso tambem vale para imports com * no pacote, e bem dificil voce utilizar todas as classes de um determinado pacote, e provavelmente voce nao vai querar compilar todas as classes de um pacote junto com a sua, ou quer?Objetos e Tipos PrimitivosSempre que possivel, nao utilize objetos (Integer, Double, Float) mas sim tipos primitivos (int, double, float) que sao mais leves.Quando for trabalhar com faixas numericas pequenas, utilize tambem um tipo pequeno, por exemplo o byte para apenas codigos 1, 2, 3, etc. Use o short para faixas de 0 a 32767 (ou negativos nessa mesma faixa).Um objeto exige muito mais espaco na memoria do que um tipo primitivo, por exemplo, o int so precisa de uma faixa na memoria para guardar o valor da variavel, ja o Integer precisa de um espaco bem maior, para guardar a classe Integer, que possui alem do valor, varias outras variaveis e metodos internos.Quando houver a necessidade de trabalhar com um int que nunca pode ser nulo, impeca o usuario de acionar algum metodo sem preencher o campo da tela.Listas sem objeto ou tamanho.Sempre que utilizar uma lista, indique de que tipo e essa lista, dessa forma economizamos memoria e processamento, nao sendo necessario criar objetos e fazer o cast em cada item dessa lista.Sempre defina um tamanho inicial para a lista. Quando nao informamos um tamanho para a lista, o compilador entende que seu tamanho inicial sera 10. Quando essa lista ultrapassa os 10 itens, o compilador cria uma nova lista com mais 10 itens, ou seja, 20 itens, e copia a primeira lista para a segunda lista, se ela ultrapassar os 20 itens, o compilador cria uma nova lista com mais 10 itens, ou seja, 30 itens, e copia todos os objetos da segunda lista para a terceira lista. Se voce nao definir um tamanho e sua lista possuir mil objetos, esse processo ira se repetir 100 vezes, consumindo memoria e processamento.Para contornar esse problema, sempre defina um tamanho inicial para suas listas, e esse numero deve se aproximar do tamanho que a lista tera.Por exemplo, se eu estiver criando uma lista departamentos de uma empresa, vou criar uma lista com tamanho inicial igual a 100, por que nao existem milhares de departamentos em uma empresa.Se eu estiver criando uma lista de funcionarios de uma empresa multi-nacional, vou definir um tamanho inicial de 1000 para a minha lista, fazendo isso, mesmo que a lista possua dez mil objetos, eu ja diminui o processamento em cem
demos o nome de numero para nosso input, na renderizacao da pagina o JSF vai renomerar automaticamente o id do campo paracadastroForm:numero. Entao... quando voce for chamar o campo pelo getElementById, informe formulario:campo, e nao somente o id do campo! E agora funcionou? Desta forma nao e necessario encapsular JavaScript dentro do JSF, nem precisamos alterar a arquitetura inteira para criar uma simples validacao, basta utilizar esta dica para desenvolver uma validacao simples em JavaScript e em pouquissimo tempo devolver para o usuario.
muito o que falar, por enquanto. O arquivo web.xml e um arquivo padrao de configuracao das aplicacoes web, tanto faz se e um projeto JSF, ou Struts, ou Raptor ou se nao utiliza nenhum framework, o web.xml deve estar la, devidamente configurado para que o servidor entenda que nosso projeto e assim ou assado.Entao abra o arquivo web.xml e insira as seguintes linhas de codigo:<?xml version=1.0?><!DOCTYPE web-app PUBLIC-//Sun Microsystems, Inc.//DTD Web Application 2.3//ENhttp://java.sun.com/dtd/web-app_2_3.dtd><web-app><context-param><param-name>javax.faces.STATE_SAVING_METHOD</param-name><param-value>server</param-value></context-param><context-param><param-name>javax.faces.CONFIG_FILES</param-name><param-value>/WEB-INF/faces-config.xml</param-value></context-param><listener><listener-class>com.sun.faces.config.ConfigureListener</listener-class></listener><! Faces Servlet ><servlet><servlet-name>Faces Servlet</servlet-name><servlet-class>javax.faces.webapp.FacesServlet</servlet-class><load-on-startup> 1 </load-on-startup></servlet><! Faces Servlet Mapping ><servlet-mapping><servlet-name>Faces Servlet</servlet-name><url-pattern>*.jsf</url-pattern></servlet-mapping></web-app>Estas sao tags padroes que devem ser inseridas no arquivo web.xml para que o servidor interprete corretamente nosso projeto JSF. Em outro post irem mostrar algumas configuracoes mais avancadas deste arquivo e do faces-config.Agora nosso projeto esta concluido! Todas as paginas estao criadas e todos os arquivos devidamente configurados e se comunicando!Vamos para a parte final deste tutorial...PROXIMO PASSO (FINAL).
pode gritar ai EU SEI FAZER UM SITE UTILIZANDO O FRAMEWORK JSF!!!!!!!!!!!!!!!!. E parabens, agora voce realmente conhece as principais funcionalidades do JSF, agora nao pare por aqui, brinque, altere, crie, e desenvolva mais e mais paginas utilizando estas dicas.Se quiser baixar este projeto (ProjetoX) finalizado e funcionando clique nestes links: RAR, ZIP ou JAR.Para baixar um projeto JSF em branco, com toda a estrutura de pastas, arquivos de configuracao criados e as bibliotecas necessarias, clique nos links: RAR ou ZIP.Agora e por sua conta!Obrigado por ter lido este tutorial, em caso de duvidas em qualquer um dos passos, por favor comente!Autor: Reinaldo EliasConsultor Java JavaManhttp://codeerror.wordpress.comhttp://javaerro.blogspot.com
A briga esquentou entre FIA e FOTA.Parece que teremos mais uma categoria de ponta no automobilismo mundial.Qual e a preocupacao?Os interesses sao diferentes.Deixe a FIA com a F1, as novas equipes e o novo regulamento.E que a FOTA faca uma categoria muito boa.Para quem gosta de automobilismo acho que e so beneficio.Seria ou sera interessante quando as duas categorias, se houver, correrem no mesmo circuito e no mesmo ano para sabermos qual e a mais rapida.No momento e so isso que me interessa!Questao do dinheiro? Nao me importo! Nao e meu!Que facam outra categoria, ou que nao facam!O bom e ver carros e pilotos bons nas pistas. E, por falar nisso, como faz falta uma nova categoria de ponta. Tem muito piloto bom sem lugar na F1.Ja estou querendo que rache mesmo!E voce? Jenson larga bem e nao deu chances para ninguem na corrida.Rubinho larga melhor que Raikkonen, assume a segunda posicao e fica assim ate o final.Kimi recoloca a Ferrari de volta ao podio e Felipe chega em quarto e de quebra faz a melhor volta da corrida.Ferrari parece ter reencontrado o caminho do acerto do carro e parte para a Turquia com forca.Mark, experiente, chega em quinto e ofusca o rapido Sebastian, que com falta de paciencia encontrou o guardrail. Nico, o homem mais rapido quando nao vale nada, chega em um digno sexto, enquanto Kazuki, se perde a duas voltas do final e bate.Fernando apostou em uma estrategia com um carro mais pesado e so rendeu dois pontos. Seu companheiro, Nelsinho, foi empurrado para fora da pista pelo estreiante Sebastien, o Buemi.A escuderia dos Sebastioes conquistou um ponto com o outro Sebastien, o Bourdais.Giancarlo deve ter feito a sua melhor corrida pela Force India e terminou, infelizmente para ele, em nono, ou seja, na bolha. O primeiro a nao marcar pontos. Adrian, dos que ficaram na pista, foi o ultimo.Timo fez um bom trabalho, e depois de largar dos boxes, chegou em decimo, enquanto Jarno, seu companheiro de equipe, que largou em 18o chegou so em 13o.O Nick fez o que pode com sua muito lenta BMW e chegou em 11o e Robert com a outra BMW abandonou com problemas de freio.Lewis, muito mal na classificacao, largaria em 16o apos bater sozinho ainda no Q1, largou em 19o por ter trocado o cambio e nada melhor do que um 12o ele pode fazer. E o nosso querido Heikki, que estava na zona de pontuacao, bateu e ficou fora do GP.Foi uma corrida sem surpresas. A Brawn nada de bracada e Brawn e muito bom. Combinando isso com a excelente performance de Button, o campeonato esta terminado. Button e campeao!As outras equipes podem crescer, mas a Brawn nao vai ficar parada. Acredito que ela nao venca todas, mas vai ficar no podio com frequencia.Rubinho fara o que cabe a ele, escudeiro.Acho que daria na mesma se o campeonato fosse decidido por vitorias. Faltam 12 corridas e Button faz 5x1 no Vettel.Agora, vamos a Turquia! Os amigos do Betao Sports apostaram mais nos brasileiros, mas quem levou foi o Button!Confira o
resultado dos tres primeiros da enquete:Barrichello - 37,7% com 23 votosMassa - 21,3% com 13 votosButton - 16,4% com 10 votosAgradeco a participacao de todos e logo teremos mais uma enquete interessante no ar!Valeu!
Barcelona vence a decisao da Champions League!Fez 2x0 no todo poderoso, e ate entao atual campeao europeu, Manchester United.Manchester que contava com o melhor do mundo, Cristiano Ronaldo, que deve perder o posto para Lionel Messi.Barca se mostrou sempre com mais vontade e so sofreu um pouco no iniciod o jogo, mas logo Eto`o fez 1x0 e o Barca dominou o jogo.A bola nao chegava para Ronaldo e Rooney estava na esquerda sem ter muito o que fazer.Mesmo com a entrada de Tevez, o time nao rendeu ofensivamente e Messi com 20cm a menos do que Ferdinand fez o segundo gol de cabeca e liquidou o jogo.Parabens Barcelona, tri campeao europeu!Agora, se der um brasileiro campeao da Libertadores, o Barca pode comemorar o vice do Mundial. As duas vezes que esteve no mundial, ele foi derrotado por times brasileiros. Sao Paulo e Internacional respectivamente! Depois de 4 rodadas nas series A e B do Campeonato Brasileiro de futebol, voce sabia que ja aconteceram onze trocas de tecnicos?Pois e!Depois reclamam do rebaixamento.Vamos aos casos:Serie A:Gremio: Comecou com Marcelo Rospide, interino, no lugar de Celso Roth que antes de comecar a Serie A mudou-se para o Atletico MG. Sai Rospide e entra Paulo Autuori na 3a rodada.Sport: Sai Nelsinho Baptista que levou o time a melhor campanha da historia do clube na Libertadores, oitavas de final, e ainda nao entrou ninguem. O time esta sob o comando de Levi Gomes, que e interino.Serie B:ABC RN: Sai Heriberto Cunha na 2a rodada e entra Arturzinho;Campinense PB: Sai Ferdinando Teixeira na 4a rodada e entra Argel Fucks;Ceara: Saiu Ze Teodoro na 2a rodada, teve por uma rodada o comando de Edmundo Silva, interino e na 4a rodada assumiu o PC Gusmao;Fortaleza: Saiu Mirandinha na 3a rodada e entrou Vladimir de Jesus;Juventude: Saiu Gilmar Iser na 2a rodada e assumiu Ze Teodoro, o mesmo que nao serviu para o Ceara;Ponte Preta: Saiu Marco Aurelio na 3a rodada e assumiu Pintado;Sao Caetano: Sai Sergio Soares e assume Antonio Carlos, o mesmo que foi dirigente do Corinthians;Vila Nova GO: Saiu Gilson Kleina na 2a rodada e assumiu Vagner Benazzi.Agora e acompanhar estas equipes e ver onde elas chegarao no fim dos campeonatos! Coma divulgacao dos pesos antes da corrida, vamos ver qual e a projecao!Vettel, na pole, e o segundo mais leve do grid. Tem um carro rapido e ele e rapido, mas vai suportar a pressao das Brawn? E a experiencia que em Monaco nao ajudou? De olho nele! Acredito que pode chegar ao podio.Button e o favorito. Dos dez que foram ao Q3 e o quinto mais pesado. larga em 2o e esta mais pesado que Barrichello. Olho na largada, pois larga do lado sujo da pista. Se nada der errado vence a prova.Barrichello, mais leve que Button sai em 3o, mas esta do lado limpo, se passar Button na largada tem chance ate de vitoria.Webber esta discreto e com um bom carro. larga em 4o e e o mais pesado dos quatro. pode dar podio ai.Trulli, 5o, tem o 3o carro mais leve. Nao chega nem
em 5o.Raikkonen, 6o, vem animado com um podio em Monaco e esta mais pesado do que Massa. Pode ser uma boa surpresa da corrida.Massa, 7o, considerado o "rei" da Turquia tomou tempo de Raikkonen e esta mais leve, assim como o companheiro de equipe pode surpreender.Alonso, 8o, o mais leve, nao chega nem nos pontos!Rosberg, 9o, chega nos pontos. Precisa mostrar a velocidade da sexta nas corridas!Kubica, 10o, melhorou muito, vem relativamente pesado. Pode marcar seus primeiros pontos. parece que se animou com a melhora do carro.Heidfeld, 11o, pode ser melhor que alguns que alcancaram o Q3. Pode marcar um pontinho.Nakajima, 12o, se marcar pontos, e "zebra". Vem quase no mesmo peso do Heidfeld.Glock, 13o, errou na classificacao. Pode chegar mais a frente.Kovalainen, 14o, e o mais leve dos que nao atingiram o Q3. Pode aprontar na largada e so.Sutil, 15o, conseguiu o Q2 com a Force India, e muito rapido, mas o carro nao ajuda. Infelizmente nao chega nos pontos.Hamilton, 16o, o carro nao ajuda, mas ficou atras de Kovalainen. Exagerou no final do Q1 e nao conseguiu passar ao Q2. E o segundo carro mais pesado do grid. So um um milagre o coloca nos pontos.Piquet Jr., 17o, e muito ruim! So apanha!. Nao termina nem a prova. Ja deu para ele, ne?Buemi, 18o, esterante e da pau no Bourdais. Nao quer dizer muita coisa, mas ja pe um feito.Fisichella, 19o, ruim demais. Deve ser o ultimo GP da Turquia de F1 da vida dele.Bourdais, 20o, e o mais pesado do grid, mas nao vai adiantar muita coisa.Voce concorda com as analises?
Depois de tres treinos livres dava-se a impressao que a Brawn poderia ter adversarios para a pole.E teve, mas nao a altura.A Ferrari melhorou muito e Raikkonen sai em segundo e e forte candidato para vencer a corrida.Outro que poderia fazer frente a Brawn, ou a Button, era Hamilton, mas errou feio e largara so em 16o.Barrichello, como quase sempre, larga atras de seu companheiro de equipe e ocupa a terceira posicao.Massa comprova a melhora da Ferrari e larga em quinto.Piquezinho e 12o, e convenhamos, ta bom demais para ele.Confira o grid completo aqui no tabelas!A conclusao e que o Button pegou a "bola" e nao deixa ninguem brincar! CONFIRA TODOS OS PESOS AQUI!Se nada der errado, ja deu Button!Dos oito primeiros, ele e o segundo mais pesado, so perde para Barrichello, 3o, por meio kilo, o que pode dar dobradinha, de novo, da Brawn GP.Vettel, o mais leve do grid, vai depender da largada para fazer algo de bom na corrida.Atencao com Alonso, que vem pesado e pode surpreender.As Ferraris tem estrategias parecidas e nao devem incomodar as Brawns.O mais pesado e o Glock e sai em ultimo.Hamilton, mesmo errando e largando em 16o, vem leve. Perigo de colisao! e nao ter voce ao meu lado, desculpa por te amar tanto, nao controlo meu coracao! sorriso no rosto, dou umas risadas e assim engano todo mundo. ... voce coloca um sorriso no rosto e finge que e sincero, ate que a vida o faca realmente ser essa incansavel busca por alguem que escute suas historias, seus medos, seus fracassos, seus sonhos... lhe escute. Nao e facil encontrar, mas nao e impossivel, nao e eterna a busca. Um dia voce encontra uma voz doce que lhe acalma, alguem que sorri pra voce e te abraca, encontra um olhar terno que te faz derreter so de olhar, encontra palavras que sempre quis escutar, que voce sempre disse, mas nao costumavam dizer para voce. Quando isso acontecer, agarre, cuide... porque voce acabou de encontrar seu mais lindo esconderijo. que mais amamos nos magoam e nada podemos fazer senao continuar nossa jornda com nosso coracao machucado. O resultado deste trabalho so foi possivel diante da dedicacao dos alunos e de muita cobranca da professora.Cada gota de suor, cada esforco, cada dia de gravacao, cada discussao, cada desentendimento acompanhado de entendimento, enfim, cada momento, afirmo com toda a certeza: serao levados por todos ao longo de nossas vidas.Em nome do 1oD agradeco a cada pessoa envolvida, ao Centro Paula Souza, a esta casa que e a Etec Zona Sul e a pessoa que, sem ela, este projeto jamais haveria saido do papel: a nossa querida professora de Matematica, Viviane Ponciano.feito aos 45' do segundo tempo!Esse trabalho valeu muito a pena! quem e etec zona sul 1oD entende o que to falando!) me espera. Se eu te enrolar, me empurra. Se eu te entregar, aceita. Se eu sussurar, me escuta. Se eu balancar, me segura. E eu gaguejar, me entende. Se eu duvidar, me jura. Se eu for so tua, me tenha. Se eu me mostrar, me
veja. Se eu te amar, me sente. Se eu te tocar, me assanha. Se eu te olhar, sorria. Se eu te perder, me ganha. Se eu te pedir, me da. Se eu chorar, me anima. Mas se eu sorrir, e por voce.