JavaRush /Blogue Java /Random-PT /Estudando em JavaRush. Primeiros projetos, o que te esper...
dwajot
Nível 41
Киев

Estudando em JavaRush. Primeiros projetos, o que te espera e o que é melhor não fazer. Parte 1.

Publicado no grupo Random-PT
Boa tarde Finalmente cheguei ao momento em que estou pronto para compartilhar minha história de sucesso. Quero contar muita coisa para vocês, então vou dividir em duas partes – por assim dizer, “primeiros projetos e o que é melhor não fazer” e na verdade “procurar emprego e passar nas entrevistas”. Não vou contar muito sobre mim, apenas direi que como quase todo mundo aqui, me formei e trabalhei em outra especialidade, mas depois decidi me tornar programador :) Vamos falar sobre treinamento agora mesmo. Comecei a estudar JavaRush no início de 2016. Passei muito tempo escolhendo onde estudar programação e, claro, como todo o nosso pessoal, não queria pagar pelo treinamento. Queria estudar Java, pois meu sonho é programar em Android. O curso JavaRush me chamou a atenção diversas vezes durante minha busca, mas descartei por ser shareware. Comecei a fazer videoaulas no YouTube. Então, no entanto, alguma força me forçou a tentar resolver problemas gratuitos no JavaRush, e fiquei tão surpreso que depois de completar 50 videoaulas (considerei-as bastante normais) e escrever código sob o palestrante, tive grande dificuldade e não no primeiro tente resolver os problemas iniciais do curso. Apreciei a qualidade do curso e o que ele me proporcionaria se o concluísse por completo, então procurei no fórum que de vez em quando havia bons descontos nas assinaturas e decidi que faria a versão completa. Sim, muitos alunos ficam irritados e indignados com o curso - os problemas são apresentados com base em materiais que ainda não foram abordados, o validador não os entende e há muita, muita coisa que pode ser lida no fórum e nos comentários. E adivinha? Eu também fiquei assim :) Ainda tenho uma tarefa grande pendurada no nível 34 e tentei todas as soluções, mas o validador não aceita. Que bom que o apoio me deu um pouco de matéria preta e consegui concluir o curso. Em geral, como graduado do curso JavaRush, contarei minha opinião subjetiva sobre o que gostei e o que não gostei no curso (que os administradores me perdoem). Gostei: da quantidade de tarefas, da verificação instantânea das tarefas, do aprendizado remoto, do treinamento não vinculado ao horário de trabalho, da estrutura do curso, do fórum de alunos, assim como do preço. Não gostei:Durante o curso, você começa a se adaptar ao validador e então é difícil se livrar dele, pensar e encontrar outras abordagens (mas ainda assim essa ideia está muito bem implementada aqui), erros em algumas tarefas, forte complexidade em algumas condições de tarefa (é bom que exista um fórum para esses casos), também experimentei a nova interface - não gostei muito, felizmente existe a oportunidade de mudar para a antiga. Resumindo, estou feliz com o curso e com o que ele me proporcionou. Lembro-me, há um ano, de como um amigo tentou me explicar o que são booleanos e vazios, o que são métodos e como eles retornam valores. Lembro-me de quanto tempo não conseguia entender por que esses valores precisavam ser devolvidos :) Agora me lembro com frequência de uma cena do filme Matrix: Neo: Você vai me ensinar como desviar de balas? Morfeu: Quando chegar a hora, você não precisará mais disso. E de fato, quando chegou a hora, ele já tinha essas habilidades a priori. No nível 30 do curso, queria conseguir um estágio oferecido pelo JavaRush. Olhei para a tarefa de teste e fiquei um pouco horrorizado. Eu realmente esperava que meu amigo me ajudasse a fazer isso, mas uma semana antes do prazo ele disse que aqui está o Google, insira todas as tecnologias aqui e haverá um monte de exemplos. Estou muito grato a ele por isso ter acontecido, porque foi então que senti pela primeira vez o que significa ser programador. Concluí a tarefa em 4 dias inteiros e fiquei extremamente feliz por ter conseguido o estágio. Estágio. Não concluí o estágio, porque na mesma altura comecei a fazer o meu primeiro projeto e mesmo assim acabou por ser uma prioridade e mais interessante para mim + não queria trabalhar numa empresa. O que posso dizer sobre o estágio em si: tem seus prós e contras, mas no geral é muito bom. Se você planeja continuar no mundo dos negócios, acho que vale a pena tentar. Primeiro projeto. Como mencionei acima, por volta do nível 30 consegui um estágio e comecei a fazer meu projeto. Foi e é um bot de telegrama. Eu queria criar um bot mesmo nos níveis 20-30 do curso, mas não consegui encontrar um tutorial adequado ou instruções sobre como começar. E, no entanto, por acaso me deparei com esse artigo e imediatamente comecei a tentar. Se alguém estiver interessado, aqui está um link para o artigo - Como escrever um bot em telegrama Java Falando francamente, o autor deste artigo mais tarde me ajudou muito, o que será discutido a seguir. A ideia do bot era esta: como programador, preciso aprender inglês. Eu conhecia a gramática relativamente bem, mas queria melhorar meu vocabulário. Achei que seria bom ter um bot para aprender palavras. Já escrevi informações detalhadas sobre o bot em um artigo anterior, então não vou repetir - aqui está o link Telegram bot Words Vou te contar quais dificuldades tive que enfrentar ao criá-lo. Em primeiro lugar, é a primeira vez que trabalho com a API do Telegram. Embora muitas pessoas digam que esta é uma das APIs mais simples e mais bem documentadas, foi muito difícil para mim como iniciante. Fiz tudo por seleção :) Às vezes eu tinha que passar um dia inteiro fazendo alguma funcionalidade, por exemplo, remover um botão depois de pressionado. Em cerca de meio mês consegui escrever a primeira versão beta, todo o código estava em uma classe java, e queria tentar carregá-lo no servidor. Meu projeto não é comercial, então descartei imediatamente os servidores pagos. Lembrei-me do servidor Heroku, que aliás é usado para hospedar o site do estágio. Tentei esse servidor por dois dias inteiros e já estava em completo desespero, pois nada funcionava - todas as instruções que eram relacionadas a sites, mas tenho um bot e aí preciso agir de forma um pouco diferente. Como resultado, decidi escrever ao autor do artigo sobre o bot e perguntar qual servidor ele usa para hospedar o bot. E então a sorte sorriu para mim - o autor acabou sendo um programador muito legal (ainda mantenho contato com ele), e ele me ofereceu para hospedar o bot em seu servidor Linux (e se eu conheço Linus, ele vai me alocar uma conta). O aprendizado inicial do Linux demorou um dia e, claro, não sem erros e dificuldades, o bot começou a girar no servidor. Além disso, concluí o curso JavaRush e fiquei muito satisfeito :) Escolhi MySql como banco de dados do bot, revi muitas lições sobre otimização de tabelas, escolha de motor e tudo mais. Eu daria um conselho a todos que farão seu primeiro projeto - tentem pensar imediatamente em toda a sua estrutura e construir pelo menos uma arquitetura relativamente expansível. Reescrevi o meu provavelmente três vezes por causa de tais erros. Sim, é difícil, porque muitas vezes você não sabe o que quer acrescentar ao seu projeto, mas ainda assim pode fazê-lo em um nível mínimo. Não escreva todo o seu código em uma classe!!! Tente usar MVC, lembre-se de OOP, etc. O engraçado é que comecei a usar alguns princípios básicos de OOP no projeto quando ele estava quase pronto. Antes disso eu nem tinha pensado neles. Claro, o usuário geralmente não se importa em qual idioma o produto está escrito, quais padrões e tecnologias são usados, mas quando você o abrir depois de alguns meses e quiser adicionar algo lá, você pensará em muitas palavras boas. sobre você :) Além disso, não se esqueça de registrar - isso permite rastrear erros e ver quais funções os usuários mais usam e o que precisa ser desenvolvido. No telegrama, aliás, você pode fazer isso de uma forma muito legal - enviar todos os logs em tempo real para o seu canal privado, por assim dizer, você pode criar algum tipo de big data :) Para resumir o primeiro projeto , demorou cerca de 3 meses para criá-lo, hoje são mais de 14 mil usuários cadastrados, muitos dos quais se tornaram regulares e estudam palavras estrangeiras todos os dias. Segundo projeto. Meu objetivo era me tornar um programador Android, então quando terminei mais ou menos o bot, decidi adaptá-lo para a plataforma Android. Comecei a treinar com o curso startandroid, e meu melhor amigo desenvolvedor android me deu muitas tarefas legais, conferiu e disse o que precisava ser refeito e concluído. Depois de adquirir as habilidades básicas, comecei a fazer minha própria aplicação. Tal como acontece com o primeiro projeto, as dificuldades foram muitas, mas se considerarmos como um todo, um pouco menos. Em cerca de um mês e meio, a primeira versão beta estava pronta (tive que reescrever todo o design do aplicativo algumas vezes, pois não tinha ideia de como seria). Então me registrei como desenvolvedor no Google Play e carreguei no mercado. Ultimamente tenho otimizado e sincronizado meus dois projetos. Para o banco de dados geral escolhi o Firebase - documentação muito boa, muitas lições e para projetos pequenos a versão gratuita de 1GB de volume é mais que suficiente. Se falarmos brevemente sobre as maiores dificuldades no segundo projeto (acho que algumas dessas dificuldades também surgem para desenvolvedores experientes), então esta é a criação de multi-threading no Android, muitos problemas com tamanhos de tela e extensões, para criar o design tive que fazer amizade com o Photoshop, suporte para versões antigas do Android, e também nunca usar o Recycler View se você tiver animação na sua lista :) Depois que o Yandex foi bloqueado na Ucrânia, e é aí que consigo a maioria das traduções e voz- além de palavras, tive que adicionar verificações adicionais ao código e simplesmente informar os usuários para usarem VPN. Surgiram dificuldades até mesmo ao se registrar no Google Play - para se tornar um desenvolvedor você precisa pagar uma taxa única de US$ 25 (ao contrário da Apple Store). Quando paguei, havia um limite no meu cartão e meu pagamento travou. Tive que falar com o suporte do Google e, em geral, eles me mandaram de uma operadora para outra, até que percebi que estavam apenas me mandando educadamente :) Tive que deletar tudo e me cadastrar novamente (eu teria pensado nisso imediatamente ). Mais algumas palavras sobre como promover seus projetos.Com o bot, as coisas foram um pouco mais simples - a ideia dos bots em si é relativamente nova (não entrei no mainstream, mas ainda está tudo bem). Existe um diretório de bots, grupos VK, FB e outros recursos. Agora meu bot está em 5º lugar na seção educacional e para mim é um resultado muito bom. Para avançar no catálogo de bots, você precisa ser avaliado. Fiz uma proposta para o usuário votar, o que ocorre apenas uma vez (eu mesmo não gosto de intrusividade), quando o usuário joga um determinado número de jogos (como se passasse algum tempo no bot). Com o aplicativo Android as coisas são muito piores. Direi uma coisa - sem publicidade ninguém vai perceber sua aplicação no mercado, nem mesmo por palavras-chave, já que existem milhões delas lá. Depois de sincronizar entre projetos, anunciei meu aplicativo no bot. Depois disso, consegui os primeiros 14 downloads :) Se alguém leu até agora, aqui está um link para o aplicativo, se você estiver interessado - o aplicativo Words Android . O link para o bot está no artigo sobre ele um pouco mais acima no texto. Obrigado a todos pela atenção. Contarei a vocês minha experiência em entrevistas, as perguntas que eles fizeram e a procura de emprego em geral na segunda parte.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION