Server-side Rendering (SSR) จากอดีตสู่ปัจจุบัน มาจากไหน แล้วทำไมเราควรจะสนใจ ช่วยเรื่องของ SEO ได้อย่างไร

ได้มีโอกาสคุยกับพี่ชาย ก็ยังรู้สึกว่าหลายๆ คนยังไม่รู้จักคำว่า SSR หรือ Server-side Rendering บวกกับการมาของ React 18 ที่นำเสนอ Server Component เลยรู้สึกตื่นเต้น วันนี้เลยอยากมาแชร์ให้ฟังกันครับ

ต้องบอกว่า SSR มาพร้อมกับการเขียน JavaScript ยุคสมัยใหม่ เช่น React, Vue, Angular ที่เราไม่แก้ไข DOM ตรงๆ แต่ใช้กลไกบางอย่างที่ทำให้แก้ไข DOM เท่าที่จำเป็นเท่านั้น เช่น Virtual DOM ทำให้ประสิทธิภาพดีขึ้นกว่าการเขียนแบบเดิมๆ เช่น Vanilla JavaScript หรือใช้ jQuery นั้นเอง เดี๋ยวเราจะคุยประเด็นนี้ในบทความต่อนะครับ…

โดยใช้ OpenSSH มีการตั้งหลาย Key พร้อมๆ กันในเครื่องเดียว รวมถึงใครที่ใช้ SourceTree ก็สามารถใช้ร่วมกันได้เลย

ถ้าใครจะตั้งค่า SSH สำหรับ Remote Server อื่นๆ ก็ใช้หลักการเดียวกันได้ เพียงแต่ในบทความนี้ยกตัวอย่าง GitHub

บทความนี้จะแบ่งจะเป็น 2 ส่วนใหญ่ๆ คือฝั่ง Unix-based (Mac OS, Ubuntu, WSL) และฝั่ง Windows ครับ ก่อนจะเข้าเรื่อง ผมขออธิบายหลักการของ SSH เบื้องต้นนะครับ การเชื่อมต่อผ่าน SSH หรือ Secure Shell นั้น คือการเชื่อมต่อไปเครื่องต้นทาง (Local) ไปยังเครื่องปลายทาง (Remote) ผ่านการเข้ารหัส ซึ่งมั่นใจได้ว่าการเชื่อมต่อนั้นปลอดภัยในระดับที่ยอมรับได้ในระดับสากล

ในการเชื่อมต่อนั้นจะเป็นแบบ Asymmetric Encryption หรือ การเข้ารหัสแบบไม่สมมาตร โดยก่อนจะมีการส่งข้อมูลจะมีการสร้างคู่ของกุญแจ ที่ก็ต้องใช้ร่วมกันเท่านั้น เราจะเรียกว่า Public key และ Private key…

Time Block x Google Calendar x Notion

สวัสดีครับ ช่วงนี้เรา WFH กันใช่มั้ยครับ หลายๆ คนอาจจะมีปัญหา จัดการงาน ว่าจะทำงานบ้านก่อนดี หรือทำงานอื่นๆ ดี

วันนี้อยากมาแบ่งปันการใช้ Time Block ด้วย Google Calendar กับ Task Management บน Notion ครับ [Template: My Things ที่ผมได้โพสไว้ในโพสก่อน https://www.facebook.com/.../permalink/369652924407139/... ] ใครเจอปัญหาเดียวกับผม มาแชร์กันได้ครับ

ทำไมต้องใช้ Time Block ??

เนื่องจากผมมีงานทั้งที่อยากทำ และไม่อยากทำเต็มไปหมดครับ ปัญหาคือการดองครับ ดอง To Do จนเยอะ เต็มไปหมดจนรู้สึก upset ครับ รู้สึกว่าไม่อยากทำแล้ววววววว อะไรเนี่ยย เยอะมาก (ดังนั้น เราควรจะมีการรีวิว todo ครับ แยก todo มองเห็นตอนกำลังทำงาน…

Photo by Pankaj Patel on Unsplash

สวัสดีครับ วันนี้ผมมาแชร์เทคนิคการเขียน สูตรแบบ ยังไงก็ไม่พลาดแน่ๆ กันครับ เทคนิคที่ใช้ TDD (Test-Driven Development) คือ โดยผมประยุกต์ใช้ใน Notion โดย

ในตัวอย่างนี้จะใช้สูตรการใส่ comma เลขหลักพันนะครับ มาเริ่มกันเลย!

1. การสร้าง Table มา

2. กำหนด Column

  • Number = คือค่าตั้งต้น
  • Output = สูตรของเรา
  • Expected = สิ่งที่เราอยากให้เป็น คำตอบที่ถูกต้อง
  • Tester = สูตรง่ายๆ สำหรับเช็คว่า Output กับ Expected เท่ากันมั้ย

3. เราจะเริ่มจากให้ Pass บางเคสก่อน

(เอาจริงๆ ต้องเริ่มจาก Fail ทุกเคส แต่นี้ขอข้ามขั้นตอนนั้นไป)

สวัสดีคับ ผมชื่อมายด์คับ ห่างหายจากการเขียนบล็อกมานานแสนนานมาก เนื่องจากต้องไปรับราชการทหารอยู่ 6 เดือนระหว่างตอนที่เรียนโทอยู่ครับ วันนี้ก็มีเรื่องเล่ามาแชร์ ให้ฟังคับว่า เป็นอย่างไรบ้างระหว่างการเรียน และได้อะไรมาบ้าง (อาจจะไม่ครบถ้วน ถ้านึกออกจะมาใส่เพิ่มนะครับ) ถือว่าเป็นการแบ่งปันนะคับ

สิ่งที่ได้จากการเรียนโท

  • องค์ความรู้ต่างๆ : แน่นอนครับการเรียนที่สูงขึ้นก็ต้องได้ความรู้ในด้านที่เราสนใจลึกลงไป
  • ความสามารถในการเรียนรู้สิ่งใหม่ๆ ด้วยตนเอง: หลายๆ สิ่งที่เราศึกษาเป็นสิ่งที่ยังไม่มีคนทำทีครับ ดังนั้นเราต้องต่อยอดองค์ความรู้เดิมให้ได้ ถ้ามีไม่พอก็ต้องศึกษาเพิ่ม ถ้ามีผู้รู้ก็ยิ่งดีเลย ถ้าไม่มีใครให้ถามก็ต้องพึ่งตัวเองครับ…

ขอบคุณรูปจาก Anika Huizinga on Unsplash

อ่านฉันหน่อย: บทความนี้ใช้ javascript ES6 นะครับ ใครยังไม่ชินไปตามอ่านได้ใน Cheat sheet นี้เลย มีภาษาไทยด้วย https://github.com/mbeaudru/modern-js-cheatsheet/blob/master/translations/th-TH.md

หมายเหตุ ต่อไป: ผมเขียน Python, C เป็นหลักนะครับ Java เป็นรอง แต่เขียน Async บน Java ด้วย ดังนั้น อาจจะไม่ถูกใจขา JS

สวัสดีครับ บล็อกนี้มาสั้นๆ ไม่เกริ่นทีมา ว่าทำไมถึงใช้ และหลักการต่างๆ ข้ามไว้ก่อน เพราะเราขี้เกียจเขียน (ไว้ค่อยกลับมาเขียน 555)

สรุปสั้นๆ

  • ใช้ Promise เพื่อแก้ปัญหา Callback Hell (มีแถม…

Thada Wangthammang

Software Engineer, using ASP.NET Core, React, TypeScript. Blog at thadaw.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store