<?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>Forem: Supaluck Singjan</title>
    <description>The latest articles on Forem by Supaluck Singjan (@supaluckn).</description>
    <link>https://forem.com/supaluckn</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%2F383356%2F2a68cf5d-f69e-487e-b6df-e1f6f9c43b3b.jpg</url>
      <title>Forem: Supaluck Singjan</title>
      <link>https://forem.com/supaluckn</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/supaluckn"/>
    <language>en</language>
    <item>
      <title>My Rust Day 0</title>
      <dc:creator>Supaluck Singjan</dc:creator>
      <pubDate>Sun, 29 Jun 2025 18:11:33 +0000</pubDate>
      <link>https://forem.com/supaluckn/my-rust-day-0-1ohk</link>
      <guid>https://forem.com/supaluckn/my-rust-day-0-1ohk</guid>
      <description>&lt;p&gt;Hello. I am learning in Rust programming language. For this "Day 0", i will learn how to print "Hello, world" in Rust.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nd"&gt;print!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Hello, world!"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Result : &lt;code&gt;Hello, world!&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Ok. I can do it.&lt;/p&gt;

</description>
      <category>rust</category>
    </item>
    <item>
      <title>Type Assertions in TypeScript</title>
      <dc:creator>Supaluck Singjan</dc:creator>
      <pubDate>Wed, 05 Mar 2025 14:19:15 +0000</pubDate>
      <link>https://forem.com/supaluckn/type-assertions-in-typescript-49bp</link>
      <guid>https://forem.com/supaluckn/type-assertions-in-typescript-49bp</guid>
      <description>&lt;p&gt;Type Assertions is the process of manually specifying data types. There are two formats.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;as&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;data type&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example 1: Using the &lt;code&gt;as&lt;/code&gt; format.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let data1:unknown;
data1="Apple";

let fruit = (data1 as string).toLowerCase();

console.log(fruit);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Example 2: Using the &lt;code&gt;&amp;lt;data type&amp;gt;&lt;/code&gt; format.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let data1:unknown;
data1="Apple";

let fruit = (&amp;lt;string&amp;gt;data1).toLowerCase();

console.log(fruit);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>typescript</category>
    </item>
    <item>
      <title>JavaScript Array Unshift, Push , Shift, Pop</title>
      <dc:creator>Supaluck Singjan</dc:creator>
      <pubDate>Thu, 04 May 2023 08:33:55 +0000</pubDate>
      <link>https://forem.com/supaluckn/javascript-array-unshift-push-shift-pop-92b</link>
      <guid>https://forem.com/supaluckn/javascript-array-unshift-push-shift-pop-92b</guid>
      <description>&lt;p&gt;Unshift, Push , Shift, Pop &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Unshift&lt;/strong&gt; is &lt;em&gt;adding&lt;/em&gt; the first one of the array.&lt;br&gt;
&lt;strong&gt;Push&lt;/strong&gt; is &lt;em&gt;adding&lt;/em&gt; the last one of the array. &lt;br&gt;
&lt;strong&gt;Shift&lt;/strong&gt; is &lt;em&gt;deleting&lt;/em&gt; the first one of the array.&lt;br&gt;
&lt;strong&gt;Pop&lt;/strong&gt; is &lt;em&gt;deleting&lt;/em&gt; the last one of the array.&lt;/p&gt;

&lt;p&gt;Example&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let customers = ['Eelyn', 'Ken', 'Mike']; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//Unshift 
customers.unshift('Winnie');
console.log(customers)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Result :&lt;br&gt;
&lt;code&gt;['Winnie', 'Eelyn', 'Ken', 'Mike']&lt;/code&gt;&lt;/p&gt;






&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//Push
customers.push('Melissa');
console.log(customers)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Result :&lt;br&gt;
&lt;code&gt;['Winnie', 'Eelyn', 'Ken', 'Mike', 'Melissa']&lt;/code&gt;&lt;/p&gt;






&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//Shift
customers.shift();
console.log(customers)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Result :&lt;br&gt;
&lt;code&gt;['Eelyn', 'Ken', 'Mike', 'Melissa']&lt;/code&gt;&lt;/p&gt;






&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//Pop
customers.pop();
console.log(customers)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Result :&lt;br&gt;
&lt;code&gt;['Eelyn', 'Ken', 'Mike']&lt;/code&gt;&lt;/p&gt;




</description>
      <category>javascript</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Ternary Operator in JS</title>
      <dc:creator>Supaluck Singjan</dc:creator>
      <pubDate>Mon, 19 Sep 2022 14:24:50 +0000</pubDate>
      <link>https://forem.com/supaluckn/ternary-operator-in-js-6d5</link>
      <guid>https://forem.com/supaluckn/ternary-operator-in-js-6d5</guid>
      <description>&lt;p&gt;Ternary operator is a short-hand form in term of condition. &lt;/p&gt;

&lt;p&gt;For example,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;score&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;score&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Passed this step.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Do it again.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But re-write in term of the ternary operator.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;
&lt;span class="nx"&gt;score&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;80&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Passed this step.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Do it again.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>การวนลูป array แบบ ForOf ของ JavaScript</title>
      <dc:creator>Supaluck Singjan</dc:creator>
      <pubDate>Fri, 22 Apr 2022 17:31:35 +0000</pubDate>
      <link>https://forem.com/supaluckn/kaarwnluup-array-aebb-forof-khng-javascript-15i7</link>
      <guid>https://forem.com/supaluckn/kaarwnluup-array-aebb-forof-khng-javascript-15i7</guid>
      <description>&lt;p&gt;สำหรับตัวอย่างเราจะมี datas = [1,2,3,4,5]&lt;/p&gt;

&lt;p&gt;อยากจะให้ทำการวน loop แบบ forOf ก็ จะเขียนแบบนี้คือ&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;ตัวแปรใหม่หรือตัวแปรเอกพจน์&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nx"&gt;ตัวแปรตั้งต้นหรือตัวแปรพหูพจน์&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
 &lt;span class="err"&gt;\\&lt;/span&gt; &lt;span class="nx"&gt;code&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;ดังนั้นหากจะแสดงค่าแต่ละตัวใน array ของตัวแปร datas จะเขียนแบบนี้&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nx"&gt;datas&lt;/span&gt;&lt;span class="p"&gt;){&lt;/span&gt;
 &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&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;1
2
3
4
5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>การใช้ join() ใน JavaScript</title>
      <dc:creator>Supaluck Singjan</dc:creator>
      <pubDate>Wed, 20 Apr 2022 14:59:38 +0000</pubDate>
      <link>https://forem.com/supaluckn/kaaraich-join-ain-javascript-3kia</link>
      <guid>https://forem.com/supaluckn/kaaraich-join-ain-javascript-3kia</guid>
      <description>&lt;p&gt;สำหรับ join() จะเกี่ยวข้องกับการแสดงผลของ array บน JS &lt;/p&gt;

&lt;p&gt;มาดูตัวอย่างกัน&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;22&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;33&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;44&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;join&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;ผลลัพท์จะได้เป็น &lt;br&gt;
&lt;code&gt;11,22,33,44&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;จะสังเกตว่าไม่มีการแสดงเครื่องหมาย [] ปรากฏอยู่ &lt;/p&gt;

&lt;p&gt;สำหรับตัวอย่าง หากเราจะเปลี่ยนเครื่องหมาย จาก "," ไปเป็นอย่างอื่น เช่น "*" &lt;/p&gt;

&lt;p&gt;สามารถเขียน code ได้เป็น&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;22&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;33&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;44&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;*&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;ผลลัพท์จะได้เป็น &lt;br&gt;
&lt;code&gt;11*22*33*44&lt;/code&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 javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;22&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;33&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;44&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;-&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;ผลลัพท์จะได้เป็น &lt;br&gt;
&lt;code&gt;11-22-33-44&lt;/code&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 javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;sumNum&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(...&lt;/span&gt;&lt;span class="nx"&gt;numArr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
    &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;numArr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="nx"&gt;num&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;total&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sumNum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;join&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;ผลลัพท์&lt;br&gt;
&lt;code&gt;10,20&lt;/code&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>react</category>
    </item>
    <item>
      <title>บันทึกการเรียน TypeScript [1 : พื้นฐานการติดตั้ง - ตัวแปร]</title>
      <dc:creator>Supaluck Singjan</dc:creator>
      <pubDate>Sun, 17 Apr 2022 09:08:20 +0000</pubDate>
      <link>https://forem.com/supaluckn/banthuekkaareriiyn-typescript-1-phuuenthaankaartidtang-tawaepr-3g3f</link>
      <guid>https://forem.com/supaluckn/banthuekkaareriiyn-typescript-1-phuuenthaankaartidtang-tawaepr-3g3f</guid>
      <description>&lt;p&gt;ส่วนนี้จะเป็นการบันทึกการเรียน TypeScript จากคลิปกับช่อง Programming with Mosh &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=NjN00cM18Z4"&gt;https://www.youtube.com/watch?v=NjN00cM18Z4&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;TypeScript จัดเป็น Superset ของ JavaScript&lt;/li&gt;
&lt;li&gt;การติดตั้ง : node install -g typescript &lt;/li&gt;
&lt;li&gt;ตรวจสอบ version : tsc --version
&lt;/li&gt;
&lt;li&gt;การ declaring ตัวแปร ก็เหมือนกับ JS คือ let var const&lt;/li&gt;
&lt;li&gt;การ compile เป็นไฟล์ .js : ตัวอย่างสร้างไฟล์ที่ main.ts 
วิธี compile ก็ใช้ tsc main.ts ซึ่งจะจะได้ main.js &lt;/li&gt;
&lt;li&gt;การ run ไฟล์ .js ก็ใช้เป็น node ชื่อไฟล์ เช่น node main.js&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>วิธีการตรวจสอบ Username และ Password ใน phpmyadmin บน XAMPP</title>
      <dc:creator>Supaluck Singjan</dc:creator>
      <pubDate>Thu, 08 Apr 2021 09:17:34 +0000</pubDate>
      <link>https://forem.com/supaluckn/username-password-phpmyadmin-xampp-2fo7</link>
      <guid>https://forem.com/supaluckn/username-password-phpmyadmin-xampp-2fo7</guid>
      <description>&lt;ul&gt;
&lt;li&gt;บทความนี้สำหรับผู้ใช้ Microsoft Windows นะคะ
สำหรับที่มีปัญหาในการลืมรหัสผ่านสามารถไป check ได้โดย เข้าไปที่โฟล์เดอร์ "XAMPP" จากนั้นลองไล่หาโฟล์เดอร์ "phpmyadmin" หลังจากนั้นจะเห็นไฟล์ที่ชื่อว่า "config.inc.php" แล้วทำการเปิดไฟล์ขึ้นมา ประมาณบรรทัดที่ 20 ลงมาก็จะเห็นข้อมูล username และ password ดังรูปที่แสดงด้านล่าง &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--x9W_JO4K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jhaggqlrv9ywdknhkwue.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--x9W_JO4K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jhaggqlrv9ywdknhkwue.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ซึ่ง username และ password เหล่านี้ ต้องไปใช้งานเช่น การเขียน connection เชื่อมฐานข้อมูล mysql นั่นเอง &lt;/p&gt;

&lt;p&gt;หมายเหตุ :: ข้อมูล username และ password ในรูปเป็นแค่ตัวอย่างนะคะ &lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to khow the "Username" &amp; the "Password"of the phpmyadmin in XAMPP.</title>
      <dc:creator>Supaluck Singjan</dc:creator>
      <pubDate>Thu, 08 Apr 2021 09:07:48 +0000</pubDate>
      <link>https://forem.com/supaluckn/how-to-khow-the-username-the-password-of-the-phpmyadmin-in-xampp-1kie</link>
      <guid>https://forem.com/supaluckn/how-to-khow-the-username-the-password-of-the-phpmyadmin-in-xampp-1kie</guid>
      <description>&lt;p&gt;For my reader, my English is not well. but i hope that this content will help you.&lt;/p&gt;

&lt;p&gt;In this case for Microsoft Windows OS.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In the "xampp" folder, and you will find out the folder is  "phpmyadmin".&lt;/li&gt;
&lt;li&gt;In the "phpmyadmin" folder, try to check the "config.inc.php" file, and open this file.&lt;/li&gt;
&lt;li&gt;After open the "config.inc.php", you can see the "username" and the "password" as below code. 
&lt;img src="https://media.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%2Fjhaggqlrv9ywdknhkwue.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Note : The username and the password, i just show for the example. they are not use for the real life.  &lt;/p&gt;

</description>
      <category>phpmyadmin</category>
      <category>mysql</category>
      <category>php</category>
    </item>
    <item>
      <title>วิธีการใช้ Module ของ Node.js [ตอนที่ 2]</title>
      <dc:creator>Supaluck Singjan</dc:creator>
      <pubDate>Tue, 02 Feb 2021 20:17:44 +0000</pubDate>
      <link>https://forem.com/supaluckn/module-node-js-2-22g1</link>
      <guid>https://forem.com/supaluckn/module-node-js-2-22g1</guid>
      <description>&lt;p&gt;จาก &lt;a href="https://dev.to/supaluckn/module-node-js-1-47p1"&gt;ตอนที่ 1&lt;/a&gt; ซึ่งได้รู้จักกับ Module และการ Export ตัว Module กันแล้ว ที่นี้เราจะทำการ Import ตัว Module มาใช้งานกัน ซึ่งจากตอนที่ 1 นั้น เราได้ทำการสร้างไฟล์ Module ขึ้นมา 2 ไฟล์คือ index.js และ someone.js โดยเราจะทำการ run ไฟล์ index.js &lt;/p&gt;

&lt;h2&gt;
  
  
  การ Import ตัว Module ที่สร้างไว้
&lt;/h2&gt;

&lt;p&gt;โดยจะใช้คำสั่ง &lt;code&gt;require('part/ชื่อ Module');&lt;/code&gt; ดังเช่น เราได้สร้างไฟล์ someone.js กับ index.js ไว้ที่โฟลเดอร์เดียวกันก็ทำการ &lt;code&gt;require('./someone.js');&lt;/code&gt; จากตอนที่ 1 ที่ไฟล์ someone.js เราได้มีการ export ตัวฟังชั่นอยู่ 2 ตัวคือ cherry() และ nanny() ดังนั้นเราจะ import ฟังก์ชั่นเหล่านี้จาก Module ที่ชื่อ someone มาใช้งานดังตัวอย่าง&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;someone&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./someone.js&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nx"&gt;someone&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cherry&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;someone&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;nanny&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;จากนั้นทำการ run ไฟล์ index.js ด้วยคำสั่ง&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;node index.js
&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;Cherry
Nanny
&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 javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;cherry&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;nanny&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./someone.js&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nx"&gt;cherry&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;nanny&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;เมื่อทำการ run ก็จะได้ผลลัพท์เช่นเดียวกัน&lt;br&gt;
...&lt;br&gt;
เอาล่ะตอนนี้เรามีความรู้เกี่ยวกับการ Export/Import ตัว Module กันแล้วนะคะหวังว่าจะเข้าใจกัน ในตอนที่ 3 จะแสดงอีกตัวอย่างการ Export และ Import ตัว Module &lt;/p&gt;

</description>
      <category>node</category>
      <category>modules</category>
    </item>
    <item>
      <title>วิธีการใช้ Module ของ Node.js [ตอนที่ 1]</title>
      <dc:creator>Supaluck Singjan</dc:creator>
      <pubDate>Tue, 02 Feb 2021 17:06:26 +0000</pubDate>
      <link>https://forem.com/supaluckn/module-node-js-1-47p1</link>
      <guid>https://forem.com/supaluckn/module-node-js-1-47p1</guid>
      <description>&lt;p&gt;ส่วนนี้จะเป็นบันทึกสรุปความเข้าใจในเรื่องของ Module ของ Node.js (หัวข้อการเขียนบทความที่นี่อาจจะดูสะเปะสะปะไปหน่อย แต่เดี๋ยวเวปไซต์ส่วนตัวเสร็จจะเอาบทความบางส่วนที่เขียนที่นี่ไปเรียบเรียงใหม่และจัดหัวข้อให้เป็นระเบียบ) &lt;/p&gt;

&lt;h2&gt;
  
  
  มาทำความรู้จักกับ Module ของ Node.js กันก่อน
&lt;/h2&gt;

&lt;p&gt;ในการเขียนโปรแกรมใด ๆ ก็มักจะมีการเขียนฟังก์ชั่นใช่ไหมล่ะ แต่ในการทำงานจริง ๆ ก็จะมีการเขียนฟังก์ชั่น ในการใช้งานขึ้นมาหลายตัว ดังนั้นเพื่อความเป็นระเบียบจึงทำการสร้าง Module ซึ่งก็เป็นไฟล์ในการเก็บตัวฟังก์ชั่น ต่าง ๆ ที่จะเอามาเรียกใช้ แต่ว่าทาง Node.js เองก็มองไฟล์แต่ละไฟล์เป็น Module อยู่แล้ว สำหรับ Node.js จะมี Built-in Module และ Module ที่เราสร้างมาใช้งานเอง ทีนี้ก็มาลองดูตัวอย่างการสร้าง Module มาใช้งานขึ้นมาเอง &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;สร้าง &lt;code&gt;index.js&lt;/code&gt; ซึ่งจะเป็น Module หลักในการ Run ออกมา&lt;/li&gt;
&lt;li&gt;สร้าง &lt;code&gt;someone.js&lt;/code&gt; ซึ่งจะให้เป็น Module ที่เรียกฟังก์ชั่น ที่ทำการเรียกชื่อที่ต้องการออกมา&lt;/li&gt;
&lt;li&gt;ที่ &lt;code&gt;someone.js&lt;/code&gt; เราทำการสร้างฟังก์ชั่นง่าย ๆ สำหรับ Print ชื่อเล่นต่าง ๆ ดัง code ด้านล่าง
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;cherry&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Cherry&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;nanny&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Nanny&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;จาก code ด้านบนที่ Module &lt;code&gt;someone.js&lt;/code&gt; เราจะมี 2 ฟังก์ชั่นที่สร้างขึ้นมา ดังนั้นจะมา export ฟังก์ชั่นเหล่านี้มาใช้งานที่ &lt;code&gt;index.js&lt;/code&gt;กัน&lt;/p&gt;

&lt;h2&gt;
  
  
  การ Export ตัว Module ซึ่งจะมี 3 แบบคือ
&lt;/h2&gt;

&lt;p&gt;[ข้อแนะนำ : ควรเลือกวิธีการ export อย่างใดอย่างหนึ่ง]&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;module.exports = ชื่อฟังก์ชั่นที่ต้องการ export&lt;/code&gt; 
วิธีใช้งานก็โดย
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;cherry&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Cherry&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;nanny&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Nanny&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;//Export ฟังก์ชั่น&lt;/span&gt;
&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;cherry&lt;/span&gt;
&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;nanny&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;module.exports = {properties ซึ่งเป็นชื่อฟังก์ชั่นแต่ละตัวที่ต้องการ export นั่นเอง}&lt;/code&gt; ซึ่งการเขียนแบบนี้จะสะดวกต่อการใช้งานเวลาที่เรามีการสร้างหลาย ๆ ฟังก์ชั่นใน Module นั้น ๆ ต่อจากตัวอย่างด้านบน
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;cherry&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Cherry&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;nanny&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Nanny&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;//Export ฟังก์ชั่น&lt;/span&gt;
&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="na"&gt;cherry&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;cherry&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
 &lt;span class="na"&gt;nanny&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;nanny&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&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 javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
 &lt;span class="nx"&gt;cherry&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
 &lt;span class="nx"&gt;nanny&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;exports.NameOfFunction = function NameOfFunction() { ... }&lt;/code&gt; วิธีนี้ก็เป็นอีกวิธีที่สะดวกอย่างมาก เหมาะสำหรับฟังก์ชั่นที่ต้องการ export มีไม่กี่ฟังก์ชั่น วิธีการใช้งานดัง code ด้านล่าง
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;exports&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cherry&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;cherry&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
     &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Cherry&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;exports&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;nanny&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;nanny&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
     &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Nanny&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
 &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;เอาล่ะตอนนี้เราก็มีความรู้และความเข้าใจเกี่ยวกับ Module และ การ Export ตัว Module เนื้อหายังไม่จบเพียงแค่นี้ยังมีตอนที่ 2 อีกค่ะ &lt;/p&gt;

</description>
      <category>node</category>
      <category>modules</category>
    </item>
    <item>
      <title>วิธีการ include "fontawesome 5" ลงบน theme "understrap"</title>
      <dc:creator>Supaluck Singjan</dc:creator>
      <pubDate>Wed, 25 Nov 2020 21:48:49 +0000</pubDate>
      <link>https://forem.com/supaluckn/include-fontawesome-5-theme-understrap-jgp</link>
      <guid>https://forem.com/supaluckn/include-fontawesome-5-theme-understrap-jgp</guid>
      <description>&lt;p&gt;บ่อยครั้งที่เราต้องการเขียน wordpress theme เพื่อปรับแต่งความต้องการของผู้ใช้งาน แต่ต้องมาเสียเวลาในการเขียนทีละส่วนต่าง ๆ ของ theme ไม่ว่าจะเป็น header.php ไปจนถึงการเขียน walker class และรวมไปถึงการ config ส่วนต่าง ๆ เช่น gulpfile.js จนบางครั้งต้องมาหา plugin ต่าง ๆ มาช่วยจนเกินความจำเป็น ดังนั้นแล้วจึงมักมี starter theme ซึ่งเปรียบเสมือน theme ต้นแบบที่มีส่วนต่าง ๆ มาให้อย่างเสร็จสรรพที่เหลือก็ไปปรับแต่งตามใจชอบ ซึ่งในที่นี่จะขอพูดถึงตัว starter theme ที่ชื่อว่า "&lt;a href="https://github.com/understrap/understrap"&gt;Understrap&lt;/a&gt;"&lt;/p&gt;

&lt;p&gt;สำหรับ Understrap เป็น theme ที่รองรับ bootsrap 4 และยังมี fontawesome 4 ติดตั้งมาให้ด้วย โดยจะใช้ scss ทำการปรับแต่ง style โดยใช้ gulp มาทำการ compile ให้ แต่ในปัจจุบัน (ปี 2020) ผู้เขียนต้องการให้ theme มี icon ของตัว "tiktok" เพิ่มขึ้นมาบน theme ที่ต้องการเขียน ปัญหาคือ ใน fontawesome 4 ที่อยู่ใน understrap เวอร์ชั่นนี้ยังไม่รองรับไอคอน tiktok นี้ จึงต้องการลงตัว fontawesome 5 ซึ่งรองรับไอคอน tiktok ตัวนี้ ดังนั้นวิธีการ include fontawesome 5 มีดังนี้&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ก่อนอื่น&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;ควรมีความรู้ในการใช้คำสั่ง Node Package Manager มาบ้างและรวมถึงการใช้งาน gulpjs&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;มาเริ่มขั้นตอนกันเลย&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;*1. ทำการ&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*2. จากนั้นติดตั้งตัว fontawesome 5 (ในที่นี่จะขอติดตั้งไว้ที่ส่วนของ devDependencies) โดยใช้คำสั่ง&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install @fortawesome/fontawesome-free --save-dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*3 เปิดไฟล์ gulpfile.js&lt;br&gt;
ทำการดึง assets ต่าง ๆ ของ fontawesome 5 ใน node_modules มาไว้ที่ src/sass/fontaewsome และ fonts โดยทำการ&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Copy all Font Awesome Fonts&lt;/span&gt;
    &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;stream&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;gulp&lt;/span&gt;
        &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;src&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;paths&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;node&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/@fortawesome/fontawesome-free/webfonts/*.{ttf,woff,woff2,eof,svg}&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pipe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;gulp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;dest&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;./fonts&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;

&lt;span class="c1"&gt;// Copy all Font Awesome SCSS files&lt;/span&gt;
    &lt;span class="nx"&gt;gulp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;src&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;paths&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;node&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/@fortawesome/fontawesome-free/scss/*.scss&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;pipe&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;gulp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;dest&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;paths&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;dev&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/sass/fontawesome&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&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;////////////////// End Bootstrap 4 Assets /////////////////////////
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;โดยทำการ comment ตัวคำสั่งในการดึง assets ต่าง ๆ บน fontawesome เวอร์ชั่นเดิม (หวังว่าจะไม่งงนะคะ ^^) &lt;/p&gt;

&lt;p&gt;*4. แล้วพิมพ์คำสั่ง&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gulp copy-assets
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;ตอนนี้ assets ต่าง ๆ ที่ copy เข้ามาจะอยู่ในโฟล์เดอร์ดังรูป&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--focfYwGT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2kc7f9j3rukwaq4h4mqu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--focfYwGT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2kc7f9j3rukwaq4h4mqu.png" alt="Alt Text" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*5. จากนั้นที่ sass/assets/font-awesome.scss ให้แทนที่ดังนี้&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sass"&gt;&lt;code&gt;&lt;span class="nv"&gt;$fa-font-path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"../fonts"&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nb"&gt;default&lt;/span&gt;&lt;span class="err"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s"&gt;'../../src/sass/fontawesome/variables';&lt;/span&gt;
&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s"&gt;'../../src/sass/fontawesome/mixins';&lt;/span&gt;
&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s"&gt;'../../src/sass/fontawesome/core';&lt;/span&gt;
&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s"&gt;'../../src/sass/fontawesome/larger';&lt;/span&gt;
&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s"&gt;'../../src/sass/fontawesome/fixed-width';&lt;/span&gt;
&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s"&gt;'../../src/sass/fontawesome/list';&lt;/span&gt;
&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s"&gt;'../../src/sass/fontawesome/bordered-pulled';&lt;/span&gt;
&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s"&gt;'../../src/sass/fontawesome/animated';&lt;/span&gt;
&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s"&gt;'../../src/sass/fontawesome/rotated-flipped';&lt;/span&gt;
&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s"&gt;'../../src/sass/fontawesome/stacked';&lt;/span&gt;
&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s"&gt;'../../src/sass/fontawesome/icons';&lt;/span&gt;
&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s"&gt;'../../src/sass/fontawesome/screen-reader';&lt;/span&gt;
&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s"&gt;'../../src/sass/fontawesome/shims';&lt;/span&gt;
&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s"&gt;'../../src/sass/fontawesome/brands';&lt;/span&gt;
&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s"&gt;'../../src/sass/fontawesome/regular';&lt;/span&gt;
&lt;span class="k"&gt;@import&lt;/span&gt; &lt;span class="s"&gt;'../../src/sass/fontawesome/solid';&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;*6. ทำการ compile sass ด้วยคำสั่ง&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gulp watch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;โดยที่ sass/theme.scss จะเห็นไฟล์ font-awesome.scss &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9FsmMOQ9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tb1zel7y1nx8d4m7ww6h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9FsmMOQ9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tb1zel7y1nx8d4m7ww6h.png" alt="Alt Text" width="626" height="274"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ลอง copy ส่วน font-awesome.scss แล้วลบแล้ววางใหม่ดู&lt;/p&gt;

&lt;p&gt;*7. ลองทดสอบ icon สมมุติว่าเรียกใช้ icon "tiktok" ไว้ที่ส่วน footer.php&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GJh3wiPm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/35biklcq0p5kqag0757b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GJh3wiPm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/35biklcq0p5kqag0757b.png" alt="Alt Text" width="446" height="186"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;เอาล่ะ ตอนนี้เราก็ได้ไอคอน tiktok ตามที่เราต้องการแล้ว&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dtywY_z_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/56vjew3nyt22zihoumay.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dtywY_z_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/56vjew3nyt22zihoumay.png" alt="Alt Text" width="442" height="136"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>understrap</category>
      <category>fontawesome</category>
      <category>gulpjs</category>
    </item>
  </channel>
</rss>
