<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Thet Khine on Medium]]></title>
        <description><![CDATA[Stories by Thet Khine on Medium]]></description>
        <link>https://medium.com/@thetkhine?source=rss-1af4c3bc5033------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/0*JmmbNpDC59F_tdV6.</url>
            <title>Stories by Thet Khine on Medium</title>
            <link>https://medium.com/@thetkhine?source=rss-1af4c3bc5033------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 06:38:34 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@thetkhine/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Skill ပိုင်းအရ ထူးထူးချွှန်ချွှန်ဖြစ်မလာနိုင်တဲ့ (ဖြစ်လဲမလာတဲ့သူတွေ) လိုက်ကြည့်ဖြစ်တော့ တူတာတွေ…]]></title>
            <link>https://thetkhine.medium.com/skill-%E1%80%95%E1%80%AD%E1%80%AF%E1%80%84%E1%80%BA%E1%80%B8%E1%80%A1%E1%80%9B-%E1%80%91%E1%80%B0%E1%80%B8%E1%80%91%E1%80%B0%E1%80%B8%E1%80%81%E1%80%BB%E1%80%BD%E1%80%BE%E1%80%94%E1%80%BA%E1%80%81%E1%80%BB%E1%80%BD%E1%80%BE%E1%80%94%E1%80%BA%E1%80%96%E1%80%BC%E1%80%85%E1%80%BA%E1%80%99%E1%80%9C%E1%80%AC%E1%80%94%E1%80%AD%E1%80%AF%E1%80%84%E1%80%BA%E1%80%90%E1%80%B2%E1%80%B7-%E1%80%96%E1%80%BC%E1%80%85%E1%80%BA%E1%80%9C%E1%80%B2%E1%80%99%E1%80%9C%E1%80%AC%E1%80%90%E1%80%B2%E1%80%B7%E1%80%9E%E1%80%B0%E1%80%90%E1%80%BD%E1%80%B1-%E1%80%9C%E1%80%AD%E1%80%AF%E1%80%80%E1%80%BA%E1%80%80%E1%80%BC%E1%80%8A%E1%80%B7%E1%80%BA%E1%80%96%E1%80%BC%E1%80%85%E1%80%BA%E1%80%90%E1%80%B1%E1%80%AC%E1%80%B7-%E1%80%90%E1%80%B0%E1%80%90%E1%80%AC%E1%80%90%E1%80%BD%E1%80%B1-6ea4ac653356?source=rss-1af4c3bc5033------2</link>
            <guid isPermaLink="false">https://medium.com/p/6ea4ac653356</guid>
            <dc:creator><![CDATA[Thet Khine]]></dc:creator>
            <pubDate>Sat, 25 Oct 2025 11:53:14 GMT</pubDate>
            <atom:updated>2025-10-25T11:53:14.461Z</atom:updated>
            <content:encoded><![CDATA[<p>Skill ပိုင်းအရ ထူးထူးချွှန်ချွှန်ဖြစ်မလာနိုင်တဲ့ (ဖြစ်လဲမလာတဲ့သူတွေ) လိုက်ကြည့်ဖြစ်တော့ တူတာတွေ သွားတွေ့ရတယ်။</p><p>၁ -self responsibility မရှိတာ ဒါက ပညာပဲလေ့လာလေ့လာ အလုပ်ပဲလုပ်လုပ် ဘယ်နေရာဖြစ်ဖြစ်အရေးကြီးတယ်။ မြန်မာ culture ဆိုရမလားပဲ။ ငယ်ငယ်ကတည်းက ဘာမှ ကိုယ်တိုင် ကြိုးစားအားထုတ်ရမယ် ဘယ်သူ့မှ အားမကိုးရဘူး ။ ကိုယ့်ဖို့ ကိုယ်သာလျှင်တာဝန်ရှိတယ်လို့ မခံစားရသမျှ ဘယ်သူကမှ ကယ်လို့မရဘူး။ ဘယ်သူမှလဲ ကယ်နိုင်မယ်မဟုတ်ဘူး။ ကိုယ့်ဟာကိုယ်တောင် မထူနိုင်တာ သူများကထူလဲ ထနိုင်မှာမဟုတ်ဘူး ဒီသဘောပြောတာ။ ဘာမဆို သူများအားကိုးနေတာ တခုခုမှာဖြစ်မလာရင် ကိုယ့်အားနည်းချက်မဟုတ်တာ scape goat လုပ်တာဟာ တော်တော်ဆိုးတယ်။ Messenger မှာလာမေးဖူးတယ် ‌Computer Science လေ့လာချင်တာတဲ့။ အဲ့တာရေးထားတာရှိတယ် ပိုစ့်တွေဖတ်ကြည့်ပေါ့လို ဆိုတော့ ကျနော့်ဘယ်သူကသင်ပေးမှာလဲဆိုပြီး ပြန်မေးတယ်။ ကိုယ်မွေးထားတဲ့သားတောင် အဲ့တာတွေ ကိုယ်ပြန်သင်ပေးမယ်လို့ အာမမခံနိုင်ဘူးရယ်။</p><p>၂-‌ နောက်တခုက adaptability မရှိတာ။ ဒါကတော့ အဖွဲ့အစည်း လုပ်ငန်းတခုမှာ ‌နှစ်တော်တော်များများနေခဲ့ပြီးပြီ ရာထူးတခု သက်တမ်းအရပေးထားပြီ။ ဒါမျိုးဆို မလှုပ်မရှုပ်မပြုတ်နဲ့။ ဘာမှလဲထူးပြီးလိုက်မလေ့လာတော့ ကျန်ခဲ့တာကိုပြောတာ။ တသက်လုံး web developer , web stack လောက်ကပဲ တက်မလာမဲ့သူတွေလဲ မြင်ဖူးတယ်။ အဓိက အချက်က ကိုယ်သိတာသည် ပြည့်စုံတယ် လုံလောက်တယ်ထင်တာ။ အဓိက အသက်မွေးလို့ရတယ်။ ကိစ္စမရှိဘူး။ အဲ့တော့သိဖို့လဲ မလိုဘူးထင်တာ။</p><p>၃- passion မရှိတာ။တချို့ကျတော့ လူအထင်ကြီးခံချင်တယ် self esteem အရ လူများတွေ လေးစားတာလိုချင်တယ်။ သူများသိတယ်တတ်တယ်ထင်တာခံချင်တယ် ။ အဲ့ထက်ပိုမလာဘူး။ အဲ့တော့ တကယ်သိချင်တတ်ချင်စိတ် မရှိဘူး။ တတ်ချင်တယ်ဆိုတောင် လေ့လာနိုင်ဖို့ စိတ် ဇွဲမရှိဘူး အဲ့တော့ အဲ့ကနေ ဘယ်မှရောက်မလာဘူး။</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6ea4ac653356" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[2024 မှာ developer တွေအနေနဲ့ဘာတွေလေ့လာထားသင့်သလဲပေါ့။]]></title>
            <link>https://thetkhine.medium.com/2024-%E1%80%99%E1%80%BE%E1%80%AC-developer-%E1%80%90%E1%80%BD%E1%80%B1%E1%80%A1%E1%80%94%E1%80%B1%E1%80%94%E1%80%B2%E1%80%B7%E1%80%98%E1%80%AC%E1%80%90%E1%80%BD%E1%80%B1%E1%80%9C%E1%80%B1%E1%80%B7%E1%80%9C%E1%80%AC%E1%80%91%E1%80%AC%E1%80%B8%E1%80%9E%E1%80%84%E1%80%B7%E1%80%BA%E1%80%9E%E1%80%9C%E1%80%B2%E1%80%95%E1%80%B1%E1%80%AB%E1%80%B7-c01af3358f42?source=rss-1af4c3bc5033------2</link>
            <guid isPermaLink="false">https://medium.com/p/c01af3358f42</guid>
            <dc:creator><![CDATA[Thet Khine]]></dc:creator>
            <pubDate>Sat, 23 Dec 2023 15:55:15 GMT</pubDate>
            <atom:updated>2023-12-23T15:55:15.041Z</atom:updated>
            <content:encoded><![CDATA[<p>2023 Stackoverflow developer survey ထွက်လာပြီ။ ဒါကိုကြည့်ပြီး ဘာတွေ ပြင်ဆင် ဘာတွေ လိုက်လို့ရမလဲဆိုတာသိစေချင်တာ။</p><p>Popular technology ထဲမှာ JS ကထိပ်ဆုံးက၊ JS, HTML-CSS,Python, TypeScript, SQL အစဉ်အလိုက်ဆိုရင်။ ဘာကြောင့်ဖြစ်ရသလဲဆိုတော့ backend ဘာပဲသုံးသုံး frontend ကတော့ JS HTML-CSS ပါရတယ်။ နောက် ဘယ် application ရေးရေး ဘယ် backend သုံးသုံး database ကတော့ပါစမြဲပဲ အဲ့တော့ SQL ကပါရတယ်။ မဖြစ်မနေသိသင့်တယ်လို့ဆိုချင်တာ။ JS အစား TypeScript ပြောင်းလာတဲ့အတွက် large scale app တွေမှာ ဖြစ်တဲ့ trend ကိုပြနေတာ။</p><p>JS, HTML-CSS,Python, TypeScript, SQL‌နောက်မှာ beanshell ပြီးရင် Java ဆိုချင်တာက enterprise သုံးတဲ့ language တွေထဲ Java ကထိပ်ကပဲ။ Python လဲပါတယ်ဆိုရမယ်။ ဒါပေသိ enterprise ဘက်ကျတော့ python ကအားနည်းတယ်။ အဓိက shine ဖြစ်တာ AI related ဖြစ်တဲ့နေရာတွေမှာ ဒါကြောင့် Python အဲ့နေရာရောက်နေတာပြောရမယ်။</p><p>ဆိုတော့ကာ enterprise လုပ်တော့မယ်ဆိုရင် Java လို့ဆိုရမယ်။ Java နောက်မှာ C# လိုက်လာတယ်။</p><p>ကမ္ဘာကြည့်ကြည့်မယ် ကိုယ်က ဘယ်နိုင်ငံမှာ လုပ်ချင်သလဲ ဈေးကွက်ဘယ်လိုရှိသလဲဆိုတာ ချိန်ဖို့လိုတယ်။</p><p>Learning အနေနဲ့ online resources သုံးတာပိုများတယ်၊ book က ဒုတိယလိုက်တယ်။</p><p>Database မှာ Postgres, MySQL, SQLlite, MongoDB — ပထမ ၃ ခုက RDBMS (postrgres ကတော့ တခြားRDBMS မှာမပါတာတွေသုံးလို့ရတယ်) နောက်တခုက NoSQL (MongoDB) အဲ့တော့ SQL သင်ပြီးရင် MongoDB သင်အဲ့လိုသဘောယူလို့ရတယ်။</p><p>Cloud ဘက်မှာ AWS (သူက percentage တော်တော်များတယ်) ပြီးမှ Azure, နောက် Google cloud.</p><p>WebFramework တွေမှာ Node.js, React, jQuery, Express, Angular, Next.js အစဉ်အတိုင်း ။ Node.js +Express က backend တတွဲ ဖြစ်တယ်။ React+ Next.js က same stack ဖြစ်တယ်။ ဆိုချင်တာက Backend မှာ JS သုံးရင် Express.js လေ့လာ frontend ပိုင်းဆို JS+Next.js ပဲ။ အဲ့တော့ကိုယ်သင်နေတဲ့ JS+React အတန်းဆို ခုနက ၄ ခုကကွက်တိပဲ။ MongoDB ပါသေးတယ်။</p><p>Other tool တွေမှာဆို docker, npm, pipe ,homebrew,yan အစဉ်အလိုက်၊ Docker ကိုပြချင်းအားဖြင့် လက်ရှိ development တွေမှာ မသိမဖြစ် ဆိုတာမျိုး docker-k8s ကိုနားလည်ထားသင့်တယ်ဆိုတာမျိုး။ npm-yarn ကတော့ Node.js, JS based frontend development , backend development တွေအတွက်သုံးတာ။</p><p>နောက် Project management tool တွေကတော့ Jira, နဲ့ confluence ပေါ့။</p><p>ထူးခြားချက် လစာအကောင်းဆုံး language တွေကတော့ Functional programming language တွေပဲ ဒါကလဲဖြစ်သင့်တယ်။ အတော်စားတာကိုး။</p><p>Rust ကတော့ Admired အဖြစ်ဆုံးပြောတယ်။ ဒါပေသိ adoption အရ လူနည်းတယ်။ နောက် system programming language ဖြစ်တယ်။ daily life မှာ development အတွက် သာမာန် application တွေဖို့ adopt မလုပ်ကြသေးဘူး ဒါကို သဘောပေါက်ဖို့လိုတယ်။</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c01af3358f42" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Self study ဘယ်လိုလုပ်မလဲပေါ့။]]></title>
            <link>https://thetkhine.medium.com/self-study-%E1%80%98%E1%80%9A%E1%80%BA%E1%80%9C%E1%80%AD%E1%80%AF%E1%80%9C%E1%80%AF%E1%80%95%E1%80%BA%E1%80%99%E1%80%9C%E1%80%B2%E1%80%95%E1%80%B1%E1%80%AB%E1%80%B7-ac36feee1c43?source=rss-1af4c3bc5033------2</link>
            <guid isPermaLink="false">https://medium.com/p/ac36feee1c43</guid>
            <category><![CDATA[learning]]></category>
            <dc:creator><![CDATA[Thet Khine]]></dc:creator>
            <pubDate>Thu, 10 Jun 2021 08:20:42 GMT</pubDate>
            <atom:updated>2021-06-10T08:20:42.180Z</atom:updated>
            <content:encoded><![CDATA[<p>Computer Science အကြောင်း programming အကြောင်းဆိုပေမဲ့ အခြားသူတွေဖို့လဲအသုံးဝင်မယ်ထင်ပါတယ်။</p><p>၁ ပထမဆုံး ဘာကို study ချင်တာလဲဆိုတဲ့ goal ပေါ့။ ဖြစ်နိုင်တဲ့ဟာကိုလုပ်လို့ပြောတာ။ ဥပမာ ကိုယ်ကဖြင့် programming languageတွေအကြောင်း နားမလည်သေးဘူး ဆိုရင် Compiler တွေရေးမယ်ဆိုတာဖြစ်လာနိုင်မှာမဟုတ်ဘူး။</p><p>အဲ့တော့လုပ်ရင် မဖြစ်လာနိုင်တော့ စိတ်ပျက်ပြီးလစ်သွားတာပဲအဖတ်တင်မယ်။ အဲ့တော့ဖြစ်နိုင်တာလေးကစပေါ့။ ဖြေးဖြေးချင်း။</p><p>၂ နောက် learning path ကို ရှာပေါ့။ ဆိုချင်တာက ဒါကိုလေ့လာဖို့ ဘာတွေလိုသလဲ။</p><p>အခြေခံတွေကဘာလဲ။ ဘာပြီးရင်ဘာလေ့လာရမလဲ။ ဘယ်ဟာတွေ ဖတ်ရမလဲ။ Roadmap လိုကောင်ပေါ့။</p><p>ဥပမာ Android လုပ်မယ်ဆိုရင် ကိုယ်က Android ဖို့လိုတဲ့ Java, Kotlin ရပြီလား။ ဒါဆိုခုနက နံပါတ် ၁ကပြန်စရမှာ။</p><p>၃ Learning material တွေရှာပါ။ ဥပမာစာအုပ် Video, tutorial site တွေ ebook download site တွေ software တွေ အစရှိသဖြင့်ပေါ့။</p><p>၄ တယောက်နဲ့တယောက်က learning လုပ်ပုံခြင်းမတူဘူး။ တချို့က စာဖတ်တယ်။ တချို့က video tutorial တွေကြည့်တယ်။ တချို့က How to တွေနဲ့အဆင်ပြေတယ်။</p><p>၅ တကယ်အနှစ်သာရသိသိ လေ့လာဖို့ကျတော့ ခုနက How to ဆိုတာထက် ဒါက ဘာလို့သုံးတာလဲ ဘာအကျိုးရှိလို့လဲ ဘယ်နေရာမှာသုံးသင့်တာလဲ မသုံးရင်ဘာဖြစ်မလဲ သုံးရင်ဘာဖြစ်မလဲစတာတွေကို မေးခွန်းထုတ်ပြီးပြန်လေ့လာပါ။</p><p>၆ ဆက်စပ်နေတာတွေကိုသိအောင်လုပ်ပါ၊ ဥပမာ JWT သုံးမယ်ဆိုရင် Authentication ဆိုတာဘာလဲ။ Hash ဆိုတာဘာလဲ။ Token based Authentication ဘာလို့သုံးတာလဲ။ ဘာကောင်းလို့လဲ ။ တခြားဟာတွေကဘာအားနည်းတာလဲ။ JWT ကဘာတွေပိုကောင်းတာလဲ ဒါတွေသိဖို့လုပ်ပါ။</p><p>၇ လက်တွေ့အသုံးချကြည့်ပါ။ Learning by doing ပေါ့။</p><p>၈ တကယ့် theorical background တွေမှာဖတ်လိုက်တိုင်းနားလည်မှာမဟုတ်ဘူး ။ဘာလို့ဆိုတော့ကိုယ့်မှာ နားလည်နိုင်တဲ့အခြေခံမပြည့်သေးလို့ဖြစ်တယ်။</p><p>ဒါဆိုလိုတဲ့ဟာတွေလိုက်ဖြည့်ပါ။ နောက်တခုက စာဖတ်တဲ့အခါ ကိုယ်နဲ့ ကိုက်ရာစာအုပ်ကို ရွေးဖတ်ဖို့ပါ။ ဆိုချင်တာက ကိုယ်နားမလည်တဲ့ level ကိုသွားဖတ်တာသည်အဆင်မပြေဘူးပြောတာ။</p><p>တဖြည်းဖြည်းနဲ့ နားလည်တဲ့ level ကိုမြှင့်ယူပါ။ စာဘယ်လိုဖတ်ရမလဲကို ဒီမှာရေးပေးထားပါတယ်။</p><p><a href="https://www.facebook.com/thet.khine.587/posts/10205779244319863?__cft__[0]=AZU-XdYQZW7VdvyBYYuEk3QeS9_rTb-kwZZ4NyA-65Ux6H11LlQ-JHQ8EQA447ICEhGWdsJUHs2TsHmvQtnZRJElt_nISp8trA38VaNrH9C0lSLnHZDYGlK3hIu8NVF-eS0&amp;__tn__=-UK-R">https://www.facebook.com/thet.khine.587/posts/10205779244319863</a></p><p>၉။ ကိုယ်သိပြီးသားတွေကို microsopic level ဖြစ်အောင်ခွဲချပါ။ Refine ပြန်လုပ်ပါ။ဆိုချင်တာက အရင်က variable ဆိုတာ memory မှာ တန်ဖိုးတွေသိမ်းတာဆိုတာလောက်သိမယ်။ အသေးစိတ်ချဲ့ရင် variable အကြောင်း ၁ နာရီ ၂ နာရီထိုင်ပြောရင်တောင်မပြီးတဲ့အဆင့်ဖြစ်အောင် နားလည်အောင်လုပ်တာမျိုး။</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ac36feee1c43" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Beginner Developer Survival Guide.]]></title>
            <link>https://thetkhine.medium.com/beginner-developer-survival-guide-db02a28225f9?source=rss-1af4c3bc5033------2</link>
            <guid isPermaLink="false">https://medium.com/p/db02a28225f9</guid>
            <dc:creator><![CDATA[Thet Khine]]></dc:creator>
            <pubDate>Wed, 13 Jan 2021 16:26:14 GMT</pubDate>
            <atom:updated>2021-01-13T16:26:14.436Z</atom:updated>
            <content:encoded><![CDATA[<p>တိုင်ပတ်နေတာတွေ မဖြစ်အောင် ဒါတွေဆောင်သင့်ပါတယ်။</p><p>၁ Programmer တွေဖို.အရေးကြီးဆုံး language က English ပါ။ သူ.ကိုနားလည်ရင် Google ကနေ ခေါက်ပြီး tutorial တွေ blog တွေကောင်းကောင်းဖတ်လို.ရပါပြီ။</p><p>၂ ကိုယ်လိုချင်တဲ့ resources တွေဘယ်မှာ ရှာရမလဲသိအောင်လုပ်ပါ။ ဥပမာ Google ကနေ tutotrial ,learning blog တွေ ရှာလို.ရပါတယ်။ libgen.io, pdfdrive အဲ့လို site တွေကနေ ebook တွေ အခမဲ့ဒေါင်းလို.ရပါတယ်။</p><p>၃ Google ကိုကောင်းကောင်း အသုံးချတတ်အောင်လုပ်ပါ။ ဘယ်လို keyword တွေနဲ.ရှာရမလဲ။ ဒီ keyword နဲ.အဆင်မပြေရင် ဘယ် keyword သုံးလို.ရမလဲဆိုတာမျိုးတွေပေါ့။</p><p>၄ ဆိုင်ရာ Programming Language community တွေဥပမာ JavaScript ဆို Mozilla developer network အစရှိတာတွေ ကိုရှာထားပါ။</p><p>၅. Stackoverflow ကိုသုံးတတ်အောင်လုပ်ပါ။ ကိုယ်သိချင်တဲ့ Programmig issue ကိုမေးထားတာဖြစ်ဖို.များပါတယ်။ အဲ့မှာ တခါတည်း အဖြေသိနိုင်ပါတယ်. အဖြေမရှိရင် မေးခွန်းမေးတတ်အောင်လုပ်််််ပါ။</p><p>၆ မေးခွန်းမေးတတ်အောင်ဆိုတာ ကိုယ်က ဘာမှမလုပ်ပဲ သားကို လေ SQL အကြောင်းရှင်းပြပါဆို ထရိုက်တာမျိုးခံရပါလိမ့်မယ်။ ကိုယ့်ဘက်က ဘာတွေအားထုတ်ထားပြီး ဘယ်နေရာမှာ တစ်နေတာလဲ ဆိုတာမျိုးကို ပြောပြီးမေးရမှာပါ။ မသိမေး မစင်ဆေးဆိုပြီး ဘာမှမသိပဲဲ ဘာမှ မလုပ်ပဲထိုင်မေးလို.မရပါဘူး။</p><p>၇ Mentor ကောင်းကောင်းကိုရှာပါ။ ဟတ်ချလောင်း ၂ လလောက်နဲ. Professional တို. Super star တို.ဖြစ်အောင် လုပ်ပေးနိုင်တာတွေ မရှိပါ။ လုပ်ပေးနိုင်ရင်လဲ Professinoal သောက်ပေါ တို. သောက်ပေါ super star တို.ဖြစ်ပါလိမ့်မယ်.</p><p>၈ Github ကိုသုံးတတ်အောင်လုပ်ပါ။ အဲ့မှာ source code တွေကို ရှာလို.ရပါလိမ့်မယ်။ နောက် တခြား CodeProject လို site တွေလဲသုံးတတ်အောင်လုပ်ပါ။</p><p>၉ Language , API , Framework documentation တွေဖတ်တတ်အောင်လုပ်ပါ။</p><p>၁၀ Blog တွေ short tutorial တွေအစား စာအုပ်တွေကို အားကိုးပါ။</p><p>၁၁ ကိုယ့်တာဝန်ကိုယ်ယူပါ ကိုယ်တတ်ဖို. ဘယ်သူ.မှာမှ တာဝန်မရှိပါဘူး။ ဘယ်သူကမှ ငါ့မကူညီဘူး ဆိုပြီး scapegoat မလုပ်ပါနဲ. ။ကိုယ့်ဖို. တာဝန်ရှိတာက ကိုယ်ပါပဲ။</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=db02a28225f9" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Career advice for Developer]]></title>
            <link>https://thetkhine.medium.com/career-advice-for-developer-ea5da2788e70?source=rss-1af4c3bc5033------2</link>
            <guid isPermaLink="false">https://medium.com/p/ea5da2788e70</guid>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Thet Khine]]></dc:creator>
            <pubDate>Tue, 12 Jan 2021 18:42:39 GMT</pubDate>
            <atom:updated>2021-01-12T18:42:39.907Z</atom:updated>
            <content:encoded><![CDATA[<p>ကိုယ်တိုင်လဲ အလုပ်လုပ်ဖူး။ အင်တာဗျူးတွေ လဲ မေးဖူး ဖြေဖူးခဲ့တာတွေ ကြုံဖူးတာတွေကိို ကြုံရင် ပြောဖြစ်လေ့ရှိတယ်။</p><p>လူတယောက်နဲ. အလုပ်လုပ်ဖို. စစဉ်းစားတဲ့အခါ ဥပမာ အင်တာဗျူးပေါ့။ ဒါဆို အဓိက ၂ ချက်ကို ကြည့်တယ်</p><p>သူသည် ဒီအလုပ်ကို လုပ်နိုင်လား၊ လုပ်နိုင်တဲ့ ability ရှိလား အလုပ်လုပ်နိုင်သလားဆိုရင် လုပ်နိုင်တာတင်မကဘူး တခြားဘာတွေပါ ကြည့်သေးသလဲဆိုတော့ သင်ယူနိုင်စွမ်းရှိသလား စိတ်ဝင်စားလားဆိုတာမျိုးပါ ကြည့်တာပေါ့။</p><p>နောက်သူ.ကို assigned ချမဲ့ team သည် သူနဲ.အတူတူ အလုပ်လုပ်နိုင်မလား၊ သူကရော team နဲ.အတူတူလုပ်နိုင်မလား ဆက်တွေးရရင် ဒီ organization ကနေရာ သူနဲ.အလုပ်လုပ်လိို့ အဆင်ပြေမလားပေါ့။</p><p>ကျွန်တော့်အမြင်ကတော့ ဒါတွေပေါ့။</p><p>၁ Attitude is everything</p><p>လူတွေ နောက်ပြောင်‌ပြောနေကျတဲ့ မင်းတို.ကစိတ်ဓတ်ပဲဆိုတာ တကယ် အရေးပါတယ်။ ဒီလူက ဘယ်လိုလူလဲ အလုပ်ကို လစာရဖို.ပဲလုပ်တာလား။ တာဝန်ကျေရုံပဲလား။ သူ. team , organization ကိုဘာတွေ ပံ့ပို.နိုင်မလား ဒါတွေက အရေးကြီးတယ်၊ဥပမာ ကောင်လေး တယောက်က ကူညီချင်စိတ်ရှိတယ်ဆိုပါစို. သူ. team ထဲမှာ သူက တခုခုဆို ဖင်ပေါ့တယ်။ အကူညီလဲရတယ်၊ ဒါဆို ကျန်တဲ့သူတွေက သူ.ပဲဲ အကူညီတောင်းကြမယ်။ အဲ့တော့ အကျိုးဆက်အနေနဲ. ဘာဖြစ်လာလဲဆိုတော့ သူသည် သူများထက်ပိုတတ်လာတယ် သိလာတယ်။ ခနခန သူ.ချည်းလုပ်နေရတာကိုး။ လူကြီးတွေကလဲ သဘောကျမယ်ပေါ့။ မလှုပ်မရှုပ် မပြုတ်ဆိုတာမျိုးကတော့အဆင်မပြေဘူးပေါ့လေ။ နောက် ဒီ Company မှာ ကိုယ်က စိတ်ရောကိုယ်ပါလုပ်ပေးခဲ့ရင် အတွေ.အကြုံပညာသူများထက်ပိုရမယ် အဲ့ကျ တခြား နောက်တနေရာမှာလဲ သူ.ဖို.အသုံးဝင်မယ် win-win ပေါ့။</p><p>တခုခုခိုင်းလိုက်လို. အလုပ်ပိုလုပ်ရပါလားဆိုရင် အပေါ်ကလူကလဲ မခိုင်းချင်တော့ဘူး။ အဲ့တော့ အလုပ်တော့ပိုမလုပ်ရပဲနေမယ်။ ထို.အတူ ပိုလဲ တတ်မှာမဟုတ်တော့ဘူးပေါ့။</p><p>၂ Responsibility ယူပါ။</p><p>ဆိုချင်တာက ဘာပဲလုပ်လုပ် ကိုယ့်တာဝန်ဆို ကိုယ်ယူရမယ်။ Junior ဆို Junior အလျောက် senior ဆို seinor အလျောက်ပေါ့။ မှားတယ်ဆိုရင်လဲ အဲ့တာကို တာဝန်ယူရမယ်််။နောက်မမှားအောင်ပိုကောင်းအောင် ဘယ်လိုလုပ်မလဲပြင်ဆင်ရမယ်ပေါ့။ </p><p>၃ Invest yourself</p><p>အပြင်မှာ သင်တန်းတွေ တက်တာ စာအုပ်တွေဖတ်တာ လေ့လာတာတွေပေါ့ အဲ့တာတွေက အမြဲတမ်း ကိုယ့်နောက်ပါမဲ့ဟာတွေပေါ့ ကိုယ့် CV မှာရှိတဲ့ skillset ကို update ဖြစ်အောင်လုပ်နေတာ (CV ထဲထဲ့ထားပြီး ဘာမှမသိရင်လဲ တကယ်သိတဲ့သူကမေးရင် ဂွမ်းမှာနော်) မျိုးပေါ့</p><p>၄ Choose Mentor over money</p><p>တချို.က လစာပဲကြည့်တယ် တကယ်တမ်းက လိုပေမဲ့ ကိုယ့်ကိုသင်ပေးနိုင်တဲ့သူ mentoring လုပ်ပေးနိုင်တဲ့သူ မျိုးရှိတဲ့နေရာသည် ကိုယ့် carrer ဖို.ပိုကောင်းတယ်</p><p>၅ နည်းပညာ တခုတည်း ဆုပ်ကိုင်မထားတာ</p><p>ဥပမာ Language တခုတည်း ဒါမှမဟုတ် Framework တခုတည်း ဆုပ်ကိုင်ပြီး ငါကတော့ဘာ developer ဆိုတာ အဆင်မပြေဘူးပေါ့ ဆိုချင်တာက Framework တခု language တခုတည်းမဟုတ်ပဲ ဘာလာလာ ဒေါင်းနိုင်လေ ကိုယ့်အဖို.က အဆင်ပြေလေပဲ။ သိတယ်ဆိုတာကလဲ In depth လောက်သိတာက ပိုအဆင်ပြေတာပေါ့။ နောက်တခုက up to date ဖြစ်အောင် လုပ်နေတာ ဥပမာ android developer, Kotlin မရေးဘူး React Native မရဘူးဆိုတာထက် လုပ်နိုင်တယ် လေ့လာပြီးရေးနိုင်တယ်ဆိုတာက ပိုကောင်းတာပေါ့။</p><p>၆ ဖြတ်လမ်းနည်းမသုံးတာ</p><p>တချို.တွေက လူလည်တွေ ဒီနေရာမှာ ၆ လလောက်လုပ် နောက်တနေရာပြောင်း ရာထူးတိုးတောင်း လစာတိုးတောင်း ဒါတွေသည် ရေရှည်မှာ ကိုယ့် skill လိုလာတဲ့အချိန်မှာ ပြဿနာအကြီးကြီးတက်မယ်ပေါ့။ ထိုက်သင့်တဲ့နေရာမှာ ထိုက်သင့်တဲ့ သိသင့်တဲ့ knowledge ရှိအာင်လုပ်မယ်ဆိုရင်ပိုကောင်းတာပေါ့။</p><p>၇ Soft Skill </p><p>ဒါကတော့ သိတဲ့အတိုင်းပါပဲ hard skill ကြီးပဲကောင်းနေလို.မရဘူး ၊ ခေတ်က သူများနိုင်ငံတွေဆီသွားလုပ်ရတာ တခြားနိုင်ငံကလူတွေနဲ.လုပ်ရတာ ဆိုတော့ ဘာသာစကားအပြင် တခြား soft skill တွေသိထားတာက ပိုကောင်းတာပေါ့။</p><p>၈ Ethic</p><p>Professional ethic ရှိရမယ်။ ရိုးသားတာမျိုး။ လူတွေက ကိုယ်နဲ. အလုပ်တွဲလုပ်ချင်အောင် စိတ်ဓတ်ကောင်းတာမျိုး။အရည်ချင်းလဲရှိတာမျိုး လုပ်ထားရင်တော့ ကောင်းတာပေါ့။</p><p>၉ Respect everyone</p><p>Organization တခုဖြစ်ဖြစ် လူလူချင်းဖြစ်ဖြစ် mutual respect က လိုကိုလိုတယ်။ အဲ့အခါကျ ကိုယ်က တခြားသူတွေဆီကပါ သင်ယူလို.ရတယ်။ ဟိုတနေ.က စာသင်ရင်း color စပ်ပြတဲ့နည်း ပြတော့ တပည့်တွေက အံ့အားသင့်နေတာ။ အမှန်က ကိုယ်က designer ညီမလေးတယောက်ဆီက နေ မေးပြီးလေ့လာထားတာ။ ဒါမျိုးပေါ့ အပြန် အလှန်သင်ယူစရာတွေ</p><p>လိုတာလေးတွေလဲ ထပ်ဖြည့်ပေးကြပေါ့။</p><p>(သူများတွေ ဖြည့်ပေးထားတာ )</p><p>Accountability: တာဝန်ယူမှူ။ ငါ့တာဝန်ထားလိုက် ဆိုပြီး မရရအောင်လုပ်ပေးတာ။ ခိုင်းတဲ့ လူက ပြန်ကြည့်စရာမလိုဘူး။ ယုံကြည်မှုက အဲဒီကရတာ။</p><p>Resourcefulness: ကြံရည်ဖန်ရည် ရှိတာ။ လုပ်လို့မရရင် ငုပ်တုတ်ထိုင်မနေပဲ တစ်နည်းနည်းကြံဖန်ရှာပြီးရအောင် လုပ်တာ။</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ea5da2788e70" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How does JavaScript runtime work]]></title>
            <link>https://thetkhine.medium.com/how-does-javascript-runtime-work-c79801a8c681?source=rss-1af4c3bc5033------2</link>
            <guid isPermaLink="false">https://medium.com/p/c79801a8c681</guid>
            <category><![CDATA[javascript]]></category>
            <dc:creator><![CDATA[Thet Khine]]></dc:creator>
            <pubDate>Tue, 12 Jan 2021 18:41:50 GMT</pubDate>
            <atom:updated>2021-01-12T18:41:50.591Z</atom:updated>
            <content:encoded><![CDATA[<p>JavaScript က နေရာတိုင်းမှာ သုံးလာတယ် အသုံးဝင်လာတယ်။ Backend မှာ Node.js , front end ဘက်မှာ Angular, React, Mobile ဘက်မှာ React Native, Ionic နောက် desktop ဘက်မှာ electron အစရှိတာတွေဟာ JS Framework တွေချည်းပဲ။ Node.js ဆိုရင်သူက Google ရဲ. Chrome browser မှာ သုံးတဲ့ v8 ဆိုတဲ့ JavaScript Engine ကိုသုံးထားတာ။ ဒီနေရာမှာ Developer တွေ က Web Browser ဆိုတာရယ် Rendering Engine ဆိုတာရယ် JavaScript Engine ဆိုတာရယ်ကို ကွဲတယ်လို.မထင်ဘူး။ Browser တွေဘယ်လိုအလုပ်လုပ်သလဲဆိုတာ ဒီမှာရေးထားဖူးတယ်။</p><p><a href="https://www.facebook.com/notes/thet-khine/how-web-browsers-work/10207199611668159/?fref=mentions">Facebook</a></p><p>Developer တွေမျက်စိနဲ.မြင်နေရတာက Browser တခုတည်း ဒါကြောင့်ခုနက Browser Engine, Rendering Engine နဲ. JavaScript Engine သုံးခုကို မသဲကွဲတာ။ တကယ်တော့ Browser တခုလို. ဆိုလိုက်ရင် ခုနက သုံးခုပေါင်းမှ တခုဖြစ်တာ။ ဒီနေရာမှာ တချို.က browser engine နဲ. rendering engine ကိုတွဲသုံးကြသေးတယ်။ သူတို.ရဲ. အဓိက အလုပ်က HTML , CSS makup တွေကို layout ချမယ် screen ပေါ်မှာပေါ်လာအောင် rendering လုပ်မယ်။ Rendering engnine ကို layout engine လို.လဲခေါ်သေးတယ်။ Rendering engine တွေကို သက်သက် ယူသုံးလို.ရတယ်။ ဥပမာ Apple Safari မှာ WebKit ကိုသုံးတယ် နောက် PhantomJS မှာလဲသုံးတယ်။ IE မှာတော့ Trident ဆိုတဲ့ rendering engine ကိုသုံးတယ်။ ခုနက rendering engine ရဲ.အလုပ်သည် UI element တွေကို web element တွေကို display ပြတာပဲလုပ်တာ။ အဲ့တော့ JavaScript code တွေ run ဖို.ဘယ်သူကလုပ်ရသလဲဆိုရင် JavaScript Engine ကလုပ်ရတယ်။ ဥပမာ Chrome မှာ Blink rendering engine ကိုသုံးတယ်သူ.က WebKit ရဲ. WebCore Component ကို fork လုပ်ထားတာ။ Chrome မှာ JavaScript Engine အနေနဲ.ကျတော့ V8 ဆိုတာကိုသုံးတယ်။ နောက် Node.js မှာလဲ v8 ကိုသုံးတယ်။ Apple Safari မှာဆိုရင် Nitro ဆိုတဲ့ JavaScript Engine ဆိုတာကိုသုံးတယ်။ အဲ့တော့ Developer တွေနဲ. JavaScript ရေးတဲ့အခါ code optimization လုပ်တဲ့အခါအတော်လက်ဝင်တယ်။ ဥပမာ Chrome မှာ Optimized code က Safari မှာ opimized ဖြစ်ချင်မှဖြစ်မယ်။ ဒါကိုဆိုချင်တာ။</p><p>JavaScript က dynamic language , သူ.ကို interpret လုပ်တယ်လို.လဲသိကြတယ်။ Interpret လုပ်တယ်လို.ဆိုရင် browser အားလုံးမှာ မမှန်ဘူး ။ ဘာလို.လဲဆိုတော့ Chrome v8 ရော Nitro ရောမှာ JIT compilation တွေ JavaScript code ကနေ native machine code ပြောင်းတာတွေလုပ်ထားကြတာကြာပြီ။ ပြောရရင် modern JavaScript runtime တော်တော်များများသည် JavaScript to native machine code compilation ကိုလုပ်ကြရတယ်။ Language အနေနဲ.ကြည့်ရင်တော့ interpret လုပ်သွားတယ် ဆိုတာဟုတ်တယ်။ line by line execute လုပ်တယ်။ လိုအပ်တော့မှ parse လုပ်ပြီး execute လုပ်တယ်။ တခါတလေ ခနခန ပြန် parse မလုပ်ပဲ cache လုပ်ထားတာလဲရှိတယ်။ နောက် implementation ဘက်မှာကျတော့ JavaScript code တွေကို interpreter မသုံးပဲ အထဲမှာ JavaScript ကနေ intermeidate form ကိုပြောင်းမယ် အဲ့ကနေ native code ကိုပြောင်းပြီး compile လုပ်မယ်. အဲ့လိုလုပ်ကြတယ်။ ဒါကြောင့်များသောအားဖြင့် implementation အရဆို interpret လုပ်တယ်လို.ဆိုလို.မရပြန်ဘူး။ Hybrid apporach တွေလဲရှိတယ်။ JIT(Just in time compilation ) ဥပမာ code တခုကို run တော့မယ်ဆိုမှ သူ.ကို native machine code ပြောင်းပစ်တာမျိုး။ နောက် AOT (Ahead of time compilation) သူက code ကိုမ run ခင်ကတည်းက ကြိုပြီး native code ပြောင်းထားတာမျိး။ ဘယ်လို code တွေကို AOT လုပ်သလဲဆိုရင် ခနခန run တဲ့ hot method တွေကို AOTသုံးပြီး native machine code ပြောင်းလေ့ရှိတယ်။ Native machine code နဲ.အထဲမှာ run ရတဲ့အတွက် speed သည်တက်လာတယ်။ ဒါပေမဲ့ C/C++ လို speed တော့မရသေးဘူး ဘာလို.လဲဆိုတော့ runtime မှာ JavaScript ကနေ Machine code ကိုပြန်ပြောင်းနေရတဲ့ compilation process ရှိနေလို.။ နောက် dynamic langauge ဖြစ်တဲ့အတွက် Object တွေမှာ attribute တွေထဲ့မယ် ပြောင်းမယ် မှတ်မယ်ဒါမျိုးကို compiler တွေ အနောက်မှာ machine code ထုတ်တဲ့အခါ deferencing သုံးရတယ်။ ဥပမာ ဆိုကြပါဆို. a+b ဆိုပါစို. a နဲ. b သည် အားလုံးဖြစ်နိုင်တယ်။ အဲ့တော့ Java, C မှာလို integer အပေါင်း string concatenation တခါတည်းတန်းမသိဘူး။ Runtime ရောက်တော့မှ a ရယ် b ရယ်အပေါ်မူတည်ပြီး native machine code ထုတ်ရတယ်။ ဒါတွေကြောင့်လဲ လေးတယ်။</p><p>နောက်တခုက DOM access code, browser ကပေးထားတဲ့ Global object တွေနဲ. JavaScript engine ကပေးထားတဲ့ဟာတွေမတူဘူး။ ဥပမာ document.getElementById ဒါမျိုးဆိုရင် DOM ကို access လုပ်ရတာ အဲ့ဒီ API သည် JavaScript Engine မှာ မပါဘူး။ Browser ကနေပေးထားရတာ ။ အဲ့ဒီတော့ JavaScript engine ကနေ Browser DOM API ကို လှမ်းခေါ်ရတယ်။ နောက် Dom ပြောင်းသွားရင် rendering engine သည် layout ကိုပြောင်းပစ်ရမယ်။ ဒါမျိုးကို page reflow လို.ခေါ်တယ်။ Web page တခုမှာရှိတဲ့ css attribute လေးတခုပြောင်းလိုက်ရုံနဲ. web page layout ကိုပြန်တွက်ရတယ် အဲ့ဒီအတွက် cost ကုန်တယ်။ ဒါကြောင့် DOM code တွေသည် နှေးတယ်ဆိုတာဖြစ်ကုန်တာ။ JavaScript Runtime လို.ပြောလိုက်ရင် သူ.မှာ Memory area တွေပါမယ်။ ဥပမာ Stack , Heap တွေ နောက် Heap ကို manage လုပ်ဖို. GC Garabage Collection algorithm တွေပါမယ်။ GC တွေကလဲ JavaScript engine တခုနဲ.တခုမတူကြဘူး။ နောက် JavaScript ကို compilation လုပ်ဖို. JIT, AOT compiler တွေပါမယ်။ နောက် Global variable တွေ အစရှိတာတွေမှတ်ဖို. execution context ဆိုတာပါမယ်။ Execution context က တခုထက်မကရှိနိုင်တယ်။ GC ကတော့ execution context အားလုံးက အတူတူသုံးကြရတယ်။ ဥပမာ browser တခုမှာ Iframe တွေပါလာပြီဆိုရင် multiple execution context ဖြစ်နိုင်တယ်။ ဒါပေသိသူတို.အားလုံးက GC တွေ JIT, AOT တွေကိုအကုန် အတူတူ share လုပ်ပြီးသုံးကြရတယ်။</p><p>JavaScript က တခြား language တွေနဲ.မတူတဲ့အချက်က single threaded language ဖြစ်တယ်။ အဲ့တော့ JavaScript runtime တခုမှာ thread တခုပဲရှိတယ်။ Java, C# မှာဆိုရင် multiple execution thread တွေရှိတယ်။ Thread တခုချင်းဆီမှာ သူတို.နဲသက်ဆိုင်ရာ method call stack တွေရှိမယ်။ Method call stack ဆိုတာ method တခု function တခုခေါ်ပြီဆိုရင် function အတွက်လိုအပ်တဲ့ variable တွေ runtime data structure တွေ ပါတဲ့ stack frame တခုကို ခုနက method call stack ပေါ်ကိုတင်ရတယ်။ Function ပြီးသွားရင် ခုနက method call stack ပေါ်ကနေ stack frame ကိုပြန်ပြီး pop လုပ်ရတယ်။ ဒီနည်းနဲ. ဘယ် method ပြီးရင် ဘယ် method ကို return ပြန်ရမယ်ဆိုတာကို runtime ကသိတာ။ Single thread နဲ. run နေတဲ့အတွက် function တခုကနေ computational time ကိုအကြာကြီးယူထားမိရင် ဥပမာ loop ကို အများကြီးပတ်လိုက်တယ်ဆိုပါစို.ဒါဆိုအချိန်ကြာသွားမယ်။ အဲ့ဒီကျရင် browser မှာ unrepsonive JS error တက်လာလိမ့်မယ်။ ဒါဆိုရင် long compuation တွက်ချင်ရင် ဘာလုပ်ရမလဲဆိုရင် အပိုင်းအပိုင်းလေးတွေ ခွဲပြီး တခုချင်းပြန် run ရတယ်။ SetInterval တို. setTimeout တို.ကိုဘယ်လို schedule လုပ်သွားသလဲဆိုတာကိုနားလည်ဖို.ကျတော့ JavaScript ရဲ. Concurrency model နဲ. event loop ဆိုတာကို နားလည်ရမယ်။</p><p>JavaScript memory ကို ခွဲလိုက်ရင် သုံးမျိုးရမယ်။ Stack (ဒါက method calling လုပ်တဲ့အခါ method တခုခြင်းရဲ. stack frame တွေကိုသိမ်းထားတာ ) , Heap (သူကတော့ JavaScript object တွေကို သိမ်းတဲ့နေရာ. user define လဲဖြစ်ချင်ဖြစ်မယ်။ system define လဲဖြစ်ချင်ဖြစ်မယ်။) ဥပမာ var a = new Date(); ဒါကို run မယ်ဆိုရင် memory ပေါ်မှာ Date constructor ကို run ဖို. stack frame ပေါ် frame တခုတင်ရမယ်။ နောက် date object အတွက် ကျတော့ heap ပေါ်မှာလိုအပ်တဲ့ memory ပမာဏကိုယူရမယ်။</p><p>နောက်ဆုံးတခုက Queue, Queue ကကျတော့ အခု CPU ပေါ်မှာ run နေတဲ့ method တွေမရှိတော့ဘူး နည်းသွားပြီဆိုရင် queue ထဲမှာစောင့်နေတဲ့ task တွေကို run ဖို.လုပ်ထားတာ ။ ဥပမာ setInterval နဲ.ခေါ်ထားတဲ့ method တွေဆိုရင် queue ထဲဝင်သွားမယ်။ အချိန်ရရင် scheduler ကနေ queue ထဲကကောင်တွေကို run တယ်။ ဒီနည်းနဲ. single thread မှာ setInterval, setTimeout , event တွေကို process လုပ်သွားတာ။</p><p>Event Loop ဆိုတာ JavaScript queue ရဲ. အလုပ်လုပ်တဲ့ပုံကိုပြတာ</p><p>while (queue.waitForMessage()) <br>{ <br> queue.processNextMessage(); <br>}</p><p>ဒီလိုလုပ်သွားတာ။ queue ထဲမှာလုပ်စရာရှိရင် လုပ်တယ်။ မရှိရင် စောင့်နေတယ်။ တခြားအလုပ်တွေလုပ်တယ်ပေါ့။ Chrome ရဲ. V8 လို JIT AOT အဆင့်ဆင့်ပါတဲ့ကောင်တွေမှာ JavaScript code ကနေတန်းပြီး interpret မလုပ်ဘူး။ Native code ပြောင်းပြီးမှလုပ်တယ်။ နောက် တခြား JS engine specific optimization တွေရှိသေးတယ်။ ဥပမာ V8 မှာဆိုရင် JavaScript Object တခုကို rutime မှာ hidden class တခုအနေနဲ.သိမ်းထားတယ်။ နောက်တချိန် အဲ့ဒီ Object ကို attribute တွေထပ်မထဲ့ရင် v8 က ခုနက Object ရဲ. field တွေ method တွေ access လုပ်တဲ့ကောင်မျိုးကို optimized လုပ်နိုင်တယ်။ အဲ့လိုမျိုးရေးတာကို monomorphism လို.ခေါ်တယ်။ Dynamic language ရေးပေမဲ့ Polymorphic data structure သုံးတာ များရင် engine အပေါ်မူတည်ပြီး optimization ကောင်းကောင်းမရနိုင်ဘူး။</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c79801a8c681" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Work ethic for programmer]]></title>
            <link>https://thetkhine.medium.com/work-ethic-for-programmer-d27005aaf12a?source=rss-1af4c3bc5033------2</link>
            <guid isPermaLink="false">https://medium.com/p/d27005aaf12a</guid>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Thet Khine]]></dc:creator>
            <pubDate>Mon, 04 Jan 2021 14:18:45 GMT</pubDate>
            <atom:updated>2021-01-04T14:18:45.539Z</atom:updated>
            <content:encoded><![CDATA[<p>(Quora ကတွေ.လို.ယူလာတာ သဘောကျလို. title တွေယူပြီး အဆင်ပြေသလိုပြန်ရေးထားတာ)</p><p>၁. Have a positive attitude.</p><p>Positive attitude ကအရေးကြီးတယ်၊ လစာရဖို. တင်မဟုတ်ပဲ၊ ကိုယ်လုပ်နေတဲ့ အလုပ်က ဘာလို.အရေးကြီးတယ် ဘယ်နေရာကို ဘယ်လောက်ထိခိုက်နိုင်တယ် ကိုယ်လုပ်ပေးလိုက်ရင်လဲ ဘာတွေပိုကောင်းနိုင်တယ်ဆိုတာ တွေးပေးတာမျိုး။ အလုပ်မလုပ်ရပြီးရော ဘာလာလာ ပြန်ငြင်းပြီး မဟုတ်ဘူးဆိုတာမျိုးက အဆင်မပြေဘူး။ ငါ့တာဝန် မဟုတ်ဘူး တိုက်ရိုက်မသတ်ဆိုင်ဘူးဆိုပြီး တချို.နေရာတွေ မဆိုင်သလိုနေတာမျိုး ကလဲ မကောင်းဘူးပေါ့။</p><p>၂. Foster deep knowledge</p><p>ဘယ် နည်းပညာကိုလေ့လာ လေ့လာ သေသေချာချာ In Depth ရအောင် လေ့လာတာမျိုး။Main technology တချို.မှာ expert ဖြစ်နေပြီး နောက်ကျန်တဲ့ လိုတဲ့ကောင်တွေမှာလဲ လိုက်လုပ်နိုင်ဖို. competent ဖြစ်ရမယ်။</p><p>၃. Keep Up to date with new technologies:</p><p>လက်ရှိ သုံးနေတဲ့ နည်းပညာတွေ အသစ်တွေကိုနားလည်နေတာ အကျွမ်းတဝင်ရှိတာမျိုး။</p><p>၄. Learning Ability:</p><p>နောက် အဓိက learning skill ,လုပ်ငန်းလိုအပ်ချက်အရ adapt ဖြစ်အောင် လုပ်နိုင်တာ သင်ယူနိုင်တာ research လုပ်နိုင်တာမျိုး</p><p>၅. Communications Skills:</p><p>Communication skill ကအရေးပါတယ် များသောအားဖြင့် တခြား နိုင်ငံက developer တွေနဲ.အလုပ်လုပ်ရတဲ့အခါမှာ မရှိမဖြစ်ပဲ။ အလုပ်က team work စုလုပ်ရတာဆို‌တော့ ကိုယ်ပြောချင်တာကို သူနားလည်အောင် ရှင်းအောင် ပြောနိုင်ဖို. သူပြောတာလဲ နားလည်နိုင်ဖို. အငြင်းအခုံမှာ လူကြီးဆန်ဆန် တဖက်သားအဆင်ပြေပြေ လက်ခံအောင်ပြောနိုင်ဖို. ဒါတွေလိုတယ်။</p><p>၆. Time Management</p><p>Meeting တွေအချိန်မှန်ရောက်ဖို. ကတိပေးထားတဲ့ deliverable တွေ အချိန်မှီပေးဖို. အဲ့တာတွေလိုမယ် နောက် timeline estimation သေချာ လုပ်ဖို. ။</p><p>၇ Be a Team Player</p><p>Software Development က တယောက်ထဲလုပ်ရတာမဟုတ်ဘူး။ အဲ့တော့ good team player ဖြစ်ဖို.လိုတယ်။ ကိုယ်က သူများဖို.လိုတဲ့အချိန်မှာ တက်အားသရွေ. ကူညီထားရင် သူတို.ကလဲ ကိုယ်လိုတဲ့အချိန်မှာ ပြန်ကူညီလိမ့်မယ်။ နောက်တခုက ကိုယ်က သူများဘာလိုလို ဖင်ပေါ့ပြီး လုပ်ပေးတတ်ရင် တခုခုဆို ကိုယ့်ဆီလာရှာလိမ့်မယ်။ အဲ့ကျ ကိုယ်ကသူများထက် အလုပ်ပိုလုပ်ရမယ် အတွေ.အကြုံပိုများမယ်ပေါ့။</p><p>၈. Expertise is overrated:</p><p>နည်းပညာ တခုတည်းတော်နေလို.မရသေးဘူး ခုနက လို soft skill တွေ ကောင်းဖို.လဲလိုသေးတယ်။ Hard Skill , soft skill balance ဖြစ်မှ သာလျင် အဆင်ပြေမယ်ပေါ့။</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d27005aaf12a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to learn problem solving skill in programming]]></title>
            <link>https://thetkhine.medium.com/how-to-learn-problem-solving-skill-in-programming-abb058ce984e?source=rss-1af4c3bc5033------2</link>
            <guid isPermaLink="false">https://medium.com/p/abb058ce984e</guid>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Thet Khine]]></dc:creator>
            <pubDate>Mon, 04 Jan 2021 14:07:25 GMT</pubDate>
            <atom:updated>2021-01-04T14:07:25.542Z</atom:updated>
            <content:encoded><![CDATA[<p>Programming လေ့လာတဲ့ beginner အများကြုံရမဲ့ problem ပေါ့။ နောက်တခုက senior ဖြစ်နေတဲ့ CRUD တဲ့ နှစ်ပါးသွားနေတဲ့ ပုဂ္ဂိုလ်များလဲကြုံမယ်ထင်ပါတယ်။</p><p>ဘာလဲဆိုတော့ problem solving skill ပေါ့။ Code ကိုဘယ်လိုရေးရမလဲ မစဉ်းစားတတ်ဘူးဖြစ်နေတယ်ပေါ့။</p><p>အဲ့တာကို ခွဲရင် ၂ပိုင်းရမယ်။ တပိုင်းက Programming Langauge အပိုင်းပေါ့ နောက်တပိုင်းကတော့ problem solving အပိုင်း။</p><p>Program ရေးတယ်ဆိုတာ programming language တခုခုသုံးပြီး problem solve ရတာဆိုတော့ ကိုယ်သုံးနေတဲ့ programming language ကို ဘယ်လိုသုံးတယ် ဘာကြောင့်သုံးတယ် ဘယ်နေရာမှာ ဘာသုံးသင့်တယ်ဆိုတဲ့ correct tool usage ပေါ့ အဲ့တာသိမှ အဆင်ပြေမယ်။</p><p>အဲ့ programming language ကိုရှင်းရင် ခေတ်အဆက်ဆက်က ပြဿနာက ဒီမှာ programming ဆိုတာ ရေးထုံး grammar synatax ကို လို.ပဲထင်နေတာ။</p><p>Semantics, Pragmatic ဆိုတာဘာမှန်းမသိဘူး အဲ့တော့ သူ. construct နဲ.သူ ဘယ်နေရာဘာသင့်တယ် ဘာလို.သုံးရမယ်မသိဘူး။</p><p>ဥပမာ Java မယ် loop 3 မျိုးရှိတယ် for, while, do အဲ့မှာ Pragmatic နည်းအရဆို အရေအတွက်ပေါ်မူတည်ပြီး သွားရင် counter controlled loop လို.ခေါ်တယ် ဒါဆို for သုံးရမယ်။ အဲ့အရေအတွက်မှာမှ အားလုံးဆိုရင် foreach ပဲ။ နောက် while, do while သည် condition controlled ပဲ အဲ့မှာမှ အနည်းဆုံး တခေါက်လုပ်ရရင် do while, မဟုတ်ရင် while ဒါသည် pragmatic ပဲ။</p><p>Programming language တှဘေယျလိုလေ့လာရမယျက ဒီမှာရေးထားတယ်။ <a href="https://www.facebook.com/thet.khine.587/posts/10205561643639982?__cft__[0]=AZWPlcEEtDLuakA6FDrAhY8d3x-oWjPtvL3yRDV5hGtPNkW6_bvmUposM5wwXMTiMqJtWOMTzw8M9wf8W7rVh4rxvvE4zUROpqgZqw1zLHCdnbeGWudmDkqgzGEzS_9TM3I&amp;__tn__=-UK-R">https://www.facebook.com/thet.khine.587/posts/10205561643639982</a></p><p>နောက်တခုက problem solving အပိုင်း အဲ့မှာ ဘာလိုလဲဆိုတော့ domain knowledge တွေလိုတယ်။ အခြေခံတွေလိုတယ် ဘာတွေလဲဆိုတော့ computer science လိုတယ်။</p><p>ဥပမာ Problem solve လုပ်ဖို. ၁ Problem က ဘာလဲ ဆိုပါစို. database မှာ username ထပ်မထပ်စစ်တာဆိုပါစို.။ ဒါဆိုရင် background knowledge အရ database မှာ ခုနက username တွေသိမ်းတယ်၊ ဒါကို SQL နဲ.သော်လည်းကောင်း ORM နဲ.သော်လည်းကောင်း ရှာလို.ရတယ်ဆိုတာကိုသိမယ်။</p><p>အဲ့တာမို. ခုနက background knowledge လိုတယ်ဆိုတာပြောတာ။ Database အကြောင်းမသိရင် ခုနက SQL Select အကြောင်းမသိရင် ဒီ problem solve လုပ်လို.ရမှာမဟုတ်ဘူး။</p><p>နောက်တခုက problem တကယ် solve ဖို. algorithm ရေးရမယ်။ ဆိုချင်တာက username ကိုလက်ခံ ပြီးရင် အဲ့ကောင်ကို SQL query လုပ် result ထွက်လာရင် ထပ်တယ် ရှိနေတယ်ပေါ့။</p><p>အိုကေ ဒါက လွယ်တာပြောတာ တကယ်လို. user က သန်းနဲ.ချီနေတာ ဖေ့ဘုတ်လိုကောင်မျိုး performance လိုတယ် scalability လိုတယ် ဘယ်လိုလုပ်မလဲ။</p><p>ဒါဆို ခုနက Database, SQL သိတဲ့သူသည် အလုပ်မဖြစ်တော့ဘူး ဘာလို.ဆိုတော့ problem solve လုပ်ရင် အရင်ဆုံး ခေါင်းထဲမှာ အရင်ရှိထားတာတွေကနေ ဆင့်ပွားတွေးယူရတာ။</p><p>အဲ့တော့ ဘာတွေလိုမလဲ Data Structure &amp; Algorithm တွေလေ့လာဖို.လိုမယ်။ ဒါမှ common problem တွေ ဘယ်လိုရှိတယ် သူများတွေ ဘယ်လို solve လုပ်ထားတယ် ကိုယ်က existing solution ကိုယူသုံးရင်သုံးမဟုတ်ရင် နဂိုရှိပြီးသားလေး အခြေခံပြီး idea ယူမယ် စဉ်းစားမယ် အဲ့လိုဖြစ်မယ်။</p><p>Algorithm တွေ လေ့လာလိုက်တော့နောက်တခုက problem solving skill တက်လာမယ် သူများတွေ ဒီလိုလုပ်တယ်ပေါ့ ဒီနည်းလဲရတယ် နောက်တနည်းလဲ ဖြစ်တယ်ပေါ့။</p><p>Algorithm တွေလေ့လာရင်ဘာလိုမလဲဒီမှာရေးထားတယ်( <a href="https://www.facebook.com/thet.khine.587/posts/10210015616906530?__cft__[0]=AZWPlcEEtDLuakA6FDrAhY8d3x-oWjPtvL3yRDV5hGtPNkW6_bvmUposM5wwXMTiMqJtWOMTzw8M9wf8W7rVh4rxvvE4zUROpqgZqw1zLHCdnbeGWudmDkqgzGEzS_9TM3I&amp;__tn__=-UK-R">https://www.facebook.com/thet.khine.587/posts/10210015616906530</a>)</p><p>ဒါက self taught programmer ဖြစ်အောင်ဘယ်လိုလုပ်ရမလဲရေးထားတာ</p><p><a href="https://www.facebook.com/thet.khine.587/posts/10206651854134563?__cft__[0]=AZWPlcEEtDLuakA6FDrAhY8d3x-oWjPtvL3yRDV5hGtPNkW6_bvmUposM5wwXMTiMqJtWOMTzw8M9wf8W7rVh4rxvvE4zUROpqgZqw1zLHCdnbeGWudmDkqgzGEzS_9TM3I&amp;__tn__=-UK-R">https://www.facebook.com/thet.khine.587/posts/10206651854134563</a></p><p>နောက် computer science ဘက်ကဆိုင်တဲ့ project တွေရေးကြည့်မယ် ဥပမာ DBMS, WebServer, Crawler, Email Client, FTP အဲ့တာတွေကနေ Compiler, OS တွေထိပေါ့။</p><p>ခြုံပြောရရင် စုတုပြုပေါ့။ သူများတွေ လုပ်ထားတာ ကို စုမယ် ခေါင်းထဲ ထဲ့မယ် ပြီးရင်သူတို.လို လိုက်လုပ်ကြည့်မယ် နောက်ဆုံး ကိုယ်ပိုင် အတွေးနဲ. အသစ်ဖန်တီးမယ်။</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=abb058ce984e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Motivation theories in learning]]></title>
            <link>https://thetkhine.medium.com/motivation-theories-in-learning-73535c8e2a26?source=rss-1af4c3bc5033------2</link>
            <guid isPermaLink="false">https://medium.com/p/73535c8e2a26</guid>
            <category><![CDATA[motivation-theories]]></category>
            <dc:creator><![CDATA[Thet Khine]]></dc:creator>
            <pubDate>Mon, 04 Jan 2021 14:04:50 GMT</pubDate>
            <atom:updated>2021-01-04T14:04:50.306Z</atom:updated>
            <content:encoded><![CDATA[<p>ကိုယ့်ဆရာ တယောက်က ကျောင်းသားတွေ က စာအပေါ်စိတ်ဝင်စားမှု. motivation မရှိဘူးလို. ဟိုးတလောက post တခုမှာပြောရင်း ပါလာတယ်။ အကျိုးရှိတော့လဲ အကြောင်းရှိရမှာပေါ့ ဆိုပြီး educational psychology ထဲက motivation theory တွေ လိုက်ဖတ်ပြီး ကောက်နှုတ်ထားတာ။</p><p>Motivation ဆိုတာ လူတွေအနေနဲ. သူတို.ရဲ. လိုအပ်ချက် ဆန္ဒ စတာတွေကို အကောင်အထည်ဖော်ဖို. လုပ်စေဖို. ရှေရှည် လုပ်စေဖို. ဖြစ်စေတဲ့ တွန်းအားလို.ဆိုရမယ်။ Motivation နဲ. emotion ဘာကွာလဲဆိုရင် emotion ဆိုတာက လက်တလော ပတ်ဝန်းကျင် လှုံ.ဆော်မှူ.တွေကို တုန်.ပြန်တဲ့ ခံစားမှု.ပဲ Motivation ကျတော့ behaviour ကိုဖြစ်စေတဲ့ ဟာပေါ့။ ရေရှည် စွဲစွဲမြဲမြဲ လုပ်စေမဲ့ action ကိုဖြစ်စေတာလို.ဆိုချင်တာ။</p><p>Motivation ရှိနေရင် စာသင်တာဖြစ်ဖြစ် တခြား ရည်မှန်းချက်ရှိရာအလုပ်ဖြစ်ဖြစ် တစိုက်မတ်မတ် လုပ်တယ်။ အားစိုက်တယ်။ ဒီတော့ပိုဖြစ်ထွန်းလွယ်တယ်ပေ့ါ။</p><p>Learning နဲ. ပတ်သတ်ပြီး motivation ကို အားကောင်းစေတဲ့အချက်တွေက</p><p>Challenge</p><p>မလုပ်ဖူးတဲ့ဟာတခုခု စိမ်ခေါ်မှု.တခုခု အဲ့တာကို လုပ်ကြည့်မယ် ဒါမျိုးကို ဆိုချင်တာက လူဆိုတာ adventure ကိုကြိုက်တယ် မလုပ်ဖူးတာလေး ခက်တာလေး လုပ်ကြည့်လို. ရသွားရင် ကျေနပ် နှိစ်သိမ့်မယ် pleasure ရမယ် dopharmine ထွက်မယ် အဲ့တော့ ဒါမျိုး နောက်တခါ လုပ်ချင်မယ်။</p><p>Curiosity</p><p>သိချင်တာ စူးစမ်းချင်စိတ်ရှိတာ။ သိချင်တာ။ ပြောရရင် ကိုမသိသေးတဲ့အရာတခုခုကို လေ့လာချင်စိတ် သိချင်စိတ်ရှိတာ။ ဒီနေရာလေးမှာ ဒါကတော့ ဘာလို.ဖြစ်သွားတာလဲဆိုတာမျိုး သိချင်စိတ်ရှိအောင်လုပ်ပေးရမှာ ။ဒါဆို motivate ဖြစ်တယ် ။ ဥပမာ ဒါတွေ ဘာလို.သင်နေရတာလဲ ဘယ်နေရာ အကျိုးရှိမလဲ ဒါဆို Curiosity ကို မြှင့်ပေးရာ ရောက်မယ်။</p><p>Control</p><p>ဥပမာ game တွေ ကစားတဲ့အခါ အထဲက နေရာကို ဝင်ကစားလို.ရတယ်။ ထိန်းချုပ်လို.ရတယ်။ ကိုယ်ကချယ်လှယ်လို.ရတဲ့အခါ ပိုစိတ်ဝင်စားတယ်။ Learn လုပ်တဲ့အခါမှာလဲ ကိုသင်ထားတဲ့ဟာတွေကို ဘယ်နေရာမှာ ကိုယ်တိုင်ပြန်အသုံးချကြည့်မယ် ဆိုတာမျိုး control လုပ်နိုင်ရင် ပိုပြီး motivate ဖြစ်တယ်။</p><p>Fantasy</p><p>ဒါကိုလုပ်လိုက်ရလို. ကျေနပ်တာ ဝမ်းသာအားရဖြစ်တာ ပျော်တာ။ ဥပမာ ဟာငါက ဒါတွေတောင် နားလည်သွားပြီ မဆိုးဘူးပဲ ငါပိုတတ်သွားပြီ ဆိုတာမျိုး ဖြစ်စေတာသည် motivate ဖြစ်စေတယ်။ လူရဲ. ပင်ကိုယ် ဆန္ဒတွေမှာကိုက ဒါတွေသည် ပါလာပြီးသားပဲ။</p><p>Competition, Cooperation, Recognition.</p><p>Competition ရှိရင် motivate ဖြစ်မယ်။ လူ.သဘာဝအရ သူများထက်သာချင်တာကိုး နိုင်ချင်တယ်။ ဒါသည် မွေးရာပါ ပါလာတဲ့ survive ဖြစ်စေတဲ့ instinct မျိုး ။နောက်တခုက cooperation အချင်းချင်းချိတ်ဆက် ပြီး ပူးပေါင်းဆောင်ရွက်တာမျိုးကလဲ motivation ကိုဖြစ်စေတယ်။ Recognition ကျတော့ ဥပမာ ဆုတွေရတာမျိုး အသိအမှတ်ပြုခံရတာမျိုး ဒါမျိုးဆိုရင်ကို motivate ဖြစ်တယ်။</p><p>ခုနက အချက်အားလုံးသည် game တွေမှာရှိတယ်။ ဒါကြောင့် game တွေကို စွဲစွဲမြဲမြဲဆော့ကြတာ။ Motivate လုပ်ပြီးသားဖြစ်နေတာကိုး။</p><p>ခုနက Motivation နဲ.ပတ်သတ်ပြီးထုတ်ထားတဲ့ theory တွေရှိတယ်။</p><p>Intrinsic and Extrinsic Motivation Theory</p><p>Intrinsic motivation ဆိုတာ အပြင်က ဘာမှ လုပ်စရာ မလိုပဲ မွေးရာပါ ပါလာတာမျိုးကိုဆိုချင်တာ။ ဥပမာ လူတွေသည် အသက်ရှင်ချင်တယ်။ ဂရုစိုက်မှု.ခင်ချင်တယ်။ စူးစမ်းချင်တယ်။ ဒါမျိုးသည် မွေးရာပါ ပါလာတာ။ Challenge, Curiosity, Control, Fantasy အဲ့ကောင်တွေက intrinsic motivation ထဲမှာပါတယ်။ Intrinsic motivation ရှိဖို.ကျတော့ will power နဲ. positive attitude ရှိဖို.လိုတယ်။</p><p>Extrinsic ကျတော့ သူက ပြင်ပကနေ motivate ဖြစ်အောင် လှုံ.ဆော်ပေးရတာ ။ ဥပမာ ဒီကျောင်းသားက ဒီအတိုင်း စာကို စိတ်မဝင်စားဘူး။ ဒါဆိုရင် ဆုပေး ဒဏ်ပေးစနစ် ပြိင်ပွဲလုပ်လို.ဖြစ်ဖြစ် မပုကြွယ်နဲ. ခရုငယ်ပုံပြင်ထဲကလိုပေါ့ ဒါသည် extrinsic motivation ပဲ။ခုနက extrinsic motivate လုပ်ပေးရင်းနဲ. သူ.ဟာသူ အရှိန်ရလာပြီး intrinsic motivation ဖြစ်လာနိုင်တယ်။</p><p>Self Determination Theory</p><p>လူတွေက သူတို.ရဲ. physical mental need တွေနဲ.ကို်က်ညီရင်ပိုြ့ပီး motivate ဖြစ်တယ်။ဥပမာ တနေ.လုပ်မှ တနေ.စားရတဲ့သူကို မင်းစာအုပ်ဖတ်ပါလား တိုးတက်မယ်လို.ပြောရင် လုပ်ချင်မှလုပ်မယ်။ သူ.ခမျာ စာအုပ်ဝယ်ဖို. ဖတ်ဖို. အားမှလဲအားမှာကိုး။ ဒါပေမဲ့ ဒီစာအုပ်ဖတ်လိုက်ရင်တော့ မင်းလုပ်နေတဲ့ စိုက်ပျိုးရေး အောင်မြင်တဲ့နည်းတွေရှိတယ်။ ဒါမျိုးကိုကျတော့ self determination theory လို.ခေါ်တယ်။ တဦးချင်းကိုက်တာ ပေးတာပေါ့။</p><p>Social Cognitive Theory</p><p>ဒါကျတော့ လူအုပ်ထဲမှာ သူများတွေ လုပ်နေတာ ကိုင်နေတာကိုကြည့်ပြီး learn လုပ်စေချင်စိတ်ဖြစ်လာတာ။ ပြပွဲတွေ ပြိုင်ပွဲတွေ လုပ်တာသည် ဒီသဘောပဲ။ အဲ တခုတော့ရှိတာပေါ့။ ပြပွဲပြိုင်ပွဲတွေမှာ ဘာပြသလဲဆိုတာတော့ရှိတယ်။</p><p>Expectancy Theory</p><p>ဒါကျတော့ ဒါတွေတတ်ထားရင် ဘယ်လောက် အလုပ်အကိုင်အခွင့်အလမ်းသေချာတယ်။ ငါတော့ ကြိုးစားမှဖြစ်မယ် ကြိုးစားသလောက်လဲ အကျိုးရှိနိုင်တယ်။ အဲ့လို expectation အပေါ်မူတည်ပြီး ဖြစ်လာတာ။. အလုပ်အကိုင် အခွင့်အလမ်းရ ကောင်းမယ် ခိုင်မာမယ်ဆိုရင် learn လုပ်ဖို. ပို motivate ဖြစ်စေတယ်ပေါ့။</p><p>ARCS Model</p><p>(A)Attention</p><p>ကျောင်းသားကိုစိတ်ဝင်စားအောင်လုပ်တာ ဟေ့ဒါက ဘယ်လောက်ရမယ်ထင်လဲ မှန်းကြည့် လက်တွေ.ပြကြည့် တွေ.လား လွဲတယ် ။ဒါဆို attention ရပြီ။ထင်မှတ်မထားတာတွေ suprise ပြတာမျိုးကို ဆိုချင်တာ။ မဟုတ်ရင် ဘယ်သူမှ စိတ်မဝင်စားဘူး။အင်္ဂလိပ်လိုရေးထားတာကို မြန်မာလို ကပေါက်တိကပေါက်ချာ ဘာသာပြန်ပြရင်ပိုဆိုးတာပေါ့။ နောက် ဟာသတွေထဲ့ပြောတာ ရံဖန်ရံခါပေါ့။ မေးခွန်းတွေ မေးတာ သူတို.ကို သင်နေတဲ့အထဲပါနေအောင် လုပ်တာ။ သူတို. နားလည်နိုင်တဲ့ example တွေပြတာ။ မြင်သာအောင်ပြောတာ။ ရှင်းပြတာ ။ ဒါတွေကနေ attention ရမယ်။ အဲ့တာကနေ motivate ဖြစ်မယ်။</p><p>(R)Relevance</p><p>ဒါကတော့ Why ပေါ့ ဘာကြောင့်သင်နေရတာလဲ ဘာအတွက်အကျိုးရှိတာလဲ။ ခုလက်ရှိဘယ်နေရာ အသုံးဝင်လဲ နောင်ကျ ဘယ်နေရာအသုံးဝင်မလဲ။ ဘယ်လောက်တန်ဖိုးရှိလဲ ။ ဒါတွေမသိရင် စိတ်မဝင်စားနိုင်ဘူး။</p><p>© Confidence</p><p>ကျောင်းသားကို သူသင်နေရတာနဲ.ပတ်သတ်ပြီး တန်ဖိုးရှိတယ် အသုံးဝင်တယ် သူဒါကိုသိထားရင် ပိုကောင်းမယ် ပိုပြီး အကျိုးရှိမယ်ဆိုတာ သိအောင် လုပ်တာ။ ဘယ်သူမှ ဘာမှန်းမသိတဲ့ အရာကြီးမလုပ်ချင်ဘူး အဓိပ္ဗာယ်လဲ မရှိဘူး။</p><p>(S) Satisfaction</p><p>Learn လုပ်ရတာကနေ အကျိုးရှိပါလား သင်ရတာ နားလည်ရလွယ်ပါလား ငါတော့ အသုံးကျပါလားဆိုတာတွေ ပေးလိုက်နိုင်ရင် satisfy ဖြစ်မယ်။ ငယ်ငယ်က သင်ခန်းစာမှာ မပါတာသွားမေးတော့ ဒါစာမေးပွဲမှာ မပါဘူးတဲ့ ။ အဲ့လို satisfication မျိုး မဖြစ်ဖို.လိုတယ်။ စာမေးပွဲ အောင်ဖို. လောက်ပဲဆိုတဲ့ satisfaction ထက် ဘဝ အာမခံချက်ပေးနိုင်တယ်ဆိုတဲ့ satisfaction ကပိုကောင်းမယ်။</p><p>အဆုံးသတ် အကျဉ်းချုပ်ရရင် ကျောင်းသားတွေ စာစိတ်မဝင်စားတာသည် Intrinsic motivation မရှိလို.သော်လည်းကောင်း ARCS model အရ အကုန်လွဲနေလို.သော်လည်းကောင်းဆိုတဲ့ အဖြေရပါကြောင်း</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=73535c8e2a26" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[နည်းပညာရပ်ဆိုင်ရာ စာအုပ် စာတမ်းတွေကို ဘယ်လိုဖတ်မလဲ]]></title>
            <link>https://thetkhine.medium.com/%E1%80%94%E1%80%8A%E1%80%BA%E1%80%B8%E1%80%95%E1%80%8A%E1%80%AC%E1%80%9B%E1%80%95%E1%80%BA%E1%80%86%E1%80%AD%E1%80%AF%E1%80%84%E1%80%BA%E1%80%9B%E1%80%AC-%E1%80%85%E1%80%AC%E1%80%A1%E1%80%AF%E1%80%95%E1%80%BA-%E1%80%85%E1%80%AC%E1%80%90%E1%80%99%E1%80%BA%E1%80%B8%E1%80%90%E1%80%BD%E1%80%B1%E1%80%80%E1%80%AD%E1%80%AF-%E1%80%98%E1%80%9A%E1%80%BA%E1%80%9C%E1%80%AD%E1%80%AF%E1%80%96%E1%80%90%E1%80%BA%E1%80%99%E1%80%9C%E1%80%B2-4737b4cb5b05?source=rss-1af4c3bc5033------2</link>
            <guid isPermaLink="false">https://medium.com/p/4737b4cb5b05</guid>
            <dc:creator><![CDATA[Thet Khine]]></dc:creator>
            <pubDate>Mon, 04 Jan 2021 13:57:15 GMT</pubDate>
            <atom:updated>2021-01-04T13:57:15.938Z</atom:updated>
            <content:encoded><![CDATA[<p>နည်းပညာရပ်ဆိုင်ရာ စာအုပ် စာတမ်းတွေကို ဘယ်လိုဖတ်မလဲလေ့လာမလဲဆိုတာ Self study လုပ်ချင်သူများအတွက် အရေးပါတဲ့ ကိစ္စတခုပါ။</p><p>စာဖတ်တာများ လွယ်လွယ်လေး စာအုပ်ဖွင့်ပြီး ဖတ်လိုက်လေကွယ်လို. လွယ်လွယ်လေး မပြီးပါ။ ပထမဆုံးကတော့ English စာကို ကျွမ်းကျွမ်းကျင်ကျင် မဟုတ်တောင် ဆိုချင်တာက IELTS score ဘယ်လောက် ဘာညာ ရမှ မဟုတ်ဘူး ဒါပေမဲ့ simple sentence တွေလောက်ကို နားလည်နိုင်တဲ့ အဆင့်ရှိဖို.လိုပါတယ်။ ဘာလို.လဲဆိုတော့ နည်းပညာစာအုပ်မှန်သမျှကို English လိုသာ အရေးအများဆုံးပါ။ မြန်မာလို လိုက်ရှာနေရင်တော့ သိပ်အဆင်ပြေဦးမှာ မဟုတ်ပါဘူး။</p><p>ဘယ်စာအုပ်ကစဖတ်မလဲပေါ့။ ဒါကတော့ ကိုယ်နားလည်နိုင်တဲ့စာအုပ်ကနေ ဖတ်ပါလို.ပဲ အကြံပေးရမှာပါ။ လူတယောက်နဲ.တယောက် စာဖတ်အားကွာတဲ့အခါ အခြေခံ knowledge မတူပါဘူး။ အဲ့တော့ တယောက်နားလည်နိုင်တဲ့ စာအုပ်နဲ.နောက်တယောက်နားလည်နိုင်တဲ့စာအုပ်မတူပါဘူး။ ဒါကြောင့် ကိုနားလည်နိုင်တဲ့စာအုပ်က စဖတ်ပါလို. ဆိုပါရစေ။</p><p>နောက်တခုက technical term တွေဝေါဟာရတွေသည် English လိုတိုက်ရိုက်ပြန်ုလို.မရတဲ့ အတွက် အချိန်အတိုင်းအတာတခုရောက်မှသာ အပြည့်အဝ နားလည်လာပါလိမ့်မယ်။ဆိုချင်တာ က စာအုပ်တအုပ်ကို လွန်ခဲ့တဲ့ တနှစ်ကဖတ်လို. နားလည်ထားတာနဲ. အခုဖတ်လို. နားလည်လာတာ မတူနိုင်ပါဘူး။ ဘာလို.လဲဆိုတော့ကို.မှာရှိတဲ့ knowledge ကွာသွားလို.ပါ။</p><p>မြန်မာ့ကျောင်းသားတွေ တွေ.ရတဲ့ ပြဿ နာက တော့ term poison လို.ခေါ်ရမဲ့ပြဿ နာပါ။ ဘာလဲဆိုတော့ term တခုခုကိုတွေ.လိုက်ရင် အဲ့ term ကြီးက ကြားဖူးတယ် အော်ကျက်ဖူးတာကိုး ရင်းနှီးတယ် အဲ့တော့ ဒီ term ကိုနားလည်တယ်လို. တလွဲထင်သွားရော။ အဲ့မှာတင်စမှားတာပါ။ ငါက တကယ်နားလည်တာလား ကြားပဲကြားဖူးတာလားကို ရှင်းအောင်လုပ်ပါ။</p><p>နောက်တခုက စာကို တနေ.စာမျက်နှာဘယ်လောက်ဆိုပြီးဖတ်တဲ့သူတွေ တွေ.ဖူးပါတယ်။ စာဖတ်တယ်ဆိုတာ အသိဉာဏ်ကို စိန်ခေါ်နိုင်အောင် ပိုသိအောင် ဖတ်ရတာပါ။ စာမျက်နှာ ဘယ်နှမျက်နှာဖတ်နိုင်သလဲဆိုတာ ပြိုင်နေတာမဟုတ်ပါဘူး ။ နားလည်အောင် ဖတ်ဖို.အရေးကြီးတာပါ။ စာတကြောင်းနဲ. တပတ်လောက်တိုင်ပတ်နေတာလဲ သာမာန်ပါပဲဖြစ်နေကြပါပဲ ။သူများတွေလဲ ဒီလိုပဲလို.သာမှတ်ပါ။</p><p>လက်တွေ.နိုင်တဲ့ဆိုင်တဲ့ သင်ခန်းစာတွေကို လက်တွေ.လုပ်ကြည့်ပါ။ Deep Knowledge နဲ. shadow knowledge ကိုခွဲခြားသိပါ။ ဥပမာ paper တစောင်ထဲမှာရေးထားတဲ့ Neural network training နဲ.ပတ်သတ်တဲ့ algorithm တခုကို program ရေးနိုင်တာဟာ pseudo code ကနေ program ကိုရေးနိုင်တဲ့အဆင်ပါ။ ဒါက shadow knowledge ပါ။ ဆိုချင်တာက algorithm ကို code လုပ်နိုင်ယုံနဲ. ပြီးသွားတာမဟုတ်ပါဘူး။ ဒါက What နဲ. How ကိုပဲသိသေးတာပါ။ ဒီ Algorithm ဘာကြောင့်ဒီလိုအလုပ်လုပ်သလဲ Why ကိုမေးခွန်းထုတ်ရမှာပါ။ ဥပမာ Neural Network မှာဆို weight တွေကို ဘာကြောင့် update လုပ်သလဲ သူ. equation တွေက ဘာကြောင့်အဲ့လိုဖြစ်နေတာလဲဆိုတာကို သိအောင်လုပ်ပါ။ Error function ကဘယ်ကနေရတာလဲ ဆိုတာသိအောင်လုပ်ပါ။ ဒါတွေမသိသေးပဲနဲ. pseudo code ကို program ရေးနိုင်ယုံနဲ. ဒီ အကြောင်းသိပြီလို. ထင်နေရင် မိုက်တာပါပဲ။ Computer Science မှာကို.ထက်ဆရာကျတဲ့ လူတွေ နှစ် လေးငါးဆယ်လောက် လေ့လာထား သုတေသနလုပ်ထားတာကို ၂ပတ်လောက်နဲ. လုပ်နိုင်တယ်ကွဆိုရင်တော့ သေချာပါတယ်။ Pseudo code ကနေ code ဖြစ်အောင်ရေးနိုင်တာပါ။ Why ကနေ Why not ဆိုတာကိုမေးပါ။ ဒီ Neural network မှာ ဒီလို rule တွေနဲ.အ လုပ်လုပ်တာကိုသိပြီ ဒါပေမဲ့တခြားနည်းလမ်းမရှိဘူးလား ဆိုတာကိုမေးရမှာပါ။ (Nerual network မှာ backpropagation training algorithm က Error function ဆိုတာက Geometric plane မှာ data point တွေကို distance ရှာတာကနေစတာပါ။ နီးလေတူလေပေါ့။ ဝေးလေ မတူလေပေါ့။ ) Weight ကို update လုပ်တဲ့ Equation က ခုနက Error function ကို differentiate လုပ်ပြီး error slope ကိုလျော့သွားအောင် လုပ်တာပါ။ ကျောင်းမှာ Differential equation တွေကို manual method နဲ.တွက်သလို တဖြည်းဖြည်းချင်း error နည်းသွားအောင် တွက်ယူရတာပါ။</p><p>နောက် ကိုဖတ်ထားတာတွေကို တခုခုမှာ အသုံးချကြည့်ပါတယ် ။ ပညာဆိုတာ တကယ်သုံးနိုင်မှ တကယ်တတ်တယ်လို.ဆိုရမှာပါ။ မသုံးနိုင်သေးရင် တကယ်မတတ်သေးဘူးလို.ပဲ ဆိုရမှာပါ။ တကယ်မလုပ်တတ်ပဲနဲ. ကြုံရင်ကြွားဖို. ဖတ်တာလောက်လဲ မလုပ်ပါနဲ.။ သက်သက် အချိန်ကုန်ပါတယ်။</p><p>ကိုဖတ်နေတဲ့စာအုပ်တွေနဲ. ဆက်စပ်စာအုပ်တွေကိုလွယ်လွယ်သိချင်ရင် <a href="https://l.facebook.com/l.php?u=http%3A%2F%2FAmazon.com%2F%3Ffbclid%3DIwAR2d-3UL7PUreFCrFvcF9zu095x80KI2TPKb4Ml2UQExWaqJizFp1if30Co&amp;h=AT1mAB1qz5g_h_eSfE0ZlENWTv-zK5-dzO3DLwEHBtXIcRjJMaeZMa-WPhCYFxKlQlO79CEUhPaRide7-OFlE5B_cc6o83dD3nMv058Y6tHIRTwtYkvYp0xgJbdKSCVgixyrV5o&amp;__tn__=-UK-R&amp;c[0]=AT1mKb7g-vbYsb9rnJ1x8s6bikEFgsZ-JZEiAQHD1NUitRSUEz2jC-csywY1ehBW7Y2PB4uVTz8nQt_kXfkrp7NxSeVVZHwdNmjPVPIFXyRZWxk3Un_v445QtXLETFvCA8dr9tEUUXHzUwvTw1fcd3l_p2FlN9oOFUgomQilKgYHQtTUUaY">Amazon.com</a> မှာ ကိုဖတ်နေတဲ့စာအုပ်ကိုရှာကြည့်ပါ။ သူနဲ.ဆိုင်တဲ့ ဆက်နွယ်နေတဲ့စာအုပ်တွေ ပြပါလိမ့်မယ်။</p><p>နောက်ထပ်စာအုပ်အသစ်ဖတ်တဲ့အခါ ကိုမသိသေးတာကိုဖတ်ပါ။ ဖတ်လိုက်တိုင်းနားလည်နေရင်တော့ သေချာပါတယ်။ ကိုနားလည်တာကိုပဲ ရွေးဖတ်နေတယ်ဆိုတာ သဘောပေါက်ပါ။ အသိဉာဏ်တိုးဖို. ဖတ်ပါ။ ပါဝါတိုးဖို. မဖတ်ပါနဲ။</p><p>Self Study သမားတွေအတွက် Theoretical စာအုပ်ကောင်းကောင်း ဘယ်လိုရှာရမလဲဆိုရင် လွယ်ပါတယ် အွန်လိုင်းမှာ တခြားနိုင်ငံက တက္ကသိုလ်တွေ ဘာတွေ သင်ရိုးလုပ်သလဲ သူတို.ဘာတွေသင်သလဲ ဘယ်စာအုပ်တွေသင်သလဲ လေ့လာပါ။ Programmer တွေအတွက်ကျတော့ စာအုပ်တွေတင်မကပဲ Open Source code တွေကိုပါ ဖတ်ပါ။ ဒါမှ ကို.ထက် skill မြင့်တဲ့ Developer တွေဆီကနေ သင်ယူလို.ရမှာပါ။</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4737b4cb5b05" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>