«Аз ин дастовардҳои технологии сохтаатон аз ҳад зиёд фахр накунед. Қобorяти нобуд кардани сайёра дар муқоиса бо қудрати Қувва ҳеҷ чиз нест." - Дарт Вадер дар Ситораи марг.
Муқаддима
Эҳтимол, ду қисмати навбатии силсилаи мақолаҳо барои бисёриҳо интизори бештар доранд ва бесабаб нест. Аз уфуқ, берун аз Ёваи пок чӣ ҳаст? Таҳиягарони Java дар ҳар як лоиҳа чӣ нафас мегиранд? Инро як дастури воқеии худомӯзӣ барои ҳама муҳандиси миёнараве , ки забони асосии барномасозии он Java мебошад, баррасӣ кунед. Ман ният дорам, ки то ҳадди имкон ҳисоби миёнаи беморхонаро фаро гирам ва на танҳо чаҳорчӯбаҳои маъмултарин, балки қарорҳоеро, ки дар айни замон мувофиқанд, тавсиф кунам. Табиист, ки асбобҳои зиёде мавҷуданд ва фаҳмиш, ки муҳимтарин ва беҳтарин аст, роҳи ба ҳеҷ ҷое нест. Ҳар яки шумо ба бахши "Ҷойҳо" дар DOU назар кардед ва як қатор технологияҳоро пайдо кардед, ки аз ҷои холӣ ба ҷои холӣ пайваста такрор мешаванд. Ман мефаҳмам, ки ҳама чизро тавсиф кардан ғайриимкон аст, аммо таҳияи як чаҳорчӯбаи умумӣ хуб аст, бинобар ин биёед кӯшиш кунем, ки ин самтро риоя кунем. Дар гузашта, дар яке аз лоиҳаҳо, як хиҷолати хеле ҷолибе рӯй дод, ки ба фикрам, барои бисёриҳо дар ин ё он минтақа мунтазам такрор мешуд ва такрор мешавад. Вазифа гузошта шуда буд, ки намоиши як саҳифаи HTML ба функсияи анҷомёфта танҳо барои нишон додани ҳолати an objectҳои алоҳида замима карда шавад. Дар натиҷа, ҳамкасби ман тасмим гирифт, ки thymeleaf баҳорро часпонад, ки як қисми вобастагии асосии худи баҳорро кашид, вақте ки ҳеҷ кас Баҳорро истифода намебурд. Ва ин ҳама барои як саҳифаи муқаррарӣ аст, ки танҳо ҳолати 2-3 an objectро нишон медиҳад. "Ман ҳеҷ гоҳ маънои истифодаи ду шамшерро надидаам ... ин ба назари ман як намоиш аст" - Оби-Ван Кеноби. Аз як тараф, таҳиякунанда мушкилотро ҳарчи зудтар ҳал кард, чаҳорчӯбаеро насб кард, ки бо он таҷрибаи истифода дошт ва онро дар тӯли чанд соат ба лоиҳа ворид кард. Аммо аз тарафи дигар, программаи мо калон шуд, бинобар ин саволи оддй ба миён меояд: оё вай кори дуруст кард? Барои чунин вазифаҳои атомӣ, вақте ки шумо аниқ медонед, ки ин thymeleaf/Spring MVC ва ғайра калонтар аст. Дар ҳеҷ куҷо истифода намешавад, беҳтар аст, ки онро истифода набаред. Ман ҳамеша аз ибораҳои монанди "Оҳ! Бале, мо дар ин ҷо Hibernate-ро истифода мебарем! Инак, ҳама чиз хуб аст, ORM!" ва вақте ки саволи мантиқӣ дода мешавад, ки оё бо JDBC-и муқаррарӣ дар ин ҷо гузаштан мумкин аст, онҳо китф дарҳам мекашанд. Меъмории оддӣ вуҷуд дорад, ки бояд оддӣ бошад, ки бояд бо тарсу ҳарос муносибат кард, на бо чаҳорчӯбаҳои муд ва супер муосир. Тавре ки Оби-Ван дар боло гуфт, ин ҷуз худнамоӣ чизи дигаре нест, гарчанде ки чӣ тавр истифода бурдани онҳоро донистан лозим аст. Чавони чавон, ба назари ман, аз хама бадбахттарин аст — ин кадар мушаххасот, ин кадар китобхонахое, ки онхоро омухтан лозим аст. Танҳо Java EE дорои ҳуҷҷатҳо тавассути сақф мебошад. Саволе ба миён меояд, ки одами навкор чиро бояд ба дӯш гирад, баъд чиро омӯзад, пас аз Хорстман чӣ кор кунад? Ҷавоби оддӣ: мутаассифона, бо одамони зиёд вохӯред. Ва мо на аз чаҳорчӯбаҳои тиҷоратӣ, балки бо чизҳои зарурии оддӣ оғоз хоҳем кард.Системаҳои оператсионӣ
Linux
Илова ба Windows ва/ё Yosemite бароҳат, шумо бояд дастҳои худро ба Linux бо табассум дароз кунед. Барои баъзе лоиҳаҳо корбар будан ва донистани тарзи истифодаи сатри фармон кофӣ аст, барои дигарон - хеле бештар. Кадом роҳ беҳтар аст? Дар Интернет танҳо даҳҳо китобҳо / дастурҳо мавҷуданд. Бо насб кардани Ubuntu ё ягон тақсимоти дигаре, ки ба шумо маъқул аст, оғоз кунед ва кӯшиш кунед, ки онро ҳамчун системаи асосии оператсионии худ барои як ё ду моҳи оянда истифода баред. Агар шумо омӯзиши Java-ро дар дохor Linux тавассути тартиб додан ва коркарди файлҳо бо истифода аз терминал оғоз кунед, беҳтар хоҳад буд. Хатти фармони Linux аз ҷониби Вилям Шоттс . Ин китобро на ҳамчун романи "50 сояҳои хокистарӣ" хонед, балки ҳамчун курси мукаммали интерактивӣ - терминалро кушоед ва пас аз муаллиф такрор кунед. Оё шумо мехоҳед асосҳо ва чӣ тавр Linux кор мекунад? Биёед курси илмҳои компютерӣ ва системаҳои оператсионӣ нагирем - ин дар қисми оянда аст. Ба edx.org равед ва курси осони Муқаддима ба Linux-ро санҷед . Инчунин китобе аз силсилаи дар боло зикршуда мавҷуд аст, ки чӣ тавр Linux кор мекунад: Он чизеро, ки ҳар як суперкорбар бояд донад, аз ҷониби Брайан Уорд . Нашри хеле тасвиршуда, ки ба шабака, дастгоҳҳо ва идоракунии захираҳо диққат медиҳад. Ба пеш? Як китоби олиҷаноб ҳаст, ки дар омади гап, ман дар ин ҷо ҷое дорам... ҳа (ғуборро меҷунбонад)... ана! Unix ва Linux: Дастури мудири система. Эви Немет. Дастури хеле калон, хуб тарҷума шудааст. Ростӣ, ман шахсан онро азхуд накардаам, аммо ба ман асосҳои маъмурият хеле писанд омад (қисми аввал). Табиист, ки шумо скрипти Shell-ро сарфи назар карда наметавонед. Беҳтар аст, ки ҳамаи инро дар амал санҷед, аммо аз китобҳо шумо метавонед ба Омӯзиши Shell нигаред: Барномасозии Unix Shell аз ҷониби Камерон Нюҳэм. Чунин миқдори зиёди адабиётро дар бораи Linux/Unix пурра фаро гирифтан мумкин нест, махсусан дар ин мақола, ки Linux дар замина аст. Ҳамкасби ман дар ҷои кор, ки сагро дар ин маврид хӯрд, як чизи хеле амалӣ маслиҳат дод: ArchLinux-ро зеркашӣ кунед ва кӯшиш кунед, ки онро фаъол созед. Дар ин раванд шумо чизҳоеро меомӯзед, ки ман намехоҳам!Windows
Дар резюмеи барномасозон сутун мавҷуд аст: "Таҷрибаи Windows зиёда аз 10 сол." Албатта, ман шуморо табрик мекунам, ки шумо аз 10-солагӣ дар Windows бозӣ мекардед, аммо аз шумо хоҳиш мекунам, ки дар мусоҳиба пешакӣ ба худ сӯрох наканед, зеро дар лоиҳае, ки шумо бо он ҳамкории зич доред. IIS, партия / powershell, Худо накунад, реестр, мусоҳиба воқеан душвор нахоҳад буд ва ба ғайр аз табассум дар муқобor шахси нишаста. Лида шумо хам як дози хорй мегиред. Оё ба шумо ин лозим аст? Ҷавоб худашро нишон медиҳад. Windows-и пиратии худро аз ҷӯйе канор гузоред ва кӯшиш кунед, ки онро дар як мошини виртуалии Windows Server насб кунед. Онро на танҳо аз ҷониби корбар ва насби JAVA_HOME омӯзед. Дар робита ба ин, як дастури қариб мукаммал дар шакли китоби Mastering Windows Server 2012 R2 аз ҷониби Марк Минаси мавҷуд аст . Масалан, агар шумо PowerShell-ро истифода баред, китоби аълои Windows PowerShell дар амал аз ҷониби Мэннинг аз Брюс Пайеттро санҷед . Ман мефаҳмам, ки аз 1000 саҳифа гузаштан ғайриимкон аст, аммо ҳадди аққал шумо метавонед онро ҳамчун истинод бо худ нигоҳ доред. Дигар чизе лозим нест, ба фикрам. Дар натиҷа, ба норасоиҳои дониши худ оид ба истифодаи Windows диққат диҳед ва маълумотеро, ки ба шумо маъқул аст, дар Интернет ҷустуҷӯ кунед.Сохтани асбобҳо
Мавен
Муҳимтарин чизеро, ки дар Maven фаҳмидан лозим аст? Инҳо қадамҳои аввалин ва вазифаҳо мебошанд:- Бифаҳмед, ки Maven дар ҳар як марҳила чӣ кор мекунад, шумо ҳатто метавонед онро аз ёд кунед. Ин қариб 80% муваффақият аст ва ба шумо тасвири равшан медиҳад.
- Лоиҳаҳои қуттии қуттии худро ба таври маҳаллӣ бо системаи бисёрмодул бо идоракунии возеҳи вобастагӣ эҷод кунед. Кӯшиш кунед, ки китобхонаҳои тарафи сеюмро замима кунед, кӯшиш кунед, ки бо истифода аз онҳо чизе эҷод кунед.
- Бо профил бозӣ кунед
- Идоракунии плагинҳоро фаҳмед ва рӯйхати плагинҳои маъмултаринро дар вебсайти расмӣ омӯзед.
- Бифаҳмед, ки чӣ гуна шумо метавонед maven-ро дар лоиҳаи худ беҳтар истифода баред. Масалан, сохтмонҳои мувозӣ метавонанд вақти сохтмонро ба таври назаррас кам кунанд.
МОРТ
Ин асбоб хеле осонтар ба назар мерасад, аз ин рӯ дар ин ҷо омӯхтан чизи зиёде нест. Ҳанӯз лоиҳаҳое вуҷуд доранд, ки ANT ягона воситаи сохтмон аст. Ин комилан муқаррарӣ аст: ANT дар заминаи идоракунии вазифаҳои хурди атомӣ (вазифаҳои мӯрча) худро як асбоби содда ва соддаи сохтмонӣ нишон дод. Албатта, дар ин ҷо плагинҳои зиёде мавҷуданд, ба монанди Maven. Барои оғози кор бо ANT, амалҳои зеринро иҷро кунед:- Кӯшиш кунед, ки файлҳо ва ҷузвдонҳоро идора кунед
- Фармоишҳои гуногунро барои иҷрои вазифаҳо иҷро кунед. Дар асоси ин, вобастагӣ ва афзалияти вазифаҳоро дар ANT омӯзед.
- Архивро кушоед ва/ё zip кунед. Дар вазифаҳо, кӯшиш кунед, ки бо мундариҷаи бойгонӣ бозӣ кунед ва ғайра.
Градл
Барои ман, Градл нисбат ба Мэвен ба ANT наздиктар аст, аммо онро комилан бародари ин ду бача номидан мумкин аст. Он дорои давраи зиндагии шабеҳ ба Maven ва чандирии ҳамон вазифаҳое мебошад, ки ANT дорад. Хуб, чизи аз ҳама муҳим он аст, ки Gradle XML-ро истифода намебарад ва илова бар ин, шумо метавонед бо он ҳар чизе ки мехоҳед, иҷро кунед, агар шумо бо Groovy бештар ё камтар шинос бошед. Умуман, як чизи хеле болаззат. Аз истифодаи Ant/Maven/Gradle дар контексти IDE-и худ натарсед. Ин асбобҳо ба Eclipse/IDEA зич муттаҳид шудаанд ва истифодаи ин абзорҳо дар заминаи IDE хеле қулай аст.Интегратсияи доимӣ
Назария
Инҳо барномаҳои фариштаҳое мебошанд, ки шуморо аз барканор шудан муҳофизат мекунанд. Хулоса, ин нармафзорест, ки тағиротро дар code назорат мекунад, санҷишҳои барои шумо навишташударо месозад ва иҷро мекунад. Агар пас аз ҳар як иҷро/якҷоя ҳама чиз хуб бошад, пас сохтмон бо нури гуворо сабз/кабуд медурахшад. Ҳамин ки шумо чизеро вайрон мекунед, системаи CI фавран дар бораи он хабар медиҳад. Бо вуҷуди ин, як назарияи каме - ин классикӣ аст! Интегратсияи муттасил: Баланд бардоштани сифати нармафзор ва кам кардани хатар аз ҷониби Пол Дувалл . (бо забони русӣ "Интегратсияи пайваста") Ин китоб ҳатто эҷоди системаи CI-и шахсии шуморо баррасӣ мекунад. Биёед ду роҳи маъмултаринро дар ин соҳа дида бароем.Ҷенкинс
Ҷенкинс, ака Ҳудсон. Барномаи кушода, дӯстона, осон ба истифода. Барои шиносоӣ бо Ҷенкинс, амалҳои зеринро санҷед:- Онро ба компютери худ зеркашӣ кунед. JDK, Maven, ANT ва ҳама чизеро, ки барои лоиҳа лозим аст, насб ва танзим кунед.
- Аввалин Корро эҷод кунед ва ҷойгиршавии лоиҳаи худро муайян кунед, масалан, pom.xml асосии. Онро иҷро кунед, боварӣ ҳосил кунед, ки шумо ягон намуди санҷиш доред, то он ба таври равшан намоён бошад.
- Иҷрои лоиҳаи худро бо танзимот ва имконоти гуногун омӯзед.
- Плагинҳои гуногунро замима кунед ва бубинед, ки онҳо дар якҷоягӣ бо лоиҳаи шумо чӣ гуна кор мекунанд.
- Сохтани триггерҳо барои корҳои гуногун. Эҷоди қубури хурд.
- DSL-ро омӯзед ва кӯшиш кунед, ки онро бо Ҷенкинс муттаҳид кунед.
- Ғуломро аз компютери дигар насб кунед ва/ё онро як мошини муқаррарӣ барои сохтани сохтмонҳо созед.
- Сохтмони шабона эҷод кунед.
GO TO FULL VERSION