စက်မှုစက်သင်ယူခြင်း- ဒီဇိုင်းအခြေခံမူ ၁၀ ချက်

စက်မှုစက်သင်ယူခြင်း- ဒီဇိုင်းအခြေခံမူ ၁၀ ချက်

ယနေ့ခေတ်တွင်၊ ဝန်ဆောင်မှုအသစ်များ၊ အပလီကေးရှင်းများနှင့် အခြားအရေးကြီးသောပရိုဂရမ်များကို မယုံနိုင်လောက်စရာများကို ဖန်တီးနိုင်စေမည့် ဆော့ဖ်ဝဲလ်မှ SpaceX ဒုံးပျံကို ထိန်းချုပ်ရန်အတွက် ဆော့ဖ်ဝဲလ်မှသည် စမတ်ဖုန်းမှတစ်ဆင့် နောက်ခန်းရှိ ရေနွေးအိုးနှင့် အပြန်အလှန်တုံ့ပြန်မှုအထိ နေ့စဉ်ဖန်တီးလျက်ရှိသည်။

တစ်ခါတစ်ရံတွင်၊ သူစိတ်အားထက်သန်သော startupper သို့မဟုတ် သာမန် Full Stack သို့မဟုတ် Data Scientist ဖြစ်စေ၊ အတွေ့အကြုံမရှိသေးသူ ပရိုဂရမ်မာတိုင်းသည် ဘဝကို အလွန်ရိုးရှင်းစေမည့် ပရိုဂရမ်ရေးဆွဲခြင်းနှင့် ဖန်တီးခြင်းအတွက် စည်းမျဉ်းအချို့ရှိကြောင်း သိရှိလာကြသည်။

ဤဆောင်းပါးတွင်၊ 10-factor App နည်းစနစ်ကို အခြေခံ၍ ၎င်းကို အက်ပ်/ဝန်ဆောင်မှုတစ်ခုသို့ အလွယ်တကူ ပေါင်းစည်းနိုင်စေရန် စက်မှုလုပ်ငန်းသုံး စက်သင်ယူမှု ပရိုဂရမ်ကို မည်ကဲ့သို့ ပရိုဂရမ်လုပ်နည်း 12 ကို အတိုချုပ် ဖော်ပြပါမည်။ Heroku အဖွဲ့မှ အကြံပြုထားသည်။. ကျွန်ုပ်၏ အစပျိုးမှုသည် developer များနှင့် data science အများအပြားကို ကူညီပေးနိုင်သည့် ဤနည်းပညာကို သတိပြုမိစေရန်ဖြစ်သည်။

ဤဆောင်းပါးသည် စက်မှုလုပ်ငန်းသုံး Machine Learning နှင့်ပတ်သက်သည့် အခန်းဆက်ဆောင်းပါးများအတွက် ဂုဏ်ပြုစကားဖြစ်သည်။ ၎င်းတို့တွင် အမှန်တကယ် မော်ဒယ်တစ်ခု ဖန်တီးပြီး ထုတ်လုပ်မှုတွင် စတင်ရန်၊ ၎င်းအတွက် API တစ်ခု ဖန်တီးနည်းနှင့် ၎င်းတို့၏ စနစ်များတွင် ထည့်သွင်းထားသော ML ပါရှိသည့် ကုမ္ပဏီများနှင့် နယ်ပယ်အသီးသီးမှ နမူနာများကို ကျွန်ုပ် ဆက်လက်ပြောပြပါမည်။

စည်းမျဉ်း 1- ကုဒ်အခြေခံတစ်ခု

ပထမအဆင့်တွင် အချို့သော ပရိုဂရမ်မာများသည် ၎င်းကိုရှာဖွေရန် ပျင်းရိခြင်းကြောင့် (သို့မဟုတ် ၎င်းတို့၏ကိုယ်ပိုင်အကြောင်းကြောင့်) Git ကို မေ့သွားကြသည်။ စကားလုံးကို လုံးလုံးမေ့သွားကြတယ်၊ ဆိုလိုတာက ဖိုင်တွေကို drive ထဲမှာ တစ်ယောက်နဲ့တစ်ယောက် ပစ်ချတာ/ စာသားတွေကို ခိုပြီး ပို့လိုက်၊ ဒါမှမဟုတ် သူတို့ရဲ့ အလုပ်အသွားအလာကို မစဉ်းစားဘဲ အသီးသီး မိမိတို့ရဲ့ ဌာနခွဲကို အပ်နှံပြီးရင်၊ သခင်။

ဤနိယာမသည်- ကုဒ်ဘေ့စ်တစ်ခုနှင့် ဖြန့်ကျက်မှုများစွာရှိသည်။

Git ကို ထုတ်လုပ်မှုတွင်ရော သုတေသနနှင့် ဖွံ့ဖြိုးတိုးတက်ရေး (R&D) တွင်ပါ အသုံးပြုနိုင်ပြီး ၎င်းကို မကြာခဏ အသုံးမပြုပါ။

ဥပမာအားဖြင့်၊ R&D အဆင့်တွင် အကောင်းဆုံးကိုရွေးချယ်ပြီး ၎င်းနှင့်ဆက်လက်လုပ်ဆောင်ရန် လွယ်ကူစေရန်အတွက် မတူညီသောဒေတာလုပ်ဆောင်မှုနည်းလမ်းများနှင့် မော်ဒယ်များဖြင့် ကတိကဝတ်များကိုထားခဲ့နိုင်ပါသည်။

ဒုတိယအနေနဲ့၊ ထုတ်လုပ်မှုမှာ ဒါက အစားထိုးလို့မရတဲ့ အရာတစ်ခုပါ - မင်းရဲ့ကုဒ်ပြောင်းလဲမှုကို အဆက်မပြတ်ကြည့်ရှုပြီး ဘယ်မော်ဒယ်က အကောင်းဆုံးရလဒ်တွေထုတ်ပေးလဲ၊ အဆုံးမှာ ဘယ်ကုဒ်က အလုပ်ဖြစ်ခဲ့သလဲ၊ အဲဒါက အလုပ်မလုပ်တော့ဘဲ ဒါမှမဟုတ် မမှန်တဲ့ရလဒ်တွေ စတင်ထုတ်ပေးခဲ့တာကို သိဖို့ လိုအပ်ပါလိမ့်မယ်။ . အဲဒါက ကတိကဝတ်တွေအတွက်ပါ။

ဥပမာအားဖြင့်၊ Gemfury တွင် ထား၍ သင့်ပရောဂျက်၏ ပက်ကေ့ခ်ျတစ်ခုကိုလည်း ဖန်တီးနိုင်သည်၊ ထို့နောက် ၎င်းတို့ကို အကြိမ် 1000 ပြန်လည်ရေးသားခြင်းမပြုရန် ၎င်းတို့ကို အခြားပရောဂျက်များအတွက် ရိုးရှင်းစွာ တင်သွင်းနိုင်သည်။

စည်းမျဉ်း 2- မှီခိုမှုကို ရှင်းရှင်းလင်းလင်းကြေညာပြီး သီးခြားခွဲထုတ်ပါ။

ပရောဂျက်တစ်ခုစီတွင် ၎င်းတို့ကို တစ်နေရာရာတွင် အသုံးချရန်အတွက် သင်ပြင်ပမှ တင်သွင်းသည့် မတူညီသော စာကြည့်တိုက်များရှိသည်။ ၎င်းသည် Python စာကြည့်တိုက်များ သို့မဟုတ် ရည်ရွယ်ချက်အမျိုးမျိုးအတွက် အခြားဘာသာစကားများ၏ စာကြည့်တိုက်များ သို့မဟုတ် စနစ်ကိရိယာများ - သင်၏တာဝန်မှာ-

  • မှီခိုမှုကို ရှင်းရှင်းလင်းလင်း ကြေငြာပါ ၊ ဆိုလိုသည်မှာ သင့်ပရောဂျက်တွင် အသုံးပြုသည့် စာကြည့်တိုက်များ၊ ကိရိယာများနှင့် ၎င်းတို့၏ ဗားရှင်းများ အားလုံးကို ထည့်သွင်းမည့် ဖိုင်တစ်ခု (ဥပမာ၊ Python တွင် ၎င်းကို Pipfile သို့မဟုတ် requirements.txt ကို အသုံးပြု၍ လုပ်ဆောင်နိုင်သည်။ A ကောင်းကောင်းနားလည်နိုင်စေမယ့် link realpython.com/pipenv-guide)
  • ဖွံ့ဖြိုးတိုးတက်နေစဉ်အတွင်း သင့်ပရိုဂရမ်အတွက် မှီခိုအားထားမှုများကို သီးခြားခွဲထုတ်ပါ။ သင်သည် ဗားရှင်းများကို အဆက်မပြတ်ပြောင်းလဲပြီး ဥပမာ Tensorflow ကို ပြန်လည်ထည့်သွင်းလိုပါသလား။

ဤနည်းအားဖြင့်၊ နောင်တွင် သင့်အဖွဲ့တွင် ပါဝင်မည့် developer များသည် သင့်ပရောဂျက်တွင် အသုံးပြုသည့် ဒစ်ဂျစ်တယ်များနှင့် ၎င်းတို့၏ ဗားရှင်းများနှင့် လျင်မြန်စွာ ရင်းနှီးလာနိုင်ပြီး သတ်သတ်မှတ်မှတ်အတွက် ထည့်သွင်းထားသည့် ဗားရှင်းများနှင့် ဒစ်ဂျစ်တိုက်များကို စီမံခန့်ခွဲရန် အခွင့်အရေးလည်း ရရှိမည်ဖြစ်သည်။ စာကြည့်တိုက်များ သို့မဟုတ် ၎င်းတို့၏ ဗားရှင်းများနှင့် ကိုက်ညီမှုမရှိခြင်းကို ရှောင်ရှားရန် ကူညီပေးမည့် ပရောဂျက်။

သင့်အပလီကေးရှင်းသည် သီးခြား OS တစ်ခုပေါ်တွင် ထည့်သွင်းနိုင်သည့် စနစ်ကိရိယာများအပေါ်တွင်လည်း အားကိုးမနေသင့်ပါ။ ဤကိရိယာများကို မှီခိုမှုဖော်ပြမှုတွင်လည်း ကြေညာရပါမည်။ ကိရိယာများ၏ ဗားရှင်း (အပြင် ၎င်းတို့ရရှိနိုင်မှု) သည် OS တစ်ခု၏ စနစ်ကိရိယာများနှင့် မကိုက်ညီသည့် အခြေအနေများကို ရှောင်ရှားရန်အတွက် ၎င်းသည် လိုအပ်ပါသည်။

ထို့ကြောင့်၊ curl ကိုကွန်ပျူတာအားလုံးနီးပါးတွင်အသုံးပြုနိုင်သော်လည်း၊ အခြားပလက်ဖောင်းတစ်ခုသို့ပြောင်းရွှေ့သည့်အခါ၎င်းသည်ထိုနေရာတွင်မရှိနိုင် သို့မဟုတ် သင်မူလလိုအပ်သည့်ဗားရှင်းမဟုတ်သည့်အတွက်ကြောင့် ၎င်းအား မှီခိုမှုဖြင့်ကြေငြာသင့်ပါသည်။

ဥပမာအားဖြင့်၊ သင်၏ requirement.txt သည် ဤကဲ့သို့ဖြစ်နိုင်သည်-

# Model Building Requirements
numpy>=1.18.1,<1.19.0
pandas>=0.25.3,<0.26.0
scikit-learn>=0.22.1,<0.23.0
joblib>=0.14.1,<0.15.0

# testing requirements
pytest>=5.3.2,<6.0.0

# packaging
setuptools>=41.4.0,<42.0.0
wheel>=0.33.6,<0.34.0

# fetching datasets
kaggle>=1.5.6,<1.6.0

စည်းမျဉ်း 3- ဖွဲ့စည်းမှုများ

အမျိုးမျိုးသော developer ယောက်ျားများသည် AWS မှ စကားဝှက်များနှင့် အခြားသော့များဖြင့် အများသူငှာ သိုလှောင်ရာသို့ GitHub သို့ ကုဒ်ကို မတော်တဆ အပ်လုဒ်လုပ်သည့် ဇာတ်လမ်းများကို အများအပြား ကြားသိခဲ့ကြပြီး နောက်တစ်နေ့တွင် အကြွေးဒေါ်လာ ၆၀၀၀ သို့မဟုတ် ဒေါ်လာ ၅၀၀၀၀ ဖြင့် နိုးထလာခဲ့သည်။

စက်မှုစက်သင်ယူခြင်း- ဒီဇိုင်းအခြေခံမူ ၁၀ ချက်

ဟုတ်ပါတယ်၊ ဒီဖြစ်ရပ်တွေက လွန်ကဲတယ်၊ ဒါပေမယ့် အရမ်းသိသာတယ်။ အကယ်၍ သင်သည် ကုဒ်အတွင်း ဖွဲ့စည်းမှုပုံစံအတွက် လိုအပ်သော သင်၏အထောက်အထားများ သို့မဟုတ် အခြားဒေတာများကို သိမ်းဆည်းထားပါက သင်သည် မှားယွင်းနေပြီး အဘယ်ကြောင့်ဆိုသည်ကို ရှင်းပြရန်မလိုအပ်ပါ။

၎င်းအတွက် အခြားရွေးချယ်စရာတစ်ခုမှာ ပတ်၀န်းကျင် ကိန်းရှင်များထဲတွင် ဖွဲ့စည်းမှုပုံစံများကို သိမ်းဆည်းရန်ဖြစ်သည်။ ပတ်ဝန်းကျင် ကိန်းရှင်များအကြောင်း ပိုမိုဖတ်ရှုနိုင်ပါသည်။ ဒီမှာ.

ပတ်ဝန်းကျင် ကိန်းရှင်များတွင် သိမ်းဆည်းလေ့ရှိသော ဒေတာနမူနာများ-

  • ဒိုမိန်းအမည်များ
  • API URLs/URI များ
  • အများသူငှာနှင့် သီးသန့်သော့များ
  • အဆက်အသွယ်များ (မေးလ်၊ ဖုန်း၊ စသည်ဖြင့်)

ဤနည်းဖြင့် သင့် configuration variable များ ပြောင်းလဲပါက ကုဒ်ကို အဆက်မပြတ် ပြောင်းလဲရန် မလိုအပ်ပါ။ ၎င်းသည် သင့်အား အချိန်၊ ကြိုးစားအားထုတ်မှုနှင့် ငွေကြေးကို သက်သာစေမည်ဖြစ်သည်။

ဥပမာအားဖြင့်၊ သင်သည် စမ်းသပ်မှုများလုပ်ဆောင်ရန် Kaggle API ကို အသုံးပြုပါက (ဥပမာ၊ ဆော့ဖ်ဝဲကို ဒေါင်းလုဒ်လုပ်ပြီး မော်ဒယ်ကို ကောင်းစွာလည်ပတ်နေချိန်တွင် စမ်းသပ်ရန်အတွက် ၎င်းကိုအသုံးပြုပါက)၊ ထို့နောက် Kaggle မှ သီးသန့်သော့များဖြစ်သည့် KAGGLE_USERNAME နှင့် KAGGLE_KEY၊ ပတ်ဝန်းကျင် ကိန်းရှင်များတွင် သိမ်းဆည်းထားသည်။

စည်းမျဉ်း 4- Third Party ဝန်ဆောင်မှုများ

ဤနေရာတွင် အိုင်ဒီယာမှာ ကုဒ်စည်းကမ်းချက်များအရ ဒေသတွင်းနှင့် ပြင်ပအဖွဲ့အစည်း ရင်းမြစ်များကြား ကွာခြားမှုမရှိသော ပရိုဂရမ်ကို ဖန်တီးရန်ဖြစ်သည်။ ဥပမာအားဖြင့်၊ သင်သည် Local MySQL နှင့် Third-party တို့ကို ချိတ်ဆက်နိုင်သည်။ Google Maps သို့မဟုတ် Twitter API ကဲ့သို့သော API အမျိုးမျိုးအတွက် အလားတူပင်ဖြစ်သည်။

Third-party ဝန်ဆောင်မှုကို ပိတ်ရန် သို့မဟုတ် အခြားတစ်ခုကို ချိတ်ဆက်ရန်အတွက်၊ အထက်စာပိုဒ်တွင် ကျွန်တော်ပြောခဲ့သည့် Environment variables အတွင်းရှိ သော့များကို ပြောင်းလဲရန် လိုအပ်ပါသည်။

ထို့ကြောင့်၊ ဥပမာ၊ ကုဒ်အတွင်းရှိဒေတာအစုံပါသည့်ဖိုင်များဆီသို့ လမ်းကြောင်းကို တစ်ကြိမ်စီသတ်မှတ်ခြင်းအစား၊ pathlib စာကြည့်တိုက်ကိုအသုံးပြုပြီး config.py ရှိ datasets များသို့လမ်းကြောင်းကိုကြေငြာခြင်းက ပိုကောင်းသည်၊ သို့မှသာ သင်မည်သည့်ဝန်ဆောင်မှုကိုအသုံးပြုသည်ဖြစ်စေ (အတွက် ဥပမာ၊ CircleCI)၊ ပရိုဂရမ်သည် ဝန်ဆောင်မှုအသစ်ရှိ ဖိုင်စနစ်အသစ်၏ ဖွဲ့စည်းပုံကို ထည့်သွင်းစဉ်းစားပြီး ဒေတာအတွဲများဆီသို့ လမ်းကြောင်းကို ရှာဖွေနိုင်ခဲ့သည်။

နိယာမ 5. တည်ဆောက်၊ ထုတ်လွှတ်မှု၊ runtime

Data Science မှလူများစွာသည် ၎င်းတို့၏ဆော့ဖ်ဝဲလ်ရေးသားခြင်းစွမ်းရည်ကို မြှင့်တင်ရန် အသုံးဝင်သည်ဟု ယူဆကြသည်။ ကျွန်ုပ်တို့၏ပရိုဂရမ်ကို တတ်နိုင်သမျှ ပျက်ပြယ်သွားစေရန်နှင့် ဖြစ်နိုင်သမျှကာလပတ်လုံး ပျက်ကွက်မှုများမရှိဘဲ လုပ်ဆောင်လိုပါက၊ ဗားရှင်းအသစ်ကို ဖြန့်ချိခြင်းလုပ်ငန်းစဉ်ကို အဆင့် ၃ ဆင့်ခွဲရန် လိုအပ်သည်-

  1. ဇာတ်စင် စည်းဝေးပွဲများ. သင်သည် သင်၏ဗလာကုဒ်အားလုံးကို အရင်းအမြစ်တစ်ခုချင်းစီဖြင့် လိုအပ်သောကုဒ်နှင့် ဒေတာများပါရှိသော ပက်ကေ့ခ်ျဟုခေါ်သော ပက်ကေ့ခ်ျတစ်ခုအဖြစ်သို့ ပြောင်းလဲပါသည်။ ဤအထုပ်ကို စည်းဝေးပွဲဟုခေါ်သည်။
  2. ဇာတ်စင် လွှတ်ပေး — ဤနေရာတွင် ကျွန်ုပ်တို့၏ ပရိုဂရမ်ကို မထုတ်ပြန်နိုင်ဘဲ ကျွန်ုပ်တို့၏ config ကို စည်းဝေးပွဲသို့ ချိတ်ဆက်ပါသည်။ ယခု ဤအရာသည် စတင်ရန် အဆင်သင့်ဖြစ်နေပြီဖြစ်သည်။
  3. နောက်တစ်ခုက စင်ပေါ်ကို ရောက်လာတယ်။ ပြည့်စုံခြင်း။. ဤတွင် ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ထုတ်ဝေမှုမှ လိုအပ်သောလုပ်ငန်းစဉ်များကို လုပ်ဆောင်ခြင်းဖြင့် အပလီကေးရှင်းကို ထုတ်ပြန်သည်။

မော်ဒယ်တစ်ခု၏ ဗားရှင်းအသစ် သို့မဟုတ် ပိုက်လိုင်းတစ်ခုလုံးကို ဗားရှင်းအသစ်များထုတ်လွှတ်ခြင်းအတွက် ထိုကဲ့သို့သောစနစ်သည် သင့်အား စီမံခန့်ခွဲသူများနှင့် ဆော့ဖ်ဝဲအင်ဂျင်နီယာများအကြား အခန်းကဏ္ဍများကို ခွဲခြားနိုင်စေကာ ဗားရှင်းများကို ခြေရာခံနိုင်ပြီး ပရိုဂရမ်၏ မလိုလားအပ်သော ရပ်တန့်မှုများကို တားဆီးပေးနိုင်သည်။

ထုတ်ဝေခြင်းလုပ်ငန်းအတွက်၊ သင်သည် .yml ဖိုင်တစ်ခုတွင် သင်ကိုယ်တိုင်လုပ်ဆောင်ရန် လုပ်ငန်းစဉ်များကို ရေးသားနိုင်သည့် ကွဲပြားသောဝန်ဆောင်မှုများစွာကို ဖန်တီးထားသည် (ဥပမာ၊ CircleCI တွင် ၎င်းသည် လုပ်ငန်းစဉ်ကို ပံ့ပိုးရန် config.yml ဖြစ်သည်)။ Wheely သည် ပရောဂျက်များအတွက် ပက်ကေ့ဂျ်များကို ဖန်တီးရာတွင် ကောင်းမွန်သည်။

သင့်စက်သင်ယူမှုမော်ဒယ်၏ မတူညီသောဗားရှင်းများဖြင့် ပက်ကေ့ဂျ်များကို ဖန်တီးနိုင်ပြီး ၎င်းတို့ကို ထုပ်ပိုးကာ သင်ထိုနေရာမှ သင်ရေးသားထားသည့် လုပ်ဆောင်ချက်များကို အသုံးပြုရန်အတွက် လိုအပ်သော ပက်ကေ့ဂျ်များနှင့် ၎င်းတို့၏ဗားရှင်းများကို ကိုးကားနိုင်သည်။ ၎င်းသည် သင့်မော်ဒယ်အတွက် API တစ်ခုဖန်တီးရန် ကူညီပေးမည်ဖြစ်ပြီး၊ ဥပမာအားဖြင့် သင့်ပက်ကေ့ဂျ်ကို Gemfury တွင် ထားရှိနိုင်ပါသည်။

စည်းမျဉ်း 6. သင့်မော်ဒယ်ကို တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော လုပ်ငန်းစဉ်များအဖြစ် လုပ်ဆောင်ပါ။

ထို့အပြင်၊ လုပ်ငန်းစဉ်များတွင် မျှဝေထားသောဒေတာများ မရှိသင့်ပါ။ ဆိုလိုသည်မှာ၊ လုပ်ငန်းစဉ်များသည် သီးခြားစီရှိရမည်ဖြစ်ပြီး၊ ဥပမာ၊ သင်လိုအပ်သည့်အပေါ်မူတည်၍ MySQL သို့မဟုတ် အခြားဝန်ဆောင်မှုများကဲ့သို့ ပြင်ပဝန်ဆောင်မှုများတွင် သီးခြားစီရှိရမည်ဖြစ်ပြီး ဒေတာအမျိုးအစားအားလုံးသည် သီးခြားစီတည်ရှိရမည်ဖြစ်သည်။

ဆိုလိုသည်မှာ၊ ၎င်းသည် လုပ်ငန်းစဉ် ဖိုင်စနစ်အတွင်း ဒေတာကို သိမ်းဆည်းရန် မထိုက်တန်ပါ၊ သို့မဟုတ်ပါက ၎င်းသည် နောက်ထွက်ရှိ/ဖွဲ့စည်းပုံများ ပြောင်းလဲခြင်း သို့မဟုတ် ပရိုဂရမ်လည်ပတ်သည့်စနစ်၏ လွှဲပြောင်းမှုအတွင်း ဤဒေတာကို ရှင်းလင်းသွားစေနိုင်သည်။

သို့သော် ခြွင်းချက်တစ်ခုရှိသည်- စက်သင်ယူမှုပရောဂျက်များအတွက်၊ ဗားရှင်းအသစ်ကိုဖွင့်တိုင်း ၎င်းတို့ကို ထပ်မံထည့်သွင်းသည့်အခါတိုင်း ၎င်းတို့ကို ပြန်လည်ထည့်သွင်းခြင်းမပြုမိစေရန်အတွက်၊ အပိုဒစ်ဂျစ်တိုက်များ သို့မဟုတ် ၎င်းတို့၏ဗားရှင်းများတွင် ပြောင်းလဲမှုတစ်စုံတစ်ရာပြုလုပ်ထားခြင်းမရှိဘဲ ၎င်းတို့ကို ပြန်လည်ထည့်သွင်းသည့်အခါတိုင်းတွင် သိမ်းဆည်းနိုင်ပါသည်။ ဤနည်းအားဖြင့်၊ လုပ်ငန်းနယ်ပယ်တွင် သင့်မော်ဒယ်ကို စတင်ရန် လိုအပ်သည့်အချိန်ကို လျှော့ချနိုင်မည်ဖြစ်သည်။

မော်ဒယ်ကို လုပ်ငန်းစဉ်များစွာအဖြစ် လုပ်ဆောင်ရန်၊ လိုအပ်သော လုပ်ငန်းစဉ်များနှင့် ၎င်းတို့၏ အစီအစဉ်များကို သတ်မှတ်ပေးသည့် .yml ဖိုင်ကို သင်ဖန်တီးနိုင်သည်။

စည်းမျဉ်း 7- ပြန်လည်အသုံးပြုနိုင်ခြင်း။

သင်၏ မော်ဒယ် အပလီကေးရှင်းတွင် လုပ်ဆောင်သည့် လုပ်ငန်းစဉ်များသည် စတင်ရန်နှင့် ရပ်တန့်ရန် လွယ်ကူသင့်သည်။ ထို့ကြောင့်၊ ၎င်းသည် သင့်အား ကုဒ်ပြောင်းလဲမှုများ၊ ဖွဲ့စည်းမှုဆိုင်ရာပြောင်းလဲမှုများ၊ လျင်မြန်စွာနှင့် လိုက်လျောညီထွေဖြစ်အောင် စကေးကို လျင်မြန်စွာအသုံးပြုနိုင်ရန်နှင့် အလုပ်လုပ်သည့်ဗားရှင်း၏ ဖြစ်နိုင်ချေပြိုကွဲမှုများကို ကာကွယ်နိုင်မည်ဖြစ်သည်။

ဆိုလိုသည်မှာ၊ မော်ဒယ်နှင့်အတူ သင်၏ လုပ်ငန်းစဉ်သည်-

  • စတင်ချိန်ကို လျှော့ပါ။ အကောင်းဆုံးမှာ၊ စတင်ချိန် (စတင်သည့်အမိန့်ကို ထုတ်ပြန်သည့်အချိန်မှ လုပ်ငန်းစဉ်စတင်သည့်အချိန်အထိ) သည် စက္ကန့်အနည်းငယ်ထက် မပိုသင့်ပါ။ အထက်တွင်ဖော်ပြထားသော Library caching သည် startup time ကိုလျှော့ချရန်နည်းလမ်းတစ်ခုဖြစ်သည်။
  • အကုန်မှန်တယ်။ ဆိုလိုသည်မှာ၊ ဝန်ဆောင်မှုပို့တ်တွင် နားထောင်ခြင်းကို အမှန်တကယ် ဆိုင်းငံ့ထားပြီး၊ ဤဆိပ်ကမ်းသို့ တင်သွင်းသည့် တောင်းဆိုချက်အသစ်များကို လုပ်ဆောင်မည်မဟုတ်ပါ။ ဤနေရာတွင် သင်သည် DevOps အင်ဂျင်နီယာများနှင့် ကောင်းမွန်သော ဆက်သွယ်မှုကို တည်ဆောက်ရန် လိုအပ်သည် သို့မဟုတ် ၎င်းသည် သင်ကိုယ်တိုင် မည်သို့အလုပ်လုပ်သည်ကို နားလည်ရန် လိုအပ်သည် (ဖြစ်နိုင်သည်မှာ၊ သေချာသည်မှာ၊ နောက်ပိုင်းတွင်၊ မည်သည့်ပရောဂျက်တွင်မဆို ဆက်သွယ်ရေးကို အမြဲထိန်းသိမ်းထားသင့်ပါသည်။)

စည်းမျဉ်း 8- စဉ်ဆက်မပြတ် ဖြန့်ကျက်မှု/ပေါင်းစပ်ခြင်း။

ကုမ္ပဏီများစွာသည် အပလီကေးရှင်းဖွံ့ဖြိုးတိုးတက်ရေးနှင့် အသုံးချရေးအဖွဲ့များအကြား ခွဲခြားမှုကို အသုံးပြုသည် (အပလီကေးရှင်းကို သုံးစွဲသူများထံ ရရှိစေခြင်း)။ ၎င်းသည် ဆော့ဖ်ဝဲလ်ဖွံ့ဖြိုးတိုးတက်မှုကို နှေးကွေးစေပြီး ၎င်းကို ပိုမိုကောင်းမွန်အောင် လုပ်ဆောင်နိုင်သည်။ ၎င်းသည် အကြမ်းဖျင်းအားဖြင့်ပြောရလျှင် ပေါင်းစပ်ထားသော DevOps ယဉ်ကျေးမှုကိုလည်း ပျက်စီးစေသည်။

ထို့ကြောင့်၊ ဤနိယာမအရ သင်၏ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်သည် သင်၏ထုတ်လုပ်မှုပတ်ဝန်းကျင်နှင့် အနီးစပ်ဆုံးဖြစ်သင့်သည်ဟု ဖော်ပြထားသည်။

၎င်းသည်-

  1. ထုတ်လွှတ်ချိန်ကို ဆယ်ဂဏန်းဖြင့် လျှော့ချပါ။
  2. ကုဒ်နှင့် ကိုက်ညီမှု မရှိခြင်းကြောင့် အမှားအယွင်း အရေအတွက်ကို လျှော့ချပါ။
  3. ဆော့ဖ်ဝဲကိုအသုံးပြုသည့် developer များနှင့် application ကိုအသုံးပြုနေသူများသည်ယခုအဖွဲ့တစ်ဖွဲ့ဖြစ်သောကြောင့်၊ ၎င်းသည်ဝန်ထမ်းများအတွက်အလုပ်တာဝန်ကိုလည်းလျှော့ချပေးသည်။

၎င်းနှင့်အလုပ်လုပ်ရန်သင့်အားခွင့်ပြုသည့်ကိရိယာများမှာ CircleCI၊ Travis CI၊ GitLab CI နှင့်အခြားအရာများဖြစ်သည်။

မော်ဒယ်တွင် အပိုထပ်ဆောင်းမှုများကို လျင်မြန်စွာ ပြုလုပ်နိုင်သည်၊ ၎င်းကို အပ်ဒိတ်လုပ်ပြီး ချက်ချင်းဖွင့်နိုင်သော်လည်း၊ ပျက်ကွက်မှုများတွင်၊ အလုပ်လုပ်သည့်ဗားရှင်းသို့ အလွန်လျင်မြန်စွာ ပြန်သွားရန် လွယ်ကူမည်ဖြစ်ပြီး၊ အသုံးပြုသူသည် ၎င်းကိုပင် သတိမထားမိစေရန် ပြုလုပ်နိုင်သည်။ သင့်တွင် စစ်ဆေးမှုကောင်းများရှိပါက အထူးသဖြင့် လွယ်ကူလျင်မြန်စွာ လုပ်ဆောင်နိုင်ပါသည်။

ကွဲပြားမှုကို လျှော့ချပါ!!!

အခြေခံမူ ၉။ သင်၏မှတ်တမ်းများ

မှတ်တမ်းများ (သို့မဟုတ် "မှတ်တမ်းများ") သည် အက်ပလီကေးရှင်းအတွင်း ဖြစ်ပေါ်သည့် စာသားဖော်မတ်ဖြင့် မှတ်တမ်းတင်ထားသော ဖြစ်ရပ်များဖြစ်သည်။ ရိုးရှင်းသော ဥပမာ- "2020-02-02 - စနစ်အဆင့် - လုပ်ငန်းစဉ်အမည်။" ပရိုဂရမ်လည်ပတ်နေချိန်တွင် ၎င်းတို့ကို ဆော့ဖ်ဝဲရေးသားသူက စာသားအတိုင်းမြင်နိုင်စေရန် ၎င်းတို့ကို ဒီဇိုင်းထုတ်ထားသည်။ လုပ်ငန်းစဉ်များ၏ တိုးတက်မှုကို မြင်ပြီး ၎င်းသည် ဆော့ဖ်ဝဲရေးသားသူကိုယ်တိုင် ရည်ရွယ်ထားသည့်အတိုင်း ဖြစ်မဖြစ်ကို နားလည်သည်။

ဤနိယာမအရ သင့်မှတ်တမ်းများကို သင့်ဖိုင်စနစ်အတွင်း၌ မသိမ်းဆည်းသင့်ပါ - ၎င်းတို့အား မျက်နှာပြင်သို့သာ “ထုတ်ပေး” သင့်သည်၊ ဥပမာ၊ စနစ်၏စံနှုန်းဖြင့် ဤအရာကို လုပ်ဆောင်ပါ။ ဤနည်းအားဖြင့် ဖွံ့ဖြိုးတိုးတက်မှုကာလအတွင်း terminal အတွင်းရှိစီးဆင်းမှုကို စောင့်ကြည့်ရန် ဖြစ်နိုင်မည်ဖြစ်ပါသည်။

မှတ်တမ်းများကို သိမ်းဆည်းရန် လုံးဝမလိုအပ်ဟု ဆိုလိုပါသလား။ ဘယ်ဟုတ်မလဲ။ သင်၏ အက်ပ်လီကေးရှင်းသည် ၎င်းကို ပြင်ပဝန်ဆောင်မှုများထံ ထားခဲ့ပါ။ သင့်အပလီကေးရှင်းသည် အချိန်နှင့်တစ်ပြေးညီကြည့်ရှုရန်အတွက် သီးခြားဖိုင် သို့မဟုတ် ဂိတ်တစ်ခုသို့သာ မှတ်တမ်းများကိုသာပေးပို့နိုင်သည်၊ သို့မဟုတ် ၎င်းကို ယေဘုယျရည်ရွယ်ချက်ဒေတာသိုလှောင်မှုစနစ် (Hadoop ကဲ့သို့သော) သို့ပေးပို့နိုင်သည်။ သင့်အပလီကေးရှင်းကိုယ်တိုင်က မှတ်တမ်းများနှင့် သိမ်းဆည်းခြင်း သို့မဟုတ် အပြန်အလှန်တုံ့ပြန်ခြင်းမပြုသင့်ပါ။

စည်းမျဉ်း 10. စမ်းသပ်ပါ။

စက်မှုလုပ်ငန်းသုံး စက်သင်ယူခြင်းအတွက်၊ ဤအဆင့်သည် အလွန်အရေးကြီးပါသည်၊ မော်ဒယ်သည် မှန်ကန်စွာ အလုပ်လုပ်ပြီး သင်အလိုရှိရာကို ထုတ်ပေးကြောင်း နားလည်ရန် လိုအပ်ပါသည်။

စမ်းသပ်မှုများကို pytest သုံးပြီး ဖန်တီးနိုင်ပြီး သင့်တွင် ဆုတ်ယုတ်မှု/အမျိုးအစားခွဲခြားခြင်းလုပ်ဆောင်စရာတစ်ခုရှိပါက ဒေတာအတွဲငယ်ကို အသုံးပြု၍ စမ်းသပ်နိုင်သည်။

မတူညီသောရလဒ်များကို အဆက်မပြတ်မထုတ်နိုင်အောင် နက်နဲသောသင်ယူမှုပုံစံများအတွက် တူညီသောမျိုးစေ့ကို သတ်မှတ်ရန် မမေ့ပါနှင့်။

ဤသည်မှာ အခြေခံမူ ၁၀ ချက်၏ အကျဉ်းချုပ်ဖော်ပြချက်ဖြစ်ပြီး၊ ၎င်းတို့ မည်သို့လုပ်ဆောင်သည်ကို မကြည့်ဘဲ ၎င်းတို့ကို အသုံးပြုရန် ခက်ခဲသောကြောင့်၊ ဤဆောင်းပါးသည် မည်သို့ဖန်တီးရမည်ကို ဖော်ပြမည့် စိတ်ဝင်စားဖွယ်ဆောင်းပါးအတွဲလိုက်အတွက် ဤဆောင်းပါးသည် စကားတစ်ခွန်းမျှသာ ဖြစ်ပါသည်။ စက်မှုလုပ်ငန်းသုံး စက်သင်ယူမှုပုံစံများ၊ ၎င်းတို့ကို စနစ်များတွင် မည်သို့ပေါင်းစပ်ရမည်နည်း၊ ဤအခြေခံမူများသည် ကျွန်ုပ်တို့အားလုံးအတွက် ဘဝပိုမိုလွယ်ကူစေနိုင်ပုံ။

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

source: www.habr.com

မှတ်ချက် Add