Технологи ба стартап экосистемийн мэдээ мэдээллийг танд хүргэнэ.

Libraries vs Frameworks ялгаа ?

Программ код бичдэг хүмүүс, сонирхдог хүмүүс Libraries болон Frameworks хоёрын ялгааг төдийлөн сайн мэддэггүй. Энэ нь ч аргагүй байж болох юм. Учир нь энэ хоёр зүйл нь хоёулаа л код бичих зардлыг хэмнэх, хялбарчлах зорилготой бүтээгдсэн зүйлс. Бид өдөр тутам код бичихдээ энэ хоёрыг нь түгээмэл ашигладаг. Гэхдээ үүнийг ижилхэн мэт бодож ойлгодог олон хөгжүүлэгчид байдаг байна. Гэвч тэд бол өөр. 

Library гэж юуг хэлдэг вэ ?

Library нь зөвхөн сүлжээний протокол шалгах, өгөгдөл боловсруулах, шифрлэлт хийх гэдэг ч юм уу тодорхой тогтсон даалгавруудыг гүйцэтгэхэд зориулагдсан функцүүдийн цуглуулга гэж хэлж болно. Өөрөөр хэлбэл тодорхой нэг зүйлд мэргэшсэн бөөрний мэс заслын эмч, шүдний эмч, нүдний эмч гэх мэттэй зүйрлэж ойлгож болно.

Жишээ нь Python хэл дээрх library-нууд:

Pandas -> өгөгдлийг удирдах, дүн шинжилгээ хийхэд ашигладаг

Numpy -> шугаман алгебртай холбоотой массив болон үйлдлийг шийдвэрлэхэд ашигладаг

Matplotlib -> өгөгдлийг дүрслэхэд ашигладаг гэх мэт.

Тиймээс бид программ хөгжүүлэх явцдаа зарим нэг тодорхой даалгавруудыг гүйцэтгэх зарим функц, class-уудыг хүссэн үедээ дуудаж ашигладаг. Жишээ нь: Жимсний шүүс уумаар байна гэж бодъё. Та очиж жимс худалдаж аваарай гэх library-г ашиглан, та өөрийн хүслийн дагуу янз бүрийн жимсийг холих замаар шүүс гаргаж авах байдлаар програмчлах.

Framework гэж юуг хэлдэг вэ ?

Framework нь урьдчилан тодорхойлсон функцүүд, объектууд, API-ууд болон түүнд ашиглагдаж буй library-уудыг өөртөө агуулдаг. Ингэснээр олон янзын даалгаврыг гүйцэтгэхэд зориулагдсан байдаг тул вэб программын систем, GUI систем гэх мэтчилэн программ хөгжүүлэхэд шаардагдах бараг бүх зүйлийг багтаасан байдгаараа library-с ялгагдах юм. Мэдээж өөр дотроо library-уудыг агуулж байгаа ч нэмэлтээр маш олон боломжуудыг агуулдаг нь цар хүрээний хувьд ч тэр бүтээмжийн хувьд ч тэр library-тай харьцуулахад илүү юм.

Бид library-г тодорхой чиглэлээр ажилладаг эмч нар гэж тодорхойлж байсан бол framework-г өөр өөр чиглэлээр мэргэшсэн эмч нараар дүүргэсэн эмнэлэг гэж ойлгож болно.

Framework-н зарим нэг жишээг дурдвал:

Tenserflow -> Deep learning хөгжүүлэхэд ашигладаг

Bootstrap -> Web хөгжүүлэгч нар маш их ашигладаг бөгөөд frontend програмчлалын CSS -г бий болгоход ашигладаг

Framework дээрх нэг дутагдал нь энэ нь зүйлийг урьдчилан тодорхойлсон бүтэцтэй байдаг тул та түүнд тохируулж л хийх боломжтой болдог. Жишээ нь: 1024х1024 хэмжээтэй гэрэл зургийн жаазтай байсан гэж үзвэл та зурагтай холбоотой ажлаа гүйцэтгэхдээ үүнд нийцүүлэхийн тулд дурын хэмжээтэй зураг оруулж болохгүй.

Тэдний гол ялгаа нь юу вэ ?

Техникийн хувьд энэ хоёрын гол ялгаа нь IOC буюу “inversion of control” юм. Энгийнээр хэлбэл програмчлалын үйл явцыг хэн хянаж байна вэ гэсэн үг юм. Library-н хувьд бид хүссэн үедээ ямар ч функцийг нь дууддаг бол framework-н хувьд тийм биш тул удирдлага нь урвуу байрлалд ордог. Товчхондоо бол бид library-г даалгавраа биелүүлэхээр дуудаж ашигладаг бол framework нь биднийг даалгавраа биелүүлэхийг шаарддагт байгаа юм.

Эцэст нь.

Libraray болон framework нь хоёулаа программ бичих цаг хугацаа, хүчин чармайлтыг багасгах зорилготой. Library нь хязгаарлагдмал цар хүрээнд төвлөрдөг бол framework нь олон төрлийн үйл ажиллагааг явуулж чаддаг. Түүнчлэн, эдгээрийг  хэн нэгэн бичсэн бөгөөд тэдний хүчин чармайлтын ачаар зарим нэг нийтлэг даалгаврыг тодорхой код бичихгүйгээр гүйцэтгэхэд тусалдаг.

Total
1
Shares

Leave a Reply

Related Posts
Total
1
Share