<?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: Momomay</title>
    <description>The latest articles on DEV Community by Momomay (@magigart).</description>
    <link>https://dev.to/magigart</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F988029%2Fd73c7eec-6727-4170-98cf-8763661b1450.jpg</url>
      <title>DEV Community: Momomay</title>
      <link>https://dev.to/magigart</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/magigart"/>
    <language>en</language>
    <item>
      <title>ทำให้ Google Calendar สามารถแจ้งเตือนผ่าน Line Notify ได้</title>
      <dc:creator>Momomay</dc:creator>
      <pubDate>Sun, 23 Jul 2023 06:54:55 +0000</pubDate>
      <link>https://dev.to/magigart/thamaih-google-calendar-saamaarthaecchngetuuenphaan-line-notify-aid-27o4</link>
      <guid>https://dev.to/magigart/thamaih-google-calendar-saamaarthaecchngetuuenphaan-line-notify-aid-27o4</guid>
      <description>&lt;ul&gt;
&lt;li&gt;เปิด Google Drives กดปุ่มเครื่องหมายบวก(+) &amp;gt;&amp;gt; เพิ่มเติม &amp;gt;&amp;gt; 
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--R2GxmNXJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/drthavp63sq7ys4fset9.png" alt="Image description" width="800" height="729"&gt;
&lt;/li&gt;
&lt;li&gt;หน้า Apps Script จะเปิดขึ้นมาเปลี่ยนชื่อและลบโค้ดทิ้งไปก่อน
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--b8L9r-8Y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ktbl6gsz5cf75t99mfbg.png" alt="Image description" width="800" height="558"&gt;
&lt;/li&gt;
&lt;li&gt;เอาโค้ดไปแปะ
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function myFunction() {
  var calenda = CalendarApp.getCalendarById("xxx");
  var token = "xxx"; // Line Token 
  var url = "https://notify-api.line.me/api/notify";

  var today = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate());
  var event = calenda.getEventsForDay(today);
  var msg = "";
  if (event.length === 0) {
    msg = "วันนี้ไม่มีกิจกรรม";
  }
  else {
    msg += "📣📣วันนี้มีทั้งหมด " + String(event.length) + " กิจกรรม ได้แก่\n\n";
    msg += sendMessage(event);
  }
  var jsonData = {
    message: msg
  }
  var options =
  {
    "method": "post",
    "contentType": "application/x-www-form-urlencoded",
    "payload": jsonData,
    "headers": { "Authorization": "Bearer " + token }
  };
  var res = UrlFetchApp.fetch(url, options);
}

function sendMessage(events) {
  var msg = "";
  events.forEach(function (event, index) {
    var title = event.getTitle();
    var start = event.getStartTime().getHours() + ":" + ("0" + event.getStartTime().getMinutes()).slice(-2);
    var end = event.getEndTime().getHours() + ":" + ("0" + event.getEndTime().getMinutes()).slice(-2);
    if (event.isAllDayEvent()) {
      msg += String(index + 1) + ") " + "เวลา : " + " ทั้งวัน" + "\n 🔥เรื่อง : " + title + "\n\n";
      return;
    }
    msg += String(index + 1) + ") " + "เวลา : " + start + " - " + end + " น." + "\n🔥เรื่อง : " + title + "\n\n";
  });
  return msg;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;เอาLine Notify Token และ Calendar ID มาใส่
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IhMEvOD0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/un4jo1hw214skx6jsapu.png" alt="Image description" width="800" height="383"&gt;
&lt;/li&gt;
&lt;li&gt;ทดสอบการแจ้งเตือนโดยการกดปุ่ม (▶️เรียกใช้)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ssnJsQC---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/adeno5i93kzafy5ph91v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ssnJsQC---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/adeno5i93kzafy5ph91v.png" alt="Image description" width="800" height="508"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ตั้งค่าให้แจ้งเตือนแบบอัตโนมัติ🤖 เลือกเมนู"ทริกเกอร์" &amp;gt;&amp;gt; +เพิ่มทริกเกอร์ &amp;gt;&amp;gt; ปรับแต่งเวลาการแจ้งเตือนอัตโนมัติ &amp;gt;&amp;gt; กด"บันทึก"
&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mYRzKaCi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8bmkbqrh1yhubsnzizw6.png" alt="Image description" width="800" height="414"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;**ปัญหาที่พบ&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;หากทำการแจ้งเตือนเข้ากลุ่มไลน์ อย่าลืม Invite Line Notify เข้ากลุ่มด้วยไม่งั้นเวลารันจะมีปัญหาติดต่อ Token ไม่ได้ &lt;/li&gt;
&lt;li&gt;การแก้ปัญหาเวลาแจ้งเตือนไม่ตรง&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cgL5mA5e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/apn0iy3rsz9n6eheivy3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cgL5mA5e--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/apn0iy3rsz9n6eheivy3.png" alt="Image description" width="800" height="503"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TJpKHljZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bv0jdlyfvubfgz02vobv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TJpKHljZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bv0jdlyfvubfgz02vobv.png" alt="Image description" width="800" height="216"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Virtual Environment (venv) สิ่งสำคัญสำหรับโปรเจค Python</title>
      <dc:creator>Momomay</dc:creator>
      <pubDate>Sun, 11 Dec 2022 02:35:20 +0000</pubDate>
      <link>https://dev.to/magigart/virtual-environment-venv-singsamkhaysamhraboprecchkh-python-1675</link>
      <guid>https://dev.to/magigart/virtual-environment-venv-singsamkhaysamhraboprecchkh-python-1675</guid>
      <description>&lt;p&gt;"สภาพแวดล้อม" หรือ Virtual environment คือชุดของ Python interpreter และ Package ต่างๆ ที่จำเป็นสำหรับแต่ละ Project นั่นเอง!&lt;br&gt;
(ใน IDE แบบ Pycharm จะสร้าง virtual environment ให้เองทุกครั้งที่สร้างโปรเจคใหม่) และเพื่อให้เวลาที่เราแชร์ environment ให้คนอื่น จะได้ระบุแค่สิ่งที่ต้องใช้ไม่พ่วง libraryที่ไม่ต้องการไปด้วย&lt;/p&gt;

&lt;p&gt;วิธีสร้าง venv&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python3 -m venv &amp;lt;ชื่อ environment&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;เมื่อเราสร้าง environment แล้วเราต้องทำการ activate ด้วยคำสั่ง&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Source &amp;lt;ชื่อ environment&amp;gt;/bin/activate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;เมื่อ activate เสร็จแล้ว สังเกตุใน Terminal จะมีชื่อ environment อยู่ใน(...)นำหน้าคำสั่งของเรา ตัวอย่างนี้ชื่อ evironment ก็คือ env&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JbzCT9Db--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/miwsnjahv9hvq1qipsu1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JbzCT9Db--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/miwsnjahv9hvq1qipsu1.png" alt="Image description" width="880" height="751"&gt;&lt;/a&gt;&lt;br&gt;
เมื่อเราต้องการจะปิดเราก็สามารถทำได้ด้วยคำสั่ง&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>เริ่มต้นสร้างโปรเจค Python ด้วย VS Code</title>
      <dc:creator>Momomay</dc:creator>
      <pubDate>Sun, 11 Dec 2022 02:09:27 +0000</pubDate>
      <link>https://dev.to/magigart/erimtnsraangoprecchkh-python-dwy-vs-code-35lf</link>
      <guid>https://dev.to/magigart/erimtnsraangoprecchkh-python-dwy-vs-code-35lf</guid>
      <description>&lt;ol&gt;
&lt;li&gt;สร้าง โฟลเดอร์ใหม่ เปลี่ยนชื่อเป็นชื่อโปรเจคที่ต้องการ&lt;/li&gt;
&lt;li&gt;เปิด VS Code&lt;/li&gt;
&lt;li&gt;open folder เลือกโฟลเดอร์โปรเจคที่สร้างไว้&lt;/li&gt;
&lt;li&gt;ในหน้าต่าง EXPLORER สร้าง New File เปลี่ยนชื่อ "Main.py"&lt;/li&gt;
&lt;/ol&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%2F01u2bmio5epr7k2jputh.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%2F01u2bmio5epr7k2jputh.png" alt="Image description" width="618" height="526"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;ทดสอบ print("Hello World!")&lt;/li&gt;
&lt;/ol&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%2Faqbreemmcu8n2exfhsbj.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%2Faqbreemmcu8n2exfhsbj.png" alt="Image description" width="800" height="658"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rust</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
