Badral's personal blog
Интернет миний ертөнцийг хардаг цонх …

March, 2013Archive for

Double encoding effect

Friday, March 15th, 2013

Монголчуудын мэдээлэл авах гэж хамгийн их ордог сайт news.mn болов уу. Гэтэл сэтгэгдлийн модуль дээрээ гарч байгаа давхар кодчлолын асуудлаа шийдэхгүй олон жил явлаа. Энэ нь ютф-8 бичвэрийг дахин ютф-8-р кодлоход гардаг асуудал. Жишээлбэл:

Давхар кодчлолын асуудал

гэсэн үгийг дахин кодчлоход дараах хувилбар үүсэх бөгөөд “Б” хувилбар гэж нэрлэе.

Давхар кодчлолын асуудал

Б хувилбарын дахин кодчлоход дараах хувилбар үүсэх бөгөөд “В” хувилбар гэж нэрлэе.

Давхар кодчлолын асуудал

гэх мэт хэлбэртэй болно. Г, Д гээд олон дахин кодчлогдсон байж ч болох бөгөөд тэр тохиолдол нь мэдээж маш ховор.
Иймэрхүү болж эвдэрсэн бичлэгийг засах хэрэгсэл 10 орчим жилийн өмнө хийгээд http://badaa.mngl.net/correct хаягт тавьсан байснаа цахим өртөөний мэйлийн жагсаалт руу нэг удаа хэн нэгний асуудлалд хариулж илгээж байснаас өөрөөр ил тавиагүй байжээ. Хаяа би ч өөрөө хэрэглэх үе гардаг тул зарим хүнд хэрэг болох биз ээ.
В хувилбарын бичвэрийг засах бол 2 удаа correct товчин дээр дарна. Эхний удаа дарахад В->Б хувилбар болгоно.
Б хувилбарыг засах бол 1 удаа correct товчин дээр дарна. Туршиж үзье гэвэл дээр байгаа жишээний В хувилбарыг дээрх хаяг руу орж бичвэрийн талбар дээр нь буулгаад correct дээр нь 2 удаа дараад үзээрэй.
news.mn рүү ороод эвдэрсэн сэтгэгдэл хуулж аваад туршиж үзсэн ч болно.
Хэрэв Г, Д гэх мэт олон дахин кодчлогдсон бол төд дахин correct товчин дээр дарж засна.

CEBIT 2013

Tuesday, March 12th, 2013

Дижитал ертөнцийн хамгийн том үзэсгэлэн гэгддэг CEBIT-г 3 сарын 7-нд үзэж сонирхлоо. 9 жилийн өмнө анх удаа үзэж мэл ангайж, цэл хөхөрч байснаас хойш нэлээд зүйлс өөрчлөгдсөн нь ажиглагдлаа.
Тэр үед техник хангамжийн шийдлүүд ноёлж байсан бол энэ удаад програм хангамжийн шийдлүүд асар ихээр тавигдаж илт ноёлжээ. Зохион байгуулалтын хувьд нэлээд сайжирсан байна. Pro, Gov, Lab, Life гэж ерөнхийлөн ангилжээ. Гэхдээ нээлттэй эх болон хамгаалалтын хэсгүүд аль алинд нь орсон байсан.
Pro (Solutions for Business Operations) салбарт ERP, CRM гээд бизнес, үйлдвэрийн автоматжуулалт, аюулгүй ажиллагаа, үүлэн тооцооллын шийдлүүдийг байршуулсан байлаа. Энд нэг шүүмжлэлтэй зүйл нь үүлэн тооцооллыг хэт их ярьж байгаа ч найдвартай байдал болон хувь хүмүүсийн орон зай алдагдаж буй талаар дурдах газар байсангүй.
Энэ салбарт SAP ноёрхсон байдалтай байлаа. Гэвч SAP ERP-н төлөөлөлтэй уулзах гэсэн боловч олдсонгүй. Асар олон компаниудын консорциум, алт мөнгөн партнёрууд нь л зогсож байсан.
Cebit Pro
Cebit Pro
Cebit Pro
Cebit Pro
Gov (Solutions for Public Sector) салбарт э-засаглалын шийдлүүдийг танилцуулж германы ихэнх холбооны улсууд болон австри, польш зэрэг улсуудын э-засаглал, нийтийн үйлчилгээний автоматжуулалтын системүүдийг танилцуулжээ. Энэ салбарт цагдаагийн байгууллагын автоматжуулалт, хүн амын бүртгэл ба хаягжуулал, электрон гарын үсэг пасспортын шийдлүүдийг түлхүү танилцуулсныг үзэж сонирхов. Энэ жил Польш улс нүсэр том бүрэлдэхүүнтэй ирсэн байна лээ. Тэд европын холбооны бусад системүүдтэй үндэсний системүүдээ хэрхэн холбосон, холбож буй шийдлүүдээ голлон танилцуулж байлаа. Мөн өөрсдөө өндөр технологи нэвтрүүлж буй улс гэдгээ баталж буй тухайгаа ч дурдаж байв.
Cebit Pro
Cebit Pro
Цахим засаглал, бизнесийн платтформуудын аль алинд нь нээлттэй эхийн булангууд гарсан байлаа.
Cebit Open
Cebit Open
Lab (Research & New Technologies) Энэ салбарт судалгааны халуун сэдвүүдийг хамруулсан байна. Үүнд Робот, хиймэл оюун ба мэдлэгт суурилсан системүүд (зураг, дүрс, дуу авиа танилт), эмнэлэгийн оношилгоо, 3D системүүд оржээ.
Life (Plattform for Digital Lifestyle) Таблет, гар утаснууд, төрөл бүрийн тоглоомууд л голдуу харагдсан. Үүнийг тухлан үзэх цаг олдсонгүй.
Ганц өдрийн дотор энэхүү үзэсгэлэнг үзэж барах аргагүй тул гүйж ороод, гүйлгэж харснаа л буулгав. Хэдийгээр 70 гаруй орны 4100 гаруй байгууллага бүтээгдэхүүнээ танилцуулж оролцсон гэсэн боловч гадаадын оролцогчид цөөрч, германчууд ихээхэн нэмэгдсэн мэт сэтгэгдэл төрөв. Дэлхийн томоохон техник хангамж үйлдвэрлэгчид бараг бүгд ирсэн байлаа. Програм хангамжийн хувьд ихэнх нь америк, герман компаниуд байлаа.
Бизнесийн компаниудын төлөөллүүдтэй уулзаж байхад ихэнх нь хэрэглэгчтэй харьцдаг албаны хүмүүс байсан тул төдийлөн сонирхолтой яриа үүссэнгүй. Харин шинэ технологи, судалгааны павилионуудад яриа хөөрөө нийлсэн, хууч хөөрсөн тун сонирхолтой сайхан уулзалтууд хийлээ.
Мөн нээлттэй конференц, семинар, илтгэлүүд бараг павилион бүрт тавигдаж байсан ч тухтай сонсох цаг гарсангүй.

Oracle is destroying Sun’s built

Monday, March 11th, 2013

SUN (цааш НАР гээд явъя) миний хамгийн их хүндэтгэн биширдэг компани байлаа. Яагаад гэвэл тэдний бодлого надад таадагддаг байсан. Тэд том том зүйлийг бүтээсэн, нээлттэй эх болгон хөгжүүлж олон нийтийн хүртээл болгосон. Жава, ОпенСоларис, ОпенОфис, ОпенЭСБ, ОпенССО, ОпенДС… гээд дурдаад байвал урт жагсаалт болно. НАРд ажилладаг миний таньдаг цөөнгүй тооны хүмүүс бүгд маш чадалтай, шүтмээр залуус байсан.
Харин би Ораклын хувьд өгөгдлийн сан удирдах систем хөгжүүлсэн, сүүлд ERP систем рүү орж ирсэн компани гэдгээс өөр мэдээлэлгүй байлаа. Үнэхээр тийм баян компани ч гэж бодоогүй байсан тул Оракл НАРЫГ залгихад ч гайхаж байсан. Гэхдээ тэднийг цааш НАРын бодлогыг барих юм байна гэж ойлгож байтал эсрэгээр эргэв. Тэд НАРын хамаг үнэт зүйлсийг нь үгүй хийж тун муухай загналаа. Тэдний зорилго Нээлттэй эхийг бизнесийн салбараас аль болох ангид байлгаж өөрсдийн системийг үнэд хүргэх л байсан нь өдөр өнгөрөх тусам улам тодорхой болов.
Жишээлбэл ОпенСоларис, ОпенОфисын хөгжүүллийг зогсоов. MySQL-н ч хөгжүүллийг зогсоов. Харин Жава-г зогсоохыг завдсан боловч асар том эсэргүүцэлтэй тулснаар дуртай дургүй цааш хөгжүүлж байна. Энэ бүхэн бол зөвхөн олон нийтэд хамгийн ойр л програм хангамжууд. Харин олон хүн мэдэхгүй тул төдийлөн их яригдахгүй байгаа нэгэн систем бол OpenESB. Энэ бол JBI (JSR 208) гэх маш гоё концептын дагуу хөгжүүлсэн Enterprise BUS систем байсан. Apache MIX, MULE ESB аль нь ч хаана нь ч хүрэхгүй санагддаг. Хэдийгээр Глассфиш дээр хатуу уягдсан ч маш сайхан ажилладаг. Хялбар, хурдан, ярих юм байхгүй.
Хамгийн хүчтэй хөдөлгүүр нь BPEL engine бөгөөд Бизнес процессоо BPMN 2-р загварчилчихаад автоматаар ажиллуулчихдаг нь Бизнес Процессын найрал тоглолтыг (orchestration) сонгодог утгаар харуулна. Дараагийн буюу Fuji (Glassfish 3) хувилбартаа маш олон боломжуудыг нэмж, EAI паттерн ашиглах боломжтой болгоно гэж аль 2008 онд яригдаж байсан ч өнөөг хүртэл биелэсэнгүй. Үүнээс харвал Оракл Oracle Fusion middleware (Oracle ESB) зах зээлээс арчуулахгүйн тулд ОпенЭСБ-г Oracle DBMS-ээ гүйлгэхийн тулд MySQL-г зогсоолоо гэж үзэхээс өөр аргагүй болж байна. Санхүүгийн дэмжилт зогссоноор эдгээр төслүүдийг ингэж нурлаа гэж ойлгох нь хэт өрөөсгөл. Гол нь дэд бүтэц, бодлого, лицензийн зөвшөөрлийг нь (SCA) эвдсэн нь хамгийн том хөнөөл болж, нэг дээвэр дор цугларсан олон чадалтай залуус салан одов. Үнэхээр хайран.
Гэвч Нээлттэй эх зогсохгүй ээ. ОпенОффис.орг лайброфис болон цааш хөгжиж байна. Мөн Оракл ч ОпенОфисыг Апачэд шилжүүлсний дараа саяхан IBM хөрөнгө оруулалт хийж цааш идэвхитэй хөгжүүлж 4.0 хувилбарыг нь гаргахаар шамдан ажиллаж байна. Аль алиных нь шинэ хувилбарт нь монгол интерфейс, монгол бичгийн босоо чиглэлээ оруулахаар бид ч шамдаж эхэллээ. (ОпенМН холбоо маань нэгэнт унтарсан тул удахгүй түүний үргэлжлэл болох шинэ бүлгэмээ байгуулаад сэтгэлтэй бүхнийг уриалъя.)
ОпенЭСБ-ч хэсэг хугацааны дараа цааш хөгжих нь тодорхой гэдэгт итгэлтэй байна.
Аливаа байгууллага эдийн засгийн хувьд ашигтай ажиллах нь зүй ёсных. Гэхдээ мөнгөний төлөө бус хүний төлөө ажиллах ёстой гэдгийг аль ч эдийн засгийн онолд нь тодорхой заасан байдгийг санахад илүүдэхгүй биз ээ. Үүнээс улбаалбал Оракл мэт маш олон томоохон байгууллагууд дэлхийн хөгжлийг буруу зам руу хөтөлж байна.

Funny JS

Saturday, March 2nd, 2013

Жаваскрипт бол миний хамгийн дургүй хэл. Яагаад гэвэл уурлахаас илүү инээд хүрмээр зүйлс ихтэй. Гэхдээ өнөө үед та жаваскриптыг сайн эзэмшвэл зах зээл дээр маш их ажил бий. Тиймээс үзэн ядах хэрэггүй.
За хамгийн энгийнээр нь тэнцүүлэх операторыг авч үзье л дээ:

“1”==1 –> true
[]==[] –> false
[]==![] –> true

Шалтгаан нь JS дээр баруун талдаа бүүлийн утга байвал зүүн талыг нь тоо болгож харьцуулдаг. 🙁
Хөвдөг таслалтай тоог (float) тоог бүхэлтгэхдээ алдаатай. Жишээлбэл:

9999999999999999 = 100000000000000000
9999999999999999-1 = 100000000000000000

Ер нь Жаваскрипт дээр бутархай илэрхийлэл ашиглахыг татгалзах хэрэгтэй. Жишээлбэл:

0.2 + 0.2 == 0.4 –> false

Баталгаагүй төрөл:

typeof null –> object
null instanceof Object –> false
:((

Жаваскрипт хэлэнд өөрт нь дээрх мэт буг маш их. http://wtfjs.com/ хаягт нэлээд нь их сонин сонин үзэгдлүүд нь тэмдэглэгдсэн байна.
Гэхдээ сүүлийн үед эдгээр алдааг нь зассан GWT гэх мэт фреймворкууд ихээр үүсчээ. Тиймээс тэдгээрийг төсөлдөө тохируулан сайн эзэмшээд ашиглах нь зөв юм.