The Self-Taught Programmer номын тойм

Унших хугацаа: 9 минут

So, юу бичих гэж байлаа? Өө тийм, энэ 1 сард уншсан номныхоо талаар.

Шинэ жил, шинэ шалгалтууд гээд энэ нэг сар их адал явдалтай болж өнгөрсөн. Амазоны дансаа харвал 9н ном авсан байх юм. Дээм бой, юу вэ чи одоо гэмээр байгаа биз. Шалгалтанд бэлдэж байхдаа өөрийгөө сатааруулах хоорондоо ном аваад л байсан юм шиг байгаа юм. Эдгээр номнуудынхаа 4-г нь уншсан бусад нь академик номнууд. Үлдсэн хэд нь тэгээд наана цаана харагдаад байж л байгаа.

За тэгэхээр “Start Now. Get Perfect Later”- Rob Moore, “Ikigai: The Japanese secret to a long and happy life” – Héctor García, Francesc Miralles, “The Golden Rules: 10 Steps to World-Class Excellence in Your Life and Work” – Bob Bowman, “The Self-Taught Programmer: The Definitive Guide to Programming Professionally” – Cory Authoff гэх номнуудаас өөрт таалагдсан “The Self-Taught Programmer: The Definitive Guide to Programming Professionally” номны талаар бичьюү гэж шийдэв ээ.


Яахав нөгөө хэдэн ном нь миний нүдэнд гэмт хэрэг хүлээгээд хүнд дурдахаас ч ичмээр байдалд оруулаагүй л дээ. Нэгэнт дурьдсаных хальт учир начирыг нь хөндөөд хуудасных нь тоосыг үлээхэд:

“Start Now. Get Perfect Later” гэж бол уг номны зохиолчын 10 дахь ном. Чухам яаж яваад энэ номыг олоод худалдаад авчихав хариулахгүй бол УБ Комеди-н тайзанд гаргаж ичээнэ гэсэн ч хэлж чадахгүй юм. Юутай ч амазон болон goodreads-н хүмүүсийн дүгнэлтээр бол тун дажгүй. Зохиолч Rob Moore маань хоо тэр супермэн гэхээр алдартай биш ч BBC, Channel 4, The Independent, The Business Channel гэх телевизийн шоунуудад зочноор оролцож өөрийн үзэл бодлоо илэрхийлдэг нэгнээс гадна өөрийн гэсэн 7н ч компанитай ба дэлхийн рекорд эзэмшигч, нисэгч, илтгэгч, хөрөнгө оруулалтын зөвлөгч, подкаст хөтлөгч, хүмүүст бизнесийн зөвлөгөө өгдөг нэгэн. Одоогоор энэ “Start Now. Get Perfect Later” гэж ном нь амазоны Business time management skills гэдэг бүлэглэлд борлуулалтаараа 1-т бичигдэж буй. Үнэ нь ч хямд. Ганц аяга коффее ч хүрэхгүй. Тэгсэн хирнээ хүн бүрт тулгардаг асуудлын талаарх ном. Хийх гэсэн ажлаа яаж шууд хийж эхлэх вэ?

За уншаад эхэллээ. Ном хүн хэрхэн ажлаа хойш тавьдаг тухайгаас эхлээд яаж ажлаа зөв хуваарьлах, ямар ч үр дүн хүлээх гэж бодолгүй шууд ажлаа эхлэх, яагаад ямар ажлаа хийх талаар хүмүүс шийдвэр гаргаж чадахгүй байдаг тухай, чухам яаж өөрийгөө зальдаж ажлаа хийж эхлэх тухай, өөртөө тохирсон зуршил тогтоох тухай, яаж шийдвэр хурдан гаргах тухай, болон хэрхэн үр дүнтэй шийдвэр гаргаж өөрийнхөө ажилд эзэн болох тухай өгүүлнэ.

Ер нь дажгүй. Ингэнэ тэгнэ тэгээд тэглээ ингэлээ тэглээ тэгсэн ингэсэн тэгэх хэрэгтэй ингэх хэрэгтэй ингэчихээр дажгүй тэгэхээр сайн болохоос гадна тэгсэн нь дээр байх гэж санагдсан ч ингэх хэрэгтэй ба түүнээс гадна тэр аргаар ингэсхийгээд үзэхэд тийм дүн гараад тэгээд явчихаж байгаа учраас ийм арга хэрэглэж өөрийнхөө амьдралыг сайжруулаад байдгийг тэгж ийгээд ингэж ярьж та нарт ойлгууллаа. За та бүхэн яаж өөрийнхөө хүссэн юмаа хийхийг мэдэж авлаа, конец фильма рос фильм дуу оруулсан Төмөртогтох.

Like, the fuck? Номны бичилт бол нэг тиймэрхүү. Чи ингэх хэрэгтэй, тэгэх хэрэгтэй. Юмаа хойшлуулж болохгүй гэх мэтээр зааварчилсан. Харин сайн ном бичдэг хүмүүсийн бичдэг шиг нүдэнд харагдаж, амьсгаагаа дарж унштал сайхан жишээ цохож гаргаж ирж, эсвэл яагаад тийм байгаа гэдгийг үндэс сууринд суурьлаж баталгаа гаргаж ирсэн бичлэг барагтай байхгүй. Бүүр нэг тийм сэтгэлд үлдэж, санаанд тортол сайхан гаргалгаатай бичээгүй л гэсэн үг л дээ (ямархуу бичилт яриад байна гэвэл энэ бас энийг унш).

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

“Ikigai: The Japanese secret to a long and happy life” – г бол би дахиж тухтайхан сайн уншиж үзэх ёстой ном байна лээ. Богинохон ном болохоор шууууп гээд дуусгачихсан. Хэрхэн эрүүл, аз жаргалтай амьдрах тухайдаа өөрчлөлт хийхээр бодож буй бол энийг уншаад үзээрэй. Бичилт бол энгийн хэрнээ мэдээлэл дээр тулгуурлаж, барууны сэтгүүлчдийн бичдэг хэмнэлээр азийн гүн ухааны ухагдахуун болон японы амьдралын философийг тайлбарласан. Гүн ухааны тал дээр бол бичих гэж оролдсон гэх үнэлгээ өгөхөөр бол бусад зүйлс дээр ОК.

Bob Bowman – н “The Golden Rules: 10 Steps to World-Class Excellence in Your Life and Work” ном бол хэрхэн олимпийн давагдашгүй аварга Michael Phelps-г хэрхэн дасгалжуулсан тухайгаа болон тэрхүү арга барилуудыг жирийн хүн өөрийнхөө амьдралд хэрэгжүүлж болох тухай ном. Michael Phelps-н фэн болохоор энэ номны тухай сонсоод хэзээ нэг өдөр уншина даа гэж бодож бодож энэ сар уншсан л даа. Их сайхан түүхэн явдлууд болон сэтгэлд үлдсэн тохиолдлууд хэд хэд бий. Бас ч үгүй тамирчин хүний зүтгэл, тэдний сахилга батыг харуулсан. Харин уншиж байхдаа гартаа цаас бариад хэлж байгаа санааг нь тэмдэглэж аваад юу яаж илэрхийлэх гээд байгааг нь тэмдэглэж байх хэрэгтэй санагдсан. Ном маань жирийн байдлаар бичигдээгүй. Нэг тийм 10н алхамаа жагсааж бичих гэж оролдоод тэр алхам болгондоо шаардагдах хэдэн алхамуудыг бас жагсаагаад бичсэн нь нэг сонин толгой эргэм. Чухам юу гол санаагаараа юуг өгүүлэх гэж байна гэдгийг тэмдэглэж байгаад ч юм уу сайн хөөж уншихгүй бол тамирчдын болон Michael Phelps-н түүхүүд дунд сатаараад гол санааг нь орхигдуулж байгаа нь ажиглагдсан. Түүнээс бусад нь дажгүй. Магадгүй “The Self-Taught Programmer: The Definitive Guide to Programming Professionally”-г уншаагүй бол энэ сард Bob Bowman-ы номны талаар дэлгэрэнгүй бичих байсан байх.

За гол ном бол “The Self-Taught Programmer: The Definitive Guide to Programming Professionally”. Юу вэ өөрийгөө хөгжүүлэх талаарх номнуудаас цухас дурьдаж байгаад гэнэт юу болчихвоо. Програмчлалын талаар юм уу даа?

Why mate? Ерөнхийдөө тэгээд 21-р зуун, технологийн эрин үе, мэдээдэл холбоо, за өөр юу гэдэг ч юм иймээ тиймээ гээд олон юм дурьдаж туульс бичиж болно л доо. Гэхдээ нэгэнт хүмүүсийн хэлж ярьдаг, олон нийт хүлээн зөвшөөрч эхэлсэн зүйлийг давтан бичиж хэн нэгний цуурай болмооргүй байна л даа, sorry. Чухам яагаад энэ мэргэжил хэрэгцээнд ороод байгаа тухай энэ нийтлэлийг сайхан уншчих, please.

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

Ном маань нэг улс төрөөр бакалаврын цол эзэмшсэн залуу хэрхэн мэргэжлийн түвшинд бие даан програм бичиж сурах талаар. Мэдээж програмчлал тийм амархан байсан бол өдийд хүмүүс тийм мэргэжлийн хүмүүст хэрэгцээтэй байна гэж хаа сайгүй цуурч суухгүй. Гэхдээ ном маань хэрхэн бие дааж програмчлал судалж эхлэх болон хэрхэн програм бичих талд бол их дажгүй бичигдсэн. Ялангуяа хэрхэн програм бичих тал дээр хэд хэдэн хэрэгтэй зүйлсийн талаар бүтэн бүлэг болгоод бичсэн байгаа харагдана. Regular expression, unix, git, код бичих сайн мөрдлөгө гэх мэт их сургуулийн курсуудэд багтаад байдаггүй зүйлсийн талаар бичигдсэн. Их сургуульд барагтай заахгүй хэрнээ ажлын байранд байнга хэрэглэгддэг, төгсөгчдийг мэддэг байх гэж ажлын зар дээр тавьсан байдаг шаардлагууд л даа. Тэгээд хөөрхий оюутнууд хамраа ухацгаагаад л гүүглдэж өөрсдөө сурдаг даа. Номонд программистуудын хэрэглэдэг хэллэг үгс бүлэг бүрийн төгсгөлд тайлбартай оруулж өгсөн нь тун дажгүй санагдсан. Тухайн хэллэгүүдийн талаар уншаад баримжаа аваад дараа нь тэр мэргэжлийн ойлголтуудын талаар гүнзгийрүүлж судлах бол тэр үгнүүдийг гаргаж ирж харж байгаад судалчихна амар.

Номны өрнөл бол уншигчийг ямар ч програмчлалын мэдлэггүй гэдэг түвшингээс эхэлж python хэл дээр програмчлал заана. Яг тэр тийм юм бичээд ингэнэ тэгнэ гэж уг хэл дээр тулгуурлалгүйгээр ийм учраас тэгэж байгаа хэрэг гэх маягтайгаар тайлбарласан байдалтай бичигдэх ба ер нь уншиж байгаа хүнд бол эвтэйхэн бичигдсэн. Бүлэг бүрийн төгсгөлд жижиг даалгавруудтай ба тэдгээр нь тухайн бүлэгт бичигдсэн ойлголтуудыг шалгаж байгаа маягтай. Bash, regex энэ тэр дээр даалгавар байхаас ч гадна жижиг програмчлалын даалгавар их. Түүнчлэн бусад хэрэгтэй зүйлсийг өөрийнхөө сайт дээр бичээд тэрийгээ холбож өгсөн линкүүд номонд их.

Ерөнхийдөө ном маань 6н бүлэг болж задраад бүлэг бүрт програмчлалд ашиглагддаг ерөнхий ойлголтуудыг хавсаргаж бичсэн. Ашиглаж байгаа python хэл маань ч хүнд ойлгомжтой бичигддэг (applied English гэж ч зарим хүн хэлдэг) болохоос гадна орчин үеийн програмчлалын чиглэл бүрийг дэмждэг нь номонд бичигдэж байгаа онолын ойлголтуудыг тайлбарлахад их нэмэртэй. Жишээлбэл part 2-д procedural, functional, object-oriented programming – г харьцуулж тайлбарлахад хэрхэн тэдний хоорондын ялгааг гаргаж харуулахын хажуугаар functional programming хэрхэн ашиглах талаар хэлсэн хэсэг их таалагдсан. Онолын үүднээс бол их том ойлголт л доо. Тэрийг ерөнхийд нь хялбарчлаад аа нэг тиймэрхүү юм гээд энэ талаар ойлголтгүй хүн багцаа авахад бол хангалттай. Тэрний дараа мэдээж object-oriented programming. Энэний тухай бол их дэлгэрэнгүй бичсэн. Чухам одоо орчин үед гол ашиглагдаж буй хойно арга ч үгүй биз. Энэ ойлголтуудаа баталгаажуулах гэж нэг хөөрхөн жижигхэн програм бичиж уг бүлэг дуусна. Хөзөрний тоглоом хийгээд байлуу даа. Үнэн хөөрхөн.

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

Энэний дараа хэрхэн ажилд орох тухай хэсэг. Цэвэрхэн код бичих тухай заавар зөвлөгөөнүүд, ажиллагааны чанартай код гэж юу болох тухай, хэрхэн код бичих тухай, програмчлалын инженер хүний хийх ёстой дадал ажлууд болон дагаж мөрддөг дүрмүүдийн талаар товчхон дурьдсан. Товч байсан нь ч дээр л дээ. Энэ тухай нэг зүйл дээр нь л нэг бүтэн ном байдаг. Тэр номнуудаас ч ганц хоёрыг нь дурьдсан бий. Үүний дараагаар хэрхэн ажилд орох талаар эхэлнэ. Өөрийнхөө анхны ажлыг олох, өөрийгөө бэлдэх, ярилцлаганд орохын тулд яах ёстой, ярилцлага ямархуу байдалтай явагддаг вэ, ярилцлаганд яаж бэлдвэл өөртөө өндөр боломж үүсгэх талаар ч өгүүлнэ. Богинохон ч гэсэн их зүйлийг товч товч голыг нь оноод хэлээд байга нөхөр л дөө. Яахав хэрэгтэй бол өөрийнх нь оруулсан линк эсвэл бүлэг бүрийн хойно байх түлхүүр үгээр хайлт хийгээд илүү дэлгэрэнгүй мэдээлэл авч болох юм даа.

За энэ хүртэл ном өрнөсний дараа нь номны хувьд хамгийн логик бүхий алхам юу вэ? Ажилд ороод юунд анхаарах тухай. Багаар ажиллах, бэлэн код өөрчлөх, гүүгл ашиглах бас ашиглахгүй үеийн тухай болон программист бүрт тулгардаг “imposter syndrome”-н талаар ч хэдэн зөвлөгөө бий. Ойр тойрныхондоо лаг ухаантай гэж тооцогддог ч программистууд дунд бол хэзээд хаана ч өөрөөсөө ухаантай мундаг хүн хараад гайхаш тасраад өөрийгөө голдог л доо. Тэр хүн бүрт тохионо.

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


Нэгэнт python гэж дурьдсаных энэ номноос үргэлжлүүлээд цаашаа судлахад эсвэл шууд онлайнаар програмчлал сурна гэвэл MIT-н эдгээр хоёр курсыг санал болгоё.

  1. Introduction to Computer Science using Python. Link: Here
  2. Introduction to Computational Thinking and Data Science. Link: Here

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

Аа бас одоо энд тэнд мэргэжил дээшлүүлж мастер, докторантаар сурч байгаа хүмүүс энэ python гэж нэг юмыг ашиглавал яадаг юм бол гэж гайхаж байгаа харагдана. Тэр хүмүүс маань мэдээж математик тооцоолол хийж чаддаг, python-оос өөр хэл дээр өөрт хэрэгтэй тооцооллоо хийж чаддаг хэрнээ энэ python хэл дээр програм бичдэг байх гэсэн шаардлагатай ажлын зарнуудыг хараад дотроо гайхаж л суудаг байх. Тэр хүмүүс маань энэ номны дагуу практик ажил дасгал ажиллаад энэ хэлийг сурч болно. Статистик тооцоолол хийх олон ажилтай (pmf, cdf, pdf, clt, магадлал, статистик, цагийн хувиралтай тооцоолол, регрец, статистик загвар боловсруулах, баримжаалах, hypothesis тест хийх, survival test, болон бусад аналитик тооцоолол) ба тэдгээр математик тооцоолол хийх аргачлалыг python-д хийх тухай болохоор уг хүмүүст бол зүгээр л дээ. Яг дасгал ажлууд нь практик болохоор бүүр ч урамтай (дорж дулмаа дэлгүүрээс 98 ном авсан маягтай жишээнд дургүй л биз дээ). Би ч энэ номноос хэдэн ажил хийж байгаад сүүлдээ ааа фөак фөак надад хангалттай цаг гарахгүй байна гээд орхисон. Эдийн засаг талдаа энэ програмчлалын хэлийг ашиглая гэвэл энэ сайт их зүгээр юм билээ. Бакалаврын эсвэл мастерын зэрэг гэж хувааж байгаад бичигдсэн болохоор бүүр ч аятайхан. Эдийн засгаар 2018 онд Нобелын шагнал хүртсэн эрдэмтэн чинь python ашигладаг шүү дээ. Мэдсэн үү? Тэр эрдэмтэний үзэл бодлоор бол ирэх жилүүдэд судалгааны ажлууд python хэлний дэмжлэгтэй, jupyter notebook хэлбэртэйгээр нийтлэгдэж эхлэнэ гэж байгаа. Гоё санаа л даа, онолын бичилтүүд, зураглалууд, туршилт хийх кодууд бүгд нэг дор.

Хүүе ээ энэ програмчлалыг чинь суръя л даа. Хүүхэддээ, дүүдээ, ахдаа, эгчдээ, найздаа үзүүлэ харуулах юм хум юу байна гэвэл энэ нийтлэлийг уншаад үз. Би тэнд нетээс үнэгүй олдож болох дажгүй гэсэн хичээл, сурах эх сурвалжуудыг бичсэн. Ер нь тэгээд энэ интернет гэдэг ид шидтэй амьтны ачаар өдийд өөртөө сурах гэсэн эрмэлзэлтэй л бол бусад зүйлс гарын алганы доор байдаг болж дээ. Гол асуудал нь хүн өөрийнхөө бие махбодио удирдаад өөрийнхөө эрмэлзлийн зүг хөдөлмөрлөх л юм даа. Харин тэгэх бол хэцүү байх. Ямар сайндаа хэрхэн тэгэх вэ гэдэг ном одоо үед моодонд орж, зарим нэг гар сард хоёрын хоёр тийм ном уншаад бясалгаад сууж байхав дээ хаха.

За нэг иймэрхүү дээ. Дээр дурьдсан номнуудыг авах бол доорх линкүүдээр орж аваарай. Kindle-аар авбал их хямдхан дааөөө. Ганц аяга коффее ч авах мөнгө хүрэхгүй шахуу.

(Oops sorry. Намайг авахад коффеены үнэ ч хүрэхээргүй хямд байж. Ихэнхийг нь £1-р авч байсан.)

Start Now. Get Perfect Later”- Rob Moore (£4.99)

Ikigai: The Japanese secret to a long and happy life” – Héctor García, Francesc Miralles (£9.49)

The Golden Rules: 10 Steps to World-Class Excellence in Your Life and Work” – Bob Bowman (£3.99)

The Self-Taught Programmer: The Definitive Guide to Programming Professionally” – Cory Authoff (£3.84)

Гэснээс та нар Kindle-р авсан номыг бүх төрлийн ухаалаг утсанд, лаптопонд апп татаж авч суулгаад уншиж болдог гэдгийг мэднэ биз? Энэ 2 сард унших ном маань их гоё ном. Урьдчилж захиалаад 2 долоо хоног болчихлоо. Kindle-д тэр ном орох өдрийг алгаа хавсраад л хүлээж сууна даа. Харин яагаад тэгж хүлээж суусан, яг юуг тэр номноос олж авах гэж уншсан, юуг тэр номонд өгүүлсэн талаар дараа сард миний нийтлэлээс уншаарай.

Д.Төмөртогтох

Cover photo by Fabian Grohs on Unsplash

Submit a comment


*

Back To Top