JavaRush /Java блогы /Random-KK /Java. Әрекет ету жоспары

Java. Әрекет ету жоспары

Топта жарияланған
Java.  Іс-шаралар жоспары – 1

Мазмұны:

  1. Бөлім нөл – Java Core
  2. Құралдар
  3. JDK API
  4. Java 8-де қандай жаңалықтар бар
  5. SQL, деректер қоры, JDBC
  6. Фреймворктер
  7. Тестілеуге арналған кітапханалар мен фреймворктер
  8. Қызметтік кітапханалар
  9. API клиенттері
  10. Дизайн үлгілері
  11. Қосымша білім
Әлеуетті Java Junior бірінші жұмысқа орналасу немесе кем дегенде жақсы компанияда Тәжірибеші лауазымына өтініш беру үшін не білуі керек? Java бағдарламашысына келесі деңгейге жетуге қандай құралдар көмектеседі? Қандай технологияларды оқып, қайсысын кейінірек қалдыру керек? Бұл сұрақтарға стандартты жауап жоқ, өйткені барлығына сәйкес келетін бірде-бір әрекет жоспары жоқ. Кейбір компаниялар дамуға ұмтылады, үнемі жаңа технологияларды енгізеді және тілдің жаңа нұсқаларының мүмкіндіктерін сынайды, ал басқалары ескілеріне табанды түрде жабысады. Сондай-ақ «ортаңғы» опциялар бар және, мүмкін, олардың көпшілігі бар. Дегенмен, біз Java әзірлеушісі үшін жол картасын немесе жол картасын жасадық. Мұны мүмкіндігінше қарапайым ету үшін біз «яваисттердің» басым көпшілігіне қажет технологиялар мен тақырыптарды ғана көрсеттік . Барлығын егжей-тегжейлі зерделеу қажет емес екенін есте ұстаған жөн (жоғарыда айтылғандардың кейбірін топта жұмыс істеу арқылы ғана меңгеруге болады), бірақ олар туралы жалпы түсініктің болуы зиян тигізбейді.

0. Бөлім Нөл – Java Core

Java тілін енді ғана үйренуді жоспарлап, неден бастарын білмей жүрген адам осында келе ме деп, мақалаға нөлдік бөлімді енгіздік. Java Core - бұл тіпті жаңадан бастаушылар өте жақсы білуі керек нәрсе. Яғни, негізгі нәрселерді білу, белгілі бір мәселені шешу үшін тілдің не ұсынатынын түсіну және қарапайым жағдайларда бұл білімді қолдана білу. Сіз JavaRush жүйесінде Java Core тәжірибесін қолдана аласыз, егер сіз мұны әлі жасамаған болсаңыз, сізді курсқа шақырамыз ! Барлық басқалар үшін Java Core негізгі кезеңдерін еске салайық:
  • Негізгі Java құрылымдары, операторлары және деректер түрлері
  • OOP және оны Java тілінде енгізу
  • Ерекшеліктер
  • Java жинақтары
  • Генериктер
  • Көп ағынды

1. Құралдар

IDE немесе біріктірілген әзірлеу ортасы

Қазіргі заманғы әзірлеушінің негізгі құралы - IDE. Бүгінде нарықта олардың көпшілігі бар, бірақ кәсіби Java әзірлеуде әдетте екі атау бар. Бұл көптеген жылдар бойы алақанды ұстайтын плагиндерге негізделген тегін Eclipse және соңғы жылдары Eclipse-ті белсенді түрде ығыстырып жатқан IntelliJ IDEA және бұл Ultimate нұсқасына жазылу қажет болғанына қарамастан. кәсіпқойлар ақша талап етеді. Естеріңізге сала кетейік, JavaRush курсында біз Ultimate-пен салыстырғанда белгілі функционалдық шектеулері бар Community IntelliJ IDEA тегін шығарылымын қолданамыз. «Мен IDE-ді білемін» тіркесі сіз әзірлеу ортасының негізгі мүмкіндіктерімен таныс екеніңізді, файлдарды құрастыруды, іске қосуды, жөндеуді және тексеруді және рефактор codeын білуді білдіреді. Жылдам пернелерді меңгеру жұмысыңызды тездетуге жақсы көмек болады. Жалқау болмаңыз, сіз білмеген IDE мүмкіндіктері туралы бірнеше сағатыңызды біліп, оларды іс жүзінде қолдана бастаңыз. Түзетуді елемеңіз, бұл өте пайдалы дағды. Бұл әрекеттердің барлығы сіздің жұмысыңыздың жылдамдығы мен сапасын айтарлықтай жақсартуға көмектеседі.

Автоматты құрастыруға арналған құралдар

Бүгінгі таңда Java жобалары көбінесе Maven және Gradle сияқты құралдарды пайдаланады. Оларды мұқият зерттеудің қажеті жоқ, бірақ олардың бір-бірінен қалай ерекшеленетінін, неге негізделгенін, қандай тапсырмалар (Градлда) және Мавендегі мақсаттары бар фазаларды түсіну пайдалы болады. Жүйелер туралы оқып, оларға бірнеше шағын жобаларды орналастыру жеткілікті болады. Мұны істеу өте қарапайым және сіз нақты жұмыс жағдайында егжей-тегжейлерді түсінесіз.

Нұсқаларды басқару жүйелері және онлайн хостинг қызметтері

Нұсқаларды басқару жүйесі - бағдарламашыларға ортақ жобада оны «бұзбай» жұмыс істеуге, әртүрлі адамдар жасаған codeтың бөлек бөліктерін синхрондауға, сәтсіз жаңартуларды кері қайтаруға және жаңаларын қосуға көмектесетін нәрсе. Ең көп таралғаны екі нұсқаны басқару жүйесі. Олардың бірі таратылған және Git деп аталады, екіншісі орталықтандырылған, SVN (aka Subversion) деп аталады. Бүгінгі таңда Git іс жүзінде стандарт болып табылады. Бұл жүйемен жұмыс істеу ыңғайлы және оңай, оны барлық IDE (сонымен қатар SVN) қолдайды. Git-пен жұмыс істеуді тез және оңай сынап көруге болады, бақытымызға орай, Интернетте бұл тақырып бойынша көптеген ақпарат бар. Мысалы, орыс тілінде қол жетімді GitHowTo интерактивті оқулығы (өте жылдам өтеді). Жаңадан бастаушы әзірлеушіге нұсқаларды басқару жүйелеріне арналған онлайн хостинг қызметтерін меңгеру өте маңызды. Көбінесе олар Git негізінде жасалады және Git платформалары деп аталады (бірақ олардың кейбіреулері әртүрлі нұсқаларды басқару жүйелерімен жұмыс істей алады). Олардың ең танымалы - GitHub. BitBucket және GitLab да өте кең таралған. Бұл жүйелер codeты сақтауға және алуға көмектеседі, сонымен қатар Git жасай алатын нәрсені пәрмен жолы арқылы емес, интерфейс арқылы жасайды. GitHub сонымен қатар codeты тексеруге және мәселелердің шешімдерін тікелей сайтта ұсынуға мүмкіндік береді. Онда сіз басқа біреудің ашық бастапқы codeы жобасын таба аласыз және оны жақсарту үшін өзіңіздің шешімдеріңізді ұсына аласыз. Негізінде, GitHub - әзірлеушілерге арналған әлеуметтік желінің бір түрі. Сондықтан әлі жоқ болса, GitHub сайтында тіркелгі жасап, жобаларыңызды сонда орналастырыңыз. Сондай-ақ GitLab және BitBucket туралы оқыңыз, егер сізде уақыт болса, оларды қолданып көруге болады, олардың тегін нұсқалары бар. Айтпақшы, бұл платформалардың барлығы заманауи IDE-мен толықтай біріктірілген. Java.  Іс-шаралар жоспары – 2

2. JDK API

Бұл бөлім қазіргі заманғы Java әзірлеушісі сенімді түрде білуі керек JDK API интерфейстерін көрсетеді. Бағдарламашыға бұл кітапханалардың бастапқы codeын мезгіл-мезгіл қарап, оларды шарлау және оларды қашан және не үшін пайдалану керектігін түсіну зиян тигізбейді. Жанама әсері: егер сіз осы API интерфейстерін жақсы меңгерген болсаңыз, сұхбатыңызға оңайырақ өтуіңіз мүмкін.

Java Collections Framework

Java Collection Framework Java тілінің ең маңызды API интерфейстерінің бірі болып табылады және оны әрбір әзірлеуші ​​білуі керек. Ол Java тіліндегі тізім, байланыстырылған тізім, жиын, стек, кезек, хэш кестесі және т.б. сияқты стандартты деректер құрылымдарының интерфейстері мен іске асыруларының иерархиясын білдіреді. Әзірлеуші ​​ArrayList, HashMap, HashSet, LinkedHashSet, TreeSet және т.б. сыныптарды жақсы түсінуі және олардың қасиеттері туралы білуі керек. Атап айтқанда, стандартты операциялар (индекс, іздеу, кірістіру, жою) үшін белгілі бір жинақтың уақыт пен жады шығындарын түсінуіңіз керек және осының негізінде оларды жобаларыңызда дұрыс қолданыңыз. Java-дағы жинақтар өте жақсы жүзеге асырылады, бірақ қажет болған жағдайда әзірлеуші ​​​​өзінің іске асыруын ұсына алады. Жинақтарды жақсы меңгерген бағдарламашы бұрыннан жазылған сабақтарда логиканы кеңейте немесе қайта анықтай алады немесе бәрін нөлден бастап жүзеге асыра алады.

Java Concurrency API

Java бастапқыда параллельді бағдарламалауды қолдауға арналған және 5.0 нұсқасынан бастап тіл параллель ағындар үшін жоғары деңгейлі API интерфейстерін қамтиды. Сондықтан құзыретті Java әзірлеушісі жай ғана көп ағынды жақсы түсінуі және java.util.concurrent.* пакеттеріндегі негізгі API интерфейстерін түсінуі керек . Кем дегенде, Thread, Runnable, нысанды құлыптау және синхрондау деген не екенін біліп, нақты түсінуіңіз керек. Тығырықтан шығу, өмір сүру, жарыс жағдайлары және мұнымен не істеу керектігін түсінуді ұмытпаңыз. Өзіңізді сенімді сезіну үшін java.util.concurrent.* сайтынан синхронизаторларды үйреніңіз, мысалы, Semaphore, CyclicBarrier, CountDownLatch, Phaser, Exchanger<V>, CompleteableFuture және т.б. Сондай-ақ Callable және Future интерфейстері.

Java I/O API

Жаңадан бастаған әзірлеушілер жиі Java енгізу/шығару және Java блокталмаған енгізу/шығын терең зерттеуді елемейді . Бірақ бекер: бұл Java API интерфейстері ағындармен жұмыс істеуді жеңілдетеді және нақты қолданбаларда үнемі қолданылады. Әсіресе Java IO API өзегі болып табылатын java.io бумасындағы File, InputStream, OutputStream, Reader және Writer сияқты сыныптар. Java блокталмаған енгізу/шығару (java.nio) – өнімділігі жоғары енгізу/шығару операцияларын жүзеге асыруға арналған қолданбалы бағдарламалау интерфейстерінің жинағы. Оларға, атап айтқанда, ByteBuffer, FileChannel және Selector, т.б. Бұл API интерфейстерін түсіну қиынға соғады, өкінбейсіз.

Құрылғы класы Объект

Объектінің суперсыныбын түсінгеннен кейін, сіз белгілі бір мағынада OOP құрылымы мен көптеген процестерді жақсырақ білетін «ана Java динамигі» боласыз. java.lang.Object класы класс иерархиясының ең жоғарғы жағында орналасқан. Не болып жатқанын жақсырақ түсінуден басқа, сыныптың әдістерін білу сұхбатты әлдеқайда жеңілдетеді — сұхбат берушілер үміткерлерді Object сыныбымен және оның an objectілерімен сынауды жақсы көреді.

3. Java 8-дегі жаңа мүмкіндіктер

Java 8 шығарылғаннан бері уақыт өткеніне және басқа нөмірленген жаңартулар пайда болғанына қарамастан, бұл сегізінші нұсқа болды. Ол Java тілінде бағдарламалау тәсілдерін жеңілдететін және белгілі бір мағынада өзгертетін маңызды жаңалықтарды енгізді. Сіз лямбда өрнектерін, сондай-ақ Java 8 жүйесіндегі Stream API және жаңа күн мен уақыт API интерфейстерін қалай пайдалану керектігін түсінуіңіз керек.

4. SQL, мәліметтер қоры, JDBC

Бірнеше Java әзірлеушілері өз жұмысында SQL сұраулары мен деректер қорын кездестірмейді. Сондықтан SQL және реляциялық деректер қорының не екенін, олардың қалай жұмыс істейтінін түсіну және екі кестені біріктіру үшін қарапайым сұрауларды жаза білу маңызды. Оқыту үшін сіз PostgreSQL немесе MySQL сияқты ДҚБЖ бірімен жұмыс істеп көруге болады . Сондай-ақ реляциялық емес дерекқорлар, noSQL тәсілдері және құжатқа бағытталған MongoDB ДҚБЖ-мен үстірт танысу туралы негізгі білім алу жақсы болар еді . Таза Java тіліндегі дерекқорлармен жұмыс істеу үшін JDBC стандартын бір аттас API-мен бірге пайдалануға болады. Ол JDK құрамына кіретін java.sql бумасы ретінде жүзеге асырылады. Бүгінгі күні ол өзінің таза түрінде сирек пайдаланылады, бірақ оны ескі қолдау бағдарламаларында жиі табуға болады және қазіргі заманғы және жалпы қабылданған құралдар көбінесе осы стандартқа негізделген.

5. Фреймворктар

Кіші Java әзірлеушісіне қойылатын талаптардың арасында бүгінде сіз «Көктем, күту, көктемгі жүктеу туралы білімді» көбірек таба аласыз. Бұл технологияларды өз бетімен үйрену өте қиын міндет, бірақ соған қарамастан, бұл мүмкін, әсіресе үстірт деңгейде. Жұмыс істеген сайын тереңірек түсінік пайда болады. Сонымен.

Көктемгі шеңбер

Қазіргі уақытта Java-да жасалған барлық дерлік қолданбалар Spring Framework пайдаланады. Бұл қуатты құрылым арнайы координаттар жүйесін, қосымша құрастырылатын магистралды қамтамасыз етеді. Spring қолданбасын тексеру және қолдау оңайырақ. Және бәрі тәуелділік инъекциясының арқасында.

Күту күйі

Java әзірлеушілері үшін тағы бір маңызды жүйе - Күту күйі. Ол JPA (Java Persistence API) спецификациясын жүзеге асырады, ол an objectілік қатынасты салыстыру (ORM) мәселелерін шешеді. Java қосымшаларының көпшілігі дерекқорлармен өзара әрекеттеседі және егер реляциялық деректер базасы туралы айтатын болсақ, олармен күту режимінсіз жұмыс істеу ыңғайсыз. Бұл құрылым әзірлеушілерге бірқатар маңызды мүмкіндіктерді, атап айтқанда, кэштеу және қораптан тыс транзакцияларды қамтамасыз етеді, бұл өз кезегінде олардың күш-жігерін қолданба логикасын дамытуға шоғырландыруға мүмкіндік береді және реляциялық дерекқорлармен жұмыс істеу кезінде бағдарламашыны көптеген төмен деңгейлі тапсырмалардан босатады. . Бұл әзірлеуші ​​өнімділігін айтарлықтай жақсартады.

Көктемгі MVC

Бұл құрылым бос байланысқан дайын құрамдастарды пайдалана отырып, Үлгі - Көрініс - Контроллер үлгісіне сәйкес қолданбаны әзірлеуді қамтамасыз етеді. Бұл үлгіні (дизайн үлгілері төменде талқыланады) және Spring MVC логикасын зерттеңіз. Іс жүзінде ол жиі қолданылады.

Көктемгі аяқ киім

Дұрыс дағдымен Spring Java қолданбасын жасауды жеңілдетеді. Өз кезегінде Spring Boot Spring негізінде Java қосымшасын жасауды жеңілдетеді. Spring Boot аз күш жұмсап іске қосуға болатын толыққанды Enterprise Spring қолданбаларын оңай жасауға мүмкіндік береді: автоконфигурация Spring қолданбаларын конфигурациялауға байланысты көптеген қиындықтарды жояды.

6. Тестілеуге арналған кітапханалар мен фреймворктар

Кейбір болашақ әзірлеушілер тестілеу codeы олардың мүлде емес, тестерлер деп аталатын арнайы адамдарға қатысты екеніне сенімді. Іс жүзінде бұл мүлдем олай емес. Тестілеу, әсіресе бірлік тестілеу (көбінесе бірлік тестілеу деп аталады) әрбір бағдарламашы үшін өте маңызды дағды болып табылады. Сонымен қатар, өз міндеттерін жаңадан бастаған жаңадан келгендерге көбінесе біреудің codeын бірлік сынақтарымен жабу тапсырылады. Сондықтан JUnit кітапханасын үйренуді және codeыңыз үшін бірлік сынақтарын жазу әдетін дамытуды ұсынамыз. Сондай-ақ, жалған тәуелділік сыныптарын жасау үшін JUnit көмегімен пайдалануға болатын Mockito құрылымын тексеріңіз.

7. Қызметтік кітапханалар

Java-да әзірлеушіге кез келген дерлік мәселені шешуге көмектесетін көптеген сервистік кітапханалар бар. Олардың барлығын зерделеу мүмкін емес және мұны істеудің нақты мағынасы жоқ. Бірақ олар арқылы шарлау - тамаша идея. Мұнда біз тәжірибеде жиі қолданылатындардың бірнешеуін ғана атап өтеміз.

Журналға арналған кітапханалар

Ең алдымен, log4j және Slf4j атап өтуге болады . Бұл кітапханалар Java қолданбалары іске қосылған кезде орын алатын күнделікті тіркеу операцияларының орындалуын жасыруға арналған.

JSON үшін кітапханалар

JSON, ақпаратты клиенттен serverге тасымалдау пішімі бүгінгі таңда ең жиі қолданылатын пішім болып табылады. JSON-пен жұмыс істейтін бірнеше жақсы кітапханалар бар, олардың ең танымалы Джексон және google-gson .

Google Guava

Guava — Google әзірлеген негізгі Java кітапханалары бар жоба. Мұнда сіз коллекциялардың жаңа түрлерін (көп карта, мультисет және т.б.), өзгермейтін жинақтарды, графиктерді, функционалдықтарды, параллелизмге арналған утorталарды, енгізу/шығару, хэштеу, жолды өңдеу және т.б. таба аласыз.

Apache Commons

Commons - әртүрлі мақсаттарға арналған көптеген пайдалы Java утorталары бар үлкен жоба. Осылайша, Apache Commons кітапханалары Tomcat, Hibernate және басқа да бірқатар ірі жобалардың негізінде жатыр. Apache Commons-те көптеген кітапханалар бар. Енгізу/шығару операцияларын жеңілдететін Commons IO, csv файлдарымен жұмыс істеу үшін Commons CSV, күрделі математикалық және статистикалық операциялармен және есептеулермен жұмыс істеу үшін Commons Math, пәрмен жолы аргументтерін талдау үшін Commons CLI туралы айта кетейік.

8. API клиенттері

REST — адам оқи алатын пішімдегі желі арқылы ресурстарға қол жеткізуге арналған соңғы нүктелерге арналған атау мәнері. Қазіргі заманғы Java әзірлеушісі үшін REST идеологиясын түсіну, сонымен қатар REST клиентін жасау үшін өте пайдалы кітапхана болып табылатын Spring RestTemplate бағдарламасын білу жақсы .

9. Дизайн үлгілері

Егер бастаушы әзірлеуші ​​дизайн үлгілерімен, яғни Java бағдарламалаудағы әдептілік ережелерімен таныс болса, тіпті оларды іс жүзінде қолдануды білсе, ол еңбек нарығындағы өзінің құндылығын бірден арттырады. Жаңадан бастаушылар үлгілерді жиі елемейді, өйткені олар оқу кезінде күрделі қосымшаларды сирек жасайды. Дегенмен, егер үлгілер маңызды жобаларға қолданылмаса, codeты сақтау және бейімдеу өте қиын міндет болады. Сондықтан жалқау болмаңыз, үлгілерді зерттеңіз және оларды жеке жобаларыңызда қолданыңыз. Сіздің болашақ жұмыс берушіңіз бұл үшін өте риза болады.

10. Қосымша білім

Алгоритмдер және деректер құрылымдары

«Алгоритмдер және деректер құрылымдары» техникалық университеттерде оқытылатын тұтас курстың атауы. Ол әртүрлі деректер құрылымдарын құрудың теориялық негіздерін ашады. Ал практикалық сабақтарда олармен жұмыс істеуді үйренеді – мәліметтерді қою және алу, оларды іздеу және сұрыптау. Шын мәнінде, бұл тіркестегі «Алгоритмдер» дәл сұрыптау мен іздеуді білдіреді. Осы жылдар ішінде компьютер ғалымдары көптеген алгоритмдер жасады. Олардың кейбіреулері білім беру сипатында, өйткені жүзеге асырудың салыстырмалы жеңілдігіне қарамастан, олар пайдалануда өте тиімді емес. Мысалы, олар баяу жұмыс істейді, бұл үлкен деректер пулдарында байқалуы мүмкін. Немесе олар жадты көп пайдаланады. Басқа алгоритмдер өте тиімді болып шықты. Олар көптеген бағдарламалау тілдерінің ресми кітапханаларына енгізілгені сонша. Тиісінше, бүгінгі күні мұндай алгоритмдерді дербес әзірлеу қажет емес. Олардың қайда екенін білу жеткілікті. Дегенмен, тәжірибелі әзірлеушілердің көпшілігі жаңадан бастаушыларға «алгоритм мектебінен» өтуге кеңес береді - оларды оқу кезінде өздігінен жүзеге асыру. Бұл бағдарламашы ойлауын дамытады. Бұл сұхбатта да көмектеседі; олар сұрыптау және іздеу мәселелерін сұрағанды ​​ұнатады.

Сервлеттер

Сервлет – пайдаланушы сұрауын өңдеу тәсілі. Бүгінде олар барлық жерде қолданылмайды және әрқашан емес, бірақ олар туралы түсінік алу пайдалы болады.

HTML және CSS

Әрбір адам орналасу негіздерін білуі керек. Бұл білімді алу өте оңай, егер сіз оны әлі жасамаған болсаңыз, осы әрекетке бірнеше күн арнаңыз. Бұл ретте күрделі тақырыптардан үзіліс жасайсыз.

XML

Кеңейтілетін белгілеу тілі бұрын Java әзірлеуде барлық жерде болған. Ол бірте-бірте JSON-ға ауыстырылады, бірақ XML әлі күнге дейін қолданылады. Үйрену қиын емес, сондықтан бұл тілге аздап көңіл бөлуге болады.

JavaScript

Әзірлеушілерге жүргізілген сауалнамалар көрсеткендей, тіпті фронтальды әзірлеуге мүлдем қатысы жоқ адамдар кейде JavaScript-те сценарийлер жазған. Бұл тілдің негіздерін білу әдептілік ережесі деп санауға болады, сондықтан жалқау болмаңыз, бұл туралы оқып шығыңыз және ондаған немесе екі сценарий жасаңыз. Бұл артық болмайды.
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION