Сәлеметсіз бе! Бүгін біз Java әзірлеушісінің даму жолы және сұранысқа ие болу үшін ол нені білуі керек туралы сөйлесетін боламыз. Сұхбатта кез келген әзірлеуші лауазымға үміткерді «сәтсіздікке ұшыратуы» мүмкін. Мысалы, ол ағымдағы жобада кездескен нақты тақырыптар бойынша сұрақтар қоя бастайды. Бірақ бәрін білмеген дұрыс. Кейбір сұрақтарға жауап бермеуіңіз де қалыпты жағдай. Жалпы, әрбір Java бағдарламашысының әзірлеу туралы негізгі білімі болуы керек. Сонымен, қандай технологияларды «негізгі» деп санайтынын қарастырайық.
Көктемнің не екенін түсіну үшін бірінші орында тұру керек: көктемгі контейнер, бұршақ, DI, IoC және т.б. Сонымен, көктемді пайдалану философиясын түсініңіз. Көктемгі шеңберлерді одан әрі зерттеу осы негізге негізделген. Өзіңіздің шағын қосымшаңызды жасау керек шығар, оған сіз біртіндеп үйренген жаңа технологияларды қосасыз.
Бұрын біз JDBC технологиясы туралы дерекқорға қосылым құру технологиясы ретінде айтқан болатынбыз. Жалпы, технологияны «жалаңаш» пайдалану қазір жобаларда кездеспеуі мүмкін, сондықтан JDBC үйрену қажет емес сияқты көрінуі мүмкін. Бірақ олай емес. JDBC-дің жалаңаш сүйектеріне қарап, сіз технологияны төменгі деңгейде көре аласыз және оның проблемалары мен кемшіліктерін түсіне аласыз. Spring JDBC үйренуді бастағаннан кейін, сіз бұл құрылымның нақты нені жақсартатынын, оңтайландыратынын және біздің көзімізден жасыратынын түсінесіз.
Жалаңаш JDBC сияқты, бұл құрылым бар технологияны, бұл жағдайда күту режимін пайдалануды жақсартады. Күту күйін көктемсіз пайдалануды қарастырсаңыз, көктемгі күту режимін пайдаланудың қандай пайдасы бар екенін түсінесіз.
Бұрын біз JPA туралы және бұл әртүрлі енгізулер бар спецификация ғана екенін айттық. Осы іске асырулардың ішінде Күту күйі идеалға ең жақын болып табылады. Көктемде күту режимін «қақпақтың астында» пайдаланатын және JPA сипаттамаларының идеалына мүмкіндігінше жақын келетін JPA-ның өзінің тамаша орындалуы бар. Бұл технология Spring JPA деп аталады. Айтпақшы, бұл дерекқорға қол жеткізуді айтарлықтай жеңілдетеді. JPA-ны JDBC, Hibernate, Spring JDBC, Spring Hibernate оқымай-ақ үйренуге болады. Бірақ бұл жағдайда дерекқорға қосылу туралы біліміңіз өте үстірт болады.
Бұл технологияның көмегімен біз қолданбамыздың веб-интерфейсін пайдаланушыларға көрсете аламыз және интерфейстің қолданбаның қалған бөлігімен байланысуына мүмкіндік береміз. Технология дисплейге жауапты кейбір қолданба болған кезде де дисплейсіз жұмыс істей алады және сіз RESTful технологиясын пайдаланып сұраулар мен жауаптарды пайдаланып осы қолданбамен әрекеттесесіз. Көктем туралы ақпаратты жақсырақ түсіну үшін YouTube сайтындағы мақалалар мен лекциялардан басқа бірнеше кітапты оқуға болады. Маған Уоллс Крейгтің «Әрекеттегі көктем» кітабы қатты ұнады. Өкінішке орай, орыс тілінде қазір ескірген деп саналатын үшінші нұсқасы ғана бар. Ағылшын тілін жақсы білсеңіз 6 нұсқасын оқуға кеңес беремін. Көктем туралы тағы бір тамаша кітап – «Кәсіби мамандарға арналған 5 көктем». Білу қиынырақ және басынан аяғына дейін оқығаннан гөрі, қолмен ұстаған дұрыс Көктемгі Киелі кітапқа ұқсайды.
Бұл технология көктемді пайдалануды айтарлықтай жеңілдетеді. Мен оны тізімнің соңына қойдым, себебі ол «капюшонның» астында көп нәрсені жасырады және кәдімгі Көктеммен таныс емес адам үшін көптеген нүктелер айқын және түсініксіз болуы мүмкін. Біріншіден, Spring Frameworks қалай жұмыс істейтінін жақсырақ түсіну үшін кәдімгі Spring пайдалану керек, содан кейін Spring Boot пайдаланудың барлық жоғары артықшылықтары. Мен сондай-ақ көктемгі қауіпсіздік және көктемгі AOP-пен танысуға кеңес беремін. Бірақ жоғарыдағы технологиялардан айырмашылығы, бұл екеуін терең білу қазір қажет емес. Бұл технология жаңадан бастаушыларға арналмаған. Әңгімелесу кезінде жасөспірімдерден олар туралы сұралмайды (мүмкін бір үстірт сұрақты қоспағанда). Бұл технологиялардың не екенін және олардың қалай жұмыс істейтінін жалпы оқыңыз. Осы мақалада мен бірнеше рет кітап оқу туралы айттым. Бір жағынан, бұл қажет емес. Сіз бір кітап оқымай-ақ, мақалалар мен оқу бейнелерінен қажеттінің бәрін зерттеп, бағдарламашы бола аласыз. Екінші жағынан, қазіргі уақытта жаңадан бастаған әзірлеушілер үшін нарықтағы бәсекелестік жоғары, бұл жаңадан бастаушы үшін қажетті бастапқы білімнің деңгейін көтереді. Сондықтан, сіз неғұрлым көп білсеңіз, сұхбат алушыны білім деңгейіңізбен таң қалдыра отырып, бірінші жұмысыңызды тезірек таба аласыз. Барлығыңызға рахмет және Java сізбен бірге болсын .
1. Негізгі алгоритмдер
Бағдарламалауды үйренуді бастағанда ең бірінші істеу керек нәрсе (бұл тек Java-ға ғана қатысты емес) - негіздерді талдау. Мысалы, алгоритмдер. Олардың шексіз саны бар және мүмкіндігінше көп алгоритмдерді үйренуге тырыспау керек: олардың көпшілігі сізге пайдалы болмайды. Қажетті минимум білімді « Grocking Algorithms » кітабынан алуға болады . Бұл саяхатты бастау үшін жеткілікті болады, бірақ егер қаласаңыз, Роберт Седгвик пен Кевин Уэйннің « Құрылымдар мен алгоритмдер » немесе «Java тіліндегі алгоритмдер» кітабының көмегімен біле аласыз. Сондай-ақ, информатика негіздері бойынша біліміңізді жетілдіруге кеңес беремін. Мұны JavaRush бағдарламасында CS50 курсы арқылы жасауға болады .2. Java синтаксисі
Алгоритмдердің негіздерін үйренгеннен кейін біз Java синтаксисін үйренуіміз керек. Ақыр соңында, біз барлығымыз Java бағдарламашысы болуды үйренеміз, солай емес пе? JavaRush курсы бұл үшін өте қолайлы. Көптеген тапсырмаларды орындау барысында сіз Java синтаксисін еркін меңгересіз және Java codeын өз ана тіліңіз сияқты көп ойланбастан жазасыз/оқисыз. JavaRush - бұл тәжірибе және оған қосымша, сіз нақты не істеп жатқаныңызды түсіну үшін теорияны қарастыруыңыз керек. Мұны істеу үшін сіз кітаптарды оқи аласыз, мысалы, келесілердің бірі:- « Бірінші Java-ға басшы »;
- Барри Бердтің «Жаваға арналған манен»;
- «Java. Жаңадан бастаушыларға арналған нұсқаулық» Герберт Шилдт.
- «Ява философиясы», Брюс Эккел;
- «Тиімді бағдарламалау», Джошуа Блох;
- «Java. Толық нұсқаулық», Герберт Шилдт.
3. Бағдарламалау үлгілері
Бағдарламалау үлгілері - жиі кездесетін контексте мәселенің шешімін көрсететін кейбір қайталанатын үлгілер. Олардың ішінде әрбір өзін құрметтейтін бағдарламашы білуі керек негізгі, қарапайым үлгілер бар. Бұл тақырыпты түсіну үшін « Алдымен бас. Дизайн үлгілері ». Ол негізгі бағдарламалау үлгілерін нақты түсіндіреді. Бірақ кітапта Java туралы көп айтылады , сондықтан кітапты оқу кезінде сіз осы бағдарламалау тілін меңгеруіңіз керек. Үлгілерге тереңірек ену үшін сіз сондай-ақ «Нысанға бағытталған дизайн әдістері. «Төрттік банда» тобынан «Дизайн үлгілері» ( Төрттік банда: құрамында Эрих Гамма, Ричард Хельм, Ральф Джонсон, Джон Влиссайдс бар авторлар тобы – редактордың ескертпесі) . Осы тақырыпты зерттегеннен кейін сіз codeтың барлық жерінде үлгілерді көре бастайсыз. Бұған, әсіресе көктемде қолданылатын үлгілерге назар аударыңыз , өйткені бұл сұхбаттарда танымал сұрақ.4. Бағдарламалау парадигмалары. Код тазалығы
Стандартты бағдарламалау үлгілерінен басқа, білу қажет әртүрлі принциптер мен парадигмалар бар ( SOLID , GRASP ). Сондай-ақ codeтың таза және оқылатынын қамтамасыз ету қажет. Бұл тақырып бойынша білуіңіз керек нәрсенің бәрі Роберт Мартиннің « Таза code » кітабында немесе Стив МакКоннеллдің «Мінсіз code» кітабын оқып көріңіз.5.SQL
Біздің келесі қадамымыз реляциялық деректер қорының тілін зерттеу - SQL . Мәліметтер базасы - бұл веб-қосымшаның ақпараты (деректері) сақталатын жер. Мәліметтер қоры көптеген кестелерден тұрады (телефоныңыздағы мекенжайлар кітабы осындай кестелердің ең қарапайым мысалы болып табылады). Мәліметтер қоры туралы толығырақ осы мақаладан оқи аласыз . Java әзірлеушілері үшін жауапкершілік аймағы Java қолданбасы ғана емес, сонымен бірге ол өзара әрекеттесетін және деректерді сақтайтын дерекқор болып табылады. Реляциялық (ең кең тараған) деректер қорларында барлық өзара әрекеттесу арнайы тіл – Structured Query Language немесе SQL арқылы жүзеге асады. Бұл тақырыпты түсіну үшін кітаптардың бірін оқу жеткілікті:- Алан Бьюлидің «SQL үйрену»;
- «SQL», Крис Фиаor;
- Линн Бэйлидің «Бірінші SQL басшысы».
GO TO FULL VERSION