Үйлчлүүлэгч тал дээр сервер талын програмчлалын хэлүүд. Вэб хөгжүүлэх хэлийг сонгох. Бүгдэд нэг


Вэб програмчлалын хэл нь клиент тал эсвэл сервер тал байж болно гэдгийг та мэдэх үү? JavaScript, VBS, PHP, PERL. Тэд хэрхэн ялгаатай, хэрхэн ажилладагийг та мэдэх үү? Та сервер гэж юу болохыг мэдэх үү? Та DBMS гэж юу болохыг мэдэх үү? Чи мэдэх үү? Тиймээс энэ нийтлэлийг уншаад олж мэдээрэй :)

1 - Вэб програмчлалын хэлүүд, тэдгээр нь юу вэ?
2 - Үйлчлүүлэгч талын вэб програмчлалын хэлүүд
3 - Сервер талын вэб програмчлалын хэлүүд
4 - Эцсийн хэдэн үг

Вэб програмчлалын хэлүүд, тэдгээр нь юу вэ?

Та хаа нэгтээ зочны ном эсвэл судалгаа үүсгэхийн тулд вэб програмчлалын талаар мэдэх хэрэгтэй гэж уншсан. Та вэб програмчлал гэж юу болохыг сонсож байсан уу? Тиймээс бид уулзсан, учир нь би ч гэсэн эдгээр асуултуудад зовж байсан тул одоо би тэдэнд хариулт өгөхийг хичээх болно.

Вэб програмчлалын хэлүүд нь үндсэндээ интернет технологитой ажиллахад зориулагдсан хэлүүд юм. Зарим нь зөвхөн зарим эх сурвалжтай ажиллахын тулд бүтээгдсэн бөгөөд удаан хугацааны дараа тэд алдар нэр, бүх нийтийн хүлээн зөвшөөрлийг олж авсан (жишээлбэл, PHP). Гэхдээ би янз бүрийн вэб програмчлалын хэл бий болсон түүхийг судлахгүй, учир нь энэ нь энэ нийтлэлийн сэдэв биш бөгөөд хэрэв уншигч сонирхож байвал хөгжүүлэгчийн сайтуудаас олж болно.

Вэб програмчлалын хэлийг клиент ба сервер гэсэн хоёр бүлэгт хуваадаг. Сервер гэж юу болохыг танд сануулъя: энэ нь таны вэбсайтыг хадгалдаг компьютер, аль ч хуудасны хөтчийн хүсэлтийг боловсруулдаг програм юм.

Үйлчлүүлэгчийн хэлүүд

Нэрнээс нь харахад үйлчлүүлэгчийн хэлийг хэрэглэгчийн тал дээр боловсруулдаг бөгөөд энгийнээр хэлбэл, үйлчлүүлэгчийн хэл дээрх програмуудыг хөтөч боловсруулдаг. Үүний сул тал нь скриптийн боловсруулалт нь хэрэглэгчийн хөтчөөс хамаардаг бөгөөд хэрэглэгч таны бичсэн скриптүүдийг ерөнхийд нь үл тоомсорлож байхаар хөтчөө тохируулах эрхтэй байдаг. Гэсэн хэдий ч, хэрэв хөтөч хуучин бол таны найдаж буй тухайн хэл эсвэл хэлний хувилбарыг дэмжихгүй байж магадгүй юм. Орчин үеийн хөтчүүдийн хувьд ийм асуудал гарах ёсгүй, үүнээс гадна програмчлалын хэл нь тийм ч олон удаа (хэдэн жил тутамд) шинэчлэгддэггүй бөгөөд тэдгээрийн хамгийн сайн нь эрт дээр үеэс мэдэгдэж байсан. Мөн хэн ч хөтчийнхөө "Харах" цэсний "Эх код" табыг сонгосноор үйлчлүүлэгчийн скрипт кодыг харах боломжтой (эсвэл үүнтэй төстэй зүйл).

Үйлчлүүлэгчийн хэлний давуу тал нь ийм хэл дээрх скриптүүдийг сервер рүү баримт илгээхгүйгээр боловсруулах боломжтой байдаг. Үүнийг жишээгээр тайлбарлахад илүү хялбар болно: хэрэглэгч имэйлээ зөв оруулсан эсэхийг шалгах хэрэгтэй гэж бодъё (жишээлбэл, "@" байгаа эсэхийг шалгана уу); Үүнийг хийхийн тулд хэрэглэгч бөглөсөн өгөгдөл бүхий маягт илгээж, түүнийг боловсруулж дуустал хүлээх хэрэгтэй бөгөөд зөвхөн дараа нь алдааны мэдэгдэл хүлээн авна (мэдээж байгаа бол). Процесс хэтэрхий урт байна. Үйлчлүүлэгчийн хэлээр програм нь илгээхээсээ өмнө маягтыг зөв бөглөсөн эсэхийг нэн даруй шалгаж, шаардлагатай бол алдаа харуулах болно. Энэ нь үйлчлүүлэгчийн програмчлалын хэлийг ашигласнаар серверт юу ч бичих боломжгүй, өөрөөр хэлбэл зочны ном үүсгэхэд ашиглах боломжгүй, учир нь та сервер дээрх зарим файл руу мессеж бичих шаардлагатай болдог.

Үйлчлүүлэгчийн хамгийн түгээмэл хэл бол Netscape (www.netscape.com, та тэдний Netscape Navigator хөтчийг мэддэг байх гэж бодож байна) SunMicrosystems (www.sun.com)-тай хамтран бүтээсэн JavaScript юм. Өөр нэг үйлчлүүлэгчийн хэлний сонголт бол жишээ нь VisualBasicScript (VBS) юм. Үйлчлүүлэгчийн вэб програмчлалын хэлийг сурч эхлэхийн тулд танд энэ хэлийг (Internet Explorer (www.microsoft.com), Opera (www.opera.com), Netscape Navigator (www.netscape.com), Mozilla () дэмждэг хөтөч хэрэгтэй болно. www.mozilla .org), тохиромжтой сонголтууд байх болно (би хувьдаа би сүүлчийнх нь ашигладаг)) болон сургалтын материалыг alepira.ural.ru вэбсайтаас олж болно.

Серверийн хэлүүд

Тэгэхээр одоо сервер талын програмчлалын хэл дээр скриптүүд хэрхэн боловсруулагддагийг харцгаая. Эхлэхийн тулд би дараах диаграммыг өгөх болно.

Хэрэглэгч хуудасны хүсэлт гаргах үед (түүний холбоосыг дагаж, эсвэл хөтчийнхөө хаягийн мөрөнд хаягаа оруулдаг) дуудагдсан хуудсыг эхлээд сервер дээр боловсруулдаг, өөрөөр хэлбэл хуудастай холбоотой бүх скриптийг гүйцэтгэдэг. , зөвхөн дараа нь зочин руу энгийн HTML баримт бичиг хэлбэрээр буцаж очно (өөрөөр хэлбэл зочин таны скриптийн кодыг харах боломжгүй болно). Гэхдээ таны скриптүүдийн ажиллагаа нь таны сайт байрладаг сервер, хостинг нь тухайн хэлний аль хувилбарыг дэмждэгээс бүрэн хамаарна.

Сервер талын програмчлалын хэл нь програмистуудад өргөн хүрээний үйл ажиллагааг нээж өгдөг боловч хэл сурталчлах хүмүүс хэл сурахад маш хялбар гэж хичнээн бичдэг ч гэсэн мэдлэгийн урьдчилсан ачаалалгүйгээр эзэмшихэд нэлээд хэцүү байдаг. .

Өгөгдлийн сангийн удирдлагын систем буюу DBMS гэж юу болохыг энд дурдах нь зүйтэй. Үнэн хэрэгтээ энэ нь хэрэглэгчийн тодорхойлсон дарааллаар шаардлагатай янз бүрийн мэдээллийг хадгалдаг сервер бөгөөд хүссэн үедээ залгаж болно. Энэ бол бүх материалыг тавиур дээр нямбай байрлуулж, хүссэн үедээ гаргаж авах боломжтой номын сан юм. Ихэвчлэн хостинг худалдаж авахдаа нэг мэдээллийн сан (DB) хуваарилагддаг бөгөөд үүнд хэрэглэгч олон хүснэгт үүсгэж, тэдгээрт янз бүрийн мэдээллийг хадгалах боломжтой. Өөрөөр хэлбэл, хэрэв бид зочны дэвтэртэй жишээ рүү буцах юм бол таны үүсгэсэн аль ч хүснэгтэд та хэрэглэгчдийн үлдээсэн мессежийг хадгалах боломжтой. Мэдээжийн хэрэг та тэдгээрийг текст файлд хадгалах боломжтой, гэхдээ энэ нь тийм ч найдвартай биш бөгөөд үүнээс гадна би зөвхөн жижиг жишээ өгсөн бөгөөд хэрэв та нууц үгээ хадгалах шаардлагатай бол (мөн тэдгээрийг шифрлэгдсэн хэлбэрээр хадгалах хэрэгтэй) , эсвэл хэд хэдэн хүснэгтийг холбох үед ямар нэгэн өгөгдөлд хандах үед та мэдээллийн сангүйгээр хийх боломжгүй.

Одоогийн байдлаар DBMS нь мэдэгдэж байгаа бөгөөд сайн шалтгаанаар Structured Query Language (SQL) эсвэл бүтэцлэгдсэн асуулгын хэлийг ашиглан ханддаг. Эдгээр мэдээллийн баазтай ажиллахын тулд (өсгөх, шинэчлэх, асуулга хийх гэх мэт) та яг энэ SQL-г мэдэх хэрэгтэй. Ийм DBMS-ийн дотроос хамгийн алдартай нь MySQL (www.mysql.com) боловч би өөрийнхөө хувьд PostgreSQL-ийг (www.postgresql.org) илүүд үзсэн.

Эцсийн хэдэн үг

Хэрэв бид програмчлалын хэлнүүдийн талаар үргэлжлүүлэн ярих юм бол одоо баримт бичигт өөрөө суулгасан хэлүүд байдаг бөгөөд та эхлээд эмхэтгэх ёстой програмууд, өөрөөр хэлбэл бичсэн эх кодыг дууссан програм болгон хувиргах; Сүүлчийн сул тал нь хэрэв та скриптийг шинэчлэх шаардлагатай бол шинэчилсэн кодуудыг дахин эмхэтгэх шаардлагатай болно.

Серверийн програмчлалын хэлнүүдийн дотроос PHP (PHP: Hypertext Preprocessor) (www.php.net), Perl (www.perl.com), SSI (Server Side Include) хэлүүд онцолж байна. Эдгээр скриптүүдийг туршихын тулд танд илүү их хэрэгтэй болно: сервер (www.apache.org), хэлний орчуулагч (та үүнийг үйлдвэрлэгчийн вэбсайтаас авах боломжтой), мэдээжийн хэрэг үр бүтээлтэй ажиллахын тулд мөн DBMS.

The Динамик вэбсайтууд Сервер талын програмчлал сэдэв нь динамик вэбсайтуудыг хэрхэн бүтээхийг харуулсан цуврал модулиуд юм; HTTP хүсэлтийн хариуд тохируулсан мэдээллийг хүргэдэг вэбсайтууд. Модулиуд нь сервер талын програмчлалын ерөнхий танилцуулга, Django (Python) болон Express (Node.js/JavaScript) вэб фреймворкуудыг үндсэн хэрэглээний программуудыг хэрхэн ашиглах тухай анхан шатны түвшний зааварчилгааг өгдөг.

Ихэнх томоохон вэбсайтууд шаардлагатай бол өөр өөр өгөгдлийг динамикаар харуулахын тулд сервер талын зарим төрлийн технологийг ашигладаг. Жишээлбэл, Amazon дээр хичнээн бүтээгдэхүүн байдаг, Facebook дээр хичнээн нийтлэл бичсэнийг төсөөлөөд үз дээ? Эдгээрийг огт өөр статик хуудсуудыг ашиглан харуулах нь огт үр дүнгүй байх тул оронд нь ийм сайтууд статик загваруудыг (HTML , CSS болон JavaScript ашиглан бүтээгдсэн) харуулдаг ба дараа нь шаардлагатай үед тэдгээр загвар дотор харагдах өгөгдлийг динамикаар шинэчилдэг. Та Amazon дээр өөр бүтээгдэхүүн үзэхийг хүссэн үедээ.

Вэб хөгжүүлэлтийн орчин үеийн ертөнцөд сервер талын хөгжүүлэлтийн талаар суралцахыг зөвлөж байна.

Сурах зам

Сервер талын програмчлалыг эхлүүлэх нь клиент талын хөгжүүлэлтээс илүү хялбар байдаг, учир нь динамик вэб сайтууд нь маш олон ижил төстэй үйлдлүүдийг (өгөгдлийн сангаас мэдээлэл авч, хуудсан дээр харуулах, хэрэглэгчийн оруулсан өгөгдлийг баталгаажуулах, хадгалах) хийх хандлагатай байдаг. өгөгдлийн санд хэрэглэгчийн зөвшөөрлийг шалгах, хэрэглэгчдэд нэвтрэх гэх мэт), эдгээр болон бусад нийтлэг вэб серверийн үйлдлийг хялбар болгох вэб фреймворк ашиглан бүтээгдсэн.

Програмчлалын ойлголтуудын (эсвэл тодорхой програмчлалын хэлний) үндсэн мэдлэг нь ашигтай боловч чухал биш юм. Үүний нэгэн адил, үйлчлүүлэгчийн талын кодчилолын чиглэлээр мэргэшсэн байх шаардлагагүй, гэхдээ үндсэн мэдлэг нь таны үйлчлүүлэгчийн вэб "front end"-ийг бий болгох хөгжүүлэгчидтэй илүү сайн ажиллахад тусална.

Та "вэб хэрхэн ажилладагийг" ойлгох хэрэгтэй. Эхлээд дараах сэдвүүдийг уншихыг зөвлөж байна.

Энэхүү үндсэн ойлголттой бол та энэ хэсгийн модулиуд дээр ажиллахад бэлэн байх болно.

Модулиуд

Энэ сэдэв нь дараах модулиудыг агуулна. Та эхний модулиас эхэлж, дараа нь тохирох вэб фреймворк ашиглан сервер талын хоёр маш алдартай хэлтэй хэрхэн ажиллахыг харуулсан дараах модулиудын аль нэгэнд шилжих хэрэгтэй.

Сервер талын вэбсайтын програмчлалын эхний алхмууд Энэхүү модуль нь сервер талын вэбсайтын програмчлалын талаархи серверийн технологи-агностик мэдээллийг агуулдаг бөгөөд үүнд сервер талын програмчлалын талаархи үндсэн асуултуудын хариултууд байдаг - "энэ нь юу вэ", "энэ нь үйлчлүүлэгч талын програмчлалаас юугаараа ялгаатай вэ" , "Яагаад энэ нь тийм их хэрэгтэй вэ" - мөн сервер талын илүү алдартай вэб фреймворкуудын тойм, өөрийн сайтад хамгийн тохиромжтойг хэрхэн сонгох зааварчилгаа. Эцэст нь бид вэб серверийн аюулгүй байдлын талаархи танилцуулга хэсгийг өгдөг. Django Web Framework (Python) Django бол Python хэл дээр бичигдсэн маш алдартай, бүрэн боломжуудтай сервер талын вэб фреймворк юм. Модуль нь Django яагаад ийм сайн вэб серверийн хүрээ, хөгжүүлэлтийн орчинг хэрхэн тохируулах, түүгээр нийтлэг даалгавруудыг хэрхэн гүйцэтгэх талаар тайлбарладаг. Express Web Framework (Node.js/JavaScript) Express нь JavaScript дээр бичигдсэн, node.js ажиллах цагийн орчинд байршуулсан түгээмэл вэб фреймворк юм. Энэхүү модуль нь энэхүү хүрээний гол давуу талууд, өөрийн хөгжүүлэлтийн орчинг хэрхэн тохируулах, вэб хөгжүүлэлт, байршуулалтын нийтлэг ажлуудыг хэрхэн гүйцэтгэх талаар тайлбарладаг.

Мөн үзнэ үү

Хүрээгүй зангилааны сервер Энэ нийтлэлд фреймворк ашиглахыг хүсэхгүй байгаа хүмүүст зориулж цэвэр Node.js-ээр бүтээгдсэн энгийн статик файлын серверийг санал болгож байна.

Вэб програм үүсгэх технологи. Хэл HTML, DHTML, Flash технологи. Давуу болон сул талууд.

Вэб програм -хөтөч нь үйлчлүүлэгч, вэб сервер нь сервер болох клиент-сервер програм. Вэб програмын логик нь сервер болон үйлчлүүлэгчийн хооронд хуваарилагдаж, өгөгдөл нь сервер дээр голчлон хадгалагдаж, сүлжээгээр мэдээлэл солилцдог. Энэ аргын нэг давуу тал нь үйлчлүүлэгчид хэрэглэгчийн тодорхой үйлдлийн системээс хамаардаггүй тул вэб програмууд нь платформ хоорондын үйлчилгээ юм.

HTML(HyperText Markup Language) нь World Wide Web дээрх баримт бичгийн стандарт тэмдэглэгээний хэл юм. Ихэнх вэб хуудсыг HTML (эсвэл XHTML) ашиглан бүтээдэг. HTML-г хөтчүүд тайлбарлаж, хүний ​​уншихад тохиромжтой хэлбэрээр баримт болгон харуулдаг.

DHTML(динамик HTML)нь серверийн ачааллыг нэмэгдүүлэхгүйгээр илүү интерактив вэб хуудас үүсгэх боломжийг олгодог хэрэгслүүдийн багц юм. Өөрөөр хэлбэл, зочдын тодорхой үйлдлүүд нь сервертэй холбоо барихгүйгээр хуудасны харагдах байдал, агуулгыг өөрчлөхөд хүргэдэг.

DHTML нь Баримт бичгийн объектын загвар дээр бүтээгдсэн. DOM), уламжлалт статик HTML баримт бичгийг өргөтгөдөг. DOM нь баримт бичгийн агуулга, бүтэц, хэв маягт динамик хандах боломжийг олгодог. DOM-д вэб хуудасны элемент бүрийг өөрчлөх боломжтой объект юм. DOM нь шинэ хаягууд болон шинж чанаруудыг тодорхойлдоггүй бөгөөд зүгээр л бүх шошго, шинж чанарууд болон каскадын загварын хүснэгтүүдийг (CSS) программчлан удирдах боломжийг олгодог.

Flash технологи Macromedia-ийн боловсруулсан Shockwave Flash (SWF) форматын вектор графикийг ашиглахад үндэслэсэн. Энэ нь анхны вектор форматаас хол байгаа боловч графикийн харааны чадвар, түүнтэй ажиллах хэрэгсэл, үр дүнг вэб хуудсанд оруулах механизмын хамгийн амжилттай хослолыг бүтээгчид нь олж чадсан юм. Flash технологийн гол давуу тал нь платформ хоорондын шинж чанар юм, өөрөөр хэлбэл энэ форматыг ямар ч техник хангамж, програм хангамжийн платформ дээр (ялангуяа MacOS үйлдлийн систем дээр ажилладаг Macintosh компьютерууд болон Windows үйлдлийн системтэй IBM компьютерууд дээр) ашиглаж болно. Flash технологийн бас нэг чухал шинж чанар: түүний үндсэн дээр бүтээгдсэн зургуудыг зөвхөн хөдөлгөөнт байдлаар төдийгүй интерактив элементүүд, дуу чимээгээр баяжуулж болно.



HTML – гипертекст тэмдэглэгээний хэл – гипертекст тэмдэглэгээний хэл (ПРОГРАМЧЛАХ ХЭЛ БИШ)

Шошго нь вэб хуудасны дизайн хийх хэрэгсэл юм ( текст- текстийг холбоос болгон форматлах)

DHTML - Динамик HTML

DHTML=HTML+CSS+Java Script+(XML) (ПРОГРАМЧЛАХ ХЭЛ БИШ)

CSS – Cascadin Style Sheets – вэб хуудсын гадаад төрхийг (фонт, өнгө, байршил, догол мөр...) тохируулах) шаталсан загварын хүснэгтэд зориулсан хэл бөгөөд баримт бичгийн үндсэн агуулгыг энэ агуулгын дизайнаас салгахад ашигладаг. .

DHTML-ийн давуу талууд:

Бүх хөтөч дэмждэг;

Стандарт технологи ашигладаг;

Файлуудыг flash/java-аас хурдан ачаалдаг;

Өргөтгөх модулиудыг шаарддаггүй;

Сурахад хялбар;

Вэб хуудас боловсруулах өндөр хурд;

DHTML-ийн сул талууд:

Өөр өөр хөтөч дээр вэб хуудсуудыг өөр өөр харах;

Хөтөч дэх алдааны улмаас найдваргүй ажиллагаа;

Java Script болон CSS нь синтаксийн алдаанд мэдрэмтгий байдаг.

Flash бол мультимедиа програм үүсгэх платформ юм.

Flash-ийн давуу талууд:

Платформын бие даасан байдал;

Хөгжүүлэгчдэд асар олон тооны хэрэгслийг түгээх, хангах.

Flash-ийн сул талууд:

Сурахад хэцүү;

Програм хангамжийн бүрэлдэхүүн хэсгүүдийн үл нийцэх байдал.

Вэб програм үүсгэх технологи. Програмчлалын хэл (сервер ба хэрэглэгчийн тал)

Интернет дэх 1 бүлэг програмчлалын хэл - хэрэглэгчийн талд (хөтөч дээр)

Java Script, VB Script, java applets

Эдгээр хэл дээр бичигдсэн програмууд нь вэб хуудасны кодонд суурилагдсан эсвэл вэб хуудас руу залгасан тусдаа файлд байрладаг.

Интернэт програмчлалын хэлний 2-р бүлэг - серверийн талд ажилладаг програмууд: PHP, CGI, ASP, Perl

Үйлчлүүлэгчийн програмчлалын хэлүүд

Тэдгээрийн хамгийн түгээмэл нь JavaScript болон Visual Basic юм. Ийм хэлний онцлог нь тэдний нэрэнд оршдог. Бичсэн програмууд үйлчлүүлэгчийн програмчлалын хэлүүд үйлчлүүлэгч компьютер дээр боловсруулагдсан. Энгийнээр хэлэхэд скриптийг таны компьютер дээрх хөтөч боловсруулдаг. Тэдний давуу болон сул талууд нь энэ онцлогоос хамаарна.

Хамгийн том давуу тал нь вэб баримтыг сервер рүү илгээх шаардлагагүй юм. Энэ функц нь скрипт унших хурдыг ихээхэн нэмэгдүүлдэг. Траффик багасч, мөнгө хэмнэж, серверийн ачааллыг бууруулдаг. Мөн скрипт боловсруулах нэмэлт програм хангамж суулгах шаардлагагүй, учир нь тэдгээрийг хөтчүүд боловсруулдаг.

Алдаа дутагдал үйлчлүүлэгчийн програмчлалын хэлүүд мөн онцлогоос дагана. Өөр өөр хөтчүүд скриптүүдийг өөрсдийн сонголтод тулгуурлан тайлбарлаж болно. Тиймээс ижил баримт бичгүүдийг харуулах үр дүн өөр байж болно. Хэдийгээр сүүлийн үед янз бүрийн хөтчүүдийн ажил улам бүр нэгдмэл болж байна. Өөр нэг сул тал бол ийм хэлний кодын хэрэглэгчдэд нээлттэй байх явдал юм.

Серверийн програмчлалын хэлүүдсервер тал дээр тус тус ажиллана. Өгөгдлийн сантай харьцахдаа тэд хэрэглэгч болон сервер хоорондын харилцаа холбоог хадгалж байдаг. Хөтөчөөс вэб баримт бичгийн хаягтай хүсэлтийг хүлээн авснаар серверийн програмууд мэдээллийн сантай холбогддог. Мэдээллийн сан нь вэб хуудасны талаархи мэдээллийг серверийн скриптүүдэд өгдөг бөгөөд үүнийг боловсруулсны дараа монитор дээр хамтарсан ажлын үр дүнг харуулдаг үйлчлүүлэгчийн хөтөч рүү тайлбарлахаар илгээдэг.

Ийм ажлын хялбаршуулсан диаграммыг зурагт үзүүлэв.

Нэр төрсервер талын хэлүүд нь тэдний үнэхээр хязгааргүй боломжууд бөгөөд тэдний ажил нь хэрэглэгчдэд нээлттэй биш бөгөөд тэдний нүднээс далд байдаг. Алдаа- хостын програм хангамжаас хамааралтай байх. Өөр нэг сул тал бол эхлэгчдэд үүнийг эзэмшихэд хэцүү байдаг. серверийн програмчлалын хэлүүд.

Хамгийн нийтлэг серверийн програмчлалын хэлүүд: C++, Perl, Java, Php, Python.

  • Орчуулга
  • Заавар

Зам нь урт бөгөөд хэцүү, гэхдээ сонирхолтой бөгөөд ашигтай!

Энэхүү нийтлэл нь мэргэжлийн вэб хөгжүүлэгч болох хүсэлтэй хүмүүст зориулсан практик гарын авлага болох зорилготой юм. Би вэб код бичээд 20 гаруй жил болж байна. Би өдөр бүр вэб хөгжүүлэгчидтэй ажиллаж, тусалдаг. Энэ нийтлэлд би та юу сурах хэрэгтэй, хэзээ сурах хэрэгтэй, мөн хаанаас мэдээлэл авах талаар (ихэнхдээ үнэ төлбөргүй ч гэсэн) тайлбарлах болно. Дараа нь би бодит туршлага олж авах, хамгийн гол нь код бичихийн тулд мөнгө авах талаар зөвлөгөө өгөх болно.

Нийтлэлд тараагдсан үнэ төлбөргүй, чухал эх сурвалжуудын олон холбоосууд байдаг. Энгийн болгохын тулд би тэдгээрийг PDF хэлбэрээр цуглуулж, ангилалд хуваасан. Би холбосон сайтуудаа дурдахад цалин авдаггүй - би зүгээр л зорилгодоо хүрэхэд тань туслах шилдэг эх сурвалжуудыг санал болгохыг хүсч байна.

Санаж байх зүйлс:

1. Та нийтлэлийг гүйлгэж үзэх боломжтой

Хөтөч нь таныг мэргэжил дээшлүүлэх замд хаана ч байсан тусалж чадна. Таны одоогийн нөхцөл байдлыг хамгийн сайн дүрсэлсэн гарчиг руу гүйлгээд тэндээс уншина уу. Хэрэв та энэ замыг дөнгөж эхлүүлсэн эсвэл энэ талаар бодож байгаа бол "Алиса гайхамшгийн оронд" хааны зөвлөгөөг дагаарай.

Эхнээс нь эхэлж, төгсгөлд нь хүртлээ үргэлжлүүл; тэгээд аль хэдийн тэнд зогс.

2. Бүх зүйлийг бага зэрэг туршиж үзээд дараа нь мэргэшлийг сонго.

Мөнгө бол хамгийн чухал зүйл биш юм. Та хийж байгаа зүйлдээ ХАЙР байх хэрэгтэй! Гэхдээ та үүнийг туршиж үзэхээс нааш юу дуртайгаа мэдэхгүй байх болно.


Хүсэл тэмүүллээ олж, дараа нь мөнгө олоорой

Энэхүү гарын авлага нь вэб хөгжүүлэлтийн олон талбарыг аль болох хурдан мэддэг болоход тань туслах болно. Дараа нь тэр танд дуртай чиглэлээр мэргэшсэн мэргэжлийг сонгоход тань туслах болно. Та эхлээд ямар ч зүйлд төгс төгөлдөрт хүрэхгүй - та үндсийг сурч, дараа нь үргэлжлүүлэн суралцах болно. Хүсэл тэмүүллээ ол, би чамд хэрхэн урагшлахыг харуулах болно.

Би код бичихээр шийдсэн. Би вэбд дуртай. Би хаанаас эхлэхээ мэдэхгүй байна


Та амжилтанд хүрнэ!

Баяр хүргэе! Энэ бол анхны том алхам бөгөөд маш сонирхолтой зүйлийн эхлэл юм. Гэхдээ энэ нь бас маш хэцүү байж болно. Санаа зоволтгүй, би туслах болно.

Эхлээд та вэб хөгжүүлэлтийн бүх чиглэлийн үндсүүдтэй хурдан танилцах хэрэгтэй ("бүрэн мөчлөг"). Сургалт нь олон янз байх болно, гэхдээ гүехэн. Энэ нь танд таалагдах салбараа олох, мөн өөр өөр салбарт үндсэн ур чадвар эзэмших явдал юм. Дараа нь та юу сонгохоос үл хамааран олон тооны асуудлыг ойлгож, ажиллах боломжтой болно.

HTML хэлний үндсийг сур

Hypertext Markup Language (HTML) нь таны хөтөч дээр харж буй зүйлийн агуулга, байршлыг хянадаг. Тэнд ажиллаж эхэлмэгц та кодынхоо үр дүнг харж, харилцах боломжтой хэрэглэгчийн интерфэйстэй болно. Илүү төвөгтэй хэл сурах тусам түүний ач холбогдол нэмэгдэх болно. Та сохроор код бичих шаардлагагүй.

HTML-ийн талаар суралцахын тулд танд дараах зүйлс хэрэгтэй:

Би HTML-ийн үндсийг аль хэдийн мэддэг болсон

Гайхалтай! Энэ бол маш чухал алхам юм. Одоо JavaScript-ийн үндсийг сур.

JavaScript-н үндсийг сур

JavaScript бол вэбийн хэл бөгөөд бүх томоохон хөтчүүд (Chrome, Firefox, Safari, IE болон бусад олон) үүнийг дэмждэг. Таны ашигласан сайт, вэб програм бүр асар их хэмжээний JS код агуулсан байх магадлалтай. Энэ хэл нь бусад платформууд - серверүүд, ширээний компьютерууд болон бусад төхөөрөмжүүдэд түгээмэл болж байгааг дурдахгүй байхын аргагүй юм.

Одоогоор танд үндсэн мэдээлэл хэрэгтэй байгаа бөгөөд үүнд дараах нөөцүүд хэрэгтэй байна.

Би JavaScript болон HTML-ийн үндсийг мэддэг

Гайхалтай! Одоо таны ур чадварт CSS нэмье

CSS сурах

CSS, эсвэл Cascading Style Sheets (cascading Style Sheets). Хуудасны HTML элементүүдийн харагдах байдлыг өөрчлөхөд ашигладаг. Mozilla-н үнэгүй зааварчилгааг үзээд CSS-Tricks-ээс өөрт тулгардаг хамгийн хэцүү асуудлуудыг шалгана уу (баруун дээд хэсгээс хайх).

Арын хэсэг рүү шилжье

Одоогоор бид вэб хөгжүүлэлтийн "урд тал" гэж нэрлэгддэг зүйлийг авч үзсэн. Та хөтөч дээр ажилладаг үндсэн хэлүүдийг мэддэг болсон. Энэ нь сервер дээр ажиллаж байгаа код руу шилжих цаг болжээ. Санаа зоволтгүй, танд сервер хэрэггүй болно - таны компьютер үүнийг зохицуулах болно.

Олон тонн backend хэл байдаг, гэхдээ та JavaScript-г сайн мэддэг тул Node.js-г ашиглаж сурахыг зөвлөж байна. Энэ нь танд JS кодыг хөтөч дээр биш сервер дээр ажиллуулах боломжийг олгодог.

Үүнээс гадна та Express болон MongoDB сурах хэрэгтэй.

Экспресс
Энэ бол Node.JS нь вэб серверээр ажиллах боломжтой номын сан юм (хуудасны хүсэлтийг сонсож, хариу илгээх).
MongoDB
Энэ нь мэдээллийг хадгалах, авах боломжийг олгодог мэдээллийн сан юм.

Та дараах маш сайн, үнэ төлбөргүй сургалтын материал, түүний үргэлжлэлээр эдгээр гурван сэдвийг судлах боломжтой.

Би frontend, backend болон full cycle хөгжүүлэлтийн аль нэгийг сонгох хэрэгтэй

Хөгжлийн хоёр хувилбарыг туршиж үзсэний дараа сонголт хийх цаг болжээ. Хэрэв та эдгээрийг туршиж үзээгүй бол мэдлэгийнхээ цоорхойг нөхөхийн тулд нийтлэлийн өмнөх хэсгийг үзнэ үү.

Энэ үед та хоёр төрлийн код бичсэн байна. Нэг нь хэрэглэгчийн харилцан үйлчлэлд зориулагдсан, нөгөө нь өгөгдөлд зориулагдсан. Та юу илүүд үзэж байна вэ?

Хэрэглэгчийн харилцан үйлчлэл? Баяр хүргэе, та урд талын хөгжүүлэгч юм!

Өгөгдөлтэй харилцах уу? Баяр хүргэе, та backend хөгжүүлэгч байна!

Хоёулаа? Баяр хүргэе, та бүрэн хэмжээний хөгжүүлэгч байна!

Юунд ч дургүй байсан уу? Баяр хүргэе, вэб хөгжүүлэлт танд зориулагдаагүй. Та үүнийг одоо ойлгож, цаг хугацаа, мөнгөө дэмий үрээгүйдээ баяртай байгаарай. Бууж өгөхөд бэлэн биш байна уу? Магадгүй та дуртай хэлээ олж чадаагүй байх? "Би арын программ хөгжүүлэгч болмоор байна" хэсгээс бусад хэлийг сурч үзээрэй.

Би бүрэн хэмжээний хөгжүүлэгч болохыг хүсч байна

Сайхан байна. Та "Би backend хөгжүүлэгч болмоор байна" болон "Би урд талын хөгжүүлэгч болмоор байна" хэсгүүдийн бүх агуулгыг унших хэрэгтэй.

Би урд талын хөгжүүлэгч болохыг хүсч байгаа бөгөөд JavaScript, HTML, CSS-ийн үндсийг мэддэг

Урд талын хөгжүүлэгчийн хувьд үр дүнтэй ажиллахын тулд та HTML, CSS болон клиент талын JavaScript хэлийг чөлөөтэй эзэмшсэн байх шаардлагатай. Та мөн хэд хэдэн чухал хүрээний талаар сайн ойлголттой байх шаардлагатай. Та ажил олгогчид болон үйлчлүүлэгчдийн урд талын хөгжүүлэгчдээс олохыг хүсдэг ур чадваруудыг олж авах болно.

Одоо та HTML-ийн үндсийг аль хэдийн мэддэг байх ёстой. Үгүй бол HTML үндсийг сурах хэсэг рүү буцна уу.

Дунд болон ахисан түвшний HTML хэлийг сур
Дунд шатны HTML хичээл, дараа нь ахисан HTML хичээлийг үзээрэй.
Үйлчлүүлэгч талын дэвшилтэт JavaScript-г сур


JS-ийн маш сайн цуврал ном бөгөөд энэ нь үнэ төлбөргүй юм

JavaScript-ийн ур чадвараа сайжруулахын тулд би Кайл Симпсоны "Та мэдэхгүй JS" цуврал номыг санал болгож байна. Зохиогч бүх цувралыг онлайнаар үнэ төлбөргүй нийтэлсэн:

Нэмж дурдахад MDN JavaScript нь таны хамгийн сайн найз байх ёстой.

[Мөн "Илэрхий JavaScript" номын гайхалтай орчуулгыг танд үнэ төлбөргүй ашиглах боломжтой.]

HTML, CSS болон JavaScript-ийн "урд талын гурвал"-ыг мэдэх нь мэдээжийн хэрэг гайхалтай юм. Гэхдээ мөнгө олохын тулд та зарим нэг хүрээтэй танилцах хэрэгтэй болно.

jQuery сур
Энэ бол бүх цаг үеийн хамгийн алдартай JS номын сан юм. Хэдийгээр зарим шинэ фрэймворкүүд jQuery-ийн ач холбогдлыг бууруулсан ч хэрэв та ажил хайж байгаа бол jQuery олон жилийн турш ажлын байрны тодорхойлолтонд (мөн ярилцлагад дурдсан) байх магадлал өндөр байна.

Би FreeCodeCamp материал ашиглан jQuery сурахыг зөвлөж байна - энэ нь хурдан бөгөөд үр дүнтэй арга юм. Үүний дараа албан ёсны сургалтын сайт руу очно уу - тэнд та нэмэлт зааврыг олох болно.

Алдартай JS хүрээг сур
Framework нь сонгосон технологид тулгардаг хамгийн том асуудлыг шийддэг тул тодорхой хэл эсвэл технологитой ажиллахад хялбар болгодог. JavaScript нь фреймворкийг хөгжүүлэх, түгээн дэлгэрүүлэхэд маш сайн нөлөө үзүүлсэн.

Бараг долоо хоногт нэг удаа шинэ тогтолцоо гарч ирдэг бөгөөд энэ нь хөгжлийн шинэ стандартыг орлох болно. Та ажлын сайтуудыг судалж, аль хүрээ нь танай зах зээлд алдартай болохыг олж мэдэхийн тулд бага зэрэг Googling хийх хэрэгтэй болно. Би бас хөдөлмөрийн зах зээлийн чиг хандлагыг үнэлэх Hacker News-ийн хэрэгслийг санал болгож байна.

Энэ нийтлэлийг бичиж байх үед дараах хүрээ алдартай байсан:

Хамгийн тохиромжтой хүрээг сонгож, түүнтэй сайтар танилцсаны дараа дагалдаж ирдэг CSS хүрээг судлах нь зүйтэй. Өнөөдөр энэ зах зээлийн хамгийн том хоёр тоглогч бол Bootstrap болон Material Design юм.

Ачаалагч
Bootstrap-ийг Twitter-ийн хөгжүүлэгчид хийсэн бөгөөд энэ нь аль хэдийн төлөвшсөн, алдартай болсон. Bootstrap хувилбарууд нь Angular, Angular 2 болон React-д байдаг.
Материал
Материал бол Google-д боловсруулсан дизайны дүрмийн багц юм. Энэ нь түгээмэл болж байгаа бөгөөд Angular болон React-ийн хувилбарууд байдаг. Angular нь мөн Google-ийн бүтээл тул материал нь үүнтэй төгс тохирно.

Энд танд зориулсан зарим холбоосууд байна:

Баяр хүргэе! Танд үндсэн хөгжүүлэгч ур чадвар бий!


Зүгээр л түүн рүү хар!

Би backend хөгжүүлэгч болохыг хүсч байна

Гайхалтай! Эхний алхам бол хэл сонгох явдал юм. Backend-тэй ажиллах олон хэл байдаг бөгөөд тус бүр өөрийн гэсэн давуу болон сул талуудтай. Алдартай байдлаар нь ангилсан програмчлалын хэлний хүснэгтийг үзээрэй. Бүгд арван жилийн эхний аравт багтсан. Ногоон өнгөөр ​​тэмдэглэсэн хэлнүүд нь олон жилийн турш алдаршиж байгаа вэб хэлүүд юм.


TIOBE програмчлалын хэлний индекс, www.tiobe.com/tiobe_index?page=index

Миний нэрийг ногооноор дугуйлсан хэл дээр анхаарлаа төвлөрүүл. Хэрэв та тэднийг мэдэхгүй бол ширээний дээд хэсгээс эхлээд доошоо яв. Дуртай зүйлээ олчихоод зогсоод гүн ух!

Хэрэв та ногооноор тэмдэглэгдсэн хэлнүүдийн аль нэгийг мэддэг бөгөөд танд таалагдаж байвал анхаарлаа төвлөрүүл.

Ярилцлагын ур чадвараа сайжруул
Та зөвхөн код бичихээс илүү бэлтгэл хийх хэрэгтэй. Life Hacker-ийн сайн нийтлэлд маш их хэрэгтэй, үнэ цэнэтэй мэдээллийг дүрсэлсэн байдаг.
Хамгийн гол нь зах зээлд байр сууриа олж авах явдал юм
Мөрөөдлийн цалингаараа мөрөөдлийн ажил олгогчтойгоо мөрөөдлийн ажилдаа орох гэж нэг их санаа зовох хэрэггүй. Эхлээд мөнгө олохын тулд код бичдэг ажилд ороорой. Илүү их туршлага хуримтлуулсны дараа та дараагийн алхамаа төлөвлөж болно.
Би фрилансер болохыг хүсч байна
Өөрийнхөө эзэн байх нь сайн хэрэг боловч асар их дарамт, асар их бэрхшээлийг дагуулдаг. Миний харсан freelancing мэдээллийн хамгийн сайн эх сурвалж бол DoubleYourFreelancing.com юм. Түүнд надаас илүү сайн бие даасан ажилтан болоход тань туслах цуврал нийтлэлүүд бий. Унших.

Хэрэв та өөртөө итгэлтэй байгаа бол өөр нэг сонголт бол Топтал үйлчилгээ юм. Тэд нийт өргөдөл гаргагчдын ердөө 3 хувийг л хүлээж авдаг бөгөөд энэ үйл явц нь маш төвөгтэй боловч хэрэв та орвол алсаас ажиллах боломжтой өндөр цалинтай ажилд орох боломжтой болно.

Би ажилдаа орсон ч мухардалд орсон юм шиг санагдаж байна
Ойлгож байна. Энэ нь тийм ч амар биш бөгөөд хэрэв хэн нэгэн танд өөрөөр хэлбэл тэд үүнийг хийгээгүй эсвэл таныг мөнгөөр ​​хуурах гэж байна. Хэрэв та гацсан гэж бодож байвал дараах сонголтыг туршиж үзээрэй.
Анхны зорилгоо сэргээ
Өөрөөсөө асуу, яагаад ийм замаар явахаар шийдсэнээ цаасан дээр бич. Таны хариулт хүчинтэй хэвээр байна уу? Хэрэв тийм бол яагаад зогсоох вэ? Урагшаа!

Вэб мастеринг

Мэдээллийн технологийн хамгийн сонирхол татахуйц, эрэлт хэрэгцээтэй мэргэжлүүдийн зэрэглэлд бид вэбмастеруудыг итгэлтэйгээр нэгдүгээрт тавьж чадна - энэ үг нь вэбсайтыг хөгжүүлж, дэмждэг мэргэжилтнүүдийг ерөнхийд нь хэлнэ. Өнөөдөр аливаа ноцтой компани өөрийн вэбсайт эсвэл вэб хуудсыг олж авахыг хичээдэг бөгөөд энэ нь түүнд мэргэшсэн мэргэжилтнүүд хэрэгтэй гэсэн үг юм.

Хөгжүүлэгчид, програмистууд, зохион бүтээгчид, оновчтой зохион бүтээгчид нь Оросын болон олон улсын компаниудын үнэ цэнэтэй ажилтнууд юм. Тэдэнд зохистой цалин, тааламжтай ажлын нөхцлийг санал болгодог: корпорацийн тэтгэмж, сонирхолтой төслүүд, ажил мэргэжлийн өсөлт, уян хатан хуваарь. Үйлчилгээний тогтвортой эрэлт хэрэгцээний ачаар вэбмастер бие даасан ажил хийх боломжтой: гэртээ эсвэл далайн эрэг дээрх зочид буудалд дуртай сандал дээрээ суугаад "авга ахдаа" тайлагналгүйгээр үйлчлүүлэгчээ өөрөө сонгох боломжтой.

Хэрэв та вэбсайтуудыг хөгжүүлэхээр шийдсэн бол вэб сервер хэрхэн ажилладаг зарчмуудыг тодорхой ойлгох хэрэгтэй. Энэ нь вэбмастерыг тухайн салбартаа мэргэжлийн хүн болгож, вэб сайт бүтээх асуудлыг хялбархан шийдвэрлэх боломжийг олгодог HTTP протоколын талаарх мэдлэг юм. Энэ баримтыг үл тоомсорлодог мэргэжилтэн асуудалтай тулгарахдаа нүсэр програмын код бичдэг бөгөөд үүнийг вэб серверийн тохиргоонд нэг эсвэл хоёр шугамаар шийдэж болно гэдгийг ч анзаардаггүй.

Манай курс "Вэб мастер. Вэб серверүүдийг тохируулах"вэб серверийн механизмыг судлах, удирдлагын практик ур чадвар эзэмшихэд тань туслах болно. Энэ нь PHP курс төгсөгчдөд ашигтай байх болно , Python, Ruby гэх мэт болон энэ сургалтыг дөнгөж төлөвлөж буй оюутнуудад зориулсан. Оюутнууд бодит сургалтанд хамрагдаагүй бол вэбд суурилсан курс төгсөгчдөд уг курсийг санал болгож болно.

Хичээлийн үеэр та үнэгүй Nginx сервер, мөн Unix платформ дээр ихэвчлэн ашиглагддаг Apache серверийн 2.2-2.4 хувилбаруудыг үзэх болно. Багш нь аюулгүй байдалтай холбоотой чухал сэдвүүдэд анхаарлаа хандуулах болно: баталгаажуулалтын механизмууд, хэрэглэгчийн зөвшөөрлийн хувилбарууд, SSL тохируулах, ашиглах, SSL сертификаттай ажиллах, Apache mod_rewrite серверийн модулийг ашиглах.

Та олж авсан мэдлэгээ практикт хэрэгжүүлэх болно: 24 цагийн сургалтанд 13 лабораторийн ажил орно. Сургалтыг дүүргэсний дараа та Nginx болон Apache 2.2-2.4 серверүүдийг бие даан удирдах, агуулгын кэшийг удирдах, SSL ашиглах, RFC техникийн үзүүлэлтүүдтэй ажиллах боломжтой болно. Таны ур чадвар, чадварыг төвийн нэр хүндтэй баримт бичгүүдээр баталгаажуулах болно: гэрчилгээ эсвэл ахисан түвшний сургалтын гэрчилгээ.

Амжилттай вэб програмистын карьер энэ курсээс эхэлнэ! Сургалтанд бүртгүүлнэ үү!