Wednesday, April 18, 2007

Удамшил гэж юу вэ?

Обьект хандалтат програмчлалд удамшил гэдэг ойлголт нь нэг анги дээр тулгуурлан өөр нэг шинэ ангийг үүсгэх болоцоог олгодог. Удамшилын үр дүнд шинээр үүсэж байгаа анги нь хуучин ангийн шинж чанаруудыг өвлөн авна.
Java -aaд extends түлхүүр үгийг хэргэлдэг. Java –гийн бүх удамшил нь олон нийтийнх(public) бөгөөд хувийн(private) болон хамгаалагдсан(protected) гэж удамшина.
Байгаа ангиас анги удамгшуулах үед түүний арга болон талбаруудыг нь дахин ашиглах ба ангиа шинэ байдалд зохицуулж хялбаршуулахын тулд шинэ функц мөн талбаруудыг нэмнэ. Энэ технологи нь Java програмын гол үндэс юм.
Байгаа class нь superclass, base class, буюу parent class гэж нэрлэгддэг.
Шинэ class нь Superclass , удамшсан class эсвэл child class гэж нэрлэгддэг.





Удамшисан ангиас удамшуулан шинэ анги үүсгэж болно. Энэ мэтээр удамшилын модыг үүсгэдэг. Удамшилын мод нь хэдэн ч төвшинтэй байж болно.

Unix- Байнга ашиглагддаг командууд

Юниксийн орчинд командуудын бичигдэх хэлбэр дараахь байдалтай байна:
command [option] arg1 arg2
man.................. юниксийн командуудын ашиглах заавар, дэлгэрэнгүй тайлбар
pwd.................. одоо ажиллаж байгаа идэвтэй директорыг харуулдаг
ls................... директорийн агуулгыг жагсаалтаар харуулна
mkdir................ шинээр директор үүсгэх
rmdir................ директор устгах
cd .................. идэвхтэй ажиллаж байгаа директорыг солих
rm .................. файл устгах
cp .................. файлыг нэг директороос нөгөө директор луу хуулах
alias ............... командын нэрийг өөрийн хүссэнээр зохиомлоор үүсгэх
chsh ................ shell-ээ солих
chfn ................ өөрийн бусдад харагдах нэрийг өөрчлөх

mv .................. файлын нэрийг солих буюу өөр байрлалд зөөх
finger .............. хэрэглэгчийн мэдээллийг хүлээн харах
cal ................. календарь хэвлэх
cat ................. текст файлын агуулгыг харах
more ................ teкст файлын агуулгыг хуудас хуудсаар харах
spell & ispell ...... текст файлын агуулгыг үсэг үсгээр харах
who ................. сүлжээнд ажиллаж байгаа хэрэглэгчдийг харах
who am i ............ өөрийгөө хэн болохыг мэдэх
clear ............... дэлгэцээ цэвэрлэх
du .................. файлын зай ашиглалтыг харах
df .................. shows disk space available on the system
passwd .............. нууц үгээ солих
logout .............. системээс гарах
talk (user) ......... хэрэглэч чатлах боломжтой хуудас гарна
write (user) .........локал орчинд өөр хэрэглэгч рүү текст илгээх
telnet (host) ....... өөр интэрнэт сайт руу холбогдох
ftp (host) .......... FTP site руу холбогдох
chfn ................ өөрийн сүлжээнд харагдах нэрээ солих
grep ................ файлаас тэмдэгт мөр хайх
tail ................ файлын төгсгөлийн мөрүүдийг харах
w ................... хэн хэн холбогдсон болон юу хийж байгааг харж болдог
make ................ source code компайл хийдэг
gcc (file.c) ........ C source файлыг 'a.out' нэртэйгээр компайл хийдэг

gzip ................ UNIX файлуудыг шахдаг
gunzip .............. UNIX шахсан файлуудыг задалдаг
zip ................. IBM файлуудыг шахдаг
tar ................. архив файл үүсгэдэг
kill ................ ажиллаж байгаа процессийг pid - ээр ньзогсооно
pkill ............... ажиллаж байгаа процессийг command name - ээр нь зогсооно

bg ................. “&” тэмдэгтийг ашигланпроцессийг далд хэлбэрээр ажиллуулдаг.
fg ................ далд ажиллаж байгаа процессийг ил ажиллуулна

Unix-ийн философи

 Rule of Modularity: Маш цэвэрхэн интэрфэйстай энгийн хэсгүүдийг хий.

 Rule of Clarity: Тов тодорхой байхыг мундаг байхаас илүүд үз

 Rule of Composition: Бусад програмтай холбогддог програмыг зохиомжил.

 Rule of Separation: Дотоод хэсгээс интэрфэйсийг салга.

 Rule of Simplicity: Энгийн дизайн хий, шаардлагатай үед л нарийн дизайн хий.

 Rule of Parsimony: Өөр ямар ч арга байхгүй үед л том програм хий

 Rule of Transparency: Шалгах дебаг хийхэд хялбар зохиомжхил.

 Rule of Robustness: Robust гэдэг нь энгийн бөгөөд транспарент гэсэн үг.

 Rule of Representation: Мэдлэгийг өгөдөлд оруулж өгсөнөөр логие хялбар болно.

 Rule of Least Surprise: Интэрфэйсийг сүрприз болохоор хий.

 Rule of Silence: Гайхалтай юм болоогүй бол чимээгүй л бай.

 Rule of Repair: Болохоо болисон бол их чимээ гаргаж мэдэгд.

 Rule of Economy: Програмистын цаг машины цагаас үнэтэй гэдгийг анхаар

 Rule of Generation: Болж өгвөл гараар хийдэг зүйлсээ автоматжуул

 Rule of Optimization: Арчлахаасаа өмна ажиллуул

 Rule of Extensibility: Ирээдүйгээ бодож зохиомжоо хий.