Stencil : JSX

Stencil component ใช้ JSX template syntax ในการกำหนดรูปแบบการแสดงผลที่จะถูก render ของ component  ซึ่งแต่ละ component จะมี render function ที่จะทำหน้าที่ return โครงสร้างของ component ที่จะเปลี่ยนเป็น DOM ตอน runtime เพื่อแสดงผลบนหน้าจอ class MyComponent { render() { return ( <div> <h1>Hello World</h1> <p>This is JSX!</p> </div> ); } } จาก class Mycomponent ด้านบน render function จะ return div element ที่ภายในประกอบไปด้วย h1 และ p Data Binding เมื่อ component ต้องการที่จะ render ข้อมูลที่มีการเปลี่ยนแปลง dynamic data ทำได้โดยการ bindind ข้อมูลนั้นๆ โดยใช้ {variable}  (ซึ่งจะใกล้เคียงกับ ES6 template ที่ใช้ ${variable}) render() { return ( <div>Hello {this.name}</div> ) } Conditionals เมื่อ component มีการแสดงผลที่ขึ้นอยู่กับเงื่อนไข สามารถใช้ JavaScript if/else statements ใน render function ดังเช่นตัวอย่างด้านล่างนี้ ถ้า this.name ไม่มีการกำหนดค่า จะแสดงผล “Hello, World” render() { if (this.name) { return ( <div>Hello {this.name}</div> ) } else { return ( <div>Hello, World</div> ) } } หรือ จะเขียนในรูปแบบ inline conditionals ก็ได้เช่นกัน render() { return ( <div> {this.name ? <p>Hello {this.name}</p> : <p>Hello World</p> } </div> ); } Loops ใน JSX สามารถใช้ array operators : map ในการทำงานแบบ loop  จากตัวอย่างด้านล่าง มี lists ของ todo object ใน this.Objects ซึ่ง map function ทำหน้าที่ loop ในแต่ละ todo object ใน this.Objects แล้วสร้าง new JSX sub tree และ add เข้าไปใน array ที่จะ return ออกจาก map function ซึ่งจะเพิ่มเข้าไปใน JSX tree ด้านนอกนั่นคือ div element render() { return ( <div> {this.todos.map((todo) => <div> <div>{todo.taskName}</div> <div>{todo.isCompleted}</div> </div> )}

Read More »

เตือนภัยอีเมลหลอกลวงว่าเป็นธนาคารกรุงไทย (Spam 2018-11-14)

เช้านี้มีอีเมลหลอกลวงหลุดเข้ามา อ้างว่ามาจาก Krungthai Bank PCL ดังภาพ จะเห็นว่า From ก็หลอกว่ามาจาก info@ktb.co.th และในเนื้อหาก็มี Logo ของธนาคาร แถมมี Link  ที่วิ่งไป HTTPS://WWW.KTB.CO.TH/PERSONAL/DETAIL/VERIFY/172 แต่ไม่ใช่ของจริง !!! เพราะ ถ้าท่านดูอีเมลฉบับนี้แบบ HTML จะเป็นการส่ง Link ไปที่ “เว็บไซต์หลอกลวง” หรือเรียกว่า Phishing Site  ไม่แนะนำให้คลิกตาม https://scrappse.tk/jssl/ktbnetbank/krungthai/index.html ซึ่งจะได้หน้าตาเหมือนกับของธนาคารจริง ๆ เพราะมันไปใช้ภาพจากเว็บไซต์จริง และใช้ HTTPS และได้ “กุญแจ” ที่บอกว่า valid certificate อีกด้วย เพราะใช้ Let’s Encrypt ดังนั้นจึงแจ้งเตือนภัยมายังประชาคมให้รับทราบ ว่าปัจจุบันนี้ เห็น LINK ใน Email แล้วเป็น URL ชื่อของธนาคารจริง ก็ยังไม่พอ (กรณีนี้เป็นของ www.ktb.co.th) คลิกไป เจอหน้าเว็บ หน้าตาน่าเชื่อถือ ก็ไม่พอ (ตามภาพ เลียนแบบเหมือนมาก) ดูว่ามี “กุญแจ” ของ HTTPS ถูกต้องก็ไม่พอ (กรณีนี้ ได้กุญแจมาแล้ว แต่เป็นของเว็บไซต์หลอกลวง) ดังนั้น ต้องดูด้วยว่า URL ที่ท่านเห็นด้านบน เป็นของธนาคารจริง ๆ หรือไม่ !!! (ในกรณีนี้ ไม่จริง เพราะเป็นของ https://scrappse.tk ) ธนาคารกรุงไทย ได้แจ้งเตือนเรื่องนี้ไว้แล้วที่  https://www.ktb.co.th/th/krungthai-update/announcement-detail/162 ดังนั้น หากท่านได้รับ Email ในทำนองนี้ ให้ตรวจสอบกับธนาคาร หรือผู้เชี่ยวชาญก่อน เพราะคนร้ายจะหลอกให้ท่านกรอก Username/Password เพื่อเข้าสู่บัญชีธนาคารของท่านได้

Read More »

วิธีติดตั้ง HTTPS ด้วย Certificate ของ Let’s Encrypt

จาก มาใช้งาน let’s encrypt กันเถอะ ของอาจารย์ฉัตรชัย ผมขอขยายความต่อ เอาแบบว่า Copy-Paste กันเลย โดยในที่นี้ … OS เป็น Ubuntu 18.04 Web Server เป็น Apache ที่ Firewall เปิดให้เข้าถึง TCP 80 / 443 จาก Internet ได้ — มันจำเป็นสำหรับการ Verification ของ Certbot ครับ *** ในเบื้องต้นนะ 🙂 *** Let’s Encrypt คืออะไร อ่าน …https://letsencrypt.org/getting-started/ เริ่มต้น ต้องติดตั้ง Certbot ก่อน อ่าน …https://certbot.eff.org/ ดูต้นฉบับการติดตั้งของ Ubuntu 18.04 และใช้ Apache ได้จากhttps://certbot.eff.org/lets-encrypt/ubuntubionic-apache ติดตั้ง Certbot ก่อน ใช้คำสั่งต่อไปนี้ จาก User ที่สามารถ sudo ได้ แบบ Auto จากนั้นใช้คำสั่งต่อไปนี้ เพื่อให้ certbot ทำการติดตั้ง Certificate และแก้ไขไฟล์ (ในที่นี้ใช้ Apache) Configuration ให้เลย แบบแก้ไขเอง หรือถ้าจะทำเอง โดยต้องการเอาเฉพาะ Certificate มา แล้วทำการแก้ไขไฟล์ Apache Configuration เองก็ได้ ระบบจะถาม ยอมรับเงื่อนไขไม๊ –> แน่นอน (A) Accept email address ให้ใส่ไปตามจริง ต้องการให้แสดง email address เปิดเผยหรือไม่ –> ผมตอบ No นะ และ บอกว่า Domain Name ของเราคืออะไร ให้ใส่ FQDN ไป เช่น kx1.in.psu.ac.th เป็นต้น จากนั้น Certbot จะ Callback ไป ให้มีการ Verification จาก Internet ว่าสามารถเข้าถึงได้จริงหรือไม่ (ตรงนี้ ใน PSU ต้องแจ้งทาง Network Admin เพื่อเปิด Port ที่ Firewall ให้เข้าถึง TCP 80 และ 443 ให้สำเร็จก่อน) เมื่อ Verification สำเร็จ ก็จะได้ไฟล์ Certificate และ Private Key มา จะอยู่ที่ (path แต่ละเครื่องจะแตกต่างกันตรงที่ Domain Name ที่กำหนดข้างต้น) ตามลำดับ แก้ไขไฟล์ ให้มีค่าต่อไปนี้ จากนั้นใช้คำสั่งนี้ เพื่อเปิดใช้งาน https ใช้คำสั่งนี้ เพื่อใช้งาน default-ssl และทำการ Restart apache ด้วยคำสั่งนี้ sudo systemctl reload apache2 ทดสอบใช้งาน HTTPS ใช้งานได้ NOTE จริง ๆ แล้ว ในองค์กร สามารถทำเครื่อง ๆ หนึ่งขึ้นมา เพื่อติดตั้ง certbot แล้วขอ Certificate มา ของ Domain ต่าง ๆ แล้วค่อย “ย้าย” certificate และ key file ไปเครื่องที่จะใช้งานจริง

Read More »
Microsoft Office Professional Plus 2019

How to install Office Professional Plus 2019 in PSU

สามารถ download ได้จาก https://licensing.psu.ac.th ล็อคอินเข้าระบบให้เรียบร้อย เมื่อเปิดหน้าของ Office Professional Plus 2019 เลื่อนลงมาล่างสุดจะมีให้ Download อยู่ 2 ส่วน โดย Office pro plus 2019 setup คือส่วนที่จำเป็นต้องโหลด และสามารถเลือกโหลด Configuration Setup ได้ตามภาษาและสถาปัตยกรรมที่ต้องการ เมื่อโหลดเสร็จแล้ว ติดตั้งโดยการเปิด cmd เรียกใช้ cmd ด้วยการกด windows+R การติดตั้ง Office Professional Plus 2019 จะเป็นการติดตั้งผ่านอินเตอร์เน็ตเท่านั้น พิมพ์ cd ไปยังโฟลเดอร์ที่ดาวน์โหลดทั้งสองไฟล์ไว้ (ในตัวอย่างโหลดไฟล์ไว้ที่ Desktop) พิมพ์คำสั่งดังต่อไปนี้ โดยเลือกตามรุ่นและสถาปัตยกรรมที่เลือก จะมีหน้า User control ให้ตอบ Yes แล้วจะได้หน้าต่างติดตั้งขึ้นมา รอจนเสร็จ เปิด Microsoft word สร้างเอกสารใหม่ คลิกเมนู File แล้วเลือก account มองไปด้านขวาในส่วนของ Product Information หากยังไม่มีข้อความว่า Product Activated ให้คลิก Change Product key ให้นำคีย์จากเว็บ https://licensing.psu.ac.th มาใส่แล้วกด Activate Office ต้องเชื่อมต่ออินเตอร์เน็ตให้เรียบร้อยก่อนทำขั้นตอนนี้ สำหรับผู้ใช้ทั่วไปจบเพียงเท่านี้ ขอให้สนุก สำหรับ Power Users และคนที่ต้องการใช้ Office ภาษาอื่นๆ มากกว่าภาษาไทย และ ภาษาอังกฤษ หากเปิดดูในแฟ้ม o2019proplus64en.xml จะมีส่วนที่แก้ไขได้ ได้แก่ SourcePath และ Language ID โดยค่าที่เป็นไปได้ของ SourcePath คือ โฟลเดอร์ปลายทางที่จะได้เป็นที่เก็บตัวติดตั้ง Office Professional Plus 2019 เช่น d:\download ซึ่งแปลว่าโหลดตัวติดตั้งมาเก็บไว้ที่ d:\download และค่าที่เป็นไปได้ของ Language ID ได้แก่ รหัสภาษาที่ไมโครซอฟท์กำหนดโดยสามารถดูได้ที่ https://docs.microsoft.com/en-us/DeployOffice/office2016/language-identifiers-and-optionstate-id-values-in-office-2016 ตัวอย่างไฟล์ที่แก้เสร็จแล้ว วิธีใช้งานให้พิมพ์คำสั่งต่อไปนี้ใน cmd จะค้างอยู่จนกว่าจะ download เสร็จ เมื่อ download เสร็จแล้วสามารถพิมพ์คำสั่งต่อไปนี้ใน cmd เช่นเดิม เพื่อเริ่มกระบวนการติดตั้ง แบบที่กล่าวมาแล้ว จบขอให้สนุกครับ

Read More »

การนำเสนอรูปภาพให้น่าสนใจใน Power Point ด้วย Slide master

ตามหัวข้อเลยนะคะ อาจเป็นเรื่องที่หลาย ๆ คนทราบอยู่แล้ว ถือว่าเป็นการทบทวนแล้วกันนะคะ มาดูกันเลย การสร้าง Logo ให้กับทุกหน้าใน slide ปัญหา : ถ้าเราต้องมาจัดวางโลโก้อยู่เองทีละหน้าก็ต้องใช้เวลาในการจัดตำแหน่ง ถึงแม้จะ Copy ได้ก็เถอะ Slide master ช่วยได้ค่ะ 1.ไปที่แท็บเมนู View –> Slide Master คลิกขวาที่แท็บด้านซ้ายเลือก Insert Layout 2.ไปที่แท็บเมนู Insert –> Picture เลือกรูปที่ต้องการ 3.จากนั้นเลื่อนกล่อง Picture มาบริเวณที่เราต้องการแสดงโลโก้ ในที่นี้เลื่อนมาบริเวณมุมขวาบน 4.คลิกขวาที่ Slide ที่กำลังจัดทำ Rename Layout เพื่อแก้ไขชื่อ Layout 5.ไปที่แท็บ Slide Master –> Close Master View 6.ที่แท็บ Home –> New Slide –> Custom Logo Layout   7.คลิกขวา New Slide ก็จะได้ Layout ที่มีโลโก้ตามต้องการ การสร้างหน้าสำหรับแนะนำตัว 1.ไปที่แท็บเมนู View –> Slide Master คลิกขวาที่แท็บด้านซ้ายเลือก Insert Layout 2.ไปที่แท็บ Slide Master –> Insert Placeholder –> Picture 3.ไปที่แท็บ Format –> Edit Shape –> Change Shape –> Oval เพื่อเปลี่ยน Shape ตามต้องการ 4.ไปที่แท็บ Insert –> Shapes –> Line เพื่อสร้างเส้นแบ่งระหว่างรูปภาพและเนื้อหา 5.ไปที่แท็บ Slide Master –> Insert Placeholder –> Text เพื่อใส่เนื้อหา 6.คลิกขวาที่ Slide ที่กำลังจัดทำ Rename Layout เพื่อแก้ไขชื่อ Layout 7.ไปที่แท็บ Slide Master –> Close Master View 8.ที่แท็บ Home –> New Slide –> Custom Layout สามารถเพิ่มรูปภาพและพิมพ์ข้อความเนื้อหาเข้าไปตามต้องการ โดยมีรูปแบบตาม Custom Layout ที่ได้ออกแบบไว้ การนำเสนอรูปภาพจำนวนหลาย ๆ รูปใน 1 slide ให้น่าสนใจ 1.ไปที่แท็บเมนู View –> Slide Master คลิกขวาที่แท็บด้านซ้ายเลือก Insert Layout แล้วลบ Label ต่าง ๆ ออกให้หมด 2.ไปที่แท็บ Slide Master –> Insert Placeholder –> Picture 3.ลากวางในตำแหน่งตามต้องการ 4.คัดลอก Picture อันที่ทำเรียบร้อยแล้วมาวางต่อ ๆ กันแล้วปรับขนาด ดังรูป 5.ไปที่แท็บ Slide Master –> Close Master View 6.ที่แท็บ Home –> New Slide –> Custom Layout 7.สามารถเพิ่มรูปตามต้องการได้ และสามารถเพิ่มรูปโดยไม่ตรง Resize ขนาด ไม่ต้องปรับอะไร วันนี้แค่นี้ก่อนแล้วกันนะคะ ขอบคุณทุกคนที่ติดตามค่ะ

Read More »