Ցանցային և վեբ ծրագրավորման հիմունքներ

Ի՞նչ կտա ձեզ այս դասընթացը

Վեբ ծրագրավորումն այսօր հանդիսանում է ծրագրավորման ամենատարծված տեսակներից մեկը։ Այն թույլ է տալիս մշակել բավական մեծ և բարդ համակարգեր և, կարելի է ասել, որ մեր օրերում դժվար է պատկերացնել որևէ մեծ համակարգ, որում չի կիրառվում վեբ-տեխնոլոգիան։

Նույնիսկ եթե խոսքը գնում է BlockChain, Internet of Things, կամ Mobile համակարգի մասին, ապա այդ համակարգի աշխատանքի արդյունքը վերջնական օգտագործողին հասանելի դարձնելու գործն ընկնում է վեբ-տեխնոլոգիաների և վեբ-ծրագրավորողի վրա։

Մարդիկ հաճախ, ասելով վեբ ծրագրավորման հիմունքներ, հասկանում են տարրերը։ Իմանալ HTML և CSS լեզուները դեռ չի նշանակում տիրապետել վեբ ծրագրավորման հիմունքներին։ Ապագա շատ ծրագրավորողներ ուսումնասիրում են այս և ևս մի քանի լեզուներ և սկսում են զբաղվել վեբ-ծրագրավորմամբ՝ չպատկերացնելով, թե ինչ է տեղի ունենում իրենց համակարգի հետ իրականում, խորքում։ Այս հիմնարար գիտելիքների բացն անխուսափելիորեն բերում է մշակվող համակարգերում անթույլատրելի սխալների առկայության ինչն էլ, որոշ ժամանակ անց, բերում է համակարգերի նոր տարբերակի մշակման անհրաժեշտության։

Այս ամենից խուսափելու ճիշտ եղանակն է ֆունդամենտալ գիտելիքի ձեռքբերումը։ Մեր այս դասընթացը հենց տալիս է այդպիսի հնարավորություն։ Չմոռանանք, որ վեբ ծրագրավորումն իրենց ներկայացնում է ցանցային ծրագրավորում՝ կոնկրետ արձանագրության վրա կառուցված հնարավորությունների միջոցով։ Ամենախորքում կիրառվում են հին ու բարի սոքեթները (socket programming) և չիմանալ, թե դրանք ինչ են և ինչպես են աշխատում՝ անթույլատրելի շքեղություն է։

Դասընացին կարող են մասնակցել ինչպես արդեն ծրագրավորման գիտելիքներ ունեցող, այնպես էլ չունեցող մարդիկ։ Պարզապես պետք է հասկանալ, որ տարբեր նախնական պատրաստվածություն ունեցող ուսանողները կունենան տարբեր արդյունքներ։ Ծրագրավորման գիտելիքներ չունեցող ուսանողները ձեռք կբերեն խորքային գիտելիքներ համակարգչային ցանցերի կազմակերպնամ, ցանցային ծրագրավորման սկզբունքների, վեբ տեխնոլոգիաների և վեբ ծրագրավորման ընդհանուր և հիմնարար դրույթների մասին։ Միևնույն ժամանակ ծրագրավորող ուսանողները հնարավորություն կունանել իրենց պորտֆոլիոյին ավելացնել երկու պրոյեկտ՝ մեկը համեմատաբար բարդ ցանցային համակարգ, մյուսը՝ հետաքրքիր վեբ պրոյեկտ։ Ինչպես նաև ձեռք կբերեն որոշ գործնական հմտություններ՝ բարդ համակարգերի նախագծման գործում։ Մանրամասները հաջորդիվ։

Ընդհանուր տեղեկություն

Ֆունդամենտալ դասընթաց, որտեղ կբացահայտվեն համակարգչային ցանցերին և ցանցային ծրագրավորմանը վերաբերող բոլոր դրույթները։ Ինչպես նաև կներկայացվի վեբ ծրագրավորման էությունը և շատ ֆունդամենտալ գաղափարներ։

Դասավանդող՝ Վահրամ Մարտիրոսյան

Տևողությունը՝ 2 ամիս

Բովանդակություն

  • Ինչ է համակարգչային ցանցը, տոպոլոգիաներ, տարածվածություն, արձանագրություններ
  • Ինչ է ինտերնետը և ինչ է Ինտերնետը
  • DNS, IP, port, host, URL, resource, protocol, TCP, routing և այլ անհասկանալի տերմիններ
  • Ցանցային ծրագրավորում՝ socket
  • Բարդ ցանցային համակարգի նախագծում և իրականացում՝ Vehicle tracking system
  • Ինչ է վեբը։ HTTP արձանագրություն
  • Cookies, sessions, CORS, authentication and authorization և այլ անհասկանալի տերմիններ
  • Web API, RESTful services
  • Բարդ վեբ համակարգի նախագծում և իրականացում՝ Centralized authentication service

Պրոյեկտների նկարագրություն

Ցանցային ծրագրավորում։

Մշակել բազմա-օգտագործող chat server. Կոմունիկացիան կազմակերպել TCP պրոտոկոլի հիման վրա։ Ապահովել խմբային զրույցներ, հաղորդագրությունների պատմության պահպանում։

Վեբ ծրագրավորում։

Մշակել մի քանի վեբ-սերվերից բաղկացած համակարգ, որի հանգույցների համար կարելի է կազմակերպել կենտրոնացված նույնականացման և իրավասաությունների ղեկավարման (centralized authentication and authorization) հնարավորություն։