Transcrição do áudio
É coleguinha, você não acredita Já é o terceiro vídeo que eu estou fazendo Estou fazendo o que? Usando o próprio command line para gravar a tela, cara A FFMP é foda, cara Sem OBS Studio, né coleguinha? Olha que da hora É importante você dominar o sistema operacional, tá? Você faz milagres para o seu sistema operacional Por que eu estou fazendo isso, gente? Cara, o OBS Studio vinha travando essa máquina Ele vinha consumindo tanto recurso E como eu estou usando inteligência artificial Que já consome muito recurso Cara, o OBS estava disputando ali Estava travando os vídeos, cara Aí eu assim, pô cara Como é que eu resolvo isso aqui? Se o OBS é um código fonte fechado Como é que eu faço? Pô cara, então vamos lá FFMPag É porque eu sei que dá para gravar vídeo Da tela com FFMPag Começou a olhar os parâmetros, os argumentos Ah, gastei uma meia horinha Está aí, ó Gravando a tela Você está vendo esse vídeo aqui agora Usando FFMPag E a máquina está muito suave, cara E a máquina está muito suave, cara Praticamente só a inteligência artificial Que está consumindo recurso dessa máquina Está suave para caramba Tá? É o meu ponto de vista Tem tantos pontos de vista Por falar em ponto de vista, cara É importante você ter um ponto de vista É importante você ter um ponto de vista É importante você ter script mais profissionais Eu aprendi isso Quando eu entrei no mundo do hacker Então vamos lá Em 1998 eu comecei a programar Certo? Em 1999 eu já estava vendendo alguma coisinha Beleza? Então, ganhando um troquinho Quando foi? 2017, é sido Porra, vou parar com essa minha vida Vou parar com essa minha vida de programador Vou entrar na área de security de cabeça Porque eu já tinha um pé na security Porque eu era programador consciente Eu não era tipo o Jovem Tranquilão Que fala Pô, o Jovem Tranquilão falou na live dele Pra que eu tenho que saber de segurança? Pra que eu tenho que saber de redes? Cara, olha o que o cara me fala Não, o programador consciente Ele pensa nessas coisas Então eu já tinha essa visão Então eu parti com a programação De programação para o mundo hacker De cabeça E me fudi A verdade é que eu me fudi, cara Eu fudi no meu emprego Eu me fudi no meu nome Na minha carreira Eu me fudi no meu emprego Porque eu fiquei associado a esse estigma agora Beleza? E o que que acontece? Eu aprendi a fazer scripts profissionais ali, cara Então meus scripts eram feios Esquisitos Tosco, output mal trabalhado Input mal descrito Nada ajudava as pessoas Cara, eu tinha uma visão um pouco errada das coisas Então você já aprenda agora Ninguém me explicou isso Então você tem que aprender Você tem que padronizar o output Output verboso, excessivamente verboso Isso aqui não só fode A visualização da execução do comando, gente Se esse comando que você fizer Ele for verboso Ele vai jogar nos logs do sistema Vai atrapalhar muito a auditoria De logs de sistema Quantas vezes eu fui olhar logs de sistema Para fazer alguma auditoria E falei assim Cara, que desgraça de programa Tá jogando tanta coisa no output Que tá jogando tanta coisa no output Que tá me atrapalhando minha auditoria Então, cara Pô, scripts verbosos São ruins, cara Ruins Output com dados de depuração Usuários sem aparecendo Ah, aparece Input Por command line Fora de padrão nenhum De chamada Outro dia eu vi, cara Tracinho, uma palavra Não, cara Você usa tracinho e uma letra Se você vai usar uma palavra São dois tracinhos Tem um padrão pra command line Dá uma olhada no padrão POSIX Fala nisso, cara Agora, olhando, cara Tá faltando um Um mini curso de POSIX Nem que for cinco horas De POSIX, cara Tá faltando cinco Tipo, colocar como um mini curso mesmo, né Porque a minha ideia aqui no canal Agora, não é estar trabalhando Essas grandes disciplinas Mas, eu acho que Os vídeos vão continuar sendo organizados Por disciplinas, né Você pode estudar por disciplina Mas a ideia é encaixar nas trilhas Nas trilhas, né Trilha pra certificação Da CUPTIA Da CEH Então, você teria que No caso, nós estaríamos trabalhando Nessas certificações aqui Que seria LPQ1 Beleza? Eu tenho que pôr uma linhazinha aqui, ó Linux mais da CUPTIA Tá? Na RHCSA Da Red Hat Então, cursos menores encaixando aqui Entenderam? As disciplinas continuam lá Só que menores E encaixa os vídeos aqui Pra quem quiser ler numa trilha Eu acho bacana Eu acho bacana Eu vou preparar alguma coisa sobre POSIX pra vocês E aí vocês vão entender Esses padrões de argumentos Padrões de chamada de função E tudo mais Tá legal? Manipulação errada Falta de dependência Na máquina Tudo cagalha na hora do uso E isso é um problema Seu script deixa de ser um script profissional Pra ser um script amador No mundo hacker Os caras fazem scripts fantásticos De um output fantástico E eu acho que o maior A maior contribuição do mundo Kali Linux É reunir esses scripts bacanas Porque ele é muito grande Kali Linux é muito grande Então ele tem os melhores scripts lá Quando você executar os scripts dele Você vai ver E vai entender o que eu tô falando Cara, uma boa pedida é o argparse O argparse para Trabalhar ali os argumentos de entrada Os argumentos de entrada do nosso Nosso comando Então você vai ter que importar o argparse E criar um parser E esse parser vai ser o que? Esse parser Ele verifica os argumentos Se não tá faltando nada Se foi colocado algum argumento Por exemplo, o que pô Nem deveria ser colocado Então vamos ver como que o bichinho funciona Olha só Argparse Cara, se eu tivesse com o OBS Studio Essa renderização aqui Eu não conseguiria desse zoom Sério mesmo Ó Parser.add Argparse Argumento traço A minúsculo Ou traço traço palavra Padrão POSIX Então quer dizer que se eu executar Esse comando Eu vou naturalmente receber Esse tipo de argumento ali E aqui ó args parser args Como que eu uso no código? No meu código eu uso assim ó args.arquivo Muito melhor do que você usar o sys É Então como que você chama então teu script? Já que você deu permissão de inscrição De execução para esse script Ele tem um shellbang Então é muito fácil Traço A E o argumento Então na verdade o traço A é um argumento Que define o valor Ao próximo que é um argumento valor Entenderam? Ahhhh Bom, você pode também ter Número de argumentos como uma lista Valor padrão Tipo Se é requerido Um help Beleza Se tem algum atributo ali Que é destinatário Para aquele argumento Então vamos lá ó Esse cara aqui ó Olha só que interessante Add argumento traço A Arquivoso no plural Beleza Uma letrinha só E eu receberia Então múltiplos valores Após o traço A Então vamos lá Exemplo traço A Um valor Dois valores Três valores Então três valores tá ali Quando eu leio aqui do código Olha o output que dá Um array Ahhh meu wey Vamos lá Bom Exemplo Não sei quantos argumentos vão vir Beleza Valor constante e valor default Então se o cara não passar nada Ele vai assumir um Tá? Se o cara colocar o traço A Mas não passar nenhum valor Ele vai assumir outro Então olha só que interessante Se eu passo o traço A E o valor Eu uso o valor Que foi passado como argumento Entendeu? Se eu coloco o traço A Mas não passo nenhum valor Ele usa o valor da constante Eu acho isso uma grande idiotice Mas os caras criaram assim Se eu não coloco nem o traço A Ele usa o valor default Então essa é a diferença Entre o valor constante e o valor default Constante é se ele põe o traço A Mas não põe nenhum valor Aí ele vai usar o constante Se ele não põe nem o traço A Aí ele usa o default Ele garante que uma variável Sempre tem aquele valor ali E isso é importante para muitos scripts Porque você vai reduzir o if Você vai reduzir o if da história cara If aqui, if ali, if lá Não precisa Você já controla a entrada E os argumentos aqui dentro No próprio argparse Beleza? Requerido obrigatório O script não funciona Se não tiver esse argumento E você coloca um help Informa o caminho do arquivo Quer dizer que se o consagrado errar Ele nem executa o script Isso é que é bacana Ele já pipoca um erro para a execução E diz olha tem erro aí no script Tá faltando Aí aquele helper que você colocou Ele é exibido Lembrando também que o usuário Ele pode colocar um traço H E aí ele vem e executa E mostra o helper inteirinho aqui Todos os argumentos Todas as observações Dos argumentos Segundo o padrão POSIX do Linux Isso tá Então repare como é importante O único A única coisa chata do argparse Desculpe Pô cara é mó foda escrever esse argparse aí Tá entendendo? Por que? É argparse e parser E aí eu vivo metendo um R aqui Eu vivo fazendo merda A verdade é que eu vivo fazendo merda nesse argparse aí Entenderam? Tipo inteiro Então ele já tipifica para mim No inteiro para mim Teclado é texto E ele já converte para mim Em numérico cara Porque eu pedi para ser do tipo int Ele já faz o jabaculeiro Se der pau de conversão Ótimo Antes da pau no argparse E o teu script não sair fazendo merda Do que o seu script tentar Sair fazendo merda por aí Porque você não fez uma conversão de tipo adequado Entendeu? Cara argparse Ele é praticamente um obrigatório É Eu trabalho muito com inteligência artificial Programando com inteligência artificial hoje Devido a dinâmica Tem que ter uma dinâmica muito forte no meu trabalho Eu trabalho em altíssimo nível Então tá lá Todo script python obrigatoriamente O uso de argparse Na IA galera Nós podemos definir as regras Regra universal A regra universal é isso isso isso Regra universal Nunca mexa no meu MySQL Regra universal Nunca execute um comando assim assim assado Regra universal Para script python Sempre utilize argparse Legal próximo vídeo Vou falar sobre outputs