Sunday, May 23
PROGRAMMING KNOWLEDGEMENT
Serial Port Programming by VB 6.0 (၁)
VB 6.0 ဟာ အခုလို .NET တွေ တွင်ကျယ်နေတဲ့ ခေတ်မျိုးမှာ သိပ် ခေတ်မစားတော့ပါဘူး။ ဒါပေမယ့် portable ပိုဖြစ်တယ် ဆိုတဲ့ အချက်ကြောင့် ကျွန်တော်တို့ တစ်ချို့ တစ်လေ အတွက်တော့ အခုထိ လက်လွှတ်လို့ မရသေးပါဘူး။ အခု ဆောင်းပါးမှာတော့ VB 6.0 ကိုသုံးပြီး Serial Port ကို ဒေတာတွေ ဘယ်လို ရေးရမယ် ဆိုတာကို ရှင်းလင်း တင်ပြသွားမှာ ဖြစ်ပါတယ်။
ဒါပေမယ့် ဒီဆောင်းပါးကို ဖတ်ဖို့ VB 6.0 နဲ့ ပက်သက်တဲ့ အခြေခံ အချို့ကို သိထားပြီး ဖြစ်ဖို့တော့လိုပါတယ်။ ကျွန်တော် ရေးတဲ့ ဆောင်းပါး အတော်များများဟာ အခြေခံ ရှိပြီးသား စာဖတ် ပရိသတ် အတွက် ရည်ရွယ်ထားတာ ဖြစ်တဲ့ အတွက် လေ့လာကာစ စာဖတ် ပရိသတ် အတွက် ဖတ်ရတာ အခက်အခဲ ရှိတယ် ဆိုရင် တောင်းပန်ပါတယ်။
PC တစ်လုံးရဲ့ Serial data တွေကို Serial Port (Com1-Com4) ကနေ ပို့ဆောင်တဲ့ နေရာမှာ ASCII data တွေကို အသုံးချ ရပါတယ်။ အဲဒီလို လုပ်ဆောင်ဖို့ VB 5.0 နဲ့ 6.0 မှာ MsComm ဆိုတဲ့ control ကို အသုံးပြုရမှာ ဖြစ်ပါတယ်။ အဲဒီ control ဟာ custom control ဖြစ်တဲ့ အတွက် default control အနေနဲ့ ပါလာမှာ မဟုတ်ပါဘူး။ ဒါကြောင့် menu ထဲက Project - Components ဆိုပြီး ပေါ်လာတဲ့ dialog box ထဲက Microsoft comm control 6.0 ဆိုတာလေးကို ပုံမှာ ပြထားတဲ့ အတိုင်း ရွေးချယ်ပေးရပါမယ်။
နောက် တစ်ဆင့် အနေဖြင့် MS Comm control (တယ်လီဖုန်းပုံ) ကို အောက်ပုံတွင် ဖေါ်ပြထားသည့် အတိုင်း Toolbox မှ form ပေါ်သို့ ဆွဲယူ ရေးသား ရမည် ဖြစ်သည်။
Serial Port ကို programming အသုံးပြု၍ interfacing ပြုလုပ်ရာတွင် နည်းလမ်း ၂ ခုကို အသုံးပြုနိုင်သည်။
1. Interrupt communication
Interrupt communication ပြုလုပ်ရာတွင် Interrupt process မှ အဆိုပါ devices များမှ မိမိ ကွန်ပျူတာ ၏ comm port ဆီသို့ signal ပို့မပို့ကို စောင့်ကြည့် နေရမည် ဖြစ်သည်။ ပရိုဂရမ်မာ တစ်ယောက်အနေဖြင့် ComEvent နှင့် OnCommEvent နှစ်ခုကို အသုံးပြုရမည် ဖြစ်သည်။ အကယ်၍ အဆိုပါ events များ active ဖြစ်လာပါက devices များမှ signal များ ပေးပို့ကြောင်း သိရှိနိုင်မည် ဖြစ်သည်။
2. Polling Communication
PC system တစ်ခုတွင် polling ဆိုသည်မှာ CPU နှင့် terminal တစ်ခုကြား ဒေတာ ပို့ဆောင်ခြင်း ဖြစ်သည်။ ဥပမာ ကီးဘုတ်မှ ကီး တစ်ခုကို နှိပ်ထားမထား စောင့်ကြည့်သည့် ပုံစံမျိုးဖြစ်သည်။ သို့သော် အဆိုပါ device တစ်ခုတည်းကိုသာ အချိန်ပြည့် စောင့်ကြည့်နေပါက infinite looping ကဲ့သို့ အခြေအနေမျိုး ဖြစ်ကာ အခြား devices များ အလုပ် ဆက်မလုပ်နိုင်တော့ဘဲ ကွန်ပျူတာ ဟန်း သွားမည် ဖြစ်သည်။ ထိုအခြေအနေမျိုးကို "Web Poll" ဟုခေါ်ပြီး Loss time 90% ရှိတတ်သည်။ အဆိုပါ cycle time lose ကို ရှောင်ရှားရန် VB Programming တွင် Roung Robin ဟု ခေါ်သော Timer control ကို အသုံးပြု၍ Serial Port ကို အလှည့်ကျ စောင့်ကြည့် သည့် စနစ် ကို အသုံးချနိုင်သည်။
MSComm control တွင် interrupt ကို အသုံးပြုနိုင်သော event မှာ Oncomm Event ဖြစ်သည်။ ပုံမှန် Serial port communication အတွက် အသုံးပြုလေ့ရှိသော comm event မှာ comEvReceive နှင့် comEvSend တို့ ဖြစ်သည်။ Modem ကို အသုံးပြု၍ ဆက်သွယ်မှု အမြောက်အများ အတွက် signals များကို စောင့်ကြည့်ရန် အတွက်မူ MSDN ကိုသာ ရှာဖွေရန် ရည်ညွှန်းလိုပါသည်။
MSComm Element (Serial Port အတွက် setting များ ပြုလုပ်ခြင်း)
• ComPort သည် RS-232 port interfacing အတွက် Com1, Com2 စသဖြင့် ရွေးချယ်ပေးရန် ဖြစ်သည်။
• Setting မှာ Baud,Parity,Data(number of bits),Stop ပုံစံဖြည့်ရန် ဖြစ်သည်။ ဥပမာ။ "1200,n,8,1 "
• HandShaking တွင် ကျွန်တော်တို့ အနေဖြင့် အမျိုးအစား ၄ မျိုးကို အောက်ပါအတိုင်း သတ်မှတ် ပေးနိုင်ပါသည်
• comNone
• comXonXoff
• comRTS
• comTRSXonXoff
အချက်အလက်များ ပေးပို့ရာတွင် Buffer ကို အသုံးပြုပုံ
-InBuffersize ကို လက်ခံရရှိလာသော အချက်အလက်များ အတွက် buffer အရွယ်အစားကို သတ်မှတ်ရန် အသုံးပြုသည်။
- OutBuffersize ကို ပေးပို့မည့် အချက်အလက်များ အတွက် buffer အရွယ်အစားကို သတ်မှတ်ရန် အသုံးပြုသည်။
- Rthreshold ကို အချက်အလက်များ ပေးပို့ရာတွင် Event-driven ဖြစ်စေရန် သတ်မှတ်သည်။
- Sthreshold ကို အချက်အလက်များ ရယူရာတွင် Event-driven ဖြစ်စေရန် သတ်မှတ်သည်။
- Inputlen သည် buffer အတွင်း လက်ခံရယူနိုင်သော အချက်အလက် အရေအတွက် ကို သတ်မှတ်ပေးသည်။
- EOFEnable ဆိုသည်မှာ ဖိုင် အဆုံးကို သတ်မှတ်ထားသော သင်္ကေတ ဖြစ်သည်။
About Hardware
- ParityReplace mean is character value instead of occur Parity Error
- NullDiscard mean is define in receive or not "NULL CHARACTER"
- RTSEnable mean is define signal RTS (Request To Send)
- DTSEnablemean is define signal DTR(Data Terminal Ready)
Port များကို ဆက်သွယ်ရန်အတွက် MSComm ၏ properties များကို ရွေးချယ် သတ်မှတ်ခြင်း
1. CommPort Property ကို coding မိမိ ရေးသားရာတွင် အသုံးပြုလိုသည့် comm port ကို ရွေးချယ်နိုင်ရန် အတွက် အသုံးပြုနိုင်သည်။ ဥပမာ။ Com1 ကို အသုံးပြုမည်ဆိုပါက MSComm1.CommPort=1 ဟူ၍ရေးသားနိုင်သည်။
2. Settings Property ကို coding ရေးသားရာတွင် အချက်အလက်များ ပေးပို့/လက်ခံ မည့် သတ်မှတ်ချက်များ ဖြစ်သော Baud(rate for receive/send data),Parity(N),Number of bits,bits Stop စသည်တို့ကို သတ်မှတ်နိုင်ရန် အသုံးပြုထားခြင်း ဖြစ်ပါသည်။ အသုံးပြုပုံမှာ အောက်ပါ အတိုင်း ဖြစ်ပါသည် -
MSComm1.Settings="Baud(rate for receive/send data),Parity(N),Number of bits,bits Stop"
ဥပမာ။ MSComm1.Settings="1200,N,8,1"
3. InputLen Property ကို input buffer size သတ်မှတ်ရန် အတွက် အသုံးပြုသည်။
Exemple MSComm1.InputLen=1
4. Property PortOpen ကို port အား ဖွင့်ခြင်း ပိတ်ခြင်း ပြုလုပ်ရန် အသုံးပြုသည်။ Open =True ,Close =False
ဥပမာ။ MSComm1.PortOpen=True
5. Rthreshold Property သည် buffer တွင် အချက်အလက်များ လက်ခံရရှိလာသည့် အခါတွင် Event-driven activation ကို ဖြစ်ပေါ်စေသည်။ OnComm Event procedure အတွင်းရှိ CommEvent ကို active ဖြစ်စေသည်။
Example MSComm1.Rthreshold =1
MSComm properties များကို port selection နှင့် port enabling functions အစရှိသော communication parameters များအား သတ်မှတ်ပေးရန် အသုံးပြုနိုင်သည်။ အဆိုပါ setting များကို အောက်တွင် ဖေါ်ပြထားသကဲ့သို့ Form_load() procedure တွင် ရေးသားခြင်း သို့မဟုတ် new Sub တစ်ခု ဖန်တီး၍ နောင်မှ ခေါ်ယူ အသုံးချ ခြင်းများ ပြုလုပ်နိုင်သည်။
Private Sub Form_Load()
MSComm1.Settings="1200,N,8,1"
MSComm1.CommPort=1
MSComm1.InputLen=1
MSComm1.PortOpen=True
MSComm1.Rthreshold =1
End Sub
Serial port ကို သုံးပြု၍ ဆက်သွယ်ခြင်း
အထက်တွင် ရေးသားပြခဲ့သော coding အရ Comm port ကို အသုံးပြု RS-232 နှင့် ဆက်သွယ်ရန် အတွက် လိုအပ်သော အချက်အလက်များ သတ်မှတ်ပေးထားပြီး ဖြစ်ရာ ဒေတာ ပေးပို့ခြင်း၊ ရယူခြင်းများကို Output နှင့် Input properties များ အသုံးပြု၍ လုပ်ဆောင် နိုင်ပါသည်။
Output = အချက်အလက်များကို Serial port သို့ ပေးပို့ရန် အသုံးပြုသည်။
Input == အချက်အလက်များကို Serial port မှ ရယူရန် အသုံးပြုသည်။ but this will being command to write at Event Property OnComm that has in Sub MSComm_OnComm that read data from serial port or RS-232
ဥပမာ
keyboard မှ ရိုက်သွင်းလိုက်သော အချက်အလက်များကို serial port သို့ ပေးပို့ရန် အတွက် TextBox Control ၏ KeyPress event ကို အောက်ဖေါ်ပြပါ အတိုင်း အသုံးပြုနိုင်သည်။
Sub txtRXTX_KeyPress(KeyAscii As Integer)
MSComm1.Output=Chr$(KeyAscii)
End Sub
ပေးပို့သော အချက်အလက်များ ကို လက်ခံရယူရန် အတွက်မူ OnComm event ကို အောက်ပါ နမူနာ အတိုင်း အသုံးပြု နိုင်သည်။
Private Sub MSComm1_OnComm()
Dim StrData As Variant 'define variable type as it is variant
Str=MSComm1.Input
Text1.Text=StrData
End Sub
ကျွန်တော် ပထမဆုံး Input property ကို အသုံးပြုစဉ်က direct data များ ရယူရာတွင် အဆင်မပြေ ဖြစ်ခဲ့ရသည်။ ထို့ကြောင့် filter function အနေနှင့် အောက်တွင် ရေးသား ဖေါ်ပြထားသော DataShow function ကို အသုံးပြုခဲ့ရသည်။
DataShow function
Public Static Sub DataShow(TextShow As Control, Data As String)
Const SpeedBaud = 16000
Dim LngSize As Long, X
LngSize = Len(TextShow.Text)
If TermSize > SpeedBaud Then
TextShow.Text = Mid$(TextShow.Text, 4097)
LngSize = Len(TextShow.Text)
End If
TextShow.SelStart = SpeedBaud
Do
X = InStr(Data, Chr$(8))
If X Then
If X = 1 Then
TextShow.SelStart = SpeedBaud - 1
TextShow.SelLength = 1
Data = Mid$(Data, X + 1)
Else
Data = Left$(Data, X - 2) & Mid$(Data, X + 1)
End If
End If
Loop While X
Do
X = InStr(Data, Chr$(10))
If X Then
Data = Left$(Data, X - 1) & Mid$(Data, X + 1)
End If
Loop While X
X = 1
Do
X = InStr(X, Data, Chr$(13))
If X Then
Data = Left$(Data, X) & Chr$(10) & Mid$(Data, X + 1)
X = X + 1
End If
Loop While X
TextShow.SelText = Data
TextShow.SelStart = Len(TextShow.Text)
End Sub
Call function DataShow :
Call DataShow Text1,(StrConv((StrData),vbUnicode))
Using Even in OnComm() procedure
အောက်ပါ နမူနာ ပရိုဂရမ်တွင် Select case condition ကို အသုံးပြု၍ ရေးသား ထားပါသည်။
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
Dim Buffer As Variant
Buffer = MSComm1.Input
ShowData txtRXTX, (StrConv((Buffer), vbUnicode))
Case comEvSend : 'here put your condition that you want
Case comEvCTS
Case comEvDSR
Case comEvCD
Case comEvRing
Case comEvEOF
Case comBreak
Case comCDTO
Case comCTSTO
Case comDCB
Case comDSRTO
Case comFrame
Case comOverrun
Case comRxOver
Case comRxParity
Case comTxFull
End Select
End Sub
ကျွန်တော့် အနေနဲ့ Microcontroller ကို Serial port ကနေတစ်ဆင့် Ascii command တွေ လှမ်းပို့ပြီး stepper motor တစ်လုံးကို ဘယ်လိုမျိုး ထိန်းချုပ်လို့ ရလဲ ဆိုတာကို အောက်မှာ နမူနာ ရေးပြထား ပါတယ်။
A99 ' accelerate setting - အရှိန်မြှင့်ဖို့
V3 ' speed setting - အရှိန်နှုန်း
D5000 ' step setting -
H- 'direction setting - ဦးတည်ရာ ထိန်းချုပ်ရန်
G ' go ,it is start motor command - မော်တာ စတင်ရန်
အောက်က နမူနာ ပရိုဂရမ်လေးမှာ button တစ်ခု ထည့်ထားပြီး click လုပ်တဲ့ အချိန်မှာ အလုပ်စလုပ်မှာ ဖြစ်ပါတယ်။
Private Sub Command1_Click()
MSComm1.Settings="1200,N,8,1"
MSComm1.CommPort=1
MSComm1.InputLen=1
MSComm1.PortOpen=True
MSComm1.Rthreshold =1
If MSComm1.PortOpen Then
MSComm1.Output ="A99 V3 D5000 H- G " ' character lastest will be press space bar 1 time before put symbol "
End If
End Sub
အောက်ပါ ပရိုဂရမ်ကတော့ MODEM ကို အသုံးပြုပြီး Serial port ကနေ အဆက်အသွယ်ပြုလုပ်တဲ့ နည်းလမ်း နမူနာပဲ ဖြစ်ပါတယ်။
Private Sub Form_Load()
Dim strValue As String ' define Buffer value from Modem
MSComm1.CommPort = 1 ' select Com1
MSComm1.Settings = "9600,n,8,1" ' setting parameter in communicate with com port
MSComm1.InputLen = 0 'define size of Input buffer (comming with Modem)
MSComm1.PortOpen = True ' command open port
MSComm1.Output = "ATV1Q0" & Chr&(13) 'send AT command to Modem
Do
DoEvents
strValue = strValue & MSComm1.Input ' get input data of Com Port
Loop Until InStr(strValue, "OK" & vbCrLf)
MSComm1.PortOpen = False 'Close port
End Sub
မှတ်ချက်များ
1. PORT ENABLING
Port ရွေးချယ်ခြင်း နှင့် enable ပြုလုပ်ခြင်းများကို form load နှင့် unload subroutines များတွင် coding ရေးသား သင့်သည်။ သို့မဟုတ် radio buttons နှင့် pull down menus များကို အသုံးချ၍ runtime တွင် ရွေးချယ်နိုင်ရန် စီမံထားသင့်သည်။
2.ဒေတာများ ရယူခြင်း
serial port မှ ဒေတာများ ရယူရာတွင် serial buffer ထဲမှာ လက်ခံရရှိတဲ့ စာလုံးအရေအတွက် မှန်ကန်တဲ့ အထိ စောင့်ဖို့ အရေးကြီးပါတယ်။ မှန်ကန်တဲ့ စာလုံး အရေအတွက် ရရှိလာရင် carriage return (တစ်ကြောင်း ဆင်းဖို့) တစ်လုံး နဲ့ line feed အတွက် တစ်လုံး စုစုပေါင်း ၂ လုံး ထပ်ပေါင်းထည့်ပြီး စောင့်ကြည့်ရမှာ ဖြစ်ပါတယ်။
3.ဒေတာများ ပေးပို့ခြင်း
အခြေအနေ အတော်များများမှာ Serial port ကနေ ဒေတာ ပေးပို့ရာမှာ Command တစ်ခုနဲ့ တန်ဖိုး တစ်ခုကို တွဲပြီး ပို့ရမယ့် အခြေအနေမျိုး ကြုံရလေ့ ရှိပါတယ်။ ဥပမာ။ 'GO' ဆိုတဲ့ ညွှန်ကြားချက်နဲ့ '1500' ဆိုတဲ့ position value တစ်ခုကို တွဲလျက် ပေးချင်တယ်ဆိုရင် အောက်ပါအတိုင်း ပေးပို့လို့ ရပါတယ်။
MSComm1.Output = " GO 1500" + Chr(13)
(အဲဒီမှာ Chr(13) ဆိုတာ carriage return (တစ်ကြောင်းဆင်းတဲ့ သင်္ကေတ) ဖြစ်ပါတယ်။)
စာဖတ်သူများ အနေနဲ့ Microcontroller တွေကို Serial port သုံးပြီး ဘယ်လို ဆက်သွယ်ရလဲဆိုတာကို သိချင်နေမယ် ထင်ပါတယ်။ တကယ်တော့ အထက်က ဖေါ်ပြထားပြီးသား နည်းလမ်းတွေကိုပဲ သုံးပြီး ဆက်သွယ်ရတာပဲ ဖြစ်ပါတယ်။ ဒါပေမယ့် ကိုယ် ဆက်သွယ်မယ့် Microcontroller တွေ အသုံးပြုထားတဲ့ protocol တွေကိုတော့ သေသေချာချာ သိထားရမှာ ဖြစ်ပါတယ်။
.....ဆက်ရန်
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
Haious Ezy Uploader
ကျွန်တော့် အနေနဲ့ စာဖတ်သူများကို upload တင်ဖို့ Haious Ezy Uploader ဆိုတဲ့ ဆိုဒ်လေး တစ်ခုကို လက်တို့ ချင်ပါတယ်။ မြန်မာလူမျိုး ကွန်ပျူတာ ပညာရှင် တစ်ယောက် လွှင့်တင် ထားတာ ဖြစ်ပြီး ဘာ အကျိုး အမြတ်ကို မျှ မယူဘဲ အသုံးပြုသူတွေ အခမဲ့ နဲ့ အဆင်အပြေဆုံး ဖြစ်အောင် ကြိုးစားထားတာကို တွေ့ရပါတယ်။ အဲဒီဆိုဒ်လေးမှာ အကြီးဆုံး upload အရွယ်အစား အနေနဲ့ 100 MB အထိ တင်ပို့ နိုင်ပြီး ဖိုင် အမျိုးအစား တွေ အနေနဲ့ GIF, JPEG, JPG, PNG, PDF, DOC, ZIP, EXE အစရှိတဲ့ ဖိုင်မျိုးစုံကို တင်ပို့ ခွင့် ပြုထားတာကို တွေ့ရပါတယ်။ ဒါ့အပြင် အဲဒီ တင်ပို့ ထားတဲ့ ဖိုင်လေးတွေကိုလဲ ဘယ်တော့မှ မဖျက်ဘဲ ထားပေးမယ်လို့ အာမခံထားပါသေးတယ်။ ဒါကြောင့် User တွေ အနေနဲ့ မိမိတို့ ဖိုင်လေးတွေကို အမြဲတမ်း သိမ်းဆည်း ထားနိုင်သလို စောင့်ဆိုင်းစရာမလိုဘဲ အချိန်မရွေး ဆွဲယူ အသုံးချ နိုင်မှာ ဖြစ်ပါတယ်။ ဖိုင် အရေအတွက် အကန့် အသတ်မရှိ သိမ်းဆည်း ထားနိုင်သလို twitter, digg, delicious နဲ့ facebook တွေမှာ direct link လုပ်ခွင့် ပေးထားတာမို့ စမ်းသပ် သုံးစွဲ ကြည့်ပါ လို့ တိုက်တွန်းလိုက် ပါရစေ။
အကိုးအကား
http://ezy.haious.org/v2/about.php
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
ဘလောက်လိပ်စာ ပြောင်းလဲခြင်း
ကျွန်တော့် ဘလောက်လေးကို ဂူဂယ်က ဝယ်ထားပြီး Google App နဲ့ ညိနေလို့ ပြဿနာကို ဖြေရှင်းနေရတဲ့ အချိန် အတွင်းမှာ http://blog.engineer4myanmar.com ကို မလွှဲမရှောင်သာ အိမ်ပြောင်း နေခဲ့ရပါတယ်။ အိမ်ငှားဘဝမှာ ဆင်းရဲစွာနေခဲ့ပြီးမှ အခု မူလလက်ဟောင်း လိပ်စာ လေး ဖြစ်တဲ့ http://www.engineer4myanmar.com ကို အောက်ပါ ဆက်တင်းများ အကူအညီနဲ့ ပြန်လည် ရရှိသွားပြီ ဖြစ်ပါတယ်။ ဒါကြောင့် လာရောက် ဖတ်ရှုကြတဲ့ မိတ်ဆွေများကို အရင်လိပ်စာဖြစ်တဲ့ http://www.engineer4myanmar.com ကိုပဲ ပြောင်းလဲ ဖတ်ရှုကြဖို့ အားနာနာနဲ့ ပဲ မေတ္တာရပ်ခံပါရစေ ခင်ဗျာ။
ကျွန်တော့် ဘလောက်လေးကို လင့်ခ်များ ချိတ်ထားခဲ့မယ်ဆိုရင်အား အားလပ်တဲ့ အချိန်ကျရင် လိပ်စာပြောင်းလဲ ရည်ညွှန်းပေးပါလို့ အနူးအညွှတ် တောင်းပန်ပါတယ်ခင်ဗျာ။
ဘလောက်ဂါ အတွက် DNS setting များ
DNS setting ထဲမှာ
engineer4myanmar.com. 3600 IN A 64.202.189.170
www.engineer4myanmar.com. 3600 IN CNAME ghs.google.com.
ဒီလိုလေးပဲ ရှိနေဦးမယ်ဆိုရင် အဆင်မပြေဖြစ်တတ်ပါတယ်။
အောက်ပါအတိုင်း ထပ်မံ ပြင်ဆင်ပေးလိုက်ပါ။
engineer4myanmar.com. 3600 IN A 64.233.179.121
engineer4myanmar.com. 3600 IN A 66.249.81.121
engineer4myanmar.com. 3600 IN A 72.14.207.121
www.engineer4myanmar.com. 3600 IN CNAME ghs.google.com.
မှတ်ချက်
ပုံမှန်အားဖြင့် DNS setting ထဲမှာ www.engineer4myanmar.com ကို ghs.google.com နဲ့ assign လုပ်ပေးပြီး TTL 3600 ထားပေးလိုက်ရင် အိုကေပေမယ့် ဒိုမိန်းနိမ်းကို ဂူဂယ်က ဝယ်ထားပြီး Google App နဲ့ အခန့်မသင့်လို့ ညိသွားရင် ပြဿနာ အကြီးအကျယ် တက်တတ်ပါတယ်။ အဲလိုဖြစ်လာရင် Google blogger အတွက်ပေးထားတဲ့ server တွေရဲ့ IP address 3 ခုကို A records 3 ခု လုပ်ပြီး အထက်ပါ ဥပမာအတိုင်း assign လုပ်ပေးခြင်းနဲ့ ဖြေရှင်းနိုင်ပါတယ်။
ဒါပေမယ့် http://engineer4myanmar.com ကိုပါ http://www.engineer4myanmar.com ကို redirect လုပ်ပေးဖို့ လိုအပ်ပါတယ်။ ဒါမှသာ လိပ်စာ ၂ ခုလုံးနဲ့ ဝင်လို့ ရမှာ ဖြစ်ပါတယ်။ အဲဒါကို ကျွန်တော်ကတော့ URL Redirection လုပ်ခြင်းဖြင့် ဖြေရှင်းပါတယ်။ အထူးသတိထားရမှာက အဲဒီအဆင့်ကို DNS setting လုပ်ပြီးမှ သွားလုပ်မိရင် DNS setting တွေ ပျက်သွားတတ်တာပါပဲ။ အဲဒါလေးကို ပြန်စစ်ပြီး ပျက်သွားရင် ပြန်လုပ်လိုက်ပါ။
အကိုးအကားများ
http://blogging.nitecruzr.net/2008/06/custom-domain-publishing-and-google.html
Chuck [Blog*Star 2006 - 2008]
Real Blogger Status: http://blogging.nitecruzr.net/
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
Happy birthday Google!
ဒီနေ့မှာ ဂူဂယ် တစ်ယောက် ဆယ်နှစ်ပြည့်ပါပြီ။ ဂူဂယ် ပေါ်ပေါက်လာတဲ့ သမိုင်းတစ်လျှောက်မှာ မှတ်သား စရာလေးတွေ ရှိတဲ့ အတွက် အချို့ကို လေ့လာပြီး တင်ပြချင်ပါတယ်။ တကယ်တော့ ဂူဂယ် ဆိုတာဟာ ၁၉၉၆ ဇန်နဝါရီလမှာ လာရီပေ့ချ် (Larry Page) နဲ့ ဆာဂျေး ဘရင်း (Sergey Brin) ဆိုတဲ့ စတန်းဖို့ဒ် တက္ကသိုလ်က ပီအိပ်ချ်ဒီ ကျောင်းသားလေး ၂ ယောက် တင်သွင်းခဲ့တဲ့ Search engine အကြောင်း ရေးသားထားတဲ့ စာတမ်းလေး တစ်စောင် ကနေပြီး စတင်ပေါက်ဖွားလာတာပဲ ဖြစ်ပါတယ်။ (မြန်မာ ကျောင်းသားများလဲ ကိုယ်လုပ်တဲ့ စာတမ်းလေးတွေကို လက်တွေ့ အသုံးကျအောင် အတတ်နိုင်ဆုံး ကြိုးစား ပြုစုနိုင်ကြပါစေ၊ ဂူဂယ် လိုမျိုး အောင်မြင်တဲ့ Product တွေ ထုတ်နိုင်ပါစေလို့ ဆုတောင်းမိပါတယ်။)
အစကတော့ သူတို့ရဲ့ search engine ကို BackRub လို့ အမည်ပေးခဲ့ပါတယ်။ ဘာလို့လဲ ဆိုတော့ ဆိုဒ်တစ်ခုရဲ့ အရေးပါမှုကို သူ့ကို ရည်ညွှန်းထားတဲ့ backlinks တွေပေါ်မူတည်ပြီး ခန့်မှန်း သတ်မှတ် ဖို့ ဒီဇိုင်းထုတ်ထားလို့ပဲ ဖြစ်ပါတယ်။ ဒါပေမယ့် အဲဒီ မတိုင်မီကတည်းက ဒီ နည်းစံနစ်ကို သုံးထားတဲ့ Rankdex ဆိုတဲ့ search engine တစ်ခု ရှိနေနှင့် ပြီးသားပါ။
သူတို့ နှစ်ယောက်ဟာ သီးစစ်လုပ်ကြရင်း နဲ့ အခု ဂူဂယ် ဖြစ်လာမယ့် search engine အတွက် အခြေခံ အုတ်မြစ်တွေကို ခိုင်အောင် ချနိုင်ခဲ့ကြပါတယ်။ အစပိုင်းမှာ သူတို့ search engine ရဲ့ လိပ်စာဟာ စတန်းဖို့ဒ် ယူနီဗာစီတီရဲ့ subdomain တစ်ခုဖြစ်တဲ့ google.stanford.edu အနေနဲ့ စတင်ခဲ့တာပါ။ google.com ဒိုမိန်း ကို ၁၉၉၇ စက်တင်ဘာလ ၁၅ ရက်နေ့ မှာမှ မှတ်ပုံတင်ခဲ့တာ ဖြစ်ပါတယ်။ ၁၉၉၈ စက်တင်ဘာလ ၄ ရက် မှာ Google Inc. ကို သူငယ်ချင်းတစ်ယောက်ရဲ့ ကားဂိုထောင်ထဲမှာ စတင်ခဲ့တာ ဖြစ်ပါတယ်။ အဲဒီလို စတင်နိုင်ဖို့ လိုအပ်တဲ့ ငွေ အရင်းအနှီးကို Sun Microsystems ကို စတင်တည်ထောင်ခဲ့သူ Andy Bechtolsheim က ဒေါ်လာ ၁၀၀၀၀၀ တန် ချက်လက်မှတ်တစ်ခု စတင် ထုတ်ပေးရာမှ အခြားရင်းနှီးမြုပ်နှံသူများ ပါဝင်လာပြီး စုစုပေါင်း ဒေါ်လာ ၁.၁ သန်းအထိ တိုးတက်များပြားလာခဲ့ခြင်း ဖြစ်ပါတယ်။
၁၉၉၉ မတ်လ ရောက်တဲ့ အခါကျမှ ဆီလီကွန် တောင်ကြားမှာ ရှိတဲ့ Palo Alto မှာ ကုမ္ပဏီကို ပြောင်းရွှေ့ပြီး ကျကျနန အခြေချ နိုင်ခဲ့တာပဲ ဖြစ်ပါတယ်။ နောက်ပိုင်းမှာ အဲဒီ အဆောက်အဦးတွေကို Googleplex လို့ လူသိများလာခဲ့ပါတယ်။
ဂူဂယ်ဟာ သူ့ရဲ့ ရိုးစင်းတဲ့ ဒီဇိုင်းနဲ့ လွယ်ကူစွာ အသုံးချနိုင်မှုတို့ကြောင့် အသုံးချသူ အများစုက နှစ်သက်ခဲ့ကြပါတယ်။ ၂၀၀၀ခုနှစ် က စတင်ပြီး ဂူဂယ်မှာ search keywords တွေကို အခြေခံတဲ့ ကြော်ငြာများ စတင် ထည့်သွင်းလာပါတယ်။ (ဂူဂယ်ဘယ်က ပိုက်ပိုက်တွေရသလဲဆိုတာ သိပြီနော် :P)။
ဂူဂယ် ဆိုတဲ့ နာမည် ဖြစ်လာပုံက တော့ googol (အဓိပ္ပါယ်က 10pow(100)) ဆိုတဲ့ စာလုံးကို google လို့ မှားပေါင်းရာက စလာခဲ့တာဖြစ်ပြီး Merriam Webster Collegiate Dictionary နဲ့ Oxford English Dictionary တွေမှာ google ရဲ့ အဓိပ္ပါယ်ကို “အင်တာနက်မှ အချက်အလက်များရယူရန် ဂူဂယ် search engine ကို အသုံးပြုခြင်း” လို့၂၀၀၆ မှ စတင်ပြီး ထည့်သွင်း ပေးခဲ့ပါတယ်။
ဂူဂယ်ရဲ့ အဓိက ဆားဗစ်က Google web search engine ဖြစ်ပေမယ့် သူ့မှာ အခြား ထင်ရှား လူကြိုက်များတဲ့ ဆားဗစ်တွေ အတော်များများ ရှိပါသေးတယ်။ စာဖတ်သူ အားလုံး သိထားပြီးသားလဲ ဖြစ်လိမ့်မယ်လို့ ယုံကြည်တဲ့အတွက် လက်အညောင်းခံပြီး မရေးတော့ပါဘူးနော် :P။ အခုလောလောဆယ် ကျွန်တော့်အနေနဲ့ကတော့ ဂူဂယ်ကို သုံးပြီး သီးစစ်ရဲ့ အစိတ်အပိုင်း အချို့ကို ပြုစုခဲ့တာ ဖြစ်သလို သူ့ကို အသုံးပြုပြီး ဘလောက်ဂါက တစ်ဆင့် နည်းပညာ တစ်ချို့ကို ဝေမျှပေးနိုင်ခဲ့တဲ့ အတွက် ကျေးဇူးဆပ်တဲ့ အနေနဲ့ အခုလို ဆောင်းပါးလေးနဲ့ ဂူဂယ်ရဲ့ ဆယ်နှစ်မြောက်မွေးနေ့လေးကို ကြိုဆို ဂုဏ်ပြုလိုက်တာ ဖြစ်ပါတယ်ခင်ဗျား။
အကိုးအကားများ
http://en.wikipedia.org/wiki/Google
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
Google Chrome for Windows
Google က browser အသစ် ထုတ်လိုက်ပါတယ်။ Google Chrome လို့ခေါ်ပြီး ဒီနေ့ပဲ ဝင်းဒိုး သမားတွေ အတွက် ထုတ်ပေးလိုက်ပါပြီ။ ဒီနေရာမှာ ဒေါင်းလုပ်ရယူနိုင်ပါတယ်။ မကြာမီ ပန်းသီးနဲ့ လင်းနစ် သမားတွေ အတွက်လဲ ထုတ်ပေးမယ်လို့ ဆိုပါတယ်။ Google က ကာတွန်းလေးတွေနဲ့ သူ့ ဘရောက်ဇာကို ကြောြ်ငာ ထားပေမယ့် ကျွန်တော်ကတော့ ဘလောက်ဂါ တစ်ယောက်အနေနဲ့ ဖိုင်းယားဖောက်စ် လောက် မကြိုက်ပါဘူး။ စာရေးဖို့ ပြင်ဆင်တဲ့ နေရာမှာ တစ်ခုခု လိုနေသလိုပါပဲ။ စောင့်တော့ ကြည့်ရဦးမှာပါ။ လောလောဆယ် မြန်မာဖွန့်တွေနဲ့ သိပ် အဆင်မပြေ သေးဘူးလို့ ထင်ပါတယ်။ မြန်မာဖွန့်(ဇော်ဂျီ)ကို ဖိုင်းယားဖောက်စ် လောက် ကိုင်တွယ်တာ မကောင်းပါဘူး။
မှတ်ဉာဏ်ပိုင်း နဲ့ process တွေကို ခွဲပြီး လုပ်ပေးတာ (Multiprocessing)၊ Task Manager (Shift + Esc) ကတော့ အတော်လေး ကို အသုံးဝင် လာမယ် ထင်ပါတယ်။ ဆိုဒ်တွေကို analysis လုပ်ပြီး လေ့လာခွင့် ရလာနိုင်ပါတယ်။ သိပ်လေးတဲ့ ဆိုဒ်တွေကို သိသာလာမှာ ဖြစ်ပါတယ်။ အသွင်အပြင် ဒီဇိုင်းပိုင်းကတော့ ပြောစရာမရှိအောင် ကောင်းပါတယ်။ ဒိုင်းနမစ် feature တွေကို တော့ တော်တော်လေး ကြိုက်ပါတယ်။ ဂျာဗား အင်ဂျင် ထည့်ပေးထားတာလည်း သဘောကျမိပါတယ်။ speed လဲ အနည်းငယ် မြန်လာသလို ခံစားရပါတယ်။ လုံခြုံစိတ်ချမှု အတွက်လည်း အတော်လေးကို လုပ်ပေးထားတာ တွေ့ရပါတယ်။ ကျွန်တော် အကြိုက်ဆုံး ကတော့ open source ဖြစ်နေတဲ့ အချက်ပါပဲ။ စိတ်ဝင်စားသူများ Chromium porject page ကို သွားလေ့လာနိုင်ပါတယ်။ သတင်းစာ ရှင်းလင်းပွဲမှာ ပြောထားတာလေး တွေ သိချင်ရင် တော့ ဒီမှာ ဖတ်ပါ။
မြန်မာလိုကတော့ ဆက်တင်း နဲနဲ လုပ်ရပါတယ်။ ပုံထဲကအတိုင်း သွားပြီး ဖွန့်တွေကို Zawgyi-One ရွေးလိုက်တာပါပဲ။
အဲလိုလုပ်တာတောင် ခုလို လေးထောင့်တုံးလေးတွေကို အောက်မှာ တွေ့နေရတုန်းပါပဲ။
စာဖတ်သူတို့ တွေ့ရှိချက်လေးတွေကိုလည်း ကွန်မန့်မှာ ရေးထားပေးခဲ့စေချင်ပါတယ်။ သုတေသန လုပ်ကြရအောင်လေ။ :P ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
@ TCP/IP အကြောင်းလေး ပြောမယ်ဗျာ
(၁) IP address ဆိုတာ ဘာလဲ ?
TCP/IP = Transmission Control Protocol and Internet Protocol ဖြစ်ပါတယ် ။
IP တစ်ခု ဟာ 32 bit binary number ဖြစ်ပြီး decimal ဂဏန်း 4 လုံးနဲ့ဖော်ပြလေ့ရှိပါတယ် ။
decimal ဂဏန်း 1 လုံးစီဟာ 8 bits 0 to 255 (octets) ကိုကိုယ်စားပြုပါတယ် ။အဲလို ဖော်ပြတာကို “dotted decimal” လို့ခေါ်ပါတယ် ။
Example; 140.179.220.200 (Dotted decimal)
10001100.10110011.11011100.11001000 (Binary)
(၂) အမျိုးအစား ဘယ်နှခု ရှိပါသလဲ ?
Classes အမျိုးအစားကို အခုလို ခွဲထားပါတယ် ။
Class Range of Address
A 1 to 126(127) binary 0xxx နဲ့စ ပါတယ်။
B 128 to 191 binary 10xx နဲ့စ ပါတယ်။
C 192 to 223 binary 110x နဲ့စ ပါတယ်။
----------------------------------------------------------------------------
D 224 to 239 binary 1110 နဲ့စ ပါတယ်။
E 240 to 254 binary 1111 နဲ့စ ပါတယ်။
----------------------------------------------------------------------------
ကျန်နေတဲ့ 127(localhost) ကို local loopback အတွက်သုံးပါတယ် ။သင် 127.0.0.1 ကို ping ပြီးစမ်းသပ်နိုင်ပါတယ် ။
Class D addresses ကို multicasting အတွက် သုံးပါတယ်။ Class E addresses ကိုတော့ future use ဆိုပြီးသတ်မှတ်ထားပါတယ် ။အဲဒါကြောင့်
သင့်ရဲ့ IP address ကိုရိုက်တဲ့ အခါ 1 to 223 ကနေပဲ စရိုက်လို့ရပါတယ် ။ 224 ကနေစပြီး နောက်ပိုင်းကို ရိုက်လို့မရပါဘူး ။ အလွယ်တကူ စမ်းသပ် ကြည့်နိုင်ပါတယ် ။
Private Network Address ၄ ခုရှိပါတယ် ။
( Local loopback Address )- 127.0.0.1
( Class A )- 10.0.0.0
( Class B )- 172.16.0.0
( Class C )- 192.168.0.0
Class တွေကို ပုံမှန်အားဖြင့် ဘယ်လိုဆုံးဖြတ်သလဲ ဆိုတာ လေ့လာကြရအောင်- (N) က network ကိုကိုယ်စားပြုပြီး (n) က node ကိုကိုယ်စားပြုပါတယ် ။
- Class A -- NNNNNNNN.nnnnnnnn.nnnnnnn.nnnnnnn
- Class B -- NNNNNNNN.NNNNNNNN.nnnnnnnn.nnnnnnnn
- Class C -- NNNNNNNN.NNNNNNNN.NNNNNNNN.nnnnnnnn
အဲဒါကြောင့်
Class A ကိုသုံးမယ်ဆိုရင် network (N)ပေါင်း 2^8 = 255 ကိုသုံးနိုင်မှာဖြစ်ပြီး အဲဒီ network ရဲ့အောက်မှာ ကွန်ပျူတာပေါင်း (n)
255 x 255 x 255 =16581373 လုံးကိုတပ်ဆင်အသုံးပြုနိုင်မှာ ဖြစ်ပါတယ် ။
Class B ကိုသုံးမယ်ဆိုရင် network (N)ပေါင်း 255 x 255 =65025 ကိုသုံးနိုင်မှာဖြစ်ပြီး အဲဒီ network ရဲ့အောက်မှာ ကွန်ပျူတာပေါင်း (n)
255 x 255 = 65025 လုံးကိုတပ်ဆင်အသုံးပြုနိုင်မှာ ဖြစ်ပါတယ် ။
Class C ကိုသုံးမယ်ဆိုရင် network (N)ပေါင်း 255 x 255 x 255 =16581373 ကိုသုံးနိုင်မှာဖြစ်ပြီး အဲဒီ network ရဲ့အောက်မှာ ကွန်ပျူတာပေါင်း (n)255 လုံးကိုတပ်ဆင်အသုံးပြုနိုင်မှာ ဖြစ်ပါတယ် ။
(IP address မှာ 192.168. တွေပဲ ဘာလို့ဖြစ်နေရတာလဲ လို့မကြာခဏ အမေးခံရပါတယ်။ကိုယ်သုံးမယ့် ကွန်ပျူတာ အရေအတွက်(node)ဟာ ၂၅၅ လုံးကို မကျော်ဘူး ဆိုရင် Class C ကိုပဲ သုံးကြလို့ပါ။)
နောက်တစ်ခုကတော့ node မှာ decimal no: 0 နဲ့ 255 ကိုထည့်လို့မရပါဘူး။(ဥပမာ- 192.168.1.0* / 192.168.1.255* )
IP address မှာ node portion all Ones (11111111)=255 က Broadcast Address ဖြစ်ပါတယ် ။
IP address မှာ node portion all Zeros(00000000)=0 က Network Address ဖြစ်ပါတယ် ။
ကဲ ......ဒီကနေ့တော့ ဒီမျှပါပဲကွယ် ။စာဖတ်သူအပေါင်း IP address နဲ့ပတ်သက်လို့ အသိတွေ တိုးပွားနိုင်ကြပါစေ ။
Sunday, June 29, 2008
@ group policy မှ drives: များကို ပိတ်ခြင်း၊ ဖျောက်ခြင်း
group policy ဟာ registry editor လိုပဲ function တွေအများကြီးပါ ပါတယ် ။ group policy ကနားလည် ရတာပိုလွယ်ပါတယ် ။group policy ကနေ Drives: တွေကို ဝင်လို့မရအောင် ပိတ်ထားတာ ၊ ဖျောက်ချင်တဲ့ Drives: တွေကို ဖျောက်ထားတဲ့ အကြောင်းလေး ပြောပြပါမယ်။ပထမဦးဆုံး Run မှာ gpedit.msc လို့ ရိုက် ထည့်လိုက်ပါ။ဒါဆိုရင် Group Policy Dialog Box ကျလာပါလိမ့်မယ်။ဘယ်ဘက် Box ရဲ့ Local Computer Policy မှာ Computer Configuration နဲ့User Configuration ဆိုပြီး နှစ်ခု ရှိပါတယ် ။User Configuration > Administrative Templates > Windows Components > Windows Explorer ကိုသွားပါ ။အောက်ပါပုံကို ကြည့်ပါ။
ပထမဆုံး Prevent access to drives from my Computer ကိုနှိပ်လိုက်ပါ။ Setting Tab မှာ Enable ပေးလိုက် ပါ ။Restrict all drives ကို Default ရွေးထားပါတယ် ။ အဲဒါကို ရွေးမယ်ဆိုရင် ကိုယ့်မှာ ရှိသမျှ Drives တွေအကုန်လုံးကို သုံးလို့ရမှာ မဟုတ်တော့ပါဘူး ။ အဲဒီအပြင် C: ထဲမှာ Window OS ရှိတဲ့ အတွက် My Documents ၊ Shared Documents နဲ့ Desktop ပေါ်က folder တွေကိုလည်း ဖွင့်လို့ရမှာ မဟုတ်တော့ပါ ဘူး။ My Network Places , Recycly Bin နဲ့ software တွေကိုတော့ သုံးလို့ရပါတယ် ။ အဲဒါကြောင့် ကိုယ်အနေနဲ့ လိုအပ်မယ်ထင်တဲ့ Drives တစ်ခု ၊ နှစ်ခု ကိုပဲ ပိတ်ထားတာက ကောင်းပါတယ် ။ ကျွန်တော်က Drives D: ကိုပိတ်ထားလိုက်ပါမယ် ။ အောက်က ပုံကို ကြည့်ပါ ( Explain ဆိုတဲ့ Tab မှာလည်း အသေးစိတ် ရှင်းပြထားပါတယ် )။ OK ပေးလိုက်ပါပြီ ။ My Computer ထဲကို သွားပြီး Drives D: ကိုဖွင့်ကြည့်ပါ ။ ဖွင့်လို့မရတော့ပါဘူး ။Address Bar ကနေဖွင့်ရင်လည်း မရပါဘူး ။
အဲဒီလိုပါပဲ ။ Hide these specified drives in My Computer ကို Setting Tab မှာ Eable ပေးလိုက်ပါ။ Restrict all drives ကို Default ရွေးထားပါတယ် ။ အဲဒါကို ရွေးမယ်ဆိုရင် ကိုယ့်မှာ ရှိသမျှ Drives တွေအကုန်လုံး မမြင်ရတော့ ပါဘူး ။ Hide လို့ပြောတဲ့ အတွက် file တွေကို Hidden လုပ်ထားတာနဲ့ အလား သဏ္ဍန်တူပါတယ် ။ Address Bar ကနေ C: လို့ရိုက်ထည့်ရင် Drives C: ထဲကိုရောက်သွားပါတယ် ။ D: လို့ ရိုက်ထည့်ရင်လည်း Drives D: ထဲကိုရောက်သွားပါတယ် ။ ကျန်တာတွေကိုလည်း လိုက်ကလိချင်တယ်ဆိုရင် ကလိကြည့်ပါ ။စိတ်ဝင်စားစရာ အများကြီးရှိပါတယ် ။ ကျွန်တော့်ရဲ့ ဒီပိုစ့်ကို စိတ်ဝင်စားလို့ လိုက်လုပ်ကြည့်သူ အပေါင်း အောင်မြင်ပါစေဗျာ ။
spoolsv.exe using 99% of cpu - the solution
printer ရှိတဲ့ သူ တော်တော် များများမှာ ဖြစ်လေ့ရှိတဲ့ ပြဿနာ တစ်ခု က တစ်ခါတစ်လေ မှာ စက်က အလိုလိုနေရင်း သုံးရတာ လေးလံလာလို့ Task manager မှာ ကြည့်လိုက်တဲ့ အခါ spoolsv.exe က CPU ရဲ့ % အတော်များများ တစ်ခါတစ်လေ 99% လောက် နီးပါးကို သုံးနေကြတာကို တွေ့ရတတ်ပါတယ်။ အတော်များများက အဲလို ဖြစ်လာရင် spoolsv.exe ကို ဖြုတ်ချပစ်လိုက်တတ်ပါတယ်။ အဲလို ဖြုတ်ချလိုက်ရင် အဲဒီ ခဏတော့ ကောင်းသွားတာပေါ့လေ။ နောက်တစ်ခု windows တက်လာရင် ပြန်ဒုက္ခပေးပါလေရော။ ဒီတော့ တစ်ချို့က အဲဒီ service လေးကို disable ပေးထားလိုက်တတ်ပါတယ်။ ဒီတော့ အဲလို ပြဿနာ မဖြစ်တော့ပေမယ့် printer ကိုပြန်သုံးချင်တိုင်း အဲဒီ service ကို ပြန် Automatic setting ပြောင်း start ပြန်လုပ်နဲ့ အဆင်မပြေပါဘူး။ တကယ့် ပြဿနာ အစစ်က တစ်ခြားနေရာမှာပါ။ တကယ်တော့ အဲလိုဖြစ်ရာတာဟာ များသောအားဖြင့် bad spooler files တွေကြောင့် ဖြစ်ရတာပါ။ အများဆုံးက လိုကယ် နက်ဝက် ချိတ်ထားရင် တခြားကွန်ပြူတာတွေက လာတဲ့ ဖိုင်တွေကြောင့် ဖြစ်ပါတယ်။ (တခြားလူတွေက ကိုယ့်ကို စိတ်ညစ်အောင်လုပ်ချင်လည်း အဲဒီ trick လေး သုံးချင်သုံးနိုင်ပါတယ်။ :P) မလိုအပ်ရင် printer ကို ရှယ်ရာ မပေးထားပါနဲ့။ အဲဒီ bad spooler files တွေ ဟာ C:\WINDOWS\system32\spool\PRINTERS ဆိုတဲ့ Folder ထဲမှာ ရှိပါတယ်။ 0020.SHD, 0020.SPL စတဲ့ ဖိုင်မျိုးတွေ ဖြစ်ပါတယ်။ အဲဒါလေးတွေကို ရှင်းထုတ်လိုက်ရင် အိုကေသွားမှာပါ။
ပြဿနာဖြေရှင်းနည်း
1.
Print spooler service ကို kill လုပ်ပါ။
2.
Printer share များ ရှိနေပါက ဖြုတ်ပစ်ပါ။
3.
C:\WINDOWS\system32\spool\PRINTERS ဆိုတဲ့ Folder ကိုသွားပါ။ (မြန်အောင် run ထဲကို အဲဒီ လင့်ရိုက်ထည့်၊ ကူးထည့်ပြီး သွားလို့ ရပါတယ်။)။ ရှိနေတဲ့ ဖိုင်တွေ delete လုပ်ပါ။
4.
Print spooler service ကို start ပြန်လုပ်ပါ။
အဆင်ပြေသွားပါလိမ့်မယ်။
ကဲ တလက်စတည်း ကြုံတုန်း short cut တစ်ချို့ ကို ပြောပြပါမယ်။ service တစ်ခုကို ဖြုတ်ချချင်တယ်ဆိုရင် ပုံမှန်က task manager မှာ အဲဒီ process ကို right click လုပ်ပြီး End process လုပ်လိုက်ရင်ရပါတယ်။ ဒါပေမယ့် အဲဒါကို script ရေးချင်တဲ့ သူများအတွက် နည်းလမ်းလေးတစ်ချို့ ပြောပြပါမယ်။ command prompt ကနေ services တွေကို start, stop လုပ်လို့ ရပါတယ်။ command က net start နဲ့ net stop ဖြစ်ပါတယ်။ အသုံးပြုပုံက net start "service name" နဲ့ net stop "service name" ဖြစ်ပါတယ်။ ဒီနေရာမှာ service name ဆိုတာက ကိုယ် kill လုပ်ချင်တဲ့ service name ဖြစ်ပါတယ်။ ခု ကျွန်တော်တို့ kill လုပ်ချင်နေတဲ့ service က print spooler ဖြစ်ပါတယ်။ မှတ်ချက်- spoolsv.exe မဟုတ်ပါဘူး။ မကြာခဏ မှားတတ်ပါတယ်။ အောက်က ပုံများမှာ လက်တွေ့ အသုံးပြုပုံကို မြင်နိုင်ပါတယ်။
မိမိ kill လုပ်ချင်နေတဲ့ service name ကိုသိဖို့ လိုအပ်ပါတယ်။ မသိသေးရင် ပထမဆုံး administrative tools ထဲက services ကိုသွားပါ။မြန်မြန် ရောက်ချင်တယ် ဆိုရင်တော့ ကားစီးသွား အဲလေ မှားလို့ Run command ကနေသွားပါ။ services.msc ဆိုရင် ပေါ်လာပါလိမ့်မယ်။အဲဒီမှာ ကိုယ် kill လုပ်ချင်တဲ့ services နာမည်တွေကို မှတ်ထားလိုက်ပါ။
command တွေကို သုံးတဲ့အခါ kill လုပ်မယ့် service name ကို " " လုပ်ဖို့ မမေ့ပါနဲ့။ အထက်က solution ကို bat file လေးလုပ်ထားရင် ကလစ် တစ်ချက်နဲ့ လက်မညောင်းပဲ ဖြေရှင်းလို့ ရပါပြီ။
ဘယ်လိုလုပ်ရမလဲဆိုတော့
1.
notepad ကို ဖွင့်ပါ
2.
အောက်ပါ စာသားများကို ရိုက်ထည့်ပါ။
*
net stop "print spooler"
*
del C:\WINDOWS\system32\spool\PRINTERS\*.* /q
*
net start "print spooler"
1.
(/q ကို ဒုတိယလိုင်းမှာ သုံးထားတာက delete all လုပ်ထားလို့ confirmation တောင်းလာရင် Y/N ပေးမနေရအောင် တစ်ခါတည်း တိတ်တိတ်နေဖို့ ပြောထားတာပါ။)အောက်ပါပုံအတိုင်း bat file extension (.bat) ဖြင့် file ကို save လုပ်ပါ။ ဒီဥပမာမှာတော့ solv-spoolv.bat လို့ နာမည် ပေးထားပါတယ်။ Save as type နေရာမှာ All file ကိုရွေးဖို့ မမေ့ပါနဲ့။
ဒါဆို အောက်မှာ ပြထားတဲ့ ပုံထဲကလိုမျိုး bat ဖိုင်လေး တစ်ခု ရလာပါမယ်။ ၎င်း ကို double click လုပ်ပြီး run လို့ ရပါပြီ။ edit လုပ်ချင်ရင်တော့ right click လုပ်ပြီး Edit ကိုရွေးလို့ ပြင်ဆင်နိုင်ပါတယ်ခင်ဗျာ။
*
http://www.computing.net/answers/windows-xp/spoolsvexe-big-problem-100-cpu/131323.html
*
http://torque.oncloud8.com/archives/000384.html
*
http://windowsitpro.com/article/articleid/15157/how-can-i-stop-and-start-services-from-the-command-line.html
*
http://technet.microsoft.com/en-us/library/bb490890.aspx
how to self-study commands
မှတ်ချက်။ beginner များအတွက်သာ ရည်ရွယ်ထားပါတယ်။
တစ်ခါတစ်လေမှာ နီးရက်နဲ့ ဝေးနေကြတဲ့ သူတစ်ချို့အတွက် ကိုယ့်ဘာသာကိုယ်လေး လဲ လေ့လာဖြစ်အောင် တင်ပေးလိုက်တာပါ။ တကယ်က အာမေချာတစ်ယောက်အနေနဲ့ hand book တစ်ခုလို ရေးဖို့ တော်တော် အချိန်ယူရပါတယ်။ ဒီကြားထဲ အရေးတကြီးသိချင်ရင် အီးဘွတ်ခ် တွေ ဝက်ဘ်ဆိုဒ်တွေ ဝင်စရာမလိုဘဲ ကိုယ့်ဘာသာ ရှာတတ်အောင် နေရာပြပေးချင်ပါတယ်။ သိပြီးသားဆိုရင်တော့ ကျော်ဖတ်ပေးသွားပါခင်ဗျာ။
တကယ်က ဘယ်ဆော့ဖ်ဝဲ ၊ ဘယ်စံနစ်မဆို documentation ကောင်းကောင်းလုပ်ပေးရပါတယ်။ ဒါမှလဲ သုံးစွဲသူတွေ အဆင်ပြေမှာ ဖြစ်ပါတယ်။ များသောအားဖြင့် help system ထဲမှာ normal user တစ်ယောက်အနေနဲ့ အလွယ်တကူ လေ့လာအသုံးပြုလို့ရအောင် စီစဉ်ပေးထားလေ့ ရှိပါတယ်။
Windows XP မှာလဲ user တွေလေ့လာဖို့ Help and Support Center ရှိပါတယ်။ ထိရောက်အောင် အသုံးချစေချင်ပါတယ်ဗျာ။ သူ့ရဲ့အားသာချက်က အီးဘွတ်ခ်များလို ရှင်းပြရုံသာမက လိုအပ်တဲ့ tools တွေဆီကို တိုက်ရိုက်လင့်ခ် လုပ်ပေးထားလို့ အတော်လေးကို အဆင်ပြေပါတယ်။
နမူနာအနေနဲ့ လူမေးများနေတဲ့ commands တွေကို ရှင်းပြထားတဲ့ နေရာလေးကို ဘယ်လိုသွားရတယ်ဆိုတာ ပြထားပါတယ်။ ကျွန်တော်မေ့ရင် အဲဒီကို သွားကြည့်နေကြပေါ့ဗျာ။ အထင်တော့ မသေးပါနဲ့ help ဆိုလို့။ နောက်ထပ် မွှေနှောက်ပြီး မိမိလိုတာများ ရှာသုံးကြစေချင်ပါတယ်ခင်ဗျား။ စာဖတ်သူများ ဗဟုသုတ တိုးပွားကြပါစေခင်ဗျာ။
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
Understanding and application of Windows XP command line utility in real life (၅)
4. time
date command နှင့် အတူတူ ပင်ဖြစ်သည်။ (၃) နည်းသုံးနိုင်သည်။
1) >time /t
2) time new_time
3) time
1) သည် command prompt ၌ system time တစ်ခုတည်းကို သိလိုသောအခါ အသုံးပြုသော command ဖြစ်ပါသည်။ (ပုံ-၁၀)
2) သည် system time ကို ပြုပြင်ချင်သောအခါ အသုံးပြုသော command ဖြစ်ပါသည်။ အရှေ့က time သည် command ဖြစ်၍ အနောက်က new_time ဆိုသည်မှာ မိမိပြောင်းလဲချင်သော နေ့စွဲ အသစ်အား hh:mm:ss format အသုံးပြု၍ ထည့်သွင်းပေးရန်ဖြစ်ပါသည်။ (e.g. >time 06:14:15) (ပုံ-၁၁)
3) နောက်ဆုံး method မှာ system time ကို အရင်ကြည့်ရှုစစ်ဆေးပြီး ပြင်ဆင်လိုက ပြင်ဆင်နိုင်ရန်သုံးလေ့ရှိပါသည်။ ပြင်ဆင်ရန်လိုအပ်သည့်အခါ hh:mm:ss format ဖြင့် ပြင်ဆင်နိုင်သလို ပြင်ဆင်ရန် မလိုအပ်ပါက enter နှိပ်၍ ကျော်သွားနိုင်ပါသည်။ (ပုံ-၁၂၊ ပုံ-၁၃)
ပုံ-၁၀
ပုံ-၁၁
ပုံ-၁၂
ပုံ-၁၃
5. exit
command line utility မှထွက်ရန် အသုံးပြုသည်။ ( cmd.exe အားပိတ်ရန်သုံးသည်။)
6. dir
directory (folder) နှင့် subdirectory တို့၏ စာရင်းများနှင့် ၎င်းတို့ အတွင်းရှိ files list များကြည့်ရှုရန်အတွက် အသုံးပြုသည်။ ၎င်း command အသုံးပြုခြင်းဖြင့် disk တစ်ခု၏ volume label နှင့် serial number တို့ကို ကြည့်ရှုနိုင်သည်။ ထို့ပြင် files နှင့် directories တို့၏ list များကို နောက်ဆုံး update လုပ်ထားသော နေ့စွဲ နှင့် အချိန်များအားကြည့်ရှုနိုင်သည်။ ၎င်းပြင် file and folder တို့၏ စုစုပေါင်း အရေအတွက် ၎င်းတို့၏ size များနှင့် ၎င်း disk ၏ free space တို့ကို ဖေါ်ပြပေးနိုင်သည်။
အလွယ်သုံးနည်း
>dir
>dir *.*
>dir *.txt
>dir *.exe
>dir file.txt
>dir file1.*
Note: * သည် (all) အားလုံးဟု အဓိပါယ် ရသည်။ file name ၏ format မှာ " Filename.Extension " ဖြစ်သည်။ ( e.g. autoexec.bat, command.com, video.mpeg, install.exe, picture1.jpg e.t.c)။ dot (.) ၏ အရှေ့ဘက်၌ (*) ရှိလျှင် filename အားလုံးဟုဆိုလို၍ dot (.) ၏ အနောက်ဘက်တွင် * ရှိပါက extension များအားလုံး ( file type များအားလုံး) ဟုဆိုလိုပါသည်။ *.* ဟုဆိုလျင် all files ( file name အားလုံး၊ file type အားလုံး) ဟုဆိုလိုပါသည်။ *.txt ဆိုလျင် txt files များအားလုံး ( extension txt နှင့်ဆုံးသော file အားလုံးဟု ဆိုလိုသည်။ *.exe ဆိုလျှင် exe files များအားလုံး ( extension exe နှင့်ဆုံးသော file အားလုံး )ဟု ဆိုလိုသည်။ file1.* ဆိုလျင် file name file1 ရှိသော file types များအားလုံး ( e.g. file1.com, file1.exe, file1.jpg, file1.dat, file1.doc,.....)။ အကယ်၍ file name ကို အသေအချာ မမှတ်မိတော့ဘဲ အစသာမှတ်မိပါက file*.*, file*.exe အစရှိသဖြင့် ရှာနိုင်ပြီး အကယ်၍ အဆုံးသာ သိပါက *file.* ဟူ၍ အသုံးပြုနိုင်သည်။ အကယ်၍ တစ်လုံးတည်း မေ့နေပါက * အစား ? ကိုသုံးနိုင်သည်။ (e.g. file?.exe , ?file.exe .)
ပုံ-၁၄
Parameters အပြည့်အစုံ (dir command အတွက်) အသုံးပြုပုံစံ
dir [Drive:][Path][FileName] [...] [/p] [/q] [/w] [/d] [/a[[:]attributes]][/o[[:]SortOrder]] [/t[[:]TimeField]] [/s] [/b] [/l] [/n] [/x] [/c] [/4]
Parfveter တစ်ခုချင်းစီ၏ အသုံးပြုပုံများအကြောင်းကို ရှင်းလင်းတင်ပြပါဦးမည်။
[Drive:][Path] မိမိ List လုပ်ကြည့်ရှုလိုသော directory ၏ location တည်နေရာကို ဖေါ်ပြရန်ဖြစ်သည်။ e.g. C:\Windows , D:\Video\Myanmar Video...) ၎င်း parameter ကို မထည့်ဘဲထား၍လည်းရသည်။ ထိုသို့ မထည့်လျင် current directory (လက်ရှိ တည်နေရာ) အတွင်းရှိ files နှင့် directory များကိုသာ list လုပ်ပေးမည်ဖြစ်သည်။ (ပုံ-၁၅)
ပုံ-၁၅
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
Understanding and application of Windows XP command line utility in real life (၄)
2. cls
ပုံ-၂ တွင် help command ကြောင့် screen ၌ command list များဖြင့်ပြည့် နေပါသည်။ ထိုသို့ screen တွင်ရှုပ်မနေစေရန် cls command ကို သုံး၍ ရှင်းပစ်နိုင်ပါသည်။
3. date
Command line ကိုအသုံးပြု၍ systen date ကိုပြုပြင်နိုင်သော command ဖြစ်ပါသည်။ ၎င်းအား အသုံးပြုပုံ (၃)နည်း ရှိပါသည်။
1) date /t
2) date new_date
3) date
1) သည် command prompt ၌ system date တစ်ခုတည်းကို သိလိုသောအခါ အသုံးပြုသော command ဖြစ်ပါသည်။ (ပုံ-၅)
2) သည် system date ကို ပြုပြင်ချင်သောအခါ အသုံးပြုသော command ဖြစ်ပါသည်။ အရှေ့က date သည် command ဖြစ်၍ အနောက်က new_date ဆိုသည်မှာ မိမိပြောင်းလဲချင်သော နေ့စွဲ အသစ်အား mm-dd-yy format အသုံးပြု၍ ထည့်သွင်းပေးရန်ဖြစ်ပါသည်။ (e.g. >date 02-19-06) (ပုံ-၆)
3) နောက်ဆုံး method မှာ system date ကို အရင်ကြည့်ရှုစစ်ဆေးပြီး ပြင်ဆင်လိုက ပြင်ဆင်နိုင်ရန်သုံးလေ့ရှိပါသည်။ ပြင်ဆင်ရန်လိုအပ်သည့်အခါ mm-dd-yy format ဖြင့် ပြင်ဆင်နိုင်သလို ပြင်ဆင်ရန် မလိုအပ်ပါက enter နှိပ်၍ ကျော်သွားနိုင်ပါသည်။ (ပုံ-၇၊ ပုံ-၈)
ပုံ-၅ date /t command
ပုံ-6 date 02-24-2006
ပုံ-7 date (ပြောင်းလဲရန်လို)
ပုံ-8 date (ပြောင်းလဲရန်မလို)
Note: command များနောက်တွင် ထည့်သွင်းပေးရသော parameter များကို switches များဟုခေါ်လေ့ရှိသည်။ အချို့ command များတွင် ၎င်း switches များကို မသုံးမနေ သုံးစွဲရပြီး အချို့သော command များတွင်မူ အခြေအနေအရ ရွေးချယ်သုံးစွဲရသည်။ အချို့နေရာများတွင် switches များမပါဘဲ အသုံးပြုနိုင်သည်။
Tip: အကယ်၍ command တစ်ခု၏ switches များနှင့် အသုံးပြုပုံကိုမေ့နေပါက (သို.) သိချင်ပါက အောက်ပါအတိုင်း မေးမြန်းနိုင်သည်။
(ပုံ-၉) >command /?
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
Understanding and application of Windows XP command line utility in real life (၃)
အသုံးများသော command များ
Command များကို ရှင်းလင်းရေးသားရာတွင် Dictionary approach ကဲ့သို့ alphabetical order ဖြင့်ရေးသားခြင်း မပြုဘဲ ပိုမိုလေ့လာရ လွယ်ကူသော easy to learn approach ဖြင့် ရေးသားတင်ပြသွားပါမည်။ ပထမဦးစွာ အသုံးများသော command များကို လေ့လာရလွယ်ကူအောင် အသုံးပြုလေ့ရှိသော နည်းစံနစ်များအားဖေါ်ပြ၍ ဒုတိယပိုင်းတွင် ပိုမို ပြည့်စုံစွာ ရှင်းလင်းတင်ပြသွားမည်ဖြစ်ပါသည်။
လက်တွေ့စမ်းသပ်ရန် အထက်တွင်ဖေါ်ပြခဲ့သောနည်းအတိုင်း command line utility ကိုခေါ်ယူပါ။ (ပုံ-၁) အတိုင်း မြင်ရမည်ဖြစ်သည်။ ပုံ-၁
၎င်းပုံနှင့် သင့် ကွန်ပြူတာ ပေါ်ရှိ command prompt တို့ အနည်းငယ် ကွဲပြားနိုင်ပါသည်။ Windows version နှင့် user name တို့ များသောအားဖြင့် ကွဲပြားခြားနားလေ့ရှိပါသည်။ ပုံ-၁ တွင် အောက်ဆုံး ၌ C:\Documents and Settings\BluePhoenix> ဟူ ၌မြင်ရမည်ဖြစ်သည်။ ၎င်းသည် (Current path+greater than sign ‘>’)တို့ပေါင်းစပ် ထားသော ပုံစံဖြစ်သည်။ default current path မှာ (Windows drive:\Document and Settings\UserName) ဖြစ်သည်။၎င်းကို prompt ဟူသော command ဖြင့်ပြောင်းလဲပြုပြင်၌ရသည်။ ၎င်း command ကိုနောက်ပိုင်းတွင် အသေးစိတ် ရှင်းလင်းတင်ပြပါမည်။ greater than ‘>’ sign ၏နောက်တွင် command များကို ရိုက်ထည့်ရန်ဖြစ်သည်။
Note: DOS command များသည် case sensitive မဖြစ်ပါ။ သို့သော် ခြွင်းချက် အနည်းငယ်တော့ရှိပါသည်။ ၎င်းကို သက်ဆိုင်ရာ အခန်း၌ ရှင်းလင်းတင်ပြပေးသွားမည်ဖြစ်ပါသည်။
1. help
ပထမဦးဆုံး command line help ကိုမည်သို့ခေါ်ယူရမည်ကို ရှင်းလင်းတင်ပြပါမည်။ command များ အကုန်လုံးကို ကျွန်တော်တို့ အတွက် မှတ်မိနေရန်မှာ မလွယ်ပါ။ သို့သော် help command က ကျွန်တော်တို့ လိုအပ်ချက်ကို ဖြည့်ဆည်းပေးပါသည်။ ‘>’ နောက်တွင် help ဟု ရိုက်ပြီး enter ခေါက်ပါ။ ပုံ-၂ တိုင်းပေါ်လာပါလိမ့်မည်။ ၎င်းတွင် စုစုပေါင်း command ၇၁ ခု ပါဝင်ပါသည်။ သို့သော် ၎င်း command များသည် အပြည့် အစုံ မဟုတ်သေးပါ။ ftp command များ အစရှိသော networking နှင့်အခြား command များကို Window XP ၏ Help and Support Center ရှိ command line reference A to Z တွင် လေ့လာနိုင်ပါသည်။ သို့ရာတွင် ဤ စာစောင်တွင်လည်း တတ်နိုင်သမျှ အပြည့်စုံဆုံး ရှင်းလင်းတင်ပြသွားမည်ဖြစ်ပါသည်။
ပုံ-၂
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
Understanding and application of Windows XP command line utility in real life (၁)
ဒီ ဆောင်းပါးကို ပလန်းနက် မှာ ကျက်စားစဉ်က ပုံမှန်ရေးဖြစ်ခဲ့ပါတယ်။ နောက်ပိုင်း ပျင်းတာနဲ့ သိမ်းမထားမိဘူး။ နောက် ပလန်းနက် ဆာဗာ ကြောင်တော့ ကုန်ပါလေရောလား။ အဲဒီထဲက စပြီး ကွန်ပြူတာအကြောင်းမရေးတော့တာ နှစ် နှစ်လောက်ရှိပါပြီ။ ခု စီဘောက်စ် မှာ တစ်ယောက်က တောင်းဆိုလာတာ ကို သတိရလို့ ရှိသလောက် ပြန်တင်ပေးလိုက်ရကြောင်းပါဗျာ။
မိတ်ဆက်
အစပထမတွင်ကျွန်တော့အနေဖြင့် command line utility အကြောင်းရေးရန် မဝံ့မရဲဖြစ်နေမိသည်။ လွန်စွာရိုးရှင်းလွယ်ကူသော Microsoft ၏ Windows operating system က user များကို command များအစား visual interface များဖြင့် ခိုင်းစေ အသုံးပြုခွင့်ပေးထားကြခြင်းကြောင့်ဖြစ်သည်။ အများစုကလည်း command များဖြင့်အသုံးပြုရခြင်းကို ခေတ်နောက်ကျနေခဲ့သော နည်းပညာတစ်ခုဟု ထင်မြင်တတ်ကြသည်။ အချို့ကလည်း hacker များအသုံးပြုရန်သက်သက်ဖြစ်သည်ဟု နားလည်ထားကြသည်။ beginner များအနေဖြင့်မူ မိမိတို့၏ နောက်ဆုံးပေါ် Windows system တွင် command line utility ပါရှိသည်ကိုပင် မသိကြပေ။ မကြာမီက အမေရိကရောက် မြန်မာတစ်ယောက်မှ email ဖြင့် command များကို မည်သို့လေ့လာရမည် ကို အမေးရှိဖူးသည်။ ထို့ပြင် computer အထူးပြုဖြင့် သင်ကြားနေကြသော beginner student များက မေးမြန်းကြသည်ကိုလဲ မကြာခဏ ကြုံတွေ့နေရသည်။ ထို့ကြောင့် ကျွန်တော်၏ စိတ်ထဲတွင် ၎င်းအကြောင်းများကို အပြည့်အစုံ မဟုတ်သည့်တိုင် တစ်စိတ် တစ်ပိုင်းအဖြစ် တင်ပြလိုသော စေတနာဖြင့် မိမိနားလည်သမျှ လက်တွေ့ဘဝတွင် အသုံးများသော command များနှင့်အသုံးပြုပုံများကို ရေးသားတင်ပြလိုက်ရခြင်းဖြစ်ပါသည်။
သမိုင်းကြောင်း
Windows XP command line utility အကြောင်းမပြောမီ ၎င်း၏ ဖြစ်ပေါ်လာပုံ သမိုင်းကြောင်း အကျဉ်းချုပ်ကို အနည်းငယ်ပြောပြလိုပါသည်။ command line utility ၏ အစမှာ များစွာ စိတ်ဝင်စားစရာကောင်းလှပါသည်။ ၁၉၈၀ ပြည့်နှစ်များတဝိုက်တွင် IBM company က မည်သူမဆို လွယ်ကူစွာ ဝယ်ယူအသုံးပြုနိုင်ရန် တစ်ကိုယ်ရေသုံး ကွန်ပြူတာ (PC) များထုတ်လုပ်ရန်စီစဉ်ခဲ့သည်။ သို့သော် ၎င်းကွန်ပြူတာများကို မောင်းနှင်ခိုင်းစေရန် operating system(OS) အဆင်သင့်မရှိသေးပေ။ ထိုအချိန်က ထွက်ရှိသမျှ အကောင်းဆုံး OS မှာ ဂယ်ရီကေဒယ် (Gary Kildall) ၏ CP/M (Control program for Microcomputers)) ဖြစ်သည်။ Gary သည် computer နယ်ပယ်တွင် PhD ရရှိထားပြီး သူ၏ OS များမှာ ထိုစဉ်က အအောင်မြင်ဆုံးလည်းဖြစ်ခဲ့သည်။ ထို့ကြောင့် IBM က ပထမဆုံး Gary ကို ဆက်သွယ်ခဲ့သည်။ သို့ရာတွင် Gary က IBM နှင့်စာချုပ် ချူပ်ဆိုရန် ငြင်းပယ်လိုက်ရာမှ Bill Gates နှင့်ဆက်သွယ်ကာ Microsoft company နှင့်စာချုပ်ချုပ်ခဲ့သည်။ ထိုစာချုပ်အရ Microsoft က Gary ၏ CP/M OS ကို တိုက်ခိုက်ချေဖျက်ရန် ပိုမိုကောင်းမွန်သော OS တစ်ခု ရေးပေးရန်ဖြစ်သည်။ ဤသို့ဖြင့် Microsoft ၏ ပထမဦးဆုံး OS ဖြစ်သော Microsoft Disk Operating System ပေါ်ထွက်လာခဲ့ခြင်းဖြစ်ပါသည်။
တကယ်တော့ MS DOS သည် Seattle Computer Products မှ programmer Tim Paterson ရေးသားထားသော QDOS (Quick and dirty operating system) ကိုအခြေခံထားခြင်းဖြစ်သည်။ QDOS သည်လည်း Gary ၏ CP/M ကိုပင် မှီး၍ ရေးသားထားခြင်းဖြစ်သည်။ Paterson က CP/M ၏ manual ကိုဝယ်ယူခဲ့ပြီး ခြောက်ပတ်အတွင်း QDOS ကိုအပြီးရေးသားခဲ့ခြင်းဖြစ်သည်။ သို့သော် QDOS သည် CP/M နှင့် တရားဝင် ကွဲပြားခြားနားလျက်ရှိသည်။ Microsoft က ၎င်း QDOS ကို ဒေါ်လာ 50000 နှင့် Microsoft company မှဝယ်ယူကာ အနည်းငယ်ပြုပြင်၍ MS DOS ဟု အမည်ပြောင်းပေးကာ IBM နှင့် အခြား တစ်ကိုယ်ရေသုံး ကွန်ပြူတာများ ထုတ်လုပ်ရောင်းချသော company များအား လိုင်စင်ယူ ၍ ရောင်းချခဲ့ရာမှ DOS (Disk operating system) ကို တွင်ကျယ်စွာ စတင်အသုံးပြုလာကြခြင်းဖြစ်သည်။ နောက်ပိုင်းတွင် Paterson သည် Seattle Computer Products မှအလုပ်ထွက်၍ Microsoft နှင့်ပူးပေါင်းခဲ့သည်။ ထိုစဉ်က Paterson ပြောခဲ့သော စကားတစ်ခွန်းမှာ သမိုင်းတွင်ခဲ့သည်။ သူက (Life begins with a disk drive) ( ဘ၀ ဟာ disk drive တစ်ခု မှအစပြုသည် ) ဟုပြောခဲ့ခြင်းဖြစ်သည်။ ၎င်းပြောခဲ့သလိုပင် DOS ကြောင့် လူများ၏ လူနေမှုဘ၀ စတင်ပြောင်းလဲလာခဲ့ရသည်ဟု ဆိုချင်က ဆိုနိုင်ပေသည်။
သို့သော် Apple company မှ Macintosh OS နှင့် Microsoft မှ Windows OS ကို စတင် မိတ်ဆက်လာသည့်အခါ လူအများက အလွယ်တကူအသုံးပြုနိုင်သည့် Visual interface စံနစ်ကို တစ်ခဲနက် အားပေးခဲ့ကြသည်။ ထိုအခါမှ အစပြု၍ DOS ၏ အရေးပါမှုမှေးမှိန်လာခဲ့သည်။ သို့ရာတွင် အစပျိုး Windows OS များသည် DOS အောက်တွင် အလုပ်လုပ်သော interface program တစ်ခုသာဖြစ်ခဲ့သည်။ သို.ရာတွင် နောက်ပိုင်း Windows OS များသည် ပြည့်စုံသော Visual interface OS များဖြစ်လာပြီး DOS သည် ၎င်း Windows များ၏ အောက် မှ command shell တစ်ခုအဖြစ်သို့ပြောင်းလဲခဲ့ရသည်။
ထိုသို့ User အများစု၏ မေ့ပျောက်ခြင်းကို ခံရသော်လည်း command များကို အသုံးပြု၍ ကွန်ပြူတာအား ခိုင်းစေရာတွင် အားသာချက်များစွာ ရှိနေပေသေးသည်။ ၎င်းအားသာချက်များကို သိရှိနားလည်ထားကြသော administrator များနှင့် hacker များ၊ power user များက command line utility ကို ထိထိရောက်ရောက် ဆက်လက်အသုံးပြုနေကြပေသည်။
Ref:
1. http://en.wikipedia.org/wiki/MS_DOS
2. http://www.linfo.org/ms-dos.html
3. http://www.patersontech.com/Dos/Byte/History.html
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
Windows XP မှာ sound problem တွေကို ဘယ်လို ဖြေရှင်းမလဲ?
ဒီဆောင်းပါးမှာ Windows XP ရဲ့ အသံပိုင်းဆိုင်ရာ ပြဿနာတွေကို ဘယ်လိုဖြေရှင်းနိုင်မလဲဆိုတာ တင်ပြထားပါတယ်။
ဘယ်လိုပြဿနာတွေလဲ?
* Speaker တွေ၊ Headphone တွေက ဘာသံမှထွက်မလာဘူး။
* Sound ဖွင့်ထားစဉ်မှာ ရုတ်တရက် ရပ်သွားတယ်။
* အသံက ပြတ်တောင်းပြတ်တောင်း ဖြစ်နေတယ်။
* အသံက ပုံမှန်မဟုတ်ဘဲ စူးနေတယ် (သို့မဟုတ်) အောနေတယ်။
* Sound တစ်ခုခုကို Play လိုက်ရင် ကွန်ပြူတာ hang သွားတယ်။
* Sound တစ်ခုခုကို Play လိုက်တိုင်း Computer က Restart ဖြစ်ဖြစ်သွားတယ်။
* Sound တစ်ခုခု Playဖို့ ကြိုးစားတိုင်း အောက်မှာ ဖော်ပြထားတဲ့ ဥပမာတွေထဲက error message မျိုးတွေ တက်လာတယ်။
· MIDI output error detected.
· No wave device that can play files in the current format is installed.
· The CD Audio device is in use by another application.
· WAV sound playback error detected.
· Your audio hardware cannot play files like the current file.
ဒီလိုပြဿနာမျိုးတွေကို အောက်မှာဖော်ပြထားတဲ့ နည်းလမ်းတွေနဲ့ ဖြေရှင်းကြည့်ပါ။
နည်းလမ်း (၁) ။ Windows XP Sound Troubleshooter ကိုသုံးမယ်။
(၁) Start ကို နှိပ်ပါ။ Help and Support ကို နှိပ်ပါ။
(၂) Pick a Help Topic အောက်က Fixing a problem ကို နှိပ်ပါ။
(၃) Games, sound, and video problems ကို နှိပ်ပါ။
(၄) Sound Troubleshooter ကို နှိပ်ပါ။
(၅) PC မှာဖြစ်နေတဲ့ Problem ကို ဖော်ပြထားတဲ့ Option ကို ရွေးပြီး Next ကို နှိပ်ပါ။
Problem ပြေလည်သွားသည့်တိုင်အောင် ညွှန်ကြားချက်တွေအတိုင်း အဆင့်ဆင့် ဖြေရှင်းသွားပါ။ မရသေးရင် နည်းလမ်း(၁) ကို ထပ်လုပ်ပါ။
မိမိလုပ်ခဲ့တဲ့ နောက်ဆုံး အဆင့်ကို ပြန်သွားချင်ရင် Back ကို နှိပ်ပါ။ Sound Troubleshooter ကို ထပ်လုပ်မယ်ဆိုရင် Start Over ကို နှိပ်ပါ။
နည်းလမ်း (၂) ။ Sound card driver တွေကို Update လုပ်မယ်။
Microsoft Update ကို အသုံးပြုပြီး Update ဖြစ်တဲ့ Sound card driver တွေ ရနိုင်မလား၊ မရနိုင်ဘူးလား စစ်ကြည့်ပါ။ Updated driver တွေကို ရနိုင်/ မရနိုင် http://www.update.microsoft.com မှာ ကြည့်ပါ။ Sound card Update နဲ့ပတ်သက်ပြီး http://support.microsoft.com/kb/812394 မှာ တဆင့်ချင်း ရှင်းပြထားပါတယ်။ ဝင်ဖတ်ကြည့်ပါ။
What to Do When Windows Gets Really Messed Up
PC မှာ error information တွေပါတဲ့ အပြာရောင် Screen တတ်လာရင် ဘယ်လိုလုပ်မလဲ?
ကွန်ပြူတာမှာ အဖြူရောင်စာသားတွေပါတဲ့ Screen ပြာ ရုတ်တရက်တက်လာတာမျိုး ကြုံဖူးတဲ့သူတွေ ရှိမှာပါ။ A problem has been detected and Windows has been shut down… စတဲ့ information မျိုးတွေ ဖတ်ဖူးကြမှာပါ။ ဒီပြဿနာကို Blue Screen of Death (BSoD) လို့ခေါ်ကြပါတယ်။ Microsoft ကတော့ Stop errors လို့ ခေါ်ပါတယ်။
ကွန်ပြူတာမှာ လုပ်လက်စ အလုပ်တွေကို Save မလုပ်ရသေးခင် ဒီလို ပြဿနာမျိုး ရင်ဆိုင်လာရရင် Dataတွေ ဆုံးရှုံးသွားတာကို နှမြောတသနေရုံကလွဲလို့ တခြားဘာမှမတတ်နိုင်ပါဘူး။ ကွန်ပြူတာကို Reboot လုပ်ကြည့်ပါဦး။ ဒီပြဿနာ ဆက်ဖြစ်နေသေးသလား။ ဖြေရှင်းဖို့ နည်းလမ်းတွေ ရှိပါတယ်။
ဒီ Problem ကို ဖြေရှင်းဖို့ အသုံးဝင်မယ့် Information တွေ အဲဒီ Screenပြာပေါ်မှာ ပါတယ်။ ကွန်ပြူတာကို Reboot ထပ်မလုပ်ခင် အဲဒီ Screenပြာပေါ်မှာ ပေါ်နေသမျှ Technical Information တွေကို စာရွက်တစ်ရွက်ပေါ်မှာ ချရေးပါ။
(၁) Start ကိုနှိပ်၊ Run မှာ devmgmt.msc ကို ရိုက်ပြီး ဝင်ပါ။
(၂) Question mark ပြထားတဲ့ Drive ကို Double click နှိပ်ပြီး၊ Driver tab ကို နှိပ်ပါ။ ပြီးရင် Roll Back Driver button ကို နှိပ်ပါ။
တကယ်လို့ Drive အသစ်တစ်ခုခု ထပ်တပ်ထားရင် အဲဒီ Drive အတွက် Update Driver tab ကို နှိပ်ပြီး Web site မှာ Update ပေးထားသလား ကြည့်ပါ။ ပေးထားရင် Update လုပ်လိုက်ပါ။
RAM ပျက်စီးနေတာကြောင့်လည်း BSoD ပြဿနာ ဖြစ်နိုင်ပါတယ်။ RAM module တွေ ပျက်/ မပျက် ကို Memtest 86 နဲ့ အလွယ်တကယ် စစ်ဆေးလို့ရပါတယ်။ ဒီ Program ကို Memtest.org မှာ Download လုပ်လို့ရပါနိုင်ပါတယ်။ Memtest ဟာ Windows program မဟုတ်ပါဘူး။ Windows တက်မလာခင်ကတည်းက Memtest ကို boot လုပ်ထားရပါမယ်။ ဒီ Program ကို CD image .iso file type အဖြစ်နဲ့ Download လုပ်ပြီး Bootable CD တစ်ချပ်မှာ Burn ထားပါမယ်။ ပြီးရင် အဲဒီ CD ကို ထည့် Boot လုပ်ပြီး Memtest Program က Problem တစ်ခုခုကို ရှာတွေ့/ မတွေ့ စစ်ကြည့်ပါ။
နောက်ထပ် ဖြစ်နိုင်တာတွေကတော့ Windows Problem တွေပါပဲ။ Registry ထဲမှာ အပြစ်တစ်ခုခု ရှိနေတာကြောင့်လည်း ဖြစ်နိုင်ပါတယ်။ Registry Cleaner ကို Run ပြီး စမ်းကြည့်ပါ။ ကျွန်တော်ကတော့ ToniArts' EasyCleaner ကို Free Download လုပ်ပြီး စမ်းကြည့်ဖို့ အကြံပြုပါတယ်။
တကယ်လို့ အခုတင်ပြခဲ့တဲ့ နည်းတွေနဲ့ ဖြေရှင်းလို့မှ မရရင်တော့ Professional တစ်ယောက်ယောက်ဆီသွားပြပါလို့ အကြံပြုလိုက်ပါရစေ။
USB Drive တစ်ခုခုကို ဖြုတ်တဲ့အခါ Ejecting Problem ဖြစ်နေရင် ဘယ်လိုဖြုတ်မလဲ။
ကွန်ပြူတာအသုံးပြုသူအားလုံး ရင်ဆိုင်ရဖူးတဲ့ ပြဿနာတွေထဲက တစ်ခုပါ။ USB Drive ကို Safely Remove Hardware Icon လေး နှိပ်ပြီး ဖြုတ်ပေမယ့် The Device ‘Generic Volume’ cannot be stopped right now. Try stopping the device again later. ဆိုတဲ့ Ejecting Problem message box တက်လာတတ်ပါတယ်။
အဲဒီလိုဖြစ်လာရင် USB Drive ထဲက Program တွေ၊ File တွေ Floder တွေ ဖွင့်ထားသလား Task Bar နဲ့ System Tray မှာ စစ်ကြည့်ပါ။ ဖွင့်ထားရင် ဖွင့်ထားတာတွေ အားလုံးကို ပြန်ပိတ်ပြီး USB Drive ကို ဖြုတ်ကြည့်ပါ။ မရသေးရင် USB Drive နဲ့ ဆက်နွယ်ခဲ့တဲ့ Program တွေဖွင့်ထားရင် ပိတ်ပြီး ပြန်ဖြုတ်ကြည့်ပါ။ ပြဿနာ တက်နေသေးရင် ဒီပြဿနာကို ဖြေရှင်းဖို့ နည်းလမ်းတွေ ရှိပါတယ်။
ပထမနည်းလမ်းကတော့ Task Manager ကိုဖွင့်ပြီး ဖြေရှင်းပါမယ်။ Ctrl+Alt+Delete ကို နှိပ်ပါ။ Windows Vista မှာတော့ Start Task Manager ကို နှိပ်ပါ။ Processes Tab ကို နှိပ်ပါ။ Processes List ထဲမှာ USB Drive ကလို့ထင်ရတဲ့ Process တစ်ခုခုကို ရွေးချယ်ပါ။ End Process Tab ကို နှိပ်ပါ။ ပြီးရင် Safely Remove Hardware Icon ကို နှိပ်ပြီး ဖြုတ်ကြည့် ပါ။
အဲဒီလုပ်လို့မှမရရင် ခုနက Process ကို Right click နှိပ်ပြီး End Process Tree ကို နှိပ်ပါ။ USB Drive ကို ဖြုတ်ကြည့်ပါ။
ဒုတိယနည်းလမ်းကတော့ ကွန်ပြူတာကို Shut Down လုပ်ပြီး USB Drive ကို Remove လုပ်တဲ့နည်းပါပဲ။ ဒါပေမယ့် ဒီနည်းကတော့ Computer ကို Reboot လုပ်ရမှာမို့ အချိန်ကုန်ပါတယ်။
တကယ်လို့ အခု ဖော်ပြခဲ့တဲ့ နည်းလမ်းတွေကို အသုံးပြုလို့မှ မအောင်မြင်ခဲ့ရင် နောက်နည်းလမ်းတစ်ခုကို သုံးပါမယ်။ USB Safely Remove Program ကို Download လုပ်ပြီး Install လုပ်ပါ။ အဲဒီ Program ဟာ System Tray ထဲက Safely Remove Hardware နေရာမှာ Icon တစ်ခုနေနဲ့ ပေါ်နေမှာ ဖြစ်ပါတယ်။ ဒီ Program ကို သုံးပြီး ဘယ် Process တွေကြောင့် ဒီ ပြဿနာ ဖြစ်ရသလဲ ဆိုတာ သိနိုင်သလို၊ ပြဿနာကို ဖြေရှင်းနိုင်မှာ ဖြစ်ပါတယ်။ အဲဒီ Program မှာ အခြား Feature တွေလည်း ပါရှိသေးတယ်။ USB Drive တွေကို နာမည် ပြောင်းပြီး၊ Drive တစ်ခုစီကို ရပ်ဖို့ Hot-key တစ်ခုစီကို Set လုပ်ပြီး၊ Auto Run Option လေးတွေ လုပ်လို့ရတယ်။ တကယ်လို့ Program တွေ Auto loading လုပ်တာ မလိုလားရင် Run on Windows Startup Option ကို 0ff ထားပြီး၊ USB Safely Remove Program ကို လိုအပ်တဲ့ အချိန်မှာပဲ ဖွင့်ပြီး အသုံးပြုနိုင်ပါတယ်မယ်။
How to fix System Restore?
PC မှာ Restore Point ဟောင်းတွေ မရှိတော့ဘူး။ Windows ကလည်း Restore Point တွေ နောက်ထပ် ဖန်တီးမပေးတော့ဘူး။ System Restore ကို ဘယ်လို ပြန်ပြင်မလဲ ???
Windows XP နဲ့ Vista မှာ System Restore ဟာ Registry နဲ့ အရေးကြီးတဲ့ System file တွေကို အလိုလျောက် မကြာခဏ ထိန်းသိမ်းထားပေးပါတယ်။ ဒါပေမယ့် System Restore က Back up တွေ Restore Point တွေကို ဖန်တီး မပေးနိုင်တော့တဲ့ အခြေအနေတွေ ရှိလာတတ်ပါတယ်။
Free Space အလုံအလောက် မရှိတဲ့အခါ။ Restore Point တစ်ခုကို create လုပ်ဖို့ System Partation (သို့) System Drive မှာ အနည်းဆုံး Free Space 200 MB လိုပါတယ်။ တကယ်လို့ Free Space လုံလုံလောက်လောက် မရှိခဲ့ရင် PC ဟာ Restore Point အသစ်တွေကို ဆက်လက် Create လုပ်ပေးတော့မှာမဟုတ်ပါဘူး။ ပြီးတော့ ရှိပြီးသား Restore Point တွေကိုလည်း ဖျက်ပစ်နိုင်ပါတယ်။
Task Scheduler အလုပ် မလုပ်တဲ့အခါ။ System Restore ဟာ Restore Point တွေကို နေ့စဉ်အလိုလျောက် Create လုပ်ပေးနိုင်ဖို့ Windows ရဲ့ Task Scheduler ကို အသုံးပြုပါတယ်။ Task Scheduler အလုပ် လုပ်/မလုပ် စစ်ဆေးဖို့ Start ကိုနှိပ်၊ Run မှာ services.msc ကို ရိုက်ပြီး ဝင်ပါ။ Services Dialog Box ပေါ်လာရင် Scroll Bar နဲ့ အောက်ကိုဆင်း၊ Task Scheduler မှာ Right Click နှိပ်ပြီး Properties ကို ရွေးပါ။ Service Status မှာ Start လုပ်မထားသေးရင် Start ကို နှိပ်ပါ။ ပြီးရင် Startup Type မှာ Automatic ကို ရွေးပြီး OK ကို နှိပ်ပါ။
Operating System မရပ်မနား အမြဲအလုပ်လုပ်နေရတဲ့အခါ။ System Restore ဟာ PC ဖွင့်ထားပေမယ့် အလုပ်မလုပ်ဘဲ နားနေတဲ့အချိန် (Idel State)မှာ Restore Point တွေကို အလိုလျောက် အမြဲ ဖန်တီးပေးပါတယ်။ PC ကို အမြဲ ပိတ်ထားရင် ဒါမှမဟုတ် အမြဲအလုပ်လုပ်နေရင် System Restore ဟာ အလုပ်လုပ်မှာ မဟုတ်ပါဘူး။
System Restore ဟာ ပုံမှန် အလုပ်လုပ်နေရင်တောင်မှ Restore Point တိုင်းကို အသုံးပြုလို့မရပါဘူး။ Restore Point တိုင်းဟာ ပြည့်စုံတဲ့ Back up တွေ မဟုတ်ပါဘူး။ Restore Point တစ်ခုစီဟာ ယခင် Restore Point နောက်ပိုင်းမှာ ဖြစ်ခဲ့တဲ့ ပြောင်းလဲမှုတွေကိုသာ ထိန်းသိမ်းထားပါတယ်။ မူလအခြေနေကောင်းတစ်ခုခုကို ပြန်လည်ရယူနိုင်ဖို့ System Restore ဟာ Restore Point တွေအားလုံးကို အသုံးပြုရတဲ့ အခြေနေတွေကြုံလာတတ်ပါ တယ်။ အဲဒီလိုကြုံလာရတဲ့ အခြေအနေမျိုးမှာ Restore Point တစ်ခုခု ပျက်စီးသွားခဲ့မယ်ဆိုရင် တခြား Restore Point တွေကိုလည်း သုံးလို့ရတော့မှာမဟုတ်ပါဘူး။
တကယ်လို့ အလုပ်ဆက်လုပ်ဖို့ Restore Point တစ်ခုမှ မရနိုင်တော့ဘူးဆိုရင် Restore Point အားလုံးကို ဖျက်ပစ်ပါ။ System Restore ကို Off လုပ်ပြီး ပြန် On ပါ။ Window XP မှာ Start ကို နှိပ်ပြီး Run မှာ sysdm.cpl ကို ရေးပြီး ဝင်ပါ။ System Restore Properties Dialog Box မှာ System Restore Tab ကို နှိပ်ပြီး Turn off System Restore on all drives ဘေးမှာ အမှန်ခြစ်ကလေး ပေးလိုက်ပါ။ Apply ကို နှိပ်ပါ။ ပြီးရင် စောစောက အမှန်ခြစ်ထားတာ လေးကို ပြန်ဖြုတ်ပြီး OK ကို နှိပ်ပါ။ Window Vista မှာဆိုရင် Start ကို နှိပ်ပြီး sysdm.cpl ကိုရေးပြီး Enter ကို နှိပ်ပါ။ System Protection tab ကို နှိပ်ပြီး ဒါမှမဟုတ် open System Protection ကို ရွေးချယ်ပြီး Local Disk (C:) ဘေးက အမှန်ခြစ်လေးကို ဖြုတ်ပါ။ System Restore Pop-up မှာ Turn off System Restore ကို ရွေးချယ်ပါ။ Apply ကို နှိပ်ပါ။ ပြီးရင် Local Disk (C:) ကို ပြန်စစ်ဆေးပြီး OK ကို နှိပ်ပါ။
DES (10) - Iteration ပြုလုပ်ခြင်းနှင့် PC-2
ဒီ PC-1 အရ 64bits ကနေ 56 bits ပြောင်းတယ်ဆိုတော့ နဂို 64bits ကနေ 8bits လျော့သွားပါတယ်။ အဲဒါတွေကတော့ 8,16,24,32,40,48,56 နဲ့ 64 ခုမြောက် bits တွေ ဖြစ်ပါတယ်။
အဲဒီ 56bits ကိုမှ C နဲ့ D ခွဲ၇မှာ ဖြစ်ပြီး ပထမ 28bits (1-28¬) ဟာ C ဖြစ်ပြီး နောက်က 28bits (29-56) ဟာ D ဖြစ်ပါတယ်။ C0 နဲ့ D0 ရပြီ ဆိုရင် Left shift (ဘယ်ဘက်သို့ အစားထိုးခြင်း) ပြုလုပ်ရမှာ ဖြစ်ပါတယ်။ C နဲ့ D အတွက် left shift 16 rounds ရှိပါတယ်။ Iterarion ဖယား ကိုတော့ အောက်မှာ ဖော်ပြလိုက်ပါတယ်။
ဒီဇယားအရ C0 နဲ့ D0 အတွက် left shift ဟာ 1 ဖြစ်ပါတယ်။ ဒီတော့ C0 ရဲ့ 1st နေရာက bit ဟာ 32nd နေရာကို ရောက်မှာဖြစ်ပြီး အရင် 32nd က 31st ဖြစ်သွားမှာဖြစ်ပါတယ်။ D0 ဟာလဲ ဒီအတိုင်း ဖြစ်ပါတယ်။ C0 နဲ့ D0 ကို shifted လုပ်ပြီးရင် C1 (28 bits) နဲ့ D1 (28 bits) ရမှာဖြစ်ပါတယ်။ အဲဒီ 56bits ကို Permuted choice -2 (PC-2) အရ နေရာရွှေ့လိုက်ရင် key1 အတွက် 48bits ရပါပြီ။ ပုံ(၁၂) မှာကြည့်ပါ။
ပုံ(၁၂)
အခုရထားတဲ့ Key1 (48btis) ဟာ function ထဲမှာ E-bits (48bits) နဲ့ XOR ပြုလုပ်ရမှာ ဖြစ်ပါတယ်။ အရင်ရထားတဲ့ C1 နဲ့ D1 ကိုသုံးပြီး key algorithm ကအတိုင်း left shift ဇယား နဲ့ တွဲပြီး ဆက်လုပ်ရင် C2 နဲ့ D2 ကိုရမှာပါ။ အဲလို ဆက်လုပ်သွားရင် key 16 round အတွက်ရမှာပါ။
DES (09) - KEY ပြုလုပ်ခြင်း
Key algorithm မှာလည်း encryption algorithm မှာလိုပဲ 16 round ရှိပါတယ်။ key algorithm အတွက် Input ဟာ 64 bits ဖြစ်ပါတယ်။ Input key 64 bits ကတော့ password သဘောမျိုးနဲ့ ကြိုက်တာ ထားနိူင်ပါတယ်။ ဒါပေမဲ့ တခု သတိထား ရမှာက key ဟာ Text အရေအတွက်ထက် နဲလို့ မရပါဘူး။ (ဥပမာ Text ဟာ 64 bits(3 rounds) ဆိုရင် Key ဟာလည်း 64 bits(3 rounds) ရှိရမှာ ဖြစ်ပါတယ်) ။ Key algorithm အရ input 64 bits ကို permuted choice 1 (PC1) အရ permutation လုပ်ရင် 56 bits ရမှာ ဖြစ်ပါတယ်။ Key algorithm နဲ့ PC1 ကိုတော့ အောက်မှာ ဖော်ပြလိုက်ပါတယ်။
ပုံ (၁၀)
ပုံ (၁၁)
Key algorithm နဲ့ PC1
Programmer အကြိုက် Online ရတနာသိုက်များ
from Knowledge is Free by kmo
6 people liked this
ပရိုဂရမ်းမင်း (Programming) ဘာသာရပ်ကို လေ့လာလိုသူများအတွက် Online ပေါ်က ရင်းမြစ် (resources) တွေကို ညွှန်းချင်ပါတယ်။ ပညာရပ်တစ်ခုဆိုတာ လေ့လာလေ နက်နဲလေ၊ ရှာဖွေလေ တွေ့ရှိလေပါပဲ။ ပိုပြီး ကျယ်ပြန့်စွာသိချင်ရင် Online မှာ Programming နဲ့ coding တွေအတွက် ရှာနိုင်တဲ့နေရာတွေ အများကြီးပါ။
Java
Trail: Learning the Java Language
http://java.sun.com/docs/books/tutorial/java/TOC.html
Sun Microsystem ရဲ့ Java 'Trail' ကတော့ တကယ်ကောင်းတဲ့ site လို့ ပြောရမယ်။ Java ကို လေ့လာတုန်းက နားမလည်တာတွေ အားလုံး၊ ပြဿနာတွေအားလုံးကို ဒီ site ကနေ ဖြေရှင်းပေးနိုင်တယ်လို့ ညွှန်းကြပါတယ်။ 'Trail' site က လက်ဦးအစသမားတွေအတွက် အတော်လေးလုံလောက်တယ်လို့ ဆိုရမယ်။ ဒီ လိုင်းမှာ objects, classes, inheritances, interface နဲ့ packages တွေ အားလုံးနဲ့ပတ်သက်ပြီး အခြေခံကစ ရှင်းပြထားပါတယ်။ ဒီနေရာကနေ စဉ်းစားဆင်ခြင်နိုင်စွမ်းတွေကို concept အနေနဲ့ အများကြီး ရနိုင်တယ်။ အဆင့်မြင့်ကြီးတွေ မပြောသေးဘဲ အဆင့်လိုက်အသေးစိတ်ကို လေ့လာနိုင်တယ်။ နားလည်လွယ်တဲ့ ဥပမာတွေ အများကြီး ထည့်ပြီးရှင်းပြထားပါသေးတယ်။
Java Beans
http://www.netbeans.org/kb/trails/java-se.html
Java Beans ကတော့ Tutorial တွေလုပ်ဖို့ တကယ့်စာကြည့်တိုက်ကြီး တစ်တိုက်လို့ ပြောရမယ်။ Java Programmer တွေအတွက်သာမက C++ နဲ့ PHP သမားတွေအတွက်ပါ အများကြီး ပတ်သက်နေတဲ့ နေရာလို့ ပြောရမယ်။ Java Beans မှာ Java ပရိုဂရမ်အဖွဲ့ဝင်တွေကလည်း သူတို့ content တွေနဲ့ အများကြီး အထောက် အကူ ပြုထားတာ တွေ့ရတယ်။ အဖွဲ့ဝင်တွေက သူတို့တွေ့ထားတဲ့၊ သိထားတဲ့ ပရိုဂရမ် tutorial တွေကိုလည်း တင်ထားပေးပါတယ်။
Java Lessons
http://javalessons.com
ဒီ website မှာတော့ လေ့ကျင့်ခန်းတွေနဲ့ assignment တွေ အများကြီး သွားတွေ့လိုက်ရတယ်။ Java Lessons က tutorial တွေ များစွာ ပေးထားပါတယ်။ ဒါပေမယ့် ဥပမာတွေပေးပြီးတော့ပဲ focus လုပ်ထားတယ်။ ဒီ site မှာ mechanics of the language နဲ့ ရှုပ်ထွေးလှတဲ့ statement တွေရဲ့ ရည်ရွယ်ချက်တွေကို ဖော်ပြထားတယ်။ ပုံစံ အမျိုးမျိုး ရှင်းလင်းချက်အဖုံဖုံနဲ့ စာကြည့်တိုက်တစ်တိုက်စာလောက် ရှင်းလင်းချက်တွေကို တွေ့နိုင်တယ်။ ဥပမာ တစ်ခုကို click နှိပ်လိုက်တာနဲ့ 'lesson viewer' ကို တွေ့နိုင်ပြီး အဲဒီအထဲမှာ source code တွေကို နောက်ထပ် window တစ်ခုနဲ့ ဖတ်နိုင်မှာပါ။ လိုင်းတစ်လိုင်းစီရဲ့ ရှင်းလင်းချက်တွေကို သိချင်ရင် အခြား window တစ်ခုနဲ့ ထပ်မံလေ့လာနိုင်ပါတယ်။ Code လိုင်းတွေပေါ်က cursor ကို ဖယ်လိုက်တာနဲ့ viewer က ဆက်စပ်နေတဲ့ ရှင်းလင်းချက်တွေကို highlight နဲ့ ဖော်ပြမှာ ဖြစ်ပါတယ်။ အမြင်ပိုင်းဆိုင်ရာကတော့ ဒီ website ဟာ သိပ်ပြီး တော့ ထူးခြားမှုမရှိပေမယ့် အသုံးကျမှုကတော့ တန်ဖိုးဖြတ်လို့ကို မရနိုင်ပါဘူး။
Java World Community
http://www.javaworld.com/community
Java World ရဲ့ main page မှာတင် တကယ်ကောင်းတဲ့ ဆောင်းပါးတွေ တင်ထားတာတွေ့ရမယ်။ ဒီဆောင်းပါး တွေဟာ programming နဲ့ပတ်သက်ပြီး နားလည်စေနိုင်ရုံမျှမက ချဲ့တွေးမယ်ဆိုရင် အများကြီး တွေးလို့ရတယ့် ဆောင်းပါးတွေ ဖြစ်ပါတယ်။ Java World မှာ community section ဆိုတာပါတယ်။ ဒီ ကဏ္ဍကနေ Java နဲ့ ပတ်သက်တဲ့ Q&A forum တွေအပြင် အခြားသက်ဆိုင်ရာ blog တွေဆီကိုလည်း သွားနိုင်ပါလိမ့်မယ်။
Java Coffee Break
http://www.javacoffeebreak.com/
ဒီ site ဟာ Java Coffee Break ရဲ့ Library of tutorial က အတော်လေးဟောင်းနေပြီလို့ ဆိုရမယ်။ ဒီ site မှာ ရေးတဲ့သူတွေက ၁၉၉၆ လောက်ကတည်းကလေ။ ဒါပေမယ့် တကယ့် language နဲ့ပတ်သက်ပြီး နှိုက်လိုတဲ့ နောက်ပေါက်တွေ အတွက်ကတော့ တန်ဖိုးမဖြတ်နိုင်တဲ့ နေရာကြီး တစ်ခုပါ။ ကိုယ်ဘာတွေ သိချင်လိုချင်တယ် ဆိုတာကို ဒီ site မှာ ဆုံးဖြတ်နိုင်လိမ့်မယ် ထင်ပါတယ်။
C++
Visual C++ Developer Centre
http://msdn.microsoft.com/en-us/visualc/default.aspx
C++ ရဲ့ တရားဝင် website တစ်ခုပါ။ ဒီဘာသာရပ်နဲ့ ပတ်သက်တာမှန်သမျှ အားလုံးအဖြေတွေရှိတယ်ဆိုတဲ့ နေရာမျိုးပေါ့။ Microsoft Developer Network က download နဲ့ tutorial တွေ အများကြီး ဖြည့်ဆည်းပေးထား တယ်။ C++ ကို စတင်လေ့လာချင်သူတွေ၊ စိတ်ပါဝင်စားပြီး ကိုယ်ပိုင်လေ့လာချင်သူတွေအတွက် အထောက် အကူပြုမယ့် site လို့ ဆိုချင်ပါတယ်။
CProgramming.com
http://www.cprogramming.com/
CProgramming.com ဟာ တကယ့်အံ့ချီးဖွယ် tutorial library ကြီးလို့ ဆိုနိုင်တယ်။ C ရော C++ အတွက်ပါ အခြေခံကစပြီး ရှင်းပြနိုင်တဲ့လိုင်း ဖြစ်ပါတယ်။ OpenGL လို ခေါင်းစဉ်အောက်ကနေ လေ့လာစရာတွေ အများ ကြီးပါ။ CProgramming ရဲ့ ပြဿနာတစ်ခုကတော့ update သိပ်မလုပ်တာပဲ ဖြစ်ပါတယ်။ သို့သော်ငြားလည်း ညွှန်းလိုတာကတော့ C++ နဲ့ ပတ်သက်ရင် ဒီ site မှာ အပြည့်စုံဆုံး ရနိုင်တယ် ဆိုတာပဲ။
alt.com.lang.c-c++
http://groups.google.com/group/comp.lang.c++/topics?lnk
Usenet group က C++ နဲ့ပတ်သက်ပြီး လှုပ်ရှားနေတဲ့ site လို့ ပြောရမယ်။ ဒီ site မှာ ထောင်ပေါင်းများစွာ သော ထောက်ပံ့သူတွေရှိတယ်။ မေးခွန်းလေးတွေ ပြန်ဖြေတာတောင် အသေးစိတ် ဖြေပေးထားတယ်။ ၁၉၈၆ နိုဝင်ဘာလလောက်ကတည်းက ထောင်ပေါင်းများစွာသော post တွေကိုလည်း ဒီမှာတွေ့နိုင်တယ်။ C++ နဲ့ ပတ်သက်ပြီး အတော်လေးလည်း အတွေ့အကြုံဗဟုသုတ ရှိတယ်ဆိုရင် ဒီအဖွဲ့ကြီး ဆက်လက်တည်တံ့နေတာ ကိုပဲ ကျေးဇူးတင်ထိုက်တယ်။ ဒီအထဲမှာ မေးချက်၊ ဖြေချက်၊ ဆွေးနွေးချက်တွေဟာ တစ်ဦးချင်းအနေနဲ့ ကြည့်ကြည့်၊ အဖွဲ့လိုက်အနေနဲ့ ကြည့်ကြည့် တန်ဖိုးမဖြတ်နိုင်စရာ ရတနာသိုက်ကြီးပမာ ယနေ့တိုင် ဖြစ်နေဆဲလို့ ဆိုနိုင်တယ်။
LearnCpp.com
http://www.learncpp.com/
အခြေခံကျကျ tutorial တွေနဲ့ website တစ်ခုပေါ့။ ဒီဘာသာစကားနဲ့ပတ်သက်ပြီး အတွေ့အကြုံရှိသူတွေ အတွက် ရည်စူးပြီး သီးသန့်ပညာရှင်ဆန်တဲ့ website လို့ ဆိုနိုင်ပါတယ်။ ဒီ site ဟာ တကယ့်ဈေးကွက်ဝင် ပညာရှင် အဆင့်ဆင့်လောက်အထိကို ရည်စူးပြီး သုတေသန လုပ်ထားတာတွေ တင်ထားတာကြောင့် ခုမှစတင် လေ့လာသူတွေအနေနဲ့တော့ အသက်ရှုမှားလောက်တဲ့ site လို့ ဆိုရမယ်။
CPlusPlus.com
http://www.cplusplus.com/
ဒီ site မှာလည်း tutorial တွေ အများကြီး ရှိတယ်။ အမှန်တော့ ဒီ site မှာ ရောင်းနေတာတွေက လက်ရှိ active ဖြစ်နေတဲ့ forum တွေနဲ့ ဥပမာကောင်းကောင်းတွေ စုစည်းချက်တွေပါ။ ဒါတွေကို အလကား မရပါဘူး။ အဲဒီ ခက်ခဲ နက်နဲတဲ့ source code တွေကို download လုပ်ယူနိုင်ပါတယ်။ Compiled လုပ်တာတွေ၊ run တာတွေကို အခြား DOS သို့မဟုတ် Windows နဲ့ လုပ်ကြည့်နိုင်ပါတယ်။
Visual Basic
Visual Basic Developer Centre
http://msdn.microsoft.com/en-us/vbasic/default.aspx
Microsoft ရဲ့ တစ်ကျော့ပြန် ထိပ်တန်းကျတဲ့ website တစ်ခုလို့ ပြောရမယ်။ Microsoft ရဲ့ ဒီ Visual Basic website ဟာ C++ page တွေကိုလည်း ထည့်ပေးထားတယ်။ Tutorial အမျိုးမျိုးကိုလည်း download လုပ်ယူ နိုင်တယ်။ စိတ်ဝင်စားစရာကောင်းတာက Video Tutorial တွေပါ download လုပ်နိုင်တာပါ။ Microsoft Developer Network ရဲ့ C++ page နဲ့ Sun Microsystem က Java trial တွေကိုလည်း ဒီ site မှာ လေ့လာ နိုင်တာက ပိုပြီး အဆင်ပြေစေနိုင်ပါတယ်။ နောက်ပေါက် ပရိုဂရမ်မာအသစ်တွေအနေနဲ့ ဒီ site က video သရုပ် ပြသင်ကြားချက်တွေဟာ လွန်စွာကောင်းလောက်အောင် အထောက်အကူ ဖြစ်စေနိုင်ပါလိမ့်မယ်။
Mark-up and Scripting Languages
W3Schools
http://www.w3schools.com/
ဒီ site မှာ တကယ်ကောင်းတဲ့ array of tutorial တွေကို ပြင်ခွင့်၊ ဝင်ရေးခွင့်တွေ ရနိုင်အောင် စီစဉ်ပေးထား တယ်။ ဈေးကွက်ဝင် script တွေဖြစ်တဲ့ ASP, CSS, HTML, Javascript, PHP, SQL နဲ့ XML တွေ အားလုံး ဒီအထဲမှာ လေ့လာနိုင်တယ်။ ဒီ site ရဲ့ library of tutorials ဟာ အရမ်းကျယ်ပြန့်တဲ့သဘော ရှိတယ်။ လိုချင် သလောက် အရေအတွက် ဒီမှာမလေ့လာနိုင်တာကို အဆိုးမြင်လို့တော့ မရဘူး။ သူထည့်ထားသမျှ content တွေ ဟာ တကယ့်အရည်အသွေးပြည့် စမ်းသပ်ချက်တွေ ဖြစ်နေတာကို အသိအမှတ်ပြုရလိမ့်မယ်။ ဒါပေမယ့် ဥပမာ တွေအများကြီးတော့ ရှိတယ်။ ပြဿနာတစ်ခုခုကို W3School မှာ ကြိုက်ရာဘာသာ language နဲ့ ဝင်ပြီး လေ့လာနိုင်တယ်ဆိုတာက အခွင့်အရေးတစ်ခုလို့ မှတ်လိုက်ပါ။ ပြီးပြည့်စုံတဲ့ site တစ်ခုမဟုတ်သေးပေမယ့် အစ သမားတွေရော၊ ကျွမ်းကျင်သူတွေပါ အားကိုးထိုက်တဲ့ site ဖြစ်ပါတယ်။
PHPFreaks
http://www.phpfreaks.com/
PHP coding တွေနဲ့ပတ်သက်ပြီး tutorial တွေအပြင် တကယ့်ပြောင်မြောက်တဲ့ active forum တွေကိုပါ လေ့လာ နိုင်ပါတယ်။
HTML:An Interactive Tutorial
http://www.davesite.com/webstation/html/
အခြေခံကျကျ tutorial ကောင်းကောင်းတွေ ထည့်ထားတယ်။ HTML ကို စတင်လေ့လာချင်သူတွေအတွက် ကောင်းတယ်။ Coding တွေအပြင် website design တွေကိုပါ အခြေခံကစပြီး လေ့လာနိုင်တယ်။
YourHTMLSource/JavaScript
http://www.yourhtmlsource.com/javascript
JavaScript နဲ့ ပတ်သက်ပြီး နိဒါန်းသဘောလောက်တော့ လေ့လာနိုင်လိမ့်မယ်။ ဒီ site ရဲ့ အဓိကဟာ URL နဲ့ ပတ်သက်ပြီး အကြုံပြုချက်တွေအပြင်၊ HTML နဲ့ ပတ်သက်ပြီး focus လုပ်ထားတာတွေလောက်ပဲ ရှိတယ်။
JavaScript Kit
http://www.javascriptkit.com/javatutors
အတော်လေးဟောင်းနေတဲ့ website လို့ဆိုရမယ်။ Y2K bug တွေနဲ့ပတ်သက်ပြီး ရှင်းချက်တွေရှိတယ်။ JavaScript နဲ့ ပတ်သက်ရင် အရည်အသွေးပြည့် tutorial တွေအများဆုံး စုဆောင်းထားနိုင်တဲ့ library တစ်ခု လို့တော့ အသိအမှတ်ပြုရလိမ့်မယ်။ JavaScript ကို အထူးပြုလိုက်စားသူတွေ အခြေခံကျကျ ပြန်လေ့လာချင် တယ်ဆိုရင် ဝင်ပြီးလေ့လာသင့်တဲ့ site လို့ အကြံပြုချင်ပါတယ်။
SQLzoo.net
http://www.sqlzoo.net/
SQL နဲ့ ပတ်သက်ပြီး နိဒါန်းပျိုးပေးထားတဲ့ site လို့ဆိုနိုင်တယ်။ တကယ့် interactive ဖြစ်တဲ့ ဥပမာတွေ ပေးထားတာက လေ့လာချင်သူတွေအတွက် အထောက်အကူများစွာ ဖြစ်စေပါလိမ့်မယ်။
HTML.net
http://www.html.net/
HTML, CSS နဲ့ပတ်သက်ပြီး အခြေခံကျကျ tutorial တွေ ထည့်ပေးထားတယ်။ Tutorial တွေကတော့ လက်ခံ ချင်လည်း လက်ခံလို့ရသလို လက်မခံချင်ရင်လည်း ရတဲ့ ဉာဏ်ပွားပြီးစဉ်းစားစရာ ပြဿနာတွေနဲ့ ဖြစ်ပါတယ်။ ဒါပေမယ့် တကယ့်ကို အခြေခံကျကျ စဉ်းစားပေးထားတယ်။ သူတို့နဲ့ W3School site က tutorial တွေဟာ သိပ် မနီးစပ်တာတွေ ဖြစ်ကောင်းဖြစ်နိုင်တယ်။ အတွေ့အကြုံ မရှိသေးသူတွေအတွက်ကတော့ အဆင်ပြေစွာ လေ့ကျင့်နိုင်မယ့် နေရာကောင်းတစ်ခုလို့ ဆိုနိုင်ပါတယ်။
The Python Tutorial
http://docs.python.org/tutorial
အရိုးဆုံးအမည်နဲ့ အရှင်းဆုံး website လို့ ဆိုချင်ပါတယ်။ Python Tutorial များကို အခြေခံကစပြီး တွေးရင် တွေးသလောက် ခရီးရောက်တဲ့ language လို့ ဆိုချင်တယ်။ ကိုယ်ပိုင်အတွေးနဲ့ programming ကို တည်ဆောက်ချင်သူတွေအနေနဲ့ဖြစ်စေ၊ လွယ်လွယ်နဲ့စပြီး အကောင်းဆုံးရလဒ်ကို ရယူဖန်တီးချင်သူတွေ အတွက်ဖြစ်စေ၊ ဒီ site ကတော့ အမှတ်ပြည့်ပေးရမယ့် site လို့ ဆိုချင်တယ်။
Beginners, Non-Programmers
Guide to Python
http://wiki.python.org/moin/BeginnersGuide/NonProgrammers
Python tutorial တွေ အများကြီးပေးထားပြီး နောက်ထပ် အသစ်တွေကို ဆွဲခေါ်ထားတဲ့ site လို့ ဆိုနိုင်တယ်။ အထူးသဖြင့်တော့ ဒီ site ဟာ ကလေးတွေအတွက်ရည်စူးပြီး ကလေးပရိုဂရမ်မာတွေ ထွက်ပေါ်ရေးများ လုပ်ထားသလားလို့ ထင်ရတယ်။ လွယ်လွယ်နဲ့ ပရိုဂရမ်ကို လေ့လာချင်ရင် ဝင်ကြည့်ပေါ့။
Serial Port Programming by VB 6.0 (၁)
VB 6.0 ဟာ အခုလို .NET တွေ တွင်ကျယ်နေတဲ့ ခေတ်မျိုးမှာ သိပ် ခေတ်မစားတော့ပါဘူး။ ဒါပေမယ့် portable ပိုဖြစ်တယ် ဆိုတဲ့ အချက်ကြောင့် ကျွန်တော်တို့ တစ်ချို့ တစ်လေ အတွက်တော့ အခုထိ လက်လွှတ်လို့ မရသေးပါဘူး။ အခု ဆောင်းပါးမှာတော့ VB 6.0 ကိုသုံးပြီး Serial Port ကို ဒေတာတွေ ဘယ်လို ရေးရမယ် ဆိုတာကို ရှင်းလင်း တင်ပြသွားမှာ ဖြစ်ပါတယ်။
ဒါပေမယ့် ဒီဆောင်းပါးကို ဖတ်ဖို့ VB 6.0 နဲ့ ပက်သက်တဲ့ အခြေခံ အချို့ကို သိထားပြီး ဖြစ်ဖို့တော့လိုပါတယ်။ ကျွန်တော် ရေးတဲ့ ဆောင်းပါး အတော်များများဟာ အခြေခံ ရှိပြီးသား စာဖတ် ပရိသတ် အတွက် ရည်ရွယ်ထားတာ ဖြစ်တဲ့ အတွက် လေ့လာကာစ စာဖတ် ပရိသတ် အတွက် ဖတ်ရတာ အခက်အခဲ ရှိတယ် ဆိုရင် တောင်းပန်ပါတယ်။
PC တစ်လုံးရဲ့ Serial data တွေကို Serial Port (Com1-Com4) ကနေ ပို့ဆောင်တဲ့ နေရာမှာ ASCII data တွေကို အသုံးချ ရပါတယ်။ အဲဒီလို လုပ်ဆောင်ဖို့ VB 5.0 နဲ့ 6.0 မှာ MsComm ဆိုတဲ့ control ကို အသုံးပြုရမှာ ဖြစ်ပါတယ်။ အဲဒီ control ဟာ custom control ဖြစ်တဲ့ အတွက် default control အနေနဲ့ ပါလာမှာ မဟုတ်ပါဘူး။ ဒါကြောင့် menu ထဲက Project - Components ဆိုပြီး ပေါ်လာတဲ့ dialog box ထဲက Microsoft comm control 6.0 ဆိုတာလေးကို ပုံမှာ ပြထားတဲ့ အတိုင်း ရွေးချယ်ပေးရပါမယ်။
နောက် တစ်ဆင့် အနေဖြင့် MS Comm control (တယ်လီဖုန်းပုံ) ကို အောက်ပုံတွင် ဖေါ်ပြထားသည့် အတိုင်း Toolbox မှ form ပေါ်သို့ ဆွဲယူ ရေးသား ရမည် ဖြစ်သည်။
Serial Port ကို programming အသုံးပြု၍ interfacing ပြုလုပ်ရာတွင် နည်းလမ်း ၂ ခုကို အသုံးပြုနိုင်သည်။
1. Interrupt communication
Interrupt communication ပြုလုပ်ရာတွင် Interrupt process မှ အဆိုပါ devices များမှ မိမိ ကွန်ပျူတာ ၏ comm port ဆီသို့ signal ပို့မပို့ကို စောင့်ကြည့် နေရမည် ဖြစ်သည်။ ပရိုဂရမ်မာ တစ်ယောက်အနေဖြင့် ComEvent နှင့် OnCommEvent နှစ်ခုကို အသုံးပြုရမည် ဖြစ်သည်။ အကယ်၍ အဆိုပါ events များ active ဖြစ်လာပါက devices များမှ signal များ ပေးပို့ကြောင်း သိရှိနိုင်မည် ဖြစ်သည်။
2. Polling Communication
PC system တစ်ခုတွင် polling ဆိုသည်မှာ CPU နှင့် terminal တစ်ခုကြား ဒေတာ ပို့ဆောင်ခြင်း ဖြစ်သည်။ ဥပမာ ကီးဘုတ်မှ ကီး တစ်ခုကို နှိပ်ထားမထား စောင့်ကြည့်သည့် ပုံစံမျိုးဖြစ်သည်။ သို့သော် အဆိုပါ device တစ်ခုတည်းကိုသာ အချိန်ပြည့် စောင့်ကြည့်နေပါက infinite looping ကဲ့သို့ အခြေအနေမျိုး ဖြစ်ကာ အခြား devices များ အလုပ် ဆက်မလုပ်နိုင်တော့ဘဲ ကွန်ပျူတာ ဟန်း သွားမည် ဖြစ်သည်။ ထိုအခြေအနေမျိုးကို "Web Poll" ဟုခေါ်ပြီး Loss time 90% ရှိတတ်သည်။ အဆိုပါ cycle time lose ကို ရှောင်ရှားရန် VB Programming တွင် Roung Robin ဟု ခေါ်သော Timer control ကို အသုံးပြု၍ Serial Port ကို အလှည့်ကျ စောင့်ကြည့် သည့် စနစ် ကို အသုံးချနိုင်သည်။
MSComm control တွင် interrupt ကို အသုံးပြုနိုင်သော event မှာ Oncomm Event ဖြစ်သည်။ ပုံမှန် Serial port communication အတွက် အသုံးပြုလေ့ရှိသော comm event မှာ comEvReceive နှင့် comEvSend တို့ ဖြစ်သည်။ Modem ကို အသုံးပြု၍ ဆက်သွယ်မှု အမြောက်အများ အတွက် signals များကို စောင့်ကြည့်ရန် အတွက်မူ MSDN ကိုသာ ရှာဖွေရန် ရည်ညွှန်းလိုပါသည်။
MSComm Element (Serial Port အတွက် setting များ ပြုလုပ်ခြင်း)
• ComPort သည် RS-232 port interfacing အတွက် Com1, Com2 စသဖြင့် ရွေးချယ်ပေးရန် ဖြစ်သည်။
• Setting မှာ Baud,Parity,Data(number of bits),Stop ပုံစံဖြည့်ရန် ဖြစ်သည်။ ဥပမာ။ "1200,n,8,1 "
• HandShaking တွင် ကျွန်တော်တို့ အနေဖြင့် အမျိုးအစား ၄ မျိုးကို အောက်ပါအတိုင်း သတ်မှတ် ပေးနိုင်ပါသည်
• comNone
• comXonXoff
• comRTS
• comTRSXonXoff
အချက်အလက်များ ပေးပို့ရာတွင် Buffer ကို အသုံးပြုပုံ
-InBuffersize ကို လက်ခံရရှိလာသော အချက်အလက်များ အတွက် buffer အရွယ်အစားကို သတ်မှတ်ရန် အသုံးပြုသည်။
- OutBuffersize ကို ပေးပို့မည့် အချက်အလက်များ အတွက် buffer အရွယ်အစားကို သတ်မှတ်ရန် အသုံးပြုသည်။
- Rthreshold ကို အချက်အလက်များ ပေးပို့ရာတွင် Event-driven ဖြစ်စေရန် သတ်မှတ်သည်။
- Sthreshold ကို အချက်အလက်များ ရယူရာတွင် Event-driven ဖြစ်စေရန် သတ်မှတ်သည်။
- Inputlen သည် buffer အတွင်း လက်ခံရယူနိုင်သော အချက်အလက် အရေအတွက် ကို သတ်မှတ်ပေးသည်။
- EOFEnable ဆိုသည်မှာ ဖိုင် အဆုံးကို သတ်မှတ်ထားသော သင်္ကေတ ဖြစ်သည်။
About Hardware
- ParityReplace mean is character value instead of occur Parity Error
- NullDiscard mean is define in receive or not "NULL CHARACTER"
- RTSEnable mean is define signal RTS (Request To Send)
- DTSEnablemean is define signal DTR(Data Terminal Ready)
Port များကို ဆက်သွယ်ရန်အတွက် MSComm ၏ properties များကို ရွေးချယ် သတ်မှတ်ခြင်း
1. CommPort Property ကို coding မိမိ ရေးသားရာတွင် အသုံးပြုလိုသည့် comm port ကို ရွေးချယ်နိုင်ရန် အတွက် အသုံးပြုနိုင်သည်။ ဥပမာ။ Com1 ကို အသုံးပြုမည်ဆိုပါက MSComm1.CommPort=1 ဟူ၍ရေးသားနိုင်သည်။
2. Settings Property ကို coding ရေးသားရာတွင် အချက်အလက်များ ပေးပို့/လက်ခံ မည့် သတ်မှတ်ချက်များ ဖြစ်သော Baud(rate for receive/send data),Parity(N),Number of bits,bits Stop စသည်တို့ကို သတ်မှတ်နိုင်ရန် အသုံးပြုထားခြင်း ဖြစ်ပါသည်။ အသုံးပြုပုံမှာ အောက်ပါ အတိုင်း ဖြစ်ပါသည် -
MSComm1.Settings="Baud(rate for receive/send data),Parity(N),Number of bits,bits Stop"
ဥပမာ။ MSComm1.Settings="1200,N,8,1"
3. InputLen Property ကို input buffer size သတ်မှတ်ရန် အတွက် အသုံးပြုသည်။
Exemple MSComm1.InputLen=1
4. Property PortOpen ကို port အား ဖွင့်ခြင်း ပိတ်ခြင်း ပြုလုပ်ရန် အသုံးပြုသည်။ Open =True ,Close =False
ဥပမာ။ MSComm1.PortOpen=True
5. Rthreshold Property သည် buffer တွင် အချက်အလက်များ လက်ခံရရှိလာသည့် အခါတွင် Event-driven activation ကို ဖြစ်ပေါ်စေသည်။ OnComm Event procedure အတွင်းရှိ CommEvent ကို active ဖြစ်စေသည်။
Example MSComm1.Rthreshold =1
MSComm properties များကို port selection နှင့် port enabling functions အစရှိသော communication parameters များအား သတ်မှတ်ပေးရန် အသုံးပြုနိုင်သည်။ အဆိုပါ setting များကို အောက်တွင် ဖေါ်ပြထားသကဲ့သို့ Form_load() procedure တွင် ရေးသားခြင်း သို့မဟုတ် new Sub တစ်ခု ဖန်တီး၍ နောင်မှ ခေါ်ယူ အသုံးချ ခြင်းများ ပြုလုပ်နိုင်သည်။
Private Sub Form_Load()
MSComm1.Settings="1200,N,8,1"
MSComm1.CommPort=1
MSComm1.InputLen=1
MSComm1.PortOpen=True
MSComm1.Rthreshold =1
End Sub
Serial port ကို သုံးပြု၍ ဆက်သွယ်ခြင်း
အထက်တွင် ရေးသားပြခဲ့သော coding အရ Comm port ကို အသုံးပြု RS-232 နှင့် ဆက်သွယ်ရန် အတွက် လိုအပ်သော အချက်အလက်များ သတ်မှတ်ပေးထားပြီး ဖြစ်ရာ ဒေတာ ပေးပို့ခြင်း၊ ရယူခြင်းများကို Output နှင့် Input properties များ အသုံးပြု၍ လုပ်ဆောင် နိုင်ပါသည်။
Output = အချက်အလက်များကို Serial port သို့ ပေးပို့ရန် အသုံးပြုသည်။
Input == အချက်အလက်များကို Serial port မှ ရယူရန် အသုံးပြုသည်။ but this will being command to write at Event Property OnComm that has in Sub MSComm_OnComm that read data from serial port or RS-232
ဥပမာ
keyboard မှ ရိုက်သွင်းလိုက်သော အချက်အလက်များကို serial port သို့ ပေးပို့ရန် အတွက် TextBox Control ၏ KeyPress event ကို အောက်ဖေါ်ပြပါ အတိုင်း အသုံးပြုနိုင်သည်။
Sub txtRXTX_KeyPress(KeyAscii As Integer)
MSComm1.Output=Chr$(KeyAscii)
End Sub
ပေးပို့သော အချက်အလက်များ ကို လက်ခံရယူရန် အတွက်မူ OnComm event ကို အောက်ပါ နမူနာ အတိုင်း အသုံးပြု နိုင်သည်။
Private Sub MSComm1_OnComm()
Dim StrData As Variant 'define variable type as it is variant
Str=MSComm1.Input
Text1.Text=StrData
End Sub
ကျွန်တော် ပထမဆုံး Input property ကို အသုံးပြုစဉ်က direct data များ ရယူရာတွင် အဆင်မပြေ ဖြစ်ခဲ့ရသည်။ ထို့ကြောင့် filter function အနေနှင့် အောက်တွင် ရေးသား ဖေါ်ပြထားသော DataShow function ကို အသုံးပြုခဲ့ရသည်။
DataShow function
Public Static Sub DataShow(TextShow As Control, Data As String)
Const SpeedBaud = 16000
Dim LngSize As Long, X
LngSize = Len(TextShow.Text)
If TermSize > SpeedBaud Then
TextShow.Text = Mid$(TextShow.Text, 4097)
LngSize = Len(TextShow.Text)
End If
TextShow.SelStart = SpeedBaud
Do
X = InStr(Data, Chr$(8))
If X Then
If X = 1 Then
TextShow.SelStart = SpeedBaud - 1
TextShow.SelLength = 1
Data = Mid$(Data, X + 1)
Else
Data = Left$(Data, X - 2) & Mid$(Data, X + 1)
End If
End If
Loop While X
Do
X = InStr(Data, Chr$(10))
If X Then
Data = Left$(Data, X - 1) & Mid$(Data, X + 1)
End If
Loop While X
X = 1
Do
X = InStr(X, Data, Chr$(13))
If X Then
Data = Left$(Data, X) & Chr$(10) & Mid$(Data, X + 1)
X = X + 1
End If
Loop While X
TextShow.SelText = Data
TextShow.SelStart = Len(TextShow.Text)
End Sub
Call function DataShow :
Call DataShow Text1,(StrConv((StrData),vbUnicode))
Using Even in OnComm() procedure
အောက်ပါ နမူနာ ပရိုဂရမ်တွင် Select case condition ကို အသုံးပြု၍ ရေးသား ထားပါသည်။
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
Dim Buffer As Variant
Buffer = MSComm1.Input
ShowData txtRXTX, (StrConv((Buffer), vbUnicode))
Case comEvSend : 'here put your condition that you want
Case comEvCTS
Case comEvDSR
Case comEvCD
Case comEvRing
Case comEvEOF
Case comBreak
Case comCDTO
Case comCTSTO
Case comDCB
Case comDSRTO
Case comFrame
Case comOverrun
Case comRxOver
Case comRxParity
Case comTxFull
End Select
End Sub
ကျွန်တော့် အနေနဲ့ Microcontroller ကို Serial port ကနေတစ်ဆင့် Ascii command တွေ လှမ်းပို့ပြီး stepper motor တစ်လုံးကို ဘယ်လိုမျိုး ထိန်းချုပ်လို့ ရလဲ ဆိုတာကို အောက်မှာ နမူနာ ရေးပြထား ပါတယ်။
A99 ' accelerate setting - အရှိန်မြှင့်ဖို့
V3 ' speed setting - အရှိန်နှုန်း
D5000 ' step setting -
H- 'direction setting - ဦးတည်ရာ ထိန်းချုပ်ရန်
G ' go ,it is start motor command - မော်တာ စတင်ရန်
အောက်က နမူနာ ပရိုဂရမ်လေးမှာ button တစ်ခု ထည့်ထားပြီး click လုပ်တဲ့ အချိန်မှာ အလုပ်စလုပ်မှာ ဖြစ်ပါတယ်။
Private Sub Command1_Click()
MSComm1.Settings="1200,N,8,1"
MSComm1.CommPort=1
MSComm1.InputLen=1
MSComm1.PortOpen=True
MSComm1.Rthreshold =1
If MSComm1.PortOpen Then
MSComm1.Output ="A99 V3 D5000 H- G " ' character lastest will be press space bar 1 time before put symbol "
End If
End Sub
အောက်ပါ ပရိုဂရမ်ကတော့ MODEM ကို အသုံးပြုပြီး Serial port ကနေ အဆက်အသွယ်ပြုလုပ်တဲ့ နည်းလမ်း နမူနာပဲ ဖြစ်ပါတယ်။
Private Sub Form_Load()
Dim strValue As String ' define Buffer value from Modem
MSComm1.CommPort = 1 ' select Com1
MSComm1.Settings = "9600,n,8,1" ' setting parameter in communicate with com port
MSComm1.InputLen = 0 'define size of Input buffer (comming with Modem)
MSComm1.PortOpen = True ' command open port
MSComm1.Output = "ATV1Q0" & Chr&(13) 'send AT command to Modem
Do
DoEvents
strValue = strValue & MSComm1.Input ' get input data of Com Port
Loop Until InStr(strValue, "OK" & vbCrLf)
MSComm1.PortOpen = False 'Close port
End Sub
မှတ်ချက်များ
1. PORT ENABLING
Port ရွေးချယ်ခြင်း နှင့် enable ပြုလုပ်ခြင်းများကို form load နှင့် unload subroutines များတွင် coding ရေးသား သင့်သည်။ သို့မဟုတ် radio buttons နှင့် pull down menus များကို အသုံးချ၍ runtime တွင် ရွေးချယ်နိုင်ရန် စီမံထားသင့်သည်။
2.ဒေတာများ ရယူခြင်း
serial port မှ ဒေတာများ ရယူရာတွင် serial buffer ထဲမှာ လက်ခံရရှိတဲ့ စာလုံးအရေအတွက် မှန်ကန်တဲ့ အထိ စောင့်ဖို့ အရေးကြီးပါတယ်။ မှန်ကန်တဲ့ စာလုံး အရေအတွက် ရရှိလာရင် carriage return (တစ်ကြောင်း ဆင်းဖို့) တစ်လုံး နဲ့ line feed အတွက် တစ်လုံး စုစုပေါင်း ၂ လုံး ထပ်ပေါင်းထည့်ပြီး စောင့်ကြည့်ရမှာ ဖြစ်ပါတယ်။
3.ဒေတာများ ပေးပို့ခြင်း
အခြေအနေ အတော်များများမှာ Serial port ကနေ ဒေတာ ပေးပို့ရာမှာ Command တစ်ခုနဲ့ တန်ဖိုး တစ်ခုကို တွဲပြီး ပို့ရမယ့် အခြေအနေမျိုး ကြုံရလေ့ ရှိပါတယ်။ ဥပမာ။ 'GO' ဆိုတဲ့ ညွှန်ကြားချက်နဲ့ '1500' ဆိုတဲ့ position value တစ်ခုကို တွဲလျက် ပေးချင်တယ်ဆိုရင် အောက်ပါအတိုင်း ပေးပို့လို့ ရပါတယ်။
MSComm1.Output = " GO 1500" + Chr(13)
(အဲဒီမှာ Chr(13) ဆိုတာ carriage return (တစ်ကြောင်းဆင်းတဲ့ သင်္ကေတ) ဖြစ်ပါတယ်။)
စာဖတ်သူများ အနေနဲ့ Microcontroller တွေကို Serial port သုံးပြီး ဘယ်လို ဆက်သွယ်ရလဲဆိုတာကို သိချင်နေမယ် ထင်ပါတယ်။ တကယ်တော့ အထက်က ဖေါ်ပြထားပြီးသား နည်းလမ်းတွေကိုပဲ သုံးပြီး ဆက်သွယ်ရတာပဲ ဖြစ်ပါတယ်။ ဒါပေမယ့် ကိုယ် ဆက်သွယ်မယ့် Microcontroller တွေ အသုံးပြုထားတဲ့ protocol တွေကိုတော့ သေသေချာချာ သိထားရမှာ ဖြစ်ပါတယ်။
.....ဆက်ရန်
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
Haious Ezy Uploader
ကျွန်တော့် အနေနဲ့ စာဖတ်သူများကို upload တင်ဖို့ Haious Ezy Uploader ဆိုတဲ့ ဆိုဒ်လေး တစ်ခုကို လက်တို့ ချင်ပါတယ်။ မြန်မာလူမျိုး ကွန်ပျူတာ ပညာရှင် တစ်ယောက် လွှင့်တင် ထားတာ ဖြစ်ပြီး ဘာ အကျိုး အမြတ်ကို မျှ မယူဘဲ အသုံးပြုသူတွေ အခမဲ့ နဲ့ အဆင်အပြေဆုံး ဖြစ်အောင် ကြိုးစားထားတာကို တွေ့ရပါတယ်။ အဲဒီဆိုဒ်လေးမှာ အကြီးဆုံး upload အရွယ်အစား အနေနဲ့ 100 MB အထိ တင်ပို့ နိုင်ပြီး ဖိုင် အမျိုးအစား တွေ အနေနဲ့ GIF, JPEG, JPG, PNG, PDF, DOC, ZIP, EXE အစရှိတဲ့ ဖိုင်မျိုးစုံကို တင်ပို့ ခွင့် ပြုထားတာကို တွေ့ရပါတယ်။ ဒါ့အပြင် အဲဒီ တင်ပို့ ထားတဲ့ ဖိုင်လေးတွေကိုလဲ ဘယ်တော့မှ မဖျက်ဘဲ ထားပေးမယ်လို့ အာမခံထားပါသေးတယ်။ ဒါကြောင့် User တွေ အနေနဲ့ မိမိတို့ ဖိုင်လေးတွေကို အမြဲတမ်း သိမ်းဆည်း ထားနိုင်သလို စောင့်ဆိုင်းစရာမလိုဘဲ အချိန်မရွေး ဆွဲယူ အသုံးချ နိုင်မှာ ဖြစ်ပါတယ်။ ဖိုင် အရေအတွက် အကန့် အသတ်မရှိ သိမ်းဆည်း ထားနိုင်သလို twitter, digg, delicious နဲ့ facebook တွေမှာ direct link လုပ်ခွင့် ပေးထားတာမို့ စမ်းသပ် သုံးစွဲ ကြည့်ပါ လို့ တိုက်တွန်းလိုက် ပါရစေ။
အကိုးအကား
http://ezy.haious.org/v2/about.php
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
ဘလောက်လိပ်စာ ပြောင်းလဲခြင်း
ကျွန်တော့် ဘလောက်လေးကို ဂူဂယ်က ဝယ်ထားပြီး Google App နဲ့ ညိနေလို့ ပြဿနာကို ဖြေရှင်းနေရတဲ့ အချိန် အတွင်းမှာ http://blog.engineer4myanmar.com ကို မလွှဲမရှောင်သာ အိမ်ပြောင်း နေခဲ့ရပါတယ်။ အိမ်ငှားဘဝမှာ ဆင်းရဲစွာနေခဲ့ပြီးမှ အခု မူလလက်ဟောင်း လိပ်စာ လေး ဖြစ်တဲ့ http://www.engineer4myanmar.com ကို အောက်ပါ ဆက်တင်းများ အကူအညီနဲ့ ပြန်လည် ရရှိသွားပြီ ဖြစ်ပါတယ်။ ဒါကြောင့် လာရောက် ဖတ်ရှုကြတဲ့ မိတ်ဆွေများကို အရင်လိပ်စာဖြစ်တဲ့ http://www.engineer4myanmar.com ကိုပဲ ပြောင်းလဲ ဖတ်ရှုကြဖို့ အားနာနာနဲ့ ပဲ မေတ္တာရပ်ခံပါရစေ ခင်ဗျာ။
ကျွန်တော့် ဘလောက်လေးကို လင့်ခ်များ ချိတ်ထားခဲ့မယ်ဆိုရင်အား အားလပ်တဲ့ အချိန်ကျရင် လိပ်စာပြောင်းလဲ ရည်ညွှန်းပေးပါလို့ အနူးအညွှတ် တောင်းပန်ပါတယ်ခင်ဗျာ။
ဘလောက်ဂါ အတွက် DNS setting များ
DNS setting ထဲမှာ
engineer4myanmar.com. 3600 IN A 64.202.189.170
www.engineer4myanmar.com. 3600 IN CNAME ghs.google.com.
ဒီလိုလေးပဲ ရှိနေဦးမယ်ဆိုရင် အဆင်မပြေဖြစ်တတ်ပါတယ်။
အောက်ပါအတိုင်း ထပ်မံ ပြင်ဆင်ပေးလိုက်ပါ။
engineer4myanmar.com. 3600 IN A 64.233.179.121
engineer4myanmar.com. 3600 IN A 66.249.81.121
engineer4myanmar.com. 3600 IN A 72.14.207.121
www.engineer4myanmar.com. 3600 IN CNAME ghs.google.com.
မှတ်ချက်
ပုံမှန်အားဖြင့် DNS setting ထဲမှာ www.engineer4myanmar.com ကို ghs.google.com နဲ့ assign လုပ်ပေးပြီး TTL 3600 ထားပေးလိုက်ရင် အိုကေပေမယ့် ဒိုမိန်းနိမ်းကို ဂူဂယ်က ဝယ်ထားပြီး Google App နဲ့ အခန့်မသင့်လို့ ညိသွားရင် ပြဿနာ အကြီးအကျယ် တက်တတ်ပါတယ်။ အဲလိုဖြစ်လာရင် Google blogger အတွက်ပေးထားတဲ့ server တွေရဲ့ IP address 3 ခုကို A records 3 ခု လုပ်ပြီး အထက်ပါ ဥပမာအတိုင်း assign လုပ်ပေးခြင်းနဲ့ ဖြေရှင်းနိုင်ပါတယ်။
ဒါပေမယ့် http://engineer4myanmar.com ကိုပါ http://www.engineer4myanmar.com ကို redirect လုပ်ပေးဖို့ လိုအပ်ပါတယ်။ ဒါမှသာ လိပ်စာ ၂ ခုလုံးနဲ့ ဝင်လို့ ရမှာ ဖြစ်ပါတယ်။ အဲဒါကို ကျွန်တော်ကတော့ URL Redirection လုပ်ခြင်းဖြင့် ဖြေရှင်းပါတယ်။ အထူးသတိထားရမှာက အဲဒီအဆင့်ကို DNS setting လုပ်ပြီးမှ သွားလုပ်မိရင် DNS setting တွေ ပျက်သွားတတ်တာပါပဲ။ အဲဒါလေးကို ပြန်စစ်ပြီး ပျက်သွားရင် ပြန်လုပ်လိုက်ပါ။
အကိုးအကားများ
http://blogging.nitecruzr.net/2008/06/custom-domain-publishing-and-google.html
Chuck [Blog*Star 2006 - 2008]
Real Blogger Status: http://blogging.nitecruzr.net/
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
Happy birthday Google!
ဒီနေ့မှာ ဂူဂယ် တစ်ယောက် ဆယ်နှစ်ပြည့်ပါပြီ။ ဂူဂယ် ပေါ်ပေါက်လာတဲ့ သမိုင်းတစ်လျှောက်မှာ မှတ်သား စရာလေးတွေ ရှိတဲ့ အတွက် အချို့ကို လေ့လာပြီး တင်ပြချင်ပါတယ်။ တကယ်တော့ ဂူဂယ် ဆိုတာဟာ ၁၉၉၆ ဇန်နဝါရီလမှာ လာရီပေ့ချ် (Larry Page) နဲ့ ဆာဂျေး ဘရင်း (Sergey Brin) ဆိုတဲ့ စတန်းဖို့ဒ် တက္ကသိုလ်က ပီအိပ်ချ်ဒီ ကျောင်းသားလေး ၂ ယောက် တင်သွင်းခဲ့တဲ့ Search engine အကြောင်း ရေးသားထားတဲ့ စာတမ်းလေး တစ်စောင် ကနေပြီး စတင်ပေါက်ဖွားလာတာပဲ ဖြစ်ပါတယ်။ (မြန်မာ ကျောင်းသားများလဲ ကိုယ်လုပ်တဲ့ စာတမ်းလေးတွေကို လက်တွေ့ အသုံးကျအောင် အတတ်နိုင်ဆုံး ကြိုးစား ပြုစုနိုင်ကြပါစေ၊ ဂူဂယ် လိုမျိုး အောင်မြင်တဲ့ Product တွေ ထုတ်နိုင်ပါစေလို့ ဆုတောင်းမိပါတယ်။)
အစကတော့ သူတို့ရဲ့ search engine ကို BackRub လို့ အမည်ပေးခဲ့ပါတယ်။ ဘာလို့လဲ ဆိုတော့ ဆိုဒ်တစ်ခုရဲ့ အရေးပါမှုကို သူ့ကို ရည်ညွှန်းထားတဲ့ backlinks တွေပေါ်မူတည်ပြီး ခန့်မှန်း သတ်မှတ် ဖို့ ဒီဇိုင်းထုတ်ထားလို့ပဲ ဖြစ်ပါတယ်။ ဒါပေမယ့် အဲဒီ မတိုင်မီကတည်းက ဒီ နည်းစံနစ်ကို သုံးထားတဲ့ Rankdex ဆိုတဲ့ search engine တစ်ခု ရှိနေနှင့် ပြီးသားပါ။
သူတို့ နှစ်ယောက်ဟာ သီးစစ်လုပ်ကြရင်း နဲ့ အခု ဂူဂယ် ဖြစ်လာမယ့် search engine အတွက် အခြေခံ အုတ်မြစ်တွေကို ခိုင်အောင် ချနိုင်ခဲ့ကြပါတယ်။ အစပိုင်းမှာ သူတို့ search engine ရဲ့ လိပ်စာဟာ စတန်းဖို့ဒ် ယူနီဗာစီတီရဲ့ subdomain တစ်ခုဖြစ်တဲ့ google.stanford.edu အနေနဲ့ စတင်ခဲ့တာပါ။ google.com ဒိုမိန်း ကို ၁၉၉၇ စက်တင်ဘာလ ၁၅ ရက်နေ့ မှာမှ မှတ်ပုံတင်ခဲ့တာ ဖြစ်ပါတယ်။ ၁၉၉၈ စက်တင်ဘာလ ၄ ရက် မှာ Google Inc. ကို သူငယ်ချင်းတစ်ယောက်ရဲ့ ကားဂိုထောင်ထဲမှာ စတင်ခဲ့တာ ဖြစ်ပါတယ်။ အဲဒီလို စတင်နိုင်ဖို့ လိုအပ်တဲ့ ငွေ အရင်းအနှီးကို Sun Microsystems ကို စတင်တည်ထောင်ခဲ့သူ Andy Bechtolsheim က ဒေါ်လာ ၁၀၀၀၀၀ တန် ချက်လက်မှတ်တစ်ခု စတင် ထုတ်ပေးရာမှ အခြားရင်းနှီးမြုပ်နှံသူများ ပါဝင်လာပြီး စုစုပေါင်း ဒေါ်လာ ၁.၁ သန်းအထိ တိုးတက်များပြားလာခဲ့ခြင်း ဖြစ်ပါတယ်။
၁၉၉၉ မတ်လ ရောက်တဲ့ အခါကျမှ ဆီလီကွန် တောင်ကြားမှာ ရှိတဲ့ Palo Alto မှာ ကုမ္ပဏီကို ပြောင်းရွှေ့ပြီး ကျကျနန အခြေချ နိုင်ခဲ့တာပဲ ဖြစ်ပါတယ်။ နောက်ပိုင်းမှာ အဲဒီ အဆောက်အဦးတွေကို Googleplex လို့ လူသိများလာခဲ့ပါတယ်။
ဂူဂယ်ဟာ သူ့ရဲ့ ရိုးစင်းတဲ့ ဒီဇိုင်းနဲ့ လွယ်ကူစွာ အသုံးချနိုင်မှုတို့ကြောင့် အသုံးချသူ အများစုက နှစ်သက်ခဲ့ကြပါတယ်။ ၂၀၀၀ခုနှစ် က စတင်ပြီး ဂူဂယ်မှာ search keywords တွေကို အခြေခံတဲ့ ကြော်ငြာများ စတင် ထည့်သွင်းလာပါတယ်။ (ဂူဂယ်ဘယ်က ပိုက်ပိုက်တွေရသလဲဆိုတာ သိပြီနော် :P)။
ဂူဂယ် ဆိုတဲ့ နာမည် ဖြစ်လာပုံက တော့ googol (အဓိပ္ပါယ်က 10pow(100)) ဆိုတဲ့ စာလုံးကို google လို့ မှားပေါင်းရာက စလာခဲ့တာဖြစ်ပြီး Merriam Webster Collegiate Dictionary နဲ့ Oxford English Dictionary တွေမှာ google ရဲ့ အဓိပ္ပါယ်ကို “အင်တာနက်မှ အချက်အလက်များရယူရန် ဂူဂယ် search engine ကို အသုံးပြုခြင်း” လို့၂၀၀၆ မှ စတင်ပြီး ထည့်သွင်း ပေးခဲ့ပါတယ်။
ဂူဂယ်ရဲ့ အဓိက ဆားဗစ်က Google web search engine ဖြစ်ပေမယ့် သူ့မှာ အခြား ထင်ရှား လူကြိုက်များတဲ့ ဆားဗစ်တွေ အတော်များများ ရှိပါသေးတယ်။ စာဖတ်သူ အားလုံး သိထားပြီးသားလဲ ဖြစ်လိမ့်မယ်လို့ ယုံကြည်တဲ့အတွက် လက်အညောင်းခံပြီး မရေးတော့ပါဘူးနော် :P။ အခုလောလောဆယ် ကျွန်တော့်အနေနဲ့ကတော့ ဂူဂယ်ကို သုံးပြီး သီးစစ်ရဲ့ အစိတ်အပိုင်း အချို့ကို ပြုစုခဲ့တာ ဖြစ်သလို သူ့ကို အသုံးပြုပြီး ဘလောက်ဂါက တစ်ဆင့် နည်းပညာ တစ်ချို့ကို ဝေမျှပေးနိုင်ခဲ့တဲ့ အတွက် ကျေးဇူးဆပ်တဲ့ အနေနဲ့ အခုလို ဆောင်းပါးလေးနဲ့ ဂူဂယ်ရဲ့ ဆယ်နှစ်မြောက်မွေးနေ့လေးကို ကြိုဆို ဂုဏ်ပြုလိုက်တာ ဖြစ်ပါတယ်ခင်ဗျား။
အကိုးအကားများ
http://en.wikipedia.org/wiki/Google
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
Google Chrome for Windows
Google က browser အသစ် ထုတ်လိုက်ပါတယ်။ Google Chrome လို့ခေါ်ပြီး ဒီနေ့ပဲ ဝင်းဒိုး သမားတွေ အတွက် ထုတ်ပေးလိုက်ပါပြီ။ ဒီနေရာမှာ ဒေါင်းလုပ်ရယူနိုင်ပါတယ်။ မကြာမီ ပန်းသီးနဲ့ လင်းနစ် သမားတွေ အတွက်လဲ ထုတ်ပေးမယ်လို့ ဆိုပါတယ်။ Google က ကာတွန်းလေးတွေနဲ့ သူ့ ဘရောက်ဇာကို ကြောြ်ငာ ထားပေမယ့် ကျွန်တော်ကတော့ ဘလောက်ဂါ တစ်ယောက်အနေနဲ့ ဖိုင်းယားဖောက်စ် လောက် မကြိုက်ပါဘူး။ စာရေးဖို့ ပြင်ဆင်တဲ့ နေရာမှာ တစ်ခုခု လိုနေသလိုပါပဲ။ စောင့်တော့ ကြည့်ရဦးမှာပါ။ လောလောဆယ် မြန်မာဖွန့်တွေနဲ့ သိပ် အဆင်မပြေ သေးဘူးလို့ ထင်ပါတယ်။ မြန်မာဖွန့်(ဇော်ဂျီ)ကို ဖိုင်းယားဖောက်စ် လောက် ကိုင်တွယ်တာ မကောင်းပါဘူး။
မှတ်ဉာဏ်ပိုင်း နဲ့ process တွေကို ခွဲပြီး လုပ်ပေးတာ (Multiprocessing)၊ Task Manager (Shift + Esc) ကတော့ အတော်လေး ကို အသုံးဝင် လာမယ် ထင်ပါတယ်။ ဆိုဒ်တွေကို analysis လုပ်ပြီး လေ့လာခွင့် ရလာနိုင်ပါတယ်။ သိပ်လေးတဲ့ ဆိုဒ်တွေကို သိသာလာမှာ ဖြစ်ပါတယ်။ အသွင်အပြင် ဒီဇိုင်းပိုင်းကတော့ ပြောစရာမရှိအောင် ကောင်းပါတယ်။ ဒိုင်းနမစ် feature တွေကို တော့ တော်တော်လေး ကြိုက်ပါတယ်။ ဂျာဗား အင်ဂျင် ထည့်ပေးထားတာလည်း သဘောကျမိပါတယ်။ speed လဲ အနည်းငယ် မြန်လာသလို ခံစားရပါတယ်။ လုံခြုံစိတ်ချမှု အတွက်လည်း အတော်လေးကို လုပ်ပေးထားတာ တွေ့ရပါတယ်။ ကျွန်တော် အကြိုက်ဆုံး ကတော့ open source ဖြစ်နေတဲ့ အချက်ပါပဲ။ စိတ်ဝင်စားသူများ Chromium porject page ကို သွားလေ့လာနိုင်ပါတယ်။ သတင်းစာ ရှင်းလင်းပွဲမှာ ပြောထားတာလေး တွေ သိချင်ရင် တော့ ဒီမှာ ဖတ်ပါ။
မြန်မာလိုကတော့ ဆက်တင်း နဲနဲ လုပ်ရပါတယ်။ ပုံထဲကအတိုင်း သွားပြီး ဖွန့်တွေကို Zawgyi-One ရွေးလိုက်တာပါပဲ။
အဲလိုလုပ်တာတောင် ခုလို လေးထောင့်တုံးလေးတွေကို အောက်မှာ တွေ့နေရတုန်းပါပဲ။
စာဖတ်သူတို့ တွေ့ရှိချက်လေးတွေကိုလည်း ကွန်မန့်မှာ ရေးထားပေးခဲ့စေချင်ပါတယ်။ သုတေသန လုပ်ကြရအောင်လေ။ :P ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
@ TCP/IP အကြောင်းလေး ပြောမယ်ဗျာ
(၁) IP address ဆိုတာ ဘာလဲ ?
TCP/IP = Transmission Control Protocol and Internet Protocol ဖြစ်ပါတယ် ။
IP တစ်ခု ဟာ 32 bit binary number ဖြစ်ပြီး decimal ဂဏန်း 4 လုံးနဲ့ဖော်ပြလေ့ရှိပါတယ် ။
decimal ဂဏန်း 1 လုံးစီဟာ 8 bits 0 to 255 (octets) ကိုကိုယ်စားပြုပါတယ် ။အဲလို ဖော်ပြတာကို “dotted decimal” လို့ခေါ်ပါတယ် ။
Example; 140.179.220.200 (Dotted decimal)
10001100.10110011.11011100.11001000 (Binary)
(၂) အမျိုးအစား ဘယ်နှခု ရှိပါသလဲ ?
Classes အမျိုးအစားကို အခုလို ခွဲထားပါတယ် ။
Class Range of Address
A 1 to 126(127) binary 0xxx နဲ့စ ပါတယ်။
B 128 to 191 binary 10xx နဲ့စ ပါတယ်။
C 192 to 223 binary 110x နဲ့စ ပါတယ်။
----------------------------------------------------------------------------
D 224 to 239 binary 1110 နဲ့စ ပါတယ်။
E 240 to 254 binary 1111 နဲ့စ ပါတယ်။
----------------------------------------------------------------------------
ကျန်နေတဲ့ 127(localhost) ကို local loopback အတွက်သုံးပါတယ် ။သင် 127.0.0.1 ကို ping ပြီးစမ်းသပ်နိုင်ပါတယ် ။
Class D addresses ကို multicasting အတွက် သုံးပါတယ်။ Class E addresses ကိုတော့ future use ဆိုပြီးသတ်မှတ်ထားပါတယ် ။အဲဒါကြောင့်
သင့်ရဲ့ IP address ကိုရိုက်တဲ့ အခါ 1 to 223 ကနေပဲ စရိုက်လို့ရပါတယ် ။ 224 ကနေစပြီး နောက်ပိုင်းကို ရိုက်လို့မရပါဘူး ။ အလွယ်တကူ စမ်းသပ် ကြည့်နိုင်ပါတယ် ။
Private Network Address ၄ ခုရှိပါတယ် ။
( Local loopback Address )- 127.0.0.1
( Class A )- 10.0.0.0
( Class B )- 172.16.0.0
( Class C )- 192.168.0.0
Class တွေကို ပုံမှန်အားဖြင့် ဘယ်လိုဆုံးဖြတ်သလဲ ဆိုတာ လေ့လာကြရအောင်- (N) က network ကိုကိုယ်စားပြုပြီး (n) က node ကိုကိုယ်စားပြုပါတယ် ။
- Class A -- NNNNNNNN.nnnnnnnn.nnnnnnn.nnnnnnn
- Class B -- NNNNNNNN.NNNNNNNN.nnnnnnnn.nnnnnnnn
- Class C -- NNNNNNNN.NNNNNNNN.NNNNNNNN.nnnnnnnn
အဲဒါကြောင့်
Class A ကိုသုံးမယ်ဆိုရင် network (N)ပေါင်း 2^8 = 255 ကိုသုံးနိုင်မှာဖြစ်ပြီး အဲဒီ network ရဲ့အောက်မှာ ကွန်ပျူတာပေါင်း (n)
255 x 255 x 255 =16581373 လုံးကိုတပ်ဆင်အသုံးပြုနိုင်မှာ ဖြစ်ပါတယ် ။
Class B ကိုသုံးမယ်ဆိုရင် network (N)ပေါင်း 255 x 255 =65025 ကိုသုံးနိုင်မှာဖြစ်ပြီး အဲဒီ network ရဲ့အောက်မှာ ကွန်ပျူတာပေါင်း (n)
255 x 255 = 65025 လုံးကိုတပ်ဆင်အသုံးပြုနိုင်မှာ ဖြစ်ပါတယ် ။
Class C ကိုသုံးမယ်ဆိုရင် network (N)ပေါင်း 255 x 255 x 255 =16581373 ကိုသုံးနိုင်မှာဖြစ်ပြီး အဲဒီ network ရဲ့အောက်မှာ ကွန်ပျူတာပေါင်း (n)255 လုံးကိုတပ်ဆင်အသုံးပြုနိုင်မှာ ဖြစ်ပါတယ် ။
(IP address မှာ 192.168. တွေပဲ ဘာလို့ဖြစ်နေရတာလဲ လို့မကြာခဏ အမေးခံရပါတယ်။ကိုယ်သုံးမယ့် ကွန်ပျူတာ အရေအတွက်(node)ဟာ ၂၅၅ လုံးကို မကျော်ဘူး ဆိုရင် Class C ကိုပဲ သုံးကြလို့ပါ။)
နောက်တစ်ခုကတော့ node မှာ decimal no: 0 နဲ့ 255 ကိုထည့်လို့မရပါဘူး။(ဥပမာ- 192.168.1.0* / 192.168.1.255* )
IP address မှာ node portion all Ones (11111111)=255 က Broadcast Address ဖြစ်ပါတယ် ။
IP address မှာ node portion all Zeros(00000000)=0 က Network Address ဖြစ်ပါတယ် ။
ကဲ ......ဒီကနေ့တော့ ဒီမျှပါပဲကွယ် ။စာဖတ်သူအပေါင်း IP address နဲ့ပတ်သက်လို့ အသိတွေ တိုးပွားနိုင်ကြပါစေ ။
Sunday, June 29, 2008
@ group policy မှ drives: များကို ပိတ်ခြင်း၊ ဖျောက်ခြင်း
group policy ဟာ registry editor လိုပဲ function တွေအများကြီးပါ ပါတယ် ။ group policy ကနားလည် ရတာပိုလွယ်ပါတယ် ။group policy ကနေ Drives: တွေကို ဝင်လို့မရအောင် ပိတ်ထားတာ ၊ ဖျောက်ချင်တဲ့ Drives: တွေကို ဖျောက်ထားတဲ့ အကြောင်းလေး ပြောပြပါမယ်။ပထမဦးဆုံး Run မှာ gpedit.msc လို့ ရိုက် ထည့်လိုက်ပါ။ဒါဆိုရင် Group Policy Dialog Box ကျလာပါလိမ့်မယ်။ဘယ်ဘက် Box ရဲ့ Local Computer Policy မှာ Computer Configuration နဲ့User Configuration ဆိုပြီး နှစ်ခု ရှိပါတယ် ။User Configuration > Administrative Templates > Windows Components > Windows Explorer ကိုသွားပါ ။အောက်ပါပုံကို ကြည့်ပါ။
ပထမဆုံး Prevent access to drives from my Computer ကိုနှိပ်လိုက်ပါ။ Setting Tab မှာ Enable ပေးလိုက် ပါ ။Restrict all drives ကို Default ရွေးထားပါတယ် ။ အဲဒါကို ရွေးမယ်ဆိုရင် ကိုယ့်မှာ ရှိသမျှ Drives တွေအကုန်လုံးကို သုံးလို့ရမှာ မဟုတ်တော့ပါဘူး ။ အဲဒီအပြင် C: ထဲမှာ Window OS ရှိတဲ့ အတွက် My Documents ၊ Shared Documents နဲ့ Desktop ပေါ်က folder တွေကိုလည်း ဖွင့်လို့ရမှာ မဟုတ်တော့ပါ ဘူး။ My Network Places , Recycly Bin နဲ့ software တွေကိုတော့ သုံးလို့ရပါတယ် ။ အဲဒါကြောင့် ကိုယ်အနေနဲ့ လိုအပ်မယ်ထင်တဲ့ Drives တစ်ခု ၊ နှစ်ခု ကိုပဲ ပိတ်ထားတာက ကောင်းပါတယ် ။ ကျွန်တော်က Drives D: ကိုပိတ်ထားလိုက်ပါမယ် ။ အောက်က ပုံကို ကြည့်ပါ ( Explain ဆိုတဲ့ Tab မှာလည်း အသေးစိတ် ရှင်းပြထားပါတယ် )။ OK ပေးလိုက်ပါပြီ ။ My Computer ထဲကို သွားပြီး Drives D: ကိုဖွင့်ကြည့်ပါ ။ ဖွင့်လို့မရတော့ပါဘူး ။Address Bar ကနေဖွင့်ရင်လည်း မရပါဘူး ။
အဲဒီလိုပါပဲ ။ Hide these specified drives in My Computer ကို Setting Tab မှာ Eable ပေးလိုက်ပါ။ Restrict all drives ကို Default ရွေးထားပါတယ် ။ အဲဒါကို ရွေးမယ်ဆိုရင် ကိုယ့်မှာ ရှိသမျှ Drives တွေအကုန်လုံး မမြင်ရတော့ ပါဘူး ။ Hide လို့ပြောတဲ့ အတွက် file တွေကို Hidden လုပ်ထားတာနဲ့ အလား သဏ္ဍန်တူပါတယ် ။ Address Bar ကနေ C: လို့ရိုက်ထည့်ရင် Drives C: ထဲကိုရောက်သွားပါတယ် ။ D: လို့ ရိုက်ထည့်ရင်လည်း Drives D: ထဲကိုရောက်သွားပါတယ် ။ ကျန်တာတွေကိုလည်း လိုက်ကလိချင်တယ်ဆိုရင် ကလိကြည့်ပါ ။စိတ်ဝင်စားစရာ အများကြီးရှိပါတယ် ။ ကျွန်တော့်ရဲ့ ဒီပိုစ့်ကို စိတ်ဝင်စားလို့ လိုက်လုပ်ကြည့်သူ အပေါင်း အောင်မြင်ပါစေဗျာ ။
spoolsv.exe using 99% of cpu - the solution
printer ရှိတဲ့ သူ တော်တော် များများမှာ ဖြစ်လေ့ရှိတဲ့ ပြဿနာ တစ်ခု က တစ်ခါတစ်လေ မှာ စက်က အလိုလိုနေရင်း သုံးရတာ လေးလံလာလို့ Task manager မှာ ကြည့်လိုက်တဲ့ အခါ spoolsv.exe က CPU ရဲ့ % အတော်များများ တစ်ခါတစ်လေ 99% လောက် နီးပါးကို သုံးနေကြတာကို တွေ့ရတတ်ပါတယ်။ အတော်များများက အဲလို ဖြစ်လာရင် spoolsv.exe ကို ဖြုတ်ချပစ်လိုက်တတ်ပါတယ်။ အဲလို ဖြုတ်ချလိုက်ရင် အဲဒီ ခဏတော့ ကောင်းသွားတာပေါ့လေ။ နောက်တစ်ခု windows တက်လာရင် ပြန်ဒုက္ခပေးပါလေရော။ ဒီတော့ တစ်ချို့က အဲဒီ service လေးကို disable ပေးထားလိုက်တတ်ပါတယ်။ ဒီတော့ အဲလို ပြဿနာ မဖြစ်တော့ပေမယ့် printer ကိုပြန်သုံးချင်တိုင်း အဲဒီ service ကို ပြန် Automatic setting ပြောင်း start ပြန်လုပ်နဲ့ အဆင်မပြေပါဘူး။ တကယ့် ပြဿနာ အစစ်က တစ်ခြားနေရာမှာပါ။ တကယ်တော့ အဲလိုဖြစ်ရာတာဟာ များသောအားဖြင့် bad spooler files တွေကြောင့် ဖြစ်ရတာပါ။ အများဆုံးက လိုကယ် နက်ဝက် ချိတ်ထားရင် တခြားကွန်ပြူတာတွေက လာတဲ့ ဖိုင်တွေကြောင့် ဖြစ်ပါတယ်။ (တခြားလူတွေက ကိုယ့်ကို စိတ်ညစ်အောင်လုပ်ချင်လည်း အဲဒီ trick လေး သုံးချင်သုံးနိုင်ပါတယ်။ :P) မလိုအပ်ရင် printer ကို ရှယ်ရာ မပေးထားပါနဲ့။ အဲဒီ bad spooler files တွေ ဟာ C:\WINDOWS\system32\spool\PRINTERS ဆိုတဲ့ Folder ထဲမှာ ရှိပါတယ်။ 0020.SHD, 0020.SPL စတဲ့ ဖိုင်မျိုးတွေ ဖြစ်ပါတယ်။ အဲဒါလေးတွေကို ရှင်းထုတ်လိုက်ရင် အိုကေသွားမှာပါ။
ပြဿနာဖြေရှင်းနည်း
1.
Print spooler service ကို kill လုပ်ပါ။
2.
Printer share များ ရှိနေပါက ဖြုတ်ပစ်ပါ။
3.
C:\WINDOWS\system32\spool\PRINTERS ဆိုတဲ့ Folder ကိုသွားပါ။ (မြန်အောင် run ထဲကို အဲဒီ လင့်ရိုက်ထည့်၊ ကူးထည့်ပြီး သွားလို့ ရပါတယ်။)။ ရှိနေတဲ့ ဖိုင်တွေ delete လုပ်ပါ။
4.
Print spooler service ကို start ပြန်လုပ်ပါ။
အဆင်ပြေသွားပါလိမ့်မယ်။
ကဲ တလက်စတည်း ကြုံတုန်း short cut တစ်ချို့ ကို ပြောပြပါမယ်။ service တစ်ခုကို ဖြုတ်ချချင်တယ်ဆိုရင် ပုံမှန်က task manager မှာ အဲဒီ process ကို right click လုပ်ပြီး End process လုပ်လိုက်ရင်ရပါတယ်။ ဒါပေမယ့် အဲဒါကို script ရေးချင်တဲ့ သူများအတွက် နည်းလမ်းလေးတစ်ချို့ ပြောပြပါမယ်။ command prompt ကနေ services တွေကို start, stop လုပ်လို့ ရပါတယ်။ command က net start နဲ့ net stop ဖြစ်ပါတယ်။ အသုံးပြုပုံက net start "service name" နဲ့ net stop "service name" ဖြစ်ပါတယ်။ ဒီနေရာမှာ service name ဆိုတာက ကိုယ် kill လုပ်ချင်တဲ့ service name ဖြစ်ပါတယ်။ ခု ကျွန်တော်တို့ kill လုပ်ချင်နေတဲ့ service က print spooler ဖြစ်ပါတယ်။ မှတ်ချက်- spoolsv.exe မဟုတ်ပါဘူး။ မကြာခဏ မှားတတ်ပါတယ်။ အောက်က ပုံများမှာ လက်တွေ့ အသုံးပြုပုံကို မြင်နိုင်ပါတယ်။
မိမိ kill လုပ်ချင်နေတဲ့ service name ကိုသိဖို့ လိုအပ်ပါတယ်။ မသိသေးရင် ပထမဆုံး administrative tools ထဲက services ကိုသွားပါ။မြန်မြန် ရောက်ချင်တယ် ဆိုရင်တော့ ကားစီးသွား အဲလေ မှားလို့ Run command ကနေသွားပါ။ services.msc ဆိုရင် ပေါ်လာပါလိမ့်မယ်။အဲဒီမှာ ကိုယ် kill လုပ်ချင်တဲ့ services နာမည်တွေကို မှတ်ထားလိုက်ပါ။
command တွေကို သုံးတဲ့အခါ kill လုပ်မယ့် service name ကို " " လုပ်ဖို့ မမေ့ပါနဲ့။ အထက်က solution ကို bat file လေးလုပ်ထားရင် ကလစ် တစ်ချက်နဲ့ လက်မညောင်းပဲ ဖြေရှင်းလို့ ရပါပြီ။
ဘယ်လိုလုပ်ရမလဲဆိုတော့
1.
notepad ကို ဖွင့်ပါ
2.
အောက်ပါ စာသားများကို ရိုက်ထည့်ပါ။
*
net stop "print spooler"
*
del C:\WINDOWS\system32\spool\PRINTERS\*.* /q
*
net start "print spooler"
1.
(/q ကို ဒုတိယလိုင်းမှာ သုံးထားတာက delete all လုပ်ထားလို့ confirmation တောင်းလာရင် Y/N ပေးမနေရအောင် တစ်ခါတည်း တိတ်တိတ်နေဖို့ ပြောထားတာပါ။)အောက်ပါပုံအတိုင်း bat file extension (.bat) ဖြင့် file ကို save လုပ်ပါ။ ဒီဥပမာမှာတော့ solv-spoolv.bat လို့ နာမည် ပေးထားပါတယ်။ Save as type နေရာမှာ All file ကိုရွေးဖို့ မမေ့ပါနဲ့။
ဒါဆို အောက်မှာ ပြထားတဲ့ ပုံထဲကလိုမျိုး bat ဖိုင်လေး တစ်ခု ရလာပါမယ်။ ၎င်း ကို double click လုပ်ပြီး run လို့ ရပါပြီ။ edit လုပ်ချင်ရင်တော့ right click လုပ်ပြီး Edit ကိုရွေးလို့ ပြင်ဆင်နိုင်ပါတယ်ခင်ဗျာ။
*
http://www.computing.net/answers/windows-xp/spoolsvexe-big-problem-100-cpu/131323.html
*
http://torque.oncloud8.com/archives/000384.html
*
http://windowsitpro.com/article/articleid/15157/how-can-i-stop-and-start-services-from-the-command-line.html
*
http://technet.microsoft.com/en-us/library/bb490890.aspx
how to self-study commands
မှတ်ချက်။ beginner များအတွက်သာ ရည်ရွယ်ထားပါတယ်။
တစ်ခါတစ်လေမှာ နီးရက်နဲ့ ဝေးနေကြတဲ့ သူတစ်ချို့အတွက် ကိုယ့်ဘာသာကိုယ်လေး လဲ လေ့လာဖြစ်အောင် တင်ပေးလိုက်တာပါ။ တကယ်က အာမေချာတစ်ယောက်အနေနဲ့ hand book တစ်ခုလို ရေးဖို့ တော်တော် အချိန်ယူရပါတယ်။ ဒီကြားထဲ အရေးတကြီးသိချင်ရင် အီးဘွတ်ခ် တွေ ဝက်ဘ်ဆိုဒ်တွေ ဝင်စရာမလိုဘဲ ကိုယ့်ဘာသာ ရှာတတ်အောင် နေရာပြပေးချင်ပါတယ်။ သိပြီးသားဆိုရင်တော့ ကျော်ဖတ်ပေးသွားပါခင်ဗျာ။
တကယ်က ဘယ်ဆော့ဖ်ဝဲ ၊ ဘယ်စံနစ်မဆို documentation ကောင်းကောင်းလုပ်ပေးရပါတယ်။ ဒါမှလဲ သုံးစွဲသူတွေ အဆင်ပြေမှာ ဖြစ်ပါတယ်။ များသောအားဖြင့် help system ထဲမှာ normal user တစ်ယောက်အနေနဲ့ အလွယ်တကူ လေ့လာအသုံးပြုလို့ရအောင် စီစဉ်ပေးထားလေ့ ရှိပါတယ်။
Windows XP မှာလဲ user တွေလေ့လာဖို့ Help and Support Center ရှိပါတယ်။ ထိရောက်အောင် အသုံးချစေချင်ပါတယ်ဗျာ။ သူ့ရဲ့အားသာချက်က အီးဘွတ်ခ်များလို ရှင်းပြရုံသာမက လိုအပ်တဲ့ tools တွေဆီကို တိုက်ရိုက်လင့်ခ် လုပ်ပေးထားလို့ အတော်လေးကို အဆင်ပြေပါတယ်။
နမူနာအနေနဲ့ လူမေးများနေတဲ့ commands တွေကို ရှင်းပြထားတဲ့ နေရာလေးကို ဘယ်လိုသွားရတယ်ဆိုတာ ပြထားပါတယ်။ ကျွန်တော်မေ့ရင် အဲဒီကို သွားကြည့်နေကြပေါ့ဗျာ။ အထင်တော့ မသေးပါနဲ့ help ဆိုလို့။ နောက်ထပ် မွှေနှောက်ပြီး မိမိလိုတာများ ရှာသုံးကြစေချင်ပါတယ်ခင်ဗျား။ စာဖတ်သူများ ဗဟုသုတ တိုးပွားကြပါစေခင်ဗျာ။
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
Understanding and application of Windows XP command line utility in real life (၅)
4. time
date command နှင့် အတူတူ ပင်ဖြစ်သည်။ (၃) နည်းသုံးနိုင်သည်။
1) >time /t
2) time new_time
3) time
1) သည် command prompt ၌ system time တစ်ခုတည်းကို သိလိုသောအခါ အသုံးပြုသော command ဖြစ်ပါသည်။ (ပုံ-၁၀)
2) သည် system time ကို ပြုပြင်ချင်သောအခါ အသုံးပြုသော command ဖြစ်ပါသည်။ အရှေ့က time သည် command ဖြစ်၍ အနောက်က new_time ဆိုသည်မှာ မိမိပြောင်းလဲချင်သော နေ့စွဲ အသစ်အား hh:mm:ss format အသုံးပြု၍ ထည့်သွင်းပေးရန်ဖြစ်ပါသည်။ (e.g. >time 06:14:15) (ပုံ-၁၁)
3) နောက်ဆုံး method မှာ system time ကို အရင်ကြည့်ရှုစစ်ဆေးပြီး ပြင်ဆင်လိုက ပြင်ဆင်နိုင်ရန်သုံးလေ့ရှိပါသည်။ ပြင်ဆင်ရန်လိုအပ်သည့်အခါ hh:mm:ss format ဖြင့် ပြင်ဆင်နိုင်သလို ပြင်ဆင်ရန် မလိုအပ်ပါက enter နှိပ်၍ ကျော်သွားနိုင်ပါသည်။ (ပုံ-၁၂၊ ပုံ-၁၃)
ပုံ-၁၀
ပုံ-၁၁
ပုံ-၁၂
ပုံ-၁၃
5. exit
command line utility မှထွက်ရန် အသုံးပြုသည်။ ( cmd.exe အားပိတ်ရန်သုံးသည်။)
6. dir
directory (folder) နှင့် subdirectory တို့၏ စာရင်းများနှင့် ၎င်းတို့ အတွင်းရှိ files list များကြည့်ရှုရန်အတွက် အသုံးပြုသည်။ ၎င်း command အသုံးပြုခြင်းဖြင့် disk တစ်ခု၏ volume label နှင့် serial number တို့ကို ကြည့်ရှုနိုင်သည်။ ထို့ပြင် files နှင့် directories တို့၏ list များကို နောက်ဆုံး update လုပ်ထားသော နေ့စွဲ နှင့် အချိန်များအားကြည့်ရှုနိုင်သည်။ ၎င်းပြင် file and folder တို့၏ စုစုပေါင်း အရေအတွက် ၎င်းတို့၏ size များနှင့် ၎င်း disk ၏ free space တို့ကို ဖေါ်ပြပေးနိုင်သည်။
အလွယ်သုံးနည်း
>dir
>dir *.*
>dir *.txt
>dir *.exe
>dir file.txt
>dir file1.*
Note: * သည် (all) အားလုံးဟု အဓိပါယ် ရသည်။ file name ၏ format မှာ " Filename.Extension " ဖြစ်သည်။ ( e.g. autoexec.bat, command.com, video.mpeg, install.exe, picture1.jpg e.t.c)။ dot (.) ၏ အရှေ့ဘက်၌ (*) ရှိလျှင် filename အားလုံးဟုဆိုလို၍ dot (.) ၏ အနောက်ဘက်တွင် * ရှိပါက extension များအားလုံး ( file type များအားလုံး) ဟုဆိုလိုပါသည်။ *.* ဟုဆိုလျင် all files ( file name အားလုံး၊ file type အားလုံး) ဟုဆိုလိုပါသည်။ *.txt ဆိုလျင် txt files များအားလုံး ( extension txt နှင့်ဆုံးသော file အားလုံးဟု ဆိုလိုသည်။ *.exe ဆိုလျှင် exe files များအားလုံး ( extension exe နှင့်ဆုံးသော file အားလုံး )ဟု ဆိုလိုသည်။ file1.* ဆိုလျင် file name file1 ရှိသော file types များအားလုံး ( e.g. file1.com, file1.exe, file1.jpg, file1.dat, file1.doc,.....)။ အကယ်၍ file name ကို အသေအချာ မမှတ်မိတော့ဘဲ အစသာမှတ်မိပါက file*.*, file*.exe အစရှိသဖြင့် ရှာနိုင်ပြီး အကယ်၍ အဆုံးသာ သိပါက *file.* ဟူ၍ အသုံးပြုနိုင်သည်။ အကယ်၍ တစ်လုံးတည်း မေ့နေပါက * အစား ? ကိုသုံးနိုင်သည်။ (e.g. file?.exe , ?file.exe .)
ပုံ-၁၄
Parameters အပြည့်အစုံ (dir command အတွက်) အသုံးပြုပုံစံ
dir [Drive:][Path][FileName] [...] [/p] [/q] [/w] [/d] [/a[[:]attributes]][/o[[:]SortOrder]] [/t[[:]TimeField]] [/s] [/b] [/l] [/n] [/x] [/c] [/4]
Parfveter တစ်ခုချင်းစီ၏ အသုံးပြုပုံများအကြောင်းကို ရှင်းလင်းတင်ပြပါဦးမည်။
[Drive:][Path] မိမိ List လုပ်ကြည့်ရှုလိုသော directory ၏ location တည်နေရာကို ဖေါ်ပြရန်ဖြစ်သည်။ e.g. C:\Windows , D:\Video\Myanmar Video...) ၎င်း parameter ကို မထည့်ဘဲထား၍လည်းရသည်။ ထိုသို့ မထည့်လျင် current directory (လက်ရှိ တည်နေရာ) အတွင်းရှိ files နှင့် directory များကိုသာ list လုပ်ပေးမည်ဖြစ်သည်။ (ပုံ-၁၅)
ပုံ-၁၅
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
Understanding and application of Windows XP command line utility in real life (၄)
2. cls
ပုံ-၂ တွင် help command ကြောင့် screen ၌ command list များဖြင့်ပြည့် နေပါသည်။ ထိုသို့ screen တွင်ရှုပ်မနေစေရန် cls command ကို သုံး၍ ရှင်းပစ်နိုင်ပါသည်။
3. date
Command line ကိုအသုံးပြု၍ systen date ကိုပြုပြင်နိုင်သော command ဖြစ်ပါသည်။ ၎င်းအား အသုံးပြုပုံ (၃)နည်း ရှိပါသည်။
1) date /t
2) date new_date
3) date
1) သည် command prompt ၌ system date တစ်ခုတည်းကို သိလိုသောအခါ အသုံးပြုသော command ဖြစ်ပါသည်။ (ပုံ-၅)
2) သည် system date ကို ပြုပြင်ချင်သောအခါ အသုံးပြုသော command ဖြစ်ပါသည်။ အရှေ့က date သည် command ဖြစ်၍ အနောက်က new_date ဆိုသည်မှာ မိမိပြောင်းလဲချင်သော နေ့စွဲ အသစ်အား mm-dd-yy format အသုံးပြု၍ ထည့်သွင်းပေးရန်ဖြစ်ပါသည်။ (e.g. >date 02-19-06) (ပုံ-၆)
3) နောက်ဆုံး method မှာ system date ကို အရင်ကြည့်ရှုစစ်ဆေးပြီး ပြင်ဆင်လိုက ပြင်ဆင်နိုင်ရန်သုံးလေ့ရှိပါသည်။ ပြင်ဆင်ရန်လိုအပ်သည့်အခါ mm-dd-yy format ဖြင့် ပြင်ဆင်နိုင်သလို ပြင်ဆင်ရန် မလိုအပ်ပါက enter နှိပ်၍ ကျော်သွားနိုင်ပါသည်။ (ပုံ-၇၊ ပုံ-၈)
ပုံ-၅ date /t command
ပုံ-6 date 02-24-2006
ပုံ-7 date (ပြောင်းလဲရန်လို)
ပုံ-8 date (ပြောင်းလဲရန်မလို)
Note: command များနောက်တွင် ထည့်သွင်းပေးရသော parameter များကို switches များဟုခေါ်လေ့ရှိသည်။ အချို့ command များတွင် ၎င်း switches များကို မသုံးမနေ သုံးစွဲရပြီး အချို့သော command များတွင်မူ အခြေအနေအရ ရွေးချယ်သုံးစွဲရသည်။ အချို့နေရာများတွင် switches များမပါဘဲ အသုံးပြုနိုင်သည်။
Tip: အကယ်၍ command တစ်ခု၏ switches များနှင့် အသုံးပြုပုံကိုမေ့နေပါက (သို.) သိချင်ပါက အောက်ပါအတိုင်း မေးမြန်းနိုင်သည်။
(ပုံ-၉) >command /?
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
Understanding and application of Windows XP command line utility in real life (၃)
အသုံးများသော command များ
Command များကို ရှင်းလင်းရေးသားရာတွင် Dictionary approach ကဲ့သို့ alphabetical order ဖြင့်ရေးသားခြင်း မပြုဘဲ ပိုမိုလေ့လာရ လွယ်ကူသော easy to learn approach ဖြင့် ရေးသားတင်ပြသွားပါမည်။ ပထမဦးစွာ အသုံးများသော command များကို လေ့လာရလွယ်ကူအောင် အသုံးပြုလေ့ရှိသော နည်းစံနစ်များအားဖေါ်ပြ၍ ဒုတိယပိုင်းတွင် ပိုမို ပြည့်စုံစွာ ရှင်းလင်းတင်ပြသွားမည်ဖြစ်ပါသည်။
လက်တွေ့စမ်းသပ်ရန် အထက်တွင်ဖေါ်ပြခဲ့သောနည်းအတိုင်း command line utility ကိုခေါ်ယူပါ။ (ပုံ-၁) အတိုင်း မြင်ရမည်ဖြစ်သည်။ ပုံ-၁
၎င်းပုံနှင့် သင့် ကွန်ပြူတာ ပေါ်ရှိ command prompt တို့ အနည်းငယ် ကွဲပြားနိုင်ပါသည်။ Windows version နှင့် user name တို့ များသောအားဖြင့် ကွဲပြားခြားနားလေ့ရှိပါသည်။ ပုံ-၁ တွင် အောက်ဆုံး ၌ C:\Documents and Settings\BluePhoenix> ဟူ ၌မြင်ရမည်ဖြစ်သည်။ ၎င်းသည် (Current path+greater than sign ‘>’)တို့ပေါင်းစပ် ထားသော ပုံစံဖြစ်သည်။ default current path မှာ (Windows drive:\Document and Settings\UserName) ဖြစ်သည်။၎င်းကို prompt ဟူသော command ဖြင့်ပြောင်းလဲပြုပြင်၌ရသည်။ ၎င်း command ကိုနောက်ပိုင်းတွင် အသေးစိတ် ရှင်းလင်းတင်ပြပါမည်။ greater than ‘>’ sign ၏နောက်တွင် command များကို ရိုက်ထည့်ရန်ဖြစ်သည်။
Note: DOS command များသည် case sensitive မဖြစ်ပါ။ သို့သော် ခြွင်းချက် အနည်းငယ်တော့ရှိပါသည်။ ၎င်းကို သက်ဆိုင်ရာ အခန်း၌ ရှင်းလင်းတင်ပြပေးသွားမည်ဖြစ်ပါသည်။
1. help
ပထမဦးဆုံး command line help ကိုမည်သို့ခေါ်ယူရမည်ကို ရှင်းလင်းတင်ပြပါမည်။ command များ အကုန်လုံးကို ကျွန်တော်တို့ အတွက် မှတ်မိနေရန်မှာ မလွယ်ပါ။ သို့သော် help command က ကျွန်တော်တို့ လိုအပ်ချက်ကို ဖြည့်ဆည်းပေးပါသည်။ ‘>’ နောက်တွင် help ဟု ရိုက်ပြီး enter ခေါက်ပါ။ ပုံ-၂ တိုင်းပေါ်လာပါလိမ့်မည်။ ၎င်းတွင် စုစုပေါင်း command ၇၁ ခု ပါဝင်ပါသည်။ သို့သော် ၎င်း command များသည် အပြည့် အစုံ မဟုတ်သေးပါ။ ftp command များ အစရှိသော networking နှင့်အခြား command များကို Window XP ၏ Help and Support Center ရှိ command line reference A to Z တွင် လေ့လာနိုင်ပါသည်။ သို့ရာတွင် ဤ စာစောင်တွင်လည်း တတ်နိုင်သမျှ အပြည့်စုံဆုံး ရှင်းလင်းတင်ပြသွားမည်ဖြစ်ပါသည်။
ပုံ-၂
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
Understanding and application of Windows XP command line utility in real life (၁)
ဒီ ဆောင်းပါးကို ပလန်းနက် မှာ ကျက်စားစဉ်က ပုံမှန်ရေးဖြစ်ခဲ့ပါတယ်။ နောက်ပိုင်း ပျင်းတာနဲ့ သိမ်းမထားမိဘူး။ နောက် ပလန်းနက် ဆာဗာ ကြောင်တော့ ကုန်ပါလေရောလား။ အဲဒီထဲက စပြီး ကွန်ပြူတာအကြောင်းမရေးတော့တာ နှစ် နှစ်လောက်ရှိပါပြီ။ ခု စီဘောက်စ် မှာ တစ်ယောက်က တောင်းဆိုလာတာ ကို သတိရလို့ ရှိသလောက် ပြန်တင်ပေးလိုက်ရကြောင်းပါဗျာ။
မိတ်ဆက်
အစပထမတွင်ကျွန်တော့အနေဖြင့် command line utility အကြောင်းရေးရန် မဝံ့မရဲဖြစ်နေမိသည်။ လွန်စွာရိုးရှင်းလွယ်ကူသော Microsoft ၏ Windows operating system က user များကို command များအစား visual interface များဖြင့် ခိုင်းစေ အသုံးပြုခွင့်ပေးထားကြခြင်းကြောင့်ဖြစ်သည်။ အများစုကလည်း command များဖြင့်အသုံးပြုရခြင်းကို ခေတ်နောက်ကျနေခဲ့သော နည်းပညာတစ်ခုဟု ထင်မြင်တတ်ကြသည်။ အချို့ကလည်း hacker များအသုံးပြုရန်သက်သက်ဖြစ်သည်ဟု နားလည်ထားကြသည်။ beginner များအနေဖြင့်မူ မိမိတို့၏ နောက်ဆုံးပေါ် Windows system တွင် command line utility ပါရှိသည်ကိုပင် မသိကြပေ။ မကြာမီက အမေရိကရောက် မြန်မာတစ်ယောက်မှ email ဖြင့် command များကို မည်သို့လေ့လာရမည် ကို အမေးရှိဖူးသည်။ ထို့ပြင် computer အထူးပြုဖြင့် သင်ကြားနေကြသော beginner student များက မေးမြန်းကြသည်ကိုလဲ မကြာခဏ ကြုံတွေ့နေရသည်။ ထို့ကြောင့် ကျွန်တော်၏ စိတ်ထဲတွင် ၎င်းအကြောင်းများကို အပြည့်အစုံ မဟုတ်သည့်တိုင် တစ်စိတ် တစ်ပိုင်းအဖြစ် တင်ပြလိုသော စေတနာဖြင့် မိမိနားလည်သမျှ လက်တွေ့ဘဝတွင် အသုံးများသော command များနှင့်အသုံးပြုပုံများကို ရေးသားတင်ပြလိုက်ရခြင်းဖြစ်ပါသည်။
သမိုင်းကြောင်း
Windows XP command line utility အကြောင်းမပြောမီ ၎င်း၏ ဖြစ်ပေါ်လာပုံ သမိုင်းကြောင်း အကျဉ်းချုပ်ကို အနည်းငယ်ပြောပြလိုပါသည်။ command line utility ၏ အစမှာ များစွာ စိတ်ဝင်စားစရာကောင်းလှပါသည်။ ၁၉၈၀ ပြည့်နှစ်များတဝိုက်တွင် IBM company က မည်သူမဆို လွယ်ကူစွာ ဝယ်ယူအသုံးပြုနိုင်ရန် တစ်ကိုယ်ရေသုံး ကွန်ပြူတာ (PC) များထုတ်လုပ်ရန်စီစဉ်ခဲ့သည်။ သို့သော် ၎င်းကွန်ပြူတာများကို မောင်းနှင်ခိုင်းစေရန် operating system(OS) အဆင်သင့်မရှိသေးပေ။ ထိုအချိန်က ထွက်ရှိသမျှ အကောင်းဆုံး OS မှာ ဂယ်ရီကေဒယ် (Gary Kildall) ၏ CP/M (Control program for Microcomputers)) ဖြစ်သည်။ Gary သည် computer နယ်ပယ်တွင် PhD ရရှိထားပြီး သူ၏ OS များမှာ ထိုစဉ်က အအောင်မြင်ဆုံးလည်းဖြစ်ခဲ့သည်။ ထို့ကြောင့် IBM က ပထမဆုံး Gary ကို ဆက်သွယ်ခဲ့သည်။ သို့ရာတွင် Gary က IBM နှင့်စာချုပ် ချူပ်ဆိုရန် ငြင်းပယ်လိုက်ရာမှ Bill Gates နှင့်ဆက်သွယ်ကာ Microsoft company နှင့်စာချုပ်ချုပ်ခဲ့သည်။ ထိုစာချုပ်အရ Microsoft က Gary ၏ CP/M OS ကို တိုက်ခိုက်ချေဖျက်ရန် ပိုမိုကောင်းမွန်သော OS တစ်ခု ရေးပေးရန်ဖြစ်သည်။ ဤသို့ဖြင့် Microsoft ၏ ပထမဦးဆုံး OS ဖြစ်သော Microsoft Disk Operating System ပေါ်ထွက်လာခဲ့ခြင်းဖြစ်ပါသည်။
တကယ်တော့ MS DOS သည် Seattle Computer Products မှ programmer Tim Paterson ရေးသားထားသော QDOS (Quick and dirty operating system) ကိုအခြေခံထားခြင်းဖြစ်သည်။ QDOS သည်လည်း Gary ၏ CP/M ကိုပင် မှီး၍ ရေးသားထားခြင်းဖြစ်သည်။ Paterson က CP/M ၏ manual ကိုဝယ်ယူခဲ့ပြီး ခြောက်ပတ်အတွင်း QDOS ကိုအပြီးရေးသားခဲ့ခြင်းဖြစ်သည်။ သို့သော် QDOS သည် CP/M နှင့် တရားဝင် ကွဲပြားခြားနားလျက်ရှိသည်။ Microsoft က ၎င်း QDOS ကို ဒေါ်လာ 50000 နှင့် Microsoft company မှဝယ်ယူကာ အနည်းငယ်ပြုပြင်၍ MS DOS ဟု အမည်ပြောင်းပေးကာ IBM နှင့် အခြား တစ်ကိုယ်ရေသုံး ကွန်ပြူတာများ ထုတ်လုပ်ရောင်းချသော company များအား လိုင်စင်ယူ ၍ ရောင်းချခဲ့ရာမှ DOS (Disk operating system) ကို တွင်ကျယ်စွာ စတင်အသုံးပြုလာကြခြင်းဖြစ်သည်။ နောက်ပိုင်းတွင် Paterson သည် Seattle Computer Products မှအလုပ်ထွက်၍ Microsoft နှင့်ပူးပေါင်းခဲ့သည်။ ထိုစဉ်က Paterson ပြောခဲ့သော စကားတစ်ခွန်းမှာ သမိုင်းတွင်ခဲ့သည်။ သူက (Life begins with a disk drive) ( ဘ၀ ဟာ disk drive တစ်ခု မှအစပြုသည် ) ဟုပြောခဲ့ခြင်းဖြစ်သည်။ ၎င်းပြောခဲ့သလိုပင် DOS ကြောင့် လူများ၏ လူနေမှုဘ၀ စတင်ပြောင်းလဲလာခဲ့ရသည်ဟု ဆိုချင်က ဆိုနိုင်ပေသည်။
သို့သော် Apple company မှ Macintosh OS နှင့် Microsoft မှ Windows OS ကို စတင် မိတ်ဆက်လာသည့်အခါ လူအများက အလွယ်တကူအသုံးပြုနိုင်သည့် Visual interface စံနစ်ကို တစ်ခဲနက် အားပေးခဲ့ကြသည်။ ထိုအခါမှ အစပြု၍ DOS ၏ အရေးပါမှုမှေးမှိန်လာခဲ့သည်။ သို့ရာတွင် အစပျိုး Windows OS များသည် DOS အောက်တွင် အလုပ်လုပ်သော interface program တစ်ခုသာဖြစ်ခဲ့သည်။ သို.ရာတွင် နောက်ပိုင်း Windows OS များသည် ပြည့်စုံသော Visual interface OS များဖြစ်လာပြီး DOS သည် ၎င်း Windows များ၏ အောက် မှ command shell တစ်ခုအဖြစ်သို့ပြောင်းလဲခဲ့ရသည်။
ထိုသို့ User အများစု၏ မေ့ပျောက်ခြင်းကို ခံရသော်လည်း command များကို အသုံးပြု၍ ကွန်ပြူတာအား ခိုင်းစေရာတွင် အားသာချက်များစွာ ရှိနေပေသေးသည်။ ၎င်းအားသာချက်များကို သိရှိနားလည်ထားကြသော administrator များနှင့် hacker များ၊ power user များက command line utility ကို ထိထိရောက်ရောက် ဆက်လက်အသုံးပြုနေကြပေသည်။
Ref:
1. http://en.wikipedia.org/wiki/MS_DOS
2. http://www.linfo.org/ms-dos.html
3. http://www.patersontech.com/Dos/Byte/History.html
ဆက်လက်ဖတ်ရှုရန်
ပြန်ပိတ်ရန်
Windows XP မှာ sound problem တွေကို ဘယ်လို ဖြေရှင်းမလဲ?
ဒီဆောင်းပါးမှာ Windows XP ရဲ့ အသံပိုင်းဆိုင်ရာ ပြဿနာတွေကို ဘယ်လိုဖြေရှင်းနိုင်မလဲဆိုတာ တင်ပြထားပါတယ်။
ဘယ်လိုပြဿနာတွေလဲ?
* Speaker တွေ၊ Headphone တွေက ဘာသံမှထွက်မလာဘူး။
* Sound ဖွင့်ထားစဉ်မှာ ရုတ်တရက် ရပ်သွားတယ်။
* အသံက ပြတ်တောင်းပြတ်တောင်း ဖြစ်နေတယ်။
* အသံက ပုံမှန်မဟုတ်ဘဲ စူးနေတယ် (သို့မဟုတ်) အောနေတယ်။
* Sound တစ်ခုခုကို Play လိုက်ရင် ကွန်ပြူတာ hang သွားတယ်။
* Sound တစ်ခုခုကို Play လိုက်တိုင်း Computer က Restart ဖြစ်ဖြစ်သွားတယ်။
* Sound တစ်ခုခု Playဖို့ ကြိုးစားတိုင်း အောက်မှာ ဖော်ပြထားတဲ့ ဥပမာတွေထဲက error message မျိုးတွေ တက်လာတယ်။
· MIDI output error detected.
· No wave device that can play files in the current format is installed.
· The CD Audio device is in use by another application.
· WAV sound playback error detected.
· Your audio hardware cannot play files like the current file.
ဒီလိုပြဿနာမျိုးတွေကို အောက်မှာဖော်ပြထားတဲ့ နည်းလမ်းတွေနဲ့ ဖြေရှင်းကြည့်ပါ။
နည်းလမ်း (၁) ။ Windows XP Sound Troubleshooter ကိုသုံးမယ်။
(၁) Start ကို နှိပ်ပါ။ Help and Support ကို နှိပ်ပါ။
(၂) Pick a Help Topic အောက်က Fixing a problem ကို နှိပ်ပါ။
(၃) Games, sound, and video problems ကို နှိပ်ပါ။
(၄) Sound Troubleshooter ကို နှိပ်ပါ။
(၅) PC မှာဖြစ်နေတဲ့ Problem ကို ဖော်ပြထားတဲ့ Option ကို ရွေးပြီး Next ကို နှိပ်ပါ။
Problem ပြေလည်သွားသည့်တိုင်အောင် ညွှန်ကြားချက်တွေအတိုင်း အဆင့်ဆင့် ဖြေရှင်းသွားပါ။ မရသေးရင် နည်းလမ်း(၁) ကို ထပ်လုပ်ပါ။
မိမိလုပ်ခဲ့တဲ့ နောက်ဆုံး အဆင့်ကို ပြန်သွားချင်ရင် Back ကို နှိပ်ပါ။ Sound Troubleshooter ကို ထပ်လုပ်မယ်ဆိုရင် Start Over ကို နှိပ်ပါ။
နည်းလမ်း (၂) ။ Sound card driver တွေကို Update လုပ်မယ်။
Microsoft Update ကို အသုံးပြုပြီး Update ဖြစ်တဲ့ Sound card driver တွေ ရနိုင်မလား၊ မရနိုင်ဘူးလား စစ်ကြည့်ပါ။ Updated driver တွေကို ရနိုင်/ မရနိုင် http://www.update.microsoft.com မှာ ကြည့်ပါ။ Sound card Update နဲ့ပတ်သက်ပြီး http://support.microsoft.com/kb/812394 မှာ တဆင့်ချင်း ရှင်းပြထားပါတယ်။ ဝင်ဖတ်ကြည့်ပါ။
What to Do When Windows Gets Really Messed Up
PC မှာ error information တွေပါတဲ့ အပြာရောင် Screen တတ်လာရင် ဘယ်လိုလုပ်မလဲ?
ကွန်ပြူတာမှာ အဖြူရောင်စာသားတွေပါတဲ့ Screen ပြာ ရုတ်တရက်တက်လာတာမျိုး ကြုံဖူးတဲ့သူတွေ ရှိမှာပါ။ A problem has been detected and Windows has been shut down… စတဲ့ information မျိုးတွေ ဖတ်ဖူးကြမှာပါ။ ဒီပြဿနာကို Blue Screen of Death (BSoD) လို့ခေါ်ကြပါတယ်။ Microsoft ကတော့ Stop errors လို့ ခေါ်ပါတယ်။
ကွန်ပြူတာမှာ လုပ်လက်စ အလုပ်တွေကို Save မလုပ်ရသေးခင် ဒီလို ပြဿနာမျိုး ရင်ဆိုင်လာရရင် Dataတွေ ဆုံးရှုံးသွားတာကို နှမြောတသနေရုံကလွဲလို့ တခြားဘာမှမတတ်နိုင်ပါဘူး။ ကွန်ပြူတာကို Reboot လုပ်ကြည့်ပါဦး။ ဒီပြဿနာ ဆက်ဖြစ်နေသေးသလား။ ဖြေရှင်းဖို့ နည်းလမ်းတွေ ရှိပါတယ်။
ဒီ Problem ကို ဖြေရှင်းဖို့ အသုံးဝင်မယ့် Information တွေ အဲဒီ Screenပြာပေါ်မှာ ပါတယ်။ ကွန်ပြူတာကို Reboot ထပ်မလုပ်ခင် အဲဒီ Screenပြာပေါ်မှာ ပေါ်နေသမျှ Technical Information တွေကို စာရွက်တစ်ရွက်ပေါ်မှာ ချရေးပါ။
(၁) Start ကိုနှိပ်၊ Run မှာ devmgmt.msc ကို ရိုက်ပြီး ဝင်ပါ။
(၂) Question mark ပြထားတဲ့ Drive ကို Double click နှိပ်ပြီး၊ Driver tab ကို နှိပ်ပါ။ ပြီးရင် Roll Back Driver button ကို နှိပ်ပါ။
တကယ်လို့ Drive အသစ်တစ်ခုခု ထပ်တပ်ထားရင် အဲဒီ Drive အတွက် Update Driver tab ကို နှိပ်ပြီး Web site မှာ Update ပေးထားသလား ကြည့်ပါ။ ပေးထားရင် Update လုပ်လိုက်ပါ။
RAM ပျက်စီးနေတာကြောင့်လည်း BSoD ပြဿနာ ဖြစ်နိုင်ပါတယ်။ RAM module တွေ ပျက်/ မပျက် ကို Memtest 86 နဲ့ အလွယ်တကယ် စစ်ဆေးလို့ရပါတယ်။ ဒီ Program ကို Memtest.org မှာ Download လုပ်လို့ရပါနိုင်ပါတယ်။ Memtest ဟာ Windows program မဟုတ်ပါဘူး။ Windows တက်မလာခင်ကတည်းက Memtest ကို boot လုပ်ထားရပါမယ်။ ဒီ Program ကို CD image .iso file type အဖြစ်နဲ့ Download လုပ်ပြီး Bootable CD တစ်ချပ်မှာ Burn ထားပါမယ်။ ပြီးရင် အဲဒီ CD ကို ထည့် Boot လုပ်ပြီး Memtest Program က Problem တစ်ခုခုကို ရှာတွေ့/ မတွေ့ စစ်ကြည့်ပါ။
နောက်ထပ် ဖြစ်နိုင်တာတွေကတော့ Windows Problem တွေပါပဲ။ Registry ထဲမှာ အပြစ်တစ်ခုခု ရှိနေတာကြောင့်လည်း ဖြစ်နိုင်ပါတယ်။ Registry Cleaner ကို Run ပြီး စမ်းကြည့်ပါ။ ကျွန်တော်ကတော့ ToniArts' EasyCleaner ကို Free Download လုပ်ပြီး စမ်းကြည့်ဖို့ အကြံပြုပါတယ်။
တကယ်လို့ အခုတင်ပြခဲ့တဲ့ နည်းတွေနဲ့ ဖြေရှင်းလို့မှ မရရင်တော့ Professional တစ်ယောက်ယောက်ဆီသွားပြပါလို့ အကြံပြုလိုက်ပါရစေ။
USB Drive တစ်ခုခုကို ဖြုတ်တဲ့အခါ Ejecting Problem ဖြစ်နေရင် ဘယ်လိုဖြုတ်မလဲ။
ကွန်ပြူတာအသုံးပြုသူအားလုံး ရင်ဆိုင်ရဖူးတဲ့ ပြဿနာတွေထဲက တစ်ခုပါ။ USB Drive ကို Safely Remove Hardware Icon လေး နှိပ်ပြီး ဖြုတ်ပေမယ့် The Device ‘Generic Volume’ cannot be stopped right now. Try stopping the device again later. ဆိုတဲ့ Ejecting Problem message box တက်လာတတ်ပါတယ်။
အဲဒီလိုဖြစ်လာရင် USB Drive ထဲက Program တွေ၊ File တွေ Floder တွေ ဖွင့်ထားသလား Task Bar နဲ့ System Tray မှာ စစ်ကြည့်ပါ။ ဖွင့်ထားရင် ဖွင့်ထားတာတွေ အားလုံးကို ပြန်ပိတ်ပြီး USB Drive ကို ဖြုတ်ကြည့်ပါ။ မရသေးရင် USB Drive နဲ့ ဆက်နွယ်ခဲ့တဲ့ Program တွေဖွင့်ထားရင် ပိတ်ပြီး ပြန်ဖြုတ်ကြည့်ပါ။ ပြဿနာ တက်နေသေးရင် ဒီပြဿနာကို ဖြေရှင်းဖို့ နည်းလမ်းတွေ ရှိပါတယ်။
ပထမနည်းလမ်းကတော့ Task Manager ကိုဖွင့်ပြီး ဖြေရှင်းပါမယ်။ Ctrl+Alt+Delete ကို နှိပ်ပါ။ Windows Vista မှာတော့ Start Task Manager ကို နှိပ်ပါ။ Processes Tab ကို နှိပ်ပါ။ Processes List ထဲမှာ USB Drive ကလို့ထင်ရတဲ့ Process တစ်ခုခုကို ရွေးချယ်ပါ။ End Process Tab ကို နှိပ်ပါ။ ပြီးရင် Safely Remove Hardware Icon ကို နှိပ်ပြီး ဖြုတ်ကြည့် ပါ။
အဲဒီလုပ်လို့မှမရရင် ခုနက Process ကို Right click နှိပ်ပြီး End Process Tree ကို နှိပ်ပါ။ USB Drive ကို ဖြုတ်ကြည့်ပါ။
ဒုတိယနည်းလမ်းကတော့ ကွန်ပြူတာကို Shut Down လုပ်ပြီး USB Drive ကို Remove လုပ်တဲ့နည်းပါပဲ။ ဒါပေမယ့် ဒီနည်းကတော့ Computer ကို Reboot လုပ်ရမှာမို့ အချိန်ကုန်ပါတယ်။
တကယ်လို့ အခု ဖော်ပြခဲ့တဲ့ နည်းလမ်းတွေကို အသုံးပြုလို့မှ မအောင်မြင်ခဲ့ရင် နောက်နည်းလမ်းတစ်ခုကို သုံးပါမယ်။ USB Safely Remove Program ကို Download လုပ်ပြီး Install လုပ်ပါ။ အဲဒီ Program ဟာ System Tray ထဲက Safely Remove Hardware နေရာမှာ Icon တစ်ခုနေနဲ့ ပေါ်နေမှာ ဖြစ်ပါတယ်။ ဒီ Program ကို သုံးပြီး ဘယ် Process တွေကြောင့် ဒီ ပြဿနာ ဖြစ်ရသလဲ ဆိုတာ သိနိုင်သလို၊ ပြဿနာကို ဖြေရှင်းနိုင်မှာ ဖြစ်ပါတယ်။ အဲဒီ Program မှာ အခြား Feature တွေလည်း ပါရှိသေးတယ်။ USB Drive တွေကို နာမည် ပြောင်းပြီး၊ Drive တစ်ခုစီကို ရပ်ဖို့ Hot-key တစ်ခုစီကို Set လုပ်ပြီး၊ Auto Run Option လေးတွေ လုပ်လို့ရတယ်။ တကယ်လို့ Program တွေ Auto loading လုပ်တာ မလိုလားရင် Run on Windows Startup Option ကို 0ff ထားပြီး၊ USB Safely Remove Program ကို လိုအပ်တဲ့ အချိန်မှာပဲ ဖွင့်ပြီး အသုံးပြုနိုင်ပါတယ်မယ်။
How to fix System Restore?
PC မှာ Restore Point ဟောင်းတွေ မရှိတော့ဘူး။ Windows ကလည်း Restore Point တွေ နောက်ထပ် ဖန်တီးမပေးတော့ဘူး။ System Restore ကို ဘယ်လို ပြန်ပြင်မလဲ ???
Windows XP နဲ့ Vista မှာ System Restore ဟာ Registry နဲ့ အရေးကြီးတဲ့ System file တွေကို အလိုလျောက် မကြာခဏ ထိန်းသိမ်းထားပေးပါတယ်။ ဒါပေမယ့် System Restore က Back up တွေ Restore Point တွေကို ဖန်တီး မပေးနိုင်တော့တဲ့ အခြေအနေတွေ ရှိလာတတ်ပါတယ်။
Free Space အလုံအလောက် မရှိတဲ့အခါ။ Restore Point တစ်ခုကို create လုပ်ဖို့ System Partation (သို့) System Drive မှာ အနည်းဆုံး Free Space 200 MB လိုပါတယ်။ တကယ်လို့ Free Space လုံလုံလောက်လောက် မရှိခဲ့ရင် PC ဟာ Restore Point အသစ်တွေကို ဆက်လက် Create လုပ်ပေးတော့မှာမဟုတ်ပါဘူး။ ပြီးတော့ ရှိပြီးသား Restore Point တွေကိုလည်း ဖျက်ပစ်နိုင်ပါတယ်။
Task Scheduler အလုပ် မလုပ်တဲ့အခါ။ System Restore ဟာ Restore Point တွေကို နေ့စဉ်အလိုလျောက် Create လုပ်ပေးနိုင်ဖို့ Windows ရဲ့ Task Scheduler ကို အသုံးပြုပါတယ်။ Task Scheduler အလုပ် လုပ်/မလုပ် စစ်ဆေးဖို့ Start ကိုနှိပ်၊ Run မှာ services.msc ကို ရိုက်ပြီး ဝင်ပါ။ Services Dialog Box ပေါ်လာရင် Scroll Bar နဲ့ အောက်ကိုဆင်း၊ Task Scheduler မှာ Right Click နှိပ်ပြီး Properties ကို ရွေးပါ။ Service Status မှာ Start လုပ်မထားသေးရင် Start ကို နှိပ်ပါ။ ပြီးရင် Startup Type မှာ Automatic ကို ရွေးပြီး OK ကို နှိပ်ပါ။
Operating System မရပ်မနား အမြဲအလုပ်လုပ်နေရတဲ့အခါ။ System Restore ဟာ PC ဖွင့်ထားပေမယ့် အလုပ်မလုပ်ဘဲ နားနေတဲ့အချိန် (Idel State)မှာ Restore Point တွေကို အလိုလျောက် အမြဲ ဖန်တီးပေးပါတယ်။ PC ကို အမြဲ ပိတ်ထားရင် ဒါမှမဟုတ် အမြဲအလုပ်လုပ်နေရင် System Restore ဟာ အလုပ်လုပ်မှာ မဟုတ်ပါဘူး။
System Restore ဟာ ပုံမှန် အလုပ်လုပ်နေရင်တောင်မှ Restore Point တိုင်းကို အသုံးပြုလို့မရပါဘူး။ Restore Point တိုင်းဟာ ပြည့်စုံတဲ့ Back up တွေ မဟုတ်ပါဘူး။ Restore Point တစ်ခုစီဟာ ယခင် Restore Point နောက်ပိုင်းမှာ ဖြစ်ခဲ့တဲ့ ပြောင်းလဲမှုတွေကိုသာ ထိန်းသိမ်းထားပါတယ်။ မူလအခြေနေကောင်းတစ်ခုခုကို ပြန်လည်ရယူနိုင်ဖို့ System Restore ဟာ Restore Point တွေအားလုံးကို အသုံးပြုရတဲ့ အခြေနေတွေကြုံလာတတ်ပါ တယ်။ အဲဒီလိုကြုံလာရတဲ့ အခြေအနေမျိုးမှာ Restore Point တစ်ခုခု ပျက်စီးသွားခဲ့မယ်ဆိုရင် တခြား Restore Point တွေကိုလည်း သုံးလို့ရတော့မှာမဟုတ်ပါဘူး။
တကယ်လို့ အလုပ်ဆက်လုပ်ဖို့ Restore Point တစ်ခုမှ မရနိုင်တော့ဘူးဆိုရင် Restore Point အားလုံးကို ဖျက်ပစ်ပါ။ System Restore ကို Off လုပ်ပြီး ပြန် On ပါ။ Window XP မှာ Start ကို နှိပ်ပြီး Run မှာ sysdm.cpl ကို ရေးပြီး ဝင်ပါ။ System Restore Properties Dialog Box မှာ System Restore Tab ကို နှိပ်ပြီး Turn off System Restore on all drives ဘေးမှာ အမှန်ခြစ်ကလေး ပေးလိုက်ပါ။ Apply ကို နှိပ်ပါ။ ပြီးရင် စောစောက အမှန်ခြစ်ထားတာ လေးကို ပြန်ဖြုတ်ပြီး OK ကို နှိပ်ပါ။ Window Vista မှာဆိုရင် Start ကို နှိပ်ပြီး sysdm.cpl ကိုရေးပြီး Enter ကို နှိပ်ပါ။ System Protection tab ကို နှိပ်ပြီး ဒါမှမဟုတ် open System Protection ကို ရွေးချယ်ပြီး Local Disk (C:) ဘေးက အမှန်ခြစ်လေးကို ဖြုတ်ပါ။ System Restore Pop-up မှာ Turn off System Restore ကို ရွေးချယ်ပါ။ Apply ကို နှိပ်ပါ။ ပြီးရင် Local Disk (C:) ကို ပြန်စစ်ဆေးပြီး OK ကို နှိပ်ပါ။
DES (10) - Iteration ပြုလုပ်ခြင်းနှင့် PC-2
ဒီ PC-1 အရ 64bits ကနေ 56 bits ပြောင်းတယ်ဆိုတော့ နဂို 64bits ကနေ 8bits လျော့သွားပါတယ်။ အဲဒါတွေကတော့ 8,16,24,32,40,48,56 နဲ့ 64 ခုမြောက် bits တွေ ဖြစ်ပါတယ်။
အဲဒီ 56bits ကိုမှ C နဲ့ D ခွဲ၇မှာ ဖြစ်ပြီး ပထမ 28bits (1-28¬) ဟာ C ဖြစ်ပြီး နောက်က 28bits (29-56) ဟာ D ဖြစ်ပါတယ်။ C0 နဲ့ D0 ရပြီ ဆိုရင် Left shift (ဘယ်ဘက်သို့ အစားထိုးခြင်း) ပြုလုပ်ရမှာ ဖြစ်ပါတယ်။ C နဲ့ D အတွက် left shift 16 rounds ရှိပါတယ်။ Iterarion ဖယား ကိုတော့ အောက်မှာ ဖော်ပြလိုက်ပါတယ်။
ဒီဇယားအရ C0 နဲ့ D0 အတွက် left shift ဟာ 1 ဖြစ်ပါတယ်။ ဒီတော့ C0 ရဲ့ 1st နေရာက bit ဟာ 32nd နေရာကို ရောက်မှာဖြစ်ပြီး အရင် 32nd က 31st ဖြစ်သွားမှာဖြစ်ပါတယ်။ D0 ဟာလဲ ဒီအတိုင်း ဖြစ်ပါတယ်။ C0 နဲ့ D0 ကို shifted လုပ်ပြီးရင် C1 (28 bits) နဲ့ D1 (28 bits) ရမှာဖြစ်ပါတယ်။ အဲဒီ 56bits ကို Permuted choice -2 (PC-2) အရ နေရာရွှေ့လိုက်ရင် key1 အတွက် 48bits ရပါပြီ။ ပုံ(၁၂) မှာကြည့်ပါ။
ပုံ(၁၂)
အခုရထားတဲ့ Key1 (48btis) ဟာ function ထဲမှာ E-bits (48bits) နဲ့ XOR ပြုလုပ်ရမှာ ဖြစ်ပါတယ်။ အရင်ရထားတဲ့ C1 နဲ့ D1 ကိုသုံးပြီး key algorithm ကအတိုင်း left shift ဇယား နဲ့ တွဲပြီး ဆက်လုပ်ရင် C2 နဲ့ D2 ကိုရမှာပါ။ အဲလို ဆက်လုပ်သွားရင် key 16 round အတွက်ရမှာပါ။
DES (09) - KEY ပြုလုပ်ခြင်း
Key algorithm မှာလည်း encryption algorithm မှာလိုပဲ 16 round ရှိပါတယ်။ key algorithm အတွက် Input ဟာ 64 bits ဖြစ်ပါတယ်။ Input key 64 bits ကတော့ password သဘောမျိုးနဲ့ ကြိုက်တာ ထားနိူင်ပါတယ်။ ဒါပေမဲ့ တခု သတိထား ရမှာက key ဟာ Text အရေအတွက်ထက် နဲလို့ မရပါဘူး။ (ဥပမာ Text ဟာ 64 bits(3 rounds) ဆိုရင် Key ဟာလည်း 64 bits(3 rounds) ရှိရမှာ ဖြစ်ပါတယ်) ။ Key algorithm အရ input 64 bits ကို permuted choice 1 (PC1) အရ permutation လုပ်ရင် 56 bits ရမှာ ဖြစ်ပါတယ်။ Key algorithm နဲ့ PC1 ကိုတော့ အောက်မှာ ဖော်ပြလိုက်ပါတယ်။
ပုံ (၁၀)
ပုံ (၁၁)
Key algorithm နဲ့ PC1
Programmer အကြိုက် Online ရတနာသိုက်များ
from Knowledge is Free by kmo
6 people liked this
ပရိုဂရမ်းမင်း (Programming) ဘာသာရပ်ကို လေ့လာလိုသူများအတွက် Online ပေါ်က ရင်းမြစ် (resources) တွေကို ညွှန်းချင်ပါတယ်။ ပညာရပ်တစ်ခုဆိုတာ လေ့လာလေ နက်နဲလေ၊ ရှာဖွေလေ တွေ့ရှိလေပါပဲ။ ပိုပြီး ကျယ်ပြန့်စွာသိချင်ရင် Online မှာ Programming နဲ့ coding တွေအတွက် ရှာနိုင်တဲ့နေရာတွေ အများကြီးပါ။
Java
Trail: Learning the Java Language
http://java.sun.com/docs/books/tutorial/java/TOC.html
Sun Microsystem ရဲ့ Java 'Trail' ကတော့ တကယ်ကောင်းတဲ့ site လို့ ပြောရမယ်။ Java ကို လေ့လာတုန်းက နားမလည်တာတွေ အားလုံး၊ ပြဿနာတွေအားလုံးကို ဒီ site ကနေ ဖြေရှင်းပေးနိုင်တယ်လို့ ညွှန်းကြပါတယ်။ 'Trail' site က လက်ဦးအစသမားတွေအတွက် အတော်လေးလုံလောက်တယ်လို့ ဆိုရမယ်။ ဒီ လိုင်းမှာ objects, classes, inheritances, interface နဲ့ packages တွေ အားလုံးနဲ့ပတ်သက်ပြီး အခြေခံကစ ရှင်းပြထားပါတယ်။ ဒီနေရာကနေ စဉ်းစားဆင်ခြင်နိုင်စွမ်းတွေကို concept အနေနဲ့ အများကြီး ရနိုင်တယ်။ အဆင့်မြင့်ကြီးတွေ မပြောသေးဘဲ အဆင့်လိုက်အသေးစိတ်ကို လေ့လာနိုင်တယ်။ နားလည်လွယ်တဲ့ ဥပမာတွေ အများကြီး ထည့်ပြီးရှင်းပြထားပါသေးတယ်။
Java Beans
http://www.netbeans.org/kb/trails/java-se.html
Java Beans ကတော့ Tutorial တွေလုပ်ဖို့ တကယ့်စာကြည့်တိုက်ကြီး တစ်တိုက်လို့ ပြောရမယ်။ Java Programmer တွေအတွက်သာမက C++ နဲ့ PHP သမားတွေအတွက်ပါ အများကြီး ပတ်သက်နေတဲ့ နေရာလို့ ပြောရမယ်။ Java Beans မှာ Java ပရိုဂရမ်အဖွဲ့ဝင်တွေကလည်း သူတို့ content တွေနဲ့ အများကြီး အထောက် အကူ ပြုထားတာ တွေ့ရတယ်။ အဖွဲ့ဝင်တွေက သူတို့တွေ့ထားတဲ့၊ သိထားတဲ့ ပရိုဂရမ် tutorial တွေကိုလည်း တင်ထားပေးပါတယ်။
Java Lessons
http://javalessons.com
ဒီ website မှာတော့ လေ့ကျင့်ခန်းတွေနဲ့ assignment တွေ အများကြီး သွားတွေ့လိုက်ရတယ်။ Java Lessons က tutorial တွေ များစွာ ပေးထားပါတယ်။ ဒါပေမယ့် ဥပမာတွေပေးပြီးတော့ပဲ focus လုပ်ထားတယ်။ ဒီ site မှာ mechanics of the language နဲ့ ရှုပ်ထွေးလှတဲ့ statement တွေရဲ့ ရည်ရွယ်ချက်တွေကို ဖော်ပြထားတယ်။ ပုံစံ အမျိုးမျိုး ရှင်းလင်းချက်အဖုံဖုံနဲ့ စာကြည့်တိုက်တစ်တိုက်စာလောက် ရှင်းလင်းချက်တွေကို တွေ့နိုင်တယ်။ ဥပမာ တစ်ခုကို click နှိပ်လိုက်တာနဲ့ 'lesson viewer' ကို တွေ့နိုင်ပြီး အဲဒီအထဲမှာ source code တွေကို နောက်ထပ် window တစ်ခုနဲ့ ဖတ်နိုင်မှာပါ။ လိုင်းတစ်လိုင်းစီရဲ့ ရှင်းလင်းချက်တွေကို သိချင်ရင် အခြား window တစ်ခုနဲ့ ထပ်မံလေ့လာနိုင်ပါတယ်။ Code လိုင်းတွေပေါ်က cursor ကို ဖယ်လိုက်တာနဲ့ viewer က ဆက်စပ်နေတဲ့ ရှင်းလင်းချက်တွေကို highlight နဲ့ ဖော်ပြမှာ ဖြစ်ပါတယ်။ အမြင်ပိုင်းဆိုင်ရာကတော့ ဒီ website ဟာ သိပ်ပြီး တော့ ထူးခြားမှုမရှိပေမယ့် အသုံးကျမှုကတော့ တန်ဖိုးဖြတ်လို့ကို မရနိုင်ပါဘူး။
Java World Community
http://www.javaworld.com/community
Java World ရဲ့ main page မှာတင် တကယ်ကောင်းတဲ့ ဆောင်းပါးတွေ တင်ထားတာတွေ့ရမယ်။ ဒီဆောင်းပါး တွေဟာ programming နဲ့ပတ်သက်ပြီး နားလည်စေနိုင်ရုံမျှမက ချဲ့တွေးမယ်ဆိုရင် အများကြီး တွေးလို့ရတယ့် ဆောင်းပါးတွေ ဖြစ်ပါတယ်။ Java World မှာ community section ဆိုတာပါတယ်။ ဒီ ကဏ္ဍကနေ Java နဲ့ ပတ်သက်တဲ့ Q&A forum တွေအပြင် အခြားသက်ဆိုင်ရာ blog တွေဆီကိုလည်း သွားနိုင်ပါလိမ့်မယ်။
Java Coffee Break
http://www.javacoffeebreak.com/
ဒီ site ဟာ Java Coffee Break ရဲ့ Library of tutorial က အတော်လေးဟောင်းနေပြီလို့ ဆိုရမယ်။ ဒီ site မှာ ရေးတဲ့သူတွေက ၁၉၉၆ လောက်ကတည်းကလေ။ ဒါပေမယ့် တကယ့် language နဲ့ပတ်သက်ပြီး နှိုက်လိုတဲ့ နောက်ပေါက်တွေ အတွက်ကတော့ တန်ဖိုးမဖြတ်နိုင်တဲ့ နေရာကြီး တစ်ခုပါ။ ကိုယ်ဘာတွေ သိချင်လိုချင်တယ် ဆိုတာကို ဒီ site မှာ ဆုံးဖြတ်နိုင်လိမ့်မယ် ထင်ပါတယ်။
C++
Visual C++ Developer Centre
http://msdn.microsoft.com/en-us/visualc/default.aspx
C++ ရဲ့ တရားဝင် website တစ်ခုပါ။ ဒီဘာသာရပ်နဲ့ ပတ်သက်တာမှန်သမျှ အားလုံးအဖြေတွေရှိတယ်ဆိုတဲ့ နေရာမျိုးပေါ့။ Microsoft Developer Network က download နဲ့ tutorial တွေ အများကြီး ဖြည့်ဆည်းပေးထား တယ်။ C++ ကို စတင်လေ့လာချင်သူတွေ၊ စိတ်ပါဝင်စားပြီး ကိုယ်ပိုင်လေ့လာချင်သူတွေအတွက် အထောက် အကူပြုမယ့် site လို့ ဆိုချင်ပါတယ်။
CProgramming.com
http://www.cprogramming.com/
CProgramming.com ဟာ တကယ့်အံ့ချီးဖွယ် tutorial library ကြီးလို့ ဆိုနိုင်တယ်။ C ရော C++ အတွက်ပါ အခြေခံကစပြီး ရှင်းပြနိုင်တဲ့လိုင်း ဖြစ်ပါတယ်။ OpenGL လို ခေါင်းစဉ်အောက်ကနေ လေ့လာစရာတွေ အများ ကြီးပါ။ CProgramming ရဲ့ ပြဿနာတစ်ခုကတော့ update သိပ်မလုပ်တာပဲ ဖြစ်ပါတယ်။ သို့သော်ငြားလည်း ညွှန်းလိုတာကတော့ C++ နဲ့ ပတ်သက်ရင် ဒီ site မှာ အပြည့်စုံဆုံး ရနိုင်တယ် ဆိုတာပဲ။
alt.com.lang.c-c++
http://groups.google.com/group/comp.lang.c++/topics?lnk
Usenet group က C++ နဲ့ပတ်သက်ပြီး လှုပ်ရှားနေတဲ့ site လို့ ပြောရမယ်။ ဒီ site မှာ ထောင်ပေါင်းများစွာ သော ထောက်ပံ့သူတွေရှိတယ်။ မေးခွန်းလေးတွေ ပြန်ဖြေတာတောင် အသေးစိတ် ဖြေပေးထားတယ်။ ၁၉၈၆ နိုဝင်ဘာလလောက်ကတည်းက ထောင်ပေါင်းများစွာသော post တွေကိုလည်း ဒီမှာတွေ့နိုင်တယ်။ C++ နဲ့ ပတ်သက်ပြီး အတော်လေးလည်း အတွေ့အကြုံဗဟုသုတ ရှိတယ်ဆိုရင် ဒီအဖွဲ့ကြီး ဆက်လက်တည်တံ့နေတာ ကိုပဲ ကျေးဇူးတင်ထိုက်တယ်။ ဒီအထဲမှာ မေးချက်၊ ဖြေချက်၊ ဆွေးနွေးချက်တွေဟာ တစ်ဦးချင်းအနေနဲ့ ကြည့်ကြည့်၊ အဖွဲ့လိုက်အနေနဲ့ ကြည့်ကြည့် တန်ဖိုးမဖြတ်နိုင်စရာ ရတနာသိုက်ကြီးပမာ ယနေ့တိုင် ဖြစ်နေဆဲလို့ ဆိုနိုင်တယ်။
LearnCpp.com
http://www.learncpp.com/
အခြေခံကျကျ tutorial တွေနဲ့ website တစ်ခုပေါ့။ ဒီဘာသာစကားနဲ့ပတ်သက်ပြီး အတွေ့အကြုံရှိသူတွေ အတွက် ရည်စူးပြီး သီးသန့်ပညာရှင်ဆန်တဲ့ website လို့ ဆိုနိုင်ပါတယ်။ ဒီ site ဟာ တကယ့်ဈေးကွက်ဝင် ပညာရှင် အဆင့်ဆင့်လောက်အထိကို ရည်စူးပြီး သုတေသန လုပ်ထားတာတွေ တင်ထားတာကြောင့် ခုမှစတင် လေ့လာသူတွေအနေနဲ့တော့ အသက်ရှုမှားလောက်တဲ့ site လို့ ဆိုရမယ်။
CPlusPlus.com
http://www.cplusplus.com/
ဒီ site မှာလည်း tutorial တွေ အများကြီး ရှိတယ်။ အမှန်တော့ ဒီ site မှာ ရောင်းနေတာတွေက လက်ရှိ active ဖြစ်နေတဲ့ forum တွေနဲ့ ဥပမာကောင်းကောင်းတွေ စုစည်းချက်တွေပါ။ ဒါတွေကို အလကား မရပါဘူး။ အဲဒီ ခက်ခဲ နက်နဲတဲ့ source code တွေကို download လုပ်ယူနိုင်ပါတယ်။ Compiled လုပ်တာတွေ၊ run တာတွေကို အခြား DOS သို့မဟုတ် Windows နဲ့ လုပ်ကြည့်နိုင်ပါတယ်။
Visual Basic
Visual Basic Developer Centre
http://msdn.microsoft.com/en-us/vbasic/default.aspx
Microsoft ရဲ့ တစ်ကျော့ပြန် ထိပ်တန်းကျတဲ့ website တစ်ခုလို့ ပြောရမယ်။ Microsoft ရဲ့ ဒီ Visual Basic website ဟာ C++ page တွေကိုလည်း ထည့်ပေးထားတယ်။ Tutorial အမျိုးမျိုးကိုလည်း download လုပ်ယူ နိုင်တယ်။ စိတ်ဝင်စားစရာကောင်းတာက Video Tutorial တွေပါ download လုပ်နိုင်တာပါ။ Microsoft Developer Network ရဲ့ C++ page နဲ့ Sun Microsystem က Java trial တွေကိုလည်း ဒီ site မှာ လေ့လာ နိုင်တာက ပိုပြီး အဆင်ပြေစေနိုင်ပါတယ်။ နောက်ပေါက် ပရိုဂရမ်မာအသစ်တွေအနေနဲ့ ဒီ site က video သရုပ် ပြသင်ကြားချက်တွေဟာ လွန်စွာကောင်းလောက်အောင် အထောက်အကူ ဖြစ်စေနိုင်ပါလိမ့်မယ်။
Mark-up and Scripting Languages
W3Schools
http://www.w3schools.com/
ဒီ site မှာ တကယ်ကောင်းတဲ့ array of tutorial တွေကို ပြင်ခွင့်၊ ဝင်ရေးခွင့်တွေ ရနိုင်အောင် စီစဉ်ပေးထား တယ်။ ဈေးကွက်ဝင် script တွေဖြစ်တဲ့ ASP, CSS, HTML, Javascript, PHP, SQL နဲ့ XML တွေ အားလုံး ဒီအထဲမှာ လေ့လာနိုင်တယ်။ ဒီ site ရဲ့ library of tutorials ဟာ အရမ်းကျယ်ပြန့်တဲ့သဘော ရှိတယ်။ လိုချင် သလောက် အရေအတွက် ဒီမှာမလေ့လာနိုင်တာကို အဆိုးမြင်လို့တော့ မရဘူး။ သူထည့်ထားသမျှ content တွေ ဟာ တကယ့်အရည်အသွေးပြည့် စမ်းသပ်ချက်တွေ ဖြစ်နေတာကို အသိအမှတ်ပြုရလိမ့်မယ်။ ဒါပေမယ့် ဥပမာ တွေအများကြီးတော့ ရှိတယ်။ ပြဿနာတစ်ခုခုကို W3School မှာ ကြိုက်ရာဘာသာ language နဲ့ ဝင်ပြီး လေ့လာနိုင်တယ်ဆိုတာက အခွင့်အရေးတစ်ခုလို့ မှတ်လိုက်ပါ။ ပြီးပြည့်စုံတဲ့ site တစ်ခုမဟုတ်သေးပေမယ့် အစ သမားတွေရော၊ ကျွမ်းကျင်သူတွေပါ အားကိုးထိုက်တဲ့ site ဖြစ်ပါတယ်။
PHPFreaks
http://www.phpfreaks.com/
PHP coding တွေနဲ့ပတ်သက်ပြီး tutorial တွေအပြင် တကယ့်ပြောင်မြောက်တဲ့ active forum တွေကိုပါ လေ့လာ နိုင်ပါတယ်။
HTML:An Interactive Tutorial
http://www.davesite.com/webstation/html/
အခြေခံကျကျ tutorial ကောင်းကောင်းတွေ ထည့်ထားတယ်။ HTML ကို စတင်လေ့လာချင်သူတွေအတွက် ကောင်းတယ်။ Coding တွေအပြင် website design တွေကိုပါ အခြေခံကစပြီး လေ့လာနိုင်တယ်။
YourHTMLSource/JavaScript
http://www.yourhtmlsource.com/javascript
JavaScript နဲ့ ပတ်သက်ပြီး နိဒါန်းသဘောလောက်တော့ လေ့လာနိုင်လိမ့်မယ်။ ဒီ site ရဲ့ အဓိကဟာ URL နဲ့ ပတ်သက်ပြီး အကြုံပြုချက်တွေအပြင်၊ HTML နဲ့ ပတ်သက်ပြီး focus လုပ်ထားတာတွေလောက်ပဲ ရှိတယ်။
JavaScript Kit
http://www.javascriptkit.com/javatutors
အတော်လေးဟောင်းနေတဲ့ website လို့ဆိုရမယ်။ Y2K bug တွေနဲ့ပတ်သက်ပြီး ရှင်းချက်တွေရှိတယ်။ JavaScript နဲ့ ပတ်သက်ရင် အရည်အသွေးပြည့် tutorial တွေအများဆုံး စုဆောင်းထားနိုင်တဲ့ library တစ်ခု လို့တော့ အသိအမှတ်ပြုရလိမ့်မယ်။ JavaScript ကို အထူးပြုလိုက်စားသူတွေ အခြေခံကျကျ ပြန်လေ့လာချင် တယ်ဆိုရင် ဝင်ပြီးလေ့လာသင့်တဲ့ site လို့ အကြံပြုချင်ပါတယ်။
SQLzoo.net
http://www.sqlzoo.net/
SQL နဲ့ ပတ်သက်ပြီး နိဒါန်းပျိုးပေးထားတဲ့ site လို့ဆိုနိုင်တယ်။ တကယ့် interactive ဖြစ်တဲ့ ဥပမာတွေ ပေးထားတာက လေ့လာချင်သူတွေအတွက် အထောက်အကူများစွာ ဖြစ်စေပါလိမ့်မယ်။
HTML.net
http://www.html.net/
HTML, CSS နဲ့ပတ်သက်ပြီး အခြေခံကျကျ tutorial တွေ ထည့်ပေးထားတယ်။ Tutorial တွေကတော့ လက်ခံ ချင်လည်း လက်ခံလို့ရသလို လက်မခံချင်ရင်လည်း ရတဲ့ ဉာဏ်ပွားပြီးစဉ်းစားစရာ ပြဿနာတွေနဲ့ ဖြစ်ပါတယ်။ ဒါပေမယ့် တကယ့်ကို အခြေခံကျကျ စဉ်းစားပေးထားတယ်။ သူတို့နဲ့ W3School site က tutorial တွေဟာ သိပ် မနီးစပ်တာတွေ ဖြစ်ကောင်းဖြစ်နိုင်တယ်။ အတွေ့အကြုံ မရှိသေးသူတွေအတွက်ကတော့ အဆင်ပြေစွာ လေ့ကျင့်နိုင်မယ့် နေရာကောင်းတစ်ခုလို့ ဆိုနိုင်ပါတယ်။
The Python Tutorial
http://docs.python.org/tutorial
အရိုးဆုံးအမည်နဲ့ အရှင်းဆုံး website လို့ ဆိုချင်ပါတယ်။ Python Tutorial များကို အခြေခံကစပြီး တွေးရင် တွေးသလောက် ခရီးရောက်တဲ့ language လို့ ဆိုချင်တယ်။ ကိုယ်ပိုင်အတွေးနဲ့ programming ကို တည်ဆောက်ချင်သူတွေအနေနဲ့ဖြစ်စေ၊ လွယ်လွယ်နဲ့စပြီး အကောင်းဆုံးရလဒ်ကို ရယူဖန်တီးချင်သူတွေ အတွက်ဖြစ်စေ၊ ဒီ site ကတော့ အမှတ်ပြည့်ပေးရမယ့် site လို့ ဆိုချင်တယ်။
Beginners, Non-Programmers
Guide to Python
http://wiki.python.org/moin/BeginnersGuide/NonProgrammers
Python tutorial တွေ အများကြီးပေးထားပြီး နောက်ထပ် အသစ်တွေကို ဆွဲခေါ်ထားတဲ့ site လို့ ဆိုနိုင်တယ်။ အထူးသဖြင့်တော့ ဒီ site ဟာ ကလေးတွေအတွက်ရည်စူးပြီး ကလေးပရိုဂရမ်မာတွေ ထွက်ပေါ်ရေးများ လုပ်ထားသလားလို့ ထင်ရတယ်။ လွယ်လွယ်နဲ့ ပရိုဂရမ်ကို လေ့လာချင်ရင် ဝင်ကြည့်ပေါ့။
Subscribe to:
Post Comments (Atom)
.jpg)
No comments:
Post a Comment