Como sempre, eu não estava indo a lugar algum quando de repente vi uma mensagem no boletim informativo do VKontakte de que amanhã o último dia de pedidos de inscrição para Django Girls em São Petersburgo é um workshop de programação em Python para mulheres. Normalmente leio essas mensagens quando o registro para um evento já está fechado. Tenho uma sorte especial em tais assuntos - aprender sobre o evento no dia seguinte à sua conclusão. Portanto, quando percebi que havia uma oportunidade real de obter um treinamento gratuito em Python, preenchai rapidamente um aplicativo, para o caso de reservar um hotel e começar a esperar.
Parece-me que soube imediatamente que eles me aceitariam; caso contrário, como explicar que havia perdido um evento semelhante em Moscou um mês antes e chegado a São Petersburgo! É possível encontrar o melhor horário para a viagem: verão e noites brancas, a Copa do Mundo com a oportunidade de visitar a zona de fãs na Praça Konyushennaya, conhecer a comunidade de TI do Django Girls e o escritório da Wargaming e no final do feriado de Scarlet Sails!
Por que python
Dois anos se passaram desde que descobri o mundo da TI, mas, como antes, pouco sei como aplicar. Para organizar testes de software em um projeto, coordenar o UAT - eu sei e gosto da variedade de projetos. Mas se você precisar fazer algo "com as mãos", por exemplo, para automatizar um teste simples, isso é um desastre. Portanto, há muito tempo surgiu a idéia de tentar programar em Java ou Python. Eu até tentei fazer um curso on-line na Udemy Computer Science para iniciantes, com uma introdução ao Java. A parte sobre o sistema de números binários e a estrutura física dos computadores era muito compreensível, mas, assim que chegou ao código, tornou-se difícil. Preciso de um mentor - uma pessoa que esteja sentada perto e responda a qualquer pergunta. Então, aceitei o convite para um workshop em Python para mulheres como minha chance. Além disso, Python não é a linguagem mais difícil e será útil para mim em pelo menos duas áreas: automação de teste e análise de dados.
Preparação para a master class

Na manhã de 23 de junho de 2018, fui direto para a Faberge Square, para o escritório da Wargaming. Cheguei com antecedência, ajudei os organizadores um pouco com o arranjo de mesas e cadeiras para os participantes. Éramos cerca de 70 meninas que queriam dar o primeiro passo na programação. Em cada mesa, há 5-6 participantes e um treinador. Nossa mesa teve sorte, havíamos apenas três de nós e o treinador Lyuba, quase um assistente pessoal. Olga estava sentada ao meu lado, um profissional de marketing que gostava de TI e Dasha, uma funcionária do banco, como eu, que decidiu se mudar para o Canadá e estava dominando a procurada profissão de programador para isso.
Como instalei todos os programas em casa e li os artigos introdutórios, pude iniciar imediatamente o projeto - criando um blog em Python e colocando-o em uma das plataformas prontas. Ao mesmo tempo, o código do aplicativo teve que ser publicado no GitHub e a partir daí foi atualizado o blog no site. O desenvolvimento foi realizado no meu computador local, que foi gentilmente reproduzido pelo meu laptop em casa. Tudo o que discutirei abaixo, fiz pela primeira vez na minha vida e, antes da aula principal, eu não tinha ideia de como o aplicativo Web foi realmente criado.
As ferramentas
Para o desenvolvimento, o framework Django foi usado - uma ferramenta compreensível e popular. O Python versão 3.6 foi instalado no laptop e um ambiente virtual foi criado para o projeto. Para trabalhar com o código, o editor de texto Sublime Text foi instalado. Para armazenar versões do código, o Git foi baixado e instalado. Foram publicadas versões no GitHub, para as quais criei um perfil lá. O site
www.pythonanywhere.com foi escolhido para hospedar meu blog na Internet, onde também criei uma conta. Todo o trabalho com pastas e arquivos no laptop foi realizado por meio da linha de comando cmd, e um console semelhante foi usado no Pythonanywhere para gerenciar pastas e arquivos do blog.
Como foi a aula principal

O princípio do treinamento é simples: você lê as instruções, executa tarefas, se algo não estiver claro, pergunte ao treinador. As tarefas são fornecidas em ordem, o que permite criar um blog pequeno, mas completo e colocá-lo na Internet.
O treinamento durou das 10h às 19h, a cada hora, um intervalo de 10 minutos. Havia vários relatórios interessantes, por exemplo, sobre estágios para programadores iniciantes ou sobre oportunidades de treinamento, começando com cursos on-line gratuitos e terminando com um diploma de bacharel em Ciência da Computação em uma universidade americana a um preço muito acessível. No almoço, havia pizza e, para os proponentes de uma dieta saudável, o café Faberge em casa, no 4º andar do shopping ao lado. Também tínhamos uma cozinha grande com um número ilimitado de abordagens para água, chá, café, biscoitos e frutas. Pessoalmente, fiquei impressionado com o escritório da Wargaming pelos funcionários que trabalharam lá no sábado - esses criadores dirigiam o escritório de scooter, às vezes descalços.
Resultado do meu dia
Quanto eu consegui fazer em um dia? Muito! Primeiro, criei um projeto separado no Django e criei os arquivos necessários. Na configuração do projeto, ela indicou dados para a operação correta do site, por exemplo, o fuso horário e o endereço do blog. Em seguida, configure o banco de dados. De fato, ele já foi criado no Django, teve que ser migrado para o diretório do meu projeto. E, finalmente, lancei um servidor virtual em um laptop - era mágico, ainda não acredito que fiz isso.
Quando o modelo do site estava pronto e podia ser visto no computador no navegador no endereço
127.0.0.1 : 8000 /, era hora de criar um modelo para as entradas do blog no banco de dados. Ou seja, temos um modelo de site vazio, mas ele precisa ser preenchido com algo, por exemplo, entradas de blog. Para o programa entender quais registros eu quero criar, ela precisa ser informada sobre isso. E isso é feito usando o modelo e adicionando-o ao banco de dados. Nesta fase, a criação do blog no computador local foi concluída e era necessário colocar meu site na Internet - implantar. Para fazer isso, usamos uma ferramenta Git muito popular - um sistema de controle de versão de código.
Primeiro eu tive que dizer ao meu laptop onde carregar o código. Para fazer isso, as configurações são definidas primeiro e, em seguida, com os comandos git commit e git push, o código é publicado no GitHub. Ao atualizar o código, você pode adicionar um comentário, e cada alteração será acompanhada de uma descrição do que exatamente mudou. E você pode verificar com vários comandos através do cmd quais alterações são feitas. Material muito útil!
Então começou a diversão: o código do GitHub deve ser carregado no site em que o blog será hospedado, ou seja, para publicar meu blog na rede - na verdade, para o bem de tudo isso começou. Somente no Pythonanywhere, inicialmente, foi necessário criar um ambiente virtual e um banco de dados e, em seguida, descarregar o código do GitHub. Isso é feito facilmente - com um comando git pull. Em geral, tudo isso é feito facilmente. Para mim, a maior mágica era que, após 8 horas de trabalho, tudo funcionava, tudo funcionava e aparecia quando necessário. Eu tentei bastante a linguagem Python: copiei pequenos fragmentos de código das instruções e mudei conforme necessário. E a maior parte do tempo foi gasta em muitas etapas preparatórias: configurações, criação de ambientes, bancos de dados, contas, repositório. Para fazê-lo funcionar, você precisa vincular todos os componentes e ferramentas. Não é assim tão simples.
Percebi que a programação moderna é o uso de um grande conjunto de ferramentas, onde muito já está pronto para uso. O sucesso depende de quão bem você conhece essas ferramentas e como usá-las.
Um erro engraçado aconteceu. Criei um arquivo de blog com código HTML (ou seja, com o que vemos em uma página na Internet) e tive que colocá-lo no site, mas o comando falhou e o console do cmd me disse que o arquivo não existe. Descobriu-se que o caminho para o arquivo estava incorreto. Juntamente com o treinador, não conseguimos entender por que o programa analisa o caminho padrão, e não o que indicamos. Pesquisando no Google - não ajudou. Vou a outras tabelas e pergunto quem chegou a esse estágio, se houve um erro semelhante. O treinador de uma das mesas responde, se aproxima de nós, olha o nome da pasta e diz que tenho um erro de digitação no nome: tamplates em vez de templates. Eles começaram a corrigir através do comando renomear - não há acesso. Entendemos por que não há acesso, não está claro. E então meu treinador se ofereceu para ir para a própria pasta e corrigi-la. "Como?" "Bem, como você renomeia arquivos em um computador?" - "O que é certo entrar e renomear através do Windows Explorer?" "Claro." E funcionou. Às vezes, você começa a pensar muito em situações que têm uma solução simples.
Ainda aprendi a atualizar o blog no site a partir do meu computador e criei uma URL para que o navegador, ao inserir o link do meu blog, entendesse qual página exibir na tela.
Total:
Impressões

Gostei muito do workshop, ele me inspirou muito e, sem dúvida, abriu um novo capítulo na minha vida.
À noite, eu estava muito cansado, meu cérebro exigia uma reinicialização. Portanto, imediatamente após a aula principal, joguei meu laptop no hotel e fui aos dois eventos mais marcantes da noite e da noite: a partida Alemanha-Suécia na zona de torcedores na Praça Konyushennaya e a celebração das Velas Escarlate, comemorando a nova vida dos graduados das escolas de São Petersburgo. Se você estiver interessado em aprender mais sobre a master class, escreva-me no Skype - elen.furs.
Em conclusão, quero dizer: queridas meninas, se você deseja ingressar no mundo da tecnologia, trabalhar em empresas interessantes e ganhar um bom dinheiro, não tenha medo de ir para a TI. E você já sabe como fazer isso no meu
exemplo .