Showing posts with label development. Show all posts
Showing posts with label development. Show all posts

2012-04-27

gitolite ашиглан git сервер үүсгэх талаар

git хувилбар удирдах систем нь кодын өөрчлөлтүүдийг түүх болгон хадгалах мөн бусадтай хамтран ажиллахад маш тустай, харин git сервер нь олон хөгжүүлэгчид хамтран ажиллах боломжийг олгодог. github дээр агуулах үүсгэж ашиглаж болох боловч тэр бүгд нь нээлттэй байх ёстой. Хаалттай буюу тодорхой хүмүүст л харагдах агуулах үүсгэхийн тулд тогтмол төлбөр төлөх ёстой болно. Эсвэл өөрөө жижиг сервер үүсгэж ашиглах боломжтой.

2009-04-26

Git ба Mercurial

Би өмнө нь хувилбар удирдах систем тэр дотроо тархсан хувилбар удирдах систем болон түүний давуу талын талаар бичиж байсан. Сүүлийн жилүүдэд тархсан системийн давуу талыг бараг хүн бүхэн ойлгож, мэдэрч үүний дүнд хэд хэдэн систем ч үүсээд амжсан. Эцэст нь Git, Bazaar, Mercurial гээд олон системүүдээс өөрт эсвэл байгууллагадаа нийцэх системийг сонгон авах нь хялбар биш болоод байгаа. Миний хувьд зарим нэг хэрэгцээгээр subversion(төвлөрсөн) бас bazaar ашигладаг. Харин Google-с линуксын цөм хөгжүүлэгчдийн үүсгэсэн Git болон хэн нэгний үүсгэсэн Mercurial системүүдийг харьцуулж, сонирхолтой дүгнэлт бичсэнийг эндээс уншина уу. Хэрэв та хөгжүүлэлт хийдэг бол бас одоог хүртэл хувилбар удирдах систем ашигладаггүй бол аль нэг тархсан системийг сонгон ашиглаарай гэж зөвлөх байна.

2009-03-22

Refactoring

Өөрийн ажлын хэрэгцээнд зориулаад жижиг хэмжээний програмуудыг python дээр биччихдэг байв. Ихэнх нь гараар хийх ажиллагааг хялбарчилсан, нэг өгөгдлийн төрлийг нөгөөх рүү хөрвүүлдэг гэх мэт маш энгийн. Жишээ нь, сүүлд санаж байгаагаар мэдээллийг нэг өгөгдлийн сангаас өөр сан рүү зөөж байж билээ. Гэхдээ л яагаад ч юм хэн бүхэн ашиглаж болох, хэрэгцээтэй програм бичих юмсан гэдэг бодол маань бодлыг маань эзэмдсэн хэвээр байв. Харин сар шинийн үеээр жаахан зав гарсан, дээр нь нөгөө нэг мөрөөдлөө биелүүлэх хүсэл маань оргилоод жаал код бичиж суув. Ингээд ямар ч байсан арын ажиллагааг нь бараг бүгдийг хийгээд, бас энэ хоорондоо python-ийн мэдлэгээ бататгаад авсан юм.

Сая хэд хоног код дээр ажиллах зав байсангүй. Тэгээд өчигдөр, өнөөдөр өмнөх кодоо жаал харж яаж илүү сайжруулчих вэ гэж бодож суулаа. Хэд хэдэн өөрчлөлтийг ч бас хийв. Харин эдгээр өөрчлөлтүүд нь програмын ямар нэг үйл ажиллагааг өөрчлөлгүй уншигдах хэлбэр, өмнө нь хийгдсэн болхи ажиллагааг жаахан сайжруулан бичсэн юм. Ийм төрлийн кодын өөрчлөлтийг Refactoring гэж нэрлэдэг.

2009-01-05

Тархсан хувилбар удирдах системийн сэргэн мандалт

Ямар файлд хэзээ хэн ямар өөрчлөлт оруулсан талаар мэдээллийг хадгалж байдаг, хөгжүүлэгчийн заавал ашиглах ёстой багажуудын нэг нь яах аргагүй хувилбар удирдах систем буюу version control system юм. Түүний тусламжтайгаар програм хангамжийн түүхийн бүрэн бичиж авах боломжтойгоос гадна тогтвортой хөгжлийг дэмжиж өгдөг олон талын ашиг тустай нэгэн. Анх үүсэхдээ төвлөрсөн нэг серверт бүх мэдээлэл хадгалагдаж, хөгжүүлэгч бүр түүнд холбогдох боломжтой байхаар бүтээгдсэн байсан. Харин энэ загвар нь зарим талаараа хоцрогдож, ажлын чөдөр тушаа болох нь элбэгших нь бололтой. Тархмал байхын давуу талыг мэдэрсэн Mozilla төсөл өнгөрсөн онд өөрийн хувилбар удирдах системээ Mercurial руу шилжүүлж байсан бол Perl хэлний хөгжүүлэгчид дөнгөж саяхан Git гэх линукс цөмийн хөгжүүлэгчдийн бүтээсэн систем рүү бүрэн шилжиж дууссан болохоо зарлажээ. Харин GNOME төслийнхөн хэдхэн жилийн өмнө хуучирсан CVS-с Subversion (бас төвлөрсөн) руу шилжсэн бөгөөд одоо дахиад тархсан систем рүү шилжихээр судалгаа явуулсан байна. Үүний дүнд ямар ч байсан 2009 онд Git эсвэл Bzr гэх хоёр системийн аль нэгийг нь сонгож ашиглах эхлэхээр болж байх шиг. Гэхдээ бас л овоо маргаан, мэтгэлзээнийг араасаа дагуулж хамгийн зөв, илүү тохирох системийг сонгоно гэдэгт итгэж байна.

Хувилбар удирдах системийн талаар тусдаа нэг материал бэлтгэх санаа байгаа, гэхдээ энэ бичлэг дээр бага сага зүйл бичигдсэн байгаа тул бас сонирхоод үзээрэй. Сэргэн мандалт гэхээр өмнө байж байгаад мөхөөд ахиж сэргэж байгааг нь хэлдэг билүү? За ямар ч байсан илүү эрх чөлөөтэй, техникийн хувьд илүү боломжийг олгосон тархсан хувилбар удирдах систем хүчээ авч, төвлөрсөн систем ул болох нь.