Get Adobe Flash player

Laravel การนำ public folder ออกจาก url ให้เหลือเพียงแค่ domain

โดยปกติการติดตั้ง Laravel นั้นจะต้องติดตั้งด้านนอก public_html (Folder Web Root โดยทั่ว ๆ ไป) แล้วทำการ Config Web Server ให้ชี้ไปยัง Folder Public ของ Laravel แทนเพื่อให้ url เหลือเพียงแค่ domain เท่านั้น ดังภาพ

และการ Config Virtualhost ให้ชี้ไปที่ Folder public ของ Apache

แต่ในบางครั้งเราไม่สามารถ Config Apache หรือ Web Server ที่ใช้บริการอยู่ได้ ดังนั้นจึงต้องใช้วิธีการเปลี่ยน Pointer จาก Folder Laravel ให้ชี้ไปยัง Folder public แทน โดยวิธีการทำนั้นง่ายมาก เพียงแค่ 2 ขั้นตอนคือ

  1. Copy File .htaccess จาก Folder public ไปไว้ด้านนอก (Folder Laravel)
  2. เปลี่ยนชื่อไฟล์ server.php เป็น index.php

เพียงเท่านี้ ก็จะสามารถเข้าถึงเว็บได้โดยตรงโดยใช้เพียงแค่ domain บน url เช่น http://abc.com แทนที่จะเป็น http://abc.com/public แต่การใช้วิธีนี้ก็จะมีปัญหาใหญ่มาก ในด้านความปลอดภัยตามมาเพราะ ใน Folder Laravel นั้นมีไฟล์ Config ที่เป็น Text file อยู่ (.env) เราสามารถเข้าถึงได้ และดู Config หรือ Password ได้โดยตรง จำเป็นที่จะต้องปิดช่องโหว่ในส่วนนี้ โดยวิธีที่แนะนำคือการตั้งค่าเพิ่มใน File .htaccess ใน Folder Laravel โดยการ Config ให้ไม่อนุญาติให้เปิดอ่าน Extension env หรือ Extension อื่น ๆ ที่ส่งผลต่อความปลอดภัย ดังนี้

เพียงเท่านี้ก็จะไม่สามารถเปิดอ่านไฟล์ Config ได้โดยตรง

แก้ปัญหาสระลอยบน Photoshop

การพิมพ์ตัวหนังสือบน Photoshop บางครั้งผู้ใช้งานอาจจะพบปัญหาสระลอย หรืออาการที่สระหรือวรรณยุกต์อยู่ในต่ำแหน่งที่สูงหรือต่ำเกินไป ทำให้พิมพ์ออกมาแล้วดูไม่สวยงามหรืออ่านยาก แม้ว่าใน Photoshop จะสามารถตัดต่อแบบรูปภาพได้ แต่ในที่นี้ก็มีอีกวิธีที่สามารถแก้ไขได้ที่ตัวข้อความได้เลย

 

ขั้นตอนในการแก้ไขสระลอย

1. ทำการเลื่อน cursor ไปอยู่หลังตัวอักษรหรือวรรณยุกต์ที่ต้องการ
2. กดปุ่ม shift ค้างไว้
3. กดปุ่มลูกศร ไปทางซ้ายเพื่อทำการเลือกจุดที่ต้องการแก้ไข
4. ให้กดปุ่ม Alt ค้างไว้อีกปุ่ม โดยที่ยังกดปุ่ม shift ค้างอยู่
5. จากนั้นให้กดลูกศรชี้บนหรือชี้ลงล่างเพื่อทำการเลื่อนตามใจชอบ
ซึ่งวิธีนี้ นอกจากจะใช้แก้ปัญหาสระหรือวรรณยุกต์ลอยได้แล้ว ยังสามารถใช้กับตัวอักษรได้อีกด้วย

การใส่ Icon ใน Linkbutton :asp

asp:Linkbutton นั้นเป็นปุ่มเครื่องมือที่ติดตั้งมาเป็นเครื่องมือพื้นฐานใน Visual Studio ซึ่งจะแตกต่างจาก asp:Button ปกตินั่นคือ asp:Linkbutton นั้นจะสามารถใส่รูปหรือไอคอนลงไปในปุ่มได้

ตัวอย่างการใส่ Icon ใน asp:Linkbutton

นำ CDN ของ Framework ที่จะใช้ มาใส่ไว้ที่ส่วน Header ของเว็บไซต์

ในตัวอย่างจะใช้ Icon Font awesome 

  • สร้างปุ่ม Linkbutton

 

  • เลือกไอคอนที่ต้องการใช้จาก Icon Font awesome

  • จากนั้นนำมาวางใน asp:Linkbutton

  • จากนั้นจึงจะได้ปุ่มที่มีไอคอน

การSet ค่าใน Report ตามที่เราต้องการ Devexpress XtraReport

  1. . ให้เราสร้าง XtraReport  และจัดให้เรียบร้อย

2. ให้เราทำการตั้งชื่อ ตัวแปลของเรา

3. จากนั้นเราไปที่ Code Behide ของ XtraReport   โดยในตอนแรก ตัวแปลของเรายังเป็น Private ให้เราปรับเป็น Public

4. เป็นขั้นตอนของการ Set ตัวแปลลง คือ  ให้เรา new Obj ของหน้า Report  เราจึงจะเห็นตัวแปลใน Class นั้น และเราสามารถเอาไปเทียบตัวแปลได้ดังในรูป

การลบ kernel เก่าที่ไม่ได้ใช้งาน เพื่อแก้ปัญหาพื้นที่ /boot เต็ม

  1. เช็คพื้นที่ โดยใช้คำสั่ง df-h
  2. ทำการลบ kernel เก่า โดยใช้คำสั่ง apt autoremove –purge

แนะนำ Plugin WordPress รับมือ Error 404 หรือการเปลี่ยนแปลง URL

เป็นปกติเมื่อเปิดเว็บไซต์ (WordPress) มาระยะเวลาหนึ่ง มักจะมีการเปลี่ยนแปลง URL ของ Post, Page หรือแม้แต่ไฟล์ Media ต่าง ๆ เสมอ เช่น

  • เปลี่ยนจากเดิม URL ของ Post จาก /some-title เป็น /some-new-title
  • จากไฟล์รูปภาพเดิมที่เคยมีถูกลบ หรือเปลี่ยนเป็นไฟล์รูปภาพใหม่ (URL รูปภาพเปลี่ยน)
  • URL เว็บไซต์ถูกเปลี่ยน เช่นจาก abc.com/2019 เป็น abc.com เฉย ๆ

ทั้งหมดนี้ เมื่อมีการเปลี่ยนแปลง URL ผลที่ตามมาคือ ถ้ายังมีการนำ URL เก่าไปใช้ในเว็บไซต์อื่น เวลาคลิกเข้าที่ URL เก่าก็จะไม่พบหน้าที่ต้องการหา หรือ Error 404 (not found) นอกจากนั้นจะส่งผลเสียต่อ SEO อีกด้วย (Google มองว่าเป็น Dead link)

จึงขอแนะนำ Plugin WordPress ที่จะมาช่วยแก้ปัญหานี้คือ

สำหรับ All 404 Redirect to Homepage คือ Plugin ที่จะช่วยเปลี่ยนจากหน้า Not found ของ WordPress ให้ Redirect ไปหน้าแรกของเว็บไซต์แทน เวลาที่ผู้ใช้เรียกหน้าที่ต้องการไม่พบ ซึ่งจุดนี้ผู้ดูแลเว็บไซต์ต้องเลือกระหว่าง ถ้าไม่เจอไปหน้าเว็บให้ไปหน้าแรก หรือ แสดงตรงๆ ไปเลยว่าไม่พบข้อมูล (ขึ้นอยู่กับความต้องการ)

ส่วน Redirection คือ Plugin ที่จะช่วย Map ระหว่าง URL เดิมที่เคยใช้ และ URL ปัจจุบัน ยกตัวอย่างเช่น ถ้าเราต้องการแก้ URL ของ Post ก็จะต้องมาใส่ข้อมูล URL Map ใน Redirection ด้วย เมื่อมีการเข้าด้วย URL เดิม Plugin จะ Redirect ไป URL ใหม่ให้อัตโนมัติ นอกจากนี้ Plugin ยังคอยเก็บสถิติการเข้าผ่าน URL ที่ Map ไว้ เพื่อให้ผู้ดูแลเว็บเห็นว่ามีการเข้าจาก URL เดิมจำนวนมากแค่ไหน

HTML 5 canvas คืออะไร

HTML5 Canvas เป็นหนึ่งใน feature ที่มีคุณสมบัติทางด้านกราฟฟิคที่มาพร้อมกับ HTML5 ซึ่ง Canvas element นี่แหละมันอาจจะเป็นพระเอกของ HTML5 เพราะเจ้ากราฟฟิกตัวนี้ มันสามารถทำให้คุณสามารถสร้างระบบต่างๆ ที่คุณต้องการขึ้นมา ไม่ว่าจะเป็นระบบเกมส์ หรือโปรแกรมวาดภาพบนเว็บ ที่รองรับทุก platform

Canvas เป็น Element หนึ่งใน HTML5 เหมือนอย่าง <img> หรือ <a> โดยใน <img> หรือ <a> จะมี attributes เช่น src และ href แต่ใน <canvas> จะมีเพียงแค่ 2 attributes คือ width และ height (ความกว้างและความสูงของ Canvas) เท่านั้น

ข้อดีของ แท็ก Canvas
    ช่วยเปลี่ยนลูกเล่นการแสดงผลของเว็บเพจไปอีกมากเดิมที HTML เป็นการวาดออบเจคต์ (เช่น ข้อความ รูป กล่องข้อความ ฯลฯ) ขึ้นมาเป็นหน้าจอ และสามารถตกแต่งออบเจคต์แต่ละตัวได้ในระดับหนึ่งผ่าน CSS (เช่น ใส่สีพื้น วาดเส้นขอบ ทำมุมโค้ง) แต่ในภาพรวม HTML ยังไม่สามารถแสดงกราฟิกแบบราสเตอร์ (raster) ได้ด้วยตัวมันเอง ต้องทำภาพมาแปะอีกทอดหนึ่ง แท็ก canvas ที่ถูกเพิ่มเข้ามาช่วยให้เราสามารถ “วาดภาพ” ลงบนเว็บเพจได้โดยตรง โดยขอบเขตของภาพที่วาดก็จะอยู่ในออบเจคต์ชื่อ canvas นั่นเอง
   ลักษณะของ canvas แตกต่างจากภาพชนิดอื่นๆ คือ มันไม่ได้จะแสดงได้เป็นภาพนิ่งเท่านั้น แต่มันสามารถเป็นภาพเคลื่อนไหวได้ด้วย และก็ไม่ได้เกิดจากการเรียกไฟล์ภาพขึ้นมาแสดงตรงๆ แต่เป็นการสั่งโดย javascript ทุกๆเส้นหรือทุกๆจุด และทุกๆการเคลื่อนไหวที่เกิดภายใต้ <canvas> เกิดจากการสั่งงานโดย javascript ทั้งสิ้น แล้วนำเข้ามาโชว์ด้วยการเรียกผ่าน id ของ <canvas> เข้าไป

การใช้งาน HTML 5 canvas เบื้องต้น

เริ่มแรกทำการสร้างไฟล์ HTML ขึ้นมา ผมทำการตั้งชื่อ ว่า index.html และมี element <canvas> ดังตัวอย่าง


จากนั้นลิงค์สคริปไปยังไฟล์ JavaScript ของเรา โดยทำการตั้งชื่อว่า main.js

ตัวอย่างการทำ Canvas

ผลที่ได้ก็จะเหมือนๆกับเราสร้าง Element DIV แต่ว่าความสามารถของ Canvas นั้นมันมีมากกว่า และถ้าคลิกขวาที่ Canvas เราสามารถที่จะ Save ออกมาเป็น Image ได้ด้วยนะครับ

UNSIGNED ใน MySQL คืออะไร

ใน MySQL เมื่อเรากำหนด Datatype ที่เป็นตัวเลขจำนวนเต็ม อย่างเช่น INT จะมี attribute Unsigned ซึ่งเป็นตัวระบุว่าจะยอมให้มีค่าติดลบหรือไม่ ซึ่งก็คือ INT ปกติ จะมีค่าตั้งแต่ -2147483648 ถึง 2147483647 (ยอมให้ติดลบ) ส่วน INT Unsigned ที่ไม่มีค่าติดลบ จะมีค่าตั้งแต่ 0 ถึง 4294967295 (นำช่วงติดลบไปทบเป็นค่าบวกเพิ่ม)

วิธีการเลือกใช้

ให้พิจารณาว่าค่าใน Field หรือ Column นี้จะมีค่าติดลบหรือไม่ ถ้าไม่มีค่าติดลบเช่น “อายุ”  ก็ให้ใช้เป็นแบบ Unsigned ก็จะได้ช่วงเก็บข้อมูลเยอะขึ้น รวมทั้งป้องกันความผิดพลาด เพราะ Column นี้จะไม่ติดลบแน่ ๆ

การสร้าง Project MVC .Net Core บน Visual Studio Code

ต้องมี 3 อย่างนี้ก่อน

1.ไปยัง Terminal และเลือก New Terminal

2. ขั้นแรกพาทไปยังโฟรเดอร์ที่ต้องการเก็บ และใช้คำสั่งในการสร้างคือ

dotnet new mvc -o (ตามด้วยชื่อที่ต้องการ)

3. เมื่อสร้างเสร็จจะได้ ดั้งภาพ

4. ทำการ Open Folder Project ที่สร้างขึ้นมาก่อน และวิธีการ Run คือ F5 หรือ ctrl+F5 และเลือก Run .Net Core

6. เมื่อรันจะได้ผลตามภาพ

Encoding utf8mb4 vs utf8 ใน MySQL แตกต่างกันอย่างไร

โดยปกติแล้ว utf8 นั้นคือรูปแบบการ Encode ตัวอักษรโดยการใช้ 4 byte ต่อ 1 ตัวอักษร แต่ใน MySQL กลับใช้ เพียง 3 byte ต่อ 1 ตัวอักษร ดังนั้น utf8 นั้นจริง ๆ มีชื่อเต็มว่า utf8mb3 ต่อมา MySQL จึงได้ออก Encode utf8 ใหม่ที่ใช้ 4 byte ต่อ 1 ตัวอักษร นั่นคือ utf8mb4 นั่นเอง

utf8mb4 ที่ใช้ 4 byte ต่อ 1 ตัวอัษรดีกว่ายังไง ?

แน่นอนว่า utf8mb4 จะต้องรองรับตัวอักษรได้มากกว่า utf8 ธรรมดา โดย utf8 ปกติใน MySQL นั้นจะรองรับเฉพาะ Basic Multilingual Plane (BMP) ซึ่งก็คือภาษาทั้งหมดที่มีใช้ในจริงในปัจจุบัน รวมทั้งตัวเลขและสัญลักษณ์ (นั่นก็เพียงพอแล้ว) แต่ utf8mb4 จะรองรับสัญลักษณ์อื่น ๆ เพิ่มเติมอีก รวมทั้ง Emoji

ดังนั้นปัจจุบัน Software ต่าง ๆ เข่น WordPress หรือ Framework ก็จะแนะนำให้ใช้ utf8mb4 เป็น Character Set เริ่มต้น