Wednesday, September 6, 2017

Happy Time

HR Management System တစ်ခုကို ရေးနေတာပါ
နေ့စဉ် Attendance ကိုယူထားတယ်။ အဲ့ဒီအထဲမှာမှ Late တွေ Early Out တွေ Double Shift တွေ Night Shift တွေ Over Night Shift တွေ ကိုမှတ်ထားတယ်။

ပြီးတော့ Leave တွေ Penalty တွေကိုလဲ မှတ်ထားတယ်။
အဲ့ဒါတွေကို ဝန်ထမ်းရာထူးအလိုက်ပြန်ပြီး တွက်ပေးရတာ။

အစပိုင်းတုန်းက ရေးလာခဲ့တာတွေကို
လခတွက်တဲ့နေရာမှာ ပြန်သုံးပြီးရေးရတာ

ရေးရတာများတာတေ့ များတယ်
ဒါပေမဲ့ အစပိုင်းမှာ ရေးခဲ့တာတွေဟာ ဒီနေရာကျမှ
အစီအရီ ပြန်သုံးသွားနိုင်တာကို မြင်တော့
အရမ်းကို မိုက်ပါတယ်

ပင်ပမ်းပေမဲ့ ပျော်ပါတယ်

Developer လုပ်မိတဲ့ ကိုယ်ဟာကိုယ်လဲ ကျေနပ်မိပါတယ်

Thursday, January 5, 2017

Functional Style Programming - Java

Java ဟာ OOP ပါ။
Java ထဲကို Lambda ပါလာရတာ ဘာကြောင့်လဲ။
Parallel Processing ကို ရေးချင်လို့။

Lambda ဆိုတာ Function ရဲ့အတိုကောက်။
Function တွေကို ကိုယ်စားပြုတဲ့အရာ။
Lambda မရှိပဲ Parallel Processing ကောလုပ်လို့မရခဲ့လို့လား။

ရကောင်းရမယ်။ မတော်တာတွေရှိတယ်။
Parallel Processing ကို လုပ်ချင်ရင် လုပ်စရာ ရှိတဲ့ Task တွေကို ခွဲပြီး အပြိုင်ခိုင်းနိုင်မှ အဓိပ္ပါယ်ရှိမယ်။
Java ရဲ့ OOP နဲ့ကော ခွဲခိုင်းလို့မရလို့လား။
Object တွေမှာ State ဆိုတာကြီးရှိနေတယ်။
အဲ့ဒါကြောင့် State တွေမတူရင် အလုပ်လုပ်တာတွေကလဲ တူမှာ မဟုတ်ဘူး။
Side Effects တွေ ရှိနိုင်တယ်။

ဒါဟာ Parallel ကို လုပ်ရတာကိုခက်ခဲစေတဲ့ အဓိကအကြောင်းဖြစ်လာတယ်။
Functional Programming ရဲ့ အဓိက အရည်အသွေးဟာ Side Effect မရှိတဲ့ Function တွေကို သုံးနေတဲ့အချက်ပဲ။ တန်ဖိုးတစ်ခုကိုပေးရင် အဖြေဟာ အမြဲတမ်း ဒီအဖြေရနေရမယ်။

ဒီအရည်အသွေးဟာ Parallel Processing ကို လုပ်ဆောင်ရာမှာ အဓိကလိုအပ်တဲ့
လိုအပ်ချက်လဲ ဖြစ်နေတယ်။

ဒါမှသာ Task တွေကို ဘယ်လိုခွဲခွဲ နောက်ဆုံးပေါင်းလိုက်ရင် အတူတူပဲဆိုတာ ဖြစ်လာမယ်။
ဒါ့ကြောင့် Lambda ဆိုတာကြီးက Java ထဲကိုပါလာရတာပါ။

အဲ့ဒါအပြင် Functional Programming မှာ အရမ်း Cool ဖြစ်တဲ့ Features တွေရှိတယ်။
First Class Citizen Entity တွေရှိတယ်
Function as an Argument
Function as a return type
Function တွေကိုပေါင်းပြီး ပြဿနာ တစ်ခုကို ဖြေရှင်းနိုင်တဲ့ပုံတွေ

Java ဟာ OOP ကြောင့် Side Effect တွေရှိနေတဲ့ အတွက် Functional Programming အစစ်ဖြစ်လာမှာ မဟုတ်ဘူး။ ဒါပေမဲ့ Side Effect ဖြစ်နိုင်တာတွေကို ရှောင်ပြီး Functional Style Programming ကို ရေးနိုင်စရာ အကြောင်းရှိပါတယ်။