Ալեքսանդր Չիստյակովը գծի վրա է, ես ավետարանիչ եմ և ես ձեզ կպատմեմ 9 թվականի 2019 լավագույն տեխնոլոգիական իրադարձությունների մասին:
Իմ գնահատականում ես ավելի շատ հենվել եմ իմ ճաշակի վրա, քան մասնագետների կարծիքների վրա։ Այդ պատճառով, օրինակ, առանց վարորդի մեքենաներն այս ցանկում չեն ներառվել, քանի որ այս տեխնոլոգիայի մեջ սկզբունքորեն նոր կամ զարմանալի բան չկա։
Ցուցակի իրադարձությունները չեմ դասավորել ըստ նշանակության կամ վայ-էֆեկտի, քանի որ դրանց նշանակությունը պարզ կլինի տասը տարի հետո, իսկ վայ-էֆեկտը չափազանց կարճաժամկետ է, ես պարզապես փորձել եմ այս պատմությունը համահունչ դարձնել:
1. Դյուրակիր սերվերի հավելվածներ Rust ծրագրավորման լեզվով WebAssembly-ի համար
Վերանայումը կսկսեմ երկու զեկույցով.
1. Հաշվետվություն , որը նա կարդացել է դեռ 2018թ.
Զեկույցը կարդալու պահին Բրայան Քենթրիլն աշխատում էր Joyent-ում որպես CTO և չէր պատկերացնում, թե ինչպես կավարտվի 2019 թվականը իր և Ջոյենտի համար:
2. Rust-ի հիմնական թիմի անդամ և «The Rust Programming Language»-ի հեղինակ, ով աշխատում է Cloudflare-ում, որտեղ նա խոսում է Rust լեզվի և WebAssembly տեխնոլոգիայի առանձնահատկությունների մասին, որը թույլ է տալիս վեբ բրաուզերներին օգտագործել որպես հավելվածներ գործարկելու հարթակներ:
2019 թվականին WebAssembly-ն իր հետ , որն ապահովում է մուտք գործառնական համակարգի այնպիսի օբյեկտներ, ինչպիսիք են ֆայլերը և վարդակները, դուրս է եկել բրաուզերներից և թիրախավորում է սերվերի ծրագրային ապահովման շուկան:
Բեկումի էությունն ակնհայտ է. մարդկությունն ունի ևս մեկ գործարկման ժամանակ, որն ի վիճակի է շարժական հավելվածներ գործարկել համացանցի համար (որևէ մեկը հիշում է WORA սկզբունքը, որը հորինել են Java լեզվի հեղինակները):
Մենք նաև համեմատաբար անվտանգ միջոց ունենք այս հավելվածները ստեղծելու շնորհիվ Rust լեզվի, որի ամբողջ նպատակը կոմպիլյացիայի ժամանակ ամբողջ դասակարգված սխալների ոչնչացումն է:
WebAssembly-ն այնպիսի խաղ է փոխում, որ Docker-ի ստեղծողներից մեկը՝ Սոլոմոն Հայկսը, գրել է, որ եթե WebAssembly-ն և WASI-ն գոյություն ունենային 2008-ին, Docker-ը երբեք չէր ծնվի։

Զարմանալի չէ, որ Rust-ը հայտնվել է նոր դյուրակիր տեխնոլոգիան ընդունողների թվում. նրա էկոհամակարգը զարգանում է դինամիկ կերպով, և Rust-ը մի քանի տարի ըստ արդյունքների մնում է ամենասիրված ծրագրավորման լեզուն։ .
Սա Սթիվի ելույթից մի սլայդ է, որը հստակ ցույց է տալիս Rust-ի օգտագործմամբ լիովին խուսափելի անվտանգության սխալների թվի և MS-ում սխալների ընդհանուր թվի հարաբերակցությունը։ Windows, որը հայտնաբերվել է վերջին մեկուկես տասնամյակի ընթացքում։

Microsoft-ը պետք է ինչ-որ կերպ արձագանքեր այս մարտահրավերին, և դա արեց:
2. Microsoft-ի Verona նախագիծը, որը կփրկի Windows և կբացի պատմության նոր էջ ցանկացած օպերացիոն համակարգի համար
Microsoft kernel-ում առկա սխալների քանակը Windows և օգտատերերի ծրագրերի մեծ մասը վերջին 12 տարիների ընթացքում գրեթե գծայինորեն աճել է։

2019 թվականին Microsoft-ի Մեթյու Պարկինսոնը , որը կարող է վերջ դնել սրան։
Սա Microsoft-ի նախաձեռնություն է՝ ստեղծելու Rust լեզվի գաղափարների վրա հիմնված անվտանգ ծրագրավորման լեզու. Microsoft Research-ի գործընկերները պարզել են, որ անվտանգության խնդիրների մեծ մասը կապված է C լեզվի ծանր ժառանգության հետ, որում մեծ մասը... WindowsԺանգի նման Verona լեզուն կառավարում է հիշողությունը և ռեսուրսներին միաժամանակյա մուտքը՝ օգտագործելով . Եթե ցանկանում եք մանրամասնորեն հասկանալ, թե ինչպես է այն աշխատում, ստուգեք .
Հետաքրքիր է, որ Microsoft-ը ավանդաբար ընկալվում է որպես չարի կայսրություն և ամեն նորի հակառակորդ, չնայած այն հանգամանքին, որ. Glasgow Haskell Compiler-ի գլխավոր մշակողը աշխատում է Microsoft-ում։

Բրայան Քենթրիլի հարցը 1-ին կետից. «Ժամանակը չէ՞ վերաշարադրել օպերացիոն համակարգի միջուկը Rust-ում»: ստացավ անսպասելի պատասխան՝ ակնհայտ է, որ օպերացիոն համակարգի միջուկը դեռևս հնարավոր չէ վերաշարադրել, բայց օգտվողների տարածքում աշխատող ծրագրերն արդեն վերաշարադրվում են։ Սկսվել է անկասելի գործընթաց, և դա ապագայում նոր էջ կբացի բոլոր օպերացիոն համակարգերի համար։
3. Dart ծրագրավորման լեզվի վերելքը Flutter շրջանակի շնորհիվ
Համոզված եմ, որ հետևյալ լուրը մեծ անակնկալ է ոչ միայն մեզ ու լայն հանրության, այլ նաև դրա ձևավորման գործընթացի անմիջական մասնակիցների մեծամասնության համար։ Դարտ ծրագրավորման լեզուն, որը թողարկվել է Google-ի կողմից ութ տարի առաջ, այս տարի մեծ ժողովրդականություն է վայելում:
Ես օգտագործում եմ ծրագրավորման լեզուների հանրաճանաչությունը գնահատելու իմ մեթոդը՝ վերլուծելով Github-ի պահեստները, ամիսը մեկ անգամ . Եթե տարեսկզբին կար ընդամենը 100 հայտնի Dart պահեստ, ապա այսօր արդեն 313-ը:
Դարտը հանրաճանաչությամբ առաջ է անցել Erlang-ից, PowerShell-ից, R-ից, Perl-ից, Elixir-ից, Haskell-ից, Lua-ից և CoffeeScript-ից: Թվում է, թե այս տարի ոչ մի այլ ծրագրավորման լեզու ավելի արագ չի աճել։ Ինչու՞ դա տեղի ունեցավ:
Այս տարվա շրջադարձային զեկույցներից մեկը կարդացել է Ռիչարդ Ֆելդմանը և կանչվել Զեկույցի զգալի մասը նվիրված է այն վերլուծությանը, թե ինչպես են ծրագրավորման լեզուները դառնում հանրաճանաչ։ Հիմնական պատճառներից մեկը, ըստ Ռիչարդի, հայտնի հավելվածի կամ շրջանակի առկայությունն է, այլ կերպ ասած մարդասպան հավելվածը.
Dart-ի հանրաճանաչության պատճառը բջջային հավելվածների մշակման շրջանակն էր: , որի ժողովրդականությունը աճել է, ըստ Google Trends-ի, հենց այս տարվա սկզբին:

Մենք ոչինչ չգիտենք Dart-ի մասին, քանի որ մենք բջջային զարգացում չենք անում, բայց մենք ողջունում ենք ստատիկ տպագրված ծրագրավորման մեկ այլ լեզու:
4. Միջուկի գոյատևման հավանականությունը Linux և դրա համայնքը՝ eBPF վիրտուալ մեքենայի շնորհիվ
Մենք VDSina-ում սիրում ենք կոնֆերանսներ. այս տարի ես գնացի Սանկտ Պետերբուրգում կայանալիք DevOops կոնֆերանսին և մասնակցեցի կլոր սեղանի քննարկմանը, որը նվիրված էր ոլորտի միտումներին և թեժ խնդիրներին: 2019 թվականին նման խոսակցությունների առաջատար կարծիքներն էին.
- Դոկերը մահացել է, քանի որ դա չափազանց ձանձրալի է
- Kubernetes-ը ողջ և առողջ է դեռևս մեկ տարի կամ ավելին, դրա մասին դեռ կխոսվի 2020-ին համաժողովներում
- մինչդեռ, միջուկում Linux ոչ մի կենդանի մարդ երկար ժամանակ չի նայել
Իմ տեսանկյունից, ես չեմ կիսում վերջին կետը միջուկի մշակման հետ կապված։ Linux Այժմ տեղի են ունենում ոչ միայն հետաքրքիր, այլև հեղափոխական բաներ։ Առավել նշանակալիցը eBPF վիրտուալ մեքենա է, որը սկզբնապես ստեղծվել է ցանցային փաթեթների զտման ձանձրալի խնդիրը լուծելու համար և այդ ժամանակվանից ի վեր զարգացել է որպես ընդհանուր նշանակության միջուկի մակարդակի վիրտուալ մեքենա։

Միջուկի մշակում Linuxէր

Միջուկի մշակում Linux: այն դարձավ
eBPF-ի միջոցով միջուկն այժմ հաղորդում է այն իրադարձությունների մասին, որոնք կարող են մասամբ մշակվել միջուկից դուրս. ինտերֆեյսը հնարավորություն է տալիս անվտանգ և արդյունավետ կերպով փոխազդել միջուկի հետ օգտագործողի տարածքից և ընդլայնել ու լրացնել միջուկի ֆունկցիոնալությունը։ Linux, շրջանցելով Լինուս Տորվալդսի ամենատես աչքը։
eBPF-ից առաջ՝ այնպիսի ծրագրերի մշակում, որոնց գործունեությունը սերտորեն կապված է միջուկի հետ փոխազդեցության հետ։ Linux բարդ պատմություն էր. դանդաղ սարքերի համար դրայվերների և օգտատիրոջ տարածքում ֆայլային համակարգերի համար ինտերֆեյսների նման բաների ստեղծումը պահանջում էր փորձառու միջուկի մշակողների կողմից պաշտոնական վերանայման գործընթաց։ Linux.
eBPF ինտերֆեյսի հայտնվելը մեծապես պարզեցրել է նման ծրագրեր գրելու գործընթացը. մուտքի շեմն իջեցվել է, ավելի շատ մշակողներ կլինեն, և համայնքը նորից կկենդանանա:
Ես մենակ չեմ իմ ոգևորության մեջ. հայտարարում է eBPF-ի կարևորությունը միջուկի զարգացման էկոհամակարգի գոյատևման (!) համար: Մեկ այլ, ոչ պակաս հայտնի ծրագրավորող (Ես նրա մեծ երկրպագուն եմ) , որը չէր հավասարվել 50 տարի։
Մինչդեռ Լինուս Տորվալդսը սովորաբար հրապարակայնորեն չի գովում նման բան, և ես կարող եմ հասկանալ նրան. ո՞վ է ուզում հրապարակավ ապուշ սարքել: 🙂

5. Linux գրեթե վերջին մեխը խրեց FreeBSD-ի դագաղին՝ միջուկում ասինխրոն io_uring ինտերֆեյսի միջոցով։ Linux
Քանի որ մենք խոսում ենք միջուկի մասին Linux, անհրաժեշտ է նշել այս տարի տեղի ունեցած մեկ այլ նշանակալի բարելավում՝ նոր միջուկի ներառումը Ջենս Էքսբոի կողմից Facebook-ից:
Տարիներ շարունակ FreeBSD համակարգի ադմինիստրատորներն ու մշակողները իրենց ընտրությունը արդարացնում էին այն փաստով, որ FreeBSD-ն ավելի լավ ասինխրոն մուտք/ելք ունի, քան LinuxՕրինակ, այս փաստարկը Գլեբ Սմիրնով Նգինքսից.
Հիմա խաղը շրջվել է. և կատարողականի թեստի արդյունքները տպավորիչ են. IOPS-ի աճը տատանվում է 14%-ից մինչև 102%՝ կախված բլոկի չափից: Կա մի նախատիպ, որն օգտագործում է ասինխրոն I/O PostgreSQL-ում (առնվազն ), PostgreSQL-ն ասինխրոն I/O-ի փոխակերպելու մասին: Բայց հաշվի առնելով մշակողների համայնքի պահպանողականությունը, մենք չենք տեսնի այս փոփոխությունները 2020 թվականին:

6. AMD-ի հաղթական վերադարձը Ryzen պրոցեսորային գծով
Ոչ մի արտասովոր բան, պարզապես AMD ընկերությունը, որը վաղուց արդեն երկրորդ ջութակ է խաղում ոլորտում, ռեկորդային ռեկորդ է գերազանցում:
Ryzen պրոցեսորների նոր շարքը ցույց է տվել անհավատալի գին/գործունակություն , իսկ որոշ շրջաններում . Մրցակցային պայքարում Intel-ը ստիպված է : պատճառ է դառնում, որ իրենց սեփական կոմպիլյատորով ստեղծված ծրագրերը ավելի քիչ արդյունավետ աշխատեն մրցակցի պրոցեսորների վրա: Չնայած Intel-ի պայքարի կեղտոտ ձևերին, .
7. Հետևելով դրամին՝ Apple-ը նպատակ ունի կծել Intel-ի կարկանդակը iPadOS-ի և Gates-ի հին հնարքների միջոցով:
Հսկաների միջև մարտերին սովորաբար փորձում են մասնակցել բոլոր նրանք, ովքեր կարող են զենք պահել, և AMD-ը միակ ընկերությունը չէ, որը հավակնում է Intel-ի սննդի մատակարարմանը: Apple-ն իրեն պահեց այնպես, ինչպես ծեր ցուլը կատակից.
սարից կամաց կիջնենքՄի ծեր ու երիտասարդ ցուլ կանգնած են լեռան գագաթին, իսկ ներքեւում արածում է կովերի երամակ։
Երիտասարդ ցուլն առաջարկում է ծերուն.
-Լսիր, արի արագ իջնենք, մի կով խփենք:
և արագ, արագ մենք նորից կբարձրանանք:
-Ոչ-օ՜
- Դե, ուրեմն արի արագ, արագ իջնենք, յուրաքանչյուրը երկու կով խփի ու արագ...
արագ վեր բարձրանանք։
-Ոչ-օ՜
-Լավ, այդ դեպքում ի՞նչ եք առաջարկում։
- Կամաց-կամաց կիջնենք սարը, ամբողջ նախիրը քարշ կտանք ու
դանդաղ, դանդաղ, եկեք վերադառնանք այնտեղ, որտեղ մենք պատկանում ենք:
Նոր iPadOS-ի թողարկմամբ Apple-ը Intel-ի դեմ օգտագործեց «խափանող նորարարություն» կոչվող մարտավարությունը:
Վիքիպեդիայի սահմանում
Խանգարող նորարարությունները նորամուծություններ են, որոնք փոխում են շուկայում արժեքների հավասարակշռությունը: Միևնույն ժամանակ, հին ապրանքները դառնում են անմրցունակ միայն այն պատճառով, որ այն պարամետրերը, որոնց հիման վրա նախկինում տեղի էր ունենում մրցակցությունը, կորցնում են իրենց նշանակությունը։
«Խանգարող նորարարությունների» օրինակներ են հեռախոսը (փոխարինված հեռագրին), շոգենավերը (փոխարինված առագաստանավերը), կիսահաղորդիչները (փոխարինված վակուումային խողովակները), թվային տեսախցիկները (փոխարինված ֆիլմի տեսախցիկները) և էլ. փոստը (խաթարված ավանդական փոստ):
Apple-ն օգտագործում է իր սեփական ցածր էներգիայի ARM-ի վրա հիմնված պրոցեսորները, և ապացուցված է, որ դա ավելի կարևոր է օգտատերերի համար, քան Intel-ի x86-ի համեմատ մի փոքր ավելի դանդաղ կատարումը:
Apple-ը քայլեր է ձեռնարկում շուկայի մասնաբաժինը գրավելու ուղղությամբ՝ iPad-ը ժամանցային տերմինալից վերածելով լիարժեք աշխատանքային գործիքի՝ նախ բովանդակություն ստեղծողների, իսկ այժմ՝ մշակողների համար: Իհարկե, մենք շուտով չենք տեսնի ARM-ի վրա հիմնված MacBook, սակայն MacBook Pro ստեղնաշարի դիզայնի աննշան տհաճությունները խրախուսում են այլընտրանքային լուծումների որոնումը, և դրանցից մեկը խոստանում է լինել iPad Pro-ն iPadOS-ով:
Ի՞նչ կապ ունեն Գեյթսն ու Microsoft-ը սրա հետ:
Գեյթսը ճիշտ նույն հնարքն արեց IBM-ի հետ նախկինում:
1970-ականներին IBM-ը գերիշխում էր սերվերների շուկայում՝ վստահորեն անտեսելով անձնական համակարգիչները միջին մարդու համար։ 1980-ականներին Գեյթսն օգտագործեց IBM-ի միջոցները MS-DOS-ը ստեղծելու և լիցենզավորելու համար՝ պահպանելով օպերացիոն համակարգի իրավունքները իր համար։ Ստանալով գումարը՝ Microsoft-ը ստեղծեց MS-DOS-ի համար գրաֆիկական ինտերֆեյս, և ծնվեց համակարգիչների աշխարհը։ Windows — սկզբում պարզապես DOS-ի վրա գրաֆիկական ծածկույթ, իսկ հետո՝ լայն հանրության համար հարմար առաջին համակարգչային օպերացիոն համակարգը։ IBM-ը՝ խոշոր, անհարմար ընկերությունը, անձնական համակարգիչների շուկան զիջեց երիտասարդ և արագաշարժ Microsoft-ին։ Ես այս ուշագրավ պատմությունը շատ համառոտ ամփոփեցի, այնպես որ, եթե հետաքրքրված եք, թե ինչպես է Apple-ը մրցելու Intel-ի հետ 2020 թվականին iPadOS-ով, ես խորհուրդ եմ տալիս այն։ .
8. ZFSon-ի դիրքերի ամրապնդումLinux — ծեր ձին ակոսը չի փչացնում
Կանոնական օգտագործելով ZFS ֆայլային համակարգը որպես արմատային ֆայլային համակարգ անմիջապես տեղադրողից: Երբեմն ես կարծում եմ, որ Sun Microsystems-ում աշխատող ինժեներները ներկայացնում են Homo sapiens-ի առանձին կենսաբանական տեսակ (վերոնշյալ Բրայան Քենթրիլը և Բրենդան Գրեգը աշխատել են Sun-ում): Դատեք ինքներդ, չնայած մարդկության տարիների ջանքերին՝ ստեղծելու ZFS ֆայլային համակարգին թեկուզև հեռավոր կերպով նման մի բան, չնայած անհաղթահարելի լիցենզավորման սահմանափակումներին, որոնք թույլ չեն տալիս ներառել ZFS-ի սկզբնական կոդը հիմնական միջուկի մշակման ճյուղում: Linux, մենք դեռ օգտագործում ենք ZFS-ը, և սա մոտ ապագայում չի փոխվի։
9. Oxide Computer Company. Մենք ուշադիր հետևելու ենք այս թիմին, որն ակնհայտորեն ունակ է շատ բանի, առնվազն՝ ստեղծելով հիանալի շոու:
Ես կավարտեմ իմ ցուցակը Բրայան Քենթրիլի մեկ այլ հիշատակմամբ, ում հետ ես սկսել եմ:
Բրայան Քենթրիլը և այլ ինժեներներ (որոնցից ոմանք նաև Sun-ի նախկին աշխատակիցներ էին) հիմնեցին մի ընկերություն, որը կոչվում էր , որի հիմնական նպատակը լայնածավալ օգտագործման համար հարմար սերվերային հարթակի ստեղծումն է։ Հայտնի է, որ շատ խոշոր կորպորացիաները, ինչպիսիք են Google-ը, Facebook-ը և Amazon-ը, իրենց գործունեության մեջ չեն օգտագործում սովորական սերվերային սարքավորումներ։ Բրայանի ընկերությունը նպատակ ունի վերացնել այս անհավասարությունը՝ մշակելով ապարատային և ծրագրային հարթակ, որը կարող է օգտագործվել ցանկացած ամպային ծառայության կողմից (և դա չի լինի առանց Rust ծրագրավորման լեզվի):
Նրանց գաղափարը նոր հեղափոխության խոստումն է, և ես առնվազն հաճույքով կհետևեմ նրանց մտքերի շարժին և զարգացմանը գալիք 2020 թվականին։
Այն, ինչ մեզ հաջողվեց անել 2019 թվականին VDSina-ում
Մենք 2019 թվականին VDSina-ի հետ ոչ մի տեխնոլոգիական առաջընթաց չարեցինք, բայց դեռ հպարտանալու բան ունենք:
Փետրվարին մենք ավելացրինք սերվերների միջև տեղական ցանց օգտագործելու հնարավորությունը և գործարկեցինք տիրույթի գրանցման ծառայություն: Գինը կազմել է շուկայում ամենացածրներից մեկը՝ 179 ռուբլի ru/rf-ի համար, ներառյալ նորացման համար։
Մարտին մենք խոսեցինք IT Global Meetup #14-ում:
Ապրիլին մենք յուրաքանչյուր սերվերի համար ալիքի լայնությունը բարձրացրինք 100-ից մինչև 200 մեգաբիթ, և զգալիորեն ավելացրինք տրաֆիկի սահմանաչափը բոլոր սակագների համար (բացի ամենաէժանից)՝ ամսական մինչև 32 ՏԲ:
Հուլիսին հաճախորդներին տրվեց ավտոմատ կերպով տեղադրելու հնարավորություն Windows Server 2019 թվական։ Մոսկվայի մասնաճյուղում սկսեցին տրամադրել անվճար DDoS պաշտպանություն։
Նաև հուլիսին մեր ընկերությունը հայտնվեց Habr-ում, դեբյուտային և ինչպես դա օգնեց մեզ որակական թռիչք կատարել հաճախորդների աջակցության ոլորտում:
Օգոստոսին մենք ավելացրինք snapshots-սերվերների պահուստային պատճեններ ստեղծելու հնարավորությունը:
Մենք հրապարակել ենք հանրային API:
Յուրաքանչյուր սերվերի համար ալիքի լայնությունը 200-ից ավելացել է 500 մեգաբիթ:
Մենք մասնակցեցինք Chaos Constructions 2019 կոնֆերանսին՝ որպես ապրանք բաժանելով մտրակներ ընկերության տարբերանշանով (քարոզարշավի կարգախոսն էր «Երբ մշակողը վերևում է») և պայթեցրինք Telegram-ի չաթերը։
Սեպտեմբերին մենք գործարկեցինք ՏՏ ընկերության ամենագեղեցիկ և ընկերական Instagram-ը. VDSina-ն սկսեց պատմել նորությունների և առօրյա կյանքի մասին: .

Նոյեմբերին մենք գնացինք Highload++, մասնակցեցինք «Կուբերնետեսի տվյալների բազաները» թեմայով կլոր սեղանի քննարկմանը և մասնակիցներին հագցրեցինք շնաձկան գլխարկներ։
Դեկտեմբերին մենք խոսեցինք ԳազպրոմՆեֆտի գրասենյակում DevOps հանդիպման ժամանակ Kubernetes-ի տվյալների բազաների և Մոսկվայում DevOpsDays կոնֆերանսի մասին։ , որն անկասկած իմ տարվա լավագույն ելույթն էր։
Ամփոփում
Ինչպես Նասիմ Թալեբն ասաց, շատ ավելի հեշտ է կանխատեսել, թե ինչ չենք տեսնի։ Կցանկանայի նշել, որ 2020 թվականին տեսնելիք ամեն նոր բան իր ծագումն ունի 2019, 2018 և ավելի վաղ շրջաններում։ Ես չեմ փորձի ճշգրիտ կանխատեսել ապագան, բայց 2020 թվականը, անշուշտ, այն տարին չի լինի, Linux աշխատասեղանի վրա (ե՞րբ եք վերջին անգամ աշխատասեղան տեսել) և տարեթիվը Linux Մենք սա տեսնում ենք բջջային սարքերում արդեն մոտ տասը տարի։
Ամեն դեպքում, հուսով եմ, որ մեկ տարի հետո մենք նորից կհավաքվենք ու կքննարկենք, թե իրականում ինչպես է ամեն ինչ ստացվել։
Բոլորը գալիք տոներով:
Հետևեք մեր մշակողին Instagram-ում
Source: www.habr.com
