Azt akarom, hogy a legjobbak lennék, mint még soha senki ... - 1. rész

Rendben, tehát valószínűleg azért van itt, mert többet szeretne tudni a szoftverfejlesztés világáról, vagy új vagy a kódolás területén, és szeretné tudni, milyen lépéseket kell tennie, vagy talán van tapasztalata az iskolából vagy online tanfolyam, de elakad a szintaxis megtanulása után, és nem tudja, hova tovább menni. Nos, mindenki szívesen látjuk.

Ez a cikk rávilágít arra a helyes lépésre, amelyet megteszek a nagy szoftverfejlesztővé váláshoz tapasztalataim és megértéseim alapján, amikor megpróbálom minden egyes lépést lebontani azon a módon, amely szerintem a legfontosabb töréspont, hogy erős alapot építsünk a lépjen be a kódolás világába. Kiemelném a leggyakoribb hibákat, amelyeket másokat láttam, és talán még a saját hibáimat is (⊙.⊙).

„A legjobb utazás egyetlen lépéssel kezdődik, de nem mindenki teheti meg a csúcs eléréséhez szükséges összes lépést. Nincsenek gyorshivatkozások a sikerhez, minden megtett lépés egy új tapasztalat, megszerzett, felbecsülhetetlen értékű, és nem könnyebben megkereshető. Új magasságok eléréséhez meg kell küzdenie és meg kell őriznie. A fejlesztő csak annyira jó, mint amennyi problémát tapasztalt és megoldott ”

Bár ez az útmutató a leghatékonyabb lesz a hallgatók számára a hosszú szoftverfejlesztési utazásuk elején, remélem, hogy értékes betekintést nyújt majd másokhoz, akik szintén beragadtak. Legyen szó az első évről, a második évről, vagy akár akkor is, ha karrierjük során egy újabb útvonalon vannak.

További beszéd nélkül tegyük meg az első lépést együtt ...

Java - könnyebb C ++

A középiskolában vagy a főiskolán a CS1 (Computer Science 1) és a CS2 Java nyelven is elérhető. Ez nagyon ellentmondásos első nyelv számos okból, de azt hiszem, hogy engem érinti. A Java megtanulása a kód világába való első átjáróként olyan, mint egy madár, amelyet kihúznak a fészkéből, hogy megtanulják, hogyan kell repülni, vagy először kerékpározik kerékpárok nélkül, és így megsérülhet. De később hálás leszel, hogy már korán megszoktad a fájdalmat, mert a Java gyorsan bevezet és beépít benned különféle fogalmakat, például a

  • Tárgyak, primitívek, zárójel és zárójel mind szögletes, mind göndör alakban
  • Nagyon szóbeszédű és statikusan tipikus, robusztus nyelv
  • Számos ismétlődő dolgot gépelhet be újra és újra, amelyek elősegítik a kezdők gépelési sebességét és a kompakt kulcsszavakat, például a String és int

Nagyon ajánlom Charles E. Cook Kék Pelikánját, ez teljesen különbözik minden más unalmas, hosszú és unalmas Java tankönyvtől, hosszú bevezetővel a számítástudomány történetéről és céljairól, vagy szerzőiről, egy egyszerű hello-val egyenesen a lényegre jut. világpélda, amely egyszerűbb gyakorlatokra épít.

Fogsz magadnak egy példányt? Szerezd meg ma az Amazon keménytábláját, és kezdd el a gyakorlatokat az ingyenes BlueJ IDE segítségével

Link a könyvhöz: https://amzn.to/2Y0qzaO

Link a BlueJ IDE-hez: https://www.bluej.org/

Vissza a Java-hoz, határozottan sokkal nehezebb megtanulni, mint egy olyan egyszerű nyelven, mint a Python, de mivel a jövőben nagyobb nehézségeket okoz, amikor a Java-ról egy másik nyelvre, például a Python vagy a JavaScript-re vált, sokkal könnyebb lesz felvenni. és értsd meg, mivel nehézségekbe ütközsz, szemben a Python-ról Java-ra, ami hihetetlenül nehezebb változtatást jelent, mivel meg kell változtatnia az egész gondolkodási folyamatot.

Tehát most, ha már Java-ot készítettél, mi a fő ellenőrző pont, amelyet tudni kell, ha készen állsz a többre? Honnan tudja, mikor tudsz feljebb lépni?

  1. Mindenki az 1. szintről indul. Itt tanulhat meg olyan primitívumokról, mint az intek, a párosok, a logikai elemek és a húrok. Kinyomtathatja a szöveget a képernyőre, kinyomtathatja az egyenleteket, átadhatja a duplákat és fordítva, összeillesztheti a karakterláncokat és számokat, és csak foglalkozhat az alapvető interakciókkal. Itt javasolom, próbáljon meg létrehozni egy Chick-Fill-A vagy (Ide írja be a kedvenc étterem nevét) számológépet, ahol kinyomtat egy gyönyörű üdvözlőképernyőt, megmutatja az ügyfelek megrendeléseit az összeállított értékekre és az adó összegét.
  2. A 2. szint az, ahol a dolgok szórakoznak. Itt bemutatjuk, ha állítások, hurkok, hurkok és szkenner bemenetek a felhasználótól - bonyolultabb, de még mindig nagyon egyszerű programok készítéséhez, mint például a Magic 8 Ball, amely 8 kérdést tesz fel, egy igazi étterem számológép, amely figyelembe veszi a felhasználó által megadott információkat, egy egyszerű szöveges alapú játék, amely hurkokat és inputot használ az alapvető kérdések megválaszolására. Ez messze az egyik legfontosabb szint, tehát szánjon időt arra, hogy megértse, mennyire hatalmasak az állítások és a hurkok, mivel ezek a számítógépes tudomány valódi alapjai itt. Ó, és ne felejtsük el a módszereket. Próbáld meg kitalálni, hogy mi a módszer és hogyan kell azokat használni, mielőtt tovább lépnél a következő szintre, ez sokkal könnyebbé teszi az életed.
  3. Azt hiszem, a legtöbb ember belekerül a kódolásba, mert valamelyikük el akarja készíteni a következő nagy alkalmazást vagy videojátékot, vagy valami szórakoztató és interaktív játékot. Ha ezt a 3. szintet figyelembe vesszük, akkor ez a nagy lépés első lépés a cél felé, ahol a fő benchmark a Hangman szöveg alapú verziójának elkészítése, és még azoknak a tapasztalt fejlesztőknek is szeretném, akik mindenki kipróbálná ezt objektumok, de csak karakterláncok használata nélkül, tehát ez azt jelenti, hogy nincsenek tömbök vagy ArrayLists vagy a String.split (“”). A szakasz korai szakaszában a kód optimalizálásának vagy teljesítésének még a fejében sem kell lennie. Az egyik legnagyobb hiba, amelyet látok az embereknek, az, hogy alábecsüli a Húrok erejét, és hogy mennyire értékesek is, becsületesen bármit meg tudsz csinálni a Húrokkal, az ég a határ. Légy kreatív, gondolkozzon a dobozon kívül, írja le ötleteit papírra, és ne csak a kódot, és ossza meg minden egyes lépést valami kicsire és egyszerűre logikusan, majd próbálja meg kódolni.
  4. Ha elérted ilyen messzire, nagyszerű munka! Tartsd magad hátul, vagy még jobb, ha ugrálsz fel és le és sikoltozva örömmel. Az egyetlen túlélő számára, aki eddig katona volt, őszintén igazán jól teljesítettél, de az utazás csak most kezdődött el. A Hangman után most itt az ideje megismerkedni a Java által kínált adatstruktúrákkal, elsősorban az Arrays, ArrayLists, HashMaps, a Set, a Stacks, a Queue, a LinkedLists és a fákkal. Természetesen nem egyszerre, a 4. szint csak a tömbök és az ArrayList elsajátításáról szól. Próbáljon meg egy kis élelmiszerbolt-szimulációt készíteni, ahol különböző számparancsokat adhat meg, hogy tételeket adjon hozzá, eltávolítson vagy cseréljen a kosárból.
  5. Most, hogy megtanulta a tömb és a tömblisták varázslatát, térjen vissza, és sokkal jobbá tegye a lóherőt. De talán először is megismerheti a Szettet, és ez néhány dolgot megkönnyíthet.
  6. Tanuld meg a Szkennerek használatát a szöveges fájlok olvasásához, majd számold ki, hogy hányszor jelennek meg az egyes betűk először. TIPP: HASH MAP HASZNÁLATA. Nyomtassa ki az egyes betűk számát egy nagy könyvben, például Moby Dick vagy Tales of Two Cities, és kövesse nyomon, hogy mennyi ideig tart. Ez eltarthat egy ideig, de optimalizálást kereshet, hogy ez a folyamat gyorsabb legyen. Ha a kód óráig tart, akkor valami nagyon rosszat csinálsz.
  7. A kötegek, sorok, LinkedListák, fák mind olyan dolgok, amelyeket végül megtanulsz egy adatszerkezet-osztályban, tehát ne aggódj miatta, nem olyan fontos, hogy egy szórakoztató alkalmazást készítsen. Itt szeretném, ha megismerné egy API-t, megismerné a Maven-et, így használhatja valaki másnak a saját alkalmazásában írt kódját valami értelmes elvégzéséhez. Ez egy remek alkalom arra is, hogy megálljon és megtanulja a Github alapjait, mert az egész életében ezt fogja használni. Próbáljon ki egy hírcsatornát a Redditből, vagy nézzen a JavaFX-be, hogy felhasználói felülettel készítsen Desktop alkalmazásokat.
  8. Egy újabb abszolút követelmény, amelyet minden új programozónak meg kell tennie, hogy létrehozzon egy játékot. Most nem olyan dolgokról beszélek, mint a Call of Duty, még nem is gondolok a 3D-re. Csak egy egyszerű 2D játék, amikor először készít egy véletlenszerű képet a képernyőn történő elmozduláshoz, majd hozzáadhat néhány ellenséget a mozgatáshoz, lövedékek lövöldözéséhez, és végül az oldalsó görgetőkhöz és platformerekhez, például Zelda, Mario vagy Pokemon. Ahhoz, hogy megtanuljam, hogyan lehet ezeket elkészíteni a Java-ban, az alábbi webhely az abszolút legjobb hely, azt javasolhatom, hogy erősen használjam fel a 2D-s játékok első tanulásakor. Nagyon könnyű követni azokat az oktatóanyagokat, amelyek az alapokat lefedik. http://zetcode.com/tutorials/javagamestutorial/

Mostanáig az 1–2 éves Java tapasztalattal egyenértékű tapasztalatokat szereztél a HighSchool-ban vagy a College-ban. Ez nem elegendő annak ellenére, hogy valódi munkához vagy akár gyakornoki tevékenységhez ismernie kell, hogyan kell csatlakozni a külső rendszerekhez, hogyan kell REST API-hívásokat kezdeményezni, hogyan kell dolgozni egy felhasználói felülettel valamilyen szinten, és el kell olvasnia az adatbázisba történő írást. Büszkenek kell lenned arra, hogy hol vagy, és hogyan jutottál ide, de ne engedd el önelégülni. Most már a valódi kiindulási vonalon vagy. A csúcs elérésére szolgáló végső útmutató részeként, amely a legjobb szoftvermérnök, és a Java számára a természetes előrehaladás az Android alkalmazásfejlesztés tanulása lesz, mivel az Android Java nyelven íródott. Itt használhatja az elsajátított alapvető logikai készségeket, és csatlakoztathatja azokat felhasználói felülethez, több érzékelőhöz és információhoz, valóban az internethez és az összes olyan képességhez, amely a mai napokban telefonon elérhető - az Ön kagylója.

Ez csak a legjobbakat segítő útmutató első része volt, vigyázz a 2. részre, amely részletesen bemutatja, hogyan válhat professzionális android fejlesztővé a projektek megkezdése és az API együttműködése során. A jövőben előfordulhat, hogy nincs videó sorozat, amely arra készül, hogy mélyrehatóbb gyakorlati és valós életbeli kódolási példákat mutasson be a Hóhérről a JavaFX-t használó asztali alkalmazásra, hagyjon megjegyzéseket arról, mit szeretne látni, és milyen integrációkat szeretne. kész akar lenni, talán valamit a Spotify-val?