Hikoyaning davomi .
Yil 2001 yil edi. Eng zo'r operatsion tizim chiqarilgan yil - Windows XP. Rsdn.ru qachon paydo bo'lgan? C# va .NET Frameworkning tug'ilgan yili. Ming yillikning birinchi yili. Va yangi apparat kuchining eksponentsial o'sishi yili: Pentium IV, 256 mb RAM.
9-sinfni tamomlab, dasturlashga bo'lgan cheksiz ishtiyoqimni ko'rgan ota-onam meni kollejning dasturlash yo'nalishiga o'tkazishga qaror qilishdi. Ular bu yo‘l yaxshiroq bo‘lishiga va meni o‘sha yerda o‘rgatishlariga ishonishdi. Darvoqe, sanoat shaharchasi chekkasida joylashgan bu muassasaga kollej so‘zi to‘g‘ri kelmasdi. Bu oddiy texnik maktab bo‘lib, fasadiga “kollej” degan moda so‘zi yozilgan yorliqni osmagan boshqa texnikumlardan farqi yo‘q edi.
Xo'sh. Men ota-onamga qarshi chiqmadim va ularning qaroriga qarshi chiqmadim. Har holda, men o'z-o'zini tarbiyalash bilan shug'ullanardim va bu yangi joyda menga qo'shimcha bilim berishadi, deb o'yladim.
O'sha yozda kollejga borishdan oldin men jurnalda chop etilgan barcha mumkin bo'lgan texnologiyalarni yaxshilab o'rgana boshladim. . Men uni qismlarga bo'lib o'qidim va qayta o'qidim. Menga, ayniqsa, haqiqiy xakerlar bilan suhbatlar va ularning maslahatlari yoqdi.
Ajoyib xakerlarning aksariyati Linuxda edi. Va Mazda (Windows) lamerlar uchun edi. Jurnalni o'qigan har bir kishi undagi yozuvlarning uslubini eslaydi. Shuning uchun, mening mo'rt onamda ikkita g'oya o'zaro kurashdi - Windows-ni tark etish yoki sovuqqon bo'lib, faqat Linuxga yopishib olish.
Hacker jurnalining har bir yangi soni menga diskni formatlash va Linux Red Hat 7 yoki Windows Me-ni o'rnatish uchun yangi sabab berdi. Albatta, menda hech qanday ta'lim vektori yo'q edi va men jurnallarda yoki "Hackerlar sirlari" kabi pirat disklarda o'qiganlarimni qildim. Ikkita operatsion tizimni parallel ravishda o'rnatish ham o'chirildi, "Windows XP aka to'tiqush - bu uy bekalari uchun" ruhidagi yangi to'ldirishdan so'ng. Va agar siz jiddiy ishlarni qilishni istasangiz, Linux konsolidan ko'zingizni yumib ishlashingiz kerak." Albatta, men tizimlarni buzishni, tarmoq qanday ishlashini tushunishni va o'sha paytda eng kuchli Anonim bo'lishni xohlardim.
Disk hech qanday afsuslanmasdan formatlandi va unga Unix-ga o'xshash tizimning tarqatish to'plami o'rnatildi. Ha ha. Men bir marta konsoldan faqat FreeBSD 4.3 dan foydalanadigan haqiqiy xaker bilan intervyuni o'qidim. Shu bilan birga, u banklar va davlat tizimlarini buzish uchun javobgar edi. Bu boshga chaqmoq urishi edi va men BSD OS ni asosiy tizim sifatida 5 marta o'rnatdim. Muammo shundaki, o'rnatishdan keyin yalang'och konsoldan boshqa hech narsa yo'q edi. Hatto ovoz. Va KDE2-ni o'rnatish va ovozni yoqish uchun daf bilan ko'p raqsga tushish va bir nechta konfiguratsiyalarni tuzatish kerak edi.

FreeBSD 4.3 tarqatish eng xakerlik OT hisoblanadi
Adabiyot haqida
Men kompyuterga ega bo'lishim bilan dasturlash bo'yicha kitoblar sotib ola boshladim. Birinchisi "Turbo Pascal 7.0" bo'yicha qo'llanma edi. Buning ajablanarli joyi yo'q, chunki men dasturlash kurslarida Paskal tilini biroz bilardim va o'zim o'qishni davom ettirishim mumkin edi. Muammo shundaki, xakerlar Paskalda yozmaydilar. Keyin Perl tili modada edi yoki sovuqroq bolalar uchun bu C/C++ edi. Hech bo'lmaganda ular jurnalda shunday yozgan. Va oxirigacha o'qigan birinchi kitobim Kernighan va Ritchining "C dasturlash tili" edi. Aytgancha, men Linux muhitida o'qiganman
va kodni yozish uchun gcc va KDE o'rnatilgan muharriridan foydalangan.
Ushbu kitobdan keyin UNIX entsiklopediyasi sotib olindi. Uning og‘irligi 3 kilogramm bo‘lib, A3 formatdagi varaqlarda chop etilgan.
Kitobning old tomonida vilkali multfilm shaytonning to'liq metrajli tasviri bor edi va u Ukrainada 125 grivnaga tushdi (bu 25 yilda taxminan 2001 dollar). Kitobni sotib olish uchun men maktabdagi do'stimdan qarz oldim, qolganini ota-onam qo'shib qo'ydi. Keyin men Unix buyruqlarini, vim va emacs muharririni, fayl tizimining tuzilishini va konfiguratsiya fayllarining ichki qismlarini ishtiyoq bilan o'rganishni boshladim. Ensiklopediyaning deyarli 700 sahifasi yutib yuborildi va men orzuimga bir qadam yaqinlashdim - Kul-Hatzker bo'lish.

UNIX entsiklopediyasi - Men o'qigan birinchi kitoblardan biri
Mehribon bobom va buvim, ota-onam bergan pullarni kitobga sarfladim. Keyingi kitob 21 kun ichida C++ edi. Sarlavha juda jozibali edi, shuning uchun men boshqa sifatli kitoblarga qaramadim. Shunga qaramay, barcha manbalar kitobdan taxminan 3 hafta ichida ko'chirildi va men C++ da nimanidir tushundim. Garchi men ushbu ro'yxatlarda nima yozilganligini tushunmadim. Ammo taraqqiyot bor edi.
Agar siz mendan qaysi kitob sizning karerangizga ko'proq ta'sir qilganini so'rasangiz, men ikkilanmasdan javob berardim - "Dasturlash san'ati" - D. Knut. Bu miyaning qayta ulanishi edi. Bu kitob mening qo'limga qanday kelganini aniq ayta olmayman, lekin bu mening kelajakdagi faoliyatimga eng katta ta'sir ko'rsatdi.

Dasturlash san'ati - o'qish kerak
Men kitoblarni asosan faqat yakshanba kunlari ishlaydigan radio bozoridan sotib oldim. Nonushtada yana bir necha o'nlab grivnani tejab, men C++ yoki Perl bo'yicha yangi kitobga bordim. Tanlov juda katta edi, lekin menda murabbiy yo'q edi, shuning uchun men hamma narsani o'rganib chiqdim. Men sotuvchidan dasturlash haqida biror narsa tavsiya etishini so'radim. Va esimda, u javondan "Dasturlash san'ati" ni oldi. Birinchi jild". Kitob allaqachon ishlatilganligi aniq. Muqovaning burchaklari egilib, orqa tomonida katta tirnalgan, aynan Bill Geyts o‘z sharhini qoldirgan joyda ko‘rinib turardi: “Agar siz ushbu kitobni o‘qisangiz, menga albatta rezyumeingizni yuborishingiz kerak”, deb imzolagan. Men Geyts haqida jurnallardan bilardim va barcha xakerlar uni tanqid qilishsa ham, unga rezyumeni jo‘natish yaxshi bo‘lardi, deb o‘yladim. Kitob narxi 72 UAH. ($15) va men tezda yangi materialni o'rganish uchun tramvayda uyga yugurdim.
Men qanchalik chuqur va asosiy narsalarni o'qidim, albatta, men 15 yoshimda tushuna olmadim. Lekin men har bir mashqni bajarishga astoydil harakat qildim. Bir marta men hatto qiyinchilik darajasi 25 yoki 30 bo'lgan muammoni to'g'ri hal qilishga muvaffaq bo'ldim. Bu matematik induksiya bo'yicha bo'lim edi. Men maktab matematikasini yoqtirmagan bo'lsam ham va uni yaxshi tushunmagan bo'lsam ham, men gilamchadan oshib ketdim. Knuthning tahlili - Men soatlab o'tirdim.
Keyingi, ikkinchi bobda ma'lumotlar tuzilmalari mavjud edi. Bu rasmlar va bog'langan ro'yxatlar, ikkilik daraxtlar, steklar va navbatlarning rasmlari hali ham ko'z o'ngimda. Tijoriy rivojlanishdagi 12 yillik faoliyatim davomida men eng umumiy maqsadli tillardan foydalanganman.
Bular C/C++, C#, Java, Python, JavaScript, Delphi. Til qanday nomlanishidan qat'iy nazar, uning standart kutubxonasida Donald Knut o'zining uch jildlik kitobida tasvirlangan ma'lumotlar tuzilmalari va algoritmlari mavjud edi. Shuning uchun, yangi narsalarni o'rganish ko'p vaqt talab qilmaydi.
Birinchi jild juda tez yutib yuborildi. Men Knutning kitobida keltirilgan algoritmlarni C tiliga qayta yozdim.Bu har doim ham ish bermasdi, lekin qanchalik ko'p mashq qilsam, shunchalik aniqlik paydo bo'ldi. G'ayrat kam bo'lmadi. Birinchi jildni tugatgandan so'ng, men ikkilanmasdan ikkinchi va uchinchisini sotib olishga yugurdim. Men ikkinchisini hozircha chetga surib qo'ydim, lekin uchinchisini (Saralash va qidirish) yaxshilab oldim.
Men butun daftarni qanday to'ldirganimni, saralash va qidirish algoritmlarini "tarjima qilganimni" juda yaxshi eslayman. Xuddi ma'lumotlar tuzilmalarida bo'lgani kabi, ikkilik qidiruv va tezkor saralash mening miyamda yashin tezligida tasvirlangan va ular Knuthning uchinchi jildida sxematik ko'rinishini eslab qoladi.
Qamchi hamma joyda o'qildi. Men dengizga borganimda ham, yaqin atrofda shaxsiy kompyuterim bo'lmasa ham, men algoritmlarni daftarga yozdim va ular orqali raqamlar ketma-ketligini o'tkazdim. Hali ham eslayman, men to'pni o'zlashtirishim uchun qanchalar og'ir edi, lekin bunga arziydi.
Menga kuchli ta'sir qilgan keyingi kitob "Ajdaho kitobi" edi. Bu shuningdek, "Tuzuvchilar: printsiplar, texnologiyalar, asboblar" - A. Aho, R. Seti. Undan oldin C++ tilida ilg'or vazifalar bilan Gerbert Shiltd bo'lgan. Bu erda nuqtalar birlashdi.
Shildt tufayli men parser va til tarjimonlarini yozishni o'rgandim. Va keyin "Ajdaho kitobi" meni o'z C++ kompilyatorimni yozishga undadi.
Ajdaho kitobi
O'sha vaqtga kelib, menga modem bilan ishlaydigan Internet aloqasi berildi va men dasturchilar uchun eng mashhur sayt - rsdn.ru da ko'p vaqt o'tkazdim. U erda C++ ustunlik qildi va har bir mutaxassis men hal qila olmagan savollarga javob bera oldi. Bu meni xafa qildi va men tushundim
Men bu soqolli yigitlardan uzoq ekanligimni, shuning uchun men "From and To" ning afzalliklarini o'rganishim kerak. Bu motivatsiya meni birinchi jiddiy loyihamga – 1998 yil C++ standartidagi shaxsiy kompilyatorimga olib keldi. Batafsil tarix va manbalarni ushbu postda topishingiz mumkin .
Maktab yoki o'z-o'zini tarbiyalash
Ammo keling, IDEdan tashqaridagi haqiqatga qaytaylik. Garchi o'sha paytga kelib, men tobora real hayotdan uzoqlashib, virtual hayotga sho'ng'igan bo'lsam-da, hali ham yoshim va umumiy qabul qilingan me'yorlar meni kollejga borishga majbur qildi. Bu haqiqiy qiynoq edi. Men bu muassasada nima qilayotganimni va nima uchun bu ma'lumotni tinglayotganimni umuman bilmasdim. Mening boshimda butunlay boshqacha ustuvorliklar bor edi. Visual Studio 6.0 ni o'rganish, WinApi va Delphi 6 bilan ishlash.
Ajoyib sayt, firststeps.ru, bu menga har bir qadamimdan xursand bo'lish imkonini berdi, garchi men umumiy rasmni tushunmadim. Masalan, xuddi shu texnologiyada MFC yoki ActiveX.
Kollej haqida nima deyish mumkin? Bu vaqtni behuda sarflash edi. Umuman olganda, o'qish mavzusiga to'xtaladigan bo'lsak, men yomon o'qiganman. 6-sinfgacha men a'lo o'quvchi edim, keyin C baholarini oldim va 8-9-sinfga kelib men ko'pincha darslarni tashlab qo'ydim, buning uchun ota-onamdan xayoliy kamar oldim.
Shuning uchun kollejga kelganimda ham ishtiyoq kam edi.
- Dasturlash qayerda? Men o'zimga savol berdim. Ammo yilning birinchi yarmida u erda emas edi. Ammo MS-DOS va Office bilan kompyuter fanlari, shuningdek, umumiy ta'lim fanlari mavjud edi.
Buning ustiga, men introvert xarakterga ega edim va juda kamtar edim. Bu yangi rang-barang ekipaj ishonchni ilhomlantirmadi. Va bu o'zaro edi. Shuning uchun har xil istehzolar uzoq kutilmadi. Men bunga uzoq vaqt chidadim, toki men chiday olmadim va sinfda huquqbuzarlardan birining yuziga musht tushirdim. Ha, shuning uchun u stoliga uchib ketdi. Otamga rahmat - u meni bolaligimdan jang qilishni o'rgatgan, agar chindan ham xohlasam, jismoniy kuch ishlatishim mumkin edi. Ammo bu juda kamdan-kam hollarda sodir bo'ldi; ko'pincha men maksimal qaynash nuqtasini kutib, masxara qilishga chidadim.
Aytgancha, sodir bo'layotgan voqeadan qattiq hayratda qolgan, lekin baribir o'zining ustunligini his qilgan jinoyatchi meni javob jangiga chorladi. Ta'lim muassasasi orqasidagi bo'sh joyda allaqachon.
Bu maktabdagidek bolalarning musht silkitishi emas edi. U yerda burunlari singan, qon ko‘p bo‘lgan olijanob mahach bor edi. Yigit ham qo'rqoq yigit emas edi va ilgaklar va ustki qismlarni mohirlik bilan etkazdi. Hamma tirik qoldi va o'shandan beri hech kim meni haqorat qilmadi.
ushbu "dasturchilar kolleji" da. Tez orada men u erga borish istagimdan butunlay voz kechdim. Shuning uchun men u erga borishni to'xtatdim va ota-onamning hech qanday tahdidi menga ta'sir qilmadi. Qandaydir mo‘jiza bilan kollejda o‘qishim maktabning 10-sinfiga sanalgan va men 11-sinfga borishga haqli bo‘lganman.
Hammasi yaxshi bo'lardi, lekin 11-sinf kollejdan unchalik yaxshi emas edi. Men o‘z maktabimga qaytdim, birinchi sinfdan beri birga o‘qigan bilgan yigitlarimni uchratdim va ona shahrimda hammasi yaxshi bo‘lishiga umid qildim. Faqat bitta nuance bor edi: yigitlar men boshlang'ich maktabda do'st bo'lgan bolalardan ko'ra ko'proq teleseriallardagi banditlarga o'xshardi. Hamma mushak massasini olish uchun sport zaliga to'planishdi. Men bambukga o'xshatdim. Yupqa va juda nozik. Albatta, bunday bezori sinfdoshim meni bir chap qo'li bilan bog'lab qo'yishi mumkin edi.
Bu vaqt o'tishi bilan sodir bo'la boshladi. Bu erda mening jangovar mahoratim boshqa ta'sir qilmadi. Men va bir paytlar ona sinfimdagi qolgan o'g'il bolalar uchun vazn toifalari juda boshqacha edi. Bundan tashqari, mening fikrlashimning o'ziga xos xususiyatlari o'zini his qildi.
Xayollarim sarson bo‘lishiga yo‘l qo‘ymay, men ham maktabni tark etdim. Men o'zimni qulay his qilgan joy kompyuter monitori oldida, xonam eshigi yopiq edi. Bu mantiqiy edi va intuitiv ravishda men to'g'ri ish qilayotganimni his qildim. Bu maktab esa befoyda faoliyat, hatto kundan-kunga murakkablashib borayotgan bu masxaralarga chidash uchun ham... Bo‘ldi, yetarlicha bo‘ldim.
Sinfdagi navbatdagi mojarodan so'ng, men bilan bosh rolni o'ynaganimdan so'ng, men maktabni tark etdim va u erga boshqa bormadim.
Taxminan 3 oy davomida men uyda o'tirdim, bo'sh vaqtimni C++/WinAPI/MFC va rsdn.ru tillarini o'rganishga sarfladim.
Oxir-oqibat, maktab direktori bunga chiday olmadi va uyiga qo'ng'iroq qildi.
- "Denis, o'qishni o'ylayapsizmi? Yoki ketasizmi? Qaror qiling. Hech kim sizni mavhumlikda qoldirmaydi”. - dedi direktor
"Men ketaman", dedim ishonch bilan.
Va yana bir xil hikoya. Maktabni tugatishimga yarim yil qolgan edi. Meni qobiqsiz qoldirmang. Ota-onam mendan voz kechib, direktor bilan o‘zim muzokara qilishimni aytishdi. Men maktab direktorining oldiga keldim. Kirishim bilan shlyapamni yech, deb baqirdi. Keyin u qattiqroq so'radi: "Siz bilan nima qilishim kerak?" Ochig'i, men o'zim nima qilishni bilmasdim. Men hozirgi ahvoldan juda xursand bo'ldim. Nihoyat u so‘z oldi:
- “Keling, buni qilaylik. Kechki maktabimiz direktori bilan kelishib olaman, sen u yerga borasan”.
- "Ha"
Kechki maktab esa men kabi fristaylchilar uchun haqiqiy jannat edi. Xohlasangiz boring yoki bormang. Sinfda 45 kishi bor edi, ulardan 6-7 nafari darsga kelgan. Ro'yxatdagi hamma tirik va ozod bo'lganiga ishonchim komil emas. Chunki faqat mening ishtirokimda sinfdoshlar birovning mototsiklini o'g'irlashdi. Ammo haqiqat haqiqat bo'lib qoldi. Men dasturlash ko'nikmalarimni cheksiz ravishda oshirishim va haqiqatan ham kerak bo'lganda maktabga borishim mumkin edi. Men uni tugatdim va yakuniy imtihonlarimni topshirdim. Ular ko'p talab qilishmadi, hatto bitiruv marosimini ham o'tkazdik. Bitiruvning o'zi alohida ertak. Mahalliy banditlar va sinfdoshlar soatimni olib ketishganini eslayman. Familiyamni eshitishim bilanoq, sertifikatlar topshirish paytida men hujjatni olishga shoshildim va boshqa muammolarga duch kelmaslik uchun maktabdan o'qdek uchib ketdim.
Oldinda yoz bor edi. Donald Knut qo'ltiq ostida plyajda, dengizda, quyoshda va o'zining katta loyihasini yozish uchun taqdir qarori bilan (tuzuvchi).
Davomi bor…
Manba: www.habr.com
