<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Thnawat Gulati</title>
    <description>The latest articles on DEV Community by Thnawat Gulati (@t6tg).</description>
    <link>https://dev.to/t6tg</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F325382%2F8ea5e756-8269-4673-9e4c-d9f85a45634d.webp</url>
      <title>DEV Community: Thnawat Gulati</title>
      <link>https://dev.to/t6tg</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/t6tg"/>
    <language>en</language>
    <item>
      <title>Git and github 101 - พื้นฐาน git และ github</title>
      <dc:creator>Thnawat Gulati</dc:creator>
      <pubDate>Thu, 03 Dec 2020 17:21:21 +0000</pubDate>
      <link>https://dev.to/t6tg/git-and-github-101-git-github-1lh9</link>
      <guid>https://dev.to/t6tg/git-and-github-101-git-github-1lh9</guid>
      <description>&lt;p&gt;ก่อนอื่นต้องเล่าถึงการทำงานของ git ก่อน git คือ version control ตัวหนึ่งในท้องตลาดที่มีความนิยมสูงสุด ปกติ git จะอยู่บน Computer เราเป็นตัวควบคุมเวอร์ชั่นของงานเรา คุณเคยประสบปัญหากับการที่ต้อง Save ไฟล์ซำ้กันมั้ยเช่น Project-Final.pdf&lt;/p&gt;

&lt;p&gt;พอเอาไปแก้ไขก็ไม่อยากจะเซฟทับไปเรื่อยๆก็เลยสร้างไฟล์ใหม่เป็น Project-final-2.pdf , Project-final-final.pdf ไปเรื่อยจน ตอนแรกในโฟล์เดอร์มี แค่ไฟล์เดียขนาด 20 MB ไปๆมา 500-600 MB&lt;/p&gt;

&lt;p&gt;แล้วคราวนี้ที่มาของ Github ละ ทำไมเราต้องใช้ github ละ ในเมื่อไฟล์ก็อยู่บนเครื่อง และก็ใช้ git ควบคุมเวอร์ชั่น ไป ก็ต้องถามกลับว่าเคยทำไฟล์หายมั้ย อยู่ดีเครื่องพัง ฮาร์ดดิสก์ เจ๊ง!!!!!&lt;/p&gt;

&lt;p&gt;นั่นแหละคือสิ่งที่ Github จะแก้ปัญหาได้คือ การทำไฟล์ไปวางไว้บน git server และ git และ github มีประโยชน์นอกจากจะเป็นตัวควบคุมเวอร์ชั่นแล้ว ยังสามรถทำแะไรได้อีกหลายอย่างเช่น Code Review , สามารถ Track การแก้ไข Code , issues , branch&lt;/p&gt;

&lt;h2&gt;
  
  
  การติดตั้ง Git
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnhktrzftbcwf6pc05vdq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnhktrzftbcwf6pc05vdq.png" alt="install" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;สามารถเลือกดาวน์โหลด ได้ตามระบบ ปฏิบัติการที่ใช้อยู่ได้เลย&lt;/p&gt;

&lt;p&gt;หลังจากติดตั้ง git แล้วให้เป็น Teminal บน Mac,Linux หรือ Command Line บน Windows และทดลองใช้คำสั่งตามนี้&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git --version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;ในหน้า Command Line หรือ Termainl จะต้องแสดง version ของ git ประมาณภาพด้านล่างนี้&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8dzx2y5icmpgoz8dmu0p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8dzx2y5icmpgoz8dmu0p.png" alt="teminal-1" width="384" height="64"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;หลังจากเราได้ทำการติดตั้ง และ ทดลองเรียนร้องแล้วเราจะมาลองดูฝั่งของ Github ดูบ้าง การใช้งาน github ต้องสมัครสมาชิกก่อน โดยเข้าที่เว็บ &lt;br&gt;
&lt;a href="https://github.com" rel="noopener noreferrer"&gt;https://github.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fplcnljhjdy2bnwn9kcdn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fplcnljhjdy2bnwn9kcdn.png" alt="github-regis" width="800" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ให้สมัครสมาชิก ใส่ username , email , password และ ทำตามขั้นตอนที่ ทางเว็บเขาให้ทำ หลังสมัครสมาชิกเสร็จแล้วก็พร้องที่จะลองทำการ สร้าง Repository แรกในชีวิตแล้ว&lt;/p&gt;

&lt;p&gt;ให้มาที่หน้า Profile ของตัวเองโดยการเข้า Link : &lt;a href="https://github.com/%E0%B8%8A%E0%B8%B7%E0%B9%88%E0%B8%AD" rel="noopener noreferrer"&gt;https://github.com/ชื่อ&lt;/a&gt; username ที่ใช้ตั้งไปตอนสมัครสมาชิก นี่คือหน้าโปรไฟล์ของคุณ&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpqjjyzm1skh92ror441g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpqjjyzm1skh92ror441g.png" alt="new-repo" width="329" height="139"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ให้มาที่ปุ่ม + ด้านบนขวาแล้วก็กด New Repioitory&lt;br&gt;
หลังจากกดเข้าไปแล้วหน้าเว็บจะพาไปสร้าง Repo ของคุณ&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3kkplecj2yc156bywa54.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3kkplecj2yc156bywa54.png" alt="create-repo" width="770" height="669"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ช่อง Repository name : ให้ใส่ชื่ออะไรก็ได้ แต่ตามปกติที่จะใส่กันคือ ชื่อ ของ Project ที่จะทำ&lt;/p&gt;

&lt;p&gt;ช่อง Description : สามารถใส่รายระเอียดของ Project เข้าไป ( ใส่หรือไม่ก็ได้ )&lt;/p&gt;

&lt;p&gt;Radio Button [ Public, Private ] ถ้าต้องการให้คนอื่นสามารถเข้าถึง Repo ของเราได้ ให้เลือก public แต่ถ้าหากไม่ต้องการให้เข้าถึง Repo ของเราก็ให้เลือก Private&lt;/p&gt;

&lt;p&gt;ช่อง Initialize this repository with a README ยังไม่ต้องติ๊กก็ได้ แต่ถ้าใคร่อยากจะติ๊ก ก็เชิญได้ตามสบาย หลังจากทำทุกขั้นตอนแล้สก็ให้ก็ Create repository ได้เลย&lt;/p&gt;

&lt;p&gt;หลังจากสร้างโปรเจ็ค ไปแล้วจะพบหน้าตาประมาณในภาพ กรณีที่ไม่ได้ติ๊ก Readme นะ&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqvv6frbbziux48cz6dvq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqvv6frbbziux48cz6dvq.png" alt="test-repo" width="800" height="531"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;คราวนี้เรากลับมาที่คอมพิวเตอร์ของเรา ที่ผมจะยกตัวอย่างให้ดูนี้คือ ผมสร้างโฟล์เดอร์ใหม่ในคอม ในโฟล์เดอร์ ผมใส่ไฟล์ Reamme.md ไว้&lt;/p&gt;

&lt;p&gt;ผม ใช้ Command line เข้าไปที่ โฟล์เดอร์ ที่ผมจะ push ไฟล์ขึ้นไป หาก โฟลเดอร์ ถูกสร้างขึ้นมาใหม่ ให้ใช้คำสั่ง&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;เพื่อที่ทำการ initialize ตัว .git ขึ้นมา หลังจากใช้คำสั่ง init ไปแล้ว ให้ใช้คำสั่งที่จะทำการ add ไฟล์ คือ คำสั่ง&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;add และตามด้วย จุดคือ add ทุกไฟล์ แต่ถ้าหาต้องการ add เฉพาะบางไฟล์หรือบางโฟลเดอร์ ให้ใช้คำสั่ง&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add ชื่อโฟล์หรือโฟลเดอร์
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;หลังจาก Add เสร็จเราจะต้องทำการ Commit อธิบายแบบง่ายๆ คือ เหมือนแบบ add เสร็จ เราก็เอา ที่ add ไป แพ็คใส่กล่อง และแปะ ชื่อ และ ก็รหัสพัสดุ ประมาณนั้นแหละ โดยการใช้คำสั่ง&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit -m "ข้อความที่อยากจะเขียน เอาไว้สื่อให้เราได้รู้ว่าเราทำอะไรไปบ้าง"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;พอเรา commit เสร็จมันจะขึ้นประมาณนี้&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkfi83mki8uklf6lwerj8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkfi83mki8uklf6lwerj8.png" alt="commit" width="669" height="129"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ตอนนี้เราก็ได้ version control บนเครื่องละ หลังจากที่ถ้ามีการแก้ไขไฟล์ก็ทำแค่ add . และก็ commit แต่คราวนี้อย่างที่บอกไปตอนแรกว่านี่เราแค่เก็บไว้บนเครื่องยังไม่ได้ทำการเอาไปเก็บบน github server&lt;/p&gt;

&lt;p&gt;วิธีการเอาขึ้นไปบน github ก็คือ จะต้อง Remote เข้าไปก่อน อธิบาย Remote ง่ายๆคือ เหมือนการจูนให้ คอมเรา สัญญาณตรงกับ github repo ที่สร้างขึ้นมา อันนี้คืออธิบายแบบไม่ใช่เทคโนโลยีนะ&lt;/p&gt;

&lt;p&gt;การ Remote ใช้คำสั่งตามนี้&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote add origin https://github.com/ชื่อusername/ชื่อrepo 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;พอหลังจาก Remote ไปแล้วก็ถึงขั้นตอนการ push ขึ้นไปบน github โดยการใช้คำสั่ง&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push -u origin master
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;มันจะถูก push ขึ้นไปอยู่บน master branch ตามภาพ&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fatgxy11b3veai1t0tlbg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fatgxy11b3veai1t0tlbg.png" alt="push" width="669" height="175"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;และถ้าเราลองกลับไปดูที่ browser ที่ repo เราลอง refresh ดู มันจะมีไฟล์เราขึ้นไปอยู่บน github เรียบร้อย ตามภาพด้านล่าง&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr6czigpszoz9ngj8nlqh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr6czigpszoz9ngj8nlqh.png" alt="github.com" width="800" height="410"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;แล้วหลังจากนี้ถ้าหารเราแก้ไขก็ทำตามขั้นตอนที่ผ่านมา คือ&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1) add
2) commit
3) push
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;เท่านี้เราก็ทำ version control พร้อมกับเอาไปเก็บ บน github ได้เรียบร้อย เดียวตอนหน้าๆ เราจะลองมาสอนการ แตก branch และ อื่นๆอีกมากมายฝากติดตามด้วยนะครับ หากมีอะไรผิดพลาดประการใดขออภัย ณ ที่นี้&lt;br&gt;
ติดตามเพื่มเติมที่&lt;/p&gt;

&lt;p&gt;Github : &lt;a href="https://github.com/t6tg" rel="noopener noreferrer"&gt;t6tg&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>github</category>
      <category>git</category>
      <category>bash</category>
    </item>
    <item>
      <title>การแปะ Github gist บน medium</title>
      <dc:creator>Thnawat Gulati</dc:creator>
      <pubDate>Mon, 01 Jun 2020 17:24:26 +0000</pubDate>
      <link>https://dev.to/t6tg/github-gist-medium-1a97</link>
      <guid>https://dev.to/t6tg/github-gist-medium-1a97</guid>
      <description>&lt;p&gt;วิธีการนำ Github gist มาแปะบนหน้าเว็บ medium หรือ เว็บอื่นๆ&lt;/p&gt;

&lt;p&gt;ขั้นตอนที่ 1 ให้มาที่เว็บ&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gist.github.com/" rel="noopener noreferrer"&gt;Discover gists&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;และให้ไปที่ หน้าโปรไฟล์ของตัวเองก่อน จะได้หน้าตา github gist ของตัวเอง&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl0pvuwauxyezz4aqkp03.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl0pvuwauxyezz4aqkp03.png" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;วิธีการเพิ่ม gist ก็คือให้กดปุ่มบวกใกล้ๆกับ รูปโปรไฟล์&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx1ijvtnpfn8qehbhugr0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx1ijvtnpfn8qehbhugr0.png" width="169" height="86"&gt;&lt;/a&gt;Add new gist&lt;/p&gt;

&lt;p&gt;พอหลังจากที่เรา กดเครื่องหมาย “+” แล้วจะพาเรามาที่หน้านี้ให้เราใส่ description ใส่ชื่อไฟล์ และก็ใส่ Code ของเราลงไปตามช่อง หลังจากเสร็จให้เรากด Create public gist นะ เพราะถ้า private จะแปะไม่ได้&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffb5bi1jojtvv99l0br9o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffb5bi1jojtvv99l0br9o.png" width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;พอหลังจากที่เรา Create เรียบร้อยจะได้หน้าตาประมาณนี้&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbac6bdax8o2o7enhss4g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbac6bdax8o2o7enhss4g.png" width="800" height="386"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ให้กดปุ่ม Embed แล้วเลือกเป็น Share สำหรับที่จะไปแปะบน medium แต่ถ้าจะไปแปะบนเว็บให้ใช้ embed แบบเดิม&lt;/p&gt;

&lt;p&gt;แล้วก็เอา link ที่ได้ไปแปะบน medium แล้วกด enter ได้เลย แล้วมันก็จะขึ้นแบบนี้เลยยย&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;แค่นี้เราก็ได้ github gist มาแปะลงบนเว็บเราให้ Code ดูง่ายๆแล้วววววววววววววววว&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F498%2F0%2AWsG6sya5f1zSrdvE" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F498%2F0%2AWsG6sya5f1zSrdvE" width="498" height="389"&gt;&lt;/a&gt;&lt;/p&gt;




</description>
      <category>devops</category>
      <category>github</category>
      <category>microsoft</category>
      <category>programming</category>
    </item>
    <item>
      <title>Cloud Firestore , ReactJS and deploy on Firebase Hosting [ EP.1 ]</title>
      <dc:creator>Thnawat Gulati</dc:creator>
      <pubDate>Mon, 01 Jun 2020 16:58:04 +0000</pubDate>
      <link>https://dev.to/t6tg/cloud-firestore-reactjs-and-deploy-on-firebase-hosting-ep-1-208l</link>
      <guid>https://dev.to/t6tg/cloud-firestore-reactjs-and-deploy-on-firebase-hosting-ep-1-208l</guid>
      <description>&lt;h3&gt;
  
  
  Cloud Firestore , ReactJS and deploy on Firebase Hosting [EP.1 ]
&lt;/h3&gt;

&lt;p&gt;เราจะมาลองทำเว็บด้วย Firebase Cloud Firestore และ Hosting กันมาดูกันว่าเราจะทำยังไง&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faj94ehti5y1z8v6pdfit.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faj94ehti5y1z8v6pdfit.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ต้องเล่าก่อนว่า Cloud Firestore คือ อะไร Cloud Firestore มันก็เปรียบเสมือน NoSQL Database คล้ายๆ กับ MongoDB แต่ส่ิงที่ดีของ Firebase คือ Eco System ที่ดี ไม่ว่าจะ Firebase Auth , Hosting , Realtime Database , Storage อื่นๆอีกมากมาย&lt;/p&gt;

&lt;p&gt;มา เรามาเริ่มกันเลยดีกว่าก่อนอื่นสิ่งที่ต้องทำสิ่งแรกคือ ติดตั้ง Firebase-toolsโดยใช้คำสั่งดังนี้ เพื่อที่จะติดตั้ง Firebase-tools แบบ Global&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ yarn global add firebase-tools 
หรือ 
$ npm i firebase-tools -g
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fphfuj2fmlvib7hkm0x1q.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fphfuj2fmlvib7hkm0x1q.gif" width="474" height="328"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;และหลังจากการติดตั้งเสร็จสมบรูณ์จะต้องทำการ Login โดยใช้คำสั่งนี้เพื่อเข้าสู่ระบบ&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ firebase login
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;หลังจากพิมพ์คำสั่งนี้ ระบบจะเด้งเปิด Browser ให้ Login ผ่าน Google Account&lt;/p&gt;

&lt;p&gt;พอทำการ Login เสร็จ คราวนี่เราดูฝั่งของ Fronted กันต่อ ก่อที่จะทำการ Config Firebase Firestore และ Firebase Hosting วิธีการติดตั้ง React โดยการใช้คำสั่งตามนี้&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ npx create-react-app [ชื่อที่อยากจะตั้ง]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;แล้วหลังจากที่เราเข้ามาในโฟลเดอร์แล้วให้ใช้คำสั่ง&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ yarn start
หรือ 
$ npm start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;สามารถ run ได้ หน้าตาประมาณนี้&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdpd8ro73l26vl44iwc4x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdpd8ro73l26vl44iwc4x.png" width="800" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ให้แก้ไฟล์ package.json ตามนี้&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/media/563e16e47ce73e2b478ad7c6a21f4c4d/href" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://medium.com/media/563e16e47ce73e2b478ad7c6a21f4c4d/href" rel="noopener noreferrer"&gt;https://medium.com/media/563e16e47ce73e2b478ad7c6a21f4c4d/href&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;พอเราแก้ไขไฟล์ package.json กันแล้ว เราก็มาที่ไฟล์ src/App.js ลองแก้ไขประมาณนี้ดู&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/media/c56d247924dfebdddb55e10c02095f72/href" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;a href="https://medium.com/media/c56d247924dfebdddb55e10c02095f72/href" rel="noopener noreferrer"&gt;https://medium.com/media/c56d247924dfebdddb55e10c02095f72/href&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbccnvh5qiao38nqesrhq.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbccnvh5qiao38nqesrhq.gif" width="480" height="270"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;หลักจากลองพิมพ์ตามด้านบนแล้วให้เข้า terminal แล้วของพิมพ์&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ yarn start
หรือ 
$ npm run start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4zxwu0d7nr5zg6rcyuqz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4zxwu0d7nr5zg6rcyuqz.png" width="638" height="342"&gt;&lt;/a&gt;Initial project&lt;/p&gt;

&lt;p&gt;ถ้าขึ้นแบบนี้ แสดงว่า run ได้ ปกติไม่มีปัญหาอะไร คราวนี้เรามา Config Firebase hosting กัน โดยการไปสร้างโปรเจ็คที่เว็บ&lt;/p&gt;

&lt;p&gt;&lt;a href="https://firebase.google.com" rel="noopener noreferrer"&gt;Firebase&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;โดยการทำตามขั้นตอนนี้&lt;/p&gt;

&lt;p&gt;ให้มาที่ Console เตือนละนะ ว่าจะต้องเป็น Account เดียวกับที่ firebase login&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F480%2F0%2AKLTg_CMuFdwH1JZa" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F480%2F0%2AKLTg_CMuFdwH1JZa" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;แล้วให้เลือก Add Project ปุ่มเพิ่ม ขนาดมหึมา&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5tqzlt9df1vgwi2gsqa7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5tqzlt9df1vgwi2gsqa7.png" width="800" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;จะได้มาหน้าแบบนี้ คราวนี้ก็ตั้งชื่อ project ที่อยากจะตั้ง ชื่ออะไรก็ได้ตรงนี้ตามใจ หลังจาที่ใส่เสร็จก็กด Continue และไปต่อกันโลดดดดดดดดดดดดดดดดด ทำตามสิ่งที่เขาให้ทำตามขึ้นตอน ก็จะได้ Project มาคราวนี้เรามา Initial firebase ใน Project กันดีกว่าโดยใช้คำสั่ง&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ firebase init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ilvr2qx3y8fwzla3574.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ilvr2qx3y8fwzla3574.png" width="800" height="116"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ให้เลื่อนลูกศรลงมาที่ hosting และ กด Spacebar แล้วก็กด Enter พอเรากด Enter ไปแล้วก็เลือก “ Use an existing project ” ก็กด enter ก็จะมี Project มาให้เลือก ก็เลือกตามที่สร้างไว้ได้เลย หลังจากนั้นทำตามภาพนี้&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52iztof89sf7l09pj0o0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F52iztof89sf7l09pj0o0.png" width="800" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;พอทำตามภาพเสร็จลอง ใช้คำสั่ง&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ yarn deploy 
หรือ 
$ npm run deploy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;แล้วเราจะได้ Link firebase เว็บกลับมาให้ลอง Click เข้าไปดูจะได้หน้าตาแบบ run ในเครื่องเลยยยยยยยยยยย&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7t3b37pc6vjxj3fvdqfj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7t3b37pc6vjxj3fvdqfj.png" width="664" height="268"&gt;&lt;/a&gt;Deploy to firebase hosting&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F720%2F0%2Ar6SeNzbNphWzCy6_" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F720%2F0%2Ar6SeNzbNphWzCy6_" width="720" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;เดียว EP.2 เรามาดูการเริ่มใช้ Firestore กัน&lt;/p&gt;

&lt;p&gt;สามารถติดตามเพิ่มเติมได้ที่&lt;/p&gt;

&lt;p&gt;&lt;a href="https://thanawatgulati.com" rel="noopener noreferrer"&gt;https://thanawatgulati.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/thanawatgulati" rel="noopener noreferrer"&gt;thanawatgulati - Overview&lt;/a&gt;&lt;/p&gt;




</description>
      <category>react</category>
      <category>programming</category>
      <category>coding</category>
      <category>javascript</category>
    </item>
    <item>
      <title>รีวิวคอร์ส Introduction Typescript‍</title>
      <dc:creator>Thnawat Gulati</dc:creator>
      <pubDate>Mon, 18 May 2020 09:45:38 +0000</pubDate>
      <link>https://dev.to/t6tg/introduction-typescript-1eim</link>
      <guid>https://dev.to/t6tg/introduction-typescript-1eim</guid>
      <description>&lt;p&gt;ต้องขอท้าวความก่อนว่าทำไมถึงมาเริ่มสนใจการใช้ Typescript ก็เพราะว่าได้เริ่มเรียนรู้และ เริ่มสนใจจากการได้เรียน กับ คอร์สสดของ The Self Made หากใครสนใจลองไปดูได้ที่ &lt;a href="https://shorturl.at/hwyJW" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;em&gt;คลิกที่นี่&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F960%2F0%2AbW6xfk0LtLfE5TEj" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F960%2F0%2AbW6xfk0LtLfE5TEj" width="960" height="959"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;แล้วได้ทดลองเปลี่ยนจากการเขียน JavaScript มาลงเป็น Typescript แล้วรู้สึกว่า Typescript ก็มีความเขียนสนุก วันนี้จะมาลองเขียน Typescript ตาม docs และที่พี่เขา ให้ลองดูๆเพื่อใครสนใจจะศึกษาเพิ่มเติม&lt;/p&gt;

&lt;p&gt;ก่อนอื่นต้องบอกก่อนว่า Typescript การเขียนจะต่างจาก Javascript เล็กน้อยตรงที่ Typescript จะต้องระบุ Type ให้กับ ไม่ว่าจะเป็น Variable หรือ Method อื่นๆ&lt;/p&gt;

&lt;h4&gt;
  
  
  ตัวอย่าง Data-Type
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Boolean / String / Number / Any&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const isLoadingTS: boolean = true; // Boolean แบบ Typescript
const cat: string = "CAT"; // String แบบ Typescript
const quantity: number = 300; // Number แบบ Typescript

// Number จะสามาระใช้ได้ แบบทั้ง Decimal , Hex , Octal , Binary
const deciamal:numebr = 100; 
const hex: number = 0xf66a0; // 0 - 9 &amp;amp; a - f
const binary: number = 0b00101; // 0 , 1
const octal: number = 0o31752; // 0 - 7
const anyType : any = "james" // สามาถใช้ Type อะไรก็ได้
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  ตัวอย่าง Method
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Void / Number / String / Boolean / Any&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// การ Return แบบ Void
const voidReturn = () : **void** =&amp;gt; {
    console.log("Hello World")
}

// การ Return แบบ Number
const numberReturn = () : **number** =&amp;gt; {
    const **num** : number = 10;
    return **num** ;
}

// การ Return แบบ String
const stringReturn = () : **string** =&amp;gt; {
    const **name** = "James";
    return **name** ;
}

// การ Return แบบ Boolean
const boolReturn = () : **boolean** =&amp;gt; {
    const **isLogin** = true;
    return **isLogin** ;
}

// การ Return แบบ Any
const boolReturn = () : **any** =&amp;gt; {
    const **word** = "Hello Any";
    return **word** ;
}

// การ Return แบบ Never สำหรับ method ที่ทำงานไม่สิ้นสุด
const boolReturn = () : **never** =&amp;gt; {
    **while(true) {  
 console.log("Hello From the outside");  
 }**  
}

// และถ้าหากมีการรับ parameter ก็จะต้องใส่. Type ให้กับ parameter ด้วย
const stringReturn/ = ( **name : string** ) : **string** =&amp;gt; {
    return **name** ;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;จะบอกว่าคอร์สนี้เป็นคอร์สที่ดีที่ได้ทั้งทำบุญ ได้ความรู้ และได้แรงบันดาลใจในการเขียน Typescript เพราะตอนแรกคือเคยลองเขียนเองแล้ว งง นิดหน่อย แต่นานมากละ หลังจากได้เรียนก็เปิดรับมันมากขึ้นและสนุกไปกับมัน&lt;/p&gt;

&lt;p&gt;ยังมีเรื่องอื่นๆอีกมากมายที่น่าสนใจไม่ว่าจะ Enum , interface , Gerneric Type ที่สามารถไปศึกษาเพิ่มเติมได้ที่&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/antronic/theselfmade-typescript" rel="noopener noreferrer"&gt;antronic/theselfmade-typescript&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ติดตามเราได้ที่&lt;/p&gt;

&lt;h2&gt;
  
  
  - &lt;a href="https://github.com/thanawatgulati" rel="noopener noreferrer"&gt;thanawatgulati - Overview&lt;/a&gt;
&lt;/h2&gt;




</description>
      <category>webdev</category>
      <category>computerscience</category>
      <category>programming</category>
      <category>typescript</category>
    </item>
    <item>
      <title>คอร์สสอน NodeJS พื้นฐาน By Coursedex</title>
      <dc:creator>Thnawat Gulati</dc:creator>
      <pubDate>Fri, 15 May 2020 13:16:22 +0000</pubDate>
      <link>https://dev.to/t6tg/nodejs-by-coursedex-4p1m</link>
      <guid>https://dev.to/t6tg/nodejs-by-coursedex-4p1m</guid>
      <description>&lt;h3&gt;
  
  
  คอร์สสอน NodeJS พื้นฐาน By Coursedex
&lt;/h3&gt;

&lt;p&gt;เป็นคอร์สสอน Api ด้วย NodeJS/Express ออนไลน์ใน Youtube สามารถเข้าไปรับชมได้ฟรี&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcyx5f670eaniv7a535o4.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcyx5f670eaniv7a535o4.jpeg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;สอน NodeJS พื้นฐาน EP.1 — การติดตั้ง node และ อื่นๆ&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=aNLQsbc4sRU" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=aNLQsbc4sRU&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;สอน NodeJS พื้นฐาน EP.2 — Vscode Extension และ เริ่มใช้ Express&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=Ios6umwtLLQ" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=Ios6umwtLLQ&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;สอน NodeJS พื้นฐาน EP.3 — การติดตั้ง Nodemon และ Basic HttpReques&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=aAlZ9l45TIQ" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=aAlZ9l45TIQ&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqe45tfl4arllzaucgzx6.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqe45tfl4arllzaucgzx6.jpeg" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;website :&lt;/em&gt;&lt;/strong&gt; &lt;a href="https://www.youtube.com/redirect?event=video_description&amp;amp;v=aAlZ9l45TIQ&amp;amp;redir_token=Mn_I2uPLjggkXLuFaDPfDopSwt98MTU4OTYzNDg2N0AxNTg5NTQ4NDY3&amp;amp;q=https%3A%2F%2Fthanawatgulati.com" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;em&gt;https://thanawatgulati.com&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;blog :&lt;/em&gt;&lt;/strong&gt; &lt;a href="https://www.youtube.com/redirect?event=video_description&amp;amp;v=aAlZ9l45TIQ&amp;amp;redir_token=Mn_I2uPLjggkXLuFaDPfDopSwt98MTU4OTYzNDg2N0AxNTg5NTQ4NDY3&amp;amp;q=https%3A%2F%2Fblog.thanawatgulati.com" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;em&gt;https://blog.thanawatgulati.com&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;github :&lt;/em&gt;&lt;/strong&gt; &lt;a href="https://www.youtube.com/redirect?event=video_description&amp;amp;v=aAlZ9l45TIQ&amp;amp;redir_token=Mn_I2uPLjggkXLuFaDPfDopSwt98MTU4OTYzNDg2N0AxNTg5NTQ4NDY3&amp;amp;q=https%3A%2F%2Fgithub.com%2Fthanawatgulati%2Ftest_express" rel="noopener noreferrer"&gt;&lt;strong&gt;&lt;em&gt;https://github.com/thanawatgulati/test_express&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;




</description>
      <category>programming</category>
      <category>webdev</category>
      <category>node</category>
      <category>coding</category>
    </item>
    <item>
      <title>ประสบการณ์พัฒนา Grader Computer Programming ในการเรียนการสอนของมหาวิทยาลัย</title>
      <dc:creator>Thnawat Gulati</dc:creator>
      <pubDate>Fri, 01 May 2020 16:11:01 +0000</pubDate>
      <link>https://dev.to/t6tg/grader-computer-programming-d7d</link>
      <guid>https://dev.to/t6tg/grader-computer-programming-d7d</guid>
      <description>&lt;p&gt;ตัวอย่างส่วนของการออกแบบ ( Design )&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5fi6i5p9hliyfq08iv7u.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5fi6i5p9hliyfq08iv7u.jpeg" width="753" height="728"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;การออกแบบของระบบตรวจสอบภาษา C และ C++ ตอนแรกออกแบบไว้ได้ประมาณนึงแต่เนื่องจากสุดท้ายเวลาค่อนข้างกระชั้นชิด และ เอาเวลาไปพัฒนาระบบ Backend ค่อนข้างเยอะ เลยเปลี่ยนจากเขียน Code Design เองไปเป็นการใช้ AdminLTE Theme&lt;/p&gt;

&lt;p&gt;ส่วนของฝั่งผู้ใช้ หรือ ฝั่งนักเรียน&lt;/p&gt;

&lt;p&gt;Login Page ส่วนของหน้าเขาสู่ระบบ&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhes8qqfbtu6tyvr0lxv4.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhes8qqfbtu6tyvr0lxv4.jpeg" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ส่วนของหน้าส่ง Source Code&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgtu4p9lroiph2t1e7qe4.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgtu4p9lroiph2t1e7qe4.jpeg" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ส่วนของ Backend ที่ใช้ในการพัฒนาระบบ คือ PHP สำหรับส่วนของการตรวจสอบ Source Code ใช้ shell_exec ในส่วนที่ภาษา PHP มีให้ เพื่อใช้ในการ Compile โดย Compiler ที่เลือกใช้ในภาษา C คือ GCC&lt;/p&gt;

&lt;p&gt;ตัวอย่างคำสั่ง Compile&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gcc -std=gnu99 -w -O2 -fomit-frame-pointer -lm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;และส่วนของฐานข้อมูลที่เลือกใช้ในการพัฒนาคือ MySQL&lt;/p&gt;

&lt;p&gt;Source Code ทั้งหมด -&amp;gt; GitHub : Thanawatgulati/compro2grader&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/thanawatgulati/compro2grader" rel="noopener noreferrer"&gt;thanawatgulati/compro2grader&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ประสบการณ์หลังเริ่มใช้งานไปได้ 1 ภาคการเรียน&lt;/p&gt;

&lt;p&gt;พบปัญหาหลักๆ คือ การที่มหาลัยใช้ Windows และการเขียนโปรแกรมของรุ่นน้องบ้างครั้งเขียน Compile บน Windows แต่ละเครื่องคำตอบไม่เหมือนกันบ้าง หรือ เอามา Compile บน Grader [Linux] ผลลัพธ์ออกไม่เหมือนบน Windows&lt;/p&gt;

&lt;p&gt;และอีกปัญยหา คือ การจัดการ Memory คิดว่ายังไม่ไดัพอใน การ Compile&lt;/p&gt;

&lt;p&gt;และส่วนอื่นๆของฝั่ง Admin ที่อาจจะออกแบบให้ใช้ยากเกินไป จึงได้เริ่มพัฒนาระบบใหม่ในชื่อของ sigma-Grader ซึ่งครั้งนี้ใช้ Frontend เป็น NextJS และ Backend เป็น NodeJS ส่วนของ ฐานข้อมูลเปลี่ยนไปทดลองใช้ MongoDB ที่เป็นแบบ NoSQL เพื่อเพิ่มความเร็วในการอ่านเขียนข้อมูล และลดปัญหาGraderตัวนี้คิดว่าจะช่วยลดปัญหา คอขวด ในการรอตรวจโดยใช้ STRUCTURE แบบ Queue ในการจัดการคิวในการตรวจ&lt;/p&gt;

&lt;p&gt;ทั้งนี้ระบบนี้อยู่ในขั้นตอนการพัฒนา สามารถตรวจสอบได้ที่&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/sigmagrader" rel="noopener noreferrer"&gt;SigmaGrader&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ฝากผลงานเพิ่มเติมที่&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/thanawatgulati" rel="noopener noreferrer"&gt;thanawatgulati - Overview&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ยังมีระบบ ลงทะเบียนกิจกรรมชุมนุม และ ระบบ Grader v.beta ที่เป็นภาษา python อีกด้วย&lt;/p&gt;




</description>
      <category>grader</category>
      <category>computerscience</category>
      <category>php</category>
      <category>c</category>
    </item>
  </channel>
</rss>
