Наранбаатар Ганболд, Mar 26, 2021 7:30 AM

Git, Github эхнээс нь дуустал!

Сургалт

git github эхнээс дуустал сургалтанд тавтай морил!
git github эхнээс дуустал сургалтанд тавтай морил!

Мэргэжлийн програмистын №1 эзэмшсэн байх ёстой зүйл юу вэ? Мэдээж багаар програмчлах. Багаар програмчлахад гол эзэмшвэл зохих ур чадвар юу вэ? Мэдээж Git. Өнөөдөр, хэрэв та ямар нэг газарт програмистаар ажилд орохоор CV өгвөл, ажил олгогчид нь хамгийн түрүүнд git ашигладаг эсэхийг шалгадаг болохыг танд дуулгамаар байна. Мөн маш олон програмистууд гэрээсээ гадаадын төслүүдэд ажилласнаараа цалинжиж ажиллаж байна. Үнэхээр орчин үед бүгд л тэгж ажилладаг болж байна шүү дээ. Гэхдээ ингэхийн тулд танд ямар чадвар хэрэг болох вэ? Мэдээж та таасан байх ... git. Ялангуяа корона вирусын хөл хорионд дэлхий байгаа үед гэрээсээ, зайнаас, багаараа төсөл дээр өндөр үр бүтээмжтэй ажиллах чадвар бидэнд ус цас шиг чухал болж байгаа билээ.

Тэгэхээр git гэж юу вэ? Энэ бол товчоор ... эсвэл уртаар : "Файлын өөрчлөлтийн түүхийг хянагч систем" гэж хэлж болно. Вэб, гар утасны апп, банкны систем, онгоцны систем ер нь л бүх төрлийн системийг бүтээхэд git-ийг ашигладаг. Тэр байтугай зохиолчид ном бичихдээ ч ашигладаг гээд л бодчих. Тэд бичсэн зохиолоо хянуулж засуулахаар хэд хэдэн хүнд илгээдэг ба энэ хооронд өөрөө зохиол дээрээ ажилласаар байдаг бөгөөд засагдсан зохиолууд эргэж ирэхэд git ашиглан нийлүүлж нэг сүүлийн хувилбараа агшин зуурт гаргаж авдаг. Програмистын хувьд Git ашиглан жишээ нь ганц команд өгөөд л вэб сайтаа хэдэн хоногийн өмнө ямар байсан түүгээр нь сэргээн гаргаж авах, вэбээ ажиллаж байхад нь хэрэглэгчиддээ нөлөөлөлгүйгээр нэмж програмчлах, програмистууд вэбийн өөр өөр болон нэг хэсэг дээр зэрэг ажиллах зэрэг олон зүйлсийг хийх боломжтой. Дээр нь git нь зөвхөн багаар ажиллахад ч биш, ер нь програмчлалын системийг асар хурдтай засч, өөрчилж, хэрэглэгчддээ асуудал төвөг тарилгүйгээр авч явах боломжийг компаниудад олгодог билээ.

Сургалтын нүүр зураг

Open source буюу нээлттэй эхийн програмчлал нь тэр чигээрээ git ашиглан явагддаг. Та github.com сайтаар өдөр бүр л орж хэрэгтэй чухал төслийг хайж олж fork хийн салаалж аван хамтран ажилладаг шүү дээ. Энэ бүхний гол үндэс нь мөн л git юм. github дээр нээлттэй төслүүдийн хажуугаар компаниудын дотоод төслүүд ч мөн байрлаж хөгжиж байдаг. Та гадаад дотоодын ямар ч компанид ажилд орсон git мэдэхгүй бол маш том дутагдал болж хувирдаг.

Тэгэхээр git гэж юу вэ? Энэ бол товчоор ... эсвэл уртаар : "Файлын өөрчлөлтийн түүхийг хянагч систем" гэж хэлж болно. Вэб, гар утасны апп, банкны систем, онгоцны систем ер нь л бүх төрлийн системийг бүтээхэд git-ийг ашигладаг. Тэр байтугай зохиолчид ном бичихдээ ч ашигладаг гээд л бодчих. Тэд бичсэн зохиолоо хянуулж засуулахаар хэд хэдэн хүнд илгээдэг ба энэ хооронд өөрөө зохиол дээрээ ажилласаар байдаг бөгөөд засагдсан зохиолууд эргэж ирэхэд git ашиглан нийлүүлж нэг сүүлийн хувилбараа агшин зуурт гаргаж авдаг. Програмистын хувьд Git ашиглан жишээ нь ганц команд өгөөд л вэб сайтаа хэдэн хоногийн өмнө ямар байсан түүгээр нь сэргээн гаргаж авах, вэбээ ажиллаж байхад нь хэрэглэгчиддээ нөлөөлөлгүйгээр нэмж програмчлах, програмистууд вэбийн өөр өөр болон нэг хэсэг дээр зэрэг ажиллах зэрэг олон зүйлсийг хийх боломжтой. Дээр нь git нь зөвхөн багаар ажиллахад ч биш, ер нь програмчлалын системийг асар хурдтай засч, өөрчилж, хэрэглэгчддээ асуудал төвөг тарилгүйгээр авч явах боломжийг компаниудад олгодог билээ.

const serializers = {
  types: {
    code: (props) => (
      <HiglightCode language={props.node.language}>
        {props.node.code}
      </HiglightCode>
    ),
  },
};

Та програмчлалын системийг хэрхэн бүтээдэг гэж бодож байна? Компаны програмистууд тухайн програмыг эсвэл вэбийг бүтээж байхад git ашиглан хэд хэдэн хувилбар дээр зэрэг ажиллаж байдаг. Тодруулбал яг одоо интернэтэд олон нийтэд ажиллаж байгаа хувилбарыг нь МАСТЕР хувилбар (branch) гэх бөгөөд үүний хажууд TECT хувилбар байдаг. ТЕСТ хувилбар дээр компаны тестлэгчид ажиллана. ТЕСТ хувилбарын хажууд ХӨГЖҮҮЛЭЛТ хувилбар байх ба энэ хувилбар дээр програмистууд ажиллана. ХӨГЖҮҮЛЭЛТ хувилбарын хажуугаар олон тооны шинэ хуудас нэмэх, засварлах, алдаа засах зэрэг ДЭД хувилбарууд програмист бүр дээр байх ба програмистууд эдгээр хувилбараа дуусгангуут ХӨГЖҮҮЛЭЛТ хувилбар руу нэгтгэж байдаг. Өөрөөр хэлбэл програмист ямар нэг юм дээр ажиллах бүртээ ХӨГЖҮҮЛЭЛТ хувилбараас дэд хувилбар үүсгээд тэрэн дээрээ ажилладаг байна. ХӨГЖҮҮЛЭЛТ хувилбарт ямар нэг шинэ боломж бүрэн дуусангуут ТЕСТ хувилбар руу нийлүүлж тестерүүдэд хүлээлгэж өгдөг. Тестерүүд тестлэж дууссаны дараа түүнийг МАСТЕР хувилбар руу нийлүүлж эцсийн хэрэглэгчдэд шинэ функц гарч ирдэг байна. Энэ бол git ашиглан програм хангамжийн системийг багаар бүтээх нэг жишээ юм.

import { useeffect } from "react";
import { Row, Col } from "react-bootstrap";
import Layout from "components/layout";
import { getPostBySlug, getAllPosts } from "lib/api";
import BlockContent from "@sanity/block-content-to-react";

const serializers = {
  types: {
    code: (props) => (
      <pre data-language={props.node.language}>
        <code>{props.node.code}</code>
      </pre>
    ),
  },
};
serialiser.js

Git-ийг 2004 онд Linus Torvalds зохиосон бөгөөд бид түүнийг алдарт Linux үйлдийн системийг бүтээсэн гэдгээр нь мэднэ. Тухайн үед Linux-ийн хөгжүүлэлтийн шаардлагыг бүрэн хангах систем олдохгүй байснаас болж git-ийг бүтээсэн гэдэг. Гайхалтай хүн шүү, дэлхийг бүрмөсөн өөрчилсөн хоёр ч технологи хийчихсэн байдаг...