Дэлхийн хоёрдугаар дайны эхэн үед Их Британичууд Югославийн хаант засаглалыг дэмжигч нарт Германы нацистуудын эсрэг байлдахад зэвсгийн тусламж үзүүлж байсан. Гэвч Их Британий нэгэн тусгай ажилтан ерөнхий сайддаа Югославийн коммунистууд, хаант засаглалыг дэмжигчдээс илүү олон германчуудыг устгаж байна гэж мэдээлсэний дараа Их Британичууд Югославийн коммунистуудад зэвсгийн тусламж үзүүлэх болсон байна.
Уг тусгай ажилтан энэхүү гэнэтийн шийдвэрт гайхсандаа ерөнхий сайдаас "Үүнээс болж дайны дараа Югославт коммунистууд засгийн эрхийг авах биш үү?" гэж асуухад хариуд нь Их Британий ерөнхий сайд "Дайны дараа чи Югославт амьдрах бодолтой байгаа юм уу?" гэж хариу асуусан гэдэг.
Showing posts with label Монголоор. Show all posts
Showing posts with label Монголоор. Show all posts
2013-07-14
2013-05-18
Японы өмнөд зүгийн газар цас орж байгаа нь
Японы өмнө зүгт Киотогийн ойролцоо өвөл бараг цас ордоггүй. Хэрвээ цас орвол тун удахгүй хайлчихдаг. Учир нь энд өвөл өдөртөө +6 - +8, шөнөдөө 0 - +2 хэмтэй байдаг.
2013-05-17
Дөрвөн ижил (шинэ монгол наадгай)
Бүх насны хүмүүс дөрвөн шагай ба онооны цаас ашиглан тоглох боломжтой өрсөлдөөнт "дөрвөн ижил" хэмээх нэгэн тоглоом зохиолоо.
Хэрхэн тоглох:
Тоглогч дөрвөн шагайг ашиглан тодорхой хослол үүсгэх нийт 9 удаагийн оролдлого хийж болох бөгөөд хэдэн хослол үүсгэж чадсанаас хэр олон оноо авах шийдэгдэнэ.
Оролдлого хийхдээ:
- Эхлээд 4 шагайгаа дөрвүүлэнг нь хаяна. Хэрвээ хослол байвал оноог нь авч болно. Оноо авсан тохиолдолд шагайгаа дараагийн тоглогч уруу шилжүүлнэ
- Тоглогч хүсвэл 2 шагайг хэвээр нь үлдээн, үлдсэн 2 шагайг дахин хаяж болно. Хэрвээ хослол байвал оноог нь авч болно. Оноо авсан тохиолдолд шагайгаа дараагийн тоглогч уруу шилжүүлнэ
- Шинээр бий болсон 4 шагайны хослол хэрвээ тоглогчид таалагдахгүй дахин 2 шагайг сонгон хаяж болно. Хэрвээ хослол үүсч байвал холбогдох оноогоо авах болно.
Нэг хослолын оноог ердөө нэг удаа авч болох болохоор хэрвээ нэгэнт өмнө оноог нь авчихсан хослол дахин үүсвэл оноо өгөхгүй болно.
Үүсгэж болох хослолууд ба хослол бүрт авах оноонууд:
Оноо тэнцсэн тохиолдолд:
Дөрвөн шагайгаа хаян хэн олон морь хаяхаа үзнэ. Хэн илүү морь хаясан хожих болно. Хэрвээ ижил тооны морь буувал дахин дахин ялагч тодрох болтол шагайгаа хаях болно.
Тоглож болох тоглогчийн тоо:
Энэ тоглоомыг хамтдаа тоглож болох тоглогчийн тоонд ямар нэгэн хязгаарлалт байхгүй.
Онооны цаас:
Хос буувал оноогоо дугуйлан тэмдэглэж болох бөгөөд 9 оролдлогын дараа дугуйлсан онооны нийлбэрээр ялагчийг тодруулж болно. Онооны цаасыг татахыг хүсвэл - энд дарна уу.
2013-04-19
Скрум програм хангамж хөгжүүлэлтийн аргачлалыг 10 минутанд сурах
Энэхүү хурдавчилсан зааврыг ашиглан та болон танай компани “Скрум” програм хангамж хөгжүүлэлтийн аргачлалыг хэрхэн өдөр тутмын ажилдаа ашиглах талаар анхан шатны ойлголттой болох болно.
Скрумийн талаар товчхон
Скрум бол төслийн менежментийн аргачлалуудаас сурах болон хэрэгжүүлэхэд хялбар байж болох аргачлалуудын нэг юм. Энэ зааварт би та бүхэнд Скрумийн талаар ерөнхий ойлголтууд болон хэрхэн энэ менежментийн арга, хэрэгслийг компани дээрээ ашиглаж болох талаар зөвлөгөө өгөх болно.
Скрумийн үндсэн ойлголтууд
Скрумийг (байгууллага дээрээ) нэвтрүүлэхээс өмнө дараах Скрумийн талаархи үндсэн ойлголтуудтай танилцах хэрэгтэй.
Скрумтай холбоотой үндсэн ойлголтыг авсан дараа одоо Скрум процесс хэрхэн ажилладгийг алхам, алхмаар харцгаая.
Эх сурвалж: http://www.brighthubpm.com/agile/6549-a-quick-scrum-tutorial/
Скрумийн талаар товчхон
Скрум бол төслийн менежментийн аргачлалуудаас сурах болон хэрэгжүүлэхэд хялбар байж болох аргачлалуудын нэг юм. Энэ зааварт би та бүхэнд Скрумийн талаар ерөнхий ойлголтууд болон хэрхэн энэ менежментийн арга, хэрэгслийг компани дээрээ ашиглаж болох талаар зөвлөгөө өгөх болно.
Скрумийн үндсэн ойлголтууд
Скрумийг (байгууллага дээрээ) нэвтрүүлэхээс өмнө дараах Скрумийн талаархи үндсэн ойлголтуудтай танилцах хэрэгтэй.
- Спринт (Sprint) – Тодорхойлсон зорилтуудад 30 хоногт багаараа хүчин зүтгэл гарган хүрэх гэсэн оролдлого.
- Бүтээгдэхүүний жагсаалт (Product Backlog) – Эрэмбэлэгдсэн хийх ажлын жагсаалт.
- Спринт жагсаалт (Sprint Backlog) – Бүтээгдэхүүний жагсаалтаас хамгийн түрүүлж хийх шаардлагатай ажлуудын жагсаалт.
- Скрум ахлагч (Scrum Master) – Бүтээгдэхүүнийг хийх багийн дасгалжуулагч бөгөөд спринтийн зорилтуудад хүрэхэд шаардлагатай бүх зүйлсийг энэ хүн хийх болно.
- Бүтээгдэхүүний эзэн (Product Owner) – Хэрэглэгчийг төлөөлөх бөгөөд жагсаалтанд байгаа ажлын эрэмбийг тодорхойлох үүрэгтэй.
- Скрум баг (Scrum Team) – Өөрсдийгөө зохион байгуулах чадвартай ба хийсэн ажилдаа хамт олноороо хариуцлага хүлээх 5-9 хүний бүрэлдэхүүнтэй бүлэг.
Скрумтай холбоотой үндсэн ойлголтыг авсан дараа одоо Скрум процесс хэрхэн ажилладгийг алхам, алхмаар харцгаая.
- Жагсаалт үүсгэх – Энэ алхамд “бүтээгдэхүүний эзэн” ба “скрум баг”-ийнхан “бүтээгдэхүүний жагсаалт”-нд оруулах ажлууд болон тэдгээрийн эрэмбийг тодорхойлохоор уулзах болно. “Бүтээгдэхүүний эзэн” нь бүтээгдэхүүний үндсэн зорилгыг тодорхойлох чадвартай (эрх мэдэлтэй) байх ёстой. Нэг ёсондоо “бүтээгдэхүүний жагсаалт” бол төслийн хүрээнд хийх ёстой ажлуудыг хийх дарааллаар нь эрэмбэлсэн жагсаалт юм.
- “Бүтээгдэхүүний эзэн” нь “бүтээгдэхүүний жагсаалт”-ыг үүсгэсний дараа “спринт төлөвлөх уулзалт”-ыг зохион байгуулна. Уулзалтын хамгийн эхэнд “бүтээгдэхүүний эзэн” нь програм зохиох багт төслийн зорилго ба “бүтээгдэхүүний жагсаалт”-ыг тайлбарлаж өгнө. Үүний дараа “скрум баг” нь “бүтээгдэхүүний жагсаалт”-аас хамгийн өндөр эрэмбэтэй ажлуудыг энэ спринт-д хийж дуусгахаар сонгох болно.
- Хийх ажлаа сонгож дууссаны дараа энэ спринт-ийн боломжит хуваарийг багийн гишүүдийн төсөлд зарцуулж чадах цагийг тооцсоны үндсэн дээр зохионо. “Бүтээгдэхүүний жагсаалт”-аас энэ спринт-д хийхээр сонгосон ажил бүрийг бие даан хийж болох хэсгүүдэд хуваана. Ингэснээр “спринт жагсаалт” бэлэн болно.
- Спринт эхлэх ба 15-30 өдрийн турш үргэлжилнэ. Спринтийн үед жагсаалтанд өөр ажил нэмэхгүй. (Багийн гишүүд хийх ажлаа спринт жагсаалтаас сонгож, сонгосон ажлаа хийж дуусгах хүртэл өөр ажил авахгүй)
- Спринт эхлэхэд “өдөр тутмын уулзалт” эхэлнэ. “Өдөр тутмын уулзалт” бол 15 минутын хугацаанд хийгдэх багийн гишүүн бүр хамгийн сүүлийн “өдөр тутмын уулзалт”-аас хойш өөрийн хийсэн зүйл, хийхийг хүсэж байгаа зүйл, тулгарсан асуудлын талаархи тайланг багийн бүх гишүүдэд тайлагнах уулзалт байх болно. Энэ явцад “скрум мастер” нь тулгарсан асуудлуудыг тэмдэглэн, уулзалтын дараа шийдвэрлэх гэж оролдоно.
- Спринт дууссаны дараа “спринт дүгнэх уулзалт” хийнэ. Энэ уулзалтыг хийх үед бүгд цуглан тухайн хүн спринтийн турш хийж дуусгасан ажлаа бусдад тайлагнах болно.
- “Бүтээгдэхүүний жагсаалт”-нд үлдсэн ажлуудаас шинээр эрэмбэлэгдсэн хийх ажлын жагсаалт дахин бий болгох замаар энэ процесс дахин давтагдах болно.
Эх сурвалж: http://www.brighthubpm.com/agile/6549-a-quick-scrum-tutorial/
2013-04-02
IPhone 4-ийн зайны боломж
Ухаалаг гар утасны зайны хүчин чадлаас хамааран та ямар програмыг хэр хугацаанд ашиглаж болохоо мэдэж болно. Энэ удаад IPhone 4 утасны зайны хүчин чадлын талаар та бүхэнд хүргэхээр шийдлээ.
2G ашиглан ярих - 14 цаг
2D тоглоом - 8 цаг
3D тоглоом - 4 цаг
3G ашиглан ярих - 7 цаг
Bluetooth ашиглан дуу сонсох - 16 цаг
YouTube үзэх - 8 цаг
Facebook - 11 цаг
Видео бичих - 3 цаг
GPS ашиглах - 3 цаг
Хөгжим сонсох - 40 цаг
Идэвхигүй байх - 300 цаг
Дуу бичих - 26 цаг
Видео үзэх - 10 цаг
3G ашиглан интернетээр аялах - 6 цаг
Wi-Fi ашиглан интернетээр аялах - 10 цаг
Цахим ном унших - 25 цаг
Хүснэгтэнд оруулсан
2D тоглоом - 8 цаг
3D тоглоом - 4 цаг
3G ашиглан ярих - 7 цаг
Bluetooth ашиглан дуу сонсох - 16 цаг
YouTube үзэх - 8 цаг
Facebook - 11 цаг
Видео бичих - 3 цаг
GPS ашиглах - 3 цаг
Хөгжим сонсох - 40 цаг
Идэвхигүй байх - 300 цаг
Дуу бичих - 26 цаг
Видео үзэх - 10 цаг
3G ашиглан интернетээр аялах - 6 цаг
Wi-Fi ашиглан интернетээр аялах - 10 цаг
Цахим ном унших - 25 цаг
Хүснэгтэнд оруулсан
| 2G ашиглан ярих | 14 цаг |
| 2D тоглоом | 8 цаг |
| 3D тоглоом | 4 цаг |
| 3G ашиглан ярих | 7 цаг |
2013-04-01
Та айлын хэддэх хүүхэд вэ?
Хүн айлын хэддэх хүүхэд байхаас тодорхой зан чанартай болдог гэсэн байх юм. Энэ хүн болгоны хувьд өөр байж болох боловч бас таарч болох л юм. Хэрвээ таарч байвал хүн өөр өөрийгөө танин мэдэхэд тус болж болох учраас энэ талаар орчуулан та бүхэнд хүргэхээр шийдлээ.
Ууган хүүхэд
Хамгийн сүүлд хэлэхэд энд хүүхдийн талаар ярьж байгаа болохыг анхаарна уу. Та багадаа ийм байж байгаад том болоод ямар нэгэн шалтгааны улмаас өөрчлөгдсөн байж болох юм.
Эх сурвалж: http://www.dailymail.co.uk/femail/article-1351567/First-born-Piggy-middle-Or-baby-How-place-family-rules-life.html
Ууган хүүхэд
- Хүлээн зөвшөөрөгдөх хүсэл их байдаг
- Дүрэм, журам дагадаг ба хуучинсаг
- Юмыг хяналтандаа байлгах дуртай
- Хичээлдээ сайн
- Эмх цэгцтэй ба хариуцлагатай
- Өөр өөрийгөө шүүмжилдэг
- Бусдад ажил хуваарилж өгч чаддаггүй
- Илүү сэтгэл санааны тусламж хүсэх хандлагатай
- Тайван, амгалан
- Дипломатч
- Амархан ятгалганд автдаг
- Өөрийн авьяас ба чадварын талаар зөв ойлголттой
- Санаачлагатай ба спортлог
- Хамгийн эхэнд тусдаа гардаг
- Ямар нэгэн асуудалтай тулгарсан хүмүүст туслах дуртай
- Гадаад үзэмжээ бусдаас ялгагдахаар байлгадаг
- Чиглэл байхгүй буюу юу хийхээ мэддэггүй
Отгон хүүхэд
- Бусдаас хамааралтай
- Хамаагүй ба сэтгэл татам
- Зохион байгуулалт муутай
- Санаачлагатай ба бүтээлч
- Дуулгаваргүй
- Эрсдэлтэй алхам хийх дуртай
- Өөртөө итгэх итгэл бага
- Амархан гутардаг
Айлын ганц
- Хичээлдээ сайн
- Өөртөө итгэлтэй
- Ганцаараа байх дуртай
- Логик сэтгэлгээ сайтай ба зохион байгуулалт сайтай
- Гаднах амьдрал мэддэггүй
- Юмыг төгс болгохыг хичээдэг
- Эмх замбаарагүй байдлаас айдаг
Хамгийн сүүлд хэлэхэд энд хүүхдийн талаар ярьж байгаа болохыг анхаарна уу. Та багадаа ийм байж байгаад том болоод ямар нэгэн шалтгааны улмаас өөрчлөгдсөн байж болох юм.
Эх сурвалж: http://www.dailymail.co.uk/femail/article-1351567/First-born-Piggy-middle-Or-baby-How-place-family-rules-life.html
2013-03-29
Үндэсний аюулгүй байдалд чухал нөлөөтэй зүйлс юу вэ? (1-р хэсэг)
Уншигчдаа анхааруулахад би бол мэдээллийн технологийн чиглэлээр сурдаг судлаач оюутан бөгөөд энэ бичлэгт өөрийн хувийн үзэл бодлоо илэрхийлсэн болно.
Үндэсний аюулгүй байдал гэхээр зэвсэгт хүчин, гадаад харилцаа гэх мэт зүйлсийн талаар хамгийн түрүүнд ихэнхи хүмүүс бодох байх. Мэдээж улс эх орныхоо тусгаар тогтнолыг хамгаалахад энэ бүхэн чухал боловч үүнийг эцсийн эцэст улсын иргэн буюу "хүн" хийдэг гэдгийг мартчихдаг. Иргэн хүний "өрсөлдөх чадвар" өндөр байх тусам манай улс илүү хөгжилтэй, илүү аюулгүй байх болно.
"Өрсөлдөх чадвар" өндөртэй байхын тулд эхлээд иргэн хүн өөртөө итгэлтэй байх ёстой. Өөртөө итгэлтэй байхын тулд ямар нэгэн зүйлээр манай улс бахархдаг байвал тун зүгээр. "Дэлхийд Монгол Улс ямар зүйлээрээ бахархаж болох вэ?" гэсэн асуулт асуувал та бүхэн, бидний хойч ирээдүй болсон дунд сургуулийн сурагчид ямар хариулт өгөх бол?
Харин Япончууд ямар хариулт өгсөнийг сонирхоцгооё. (2010 оны 11-р сард 5-аас 9-р ангийн 200 эрэгтэй ба эмэгтэй сурагчаас авсан судалгаа. Эх сурвалж: Японы эдийн засгийн бичиг баримт 2011 оны 1-р сарын 22)
45 сурагч: Шударга ба хөдөлмөрч ард түмэн
43 сурагч: Үйлдвэрлэл технологи
27 сурагч: Мэдэхгүй
24 сурагч: Амьдрахад аюулгүй газар
15 сурагч: Жилийн улирлууд ба байгаль
14 сурагч: Хоол. Жишээлбэл, Суши.
13 сурагч: Түүх ба соёл
13 сурагч: Манга ба аниме
12 сурагч: Байхгүй
4 сурагч: Бүх юм бэлэн сайхан нийгэм
гэж тус тус хариулсан байх юм.
Манайх бахархах зүйл ихтэй улс боловч сүүлийн үед олон нийтийн хэвлэл мэдээллийн хэрэгслээр дандаа сөрөг муу мэдээлэл, "муухай монгол хүн"-ий талаар бичих болсон байна. Үүнийг уншиж байгаа хүүхдүүд ямар ойлголт авах вэ? "Монгол хүн бол муу хүн байдаг юм. Харин гадаад хүн бол монгол хүнээс илүү сайн хүн байдаг" юм байна. Энэ санаатай ч юм уу санаандгүй бодлогын үр дүн аль хэдийн гараад эхэлжээ. Зарим хүмүүс гадаад хүнтэй суухыг хүсч байхад, зарим нь монгол гэдгээсээ ичин гадаад уруу цагаачилдаг болчихоод байна.
Энэ асуудлыг шийдэх шийдэл бол миний бодлоор бол олон нийтийн хэвлэл мэдээллийн хэрэгслээр дан сөрөг мэдээллээ цацахаа болиж, эх орондоо болон гадаадад амжилттай яваа монголоо гэсэн сэтгэлтэй иргэдээ сурталчлах юм. Гол хүмүүсийн санаанд илгээх мессаж бол "Монгол хүн дэлхийн аль улсын хүнээс дутахгүй. Хөдөлмөрлөвөл бүхнийг хийж чадна!" байх болов уу.
Дараагийн асуудал бол нийгэм дэх хөрөнгийн тэгш бус хуваарилалт юм. Энэ талаар news.mn дээр сайхан тодорхойлж бичсэн байна:
"...Хамгийн ойрын жишээ гэхэд банкин дахь нийт харилцах, хадгаламжийн 90-ээс дээш хувь нь 4-5 хүний гарт төвлөрсөн гэх баримт бий. Энэ байдал хөрөнгийн зах зээл, банк санхүү, барилга, худалдаа үйлчилгээ гээд бүхий л салбарт ажиглагдана. Энэ тохиолдолд тэдгээр 4-5 хүн, тэдний гэр бүл баяжихын хэрээр улсын татварын орлого, ДНБ-ий хэмжээ нэмэгдээд байгаа юм. Нөгөө талд нь ард түмний ихэнх хэсэг нь ядуу, ажилгүй, орлогогүй хэвээрээ байх аж.
Ядаж байхад цөөн хэдэн хүмүүс мөрөөрөө баяжихгүй улсын эдийн засаг хаашаа эргэхийг хүссэнээрээ "удирдах" аж. Энэ тал дээр нефть бүтээгдэхүүний хомсдол, үнийн хөөрөгдлөөр жишээ татаж болно. Нефть импортлогч компаниудын эзэд гэх цөөн хэдэн хүмүүс үнэ нэмэгдүүлнэ шүү гэж төрийг шантаажлах..."
Хэрэв байдал иймэрхүү маягаар байвал цаашид манай улсад тогтворгүй байдал үүсэх магадлал маш өндөр байна. Тогтворгүй байдал үүснэ гэдэг маань манай улс үндэсний аюулгүй байдлаа хангаж чадахаа болино эсвэл тэр чадвар нь муудна гэсэн үг.
Энэ асуудлыг шийдэх шийдлийн талаар их олон эдийн засагч, сэтгүүлчид бичсэн болохоор миний бие бичихээ болилоо.
Үндэсний аюулгүй байдал гэхээр зэвсэгт хүчин, гадаад харилцаа гэх мэт зүйлсийн талаар хамгийн түрүүнд ихэнхи хүмүүс бодох байх. Мэдээж улс эх орныхоо тусгаар тогтнолыг хамгаалахад энэ бүхэн чухал боловч үүнийг эцсийн эцэст улсын иргэн буюу "хүн" хийдэг гэдгийг мартчихдаг. Иргэн хүний "өрсөлдөх чадвар" өндөр байх тусам манай улс илүү хөгжилтэй, илүү аюулгүй байх болно.
"Өрсөлдөх чадвар" өндөртэй байхын тулд эхлээд иргэн хүн өөртөө итгэлтэй байх ёстой. Өөртөө итгэлтэй байхын тулд ямар нэгэн зүйлээр манай улс бахархдаг байвал тун зүгээр. "Дэлхийд Монгол Улс ямар зүйлээрээ бахархаж болох вэ?" гэсэн асуулт асуувал та бүхэн, бидний хойч ирээдүй болсон дунд сургуулийн сурагчид ямар хариулт өгөх бол?
Харин Япончууд ямар хариулт өгсөнийг сонирхоцгооё. (2010 оны 11-р сард 5-аас 9-р ангийн 200 эрэгтэй ба эмэгтэй сурагчаас авсан судалгаа. Эх сурвалж: Японы эдийн засгийн бичиг баримт 2011 оны 1-р сарын 22)
45 сурагч: Шударга ба хөдөлмөрч ард түмэн
43 сурагч: Үйлдвэрлэл технологи
27 сурагч: Мэдэхгүй
24 сурагч: Амьдрахад аюулгүй газар
15 сурагч: Жилийн улирлууд ба байгаль
14 сурагч: Хоол. Жишээлбэл, Суши.
13 сурагч: Түүх ба соёл
13 сурагч: Манга ба аниме
12 сурагч: Байхгүй
4 сурагч: Бүх юм бэлэн сайхан нийгэм
гэж тус тус хариулсан байх юм.
Манайх бахархах зүйл ихтэй улс боловч сүүлийн үед олон нийтийн хэвлэл мэдээллийн хэрэгслээр дандаа сөрөг муу мэдээлэл, "муухай монгол хүн"-ий талаар бичих болсон байна. Үүнийг уншиж байгаа хүүхдүүд ямар ойлголт авах вэ? "Монгол хүн бол муу хүн байдаг юм. Харин гадаад хүн бол монгол хүнээс илүү сайн хүн байдаг" юм байна. Энэ санаатай ч юм уу санаандгүй бодлогын үр дүн аль хэдийн гараад эхэлжээ. Зарим хүмүүс гадаад хүнтэй суухыг хүсч байхад, зарим нь монгол гэдгээсээ ичин гадаад уруу цагаачилдаг болчихоод байна.
Энэ асуудлыг шийдэх шийдэл бол миний бодлоор бол олон нийтийн хэвлэл мэдээллийн хэрэгслээр дан сөрөг мэдээллээ цацахаа болиж, эх орондоо болон гадаадад амжилттай яваа монголоо гэсэн сэтгэлтэй иргэдээ сурталчлах юм. Гол хүмүүсийн санаанд илгээх мессаж бол "Монгол хүн дэлхийн аль улсын хүнээс дутахгүй. Хөдөлмөрлөвөл бүхнийг хийж чадна!" байх болов уу.
----------------------------------------------------------------------------------------
"...Хамгийн ойрын жишээ гэхэд банкин дахь нийт харилцах, хадгаламжийн 90-ээс дээш хувь нь 4-5 хүний гарт төвлөрсөн гэх баримт бий. Энэ байдал хөрөнгийн зах зээл, банк санхүү, барилга, худалдаа үйлчилгээ гээд бүхий л салбарт ажиглагдана. Энэ тохиолдолд тэдгээр 4-5 хүн, тэдний гэр бүл баяжихын хэрээр улсын татварын орлого, ДНБ-ий хэмжээ нэмэгдээд байгаа юм. Нөгөө талд нь ард түмний ихэнх хэсэг нь ядуу, ажилгүй, орлогогүй хэвээрээ байх аж.
Ядаж байхад цөөн хэдэн хүмүүс мөрөөрөө баяжихгүй улсын эдийн засаг хаашаа эргэхийг хүссэнээрээ "удирдах" аж. Энэ тал дээр нефть бүтээгдэхүүний хомсдол, үнийн хөөрөгдлөөр жишээ татаж болно. Нефть импортлогч компаниудын эзэд гэх цөөн хэдэн хүмүүс үнэ нэмэгдүүлнэ шүү гэж төрийг шантаажлах..."
Хэрэв байдал иймэрхүү маягаар байвал цаашид манай улсад тогтворгүй байдал үүсэх магадлал маш өндөр байна. Тогтворгүй байдал үүснэ гэдэг маань манай улс үндэсний аюулгүй байдлаа хангаж чадахаа болино эсвэл тэр чадвар нь муудна гэсэн үг.
Энэ асуудлыг шийдэх шийдлийн талаар их олон эдийн засагч, сэтгүүлчид бичсэн болохоор миний бие бичихээ болилоо.
2013-03-24
"JVM is not suitable for this product. Version: 1.5 or greater is required." хэмээх Эклипсийн алдааны шийдэл
- 1.5 болон түүнээс хойших хувилбарыг татаж суулгах
- 1.5 болон түүнээс хойших хувилбар өмнө суучихсан байгаа (үндсэн биш гэсэн үг) бол суулгасан замыг Эклипсийн shortcut дээр дараах байдлаар зааж өгөх: Эклипсийн суусан зам + jdk суусан зам.
2013-03-20
"Эклипс" дээр энкодингийн тохиргоо хийх
Жава хэлийг ашиглан програм бичихэд ашиглагддаг "Эклипс" хэрэгсэл дээр англиас өөр хэлээр тэмдэглэл (comment) бичээд хадгалахад, жишээлбэл монгол хэлээр бичихэд сүүлд нь арзайгаад танигдахын аргагүй болдог. Хадгалахаасаа өмнө Монголоор хэсэг юм бичээд харвал:
Уг файлаа хадгалсаны дараа нээж харахад:
Энэ тохиолдолд "Эклипс"-ийн Windows цэсийн Preferences-ийг сонгон дараах зургийн дагуу тохиргоог хийхэд асуудал шийдэгдэнэ.
Энэ асуудал юунаас болж үүсдэг вэ гэвэл ердийн файл хадгалах тэмдэгтийн төрөл буюу энкодинг ANSI байдаг бөгөөд ANSI нь зөвхөн англи хэл болон тодорхой тооны тэмдэгтийг дэмждэг болохоор манай монгол хэлний тэмдэгтүүдийг танидаггүй. Харин үүнийг UTF-8 болгож өөрчлөхөд UTF-8 нь монгол хэлний тэмдэгтийг агуулдаг учраас танин хэвийн хадгалдаг.
2013-03-19
SQL injection
Энэ бичсэн зүйлээ сайжруулъя гэж бодсоор хэдэн жил болчихож. Хэзээ нэгэн цагт илүү чадвартай болохоороо өөр маягаар илүү хялбар ойлгогдохоор нийтлэл бичнээ.
SQL injection бол програм болон вэбийг өгөгдлийн сантай холбогдох үед гардаг хамгаалалтын сул талыг ашиглан програм болон вэб сайтад халдах арга юм. Энэхүү халдлагыг хийхдээ хэрэглэгчийн гараас оруулах өгөгдөлд мөр (string) төрлийн тусгай тэмдэгтүүд агуулсан SQL команд (statement) оруулдаг. Энэ нь програмчлалын хэл буюу скрипт хэлийг хамтад нь ашиглах үед үүсдэг.
string утга нь програмчлалын хэл бүр дээр өөр боловч .net c# хэлний хувьд “” болно. Жишээлбэл, “Сайн байцгаана уу!”
Жишээ 1.
Ойлгомжтой тайлбарлах үүднээс дараах жишээн дээр хэрхэн ажилладгийг харуулъя. Дараах програмын кодын мөр нь халдлага хийх боломж бүхий сул талтай.
statement := "SELECT * FROM users WHERE name = '" + userName + "';"
Дээрх SQL код нь хэрэглэгчийн (users) хүснэгтээс тухайн хэрэглэгчийн нэр бүхий мэдээлэл байгаа эсэхийг шалгах зорилготой. Гэвч “userName” хувьсагчийг буруу байдлаар ашиглах тохиолдолд энэхүү SQL командыг ашиглан уг кодыг зохиогчийнбодсоноос өөр аргаар ашиглаж болно. Жишээлбэл “userName” хувьсагчийг:
‘a' or 't'='t’
гэж өөрчилбөл өмнөх SQL команд дараах хэлбэртэй болно:
SELECT * FROM users WHERE name = 'a' or 't'='t';
Энэ кодыг програмд нэвтрэхэд ашиглавал 't'='t' үргэлж үнэн байх тул хүссэн үедээ хүссэн хэрэглэгчийн нэрээр нэвтрэх боломжтой болно гэсэн үг.
MS SQL сервер зэрэг зарим SQL серверийн хувьд алдаагүй SQL командыг иймэрхүү аргаар болон хэд хэдэн statement-ийг нийлүүлэх замаар оруулж болно. Доорх жишээнд хэрэглэгчийн хүснэгтийг хэрхэн устгаж болохыг харж болно. Мэдээжхэрэглэгч бүрийн мэдээллийг харуулах боломжтой.
a';DROP TABLE users; SELECT * FROM data WHERE name LIKE '%
Дараах оруулсан өгөгдөлийн дагуу гүйцэтгэгдэх SQL statement харуулбал:
SELECT * FROM users WHERE name = 'a';DROP TABLE users; SELECT * FROM data WHERE name LIKE '%';
Бусад SQL серверүүд аюулгүй байдлын үүднээс тухайн нэг SQL query-д нэгэн зэрэг хэд хэдэн SQL командыг биелүүлэх боломжийг хаасан байдаг. Гэвч энэ нь ялгаатай query-нүүдийг оруулж өгөхөөс сэргийлэх боловч тухайн query-г өөрчлөхөөс хамгаалж чадахгүй.
Жишээ 2.
SQL statement-д тоон талбар ашиглагдах үед програм зохиогч хэрэглэгчээс оруулж өгсөн өгөгдөл тоо эсэхийг шалгах шалгалт хийхгүй бол дараах нөхцөл байдал үүснэ.
statement := "SELECT * FROM data WHERE id = " + a_variable + ";"
Үүнээс харахад програм зохиогч a_variable “id” талбарт харгалзах тоо болгон ашигласан болохыг харж болно. Гэвч “string” бичигдэж болж байвал тусгай тэмдэгтүүд ашиглахгүйгээр дараах байдлаар a_variable-ийг өөрчилбөл:
1;DROP TABLE users
Үр дүнд нь “users” хүснэгтийг устгах бөгөөд SQL маань дараах хэлбэртэй болно:
SELECT * FROM data WHERE id = 1;DROP TABLE users;
Програм болон вэб дотроосоо SQL injection халдлагаас хэрхэн хамгаалах вэ?
.NET C# хэлний хувьд ADO.NET SqlCommand (Микрософт SQL серверийн хувьд) эсвэл OracleCommand (Ораклийн өгөгдлийн сангийн серверийн хувьд) обьектын хувьд дараах кодыг засварлан SQL injection халдлагаас сэргийлж болно.
Дээрх кодыг ашиглахын оронд дараах кодыг ашиглах хэрэгтэй. Үүнд:
Java-гийн хувьд:
String selectStatement = "SELECT * FROM User WHERE userId = ? ";
PreparedStatement prepStmt = con.prepareStatement(selectStatement);
prepStmt.setString(1, userId);
ResultSet rs = prepStmt.executeQuery();
гэсэн бичлэгийг ашиглавал халдлагад өртөх аюул харицангуй багасна.
Өгөгдлийн сангийн талаас халдлагаас хэрхэн хамгаалах вэ?
Аюулгүй байдлын эрх
Энэ бол өгөгдлийн сан дээр аюулгүй байдлын эрхийг тохируулж өгөх тохиолдолдхийсэн байх ёстой хамгийн наад захын зүйл юм. Хэдхэн програмын хувьд тухайнпрограм хүснэгт болон өгөгдлийн санг устгах эрх олгох шаардлагатай байдаг бөгөөд шаардлагагүй програмд энэ эрхийг хасч өгөх хэрэгтэй.
Үүнийг ашиглан SQL injection халдлагын асуудлыг шийдэхгүй боловч бодит аюулыг багасгах боломжтой.
Stored procedures
Ихэнх өгөгдлийн сангууд stored procedure-ийг дэмждэг. SQL-ийг програмын хэсэгт динамикаар үүсгэж ашиглахаасаа илүүтэйгээр stored procedure ашиглах нь аюул багатай. Жишээлбэл, оруулж байгаа өгөгдлийг параметрчилж өгөх, төрлийг хатуу мөрддөг (шалгадаг) болгосноор хэрэглэгчийн оруулах өгөгдлийг маш сайн шүүхээс(filter хийхээс) гадна програм stored procedure руу хандах эрх байхаас биш үндсэн өгөгдлийн сан руу хандах эрх байдаггүй. Үүний тусламжтайгаар програм stored procedure-д тусгаснаас илүү үйлдэл хийх боломжийг хаана.
Гэвч stored procedure ашиглах нь code injection асуудлыг шийдвэрлэхгүй. Учир нь хэрэв хэрэглэгчийн гараас оруулах өгөгдөл параметрчилагдаагүй, эсвэл filter хийгдээгүй тохиолдолд дараах байдлаар халдаж болно. Үүнд,
GET_PASSWORD(userName) ба GET_USER(userName, password) гэсэн 2 stored procedure өгөгдсөн гэж үзвэлтохиолдолд халдагч GET_USER рүү доорх аргыг ашиглан халдлага хийх боломжтой. Үүнд: password-ийг зөвхөн тусгай тэмдэгтээс хамгаалаагүй
GET_USER('admin', '' || GET_PASSWORD('admin') || '').
Multi-statement халдлагаас сэргийлэх
MySQL С клиент сангийн стандарт query аргачлал нэг оролтонд нэгээс олон query биелэгдэхээс сэргийлдэг болохыг дахин сануулъя. Гэвч ердийн хэрэглэгчийн оруулсан тусгай тэмдэгт (данхаалт гэх мэт) агуулсан өгөгдлөөс болж алдаатай бичигдсэн SQL синтаксын дагуу програмд дараах алдаа, зарим халдлага гарах боломжтой. Жишээлбэл, вэб сайт дээр байгаа username-тэй холбоотой мэдээллийг гаргадаг жагсаалт байна гэж үзье. Биелэгдэх query нь:
SELECT * from items where username='$username';
Энэ тохиолдолд тусгай янзалсан username-ийг ашиглан бүх хэрэглэгчийн талаарх бүх мэдээллийг гаргая гэвэл:
' or username is not null or username='
Дээрх кодыг ашиглан дараах SQL statement үүснэ:
SELECT * from items where username='' or username is not null or username='';
Дээрх хаалтыг хассанаар SQL injection халдлагын аюулаас бүрэн сэргийлж чадахгүй. Таны query дараах хэлбэртэй байна гэж үзвэл:
SELECT * from items where userid=$userid;
$userid-ийг тоон утга гэж тооцсон боловч шалгаагүй явсан гэж үзвэл энэ тусгай бэлдсэн userid дахин бүх хэрэглэгчийн талаарх мэдээллийг гаргана:
33 or userid is not null or userid=44
Таны харж байгаагаар нэг ч хаалт байхгүй байсан ч дараах query үүснэ:
SELECT * from items where userid=33 or userid is not null or userid=44;
Хамгийн шилдэг хамгаалалт бол мэдэгдэж байгаа аюултай өгөгдөл оруулалтыг хар жагсаалтанд оруулжалтын “цэвэр” жагсаалтыг гаргах хэрэгтэй. Жишээлбэл хэрэв та өмнөх халдлагаас хамгаалахыг хүсвэл userid хувьсагчийн тоо агуулсан эсэхийг шалгах хэрэгтэй: сэргийлэхээсээ илүү зөвхөн мэдэгдэж байгаа аюулгүй өгөгдөл оруул
if(!ctype_digit($userid)){ die("Invalid characters in userid."); }
Литералын хүчингүй болгох
SQL injection аюулаас өгөгдлийн сангийн engine ‘литералыг хүчингүй болгох’ хэрэгсэлтэй байх тохиолдолд бүрэн сэргийлж болно. Литералыг хүчингүй болгоно гэдэг нь текст болон тоон литерал SQL statement-ийн нэг хэсэг болохыг зөвшөөрөхгүй байх өгөгдлийн сангийн engine-ийн төлөв байх ба зөвхөн placeholder зөвшөөрөгдөнө. Иймээс дараах төрлийн statement:
SELECT * FROM USER WHERE NAME='Smith'
SELECT * FROM ITEMS WHERE USERID=2
өмнө дурдсан төлөвт зөвшөөрөгдөхгүй (өгөгдлийн сангийн engine алдааны мэдээлэл буцаана). Query дараах хэлбэртэй бичигдэнэ:
SELECT * FROM USER WHERE NAME=?
SELECT * FROM ITEMS WHERE USERID=?
Литералыг хүчингүй болгосноор placeholder-ийг ашиглахаас өөр аргагүй болно. (Placeholder гэдэг бол математикт олонлогийн ямар ч элементийн нэрээр солигдож болохыг илэрхийлэх дүрс юм)
Үүнээс болж өмнө дурдсан SQL injection халдлагын төрлүүд энэ төлөвт боломжгүй болно.
Одоогийн байдлаар зөвхөн нэг өгөгдлийн сангийн engine (H2 өгөгдлийн сангийн engine) литерал хүчингүй болгохыг дэмжиж байгаа бөгөөд технологи ньпатентлагдаагүй байна. Програмын SQL injection халдлагаас сэргийлэхийн тулд одоогоор бэлэн болоогүй байгаа энэ хэрэгслийг ашиглах шаардлагагүй болов уу.Үүний оронд уг хэрэгслийг дэмждэг өгөгдлийн санг уг төлөвт оруулан нэгжийн тест хийхэд хангалттай.
SQL Injection халдлагаас хамгаалах хамгийн сайн арга
Гараас оруулах өгөгдлийг шалгах нь SQL Injection халдлагаас хамгаалах хамгийн чухал хэсэг юм. Сайн загварын тусламжтайгаар бүх шинэ програмдаа гараас оруулах өгөгдөл шалгах ажлыг хийж өгнө. Сайн загвар гэдэг нь query дэх өгөгдөлд хялбар, “аюулгүй” зам тодорхойлохыг хэлдэг. Мөн өмнөх кодоо шалгах хэрэгтэй. Мэдээж серверээ тогтмол шалгаж байвал зохино.
2. Ашиглагдахгүй байгаа stored procedure болон функцыг устгах,администратор хандах эрхтэй байх
3. Системийн обьектуудын “public” хандалтыг өөрчлөх, хасах
4. Бүх хэрэглэгчийн эрхийн хувьд нууц үгийн чадлыг шалгах
5. Өмнө нэвтэрч холбогдсон серверүүдийг хасах
6. Ашиглагдаагүй сүлжээний протоколуудыг идэвхгүй болгох
7. Серверт firewall хийж, зөвхөн итгэлтэй үйлчлүүлэгчид ханддаг болох
l SQL Injection илрүүлэх, сануулах
SQL injection оролдлогуудад дараах хариу үйлдэл хийж болно.
l Хадлага хийх оролдлогуудыг тэмдэглэх
l Цахим шуудангаар аюулын мэдээ хүлээн авах
l Халдлага үйлдсэн IP хаягийг блоклох
l Хариу сануулсан алдааны мессеж буцаах. Жишээ нь, “Анхааруулга: Програм буруугаар ашиглах гэсэн оролдлогыг илрүүллээ. Халдлага хийх болзошгүйг тогтоолоо. Хуулийн дагуу арга хэмжээ авах болно” гэх мэт.
Эдгээр хамгаалалтуудыг хийсэн тохиолдолд таны програм болон вэб SQL injectionхалдлагаас тодорхой түвшинд хамгаалагдах болно.
Энэ бол вэб сайт, програмуудад байдаг хамгийн түгээмэл сул тал. Энэ нь өгөгдлийн сан болон вэб серверийн асуудал биш, харин вэб болон програм хөгжүүлэхтэй холбоотой гардаг алдаа юм. Харамсалтай нь ихэнх програм зохиогчид үүнд анхаарал хандуулдаггүй. Дээр нь интернэтэд тавьсан вэб болон програмын шийдлүүд нь дээрх төрлийн халдлагаас хангалттай сэргийлж чаддаггүй. Дэлхийн нийт вэб болон програмын 60 хувь нь SQL injection халдлагаас сэргийлэгдээгүй байдаг гэсэн судалгааны дүн бий.
SQL injection бол програм болон вэбийг өгөгдлийн сантай холбогдох үед гардаг хамгаалалтын сул талыг ашиглан програм болон вэб сайтад халдах арга юм. Энэхүү халдлагыг хийхдээ хэрэглэгчийн гараас оруулах өгөгдөлд мөр (string) төрлийн тусгай тэмдэгтүүд агуулсан SQL команд (statement) оруулдаг. Энэ нь програмчлалын хэл буюу скрипт хэлийг хамтад нь ашиглах үед үүсдэг.
string утга нь програмчлалын хэл бүр дээр өөр боловч .net c# хэлний хувьд “” болно. Жишээлбэл, “Сайн байцгаана уу!”
Жишээ 1.
Ойлгомжтой тайлбарлах үүднээс дараах жишээн дээр хэрхэн ажилладгийг харуулъя. Дараах програмын кодын мөр нь халдлага хийх боломж бүхий сул талтай.
statement := "SELECT * FROM users WHERE name = '" + userName + "';"
Дээрх SQL код нь хэрэглэгчийн (users) хүснэгтээс тухайн хэрэглэгчийн нэр бүхий мэдээлэл байгаа эсэхийг шалгах зорилготой. Гэвч “userName” хувьсагчийг буруу байдлаар ашиглах тохиолдолд энэхүү SQL командыг ашиглан уг кодыг зохиогчийнбодсоноос өөр аргаар ашиглаж болно. Жишээлбэл “userName” хувьсагчийг:
‘a' or 't'='t’
гэж өөрчилбөл өмнөх SQL команд дараах хэлбэртэй болно:
SELECT * FROM users WHERE name = 'a' or 't'='t';
Энэ кодыг програмд нэвтрэхэд ашиглавал 't'='t' үргэлж үнэн байх тул хүссэн үедээ хүссэн хэрэглэгчийн нэрээр нэвтрэх боломжтой болно гэсэн үг.
MS SQL сервер зэрэг зарим SQL серверийн хувьд алдаагүй SQL командыг иймэрхүү аргаар болон хэд хэдэн statement-ийг нийлүүлэх замаар оруулж болно. Доорх жишээнд хэрэглэгчийн хүснэгтийг хэрхэн устгаж болохыг харж болно. Мэдээжхэрэглэгч бүрийн мэдээллийг харуулах боломжтой.
a';DROP TABLE users; SELECT * FROM data WHERE name LIKE '%
Дараах оруулсан өгөгдөлийн дагуу гүйцэтгэгдэх SQL statement харуулбал:
SELECT * FROM users WHERE name = 'a';DROP TABLE users; SELECT * FROM data WHERE name LIKE '%';
Бусад SQL серверүүд аюулгүй байдлын үүднээс тухайн нэг SQL query-д нэгэн зэрэг хэд хэдэн SQL командыг биелүүлэх боломжийг хаасан байдаг. Гэвч энэ нь ялгаатай query-нүүдийг оруулж өгөхөөс сэргийлэх боловч тухайн query-г өөрчлөхөөс хамгаалж чадахгүй.
Жишээ 2.
SQL statement-д тоон талбар ашиглагдах үед програм зохиогч хэрэглэгчээс оруулж өгсөн өгөгдөл тоо эсэхийг шалгах шалгалт хийхгүй бол дараах нөхцөл байдал үүснэ.
statement := "SELECT * FROM data WHERE id = " + a_variable + ";"
Үүнээс харахад програм зохиогч a_variable “id” талбарт харгалзах тоо болгон ашигласан болохыг харж болно. Гэвч “string” бичигдэж болж байвал тусгай тэмдэгтүүд ашиглахгүйгээр дараах байдлаар a_variable-ийг өөрчилбөл:
1;DROP TABLE users
Үр дүнд нь “users” хүснэгтийг устгах бөгөөд SQL маань дараах хэлбэртэй болно:
SELECT * FROM data WHERE id = 1;DROP TABLE users;
Програм болон вэб дотроосоо SQL injection халдлагаас хэрхэн хамгаалах вэ?
.NET C# хэлний хувьд ADO.NET SqlCommand (Микрософт SQL серверийн хувьд) эсвэл OracleCommand (Ораклийн өгөгдлийн сангийн серверийн хувьд) обьектын хувьд дараах кодыг засварлан SQL injection халдлагаас сэргийлж болно.
using( SqlConnection con = (acquire connection) ) {
con.Open();
using( SqlCommand cmd = new SqlCommand("SELECT * FROM users WHERE name = '" + userName + "'", con) ) {
using( SqlDataReader rdr = cmd.ExecuteReader() ){
...
}
}
}
Дээрх кодыг ашиглахын оронд дараах кодыг ашиглах хэрэгтэй. Үүнд:
using( SqlConnection con = (acquire connection) ) {
con.Open();
using( SqlCommand cmd = new SqlCommand("SELECT * FROM users WHERE name = @userName", con) ) {
cmd.Parameters.AddWithValue("@userName", userName);
using( SqlDataReader rdr = cmd.ExecuteReader() ){
...
}
}
}
Java-гийн хувьд:
String selectStatement = "SELECT * FROM User WHERE userId = ? ";
PreparedStatement prepStmt = con.prepareStatement(selectStatement);
prepStmt.setString(1, userId);
ResultSet rs = prepStmt.executeQuery();
гэсэн бичлэгийг ашиглавал халдлагад өртөх аюул харицангуй багасна.
Өгөгдлийн сангийн талаас халдлагаас хэрхэн хамгаалах вэ?
Аюулгүй байдлын эрх
Энэ бол өгөгдлийн сан дээр аюулгүй байдлын эрхийг тохируулж өгөх тохиолдолдхийсэн байх ёстой хамгийн наад захын зүйл юм. Хэдхэн програмын хувьд тухайнпрограм хүснэгт болон өгөгдлийн санг устгах эрх олгох шаардлагатай байдаг бөгөөд шаардлагагүй програмд энэ эрхийг хасч өгөх хэрэгтэй.
Үүнийг ашиглан SQL injection халдлагын асуудлыг шийдэхгүй боловч бодит аюулыг багасгах боломжтой.
Stored procedures
Ихэнх өгөгдлийн сангууд stored procedure-ийг дэмждэг. SQL-ийг програмын хэсэгт динамикаар үүсгэж ашиглахаасаа илүүтэйгээр stored procedure ашиглах нь аюул багатай. Жишээлбэл, оруулж байгаа өгөгдлийг параметрчилж өгөх, төрлийг хатуу мөрддөг (шалгадаг) болгосноор хэрэглэгчийн оруулах өгөгдлийг маш сайн шүүхээс(filter хийхээс) гадна програм stored procedure руу хандах эрх байхаас биш үндсэн өгөгдлийн сан руу хандах эрх байдаггүй. Үүний тусламжтайгаар програм stored procedure-д тусгаснаас илүү үйлдэл хийх боломжийг хаана.
Гэвч stored procedure ашиглах нь code injection асуудлыг шийдвэрлэхгүй. Учир нь хэрэв хэрэглэгчийн гараас оруулах өгөгдөл параметрчилагдаагүй, эсвэл filter хийгдээгүй тохиолдолд дараах байдлаар халдаж болно. Үүнд,
GET_PASSWORD(userName) ба GET_USER(userName, password) гэсэн 2 stored procedure өгөгдсөн гэж үзвэлтохиолдолд халдагч GET_USER рүү доорх аргыг ашиглан халдлага хийх боломжтой. Үүнд: password-ийг зөвхөн тусгай тэмдэгтээс хамгаалаагүй
GET_USER('admin', '' || GET_PASSWORD('admin') || '').
Multi-statement халдлагаас сэргийлэх
MySQL С клиент сангийн стандарт query аргачлал нэг оролтонд нэгээс олон query биелэгдэхээс сэргийлдэг болохыг дахин сануулъя. Гэвч ердийн хэрэглэгчийн оруулсан тусгай тэмдэгт (данхаалт гэх мэт) агуулсан өгөгдлөөс болж алдаатай бичигдсэн SQL синтаксын дагуу програмд дараах алдаа, зарим халдлага гарах боломжтой. Жишээлбэл, вэб сайт дээр байгаа username-тэй холбоотой мэдээллийг гаргадаг жагсаалт байна гэж үзье. Биелэгдэх query нь:
SELECT * from items where username='$username';
Энэ тохиолдолд тусгай янзалсан username-ийг ашиглан бүх хэрэглэгчийн талаарх бүх мэдээллийг гаргая гэвэл:
' or username is not null or username='
Дээрх кодыг ашиглан дараах SQL statement үүснэ:
SELECT * from items where username='' or username is not null or username='';
Дээрх хаалтыг хассанаар SQL injection халдлагын аюулаас бүрэн сэргийлж чадахгүй. Таны query дараах хэлбэртэй байна гэж үзвэл:
SELECT * from items where userid=$userid;
$userid-ийг тоон утга гэж тооцсон боловч шалгаагүй явсан гэж үзвэл энэ тусгай бэлдсэн userid дахин бүх хэрэглэгчийн талаарх мэдээллийг гаргана:
33 or userid is not null or userid=44
Таны харж байгаагаар нэг ч хаалт байхгүй байсан ч дараах query үүснэ:
SELECT * from items where userid=33 or userid is not null or userid=44;
Хамгийн шилдэг хамгаалалт бол мэдэгдэж байгаа аюултай өгөгдөл оруулалтыг хар жагсаалтанд оруулжалтын “цэвэр” жагсаалтыг гаргах хэрэгтэй. Жишээлбэл хэрэв та өмнөх халдлагаас хамгаалахыг хүсвэл userid хувьсагчийн тоо агуулсан эсэхийг шалгах хэрэгтэй: сэргийлэхээсээ илүү зөвхөн мэдэгдэж байгаа аюулгүй өгөгдөл оруул
if(!ctype_digit($userid)){ die("Invalid characters in userid."); }
Литералын хүчингүй болгох
SQL injection аюулаас өгөгдлийн сангийн engine ‘литералыг хүчингүй болгох’ хэрэгсэлтэй байх тохиолдолд бүрэн сэргийлж болно. Литералыг хүчингүй болгоно гэдэг нь текст болон тоон литерал SQL statement-ийн нэг хэсэг болохыг зөвшөөрөхгүй байх өгөгдлийн сангийн engine-ийн төлөв байх ба зөвхөн placeholder зөвшөөрөгдөнө. Иймээс дараах төрлийн statement:
SELECT * FROM USER WHERE NAME='Smith'
SELECT * FROM ITEMS WHERE USERID=2
өмнө дурдсан төлөвт зөвшөөрөгдөхгүй (өгөгдлийн сангийн engine алдааны мэдээлэл буцаана). Query дараах хэлбэртэй бичигдэнэ:
SELECT * FROM USER WHERE NAME=?
SELECT * FROM ITEMS WHERE USERID=?
Литералыг хүчингүй болгосноор placeholder-ийг ашиглахаас өөр аргагүй болно. (Placeholder гэдэг бол математикт олонлогийн ямар ч элементийн нэрээр солигдож болохыг илэрхийлэх дүрс юм)
Үүнээс болж өмнө дурдсан SQL injection халдлагын төрлүүд энэ төлөвт боломжгүй болно.
Одоогийн байдлаар зөвхөн нэг өгөгдлийн сангийн engine (H2 өгөгдлийн сангийн engine) литерал хүчингүй болгохыг дэмжиж байгаа бөгөөд технологи ньпатентлагдаагүй байна. Програмын SQL injection халдлагаас сэргийлэхийн тулд одоогоор бэлэн болоогүй байгаа энэ хэрэгслийг ашиглах шаардлагагүй болов уу.Үүний оронд уг хэрэгслийг дэмждэг өгөгдлийн санг уг төлөвт оруулан нэгжийн тест хийхэд хангалттай.
SQL Injection халдлагаас хамгаалах хамгийн сайн арга
Гараас оруулах өгөгдлийг шалгах нь SQL Injection халдлагаас хамгаалах хамгийн чухал хэсэг юм. Сайн загварын тусламжтайгаар бүх шинэ програмдаа гараас оруулах өгөгдөл шалгах ажлыг хийж өгнө. Сайн загвар гэдэг нь query дэх өгөгдөлд хялбар, “аюулгүй” зам тодорхойлохыг хэлдэг. Мөн өмнөх кодоо шалгах хэрэгтэй. Мэдээж серверээ тогтмол шалгаж байвал зохино.
- Өгөгдлийн сантай ажиллахдаа stored procedure ашиглах
- Параметрчилэгдсэн API-гаар stored procedure дуудах
- Оруулах бүх өгөгдлийг тусгай арга замаар шалгах
- “Бага эрх” зарчмыг баримтлах буюу query төрөл тус бүрт эрх тодорхойлох
- Оруулах өгөгдлийг шалгах
- “Зөвхөн сайныг зөвшөөрөх” шүүлтүүр ашиглах буюу оруулах өгөгдөл нь тообайгаа тохиолдолд хадгалахын тулд тоон хувьсагчийг кодондоо ашиглах
- Програмд алдаа гаргаж болохоор өгөгдлийг орхиж, өөрчлөхийн оронд тухайнөгөгдлөөс татгалзах
- “Програм зохиогч бүрийн мэдэх аюултай зүйлсээс хамгаалах” шүүлтүүрийг хэрэгжүүлэх. Жишээлбэл: “select”, “insert”, “update”, “shutdown”, “delete”, “drop”, “--”, “” эдгээрийг програмаас хүлээн авахгүй байх
- Серверээ шалгах
2. Ашиглагдахгүй байгаа stored procedure болон функцыг устгах,администратор хандах эрхтэй байх
3. Системийн обьектуудын “public” хандалтыг өөрчлөх, хасах
4. Бүх хэрэглэгчийн эрхийн хувьд нууц үгийн чадлыг шалгах
5. Өмнө нэвтэрч холбогдсон серверүүдийг хасах
6. Ашиглагдаагүй сүлжээний протоколуудыг идэвхгүй болгох
7. Серверт firewall хийж, зөвхөн итгэлтэй үйлчлүүлэгчид ханддаг болох
l SQL Injection илрүүлэх, сануулах
SQL injection оролдлогуудад дараах хариу үйлдэл хийж болно.
l Хадлага хийх оролдлогуудыг тэмдэглэх
l Цахим шуудангаар аюулын мэдээ хүлээн авах
l Халдлага үйлдсэн IP хаягийг блоклох
l Хариу сануулсан алдааны мессеж буцаах. Жишээ нь, “Анхааруулга: Програм буруугаар ашиглах гэсэн оролдлогыг илрүүллээ. Халдлага хийх болзошгүйг тогтоолоо. Хуулийн дагуу арга хэмжээ авах болно” гэх мэт.
Эдгээр хамгаалалтуудыг хийсэн тохиолдолд таны програм болон вэб SQL injectionхалдлагаас тодорхой түвшинд хамгаалагдах болно.
Энэ бол вэб сайт, програмуудад байдаг хамгийн түгээмэл сул тал. Энэ нь өгөгдлийн сан болон вэб серверийн асуудал биш, харин вэб болон програм хөгжүүлэхтэй холбоотой гардаг алдаа юм. Харамсалтай нь ихэнх програм зохиогчид үүнд анхаарал хандуулдаггүй. Дээр нь интернэтэд тавьсан вэб болон програмын шийдлүүд нь дээрх төрлийн халдлагаас хангалттай сэргийлж чаддаггүй. Дэлхийн нийт вэб болон програмын 60 хувь нь SQL injection халдлагаас сэргийлэгдээгүй байдаг гэсэн судалгааны дүн бий.
2013-03-18
Компьютер тоглоомын талаарх саналаа хуваалцахуй...
6 жилийн өмнө ингэж бичиж байжээ. Одоо нөхцөл байдал өөрчлөгдөөгүй байгаа байх гэж бодож байна. Энэ чиглэлээр үйл ажиллагаа эрхэлдэг төрийн болон төрийн бус байгууллагууд нүдэнд үзэгдчихээр юм тун чиг цөөхөн хийсэн юм шиг.
За ингээд надад байгаа сайн, муу мэдээний муугаас нь эхэлье.
Үүнийг бичигч миний бээр анх 7 настай байхдаа өмнөд хөршөөс ихээр орж ирсэн тоглоом тоглуулагчаар хоёр хэмжээст ялаа буудах (Galaxy), теннис (Ping Pong) мэтийн тоглоомуудаар “тоглоомын гараагаа” эхэлсэн нэгэн. Улмаар 12 настайгаасаа Sega, 15 настайгаасаа Sony Playstation, 16 наснаасаа PC тоглоом, товчоор бол өнөөг хүртэл “тасралтгүй” тоглож байна. Иймээс ер нь компьютер тоглоом гэж юу болох, тоглодог хүмүүс нь ямар хүмүүс байсан, байгаа болон болох талаар өөрийн санал бодлоо илэрхийлэх үүднээс энэхүү нийтлэлийг бичиж байна.
Өдгөө компьютер тоглоом эрчимтэй хөгжиж, гурван хэмжээст Warcraft3: The Frozen Throne, Prince of Persia, Call of Duty 2, FIFA2007 зэрэг тоглоомууд олны анхаарлыг татаж байна. Анх хүмүүс компьютер тоглоомыг зугаагаа гаргах, цаг нөхцөөх, сонирхох замаар тоглодог байсан бол өнөөдөр мэргэжлийн тамирчин болох, мөнгө олох зорилго өвөрлөн тоглодог болжээ.
Дэлхий дахинаа компьютер тоглоомчид өөрсдийгөө кибер тамирчин хэмээн нэрийдэн компьютер тоглоомын тэмцээн олимпийн хэмжээнд зохион байгуулах болжээ. Зарим кибер тамирчны жилийн орлого 1 сая ам.долларт хүрч, тэмцээнүүдийнх шагналын сан ч гэсэн төдий хэмжээгээр өсч байна.
Дэлхийд хүчээ авсан компьютер тоглоом манай улсад ямаршуухан байна вэ? Бид өнөөдөр хаана, хаашаа явна вэ? Статистикийн мэдээнээс үзвэл өнөөдөр манай улсад 170 гаруй PC тоглоомын газар, интернэт кафе байдаг аж. Эдгээр төвүүдэд дунд сургуулийн сурагчид, оюутнууд, 25-30 насны залуучууд гол төлөв тоглодог. Зарим PC тоглоомын төвүүд нь “байнгын үйлчлүүлэгчид” буюу өдөр шөнөгүй тоглоод суудаг бүлэг залуус, хүүхдүүдтэй болсон байна. Түүнчдэн зарим тоглоомчид ганцаараа болон баг болон мөрийтэй тоглох, эсвэл тэмцээнд оролцох бэлтгэл хийдэг болжээ.
Гэвч аливаа зүйл сайнтай, муутай байдгийн нэгэн адилаар компьютер тоглоомыг тойрсон төрөл бүрийн асуудал бий. Уншигч та ч гэсэн компьютер тоглоомын сөрөг талыг баримт нотолгоотойгоор баталсан, нөгөөтэйгүүр тоглоомын ач холбогдлыг магтан дуулсан мэдээ, өгүүлэлтэй нэг бус удаа таарсан буй заа. Манайханд тоглоомоос улбаалан дараах асуудлууд гарч байна гэж би боддог.
- Өнөөдөр тоглоомын газруудад эцэг эхийн хараа хяналтаас гадуур ердөө л 9, 10 настай бяцхан хүүхдүүд томчууд тоглоход ч хэцүү гэмээр хүчирхийлэл, түрэмгийлэл, алаан хядаан, харгислал бүхий цус урсгасан хэрцгий тоглоомыг тоглож байгаа нь тун эмгэнэлтэй.
- Зарим тоглоомчид архинд донтдогийн нэгэн адилаар компьютер тоглоомонд донтож байна. Донтох гэдэг нь хий юм хардаг, эсвэл компьютер тоглоом тоглохын төлөө юу ч хийхээс буцахгүй (тоглоом тоглох мөнгө олох, цаг гаргахын тулд эцэг эхдээ, бусдад худал хэлдэг) болсон байна.
- Эрэгтэй сурагчид сургууль дээрээ хичээл номоо бус, компьютерийн тоглоом ярьдаг, СД болон код солилцдог, “туршлагаа хуваалцдаг”, хичээлээ хийдэггүй, давтдаггүй тийм нэгэн нийтлэг дүр зураг дунд сургуулиуд дээр та харж болно.
- Компьютер тоглодог хүмүүс нэг тоглохоороо дор хаяж нэг цаг, заримдаа бүр 10 цаг хүртэл тоглодог. Хонох бол хэвийн үзэгдэл болсон гэж хэлж болно. Энэ тохиолдолд компьютерийг удаан хугацаагаар хэрэглэхэд хүний эрүүл мэндэд сөрөг нөлөөтэйг тоглогчид болон тоглуулагчид хэн хэн нь мартдаг нь харамсалтай. Хөдөлгөөний дутагдалд орох, гар сарвууны өвчтэй болох, харааны гажигтай болох зэрэг олон сөрөг асуудал бий.
Одоо сайн мэдээгээ дуулгая.
- Хүүхдийн оюуны хөгжилд эерэгээр нөлөөлдөг. Гэхдээ бүх тоглоомууд биш шүү.
- Тодорхой хэмжээгээр тоглодог хүмүүс нэг хамт олон болох буюу найз нөхөрлөлийг үүсгэдэг. Хамт олны уур амьсгалыг бүрдүүлдэг гэсэн үг.
- Кибер тамирчин буюу мэргэжлийн тоглоомчин нь спортын бүх сайн сайхан чанаруудыг эзэмшдэг.
- Танин мэдэхүйн ач холбогдолтой. Жишээлбэл, онгоц удирдах тоглоом тоглож байх үед яг дотор нь сууж байгаа юм шиг орчинд онгоцоо удирдах тул энэ талаар тодорхой хэмжээний ойлголт авч болно
Ингэхэд дээр дурдсан компьютер тоглоомын муу муухай талаас хүмүүсийг сэргийлэх, сайн сайхан талыг сурталчлах ажлыг хэн хийх вэ? Үүнийг компьютер тоглоомын сайн мууг мэдэх туршлагатай хүмүүсийн тусламжтайгаар холбогдох байгууллагууд хийх ёстой болов уу. Үүний нэг бол компьютер тоглоомчдыг төлөөлдөг байгууллага болох Монголын Кибер Спортын Холбоо гэж би боддог. Гэвч энэ байгууллагын үйл ажиллагаа нь компьютер тоглоомын тэмцээн зохион байгуулахаас цааш хэтэрдэггүй нь харамсалтай. Зүй нь тоглоомын төвүүдийн ажилтнуудад эрүүл ахуйн сургалт явуулах, компьютерээс хэрхэн эрүүл мэндээ хамгаалах талаар сурталчилгаа явуулах зэргээр ажиллах хэрэгтэй юм шиг.
Эцэст дүгнэн хэлэхэд өнөөдөр манай улсын компьютер тоглоомчдын байдал эгзэгтэй үедээ байгаа бөгөөд хатуухан хэлэхэд нэг бол кибер спорт рүү шилжих, эсвэл эсвэл хүүхэд залуусаа компьютер тоглоомонд алдах ийм л 2 ирээдүй хүлээж байна.
2013-03-16
Монгол тоолол хийгээд Чингис хааны төрсөн он тэргүүтний тухайд
Мэдүүштэй нийтлэл байна. Эх сурвалж: http://news.gogo.mn/r/73709
XIII-XIV зууны дэлхийн дахины түүхийг голлон бичигсэд нь Монголчууд агаад тэр цагийн Монголын түүх гэвээс дэлхий дахины түүх болой. Тиймээс тэр үеийг түүхчид "Монголын эрин", "Монголын үе" хэмээн нэрийддэг. Хэдийгээр Монголын түүхэнд нэлээд гайгүй судлагдсан нь Их Монгол Улсын үе гэж болох боловч одоогоор бид тэрхүү далай их түүхийн эрэг ирмэг төдийхөнд хүрч хөлгүй их усан дайдынх нь хөвөөнд хөлөө дүрэх төдийхөн зогсож буй бөлгөө.
Тиймээс бидэнд судалж тодотгох зүйл алхам тутамд тохиолдож буйн нэг нь түүх сударт тэмдэглэгдсэн он цагийг орчин үеийн нийтийн тоололд үнэн зөв хувилган таацуулах асуудал юм.
Дорно дахины цаглабарууд болох 12 жилийн тооллын хэлбэр Хүннү буюу тэр цагийн нүүдэлч, малчдаас гаралтай гэж судлаачид үздэг агаад улс үндэстэн бүр өөр өөрийн амьдралын хэв заншилд тохирсон цаг тооллын хувилбар, тогтолцоотой байсан билээ. Дундад эртний тэртээ нэгэн цагт дэлхий дахиныг тэргүүлэн төвшитгөж асан Монголчууд ч эртний соёлт улс үндэстний нэгэн адил мөн өөрийн гэсэн цаглабар, он тоололтой байсан нь түүх сударт хадгалагдан үлджээ.
Гагцхүү түүнийгээ өрлөг түүхийн харанхуй манан, цагийн сүүдэрт төөрөгдөн нэгээхэн хэсэгтээ умартаж орхисон нь өдгөө биднийг будилж мунгинахад хүргэх нэгэн хүчин зүйл болж байна.
Чингэхийн үндэс суурь нь Монголчууд өөрийн гэсэн өвөрмөц цаглабар, зурхайтай байсан гэдгийг ор тас мартаж орхиод шарын шашинаар дамжин орж ирсэн гадаадын он тооллыг, тухайлбал билгийн тооллыг (Төгс буянтын болон "Шар" зурхайг) өөрийн мэт сэтгэж, Монгол үндэсний хийгээд тэдгээр тооллын ялгаа зөрөөг ажиглахаа байсан явдал юм. Дашрамд өгүүлэхэд энэ нь “шарын шашин”-ыг “Монгол үндэсний шашин” хэмээн зарим хүмүүн ойлгох болсонтой агаар нэгэн гэж болно.
Одоогийн манай мөрдөж буй билгийн тооллын арга 1027 оноос үүдэлтэй агаад бид өмнө нь түүнийг Монголтойгоо шууд холбон ойлгож ирсэн нь дээрх алдаанд хүргэснийг өгүүлэх нь илүүц биз. Гэтэл үнэндээ тэр нь түүнээс бүр өмнө үүдсэн зүйл бөгөөд 1027 онд Монголд нэвтэрсэн ч юм биш. Харин Энэтхэгийн мэргэдийн зохиосон Калачакра буюу "Цагийн хүрдэн" хэмээх литийг орчуулан Түвдэдээ нэвтрүүлж эхэлсэнээс үүтгэлтэй ажээ. Тэрхүү тооллын тогтолцооны гол онцлог нь эртний нүүдэлч, малч аймгаас үүдэлтэй 12 жилийн нэр хэлбэрийг авч, самгардиас равжун /жаран/ болон таван махбод, эр эм хүйсээр жилүүдийг ялгадаг аргыг тусган, түвдийн өндөрлөг байгалийн онцлогийг харгалзан тооцож жилийн эхийг өвлийн тэргүүн cap гэж үзэж хулгана сарыг эхлүүлсэнд оршиж байв.
Лавшруулан өгүүлэхэд билгийн тоолол Монголд 1027 онд нэвтрээгүй, Монголтой огт хамаагүй зүйл юм. Түүхч, зохиолч Н.Нагаанбуу тэргүүтэн судлаачдын тодорхойлсноор нанхиад гаралтай шар зурхай нь манжийн төрийн эзэгнэлээр Монголд 1704 оноос, түвдээс уламжлалтай "Төгс-буянтын лит" нь 1789 оноос тус тус нэвтэрч эхэлсэн түүхтэй ажээ. Тиймээс 1700 оноос өмнөх Монголын түүх судар, ялангуяа Монголын нууц товчоонд дурьтгаж буй он цагийг харьцуулсан хувиргалт хийлгүйгээр шууд "Төгс буянт"-ын юм уу "Шар зурхай"-н алиныг ч баримталж бичиглэн тодорхойлох үндэсгүй байна.
Монгол тоолол нь улирал болон өдрөө нарны тооллоор, тэндээс эхлэх сарын хугацааг тэнгэрийн сараар, шөнийн хугацааг од мичдийн байрлал хөдөлгөөнөөр тооцдог иж бүрэн шинж тэмдэг дохионд үндэслэдгээрээ билгийн болон аргын тооллоос ялгамжаатай ажээ.
Монгол тооллын шинэ он нь намар эхэлдэг байсан нь бодитой зүйл. Лавтайяа XVIII зууныг хүртэл жилийн эхнийг тийнхүү намар тэмдэглэдэг буюу тоогоор өгүүлвэл жилийн эхэн-1 дүгээр cap нь одоогийн нийтийн тооллоор бол 9 дүгээр сард тохиодог байж. Харин тэр үед Зүрчиний Алтан улс, Хан үндэсний Сүн улс одоогийнх шигээ өвлийн улирлын 2 дугаар сард шинэлдэг байж. Хоёр өөр тооллын он цагийн илтэд зөрүүтэйг өгүүлсэн домог түүх ч бий. Тэрхүү домогт: "Чингис хаан Алтан улстай 5 сард хүч үзье хэмээн болзоо тогтоож гэнэ. Тэгээд Алтан улсынхан бэлтгэлээ хангаж завдаагүй байсан 1 сард нь Чингис хаан дайран оржээ. Алтан улсын хаан ихэд сандарч: -Таван сард дайтахаар тогтсон биш билүү? Оны эхэнд нийтээр баясаж цэнгэн бүхий 1 сард яагаад байлдаан үүсгэв? гэж элч илгээн асуулгажээ. Тэдэнд Чингис хаан: -Манай Монголчууд намар шинэлдэг, энэ бол болзсон 5 cap мөн. Адуу мал турж эхэлсэн, агаар тэнгэр хүйтэн ч зорьж ирэв. Одоо чамтай байлдах ёстой гэжээ. Тэгээд санамсаргүй байсан Алтан улсыг ихэд мохоон ялсан" хэмээн өгүүлдэг. Хэдийгээр энэ нь домог боловч үнэн амьдралаас эхтэй нь илэрхий бөгөөд Алтан улсын ихэс дээдэс Монголчуудын шинэ он намар эхэлдгийг саналгүй ихэмсэглэснээс ялагдсаныг тодорхой дурджээ.
Мөн одоогийн түүх бичлэгтээ хэрэглэж буй тооцоо, тоолол маань мадагтай болох нь сурвалж судалгааны явцад ч анзаарагддагийг хэлэх ёстой. Ганц жишээ л гэхэд Чингис хаан Алтан улстай анх 1211 оноос дайтаж эхэлсэн гэж гадаад, дотоодын түүхийн судалгааны бүхий л зохиол, бүтээлд бичсэн байдаг. Гэтэл "Алтан гүрний судар" хэмээх Зүрчидийн түүхэн сурвалжид 1210 онд Монголчууд довтолж эхэлсэн гэж тов тодорхой өгүүлсэн байна. Энэ бол бид түүхийн он цагийг тогтоон тодотгохдоо хуудуутай арга хэрэглэж буйн нэгээхэн нотолгоо гэж болно.
Нөгөө талаар энэ мэт зөрөө ялгаа нь дээрх домогт дурдсанчлан Монгол тооллын учрыг үл ухаарснаас Хятадын өвөг дээдэс самууран ялагдсан лугаа адил бид ч мөн үл ухварлан төөрөгдөж буйн илэрхийлэл гэлтэй.
Дээр өгүүлсэнчлэн жилийн эхнийг Монгол болон түвд, хан үндэстэн намар, өвөл хоёр өөр цагт тэмдэглэдгээс гадна cap бүрийн нэр нь ч одоогийн билгийн тооллынхоос өөр байгаа нь Монголчууд өөрийн гэсэн өвөрмөц тоололтой асаныг батлах бас нэг баримт. Монгол тооллын улирал нь нарны замаар тодорхойлогддог тул өдөр, шөнийн инцэл болох өнөөгийн тооллын 9 дүгээр сарын 22-нд намрын тэргүүн "Хувь cap буюу Монголын 1 дүгээр сар" гарснаар тооцдог байж. Үүнээс улируулан тооцвол монгол тооллын 2 дугаар cap буюу "Хужир сар" нь одоогийн 10 дугаар сараас, "Өөлжин хэмээх 3 дугаар cap" нь өнөөгийн 11 дүгээр сараас, "Хөхүй хэмээх 4 дүгээр cap" нь 12 дугаар сараас гэх мэтчилэн дэс дараалан үргэлжлэх саруудыг "Улар", "Ойр", "Гур", "Буга", “Хуц", “Халуун", “Хөглөр", "Бороон" гэж нэрлэдэг байна.
Чингээд бодохул Монголын нууц товчооны төгсгөлд "Хулгана жил гурван сард Хэрлэний хөдөө арлын Долоон болдог, Шилхэнцэг хоёрын зуур ордос бууж бүхүйд бичиж дуусав" гэснийг "Хулгана жилийн, одоогийн Григорийн тооллоор бол 3 дугаар сард" гэж ойлгох ёстой байна. Нөгөөтэйгүүр энл “Гурван сар” хэмээх нэр гарч буй нь Монголын нууц товчоонд дурдагдан буй үйл явдлын он цаг Монгол тооллоор тодорхойлогдсон болохын хөдөлшгүй нотолгоо юм.
Тэгэхээр бид гагц Монголын нууц товчоог бичиж дуусгасан он цаг төдийгүй, ерөөсөө Монгол нутагт Монгол тооллоо хэрэглэж байсан бүхий л үеийн түүхэн үйл явдлын он цагийг, тухайлбал билгийн тооллоор он цагийг тодорхойлох болсон XVII-XVIII зууныг хүртэл түүхэн үйл явдлын он цагийг эргэн нягтлах шаардлагатай болж байна. Энд Чингис хааны төрсөн он цаг ч мөн хамаарна.
Их хааны төрсөн оныг судлаачид 1154, 1155, 1161, 1162, 1167 гэж таван өөрөөр ярьж бичиж, тэмдэглэж ирсэн. Төрсөн cap, өдрийг нь ч мөн үндэслэлгүй, солгой ташаа мэдээ бичвэрт дулдуйдахын хамт мөнхүү нанхиад, түвд тооллын аргаар бодож "4 дүгээр сарын 16", "5 дугаар сарын 3", "5 дугаар сарын 31" гэх мэтээр тодорхойлж ирсэн билээ. Гэтэл Их эзэн Чингис хааныхаа төрсөн өдрийг Монголчууд өвлийн тэргүүн сарын шинийн 3-нд найман зууны турш тэмдэглэсээр ирсэн уламжлал одоог хүртэл хадгалагдсаар ирсэн байна. Тухайлбал, Хубилай сэцэн хааны зарлигаар тогтоосон "Дөрвөн цагийн их хурим"-ын нэг нь "Тасман тайлга" нэртэй бөгөөд түүнийг Чингис хаан Тэмүжиний хүйсийг тасмаар боож, хөөнцөг (нялхсын хүйс) нь цөшлийдсөн өдрийг тохиолдуулан хийдэг буюу Чингис хааныг төрсөн даруйд дулаан өлгий хийж онгон ямааны арьсан тасмаар боож мялаасныг дурсгаж тийн "Тасман тайлга" гэж нэрлэсэн ч гэдэг.
Юутай ч Ордос дахь Чингис хааны онгоны дархдуудын гүйцэтгэх ёстой нэн чухал ажил үүргийн нэг нь энэ тайлга байж, тэд ч ногдсон үүргээ үнэнчээр биелүүлж, жил бүрийн өвлийн тэргүүн сарын шинийн гурванд тэрхүү их тайлгыг үл тасалдуулан гүйцэтгэсээр иржээ. Ер нь Чингис хаан "өвлийн тэргүүн сарын шинийн нэгэнд (гурванд) төрсөн" гэж олон сурвалжид тэмдэглэсэн байх бөгөөд судлаач Н.Нагаанбуу тэр бүхэнд түшиглэхийн зэрэгцээ Монгол цаг тооллын учир шалтгааныг тунгаан олон жил судалж нягталсныхаа үндсэн дээр эзэн Богдын төрсөн өдрийг "1161 оны морь жилийн өвлийн тэргүүн сарын 3 буюу Григорийн тооллын 12 дугаар сарын 24" хэмээх гаргалгаа хийсэн нь бодитой тодорхойлолт гэж үзэж байна. Энэ саналыг академич Ч.Далай, Н.Ишжамц. доктор профессор Д.Базаргүр зэрэг эрдэмтэд дэмжсэн байдаг.
Эцэст өгүүлэхүй, билгийн тооллыг 1027 оноос Түвдэд хэрэглэх болсоныг Монголд мэтээр ташаарч байсныг залруулан, Түвд, Нанхиад тооллын арга дэлгэрээгүй байсан үеийнхээ түүхийг Монгол үндэснийхээ цаглабарт тулгуурлан нягтлан шүүж тодотгох цаг нэгэнт болсон. Их хааны төрсөн он сар өдрийг зарлигаар ёсчлохын ач холбогдол энд оршино.
Ж.Базарсүрэн
XIII-XIV зууны дэлхийн дахины түүхийг голлон бичигсэд нь Монголчууд агаад тэр цагийн Монголын түүх гэвээс дэлхий дахины түүх болой. Тиймээс тэр үеийг түүхчид "Монголын эрин", "Монголын үе" хэмээн нэрийддэг. Хэдийгээр Монголын түүхэнд нэлээд гайгүй судлагдсан нь Их Монгол Улсын үе гэж болох боловч одоогоор бид тэрхүү далай их түүхийн эрэг ирмэг төдийхөнд хүрч хөлгүй их усан дайдынх нь хөвөөнд хөлөө дүрэх төдийхөн зогсож буй бөлгөө.
Тиймээс бидэнд судалж тодотгох зүйл алхам тутамд тохиолдож буйн нэг нь түүх сударт тэмдэглэгдсэн он цагийг орчин үеийн нийтийн тоололд үнэн зөв хувилган таацуулах асуудал юм.
Дорно дахины цаглабарууд болох 12 жилийн тооллын хэлбэр Хүннү буюу тэр цагийн нүүдэлч, малчдаас гаралтай гэж судлаачид үздэг агаад улс үндэстэн бүр өөр өөрийн амьдралын хэв заншилд тохирсон цаг тооллын хувилбар, тогтолцоотой байсан билээ. Дундад эртний тэртээ нэгэн цагт дэлхий дахиныг тэргүүлэн төвшитгөж асан Монголчууд ч эртний соёлт улс үндэстний нэгэн адил мөн өөрийн гэсэн цаглабар, он тоололтой байсан нь түүх сударт хадгалагдан үлджээ.
Гагцхүү түүнийгээ өрлөг түүхийн харанхуй манан, цагийн сүүдэрт төөрөгдөн нэгээхэн хэсэгтээ умартаж орхисон нь өдгөө биднийг будилж мунгинахад хүргэх нэгэн хүчин зүйл болж байна.
Чингэхийн үндэс суурь нь Монголчууд өөрийн гэсэн өвөрмөц цаглабар, зурхайтай байсан гэдгийг ор тас мартаж орхиод шарын шашинаар дамжин орж ирсэн гадаадын он тооллыг, тухайлбал билгийн тооллыг (Төгс буянтын болон "Шар" зурхайг) өөрийн мэт сэтгэж, Монгол үндэсний хийгээд тэдгээр тооллын ялгаа зөрөөг ажиглахаа байсан явдал юм. Дашрамд өгүүлэхэд энэ нь “шарын шашин”-ыг “Монгол үндэсний шашин” хэмээн зарим хүмүүн ойлгох болсонтой агаар нэгэн гэж болно.
Одоогийн манай мөрдөж буй билгийн тооллын арга 1027 оноос үүдэлтэй агаад бид өмнө нь түүнийг Монголтойгоо шууд холбон ойлгож ирсэн нь дээрх алдаанд хүргэснийг өгүүлэх нь илүүц биз. Гэтэл үнэндээ тэр нь түүнээс бүр өмнө үүдсэн зүйл бөгөөд 1027 онд Монголд нэвтэрсэн ч юм биш. Харин Энэтхэгийн мэргэдийн зохиосон Калачакра буюу "Цагийн хүрдэн" хэмээх литийг орчуулан Түвдэдээ нэвтрүүлж эхэлсэнээс үүтгэлтэй ажээ. Тэрхүү тооллын тогтолцооны гол онцлог нь эртний нүүдэлч, малч аймгаас үүдэлтэй 12 жилийн нэр хэлбэрийг авч, самгардиас равжун /жаран/ болон таван махбод, эр эм хүйсээр жилүүдийг ялгадаг аргыг тусган, түвдийн өндөрлөг байгалийн онцлогийг харгалзан тооцож жилийн эхийг өвлийн тэргүүн cap гэж үзэж хулгана сарыг эхлүүлсэнд оршиж байв.
Лавшруулан өгүүлэхэд билгийн тоолол Монголд 1027 онд нэвтрээгүй, Монголтой огт хамаагүй зүйл юм. Түүхч, зохиолч Н.Нагаанбуу тэргүүтэн судлаачдын тодорхойлсноор нанхиад гаралтай шар зурхай нь манжийн төрийн эзэгнэлээр Монголд 1704 оноос, түвдээс уламжлалтай "Төгс-буянтын лит" нь 1789 оноос тус тус нэвтэрч эхэлсэн түүхтэй ажээ. Тиймээс 1700 оноос өмнөх Монголын түүх судар, ялангуяа Монголын нууц товчоонд дурьтгаж буй он цагийг харьцуулсан хувиргалт хийлгүйгээр шууд "Төгс буянт"-ын юм уу "Шар зурхай"-н алиныг ч баримталж бичиглэн тодорхойлох үндэсгүй байна.
Монгол тоолол нь улирал болон өдрөө нарны тооллоор, тэндээс эхлэх сарын хугацааг тэнгэрийн сараар, шөнийн хугацааг од мичдийн байрлал хөдөлгөөнөөр тооцдог иж бүрэн шинж тэмдэг дохионд үндэслэдгээрээ билгийн болон аргын тооллоос ялгамжаатай ажээ.
Монгол тооллын шинэ он нь намар эхэлдэг байсан нь бодитой зүйл. Лавтайяа XVIII зууныг хүртэл жилийн эхнийг тийнхүү намар тэмдэглэдэг буюу тоогоор өгүүлвэл жилийн эхэн-1 дүгээр cap нь одоогийн нийтийн тооллоор бол 9 дүгээр сард тохиодог байж. Харин тэр үед Зүрчиний Алтан улс, Хан үндэсний Сүн улс одоогийнх шигээ өвлийн улирлын 2 дугаар сард шинэлдэг байж. Хоёр өөр тооллын он цагийн илтэд зөрүүтэйг өгүүлсэн домог түүх ч бий. Тэрхүү домогт: "Чингис хаан Алтан улстай 5 сард хүч үзье хэмээн болзоо тогтоож гэнэ. Тэгээд Алтан улсынхан бэлтгэлээ хангаж завдаагүй байсан 1 сард нь Чингис хаан дайран оржээ. Алтан улсын хаан ихэд сандарч: -Таван сард дайтахаар тогтсон биш билүү? Оны эхэнд нийтээр баясаж цэнгэн бүхий 1 сард яагаад байлдаан үүсгэв? гэж элч илгээн асуулгажээ. Тэдэнд Чингис хаан: -Манай Монголчууд намар шинэлдэг, энэ бол болзсон 5 cap мөн. Адуу мал турж эхэлсэн, агаар тэнгэр хүйтэн ч зорьж ирэв. Одоо чамтай байлдах ёстой гэжээ. Тэгээд санамсаргүй байсан Алтан улсыг ихэд мохоон ялсан" хэмээн өгүүлдэг. Хэдийгээр энэ нь домог боловч үнэн амьдралаас эхтэй нь илэрхий бөгөөд Алтан улсын ихэс дээдэс Монголчуудын шинэ он намар эхэлдгийг саналгүй ихэмсэглэснээс ялагдсаныг тодорхой дурджээ.
Мөн одоогийн түүх бичлэгтээ хэрэглэж буй тооцоо, тоолол маань мадагтай болох нь сурвалж судалгааны явцад ч анзаарагддагийг хэлэх ёстой. Ганц жишээ л гэхэд Чингис хаан Алтан улстай анх 1211 оноос дайтаж эхэлсэн гэж гадаад, дотоодын түүхийн судалгааны бүхий л зохиол, бүтээлд бичсэн байдаг. Гэтэл "Алтан гүрний судар" хэмээх Зүрчидийн түүхэн сурвалжид 1210 онд Монголчууд довтолж эхэлсэн гэж тов тодорхой өгүүлсэн байна. Энэ бол бид түүхийн он цагийг тогтоон тодотгохдоо хуудуутай арга хэрэглэж буйн нэгээхэн нотолгоо гэж болно.
Нөгөө талаар энэ мэт зөрөө ялгаа нь дээрх домогт дурдсанчлан Монгол тооллын учрыг үл ухаарснаас Хятадын өвөг дээдэс самууран ялагдсан лугаа адил бид ч мөн үл ухварлан төөрөгдөж буйн илэрхийлэл гэлтэй.
Дээр өгүүлсэнчлэн жилийн эхнийг Монгол болон түвд, хан үндэстэн намар, өвөл хоёр өөр цагт тэмдэглэдгээс гадна cap бүрийн нэр нь ч одоогийн билгийн тооллынхоос өөр байгаа нь Монголчууд өөрийн гэсэн өвөрмөц тоололтой асаныг батлах бас нэг баримт. Монгол тооллын улирал нь нарны замаар тодорхойлогддог тул өдөр, шөнийн инцэл болох өнөөгийн тооллын 9 дүгээр сарын 22-нд намрын тэргүүн "Хувь cap буюу Монголын 1 дүгээр сар" гарснаар тооцдог байж. Үүнээс улируулан тооцвол монгол тооллын 2 дугаар cap буюу "Хужир сар" нь одоогийн 10 дугаар сараас, "Өөлжин хэмээх 3 дугаар cap" нь өнөөгийн 11 дүгээр сараас, "Хөхүй хэмээх 4 дүгээр cap" нь 12 дугаар сараас гэх мэтчилэн дэс дараалан үргэлжлэх саруудыг "Улар", "Ойр", "Гур", "Буга", “Хуц", “Халуун", “Хөглөр", "Бороон" гэж нэрлэдэг байна.
Чингээд бодохул Монголын нууц товчооны төгсгөлд "Хулгана жил гурван сард Хэрлэний хөдөө арлын Долоон болдог, Шилхэнцэг хоёрын зуур ордос бууж бүхүйд бичиж дуусав" гэснийг "Хулгана жилийн, одоогийн Григорийн тооллоор бол 3 дугаар сард" гэж ойлгох ёстой байна. Нөгөөтэйгүүр энл “Гурван сар” хэмээх нэр гарч буй нь Монголын нууц товчоонд дурдагдан буй үйл явдлын он цаг Монгол тооллоор тодорхойлогдсон болохын хөдөлшгүй нотолгоо юм.
Тэгэхээр бид гагц Монголын нууц товчоог бичиж дуусгасан он цаг төдийгүй, ерөөсөө Монгол нутагт Монгол тооллоо хэрэглэж байсан бүхий л үеийн түүхэн үйл явдлын он цагийг, тухайлбал билгийн тооллоор он цагийг тодорхойлох болсон XVII-XVIII зууныг хүртэл түүхэн үйл явдлын он цагийг эргэн нягтлах шаардлагатай болж байна. Энд Чингис хааны төрсөн он цаг ч мөн хамаарна.
Их хааны төрсөн оныг судлаачид 1154, 1155, 1161, 1162, 1167 гэж таван өөрөөр ярьж бичиж, тэмдэглэж ирсэн. Төрсөн cap, өдрийг нь ч мөн үндэслэлгүй, солгой ташаа мэдээ бичвэрт дулдуйдахын хамт мөнхүү нанхиад, түвд тооллын аргаар бодож "4 дүгээр сарын 16", "5 дугаар сарын 3", "5 дугаар сарын 31" гэх мэтээр тодорхойлж ирсэн билээ. Гэтэл Их эзэн Чингис хааныхаа төрсөн өдрийг Монголчууд өвлийн тэргүүн сарын шинийн 3-нд найман зууны турш тэмдэглэсээр ирсэн уламжлал одоог хүртэл хадгалагдсаар ирсэн байна. Тухайлбал, Хубилай сэцэн хааны зарлигаар тогтоосон "Дөрвөн цагийн их хурим"-ын нэг нь "Тасман тайлга" нэртэй бөгөөд түүнийг Чингис хаан Тэмүжиний хүйсийг тасмаар боож, хөөнцөг (нялхсын хүйс) нь цөшлийдсөн өдрийг тохиолдуулан хийдэг буюу Чингис хааныг төрсөн даруйд дулаан өлгий хийж онгон ямааны арьсан тасмаар боож мялаасныг дурсгаж тийн "Тасман тайлга" гэж нэрлэсэн ч гэдэг.
Юутай ч Ордос дахь Чингис хааны онгоны дархдуудын гүйцэтгэх ёстой нэн чухал ажил үүргийн нэг нь энэ тайлга байж, тэд ч ногдсон үүргээ үнэнчээр биелүүлж, жил бүрийн өвлийн тэргүүн сарын шинийн гурванд тэрхүү их тайлгыг үл тасалдуулан гүйцэтгэсээр иржээ. Ер нь Чингис хаан "өвлийн тэргүүн сарын шинийн нэгэнд (гурванд) төрсөн" гэж олон сурвалжид тэмдэглэсэн байх бөгөөд судлаач Н.Нагаанбуу тэр бүхэнд түшиглэхийн зэрэгцээ Монгол цаг тооллын учир шалтгааныг тунгаан олон жил судалж нягталсныхаа үндсэн дээр эзэн Богдын төрсөн өдрийг "1161 оны морь жилийн өвлийн тэргүүн сарын 3 буюу Григорийн тооллын 12 дугаар сарын 24" хэмээх гаргалгаа хийсэн нь бодитой тодорхойлолт гэж үзэж байна. Энэ саналыг академич Ч.Далай, Н.Ишжамц. доктор профессор Д.Базаргүр зэрэг эрдэмтэд дэмжсэн байдаг.
Эцэст өгүүлэхүй, билгийн тооллыг 1027 оноос Түвдэд хэрэглэх болсоныг Монголд мэтээр ташаарч байсныг залруулан, Түвд, Нанхиад тооллын арга дэлгэрээгүй байсан үеийнхээ түүхийг Монгол үндэснийхээ цаглабарт тулгуурлан нягтлан шүүж тодотгох цаг нэгэнт болсон. Их хааны төрсөн он сар өдрийг зарлигаар ёсчлохын ач холбогдол энд оршино.
Ж.Базарсүрэн
2013-03-15
varchar, varchar2-ийн ялгаа юу вэ? (Оракл өгөгдлийн сан)
Хэдэн жилийн өмнө хөтөлж байсан блогоо оллоо. Эндээс сонирхолтой гэж бодсон мэдээллийг та бүхэнд дахин хүргэхээр шийдлээ.
To see it in English: http://neu2st.blogspot.com/2008/03/whats-difference-between-varchar.html
Монгол хэл дээр: http://mongolcoder.blogspot.com/2008/03/varchar-varchar2.html
To see it in English: http://neu2st.blogspot.com/2008/03/whats-difference-between-varchar.html
Монгол хэл дээр: http://mongolcoder.blogspot.com/2008/03/varchar-varchar2.html
Varchar, varchar2 бол Оракл өгөгдлийн сан дээр байдаг 2 өгөгдлийн төрөл бөгөөд дараах зүйлээрээ ялгагддаг юм байна. 1-рт: Хадгалах хэмжээ, varchar - 2000 байт мэдээлэл хадгалж чаддаг бол varchar2 - 4000 байт мэдээлэл хадгалах боломжтой юм байна. 2-рт: Encoding буюу хэлний загвар сонголт, varchar бол ascii дэмждэг бол varchar2 юникодыг дэмждэг юм байна. Нэмж хэлэхэд монгол тэмдэгт бичихэд 2 байт эзэлдэг байхад англи тэмдэгт үед 1 байт эзэлдэг юм байлаа.
2013-03-14
Грекийн хямрал үүссэн шалтгаан ба 20 жилийн дараа та ямар Монгол Улсыг хүсч байна вэ?
Грекийн хямрал үүссэн үндсэн шалтгааныг энэ удаад хялбаршуулсан байдлаар тайлбарлах гэж оролдохоор шийдлээ.
Нэг жирийн айл байлаа гэж үзье. Гэр бүлийн гишүүд болохоор эхнэр, нөхөр, 2 хүүхэд. Уг айлын жилийн орлого 100 төгрөг. Энэ айлын хувьд хоёр идэхгүй, хоосон хонохгүй байхад хангалттай мөнгө. Гэвч амьдралаа улам бүр дээшлүүлэхийн тулд уг айл машин авахаар шийдлээ. Машины үнэ 50 төгрөг. Машин авсанаар унааны зардал, цаг хугацаа хэмнэхээс гадна таксиний үйлчилгээ эрхлэн илүү орлого олох боломжтой болно гэж нөхөр гэр бүлийн гишүүдээ ятгав. Уг айлд одоо бэлэн мөнгө байхгүй болохоор 10 жилийн хугацаатай жилийн 8 хувийн хүүтэй 50 төгрөгний зээл авав.
1 жил өнгөрлөө. Машин аваад олсон орлого, гарсан зардалтай тэнцсэн учраас нөхөр хэрхэн амласан нэмэлт орлогоо гэр бүлийнхэндээ харуулах вэ гэж гайхшран сууна. Бас нэмж зээлийн хүү болох 4 төгрөг төлөх ёстой байдаг. Шийдэл болохоор дахин 10 жилийн хугацаатай 8 хувийн хүүтэй 50 төгрөгний зээл авах.
Нөхөр санхүүгийн тайланг бахархалтайгаар гэр бүлийнхэндээ тавив. "Энэ жил манайх 150 төгрөгний орлоготой байлаа. Энэ бүхэн миний машин авна гэсэн гайхалтай санааны үр дүн байлаа. Мэдээж уламжлалт зардал 100 төгрөг + 4 төгрөг (зээлийн хүү) боллоо" гэж нөхөр инээмсэглэл тодруулан зарлав. Үүний дараа гэр бүлийн гишүүд асуулт тавихаас өмнө хүн болгонд 12 төгрөгт багтаан шоколод өгөх болсоныг мөн мэдэгдэв. Гэр бүлийн гишүүд баяр хөөртэйгээр алга ташив.
Эхний жилийн эцсийн зардал:
Уламжлалт 100 төгрөг
+
4 төгрөг (нийт зээлийн хүү)
+
шоколадны 12x3=36 төгрөг
+
10 төгрөг (нөхөр өөртөө урамшуулал болгон авахад гэр бүлийн гишүүд юу ч хэлсэнгүй)
=
Нийт 150 төгрөг
Жил болгон иймэрхүү маягтай явсаар байгаад 10 жилийн дараа анхны зээлийн 50 төгрөгөө төлөх цаг ирлээ. Орлого 100 төгрөг хэвээрээ, гэтэл гарч болох зардал!
Уламжлалт 100 төгрөг
Нэг жирийн айл байлаа гэж үзье. Гэр бүлийн гишүүд болохоор эхнэр, нөхөр, 2 хүүхэд. Уг айлын жилийн орлого 100 төгрөг. Энэ айлын хувьд хоёр идэхгүй, хоосон хонохгүй байхад хангалттай мөнгө. Гэвч амьдралаа улам бүр дээшлүүлэхийн тулд уг айл машин авахаар шийдлээ. Машины үнэ 50 төгрөг. Машин авсанаар унааны зардал, цаг хугацаа хэмнэхээс гадна таксиний үйлчилгээ эрхлэн илүү орлого олох боломжтой болно гэж нөхөр гэр бүлийн гишүүдээ ятгав. Уг айлд одоо бэлэн мөнгө байхгүй болохоор 10 жилийн хугацаатай жилийн 8 хувийн хүүтэй 50 төгрөгний зээл авав.
1 жил өнгөрлөө. Машин аваад олсон орлого, гарсан зардалтай тэнцсэн учраас нөхөр хэрхэн амласан нэмэлт орлогоо гэр бүлийнхэндээ харуулах вэ гэж гайхшран сууна. Бас нэмж зээлийн хүү болох 4 төгрөг төлөх ёстой байдаг. Шийдэл болохоор дахин 10 жилийн хугацаатай 8 хувийн хүүтэй 50 төгрөгний зээл авах.
Нөхөр санхүүгийн тайланг бахархалтайгаар гэр бүлийнхэндээ тавив. "Энэ жил манайх 150 төгрөгний орлоготой байлаа. Энэ бүхэн миний машин авна гэсэн гайхалтай санааны үр дүн байлаа. Мэдээж уламжлалт зардал 100 төгрөг + 4 төгрөг (зээлийн хүү) боллоо" гэж нөхөр инээмсэглэл тодруулан зарлав. Үүний дараа гэр бүлийн гишүүд асуулт тавихаас өмнө хүн болгонд 12 төгрөгт багтаан шоколод өгөх болсоныг мөн мэдэгдэв. Гэр бүлийн гишүүд баяр хөөртэйгээр алга ташив.
Эхний жилийн эцсийн зардал:
Уламжлалт 100 төгрөг
+
4 төгрөг (нийт зээлийн хүү)
+
шоколадны 12x3=36 төгрөг
+
10 төгрөг (нөхөр өөртөө урамшуулал болгон авахад гэр бүлийн гишүүд юу ч хэлсэнгүй)
=
Нийт 150 төгрөг
Жил болгон иймэрхүү маягтай явсаар байгаад 10 жилийн дараа анхны зээлийн 50 төгрөгөө төлөх цаг ирлээ. Орлого 100 төгрөг хэвээрээ, гэтэл гарч болох зардал!
Уламжлалт 100 төгрөг
+
4x10=40 төгрөг (нийт зээлийн хүү)
+
50 төгрөг (анхны зээл)
=
Нийт 190 төгрөг
4x10=40 төгрөг (нийт зээлийн хүү)
+
50 төгрөг (анхны зээл)
=
Нийт 190 төгрөг
Нөхөрт шоколад болгож өгөх мөнгө үлдсэнгүй. Хэрвээ дампуурлаа зарлахыг хүсэхгүй бол уг айл дахин 90 төгрөг олох хэрэгтэй боллоо. Нөхөр гунигтайгаар гэр бүлийнхэндээ ингэж хэлэв: "Хэрвээ бид нар гудамжинд гарахыг хүсэхгүй бол жилд 10 төгрөгөнд багтааж амьдрах хэрэгтэй боллоо. 10 төгрөгөнд багтаж амьдарна гэж байхгүй болохоор дахин уламжлал ёсоор 10 жилийн хугацаатай жилийн 8 хувийн 50 төгрөгний зээл авахаас гадна энэ удаад 60 төгрөгөнд багтааж амьдрахаас өөр аргагүй боллоо." Гэр бүлийн бусад ууртайгаар эсэргүүцлээ илэрхийлэв. Нөхөр хариуд нь: "Та нар өнгөрсөн 10 жилд жил болгон шоколад идээ биз дээ? Ижилхэн тансаглачихаад одоо надад бүх бурууг чихэх шаардлагагүй. Эсвэл бүгдээрээ гудамжинд гарах юм уу?" гэж хилэнтэйгээр хашгирав. Үүний дараа гэр бүлийн бусад гишүүдэд хэлэх үг үлдсэнгүй.
Ийнхүү энэ айл жил болгон зээлийн хүүд 40 төгрөг төлөн гудамжинд гарахгүйн тулд насаараа 60 төгрөгөнд багтаан амьдрахаас өөр аргагүй боллоо. Хэрвээ жилийн зардалаа 60 төгрөгөөс багасгаж чадвал энэ айл хэзээ нэгэн цагт зээлээ төлж дуусах байх. Гэхдээ үүнд их хугацаа шаардагдана.
Миний авсан энэ жишээнд уг айл 10 жилийн дараа ямар асуудалд орсоноо мэдлээ. Нөхөр хэрвээ нуугаад цааш үргэлжлүүлсэн бол жилийн 8 төгрөгний хүү төлөх 10 жилийн хугацаатай 100 төгрөгний зээл авахаас өөр сонголт байхгүй болно. 20 жилийн дараа байдал улам бүр хүнд болно. Зээлийн хүү 8х10=80 төгрөг ба 11-дэх зээлийн 100 төгрөг төлөх ёстой. Энэ айл орлогын 100 төгрөгөө зээлийн 100 төгрөгт төлөөд үлдсэн зээлийн хүүний 80 төгрөгний ямар нэгэн аргаар олох хэрэгтэйгээс гадна амьдрахын тулд өөр мөнгө олох хэрэгтэй болж байна.
Грекийн хувьд үүнийг барагцаагаар 20 жилийн дараа мэдсэн болохоор одоо асар их төлөөс төлж байна. Манай улс одоогийн байдлаар бол яг Грекийн замналаар явж байна. Грекээс долоон дор ч гэж хэлэхэд буруудахгүй байх. 20 жилийн дараа та ямар Монгол Улсыг хүсч байна вэ?
- Грек шиг хамаг олсон орлогоо зээлийн хүүд төлөн хамаг үнэтэй цайтай юмнуудаа гадныханд бараг үнэгүй шахуу өгөхөөс өөр аргагүй байдалд орсон улс
- Эсвэл олсон орлогоо ард иргэдийнхээ төлөө зарцуулах боломжтой ямар ч өргүй улс
2013-03-12
Уго Чавезийн үед Венесуэлд гарсан өөрчлөлтүүд
Саяхан Венесуэлийн ерөнхийлөгч Уго Чавез нас барсан билээ. Түүний үед Венесуэлд гарсан өөрчлөлтүүд:
Энэ хүн улс орноо хөгжүүлж чадсан байна уу, үгүй юу гэдэг эцсийн дүгнэлтийг та бүхэнд үлдээе.
- Нярай хүүхдийн эндэгдэл 1/3-ээр буурсан. Үүнээс улбаалан 1999 онд Венесуэлийн хүн ам 23,867,000 байсан бол 2011 онд 29,278,000 болсон
- Ажилгүйдэл 1999 онд 14.5% байсан бол 2009 онд 7.6% болон буурсан
- Нэг хүнд оногдох үндэсний бүтээгдэхүүний хэмжээ (GDP) $4,105-аас $10,801 (2011 он) болсон
- 1999 онд инфляци 23.6% байсан бол одоо 31.6% байна
- 1999 онд 1 ам. доллар 1 боливараас (Венесуэлийн мөнгөн тэмдэгт) бага байсан бол одоо 1 ам. доллар 4.3 болибар байна
- Ядуурал багассан. 1999 онд Венесуэлийн хүн амын 23.4% маш ядуу байсан бол 2011 онд 8.5% болон буурсан байна
- Хүчирхийлэл ихэссэн байна. 1999 онд хүний аминд санаатай халдсан тохиолдол 100,000 хүнд 25.0 байсан бол 2011 онд 45.1 болж өссөн байна
- Газрын тосны экспорт өссөн. 1999 онд газрын тосны экспорт $14.4 тэрбум байсан бол одоо $60 тэрбум болсон байна
Энэ хүн улс орноо хөгжүүлж чадсан байна уу, үгүй юу гэдэг эцсийн дүгнэлтийг та бүхэнд үлдээе.
2013-03-08
Програмын хувилбар оноолт
Програмд хувилбар оноож өгөх талаар хэд хэдэн арга байдгаас надад таалагдсаныг та бүхэндээ хүргэж байна. Энэ арга бол ихэнхи аргын нэгэн адил програмын хувилбар бүрт тоо оноож өгөн түүнийг ихэсгэн явдаг болно. Гэхдээ ялгаа бий. Ялгааг жишээн дээр харуулъя.
- Том - Програмд үндсэн буюу том өөрчлөлт хийсэн тохиолдолд энэ хэсгийн тоог нэмнэ.
- Жижиг - Програм бага хэмжээний буюу жижигхэн өөрчлөлт хийсэн тохиолдолд энэ хэсгийн тоог нэмнэ.
- Засвар - Програмд засвар хийсэн тохиолдолд энэ хэсгийн тоог нэмнэ.
- Төлөв - 0 (a) бол альфа төлөв, 1 (b) бол бета төлөв, 2 (rc) бол гаргах хувилбар, 3 (final) бол эцсийн хувилбар тус тус байдаг.
- Програмдаа хувилбар оноож өгөхийн ач холбогдол юунд байна вэ?
2013-03-07
Цусны бүлгээр хүний зан араншинг тодорхойлох
Жилийн өмнө япон оюутнуудтай хамт хоолонд орж байсан чинь надаас чи хэддүгээр бүлгийн цустай вэ гэж нэг нөхөр асууж байсан. Үүний улмаас энэ бичлэгийг бичсэн болно.
Зарим Япончууд болон Солонгосчууд хүний цусны бүлэгт өндөр ач холбогдол өгдөг юм байна. За ингээд дэлгэрэнгүйг мэдээлэл та бүхэнд хүргэе.
Барууны орнуудад хүний зан араншинг өрний зурхайгаар тодорхойлдог бол Япон болон азийн зарим оронд цусны бүлгээр тодорхойлдог. Анхны цусны бүлгээр хүний зан араншинг тодорхойлох оролдлого 1930-аад оны үед барууны хэт үндсэрхэг үзлийн эсрэг хийгдсэн юм байна. Учир нь тухайн үед эрдэмтэд 3-р бүлгийн цустай хүмүүс Азийн үндэстнүүд дунд их байхад кавказын буюу Барууны үндэстнүүдэд ховор байдгийг тогтоосон байна. 3-р бүлгийн цус амьтанд түгээмэл тохиолддог учраас барууны хэт үндсэрхэг үзэлтнүүд Азийн үндэстнүүдийг доорд үзэх нэг шалтаг болсон юм. Иймээс энэ талаар анх японы эрдэмтэн Масао Оомура судалгаа хийсэн болно. Судалгааны үр дүнг сонирхоцгооё.
O буюу 1-р бүлгийн цус – Дайчин
Эцэст нь хэлэхэд, “эзэн хичээвэл, заяа хичээнэ” гэдэг шиг таны зан араншин цусны бүлгээс хамаарахгүй өөрөөс тань шалтгаалах болно гэдгийг анхаарна уу.
Зарим Япончууд болон Солонгосчууд хүний цусны бүлэгт өндөр ач холбогдол өгдөг юм байна. За ингээд дэлгэрэнгүйг мэдээлэл та бүхэнд хүргэе.
Барууны орнуудад хүний зан араншинг өрний зурхайгаар тодорхойлдог бол Япон болон азийн зарим оронд цусны бүлгээр тодорхойлдог. Анхны цусны бүлгээр хүний зан араншинг тодорхойлох оролдлого 1930-аад оны үед барууны хэт үндсэрхэг үзлийн эсрэг хийгдсэн юм байна. Учир нь тухайн үед эрдэмтэд 3-р бүлгийн цустай хүмүүс Азийн үндэстнүүд дунд их байхад кавказын буюу Барууны үндэстнүүдэд ховор байдгийг тогтоосон байна. 3-р бүлгийн цус амьтанд түгээмэл тохиолддог учраас барууны хэт үндсэрхэг үзэлтнүүд Азийн үндэстнүүдийг доорд үзэх нэг шалтаг болсон юм. Иймээс энэ талаар анх японы эрдэмтэн Масао Оомура судалгаа хийсэн болно. Судалгааны үр дүнг сонирхоцгооё.
O буюу 1-р бүлгийн цус – Дайчин
- загвар хэв маягийг тогтоогч
- үнэнч
- хүсэл тэмүүлэлд автсан
- өөртөө итгэлтэй
- бие даасан
- зүтгэсэндээ хүрэхийг эрмэлздэг
- бардам
- атаархуу
- тайван
- тэвчээртэй
- мэдрэмтгий
- хариуцлагатай
- хэтэрхий болгоомжтой
- шаргуу (зөрүүд)
- санаа зовомтгой
- хувиа бодогч
- уламжлал, зан заншилд дургүй
- хүчтэй
- өөдрөг
- бүтээлч
- уян хатан
- ширүүн (догшин)
- урьдчилан хэлэх боломжгүй
- сандардаггүй
- биеэ барих чадвартай
- ухаалаг
- нөхөрсөг
- алдартай
- шүүмжлэмтгий
- заримдаа их зантай
- шийдэмгий бус
Эцэст нь хэлэхэд, “эзэн хичээвэл, заяа хичээнэ” гэдэг шиг таны зан араншин цусны бүлгээс хамаарахгүй өөрөөс тань шалтгаалах болно гэдгийг анхаарна уу.
Labels:
араншин,
зан,
Монголоор,
хүний цусны бүлэг,
цус,
цусны бүлэг
2013-03-06
BSD лицензийн монгол орчуулга
Орчуулахад асар их хувь нэмэр оруулсан М.Эрдэнэчимэг эгчдээ баярлалаа. Санаа оноо байвал хуваалцана уу.
Зохиогчийн эрх (c) ОН, ӨӨРИЙН НЭР ЭСВЭЛ БАЙГУУЛЛАГЫН НЭР
Зохиогчийн эрх хамгаалагдсан.
Програмын эх код болон хөрвүүлсэн машин(бинаар) код хувилбарыг өөрчилсөн эсвэл өөрчлөөгүйгээс хамааралгүй ашиглах ба дахин түгээхдээ дараах нөхцөлийг мөрдөнө:
Зохиогчийн эрх (c) ОН, ӨӨРИЙН НЭР ЭСВЭЛ БАЙГУУЛЛАГЫН НЭР
Зохиогчийн эрх хамгаалагдсан.
Програмын эх код болон хөрвүүлсэн машин(бинаар) код хувилбарыг өөрчилсөн эсвэл өөрчлөөгүйгээс хамааралгүй ашиглах ба дахин түгээхдээ дараах нөхцөлийг мөрдөнө:
- Эх кодыг дахин түгээхдээ дээрх зохиогчийн эрхийн мэдэгдэл, энэ нөхцөлийн жагсаалт ба дараах татгалзлыг хадгалж хавсаргана.
- Дахин түгээх машин(бинаар) код хувилбарыг хөвүүлж үүсгэхдээ энэ баримтад багтсан дээрх зохиогчийн эрхийн мэдэгдэл, энэ нөхцөлийн жагсаалт ба дараах татгалзал мөн түгээхэд хавсаргасан бусад материалуудыг хавсаргана.
- Энэ програм хангамжийн дагавар бүтээгдэхүүнүүдийг сурталчлахдаа энэ програмыг бүтээсэн байгууллагын нэр эсвэл бүтээхэд хувь нэмрээ оруулсан зохиогчдын нэрийг бичсэн зөвшөөрөлгүйгээр ашиглахыг хориглоно.
2013-03-03
Марафон гүйлтийн тамирчин Бат-Очирын Сэр-Од
Марафон гүйлтийн тамирчин Бат-Очирын Сэр-Од-ийн талаар вики хуудас монгол хэл дээрх Википедиа дээр үүсгэн дараах мэдээллүүдийг орууллаа.
Жич: Монгол Википедиа дээр байгаа утгын тайлбар 9,000+ болсон байна.
Бат-Очирын Сэр-Од 1981 оны 10 сарын 7-нд Говь-Алтай аймагт төрсөн. Өндөр 170 см, жин 60 кг. 1997 оноос хойш хөнгөн атлетикаар хичээллэсэн. “Хүч” спорт хорооны тамирчин, цагдаагийн офицер. Анхны дасгалжуулагч нь Дамбын Гомбосүрэн. Одоо Дархан хотын уугуул, гэргий Одонсүрэнгийн Оюунтуяа түүнийг дасгалжуулдаг бөгөөд өөрөө дундын зайн гүйгч байсан. Нэг хүүтэй. Хөгжим сонсох хоббитой. 2010 оны Хофү (Япон), Брайтон (Их Британи)-ы марафонд түрүүлж, Берлинд 10-р байранд орсон.
Гаргасан амжилт
Монгол Улсын Хөнгөн атлетикийн спортын марафон гүйлтийн дээд амжилтыг 10 удаа шинэчлэн тогтоосон. (2012 оны 1-р сарын 1-ний байдлаар)Эх сурвалж: http://mn.wikipedia.org/wiki/%D0%91%D0%B0%D1%82-%D0%9E%D1%87%D0%B8%D1%80%D1%8B%D0%BD_%D0%A1%D1%8D%D1%80-%D0%9E%D0%B4
Жич: Монгол Википедиа дээр байгаа утгын тайлбар 9,000+ болсон байна.
2013-02-28
Шинэ жилийн мэнд хэрхэн Япон хэлээр хүргэх вэ?
Манайд он гарахаас өмнө "Шинэ жилийн мэнд хүргэе!" гэдэг билээ. Он гарсаны дараа бол хоорондоо мэнд бараг хүргэдэггүй. Харин Япон улсад бол манайхаас өөр буюу шинэ жилийн өмнө болон дараа заавал таньдаг хүмүүстэй мэнд хүргэх ёстой байдаг байна.
Энгийн ярианы хэллэгээр бол:
- Оны төгсгөлд буюу 12-р сарын 31 хүртэл - Ёой отоши о! (Сайхан шинэ он гаргахыг хүсье!)
- Оны эхэнд буюу 1-р сарын 1-нээс 1-р сарын дунд үе хүртэл - Акэмашитэ омэдэтоо! (Шинэ оны мэнд хүргэе!)
Боловсон ярианы хэллэгээр бол:
- Оны төгсгөлд - Ёой отоши о омукаэ кудасай! (Сайхан шинэ он гаргахыг хүсье!)
- Оны эхэнд - Акэмашитэ омэдэтоо гозаймас! (Шинэ оны мэнд хүргэе!)
гэж мэндчилдэг болно.
Subscribe to:
Posts (Atom)


