Ачааллж байна...
Баяр хүргэе.
Тэр үг нь энгийн, гэхдээ би түүнийг хөнгөн бичээгүй.
Та Курс 1-ийг дүүргэсэн. Дараа нь энэ курсийг эхлүүлж, таван түвшин, арван таван бүлэг, жаран гаруй хичээлийг туулж, эцэст нь өөрийн гараар FastAPI программ бичиж, browser-ээр нээж, /docs хуудсыг харлаа.
Тэр зам богино байгаагүй.
Магадгүй та зарим хичээлийг гурван удаа уншсан. Магадгүй хэдэн долоо хоног завсарласан. Магадгүй UnboundLocalError эсвэл RecursionError -тэй хагас өдөр тэмцсэн.
Тэр бүхэн ХЭВИЙН. Тэр бүхэн сурах явцын хэсэг байсан.
Одоо түр зогсоод, эргэж хараарай.
Бүлэг 1.1-ийг санаж байна уу? Тэр үед та:
venv гэж юу болохыг мэдэхгүй байсан
pip install -ыг хэзээ ч бичиж үзээгүй
Type hint харвал "энэ юу вэ" гэж бодох байсан
@ тэмдгийг харвал ойлгохгүй байсан
JSON гэж юу болохыг сонсоогүй байсан
HTTP, API, status code — бүгд шинэ үг байсан
Class-ыг зөвхөн үндсэн түвшинд мэддэг байсан
FastAPI-гийн эхний хуудсыг нээвэл — ойлгомжгүй байсан
Тэр үед би танд амлалт өгсөн:
"Сургалтын төгсгөлд та FastAPI гэх мэт орчин үеийн framework-ийн албан ёсны documentation-ыг нээгээд, уншаад, ойлгодог болно."
Амлалт биелэгдлээ.
Хийсвэр магтаал биш. Тодорхой чадварууд.
Мэргэжлийн орчин:
Virtual environment үүсгэж, идэвхжүүлж, package суулгана
requirements.txt -ээр төслийн шаардлагыг тэмдэглэж, сэргээнэ
Төслийг олон файл, package болгож зохион байгуулна
Цэвэр код:
Comprehension, enumerate, zip, slicing, unpacking, ternary ашиглана
Функцийг уян хатан бичнэ: default утга, keyword argument, *args
Scope -ыг ойлгоно, global -ээс зайлсхийнэ
Орчин үеийн Python:
Бүрэн type hint-тэй код бичнэ — параметр бүр, буцаалт бүр
| None union -ыг зөв ашиглана
List, tuple, set, dictionary -ийн хооронд ухаалаг сонголт хийнэ
Үүрлэсэн бүтэцтэй айхгүй ажиллана
Өгөгдөл:
JSON файлд хадгалж, уншина
CSV -тэй ажиллана (Excel-ийн utf-8-sig -ыг ч мэдэж)
Бохир өгөгдлийг цэвэрлэх давхарга бичнэ
OOP:
Inheritance -ыг зөв ашиглана, хэзээ болихыг мэднэ
Composition -ыг илүүд үзнэ
Special method-оор Python-той ярина: __str__, __eq__, __len__, property
Dataclass -аар boilerplate -ыг арилгана
Гүнзгий хэрэгслүүд:
Decorator бичиж, ойлгоно — @ тэмдэг илбэ биш
Generator -оор санах ой хэмнэнэ
Өөрийн exception үүсгэж, салгалтыг хамгаална
with нь юу хийдгийг мэднэ
Интернэт:
HTTP, client/server, request/response -ыг ойлгоно
Status code -ыг таньж, зөв хариу үйлдэл үзүүлнэ (4xx vs 5xx)
requests -ээр API -аас өгөгдөл татна
Сүлжээний алдааг зохицуулна: timeout, retry, exponential backoff
Framework:
FastAPI программ бичнэ — endpoint, Pydantic model, validation
async кодыг уншиж таньдаг (эзэмших шаардлагагүй)
Documentation -ыг өөрөө уншиж, шинэ сан сурна
Тэр бол богино жагсаалт биш.
Багшийн хамгийн муу зүйл бол худал амлалт.
Тиймээс шударгаар хэлье. Та БҮГДИЙГ мэдэхгүй. Мэдэх ч ёсгүй.
Энэ курс ЗААГААГҮЙ зүйлс:
Өгөгдлийн сан (SQL, PostgreSQL, SQLite). Бодит API нь өгөгдлийг санах ойд биш, өгөгдлийн санд хадгалдаг. Бидний capstone нь сервер дахин ачаалагдахад бүх номоо мартдаг. Жинхэнэ систем тэгдэггүй.
Тест бичих (pytest). Мэргэжлийн төсөл бүхэн тесттэй байдаг. Бид if __name__ == "__main__": -д жижиг туршилт бичсэн — тэр нь эхлэл, гэхдээ жинхэнэ тест биш.
Deployment. Таны API нь 127.0.0.1 дээр л ажиллаж байна — зөвхөн таны компьютер дээр. Түүнийг интернэтэд гаргах нь өөр ур чадвар.
Authentication, аюулгүй байдал. Хэн ч таны API руу ямар ч ном нэмж болно. Жинхэнэ систем нь нэвтрэлт шаарддаг.
Frontend (HTML, CSS, JavaScript). Таны API нь JSON буцаадаг. Хүн харах вэб хуудас биш.
Async -ыг гүнзгий. Бид түүнийг уншиж таних түвшинд үзсэн.
Git, GitHub. Кодоо хувилбарлах, хамтран ажиллах.
Docker, CI/CD, cloud. Мэргэжлийн deployment -ийн ертөнц.
Тэр жагсаалт нь урт. Мөн тэр нь ХЭВИЙН.
Хэн ч бүгдийг мэддэггүй. Арван жилийн туршлагатай программист ч өдөр бүр шинэ зүйл сурдаг.
Гэхдээ ЧУХАЛ ЗҮЙЛ:
Та одоо тэдгээрийг СУРАХ БЭЛТГЭЛТЭЙ болсон.
Өгөгдлийн сангийн documentation -ыг нээвэл — та түүнийг уншиж чадна. Тест framework -ийн заавар — уншиж чадна. Тэдгээр нь бүгд ижил суурин дээр баригдсан: type hint, decorator, class, JSON, HTTP.
Тэр бол энэ курсийн жинхэнэ шагнал. Тодорхой мэдлэг биш — СУРАХ ЧАДВАР.
Одоо практик асуулт: дараа нь юу хийх вэ?
Гурван зам байна. Аль нь ч зөв. Танд ямар зорилго байгаагаас шалтгаална.
Зам 1: FastAPI -г ГҮНЗГИЙРҮҮЛЭХ
Хэрэв танд: вэб API, backend системд сонирхолтой бол.
Дараагийн алхмууд ЯГ энэ дарааллаар:
1. Өгөгдлийн сан.
Эхлээд SQLite (файл дээр суурилсан, суулгах шаардлагагүй). Дараа нь PostgreSQL.
FastAPI -тэй хамт: SQLModel (FastAPI -гийн зохиогчийн бүтээсэн, Pydantic -тэй нэгдсэн) эсвэл SQLAlchemy.
Тэр нь хамгийн чухал дараагийн алхам. Санах ойд өгөгдөл хадгалдаг API нь тоглоом юм.
2. Тест бичих (pytest).
FastAPI нь тест бичихэд гайхалтай сайн. Түүний documentation -д тусгай бүлэг бий.
3. Authentication.
Хэрэглэгч бүртгэх, нэвтрэх, token. FastAPI-гийн documentation -д "Security" бүлэг бий.
4. Deployment.
Таны API -г интернэтэд гаргах. Эхлээд энгийн: Render, Railway, эсвэл Fly.io — бүгд үнэгүй эхлүүлж болно.
5. Docker.
Программаа "хайрцаглаж", хаана ч ажиллуулах.
Хэрэв та энэ замыг сонговол — та BACKEND ПРОГРАММИСТ болох замд явж байна.
Зам 2: ӨГӨГДӨЛ
Хэрэв танд: тоо, дүн шинжилгээ, судалгаа, машин сургалтад сонирхолтой бол.
Дараагийн алхмууд:
1. pandas — өгөгдлийн хүснэгттэй ажиллах. Excel -ийн хүчирхэг хувилбар.
Таны Бүлэг 6-ийн CSV мэдлэг нь шууд ажиллана.
2. matplotlib эсвэл plotly — график, дүрслэл.
3. numpy — тоон тооцоолол.
4. Дараа нь (сонирхвол): scikit-learn (машин сургалт), Jupyter Notebook.
Тэдгээр сангуудын documentation нь ЯГ ТЭР ойлголтуудыг таамагладаг: type hint, comprehension, dictionary, JSON.
Та бэлэн байна.
Зам 3: АВТОМАТЖУУЛАЛТ
Хэрэв танд: өдөр тутмын ажлаа хялбарчлах, script бичихэд сонирхолтой бол.
Дараагийн алхмууд:
1. Файлын автоматжуулалт — pathlib, shutil, os.
Файл эрэмбэлэх, нэр солих, хуулах, архивлах.
2. Excel автоматжуулалт — openpyxl.
Таны CSV мэдлэг нь суурь.
3. Вэб scraping — BeautifulSoup, Selenium.
Вэб хуудсаас өгөгдөл татах.
Таны HTTP мэдлэг (Бүлэг 11) нь шууд ажиллана.
4. Тогтмол ажиллуулах — Windows Task Scheduler, cron.
Энэ зам нь хамгийн ХУРДАН БОДИТ АШИГ өгдөг. Та маргааш ажилдаа хэрэглэж болно.
Би танд хэлж чадахгүй. Тэр нь таны сонирхол, зорилгоос шалтгаална.
Гэхдээ практик зөвлөгөө:
АЛЬ ЧБАЙСАН — БОДИТ ТӨСӨЛ БИЧ.
Курс дуусмагц кодоо бичихээ болих нь ХАМГИЙН ТҮГЭЭМЭЛ алдаа.
Мэдлэг нь хэрэглэхгүй бол алга болдог.
Тиймээс:
ӨӨРТ ЧИНЬ ХЭРЭГТЭЙ зүйл бод
Түүнийг ЖИЖИГ байлга
БИЧ
АЖИЛЛУУЛ
САЙЖРУУЛ
Санааны жишээ:
Өөрийн зарлагыг бүртгэдэг API (capstone -ыг өргөтгө)
Дуртай вэб сайтуудын мэдээг цуглуулдаг script
Файлаа автоматаар эрэмбэлдэг программ
Өөрийн номын жагсаалтыг удирддаг систем
Цаг агаарын мэдээг өдөр бүр илгээдэг bot
Төгс байх шаардлагагүй. Ажиллаж байвал хангалттай.
Эхний төсөл чинь муу байх болно. Тэр нь ХЭВИЙН. Хоёр дахь нь дээр байна. Гурав дахь нь бүр ч дээр.
Одоо би багшийн үүрэгтээ эцсийн үгээ хэлье.
Курс 1-ийн эхний хичээлд та юу ч мэдэхгүй байсан. Хувьсагч гэж юу вэ, loop гэж юу вэ — юу ч.
Одоо та API бичдэг.
Тэр зам хэр урт байсныг бодоод үзээрэй.
Магадгүй та эхэндээ "би чадах болов уу" гэж бодож байсан. Магадгүй хэдэн удаа зогсох гэж бодсон. Магадгүй код нь ойлгомжгүй санагдаж, өөрийгөө буруутгаж байсан.
Гэвч та зогсоогүй. Та энд ирлээ.
Тэр бол ЧАДВАРААС илүү зүйл. Тэр бол ТЭСВЭР.
Мөн программчлалд тэсвэр нь авъяасаас хамаагүй чухал.
Хамгийн сайн программистууд нь хамгийн ухаантай хүмүүс биш. Тэд бол гацахад зогсдоггүй хүмүүс. Тэд алдааг арван удаа уншиж, арван нэг дэх удаад шийддэг.
Та тэр чадвараа аль хэдийн баталсан.
Эцэст нь гурван зүйлийг үлдээе.
1. Ойлгохгүй байх нь ХЭВИЙН.
Та шинэ санг нээхэд тэр нь ойлгомжгүй санагдана. Тэр нь та тэнэг гэсэн үг БИШ.
Тэр нь зөвхөн: та түүнийг хараахан сураагүй. Documentation -ыг нээ. Жижиг жишээ ажиллуул. Эвд. Дахин барь.
Ойлголт нь ХУГАЦААНААС ирдэг, авъяасаас биш.
2. Хамгийн богино код нь хамгийн сайн БИШ.
Энэ курсийн турш би түүнийг дахин дахин хэлсэн — Бүлэг 2-т comprehension дээр, Бүлэг 7-д inheritance дээр, Бүлэг 10-д decorator дээр.
Хамгийн ОЙЛГОМЖТОЙ код нь хамгийн сайн.
Учир нь код нь бичигдэхээсээ зуу дахин олон удаа уншигддаг. Мөн түүнийг уншигч нь ихэвчлэн зургаан сарын дараах ТА ӨӨРӨӨ байдаг.
Ирээдүйн өөртөө эелдэг хандаарай.
3. Хэрэглэхгүй бол алга болно.
Курс дууслаа. Гэвч сурах явц дуусаагүй.
Долоо хоногт нэг удаа код бич. Жижиг ч гэсэн. Бодит ч гэсэн.
Тэр зуршил нь бүх зүйлээс илүү чухал.
Энэ курсийн бүх хичээлийг үзсэн бол — таны гэрчилгээ бэлэн.
Шалгалт байхгүй. Шүүлэг байхгүй. Оноо байхгүй.
Курсийн эхэнд би ингэж хэлсэн:
"Гэрчилгээ авахын тулд хичээлүүдээ үзэж дуусгахад л хангалттай — өөр ямар ч нөхцөл байхгүй. Би энэ шийдвэрийг санамсаргүй гаргаагүй: шалгалт нь ойлголт өгөхгүйгээр түгшүүр төрүүлдэг."
Тэр амлалт ч бас биелэгдлээ.
Гэхдээ шударгаар хэлье: гэрчилгээ бол цаас.
Таны ЖИНХЭНЭ гэрчилгээ нь — таны бичсэн КОД.
Таны FastAPI программ. Таны цаг агаарын программ. Таны номын сангийн систем. Таны зарлагын бүртгэл.
Тэдгээр нь ажилладаг. Та тэднийг өөрөө бичсэн.
Тэр бол хамгийн сайн гэрчилгээ.
Эцэст нь.
Танд баярлалаа.
Тэр нь албан ёсны үг биш. Багшийн хувьд, хэн нэгэн миний бичсэн хичээлүүдийг унших, тэдгээрийн дагуу код бичих, эцэст нь ажиллах программ бүтээх — тэр нь энэ бүх ажлын цорын ганц зорилго байсан.
Та түүнийг хийсэн.
Одоо та миний заасан зүйлээс цааш явна. Та шинэ сан сурна, шинэ асуудал шийднэ, магадгүй ямар нэг зүйл бүтээж, түүнийг бусад хүмүүс ашиглана.
Тэр мөчид та энэ курсийг санахгүй байж болно. Тэр ч бас зүгээр.
Гол нь та ЯВЖ БАЙНА.
Та Курс 1 ба Курс 2 -ыг дүүргэлээ. Юу ч мэдэхгүйгээс эхэлж, өөрийн FastAPI API бичих хүртэл.
Одоо та чадна: мэргэжлийн орчин барих, цэвэр код бичих, бүрэн type hint ашиглах, JSON/CSV -тэй ажиллах, OOP -ыг зөв хэрэглэх, decorator бичих, интернэтээс өгөгдөл татах, FastAPI программ бичих, documentation -ыг өөрөө унших.
Шударгаар: та БҮГДИЙГ мэдэхгүй. Өгөгдлийн сан, тест, deployment, authentication, frontend, Git, Docker — бүгд үлдсэн.
Тэр нь ХЭВИЙН. Хэн ч бүгдийг мэддэггүй.
ГЭХДЭЭ: та тэдгээрийг СУРАХ БЭЛТГЭЛТЭЙ болсон. Тэр бол жинхэнэ шагнал.
ГУРВАН ЗАМ:
FastAPI гүнзгийрүүлэх → өгөгдлийн сан (SQLModel) → тест (pytest) → auth → deployment
Өгөгдөл → pandas → matplotlib → numpy
Автоматжуулалт → pathlib → openpyxl → вэб scraping
АЛЬ ЧБАЙСАН — БОДИТ ТӨСӨЛ БИЧ. Курс дуусмагц кодоо бичихээ болих нь хамгийн түгээмэл алдаа.
Өөрт хэрэгтэй зүйл бод → жижиг байлга → бич → ажиллуул → сайжруул
Эхний төсөл муу байна. Тэр нь ХЭВИЙН.
ГУРВАН ЗҮЙЛ САНАЖ ЯВААРАЙ:
Ойлгохгүй байх нь ХЭВИЙН. Ойлголт нь хугацаанаас ирдэг, авъяасаас биш.
Хамгийн ОЙЛГОМЖТОЙ код нь хамгийн сайн. Код нь зуу дахин олон удаа уншигддаг — ихэвчлэн зургаан сарын дараах ТАНД.
Хэрэглэхгүй бол алга болно. Долоо хоногт нэг удаа код бич.
Гэрчилгээ бол цаас. Таны ЖИНХЭНЭ гэрчилгээ нь — таны бичсэн КОД.
Хамтдаа явсан зам энд дуусч байна.
Гэвч ТАНЫ зам дөнгөж эхэлж байна.
Амжилт хүсье.
Бүртгэлтэй болсноор энэ сургалтын бүх хичээлд хандах эрх авна.