Transcrição do áudio
coleguinha, agora chegou a hora de falar de teste bom, nós temos que testar as coisas por exemplo um script se ele dá pau, ele continua a executar, sério então imagine você que algo não foi feito, e aí você sai cagalhando todo o ambiente porque você não testou se aquele algo funcionou ou não cara, isso é chato então você faz algo e testa faz algo e testa, faz algo e testa faz algo e testa, muito diferente de uma programação Java que você tem o try, catch, accept naturalmente e aí você tem a verificação ele para a execução vai para o cart, aí você faz um trabalho aqui não cara, você executa um comando testa, executa um comando testa executa um comando testa o script ele é estrutural ele é lotado de if do início ao fim e isso é uma coisa normal entenderam? isso é uma coisa normal beleza? bom, então vamos lá teste e a expressão e ele me diz se é verdadeiro ou falso na verdade se é 0 e 1 e nós processamos 0 e 1 beleza? então a expressão entre parênteses é a própria expressão a negação da expressão se é 0 e 1 se é 0 e 1 se você quer naturalmente colocar aqui a expressão e o enter e o or aqui é o or e aqui é o enter beleza? você poderia usar o enter assim ou assim não importa assim ou assim beleza? é comum usar isso aqui a galera não usa isso aqui embora vai que um dia você encontra e fale, pô o cara não me explicou correto é isso? isso aqui tá? e aí nós temos também algumas coisas que não é decorar gente você com o passar do tempo aprende isso vai ficar na sua cabeça se o sistema de arquivos aquele arquivo ele é do tipo caractere, teclado, mouse essas coisas se aquilo é ali ó se é um traço bem se aquele arquivo é por exemplo um dispositivo especial de bloco isso aqui encaixa com as aulas de sistema de arquivos e na verdade isso aqui tudo encaixa com a aula de sistema de arquivos mas esses dois tópicos se encaixam com a aula de formatação que vocês tiveram comigo legal? se é um diretório se o arquivo existe se é um arquivo verdadeiro se o arquivo tiver um conjunto de permissões set group ID permissões especiais se verdadeiro se o arquivo for um link simbólico e aqui tem todos os verdadeiros vários testes vários testes passando o tempo você vai pegando a manha bom aqui você testa assim ó arquivo F1 e arquivo F2 verdadeiro se o arquivo F1 for maior que o F2 é mais novo F1 OT F2 verdadeiro se o arquivo F1 for mais antigo que o F2 EF se é verdadeiro se o arquivo F1 for um hardlink para F2 então alguns testes também que costumam encontrar embora seja raro encontrar isso aqui tá é raro encontrar isso aqui eu encontro bastante expressões simples assim se é um arquivo, se é um diretório, se existe beleza então muito simples olha como que a gente utiliza esse negócio aqui teste tá isso aqui não é um script tá galera isso aqui é command line isso aqui é command line terminal teste traço D é um diretório tem MP se for verdadeiro então é e comercial é comercial se deu certo ó é na verdade a gente fala se é verdadeiro mas a verdade correta é falar se deu certo se deu certo tá ele vai fazer isso aqui caso não deu certo é o OR se não é o deu certo é o OT é o OT e o OT é o que? só pode ser o que deu errado entenderam a jogada? o que que é o OT cara? é um outro porra entenderam? o caso verdadeiro é se deu o outro é aquele então não é um diretório legal tem MPX coloquei um X aqui então ele vai mostrar que não é um diretório isso aqui é um command line tá isso aqui não é um script vou mostrar pra você como coloca esse script daqui a pouquinho tá bom vamos lá vamos lá vamos lá vamos lá vamos lá vamos lá vamos lá vamos lá e aqui ó bom aqui ó teste o ok da Rox estão um exemplo abaixo vou validar se é um link se iEdge é um link se é um link é um link existente senão ele não é um link isso existe no seu sistema operacional por que você instalou o iEdge lá em o acrbin iEdge pra etc barra iEdge barra Versão 64, barra, alguma coisa, alguma coisa. Legal? Depende da versão. Bom, vamos lá. Agora nós vamos fazer uma comparação, tá? Em par de strings. Par de strings. String, string. Beleza? Verdadeiro for vazio, verdadeiro se não for vazio, que é o traço N. Um igual, isso aqui quebra muita gente. Um igual. Ele está comparando string como string, como texto. Beleza? Então, é um igual, cara. Isso aqui quebra uma pancada de gente. Diferente, menor ou maior. Beleza? Então aqui, olha só. Ah, o som é igual ao som? Sim, é igual. Agora, repare que a letra... Eu acho que é assim que se pronuncia. Eu não sei produzir essa bosta. Essa letra maiúscula aqui vai, naturalmente, quebrar. Eu não sei onde eu estava com a cabeça, cara. Eu poderia ter chamado Botafogo e Bostafogo. Esse dia. Eu acho que eu estava em processo de... Teve um momento, gente, na minha vida que eu fiquei internado no hospício por um tempo. Certo? Então, parte desse texto é de antes de eu ser internado no hospício. E parte desse texto, a grande parte, é depois de eu passar pelo hospício. Entenderam? Aí, lógico, nós hoje estamos no remédio, nesse hipercontrolado. Normal, cara. Normal. Então, vamos lá. Aqui eu tenho equaos. Porra, qual é a diferença disso aqui, cara? Quando você quer trabalhar com o texto, mas tendo uma representação numérica, é isso aqui. Entenderam? Quando você quer trabalhar com o texto, mas com a representação em texto, é isso aqui. É o que imprimei o mundo já em prova com essa história. Pô, que merda, cara. Eu estou falando, cara. Não é que o professor reprova o aluno. É o aluno que se reprova porque ele vem com a mentalidade de programação estruturada, tudo. Eu já vi aluno que é um fracasso em programação Java. Chegar nessa matéria e arregaçar. Arregaçar sem dó e sem piedade. Todo mundo. Porque eu sei de ver, cara. Porque o cara chegou com a mente crua, limpa. Toda aquela estrutura rigorosa do Java. Ele chegou aqui, né? Pá, pá, pá, conversando com eles. Mostrando, mostrando, mostrando. Cara, saiu o programador. Por que também? Se você olhar, que código você escreveu? Que script você escreveu? Nós já estamos na página 325. Com mais de 50 linhas. Me diz qual. Não foi. Não teve. Entende? Então quando o aluno aprende com um trecho curto de código, ele aprende. Quando os caras vão dar aula de Java, os caras vão colocar swing na história, WT na história. Isso aí já fodeu. Isso aí já são duas mil linhas. Estou sacaneando, tá, galera? Estou só sacaneando a galera Java. E aí os caras agora querem ensinar os caras a programar. Com Java, mano. Com Java na chincha. Na chincha lá. Pum. Cara. Arquivo com 500, 600 linhas é um arquivo idiota. O login tem 500 linhas. Com HTML, a porcariada toda. Aqui não. Então aí o aluno chega aqui cru. Aí ele de repente começa a pegar ali 20 linhas, 30 linhas, 10 linhas. E o script começa a funcionar. Aí ele começa a se sentir bem. Tá? Gente, antes de eu ir... Acabei falando de hospício. Antes de eu ir para o hospício. Eu fiz um mestrado ali. E parte foi por causa disso. E eu acabei tendo ali, né, que conhecer os livros, né? Hausbelg, Skinner, Glotz, Pavlov. Essas porraiada toda da cognição humana, aprendizado e tudo mais. Esses caras todos eles divergem, tá? Tirando o Skinner e o Pavlov que eles são um seguido do outro. É a mesma linha de pesquisa. O que que acontece? Mas eles divergem. Muita gente divergem. Por um motivo muito simples. É... A... Cada um tem a sua visão sobre como o cérebro aprende. Mas tem uma coisa que converge. É o único ponto que converge em todos esses caras. Que o aluno ele tem que estar com a visão de que eu quero aprender. Eu gostei disso. É legal. Eu vou para frente. Então quando você faz scripts pequenos e vai conseguindo, vai maximizando sua cabeça. Tá? O seu cérebro vai ficando feliz. Vem liberando, liberando substâncias. E aí eu maximizo o aprendizado. Aí você vai lá longe. Por isso que se você só senta na aula e fica vendo o professor explicar, você não vai aprender nunca. Se você não chegar aqui e começar a executar esses comandos aqui, você não vai aprender nunca. Mas se você fizer, você vai, tá cara? Vou falar isso para você. Legal? Bom, para falar em... Então quer dizer que aqui eu estou olhando o texto. Mas na verdade como número. Porque eu estou utilizando Equals, ME, LT, LE, GT, GE. Legal? Beleza. Aqui nós temos soma cara... Fazer esse tipo de soma aqui eu acho escroto demais cara. Isso aqui é escroto demais aqui. Eu prefiro assim ó. Valor total é igual. Colaspa aqui. Parênteses, parênteses. A variável que tem um valor. Espaço. Isso. Espaço. A variável que tem outro valor. Espaço. E aqui. E aqui você pode usar mais, menos, subtração, multiplicação. Aqui no caso é sobra. Porcentagem é sobra. E eu acho melhor assim, naturalmente. Lógico, lógico, lógico. Eu acho melhor. Eu acho mais visível que eu transformar num string e mostrar aqui. E mandar executar string dentro de um contexto como se fosse um eval. Isso aqui é muito semelhante a um eval cara. Lembra do eval? Coisa que não se faz. Fala nisso galera. Porra cara, olha só. O Linux tem vários problemas de eval. Log4j foi um eval. Várias falhas de sistema em cima de eval. Olha isso aqui é um eval cara. Não, você não vai fazer uma bosta dessa nunca. Você vai fazer assim. Tá? Operações matemáticas. Beleza? Só subtrair, pedir e tudo mais. Tá? Aqui você tem os símbolos aí, tá? Os operadores. Chamados de operadores. Operadores lógicos e aritméticos. Próxima aula vamos falar sobre comando I que é o desvio condicional de fluxo. Que é o nome correto a se tratar. Até mais. Tchau.