Monday, May 9, 2011

GOGO sms үйчилгээний алдаа юм байхдаа


Нэгжгүй болсон үед үнэгүй интернетээс sms илгээх боломжийг олгодог үйчилгээ их хэрэгтэй шүү. Би ч www.gogo.mn ийн sms мессэж илгээх үйлчилгээг нэгжгүй болсон үедээ их ашигладаг та ч бас тэгдэг байх. Харин өчигдөрхөн нэг шинээр хэрэглэгчийн эрх нээлгэсэн чинь миний sms inbox дотор бусдын мессэж байх нь тэр дээ. Алдаатай л юм байлгүй дээ. мэдэх юм алга заза юу тай ч мессэж ээ бичээтье , нууцлалтай мессэж бол бичээд хэрэггүй л юм байна анхаарна биз ээ


Read more...

Perl-Нөхцөл шалгах үйлдэл

perl дээр 5 төрлийн нөхцөл шалгах үйлдэл байдаг.
1.if (EXPR)
2.if (EXPR) BLOCK
3.if (EXPR) BLOCK else BLOCK
4.if (EXPR) BLOCK elsif (EXPR) BLOCK ...
5.if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK
1. if (EXPR)- энгийн нөхцөл шалгах үйлдэл. ямар нэгэн block байхгүй

print "Happy Birthday!\n" if ($date == $today); # нөхцөл үнэн бол хэвлэх

2. if (EXPR) BLOCK
if ($date == $today)
{
print "Happy Birthday!\n";
}


3.if ($date == $today)
{
print "Happy Birthday!\n";
}
else
{
print "Happy Unbirthday!\n";
}
4.
if ($date == $today)
{
print "Happy Birthday!\n";
}
elsif ($date == $christmas)
{
print "Happy Christmas!\n";
}

5.
if ($date == $today)
{
print "Happy Birthday!\n";
}
elsif ($date == $christmas)
{
print "Happy Christmas!\n";
}else
{
print "Happy Unbirthday!\n";
}


unless нь if ийн эсрэг нөхцөл шалгадаг.

print "Happy Unbirthday!\n" unless ($date == $today);

код нь дараах нөхцөл шалгах үйлдэлтэй адил юм.

print "Happy Unbirthday!\n" if ($date != $today);

unless нь нөхцөл худлаа байгаа бол block үйлдэл биелэгддэг. Харин if үнэн байгаа бол биелэгддэг.
мөн нөхцөлт үйлдэл байдаг
(expression) ? (statement if true) : (statement if false) syntax аар бичэгдэнэ.

($date == $today) ? print "Happy B.Day!\n" : print "Happy Day!\n"


Read more...

Perl ийн хувьсагчийн төрөл

Perl хувьсагчын 3 төрөл байдаг.
* Scalar
* Array
* Hash
Scalar хувьсагчын төрөл
Scalar хувьсагчын төрөл нь энгийн утгыг хадгалдаг

my $animal = "camel";
my $answer = 42;

scalar хувьсагч нь string, float point numbers, integer хадгалж чадна. Perl шаардлага бол эдгээрийн хооронд автоматаар хөрвүүлэлт хийдэг.


print $animal;
print "The animal is $animal\n";
print "The square of $answer is ", $answer * $answer, "\n";

анзаарвал $ тэмдгийг scalar хувьсагчын өмнө хэрэглэнэ

жишээ нь:

#!/usr/bin/perl

$number = "5";
$exponent = "2 ** 8";
$string = "Hello, PERL!";
$float = 12.39;

# We can also assign a scalar an empty (undefined) value:
$nothing = undef;
# Printing all the above values
print "$number\n";
print "$exponent\n";
print "$string\n";
print "$float\n";
print "There is nothing: $nothing\n";


5
2 ** 8
Hello, PERL!
12.39
There is nothing:

Array хувьсагчын төрөл

my @animals = ("camel", "llama", "owl");
my @numbers = (23, 42, 69);
my @mixed = ("camel", 42, 1.23);

эдгээр утгуудыг хадгалж болно.

массив хувьсагчаас элементийг нь авахдаа


print $animals[0]; # prints "camel"
print $animals[1]; # prints "llama"
гэж авна массивын нэг элемент нь scalar хувьсагч бөгөөд өмнө нь $ тэмдэг тавьж байна.
хэрэв та массивын хамгийн сүүлийн элементийг авахыг хүсвэл $#array гэж хандаж болно . print $mixed[$#mixed]; # last element, prints 1.23
print @animals гэвэл массивын элементийн тоог хэвлэнэ.
массиваас олон утгыг авах хэд хэдэн арга байдаг.


@animals[0,1]; # ("camel", "llama");
@animals[0..2]; # ("camel", "llama", "owl");
@animals[1..$#animals]; # бүх элементийг өгнө


массив дээр хэдэн бэлэн функцуудыг ашиглаж болно.
жишээ нь: sort, reverse гэх мэт

my @sorted = sort @animals; #animals массивийг эрэмбэлээд sorted массивт хадгалж байна.
my @backwards = reverse @numbers; #animals массивийг урвуулж backwards массивт хадгалж байна.


Массиваас элемент устгах нэмэх
push(): массивийн төгсгөлд элемент нэмэх
unshift(): массивийн эхэнд элемент нэмэх
pop(): төгсгөлөөс устгах
shift() : эхнээс нь устгах


#!/usr/bin/perl

# Массив тодорхойлох
@coins = ("Quarter","Dime","Nickel");
print "First Statement : @coins";
print "\n";

# массивийн төгсгөлд элемент нэмэх
push(@coins, "Penny");
print "Second Statement : @coins";
print "\n";
# массивийн эхэнд элемент нэмэх
unshift(@coins, "Dollar");
print "Third Statement : @coins";
print "\n";

# төгсгөлөөс устгах
pop(@coins);
print "Fourth Statement : @coins";
print "\n";
# эхнээс нь устгах
shift(@coins);
print "Fifth Statement : @coins";
print "@coins";

Дараах үр дүн гарна
First Statement : Quarter Dime Nickel
Second Statement : Quarter Dime Nickel Penny
Third Statement : Dollar Quarter Dime Nickel Penny
Fourth Statement : Dollar Quarter Dime Nickel
Fifth Statement : Quarter Dime Nickel

Hash хувьсагчын төрөл
hash хувьсагчийн төрөл нь түлхүүр болон утга гэсэн хослолтой байна. Тодорхой түлхүүрт харгалзах утгыг хадгалдаг.
key нь массивийн индекстэй төстэй гэж болно. Түлхүүр нь string, integer утга агуулж болно.

my %fruit_color = ("apple", "red", "banana", "yellow"); гэж тодорхойлохоос гадна
my %fruit_color = (
apple => "red",
banana => "yellow",
);

гэж бичиж болно.

hash ийн элементийг авахдаа
$fruit_color{"apple"}; # gives "red"
гэж авна.

keys(), values() perl ийн built-in function ашиглаад Түлхүүр болон утгуудыг нь массит хадгалж болно
my @fruits = keys %fruit_colors;
my @colors = values %fruit_colors;

perl дээр хувьсагчын нэр case sensetive $foo $FOO ялгаатай юм.

Хувьсагчийн амьдарлын хугацаа
өмнөх жишээнүүд дээр дараах syntax байнга гарсан
my $var = "value";
энд уул нь my шаардлаггүй л дээ

Read more...

Perl програмчлалын хэлний тухай танилцуулга

Perl бол програмчлалын хэл. Larry Wall зохиосон. ялангуяа энгийн текст хэлбэрээр бичэгддэг юм. Perl: Practical Extraction and Report Language. Хэрвээ та C бол Unix shell талаар үндсэн мэдлэгтэй бол Perl маш хялбар сурах юм.
Анх PERL зохиогдохдоо энгийн текстийг боловсруулалт хийх зорилготой хөгжүүлсэн хэл. Одоогоор System Administration, Web Developement, Network Programming
GUI developement өөр олон цар хүрээтэйгээр хэрэглэгдэж байна.

Perl гэж юу вэ?
-Үйлдлийн систем хамааралгүй ажилладаг
-Practical Extraction and Report Language
-Хувийн болон нийтийн төсөл даалгаварыг гүйцэтгэхэд хэрэглэгддэг
-Open source програм хангамж
-Larry Wall зохиосон
-Perl 1.0 1987 Онд гарсан


Дэмждэг үйлдлийн системүүд
* Unix systems
* Macintosh - (OS 7-9 and X) see The MacPerl Pages.
* Windows - see ActiveState Tools Corp.
* VMS
* бусад


Perl онцлог
-C, awk, sed, sh, and BASIC хэлнүүдийн бүх давуу талуудыг авч үүссэн
-Perl html, xml болон бусад markup хэлүүдтай хамт ажилдаг
-Unicode дэмждэг
-Процедур болон объект хандалт хоёрыг дэмждэг
текст боловсруулах болон хурдан хөгжүүлэх чадвартай шилдэг вэб програмчлалын хэлний нэг.
.....

Perl Syntax
нэг болон олон statement ээс бүрдсэн script болон програмчлалын хэл
statement нь маш энгийн текс хэлбэрээр бичэгддэг. ямар ч main() функц хэрэггүй. statement бүр ; тэмдэгээр төгсдөг


print "Hello, world";

#Энэ тэмдэгээр тайлбарыг эхлүүлдэг.
#зарим хэлүүд дээр байдаг олон мөр тайлбар гэж байдаггүй

print "Hello, world";
print 'Hello, world'; давхар кавичк болон дан кавичк адил байдаг. Тоо хэвлэх гэж байгаа бол ямар нэгэн кавичк хэрэггүй.
print("Hello, world\n"); \n мэдээж мөр буулгана.


perl файл .pl өргөтгөлтэй хадгалагдах ёстой.

Эхний Perl програм :

#!/usr/bin/perl
# Энэхүү програм нь дэлгэцэнд Hello, World үгийг хэвлэнэ
print "Hello, world";


Perl програмыг ажиллуулах.
Unix дээр ажилуулахдаа хандах эрх бас зааж өгдөг байсан байхаа
CHMOD 0755 гээл

windows дээр бол файл байгаа command prompt ооро очоод
perl filename.pl гэж ажиллуулна

Read more...

"Hello World" java програм

програмист хүн бүрийн хамгийн эхний програм бол "Hello World" бичдэг батлагдаагүй хуультай юм. Энэ ч утгаар би эхний кодыг Java дээр "Hello World" програмын кодыг бичиж тавих болов.


public class HelloWorld{

public static void main(String[] args){
System.out.println("This is my first java program");
}
}


Read more...

Tuesday, September 21, 2010

Бүрэн цахим Улаанбаатар бий болгоё

1.Нийлэлийн өнөөгийн байдал
2.Миний санаа
3.Шийдэх арга зам, ашиглах технологи
4. Хамрах хүрээ
5. шаардагдах хөрөнгө санхүүжилтийн хэмжээ

Нийслэлийн өнөөгийн байдал

Бид газраа ухаад, тоосгоо өрөөд, малаа малаад ч юм уу хөгжиж болох л юм. Би үгүйсгэхгүй ээ. Өндөр хөгжсөн орнууд энэ замаар хөгжсөн байхал даа. Гэхдээ нэлээд хэдэн жил шаардах байхаа тэгсээр байтал бас мэдээллийн технологиороо хоцорно. Гэхдээ энэ зуунд энэхүү замаар хөгжсөн орон болоод хөгжиж байгаатай өрсөлдөх нь юу л бол. Харин тэдэнтэй өрсөлдөх салбар бол мэдээллийн технологийн салбар гэж миний хувьд ойлгоод байгаа. Энийг уншиж байгаа та ч тийм бодолтой байгаа гэж найдаж байна. Улаанбаатар хотоо хөгжүүлэхэд энэ салбарын оролцоо их мэдээж их.
Манайд програм хангамжийн салбар хөгжөөд 10 гаруй жил болж байгаа байх. Гэхдээ гайхалтай хурдацтай хөгжиж байгаа. Бид(би биш л дээ) сайн сайн систем, програм, вэб, вэбд суурилсан програм хангамж хөгжүүлсээр ирсэн хөгжүүлж байгаа. Гэвч энэ системүүд нь зөвхөн нэг л нэгж байгууллага, эвсэл хүний хэрэгцээнд л зориулагдаж хийгдэж байсан. Хоорондоо харилцаа хамааралгүй олон системүүд , 2 байгууллага хоорондоо мэдээлэл солилцох боломжгүй байгаа.

Миний санаа
Миний дэвшүүлэх гэж буй санаа бол улаанбаатар хотыг бүрэн цахим болгох юм. Би програм зохиогч учир энэ талаас харав хөгжлийг. Би улаанбаатар хотыг бүрэн цахим болгох ерөнхий зураглалыг юу гэж харж байна гэвэл аалзны тороор(граф) эвсэл мод хэлбэрээр харж байна л даа. Мэргэжлийн хүмүүс ямар ухагдахуун байдаг талаар сайн мэднэ. Мод(Графын нэг хэлбэр) хэлбэрийн цахим улаанбаатарыг хөгжүүлье гэж бодъё. Бид юу хийх вэ? Бидэнд юу хэрэгтэй вэ? Модоо хэзээ тарихын эсвэл тарьчихсан юмуу. Хариулт нь бид үндэсгүй бас мөчиргүй хэдэн навч тарьсан зөвхөн хэрэгцээндээ зориулж (Програм хангамжийн хөгжлийн цаг явчаас хамаарч боломж нь ийм л байлаа), үндэсгүй, мөчиргүй навч хэдий хугацаанд амьд байхуу? Одоо яах уу? Гэдэг асуулт гарч ирнэ. Навчаа бүгдийг нь устгаад эхнээс нь мод яаж тарьдаг уу тэр замаар нь тарих уу. Үндэсээсээ эхлээд таръя гэхлээр бидэнд цаг, өртөг гээд тоочоод барахгүй асуудал тулгарна. Одоо тэгэхээр навчнаасаа эхлээд тарих нь дээ.

-Нэг байгууллагын дотоод програм хангамж / дэсктоп, вэб аплекэйшн/


-Навч 1 байгууллагын дээд байгууллага /дүүргийн халамж-нийслэлийн халамж /


-Нийслэлийн систем


Энэ мод хэлбэрийн систем яаж бий болохыг харъя
1.

Бидэнд дээрх шиг хэдэн програм, системүүд байгаа гэж бодъё. Навч 1, Навч 2 нэг мөчирөөс салаална, 3,4,5 нь нэг мөчирөөс салаална
2.

Зарим газар ийм хэлбэрээр хийгдсэн байхыг үгүйсгэхгүй. Гэхдээ тэр систем маань дээшээ доошоо хэр уян хатан байгааг мэдэхгүй байна. Бас ашигласан технологи хэр зөв эсэх.
3.


Миний санаа ердөө л энэ . одоо бүгдэд нь утга оноогоод үзэхээр илүү ойлгомжтой харагдах байх.
Эрхэм нийслэлийн иргэн та гадуур байгууллагуудаар бичиг баримтын ажил хөөцөлдөөд явдаг. Нэг байгууллага дээр очлоо таныг хэдэн тийшээ гүйлгэж байгаа биз дээ. Тэр хорооны тодорхойлолт, цагдаагын тодорхойлолт, эмчийн бичиг гээд л шалж өгнө өө. Энэ систем тэднийг мад болгоно. Энэ бол өнөөгийн байдал. Хэдэн асуудалууд тоочоод үзье .


1. Та эмнэлэгт үзүүлэх хэрэгтэй болов. Манайхан өвчтөний дэвтэрийг бараг л хэрэглэдэггүй. Та өмнө нь ямар өвчнөөр өвдөж байсан хаана эмчлүүлсэн гээд л. Тэгвэл та дүүргийнхээ ч юм уу эсвэл Халдартын эмнэлэг дээр очиход тэнд таны бүх эмчлүүлсэн мэдээлэл он сараараа гараад ирнэ. Ингээд дэвтэр чирч явахгүй боллоо.
2. Сүүлийн үед сургуулиуд цахим болоод байгаа. Энэ маш давуу талтай. Бодвол хувийн хэрэг цахим хэлбэрээр бөглөгдөх боломжтой байгаа байх. Тэгэхлээр та 10 жилээ төгсөөд их сургуулид бүртгүүлэх гэж бөөн оочирлодог байх, бас бичиг баримт чирч явдаг шүү дээ. Хувийн хэрэг, бага , дунд гэрчилгээ, өөр юу ч бил ээ. Энэ бүгдийг бүгдийг сургуулийн системээс нь дээд байгууллагаар нь дамжуулаад шууд авах боломжтой юм.




Сүхбаатар дүүргийн эмнэлэг дүүргийн цагдаагийн газартайгаа шууд холбогдож болно.
Энэ шугамууд мэдээлэл солилоц шугамууд. Энэ мэтээр цахим улаанбаатарыг бүрдүүлчихвэл нийслэлээс хэрэглэгчидээ нэгдсэн мэдээллийг нь өгдөг порталтай байвал ямар бол иргэн нэр, нууц үгээр ороод өөрийн бүх мэдээллээ харах боломжтой, эрүүл мэнд, боловсрол, байрны мөнгө, танд хэрэгцээтэй бүх мэдээллээ авах.

Шийдэх арга зам, ашиглах технологи


Ашиглах технологи бол Oracle Fusion Middleware. Oracle бол энтерпрайс системийг гайхалтай хөгжүүлдэг компани гэж боддог. Oracle Fusion Middleware бол Oracle корпорацийн хэд хэдэн програм хангамжуудаас бүрддэг. Service oriented architecture ийг хөгжүүлэх, деплой хийх, удирдах боломжийг олгосон.
1. Weblogic Application Server
2. Service Bus
3. SOA Suite
4. BPEL
5. Data Integrator гэх мэт бүрэлдэхүүн хэсгүүдийг нь ашиглаад бүрэн хэмжээний Service Oriented Architecture бий болгоно.
Тухайн байгууллага ямар мэдээлэл бусад байгууллагад өгөх хүсэлтэй байгаа тэрний дагуу веб сервис хийгдээд Oracle Service Bus дээрээ бүртгэгдэнэ. Вэб сервис ээр ирсэн ижил төрлийн ялгаатай мэдээллийг Data Integrator аар интеграци хийж хадгална. Энэхүү вэб сервисийг ашиглах хэрэглэгч буюу нөгөө байгууллага вэб сервис дуудаж хадгалагдсан мэдээллийг авна. Вэб сервис хэд хэдэн вэб сервисийн дуудагдсаны дараа биелэгдэх бол BPEL дээр тохиргоо хийгдэнэ. Гэх мэтээр хийх арга замууд их байгаа Бүгдийг нь тоочсонгүй. Товчхон бичлээ.

Хамрах хүрээ


Цахим улаанбаатар бол бүх салбарын байгууллага нэгжийг хамрах боломжтой. Бүх системүүд хандаж чадна. Дэсктоп, вэб програм хангамж, гар утас бүгд хамрагдана.
шаардагдах хөрөнгө санхүүжилтийн хэмжээ
Өнгөрсөн жилийн улсын төсвөөр “Ухаалаг иргэний үнэмлэх” төсөл хэлэлцээд амжилтанд хүрээгүй. 15 тэрбум гаруй байхаа төгрөг шүү дээ. Үүнтэй харьцуулалт байхгүй . Oracle Fusion Middleware орчинг бүрдүүлэхэд л хангалттай. Oracle ийн хэдэн бүтээгдэхүүн худалдаж авна.


Дүгнэлт
Нийслэлд маань дутуу дулимаг юм зөндөө байна шүү дээ. жишээ нь гайгүй хөгжилтэй орны хоттой харьцуулж байгаа л тэр дутуу тэгчмээр байна гээд бичээд л байна. Би хөгжлийг одоо байгаа болохгүй зүйл дээр тусгаж бичив шинэ боломж нь байгаа учраас. Би чадна та ч чадна яагаад гэвэл би, та чадна гэж бодож байгаа учраас
Бичгийн болоод мэргэжлийн тал дээр алдаа мадаг байвал уучлаарай.


Read more...

Saturday, June 19, 2010

Энтерпрайс мэдээллийн системийн хөгжүүлэлт-2010

Энтерпрайс мэдээллийн системийн хөгжүүлэлт тэмцээн анх удаагаа амжилттай явагдаж өндөрлөө. Програм хангамжийн чиглэлээр суралцдаг оюутан залуус, багш ажилчид,програмист сонирхогчдын дунд зохион байгуулагдсан тус тэмцээн сонирхолтой, өрсөлдөөнтэй сайхан боллоо. Та бүхэн ерөнхий мэдээллийг http://www.sodkhiimori.com/contest/ хаягаас орж сонирхоорой. Энтерпрайс систем бол манай улсад хөгжүүлж эхэлж байгаа бөгөөд ийм том систем хөгжүүлэх шаардлага бол зайлшгүй байгаа юм. Харамсалтай нь энэ шинэ системийн талаар манай их дээд сургуулийн хичээлийн хөтөлбөрт байдаггүй. Тэмцээний техникийн хурал дээр харагдаж байсан л даа. оюутанууд маань юу хийх гээд байгаа, энтерпрайс систем гэж юу болох талаар муу ойлголттой байгаа илт байсан тул техникийн зөвлөл дээр хальт ойлголт авсан байх. Сарын хугацаанд залуус их зүйл судалсан мэдсэн нь 2 өдөр болсон бүтээлээ танилцуулах үеэр харагдаж байлаа. Бүгд сарын хугацаанд хийсэн болохоор зарим нь ч ажлын хажуугаар хийсэн тул дуусаагүй, бас ажилуулах үед алдаа гарсан тохиолдол их байсан. Бүгд нээлттэй програмчлалын технологи JAVA техологи дээр хийсэн нь нэг том давуу талтай байв. Тэмцээний ерөнхий байруудыг танилцуулбал би илтгэлийн тэмцээний мэдээллийг сайн хараагүй ямар ч байсан МУИС-ийн МТС багш Батням багш түрүүлсэн JAVA ийн улаан фэн гэж байгаа.
Бүтээлийн уралдаанд:
1. ШУТИС-КТМС eHelp систем Марал-Эрдэнэ
2. ШУТИС-КТМС Online test
3. Aptech мэргэжлийн сургууль 'AIS' system- Ц.Сүххуяг
тусгай байранд ШУТИС-КТМС багш Дэлгэрмөрөн Online test
гэсэн бүтээлүүд шалгарсан. eHelp системийн хувьд дажгүй болсон байна лээ. Гар утсанд зориулсан байсан нь нэг том давуу талтай байлаа. Online test ийн програм 3 байсан ба МУИС-МТС ийн баг бас хийсэн байсан ба даанч дуусаагүй байлаа дууссан бол нилээн том систем санагдсан. Миний хувьд Зар сурталчилгааг нэг дор бүх сайт, интернэт хэрэглэгч хэн бүхний компьютер дээр шууд хүргэж байхаар санаж хийсэн. Ажлынхаа цаг заваар хийсэн тул цаг хугацааны хувьд нэг том асуудал байлаа. Энэ системийнхээ талаар дараа дэлгэрэнгүй оруулна. Тэмцээнд оролцогч залуус маань бүтээлээ дуусгах гэж нойргүй, хоолгүй хоносон миний хувьд ч адил сүүлийн хоёр өдөр унтаагүй хэхэ 72 цаг тэмцээнд түрүүлэхэ алдсан л даа. За за тэмцээнийг зохион байгуулсан байгууллага компаниудад талархал илэрхийлье .


Read more...