Experiência pessoal: de uma ideia e uma folha em branco a uma versão de rascunho de um site

Bom dia

Meu nome é Dmitry, estou em alguns meses e 30 anos, dos quais 10 anos sou programador de tyzh e meio ano atrás, decidi criar algo meu (coxo, oblíquo, secundário, mas meu).

Alguns dias atrás, conversei com um amigo do meu aluno e nele me reconheci como uma amostra de 2009 - os mesmos problemas, os mesmos pensamentos. Este texto é uma compilação de nossa conversa e correspondência na noite de 24 de setembro. Foram perdidos momentos pessoais e exemplos concretos, mas o texto tornou-se mais lógico e generalizado.

O que ajudou uma pessoa pode ajudar outra.

Entrada


A introdução não pode ser lida, mas a partir dela será possível entender a plataforma do conhecimento inicial.
Na 11ª série, eu tinha uma escolha de quem iria estudar - um professor de história ou um programador. Eu amei e entendi a história, a programação me pareceu uma atividade muito interessante e promissora. Eu escolhi o segundo, porque você também pode praticar história no seu tempo livre.

Não pude escolher uma instituição de ensino - meus pais clicaram em uma calculadora e me enviaram para uma escola técnica local, que se tornou uma faculdade em 1º de setembro. Não vou escrever sobre os problemas de nossa educação, mas meu desejo de escrever código diminuiu bastante. Depois de receber o especial secundário, recusei-me a estudar mais e decidi trabalhar. Um amigo me chamou para trabalhar como administrador de sistemas em uma organização orçamentária: “A informatização da assistência médica está prestes a começar, é necessário coletar computadores e pegar papel atolado nas impressoras e explicar tudo às pessoas de maneira inteligente. Você trabalhará por dois ou três anos e verá o que e como continuar . Não vou escrever sobre os problemas das reformas na Rússia, mas revi minhas opiniões sobre a vida e as pessoas. Tendo trabalhado por quase 6 anos, parei, pois tudo ficou muito triste. Descansei, mudei de emprego e, em seguida, o desejo de programar ganhou vida.

Março de 2018 - setembro de 2018


No começo, havia uma idéia - "aqui seria um site no qual você poderia ver estatísticas mais detalhadas e o histórico de alterações de dados". Estamos falando sobre a classificação dos jogadores nos servidores de um jogo online (apelido, nível, clã etc.). O recurso oficial fornece apenas valores atuais, que são atualizados uma vez por dia. Sem histórico de alterações, sem visualização, é difícil escolher qualquer coisa e opções limitadas de classificação. Existe uma versão não oficial na qual já existe mais funcionalidade, mas também é inconveniente para mim e até para o mineiro. Portanto, o segundo pensamento veio para o primeiro pensamento: “Precisamos fazer algo nosso! Conveniente e sem mineiro . " E é desejável que o processo de criação leve de uma a duas horas à noite, pois não há tempo livre suficiente e eu não queria reduzir o sono. Durante a noite, pintei um plano aproximado de ação e comecei a traduzi-lo em realidade.

Mas, para fazer algo, é preciso aprender a fazê-lo. Por vários dias, estudei artigos e vídeos sobre o tópico “o que é necessário para criar um site?”. Depois de alguns dias, mudei para “comparar diferentes PLs - seus prós e contras”. Em cerca de uma semana, assistindo a um vídeo e lendo artigos todos os dias por 2-3 horas, cheguei a um conjunto aproximado de tecnologias:
  • html5
  • css3
  • python 3
  • django 2
  • sql (postgresql 10)
  • linux (debian9)

O conhecimento adquirido uma vez foi esquecido e tudo teve que começar do zero.

Auto-treinamento - essa habilidade é muito difícil para muitas pessoas. Alguém ou algo está constantemente distraindo: o gato decidiu ronronar de joelhos, um vizinho chamado, uma nova série de sua série favorita, um novo mecanismo nas redes sociais e centenas de outros exemplos. Além da força de vontade, determinação e desejo de criar, você não terá aliados (ainda há fome, mas nem sempre está presente). Feche as redes sociais, feche a guia com a série, desligue o som no telefone, feche a porta do quarto - remova temporariamente todas as distrações. Na ânsia por informações, o próprio cérebro desejará receber informações e, aqui, antes dele, o básico do SQL, que será um bom feed.

SQL e um script para gravar dados no banco de dados



O SQL é interessante, pois há poucas vagas de TI onde quer que ele apareça em primeiro lugar, mas há muitas vagas para onde fica em segundo ou terceiro lugar. Se você está apenas começando a se envolver com a programação, o básico do SQL pode ser um bom começo. Eu escolhi o postgresql como o DBMS porque muitas vezes está escrito que essa é uma boa opção para python (na medida em que isso é verdade, não posso julgar). Agradecemos ao Postgres Professional por traduzir a documentação .

Se você aprende com os materiais disponíveis na Internet, é possível que nem sempre consiga entender tudo - algum lugar transmitiu uma teoria de maneira imprecisa, um exemplo não reflete a essência do tópico, um lugar em que você não explicou um momento interessante para você. Depois de ler um artigo, reforce o que aprendeu lendo um artigo semelhante ou assistindo a um vídeo sobre um tópico semelhante.

E, no final, implemente o material que você cobriu usando o exemplo da sua ideia, mesmo que mais tarde seja refeito ou completamente descartado como um elemento desnecessário. Não tenha medo de experimentar. Adicione marcadores interessantes ao seu navegador.

Então, nos familiarizamos com o SQL, escolhemos um DBMS, criamos um banco de dados para nossa ideia e decidimos seguir para o próximo ponto - de alguma forma, registramos informações de uma página na Internet em nosso banco de dados. O Python vem em socorro, que traz seus pacotes psycopg2 , json , datetime , requisições . Ah, e foi divertido descobrir tudo. Em cerca de uma semana de experimentos, um script funcional gravou alterações no banco de dados com cerca de 20 a 25 mil caracteres.

HTML5 e CSS3


Agora você precisa exibir tudo isso de forma tabular no site. Mudei sem problemas para o básico de html5 e css3 - o esqueleto da página e da tabela. Em busca de um bom material, deparei-me com um portal que promete fazer de mim um desenvolvedor front-end por um pouco de dinheiro. As duas primeiras lições são gratuitas e, em seguida, uma pequena quantidade, nessas lições, apenas o conhecimento básico mínimo é fornecido. Passamos por aulas gratuitas, aplicamos o conhecimento adquirido e obtemos os seguintes blocos:
<div id="header">     </div> <div id="main">    </div> <div id="content">   </div> 

Tudo está claramente explicado, eles podem ter um curso, se necessário. Depois de alguns dias, descobri que essa é uma forma desatualizada de escrita e você pode simplesmente escrever cabeçalho, tags principais etc. E, nessa etapa, percebi que, no estágio inicial do aprendizado, a compra de cursos on-line não vale a pena. Eu simplesmente não consigo entender o quão relevantes eles são (e geralmente os autores não indicam a data dos artigos) e quanto conhecimento eles precisam. Portanto, apaguei o marcador e um pouco mais tarde encontrei o que estava procurando.

Vale a pena notar que, quando você compra um curso, se compromete financeiramente a fazê-lo - "bem, não foi em vão que eu dei um denyuzhu, mas você pode pagar pela Internet" . E o estudo das informações que você não precisa para o objetivo atual começa e, se necessário, não é fato que você se lembrará delas. E se você abandonar o curso, você se censurará - “ e por que você fez o curso? ele pendurou peso morto e em 3 dias termina e ninguém precisa desse certificado ... toda a dor .

Do interessante, gostaria de destacar o seguinte:
  • htmlbook.ru e - a maioria dos pedidos de tags html me levou a este site
  • webref.ru - herdeiro de htmlbook.ru
  • htmlacademy.ru - em algum lugar, vi as recomendações deste recurso e decidi ver o conjunto gratuito de lições. Armado com o conhecimento de aulas gratuitas, você já pode criar a página: cabeçalho, porão, unidade principal, menu, tabela e parafuso css para tudo isso


Django 2


Basta ler o site oficial e a tradução da versão 1.9 , que na maioria dos casos é adequada para a versão 2.0. Só isso. Erros incompreensíveis, copie e cole no mecanismo de pesquisa. Com 90% de probabilidade, após 1 a 5 minutos, você encontrará uma situação semelhante com a solução do problema, às vezes com a análise da solução.

Nosso assistente principal será o stackoverflow , um popular sistema de perguntas e respostas sobre programação. Inicialmente, havia apenas o inglês, mas no momento existem mais 4 versões das quais estamos interessados ​​em russo .
Aqui, gostaria de chamar a atenção para alguns recursos que às vezes apareciam nos meus resultados de pesquisa - perguntas / respostas com o stackoverflow traduzido por tradução automática e com publicidade (por exemplo, qaru.site ). Às vezes, eles ficavam acima do próprio fluxo de pilha. A tradução em alguns lugares foi bastante boa e, em alguns lugares, foi apenas um monte de palavras - provavelmente isso se deve à construção correta da frase, já que pessoas com diferentes níveis de inglês (e não apenas) a escrevem no stackoverflow.

Não importa a qualidade da tradução automática - leia o texto original e, se o seu inglês não permitir que você entenda completamente o texto, use tradutores on-line - com o tempo, você começará a entender mais e mais palavras e um dia apenas verá a resposta e entenderá o que está escrito lá. .

O segundo recurso mais popular em que a busca pela resposta me levou foi a adoção - obrigado a todos que deixam as respostas e as explicam.

Oceano de informações e versão preliminar do site


Cerca de pouco mais de três meses se passaram desde o início do treinamento - houve pausas de duas semanas e repetidas leituras de artigos e manuais, além de problemas que ocorreram por 2-3 noites. Os marcadores do navegador estão inchados; em um telegrama a cada 15 minutos, um novo artigo sobre a tecnologia de seu interesse, o VKontakte, está repleto de reimpressões desses artigos. O afogamento de informações é mais fácil do que um pulmão.

E naquele momento a consciência veio - mas, afinal, começou a engasgar. À noite, revisei todo o meu plano - desde a aparência do site e sua funcionalidade até as tecnologias que estão sendo usadas ou planejadas.

O plano em si foi reabastecido com parágrafos e a cada parágrafo foi atribuída importância, prioridade, pontos críticos designados sem fechamento, que se proibiram de seguir em frente. Mas acima de tudo, havia perguntas - ele se fez uma pergunta, encontrou uma resposta, explicou a si mesmo, fez alterações no plano.

O mês seguinte foi a terapia de choque - coloque o Debian 9 (que eu estudei do zero), no qual durante o primeiro mês não havia redes sociais, fóruns, programas de TV, filmes, skype, discórdia. Eu simplesmente desapareci por um mês da Internet usual para mim (e para a maioria dos usuários).

Minha programação da noite era assim:
- problema ou pergunta
- procure soluções e respostas
- implementação
- escrevemos a solução em um notebook ou em um marcador no navegador
- se nossa criação sair de controle, excluiremos tudo e começaremos a fazê-lo do zero (a versão 4 é usada atualmente)

Em agosto, restaurei alguns de meus contatos sociais - retornei às redes sociais, instalei o Discord, vou ao Windows a cada 2-3 dias e verifico se ainda não o transferi para o Debian. A taxa de execução do plano diminuiu, mas isso não me assustou muito, porque a primeira versão preliminar do site já estava em execução no computador local e, em 1º de setembro, planejava mudar para o VDS.

E eu não tive tempo. Enquanto eu descobri os meandros das configurações do VDS, enquanto eu descobri como iniciar minha criação, enquanto as regras do site estavam bloqueadas, enquanto resolvia problemas na vida real, enquanto me distraí com as redes sociais, enquanto solucionava problemas de saúde, o site foi lançado no final de quatro dias. Por alguma razão, essa maldita coisa me afetou - havia uma reserva de quase um mês, nada tinha que ser feito, mas eu estava atrasado e nem tudo estava feito. Eu já havia violado minha própria agenda, mas praticamente não percebi, e esses 4 dias de atraso me atingiram. Triste e pensei que a noite, eu comecei a trabalhar mais. E comecei enviando o endereço do site para meus terceiros conhecidos. Depois de esperar pela reação, me animei - a classificação média foi "o tópico é normal, bebi isso e vai ser legal".

Agora, os desejos dos usuários aderiram ao meu plano - a maioria dos desejos estava no meu plano (e ainda existe). Então, eu não preciso disso sozinho.

E naquele momento eu parei.

O trabalho mudou (estou cada vez mais longe e me entristece ainda mais que um atraso de quatro dias no lançamento do site), atividades diárias, baço de outono e centenas de outras razões estão perdendo tempo, que está se tornando cada vez menos. Na semana passada, sentei-me apenas algumas vezes para o projeto. E me assusta que eu não vou terminar. E o que mais me assusta é como as pessoas vivem em situações semelhantes, mas com esposas e filhos? Como você consegue fazer tudo?

Por que escrevi todo esse texto?



Mais uma vez, lembre os leitores das verdades:
  • se você quiser fazer alguma coisa - pegue e faça
  • experimento, não tenha medo de cometer erros - o computador suportará tudo, o principal é que, no final, você obtém um produto de qualidade
  • se você é um estudante que perdeu o interesse em aprender ou está simplesmente aprendendo algo novo, tente estudar material de fontes alternativas; se isso não o ajudou, mude sua profissão - trabalhar em um trabalho não amado e incompreensível o esgotará e incomodará seus colegas.
  • nunca é tarde para aprender, mas é melhor começar o mais cedo possível

Epílogo


Nos últimos seis meses, aprendi uma tonelada de informações novas e interessantes, mudei alguns de meus hábitos, me livrei de alguma coisa, me acostumei.

Resumidamente do interessante:
  • mudou google.com para duckduckgo.com , pois o duckduckgo está integrado ao stackoverflow e a resposta à sua pergunta já pode ser exibida imediatamente na página de pesquisa
  • Windows recusado, skype, excluiu a última conta nas redes sociais
  • não tem mais medo do nano e nem sabe como sair do vim
  • Pensei em privacidade na rede, depois de ver quais informações um usuário pode deixar apenas acessando o site
  • puxado para cima lendo inglês
  • Eu me apaixonei pelo console e analisei a saída de informações sobre solicitações para o site (como fiquei feliz quando fiz 1 solicitação de 100 solicitações ao banco de dados e depois reduzi o tempo de execução restringindo a seleção apenas às colunas e linhas necessárias)
  • Percebi o quanto não conheço as tecnologias que uso
  • e lamento que, há 5 a 7 anos, ninguém me mostrou python e não conseguiu explicar claramente o SQL (aliás, esse professor ainda ensina, os alunos ainda não entendem suas explicações e aprendem SQL por conta própria)
  • Consegui criar algo próprio e um dia deixará de ser manco e oblíquo.

Bom para todos.

Apenas faça

ps Eu sou realmente complexo e agora mentalmente não estou pronto para fornecer links para o site para o público em geral. No momento, existem 3 itens "vermelhos", após o que o item "você pode se gabar do seu ofício" será aberto.
pss refez um pouco meu fluxo de pensamentos, obrigado pelas críticas e comentários

Source: https://habr.com/ru/post/pt424771/


All Articles