JavaRush /Java Blog /Random-IT /Studiare su JavaRush. Primi progetti, cosa vi aspetta e c...
dwajot
Livello 41
Киев

Studiare su JavaRush. Primi progetti, cosa vi aspetta e cosa è meglio non fare. Parte 1.

Pubblicato nel gruppo Random-IT
Buon pomeriggio Sono finalmente arrivato al momento in cui sono pronto a condividere la mia storia di successo. Voglio raccontarti tante cose, quindi le dividerò in due parti – per così dire, “primi progetti e cosa è meglio non fare” e appunto “cercare lavoro e superare colloqui”. Non ti dirò molto di me, dirò solo che come quasi tutti qui mi sono laureato e ho lavorato in un'altra specialità, ma poi ho deciso di diventare programmatore :) Parliamo subito di formazione. Ho iniziato a studiare JavaRush all'inizio del 2016. Ho passato molto tempo a scegliere dove studiare programmazione e, ovviamente, come tutto il nostro personale, non volevo pagare per la formazione. Volevo studiare Java, dato che il mio sogno è programmare su Android. Il corso JavaRush ha attirato la mia attenzione più volte durante la mia ricerca, ma l'ho scartato perché era shareware. Ho iniziato a seguire lezioni video su YouTube. Poi, tuttavia, una certa forza mi ha costretto a provare a risolvere problemi gratuiti su JavaRush, e sono rimasto così sorpreso che dopo aver completato 50 lezioni video (le consideravo abbastanza normali) e aver scritto il codice sotto il docente, ho avuto grandi difficoltà e non all'inizio provare risolto i problemi iniziali del corso. Ho apprezzato la qualità del corso e cosa mi avrebbe dato se lo avessi completato completamente, poi ho guardato sul forum che di tanto in tanto c'erano buoni sconti sugli abbonamenti e ho deciso che avrei preso la versione completa. Sì, molti studenti sono arrabbiati e indignati per il corso: i problemi vengono forniti sulla base di materiale che non è stato ancora trattato, il validatore non li capisce e c'è moltissima roba che può essere letta sul forum e nei commenti. E indovina cosa? Anch'io ero così :) Ho ancora un grosso compito in sospeso al livello 34 e ho provato tutte le soluzioni, ma il validatore non l'accetta. È positivo che il supporto mi abbia dato un po’ di materia nera e ho potuto completare il corso. In generale, come diplomato del corso JavaRush, ti dirò la mia opinione soggettiva su cosa mi è piaciuto e cosa non mi è piaciuto del corso (mi perdonino gli amministratori). Mi è piaciuto: il numero di compiti, la verifica istantanea dei compiti, l'apprendimento a distanza, la formazione non è legata al programma di lavoro, la struttura del corso, il forum degli studenti e anche il prezzo. Non piace:Durante il corso, inizi ad adattarti al validatore e quindi è difficile liberartene, pensare e trovare altri approcci (ma pur sempre un'idea del genere ed è implementata abbastanza bene qui), errori in alcuni compiti, forte complessità in alcune condizioni di attività (è positivo che esista un forum per questi casi), ho anche provato la nuova interfaccia: non mi è piaciuta molto, fortunatamente c'è la possibilità di passare a quella vecchia. Riassumendo, sono soddisfatto del corso e di ciò che mi ha dato. Ricordo che un anno fa un amico cercò di spiegarmi cosa sono booleani e void, quali metodi sono e come restituiscono valori. Ricordo per quanto tempo non riuscivo a capire perché questi valori dovevano essere restituiti :) Ora ricordo spesso una scena del film Matrix: Neo: mi insegnerai a schivare i proiettili? Morpheus: Quando arriverà il momento, non ne avrai più bisogno. E in effetti, quando arrivò il momento, aveva già queste capacità a priori. Al livello 30 del corso, volevo ottenere uno stage offerto da JavaRush. Ho guardato il compito del test e sono rimasto un po' inorridito. Speravo davvero che il mio amico mi aiutasse a farcela, ma una settimana prima della scadenza ha detto che ecco Google, inserisci qui tutte le tecnologie e ci saranno un sacco di esempi. Gli sono molto grato che ciò sia accaduto, perché allora ho sentito per la prima volta cosa significa essere un programmatore. Ho completato l'incarico in 4 giorni interi e sono stato incredibilmente felice di aver ottenuto lo stage. Tirocinio. Non ho completato lo stage, perché allo stesso tempo ho iniziato a realizzare il mio primo progetto eppure si è rivelato prioritario e più interessante per me + non volevo lavorare in un'impresa. Cosa posso dire dello stage in sé? Ha i suoi pro e i suoi contro, ma nel complesso è abbastanza buono. Se hai intenzione di continuare a entrare nel mondo degli affari, penso che valga la pena accettarlo. Primo progetto. Come ho detto sopra, intorno al livello 30 ho ottenuto uno stage e ho iniziato a realizzare il mio progetto. Era ed è un bot di Telegram. Avevo il desiderio di creare un bot anche a 20-30 livelli del corso, ma non sono riuscito a trovare un tutorial adatto o istruzioni su come iniziare. Eppure, per caso, mi sono imbattuto in un articolo del genere e ho subito iniziato a provarci. Se qualcuno è interessato, ecco un collegamento all'articolo - Come scrivere un bot in Telegram Java. Francamente, l'autore di questo articolo in seguito mi ha aiutato molto, di cui parleremo di seguito. L'idea alla base del bot era questa: come programmatore, devo imparare l'inglese. Conoscevo relativamente bene la grammatica, ma volevo migliorare il mio vocabolario. Ho pensato che sarebbe stato carino avere un bot per imparare le parole. Ho già scritto informazioni dettagliate sul bot in un articolo precedente, quindi non lo ripeterò: ecco il collegamento al bot di Telegram Words Ti dirò quali difficoltà ho dovuto affrontare durante la creazione. Innanzitutto, questa è la prima volta che lavoro con l'API di Telegram. Anche se molte persone dicono che questa è una delle API più semplici e meglio documentate, per me come principiante è stato molto difficile. Ho fatto tutto selezionando :) A volte dovevo dedicare un'intera giornata per creare alcune funzionalità, ad esempio rimuovere un pulsante dopo che era stato premuto. In circa mezzo mese sono riuscito a scrivere la primissima versione beta, tutto il cui codice era in una classe Java, e volevo provare a caricarla sul server. Il mio progetto non è commerciale, quindi ho immediatamente scartato i server a pagamento. Mi sono ricordato del server Heroku, che tra l'altro viene utilizzato per ospitare il sito per lo stage. Ho provato questo server per due giorni interi ed ero già completamente disperato, dal momento che non funzionava proprio nulla: tutte le istruzioni relative ai siti, ma ho un bot e lì devo agire in modo leggermente diverso. Di conseguenza, ho deciso di scrivere all'autore dell'articolo sul bot e chiedergli quale server utilizza per ospitare il bot. E poi la fortuna mi ha sorriso: l'autore si è rivelato un programmatore molto bravo (sono ancora in contatto con lui) e mi ha offerto di ospitare il bot sul suo server Linux (e se conosco Linus, mi assegnerà un account). L'apprendimento iniziale di Linux è durato un giorno e, ovviamente, non senza errori e difficoltà, il bot ha iniziato a girare sul server. Inoltre, tra tutto questo, ho completato il corso JavaRush e sono rimasto molto soddisfatto :) Ho scelto MySql come database per il bot, ho rivisto molte lezioni sull'ottimizzazione delle tabelle, sulla scelta di un motore e tutto il resto. Vorrei dare un consiglio a tutti coloro che realizzeranno il loro primo progetto: provare a pensare immediatamente all'intera struttura e costruire almeno un'architettura relativamente espandibile. Ho riscritto il mio probabilmente 3 volte a causa di tali errori. Sì, è difficile, perché molto spesso non sai cosa vuoi aggiungere accanto al tuo progetto, ma puoi comunque farlo ad un livello minimo. Non scrivere tutto il codice in una lezione!!! Prova a utilizzare MVC, ricorda OOP, ecc. La cosa divertente è che ho iniziato a utilizzare alcuni principi di base dell'OOP nel progetto quando era quasi pronto. Prima di questo non ci avevo nemmeno pensato. Naturalmente, all'utente generalmente non interessa in quale lingua è scritto il prodotto, quali modelli e tecnologie vengono utilizzati, ma quando lo apri dopo un paio di mesi e vuoi aggiungere qualcosa lì, penserai molte buone parole su di te :) Inoltre, non dimenticare la registrazione: questo ti consente sia di tenere traccia degli errori sia di vedere quali funzioni utilizzano di più gli utenti e cosa deve essere ulteriormente sviluppato. In un telegramma, a proposito, puoi farlo in un modo molto interessante: invia tutti i registri in tempo reale al tuo canale privato, per così dire, puoi creare una sorta di big data :) Per riassumere il primo progetto , ci sono voluti circa 3 mesi per crearlo, ora ci sono più di 14mila utenti registrati, molti dei quali sono diventati clienti abituali e studiano parole straniere ogni giorno. Secondo progetto. Il mio obiettivo era diventare un programmatore Android, quindi quando ho più o meno finito con il bot, ho deciso di adattarlo alla piattaforma Android. Ho iniziato ad allenarmi con il corso startandroid e il mio migliore amico sviluppatore Android mi ha assegnato molti compiti interessanti, li ha controllati e ha detto cosa doveva essere rifatto e completato. Una volta acquisite le competenze di base, ho iniziato a realizzare la mia candidatura. Come per il primo progetto, ci sono state molte difficoltà diverse, ma se lo prendiamo nel suo insieme, un po' meno. In circa un mese e mezzo la prima versione beta era pronta (ho dovuto riscrivere l'intero design dell'applicazione un paio di volte, poiché non avevo idea di come sarebbe stata). Quindi mi sono registrato come sviluppatore su Google Play e l'ho caricato sul mercato. Ultimamente sto ottimizzando e sincronizzando i miei due progetti. Per il database generale ho scelto Firebase: ottima documentazione, molte lezioni e per piccoli progetti la versione gratuita da 1 GB di volume è più che sufficiente. Se parliamo brevemente delle maggiori difficoltà nel secondo progetto (penso che alcune di queste difficoltà sorgano anche per sviluppatori esperti), allora si tratta della creazione del multi-threading in Android, di molti problemi con le dimensioni e le estensioni dello schermo, per creare il design ho dovuto fare amicizia con Photoshop, supportare le vecchie versioni di Android e inoltre non usare mai Recycler View se hai un'animazione nella tua lista :) Dopo che Yandex è stato bloccato in Ucraina, ed è lì che ottengo la maggior parte delle traduzioni e dei messaggi vocali dopo aver sprecato molte parole, ho dovuto aggiungere ulteriori controlli al codice e semplicemente informare gli utenti di utilizzare VPN. Sono sorte difficoltà anche durante la registrazione su Google Play: per diventare uno sviluppatore è necessario pagare una tariffa una tantum di 25 dollari (a differenza dell'Apple Store). Quando ho pagato, c'era un limite sulla mia carta e il mio pagamento si è bloccato. Ho dovuto parlare con l'assistenza di Google e, in genere, mi mandavano da un operatore all'altro, finché non mi sono accorto che mi mandavano solo gentilmente :) Ho dovuto cancellare tutto e registrarmi di nuovo (ci avrei pensato subito ). Qualche parola in più sulla promozione dei vostri progetti.Con il bot, le cose sono state un po' più semplici: l'idea stessa dei bot è relativamente nuova (non sono entrata nel mainstream, ma va comunque bene). C'è una directory di bot, VK, gruppi FB e altre risorse. Adesso il mio bot è al 5° posto nella sezione didattica e per me questo è un ottimo risultato. Per avanzare nel catalogo dei bot, devi essere valutato. Ho fatto una proposta di voto all'utente, che avviene una sola volta (io stesso non amo l'invadenza), quando l'utente gioca un certo numero di giochi (come se passasse del tempo nel bot). Con l'app Android le cose vanno molto peggio. Dirò una cosa: senza pubblicità, nessuno noterà la tua applicazione sul mercato, nemmeno per parole chiave, poiché ce ne sono milioni lì. Dopo aver sincronizzato i progetti, ho pubblicizzato la mia applicazione nel bot. Successivamente, ho ottenuto i primi 14 download :) Se qualcuno ha letto fino a questo punto, ecco un collegamento all'applicazione, se sei interessato: l' applicazione Words Android . Il collegamento al bot si trova nell'articolo a riguardo un po' più in alto nel testo. Grazie a tutti per l'attenzione. Nella seconda parte ti racconterò la mia esperienza di colloquio, le domande che mi hanno posto e la ricerca di lavoro in generale.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION