Saturday, June 21, 2008

ကိုင္းကြာ..မွတ္ကေရာ

အလုပ္ေတြမ်ားျပီး မအားရတဲ႕ၾကားထဲ ဒီေလာက္ ဒြတ္ခေပးလာတာ
သည္းမခံႏိုင္ေတာ႕ဘူး
ဘယ္သူမွ လာမတားနဲ႕ မရဘူး
ကို္င္းကြာ..မွတ္ကေရာ
လာထား နာကြ

အဟက္ဟက္ ဘာမွ ဟုတ္ဘူး
အစားစားျပီးတုိင္း သြားၾကားညပ္ေအာင္လုပ္တဲ႕ေကာင္
လက္နဲ႕ ကလိေတာ႕ ပါးေစာင္နာတယ္
တျခမး္ပဲ႕ထြက္သြားတယ္
နာသံုးနာ အဲေလ ကိုက္သံုးကုိက္ထဲမွာ သည္းမခံႏိုင္တာ သူလဲပါတယ္
ေခါင္းကိုက္တာ ၊ ဗိုက္ကိုက္တာ ျပီးေတာ႕ သြားကိုက္တာေလ
အဟိဟိ သြားအားလံုး 29ေခ်ာင္း ရွိတဲ႕ထဲက တစ္ေခ်ာင္းႏႈတ္ပစ္လိုက္တယ္
အမယ္ေလး ၾကီးသြားမို႕လို႕ အျမစ္က အနက္ၾကီးပါလားဗ်ိဳ(လက္ညွိဳးတစ္ဆစ္ေလာက္ရွိမယ္ ႏွေျမာစရာၾကီး အဟီး)
လမ္းထဲက ပုလဲေဆးခန္းကပဲ
ဆရာ၀န္က အရမ္းေတာ္တယ္ ေစ်းလဲ သက္သာတယ္
ည7နာရီမတ္တင္း ထံုေဆးေပးပီး ႏႈတ္လိုက္တာ မနာပဲနဲ႕ ထံုေဆးကလဲ 9နာရီခြဲေလာက္မွ အကုန္ျပယ္တာမုိ႕ so nice ပါပဲ
ခုေတာ႕ အံဆံုး ေဟာင္းေလာင္းေပါက္ေလးနဲ႕ မယ္လိုဒီဖစ္သြားပီ

ေအာ္.. နာ ရန္ကုန္မွာပဲ ရွိေသးတယ္ေနာ္ ခ်င္ပူေရာက္ေသးဘူး
ခ်င္ပူက လာတဲ႕ သယ္ရင္းအရင္းၾကီးနဲ႕လဲ မအားလို႕ မေတြ႕ရေသးဘူး ဟူးးးးးးး
ပို႕စ္ေတြလဲ မတင္ျဖစ္တာၾကာျပီ
ေနာက္လကုန္ေလာက္ထိေတာ႕ အားဦးမယ္ထင္ဘူး

လာဖတ္တဲ႕သူေတြေတာ႕ ပ်င္းကုန္ေရာ႕မယ္ေနာ္ ေဆာ္တီး
တတ္ႏိုင္သေလာက္ ေတာ္ကီေတြလာပြားပါမယ္ေလ
မေက်နပ္ရင္ေတာ႕ ေခြးလႊတ္ၾကပါဗ်ိဳ

စာၾကြင္း။ ။ သြားခဏခဏကိုက္တတ္တဲ႕ ပိုးဂင္႕ကိုေတာ႕ သတိရသဗ်။ နာ႕လို စိတ္ေပါက္ေပါက္နဲ႕ လုိက္ႏႈတ္နဲ႕ေနာ္ ေတာ္ၾကာ တစ္ေခ်ာင္းထဲကိုက္တာမဟုတ္ရင္ နာ႕ပေယာဂပါမစိုးလို႕ အဟိဟိ


Tuesday, June 10, 2008

လမ္းခြဲစကား...

မင္းကိုခ်စ္ခဲ႕တာ

ကုန္ၾကမး္ရွာတာ မဟုတ္ဘူး

မေတြးပါဘူး မေဆြးပါဘူး

တဘက္သတ္အျဖစ္မွာ ငါေလရူး...

ဒီဘ၀မွာေတာ႕ မထူးပါဘူး

မင္းရဲ႕ အၾကင္နာမွာ ငါယစ္မူး

 

ဘယ္လုိဘယ္ပံု အျပစ္တင္လဲ

အျမင္လႊာမွာ အရိပ္ထင္ဆဲ

မေန႕ တေန႕ကလိုပါပဲ...

အခ်စ္မူးလဲလို ျဖစ္ခဲ႕တဲ႕

အတိတ္ေတြထဲ

အိပ္ေနဆဲက..ငါေပါ႕ေလ

 

ငါကမင္းကိုခြဲတာလား

မင္းကငါ႕ကိုခြဲတာလား

"လြမ္းလိုက္လြဲလိုက္

လြဲလိုက္လြမ္းလိုက္" လို႕

မင္းေျပာခဲ႕ေတာ႕ ဒီစကား

ဘ၀ဇာတ္ဆရာကလဲ မသနား

(ဇတ္လမ္းဆံုးေတာ႕)

အသည္းကြဲသမားက ငါပဲလား...

Saturday, June 7, 2008

ASP.Net 2.0 Page Directives မ်ားႏွင္႕ Attributes မ်ား

အရင္ရက္က ေျပာခဲ႕တဲ႕ ထဲက page directives နဲ႕ပါတ္သက္ျပီး directives ဆိုတာေတြ attributes ဆိုတာေတြကိုေတာ႕  မွတ္မိမလားမသိဘူးေနာ္။

ခုေျပာျပခ်င္တာက ASP.Net pages ေတြရဲ႕ behavior ေတြကို ASP.Net Directives ေတြနဲ႕ control လုပ္ႏိုင္တယ္ဆိုတာပါ။ pages ေတြကို compile လုပ္တဲ႕အခါ compiler ကဒီ directives ေတြကို သံုးပါတယ္။ ASP.Net pages သို႕မဟုတ္ user controls ေတြမွာ သံုးႏိုင္တဲ႕ directives ေတြ 11ခုရွိပါတယ္။ သူတို႕ ရဲ႕  format က ဒီလို ပံုစံေလးနဲ႕ ရွိပါတယ္။

<%@ [Directive] [Attribute=Value] %>

 

Directives: (ရွင္းလင္းေဖၚျပခ်က္ေတြကိုေတာ႕ လက္သည္းကြင္းထဲမွာ ထည္႕ျပီးေရးသားလိုက္ပါရေစ)

  1. Assembly (page သို႕မဟုတ္ user control တုိ႕ႏွင္႕ ပါတ္သက္ဆက္စပ္ေသာ assembly တို႕ကို link ခ်ိတ္ရန္)
  2. Control(.ascx ဖိုင္လို user controls သံုးဖုိ႕ ရည္ညႊန္းတဲ႕ directive ပါ)
  3. Implements( တိက်ေသခ်ာစြာေဖၚျပထားေသာ .Net framework interface ေတြကို implement လုပ္ရန္)
  4. Import(တိက်ေသခ်ာစြာ ေဖၚျပထားေသာ namespaces ေတြကို page သို႕မဟုတ္ user control ေတြထဲသို႕ import လုပ္ရန္)
  5. Master(.master ဖိုင္လို master pages ေတြမွာေရးထားတဲ႕ attributes နဲ႕ value ေတြယူသံုးေစဖို႕ တနည္းအားျဖင္႕ ကုိယ္႕ web site တခုလံုးရဲ႕ consistent layout အေနနဲ႕ ျဖစ္ေစခ်င္တဲ႕အခါ layout, structure နဲ႕ interface elements ေတြျဖစ္တဲ႕ header, footer, copyright စာသားေတြ navigation bar လုိမ်ိဳးေတြကို ေရးထားတဲ႕ master ဖုိင္ဖန္တီးတဲ႕ အခါသံုး)
  6. MasterType( master page ထဲကပါတဲ႕ references ေတြ members ေတြကိုယူျပီး page ထဲက class name တခုခုနဲ႕ ပါတ္သက္ျပီးသံုးရန္)
  7. OutputCache(page သို႕မဟုတ္ user control ရဲ႕ output catching policies ကို control လုပ္ရန္)
  8. Page(.aspx ဖို္င္မွာ attributes နဲ႕ value ေတြ specify လုပ္ဖို႕ မျဖစ္မေနသံုးတဲ႕ အသံုးအမ်ားဆံုး directive ပါ)
  9. PreviousPageType(ဒီ directive ကို သံုးျခင္းအားျဖင္႕ page တခုကေန application မွာရွိတဲ႕  တျခား page က post back event နဲ႕ အလုပ္လုပ္လို႕ ရပါတယ္)
  10. Reference(page သို႕မဟုတ္ user control ကိ္ု လက္ရွိ page သို႕မဟုတ္ user control တခုနဲ႕ link ခ်ိတ္ေပးပါတယ္) ႏွင္႕
  11. Register(namespaces ေတြ class names ေတြကို custom server control syntax မွာ notation သေဘာမ်ိဳး alias လုပ္ေပးတာပါ) တို႕ျဖစ္ပါတယ္။

 

တကယ္အသံုးအမ်ားဆံုးကေတာ႕ Page, Master, Control နဲ႕  Register တို႕ပဲ ျဖစ္ပါတယ္။

 

Page directive မွာမွ ASP.Net page အတြက္ attributes နဲ႕ value ေတြကို ထပ္မံျပီး specify လုပ္ႏိုင္ပါတယ္။ အမ်ားၾကီးရွိတဲ႕အထဲကမွ အသံုးမ်ားတာေတြကို ေဖၚျပလိုက္ပါတယ္။

 

Attributes: (Attributes ဆိုတာ 2005/ JAVA 1.5 မွာ စသံုးတဲ႕ Annotation ကို အတုယူျပီး C#မွာက် သူ႕လို how ဆုိတဲ႕ coding ေတြကို compiler/machine က auto generated လုပ္သြားေပးဖုိ႕ ေျပာေပးတဲ႕ additional information to compiler or machine လို႕ ေျပာခ်င္ပါတယ္)

 

-AutoEventWireUp(page events ေတြကို autowired လုပ္ေစခ်င္တဲ႕အခါမွာ value ကို true ေပးတာပါ။ default ကလဲ true ပါ။ မလုပ္ေစခ်င္တဲ႕အခါ false ေပးထားလို႕ရပါတယ္)

-CodeFile(.cs လို႕ သိထားတဲ႕ code behind file နဲ႕  page ကို associate လုပ္ဖုိ႕ပါ။ code behind file အေၾကာင္းေျပာတုန္းက ရွင္းျပဖူးပါတယ္)

-Debug(Page ကို debug symbols ေလးေတြနဲ႕ compile လုပ္ေစခ်င္တဲ႕အခါမွာ true ေပးျပီးသံုးပါတယ္)

-EnableSessionState(ကုိယ္႕ application ရဲ႕ သတ္မွတ္ထားတဲ႕ session state ကို အလုပ္လုပ္ေစခ်င္တဲ႕ အခါမွာ true ေပးျပီးသံုးပါတယ္)

-EnableViewState(user က registration form လုိမ်ိဳးမွာ data ေတြျဖည္႕ျပီး back နဲ႕  to and from ျပန္သြားတဲ႕အခါ ျဖည္႕ထားတဲ႕ data ေလးေတြ က်န္ေနတာမ်ိဳး ျပန္ျမင္ၾကည္႕ရင္ အဲလို condition ရဖို႕  viewstate ကုိ maintained လုပ္ထားဖုိ႕ true ေပးပါတယ္လို႕ အလြယ္ေျပာပါရေစ။ နည္းပညာဆန္ဆန္ ေျပာမယ္ဆုိရင္ေတာ႕  ASP.Net က StateManagement ျဖစ္သြားျပီး current user's information ကို တစ္ၾကိမ္ submit မလုပ္ခင္အခ်ိန္အထိ server မွာ retain လုပ္ေပးထားတဲ႕ view state technology ကို သံုးေစခ်င္တဲ႕ အခါ ဒီ attribute ကို သံုးတာပါ။)

-ErrorPage(page မွာ unhandled exceptions ေတြတက္တဲ႕အခါ ပုိ႕စ္လုပ္ဖုိ႕ URL ကို specifies လုပ္ေပးထားတဲ႕ page ပါ)

-Language(အရင္ေျပာခဲ႕ဖူးသလို page ကို VB နဲ႕ ေရးမလား C# နဲ႕ ေရးမလားဆုိျပီး ေၾကျငာတာပါ။ စကားစပ္တုန္း application တခုတည္းမွာတင္ language ကို VB or C# သီးသန္႕ခ်ည္းေရးတာျဖစ္ျဖစ္ page တခ်ိဳ႕  မွာ VB နဲ႕ ေရးျပီး တခ်ိဳ႕မွာေတာ႕ C# နဲ႕ေရးတာမ်ိဳး လုပ္လို႕ ရေၾကာင္း ေျပာျပခ်င္ပါတယ္)

ေနာက္ထပ္ attribute ကေတာ႕

-MasterPageFile(master page မွာ "အေပၚ directive မွာ ေျပာခဲ႕သလို" ေရးထားျပီးမွ တျခား pages ေတြကေန ဒီ attribute ေလးနဲ႕  master file ရဲ႕ location ကိုေဖၚျပျပီး ေခၚေခၚ သံုးတာမ်ိဳး) တို႕ျဖစ္ပါတယ္။

 

Attributes ေတြနဲ႕ ပါတ္သက္ျပီး အေသးစိတ္ကိုေတာ႕  ေနာက္ထပ္ ပို႕စ္ေတြမွာ ၾကံဳရင္ၾကံဳသလို ထပ္ေျပာပါဦးမယ္။ အခုေတာ႕ calculator page ေလးကို create လုပ္ျပီး run ၾကည္႕ရေအာင္ေနာ္။

 

Calculator.aspx(ဖုိင္နာမည္ ေပးရန္)

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Calculator.aspx.cs" Inherits="Calculator" %>

 

<html>

<head runat="server">

    <title>Calculator Page</title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

        <asp:Label ID="lblFirst" runat="server" Text="First number"></asp:Label>

        <asp:TextBox ID="txtFirst" runat="server"></asp:TextBox>

        <br />

        <br />

        <asp:Label ID="lblSecond" runat="server" Text="Second number"></asp:Label>

        <asp:TextBox ID="txtSecond" runat="server"></asp:TextBox><br />

        <br />

        <asp:Button ID="btnAdd" runat="server" Text="Add" OnClick="btnAdd_Click" />

  <br />

        <br />

        The answer is:

        <asp:Label ID="lblAnswer" runat="server" ></asp:Label>

  </div>

  </form>

</body>

</html>

 

Calculator.aspx.cs(ဖုိင္နာမည္ ရွိျပီးသားတြင္ရိုက္ရန္)

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

 

public partial class Calculator : System.Web.UI.Page

{

    protected void btnAdd_Click(object sender, EventArgs e)

    {

        decimal a = decimal.Parse(txtFirst.Text);

        decimal b = decimal.Parse(txtSecond.Text);

        decimal c = a + b;

        lblAnswer.Text = c.ToString();

    }

}

 

ဖုိင္ဘယ္လို အသစ္ထည္႕ရတယ္ browser မွာေပၚေအာင္ ဘယ္လို run ရတယ္ဆုိတာ ထပ္မေျပာေတာ႕ဘူးေနာ္။ shortcut အေနနဲ႕  run ၾကည္႕ခ်င္ရင္ေတာ႕  .aspx ဖိုင္ကေန function key 'F5' နွိပ္ျပီး run ၾကည္႕ႏုိင္ပါတယ္။

 

 data ေလးေတြ ထည္႕ျပီး Add button ကို ႏွိပ္လိုက္ရင္ ကို္ယ္ေမွ်ာ္လင္႕ထားတဲ႕ အေျဖေလးေတြ႕လုိ႕  ဒီသင္ခန္းစာေလးနဲ႕ ေပ်ာ္ရႊင္ႏိုင္ပါေစေနာ္။

အခ်ိန္လဲ အားေသးတယ္ programming ကို တကယ္စိတ္၀င္စားတယ္ဆုိရင္ေတာ႕  ေပါင္းတာအျပင္ ႏႈတ္တာ၊ ေျမွာက္တာ၊ စားတာေလးေတြ လုပ္ဖုိ႕  button ေလးေတြ ထပ္ create လုပ္ျပီးစမ္းၾကည္႕ၾကပါဦးစို႕ ဗ်ိဳးးးးးးးးးးး

 

(ကုဒ္ဒင္း အဆင္မေျပတာေတြ႕လွ်င္ ကြန္႕မန္႕ထားခဲ႕ပါရန္)

Wednesday, June 4, 2008

PROFESSIONAL ဆိုတာ...

PROFESSIONAL ဆိုတာ...နဲ႕ပါတ္သက္ျပီး စာေရးဆရာမ ဂ်ဴးေရးခဲ႕တဲ႕ ေဆာင္းပါးတစ္ပုဒ္ျဖစ္မယ္ထင္ပါတယ္။ အဲဒါေလးဖတ္တုန္းက သေဘာက်မိတာနဲ႕ မွတ္စုတိုသေဘာမ်ိဳးေလး ေရးမွတ္ခဲ႕ဖူးတာကို ျပန္လည္မွ်ေ၀လိုက္တာပါ။ 

Professional ဆိုတာကို ဘယ္လို အဓိပၸါယ္ဖြင္႕ဆိုထားသလဲဆိုေတာ႕ -

ဘာသာရပ္တစ္ခုမွာ ကၽြမး္က်င္တတ္ေျမာက္ျပီး ထုိကၽြမ္းက်င္မႈျဖင္႕ အသက္ေမြး၀မ္းေက်ာင္းျပဳသူပါတဲ႕။

ျပီးေတာ႕  Professional တစ္ေယာက္အေနနဲ႕ ရွိသင္႕တာ၊ ဒါမွမဟုတ္ ရွိႏွင္႕ျပီးသား အရည္အခ်င္း(skills) ေတြကေတာ႕ -

-         vision ဆိုတဲ႕ အျမင္ နဲ႕  mission(တိက်ေသခ်ာစြာသတ္မွတ္ထားတဲ႕ လုပ္ငန္းတာ၀န္ လို႕ေခၚမလားမသိ) ရွိရပါမယ္

-         determined ဆိုတဲ႕ တစ္ခုတည္းေသာအာရံုနဲ႕ စိတ္ပိုင္းျဖတ္ျပီးသား သႏၷိဌာန္ခ်ျပီးသား( ဆိုလိုတာက သူ႕စိတ္ကို ပုိင္ပိုင္ႏိုင္ႏိုင္သိျပီးသား၊ သူဘာလိုခ်င္တယ္၊ ဘာေပးခ်င္တယ္ဆိုတာ ဆံုးျဖတ္ျပီးသား)

-         designing ways forward

ေရွ႕ဆက္မဲ႕ ေျခလွမ္းေတြ အဆင္ေျပမဲ႕နည္းလမ္းေတြကို ပံုေဖၚဖို႕လဲတတ္ရမယ္။

-         compromise

အေပးအယူ၊ အေလွ်ာ႕အတင္းလဲ ရွိရမယ္။

-         stand on principle

ကိုယ္႕မူ၊ ခံယူခ်က္ အတိုင္း ရပ္တည္ရမယ္။

-         efficiency

ကုိယ္႕ရဲ႕စြမ္းေဆာင္ရည္ကို အျမဲ ျမွင္႕ေနရမယ္။

-         management

ကိုယ္အပါအ၀င္ ကုိယ္႕လုပ္ငန္းခြင္ကိုလည္း စီမံအုပ္ခ်ဳပ္ႏိုင္ရမယ္။

-         money

ကိုယ္႕ဘ၀ စား၀တ္ေနေရးအတြက္လံုလံုေလာက္ေလာက္ earning လုပ္တဲ႕ အေျခအေန ျဖစ္ရမယ္။

-         Accessment

ကိုယ္ရထားတဲ႕ ရာထူး၊ လစာသည္ ကိုယ္ေပးရတဲ႕ အခ်ိန္၊ ၾကိဳးပမး္အားထုတ္မႈနဲ႕ ထိုက္တန္လား မတန္လား ဆန္းစစ္ေနရမယ္။

-         Association

ကို္ယ္႕ရဲ႕ သက္ေမြး၀မ္းေၾကာင္း အလုပ္သည္ ယံုၾကည္ခ်က္နဲ႕ အလုပ္တူတဲ႕ အစုအစည္း၊ အသို္င္းအ၀န္းျဖစ္ရမယ္။

-         Sharing

ကိုယ္သိရွိနားလည္မႈေတြ၊ ေအာင္ျမင္မႈေတြကို မွ်ေ၀ခံစားႏိုင္ရမယ္

-         Responsibility

ကိုယ္နဲ႕အတူ ကိုယ္႕လက္ေအာက္ငယ္သားေတြ လုပ္တဲ႕ တာ၀န္၀တၱရားနဲ႕ လုပ္ေဆာင္မႈေတြအေပၚမွာ မွားသည္ျဖစ္ေစ၊မွန္သည္ျဖစ္ေစ တာ၀န္ယူမႈ ရွိရမယ္။

-         Commitment

ကို္ယ္လုပ္ေဆာင္ရတဲ႕ အပိုင္းတိုင္းမွာ အာရံုစူးစိုက္နစ္၀င္မႈ ရွိရမယ္။


အဲဒါေတြကို က်မမွတ္သားခဲ႕မိတာေတြကို ဆီေလ်ာ္ေအာင္ ျပန္ေရးျပီး sharing လုပ္တာပါ။

တကယ္႕လက္ေတြ႕ဘ၀မွာလဲ က်မသိရွိနားလည္မိရင္းထပ္ျဖည္႕ခ်င္တာက ကို္ယ္႕ရဲ႕ သက္ေမြး၀မး္ေၾကာင္းအလုပ္ကို ကို္ယ္တိုင္တန္ဖိုးထားဂုဏ္ယူတဲ႕  proud အျပင္ ခ်စ္ျမတ္ႏိုးတဲ႕ စိတ္ passion ေလးလဲ ထပ္ျဖည္႕သင္႕တယ္ထင္ပါတယ္။

စိတ္ထဲမွာ ထပ္ထည္႕ေပးခ်င္ ျဖည္႕ေပးခ်င္တာေလးေတြရွိေသးရင္ျဖစ္ျဖစ္ သေဘာမတူတဲ႕ အခ်က္ေတြျဖစ္ျဖစ္ ရွိေသးရင္ေတာ႕ ကြန္႕မန္႕မွာ ၀င္ေရးေပးၾကပါဦးေနာ္။