ข้ามไปยังเนื้อหาหลัก
ProgrammerThailand

Tutorials

บทเรียน

สอนทีละขั้น พร้อมโค้ดตัวอย่างที่คัดลอกไปใช้ได้ทันที

เปิดการใช้งานการเข้าถึงของแอปที่มีความปลอดภัยน้อยสำหรับ Google GMail

แอปและอุปกรณ์บางอย่างใช้เทคโนโลยีการลงชื่อเข้าใช้ที่มีความปลอดภัยน้อย ซึ่งทำให้บัญชีของคุณมีช่องโหว่ คุณปิดการเข้าถึงของแอปเหล่านี้ได้ (ซึ่ง…

IIS: ปิดการ Browse Folder

ใน IIS เราสามารถปิดการ Browse Folder ได้เพื่อป้องกันการ list ไฟล์ต่างๆ หากไม่ใช่ไฟล์ที่ใช้ในการประมวลผล ซึ่งเราสามารถกำหนดได้โดยการแก้ไข web…

Server Information Disclosure (PHP)

ปิดการแสดง version ของ php เช่น X-Powered by PHP 7.4 ให้ทำการเปิด php.ini จากนั้นปิดการใช้งาน expose_php ดังนี้ expose_php = Off

IIS: Server Information Disclosure

เป็นการปิดการแสดง version ของ IIS โดยสามารถเพิ่มคำส่ังใน web.config ดังต่อไปนี้ <system.web> <httpRuntime enableVersionHeader="false" /> </s…

IIS: Lack of HTTP Secure Flag

ใน Internet Information Service : IIS เราสามารถกำหนดให้ระบบ require SSL เพื่อความปลอดภัยของการรับส่งข้อมูล ระดับความเสี่ยง : ต่ำมาก HTTP Sec…

การเข้ารหัสข้อมูลที่สำคัญในฐานข้อมูลด้วย Yii2

หลายๆ ครั้งที่ข้อมูลที่มีความสำคัญ เช่น ชื่อ นามสกุล หมายเลขบัตรประชาชน หรือแม้แต่หมายเลขบัตรเครดิต หากทำให้เกิดความปลอดภัยมากขึ้นเราควรเข้า…

กำหนดให้ Module เปลี่ยน Theme แตกต่างจาก Theme หลัก ใน Yii Framework 2

หลายๆ ครั้งที่เราเขียน Web Application ด้วย Yii Framework 2 นั้น เราต้องการเปลี่ยน Theme ในแต่ละ Module นั้นก็สามารถทำได้ เช่น เรามี Theme ห…

แสดงหน้าเว็บ 1 รายการจาก API ด้วย Nuxt

บทเรียนรู้นี้เรามาเขียนโปรแกรมแสดงหน้าเว็บ 1 รายการจากหน้า index ที่รวมเนื้อหาไว้ เช่น หน้ารวมของ Blog เมื่อคลิกแต่ละเรื่องก็จะแสดงรายละเอีย…

สร้าง Component และเรียกใช้ Component ใน Nuxt

ในบทเรียนรู้นี้เรามาสร้าง Component ใน NuxtJS และเรียกใช้งาน โดยจะดึงข้อมูลมาจาก API จากนั้นนำมาใส่ใน Card ของ Bootstrap4 ดังนี้ สร้างไฟล์ c…

ดึงข้อมูล API ด้วย Axios ใน NuxtJS

ใน nuxtjs มี package axios ที่ embbed มาด้วย ชื่อ @nuxtjs/axios ดังนั้นเราสามารถเรียกใช้งานได้ ในที่นี้จะทดสอบเรียก api จาก jsonplaceholder…

การใช้งาน Nuxt Link

Nuxt Link เป็นการกำหนด Link ไปยังหน้าต่างๆ ที่มีใน Web Application โดยจะใช้คำสั่ง nuxt-link ซึ่งมีลักษณะการใช้งานดังตัวอย่างต่อไปนี้ <templa…

การสร้างหน้าแสดง Error ใน NuxtJS

เราสามารถเขียนหน้าจอแสดง Error หากไม่พบหน้า โดยสร้างไฟล์ layouts/error.vue จากนั้นใส่คำสั่งแสดง error ตามต้องการลักษณะดังนี้ <template> <div…

การนำ Bootstrap4 มาใช้กับ NuxtJS

Bootstrap4 เป็น CSS Framework จาก Twitter ที่มีคนใช้งานเป็นจำนวนมาก สามารถดูเพิ่มเติมได้จากเว็บไซต์ getbootstrap.com ซึ่งเราสามารถนำมาใช้กับ…

ทำความเข้าใจกับ Nuxt child components

สำหรับ nuxt-child component นั้น ให้มองถึง layout หลัก กับ ไฟล์ที่ render แต่ละหน้า แต่ในที่นี้จะมาดูตัวอย่างใน pages เช่นเรามี folder pages…

Method สำหรับการ Validate ข้อมูลใน NuxtJS

เราสามารถเขียน method สำหรับการ validate ข้อมูลใน NuxtJS ได้ เช่นตัวอย่างนี้จะเป็นการตรวจสอบ params ที่ request ว่าให้เป็นตัวเลขเท่านั้น pag…

Route Parameter ใน NuxtJS

เราสามารถเข้าถึง route parameter ของ nuxtjs ได้โดยใช้ $route โดยสามารถกำหนดในไฟล์ดังนี้ {{$route.params.id}} ตัวอย่างไฟล์ pages/users/_id/in…

การสร้างหน้า Page แบบ Nested Page

ใน nuxtjs page เราสามารถสร้างหน้า page แบบ nested ได้ ตัวอย่างการเรียกใช้งานส่วนใหญ่ เช่นการเปิด posts/index จะเรียก post ทั้งหมด หากเปิด po…

การสร้างหน้า Page ใน NuxtJS

สำหรับ NuxtJs นั้นเราสามารถสร้างหน้า page เก็บไว้ใน folder pages โดย NuxtJS จะนำชื่อไฟล์ไปสร้างเป็น route ให้โดยอัตโนมัติ เช่น ไฟล์ชื่อ post…

Flutter สำหรับทำ Web

ในบทเรียนรู้นี้มาทำ Web โดยใช้ Flutter นะครับ ก่อนอื่น Flutter สำหรับ Web ยังไม่ Stable นะครับ ให้เลือก channel ที่เป็น beta ก่อนนะครับ โดยใ…

แปลง Collation ทุก Column ในทุก Table ให้เป็นชนิดที่ต้องการด้วย phpMyAdmin สำหรับ MariaDB และ MySQL

หลายครั้งที่เกิดปัญหาเมื่อใช้คำสั่งเช่นการ UNION เพื่อสร้าง View ประสบปัญหา Error Collation ของข้อความไม่ตรงกัน ทำให้ไม่สามารถใช้คำสั่งดังกล…

UML Designer อีกเครื่องมือคู่กายสำหรับนักพัฒนาซอร์ฟแวร์

การจะสื่อสารทั้งกับลูกค้าและทีมนักพัฒนาซอร์ฟแวร์ และโปรแกรมเมอร์เองก็ตาม เป็นความยากลำบากมากเหมือนกันที่จะคุยเห็นภาพเข้าใจตรงกัน การใช้เครื่…

NOSTRA MAP API แผนที่ประเทศไทย ใช้งานง่าย พัฒนาโดยคนไทย

Nostra map ถือเป็นผลิตภัณฑ์หนึ่งที่หลายคนน่าจะเคยได้ยินกันมาบ้าง พัฒนาโดยบริษัท โกลบเทค จำกัด ซึ่งเป็นผู้นำด้านแผนที่ดิจิตอลประเทศไทยและภูมิ…

Constructor ใน PHP

Constructor เป็น method เริ่มต้น เมื่อมีการสร้าง Object จาก Class จะเริ่มทำงานทันที โดยมีโครงสร้างดังนี้ __construct ([ mixed $args = "" [,…

สร้าง GO API ด้วย Echo Framework

ในบทเรียนรู้นี้เรามาสร้าง API อย่างง่ายเพื่อการเรียนรู้ภาษา GO ที่เขาว่าเร็ว แรง ทะลุนรกกัน เริ่มจากการติดตั้ง Echo Framework เลยแล้วกันครับ…

ติดตั้ง mod_http2 สำหรับ Apache ใน cPanel

ในบทเรียนรู้นี้มาติดตั้ง mod_http2 สำหรับ Apache ใน cPanel กันครับ เริ่มจากเข้าระบบ จากนั้นไปเมนู Easy Apache 4 จากน้ัน เลือก Apache Modules…

ติดตั้ง Yii Framework ที่ Server ต้องตั้งค่าอะไรบ้าง

เอาล่ะครับก็มีคำถามมานะครับว่าเราจะเอาระบบที่เขียน(เสร็จแล้ว) ไปติดตั้งที่ Server ต้องทำอย่างไร ในที่นี้ผมจะแนะนำการติดตั้งที่ Server ที่ใช้…

การใช้งาน Pagination สำหรับ Bootstrap 4 ใน GridView และ ListView ของ Yii Framework 2

หลังจากที่ Package yii\bootsrap4 ออกมานั้นหลายคนที่ใช้ GridView และ ListView แบบเดิมอยู่จะทำให้ Pagination นั้นเพี้ยนๆ ไป ดังนั้นขั้นตอนนี้จ…

การยกเลิก CSRF ใน Controller

บางครั้งการส่งข้อมูลแบบ AJAX จากฟอร์มส่งไปประมวลผลใน Controller แบบ POST (อาจจะไม่ปลอดภัยเท่าไร) เกิดปัญหา Forbidden ทำให้ไม่สามารถส่งข้อมูล…

ส่ง LINE Notify รับการแจ้งเตือนแบบตัวต่อตัว

เราสามารถสร้างการแจ้งเตือนจากเว็บไซต์เราเข้า LINE ของลูกค้าได้ผ่าน LINE Notify แบบ 1-1-Chat หลักการทำงาน ขั้นแรก ลูกค้าร้องข้อเชื่อมต่อกับ S…

การติดตั้งและการตั้งค่า CKEditor และ FileBrowser ใน Yii Framework 2

ในบทเรียนรู้นี้ เรามาทำการติดตั้ง package CKEditor สำหรับเป็นตัวจัดการข้อความต่างๆ เช่นการกำหนดค่าตัวหนา ตัวเอง ตัวขีดเส้นใต้ เป็นต้น และนอก…

การสร้าง Splash Screen ใน Flutter

Splash Screen เป็นหน้า page เมื่อเรียกใช้งาน App ครั้งแรก โดยใช้ package splashscreen โดยเปิดไฟล์ pubspec.yaml แล้วเพิ่ม splashscreen: any d…

สร้าง API Provider สำหรับการเรียกใช้งาน API ใน Flutter

สำหรับบทเรียนรู้นี้เป็นการสร้าง API Provider สำหรับการเรียก API เพื่อนำข้อมูลมาแสดงที่ List View สำหรับตัวอย่างการใช้งาน แต่ก่อนอื่นให้ทำการ…

แก้ปัญหา Apache Error MaxRequestWorkers

ใน Apache หากมีการ request worker มากๆ อาจทำให้ระบบไม่สามารถทำงานได้ โดยเมื่อเปิด error log จะปรากฏข้อความลักษณะนี้ [mpm_prefork:error] [pid…

สร้าง Project Flutter ใหม่

การสร้าง Project Flutter ใหม่ สามารถใช้ terminal โดยการพิมพ์คำสั่ง flutter create project_name ในที่นี้จะสร้าง project ชื่อ example flutter…

Switch ในภาษา Dart

เรียนรู้การเขียน switch statement ในภาษา Dart void main() { printError(NetworkError.badURL); } enum NetworkError { badURL, timeout, resource…