Get Adobe Flash player

การจัดการความรู้ KM

AngularJS วิธี setDirty และ setTouched กับ required input ที่ผู้ใช้ไม่ได้กรอก

ปกติเมื่อใช้ AngularJS จะมีการ Validate Form ให้อัตโนมัติโดยปกติจะมีเงื่อนไขในการแสดงข้อความแจ้งเตือนให้กรอกข้อมูลดังนี้

  1. Invalid คือ Input ที่ไม่ถูกต้อง เช่น ต้องกรอก (required) แต่ไม่กรอก หรือ กรอกข้อมูลผิด format / ผิดประเภท
  2. Dirty คือ Input มีการคีย์ข้อมูล หรือเลือกข้อมูลแล้ว
  3. Touched คือ Input ที่เคยถูกคลิกเลือก หรือแตะเพื่อจะคีย์  (Focus)

แต่ก็มีปัญหาอยู่ว่า ถ้า require input ที่ยังไม่ได้กรอก หรือยังไม่ได้แตะต้องเลย จะไม่มี Dirty หรือ Touched พอผู้ใช้กด Submit Form ก็จะไม่เห็นการแจ้งเตือน จึงจำเป็นที่จะต้องมีการสั่ง Set Dirty และ Touched เพื่อให้ข้อความแจ้งเตือนในแต่ละ input ที่ Invalid แสดง โดยใช้ Code ดังนี้

อย่างไรก็ตาม Code นี้สามารถรองรับเมื่อมีการใช้ Sub Form ด้วย

CSS Order List แบบหลายระดับเช่นข้อ 1. มีข้อย่อยเป็น 1.1 ย่อยอีกเป็น 1.1.1.

โดยปกติการใช้ HTML Order List แบบหลายระดับดังภาพ

จะมีการแสดงผลในแต่ละข้อเพียงระดับเดียว เช่น ข้อ 1. มีข้อย่อยก็จะเป็น 1. ดังภาพ

ถ้าหากเราต้องการให้แสดงแบบหลายระดับ เช่น ข้อ 1. มีข้อย่อยเป็น 1.1 ย่อยอีกเป็น 1.1.1. สามารถกำหนด CSS โดยใช้ counter ดังนี้

ผลลัพธ์ที่ได้

วิธี Setup FTP Service บน Windows server

 

เข้าไปที่ Server Manager 

 

เลือก Add roles and features

 

 

 

 

 

เลือก Service ที่ต้องการจะติดตั้ง

 

เมื่อทำการ Install Service เสร็จเรียบร้อยแล้ว ไปยัง Tools > Internet Information Services (IIS) manager

 

 

คลิกขวา Sites > Add FTP Sites

 

ตั้งชื่อ FTP และ Path Files ของ ftp

 

เลือก IP Address และ Port ที่ต้องการทำ FTP 

 

ขั้นตอนการเพิ่ม การชี้ที่อยู่ของ Directory Folder

 

จากนั้นไปที่  FTP Authentication ที่เราสร้าง เพื่อทำการ Enable Group ของผู้ใช้

 

เมื่อทำงานตั้งค่าเสร็จเรียบร้อย

ให้ทดลองใช้ FTP โดยตัวอย่างจะใช้ Filezila

โดย Password นั้นจะเป็น Password ที่remote ไปยังเครื่อง Server

 

CSS : การเน้น text input เวลาทำการกรอกข้อมูล

ปกติเมื่อมีการใช้งาน text input หากไม่มีการตกแต่งใดๆ ในขณะที่ทำการที่กรอกข้อมูลลงไป textbox input ก็จะมีรูปลักษณ์ไม่ต่างไปจากตอนที่ไม่ได้กรอกข้อมูล แต่ถ้าหากต้องการเพิ่มลูกเล่นให้ text input มีการเน้นจุดที่ทำการกรอกข้อมูล ก็สามารถทำได้โดยกำหนดค่า input ภายใต้ <style>…</style> แล้วใช้โค้ดนี้

input[type=ประเภทtextbox]:focus {
ลักษณะ text input ที่ต้องการ เช่น สี สีขอบ ความหนาของขอบ ฯลฯ;
}

 

ตัวอย่างการใช้งาน (สมมติกำหนดให้ input 2 ประเภทแสดงผลต่างกัน)

 

จะได้ผลลัพธ์ดังนี้

– เมื่อทำการกรอกส่วนที่เป็นประเภท text
ส่วนที่ทำการกรอกข้อมูลจะขึ้นขอบสีดำหนารอบตัว text input ตามที่ตั้งค่าไว้ว่า border: 3px solid #555

– เมื่อทำการกรอกส่วนที่เป็นประเภท password
ส่วนที่ทำการกรอกข้อมูลจะมีพื้นหลังสีเหลืองอ่อนภายใน text input ตามที่ตั้งค่าไว้ว่า background-color: lightyellow

จะเห็นได้ว่า สิ่งที่ทำให้ text input ทั้งสองประเภทแสดงผลลัพธ์ต่างกัน อยู่ที่คำสั่งภาย :focus ของ input แต่ละชนิดนั่นเอง
ซึ่งการกำหนด input[type=???]:focus ก็ต้องสอดคล้องกับ type=”???”  ที่เซตบนตัว input ด้วย

การใช้งาน Popover Bootstrap

Popover คือเครื่องมือที่มีลักษณะเหมือนกล่องข้อความที่เป็นแบบ pop up เด้งขึ้นมา

การใช้งาน popover เบื้องต้น โดยใส่ BootstrapCDN ไว้ในหน้า html ในส่วนของ <head>

เราสามารถกำหนดทิศทางการแสดงข้อความของ popover ได้ 4 ทาง คือ ซ้าย ขวา บนและล่าง

 

ในส่วนของการกำหนดทิศทางเราสามารถแก้ไขในส่วน data-placement = top / left / right / bottom

ข้อความที่ต้องการใส่อยู่ในส่วนของ data-content

 

popover นั้นต้องใช้ Javascript ในการทำงาน

 

จากนั้นก็สามารถใช้ popover ได้

 

 

 

 

การใช้ Sass ฉบับย่อเพื่อช่วยเขียน CSS ให้มีประสิทธิภาพมากขึ้น

Sass คืออะไร ?

Sass คือ CSS Preprocessor หรือพูดง่าย ๆ ว่าเราจะเขียน Sass ตามที่ต้องการโดยอาศัยเทคนิคทางด้านการเขียนโปรแกรมโปรแกรมมาช่วยให้เขียนง่ายขึ้น หลังจากนั้นหากต้องการนำไปใช้ จำต้องทำการ Compile เป็น CSS ก่อนจึงจะนำไปใช้ได้

ประโยชน์ของการใช้ Sass นั้นมีมากพอและคุ้มค่าในระยะยาวหากจะต้องทำการเขียน CSS กับงานที่ซับซ้อน มีการแก้ไขบ่อย ๆ ไม่ว่าจะเป็นการกำหนดค่าเป็นตัวแปร แล้วนำไปวางแทนค่าดิบ ๆ  หรือการ Include Code ที่ต้องการใช้ซ้ำ ๆ ซึ่งถ้าเป็น CSS เราจะต้องเขียนใหม่เองทุกบรรทัด หากต้องแก้ ก็ต้องมาไล่แก้ทุกบรรทัด

วิธีการเขียน Sass

การเขียน Sass จะมี Syntax คล้ายคลึงกับ CSS คือถ้าเราเขียน CSS ได้ก็เข้าใจ Sass ได้ไม่ยาก การเขียนจะแบ่งออกเป็น 2 Syntax คือ .sass และ .scss สามารถดูเพิ่มเติมได้ที่ https://sass-lang.com/guide

โดยในตัวอย่างจะใช้ Syntax แบบ SCSS (เหมือน CSS มากกว่า) ดังเช่นการตั้งค่าเป็นตัวแปร แล้วนำไปใช้

เมื่อเขียนเสร็จจะได้ไฟล์ .scss เรายังไม่สามารถนำไปใช้ได้ จะต้องทำการ Compile เป็น CSS ก่อน

วิธีการ Compile Sass เป็น CSS

สามาถทำได้ 2 วิธีคือใช้ Application และ Command line ดูเพิ่มเติมที่ https://sass-lang.com/install แต่ในตัวอย่างจะใช้ Application โดยจะแนะนำให้ใช้เป็น Koala สามารถใช้งานได้ทั้งบน Windows และ Mac และยังเป็น Opensource สามารถ Download ได้ที่ http://koala-app.com/

เมื่อติดตั้งเสร็จแล้วสามารถเปิด Koala แล้วคลิกปุ่ม + เพื่อเลือก Folder Project งานที่ต้องการ ระบบจะแสดงไฟล์ที่ Koala รองรับ (Koala เป็น Tool สำหรับ develop web app ที่ทำได้หลายอย่าง) เราสามารถเลือกไฟล์ .scss ที่ต้องการ แล้วจะมีแถบเมนูขึ้นด้านขวา สามารถคลิกปุ่ม Complie เพื่อสร้างไฟล์ CSS ได้เลย

แต่ถ้าเราเลือก Auto Compile ไว้ ถ้ามีการแก้ไขไฟล์ .scss อีกครั้ง Koala จะทำการ Complie CSS ใหม่ทันที

การหาชื่อ Columns จากทุกตารางใน DATABASE SQL

 

CSS : การตกแต่ง link

โค้ด css จะใช้ในการตกแต่งส่วนต่างๆของหน้าเว็บไซต์ให้มีความสวยงาม คราวนี้เราจะมาอธิบายในส่วนของการใส่สีส่วนต่างๆของ link ที่อยู่ภายใต้ <style>…</style>

  • a:link จะเป็นส่วนสำหรับตั้งค่าตกแต่ง link ที่แสดงปกติ
  • a:visited จะเป็นส่วนสำหรับตั้งค่าตกแต่ง link ที่ผู้ใช้งานเคยคลิกแล้ว
  • a:hover จะเป็นส่วนสำหรับตั้งค่าตกแต่ง link ในเวลาที่เลื่อนเมาส์เข้าไปยังบริเวณ link นั้นๆ
  • a:active จะเป็นส่วนสำหรับตั้งค่าตกแต่ง link ในเวลาที่ผู้ใช้งานกดคลิก link นั้นๆ

 

ตัวอย่างการตั้งค่า

ผลลัพทธ์ที่ได้

  • a:link ตั้งค่า background เป็นสีเหลือง จึงแสดงผลลัพธ์นี้เป็นค่าเริ่มต้นสำหรับ link

  • a:hover ตั้งค่า background เป็นสีเขียวอ่อน จึงแสดงผลลัพธ์นี้เมื่อผู้ใช้งานนำเมาส์ไปวางบริเวณ link

  • a:active ตั้งค่า background เป็นสีชมพู จึงแสดงผลลัพธ์นี้ในขณะที่ผู้ใช้งานคลิกเมาส์ที่ตัว link

  • a:visited ตั้งค่า background เป็นสีฟ้า จึงแสดงผลลัพธ์นี้หลังจากกลับมาที่หน้าเดิมที่เคยคลิก link ดังกล่าวไปแล้ว

 

การตรวจสอบ OS, Web Browser ของผู้ใช้จาก HTTP User Agent

เมื่อใช้ Web Browser เข้าใช้งานเว็บไซต์จะมีตัวแปร (Object) อยู่ตัวหนึ่งใน JavaScript ชื่อว่า navigator (window.navigator) ดังภาพ

Object navigator นั้นจะมี Property มากมายที่สามารถนำไปใช้ได้ หนึ่งในนั้นคือ userAgent คือสิ่งที่เราจะใช้ในการระบุว่าผู้ใช้นี้ใช้งานเว็บไซต์ของเราผ่าน OS อะไร ด้วย Web Browser อะไร รุ่นไหน ดังภาพ

เมื่อเรียกใช้งาน window.navigator.userAgent ดังตัวอย่างจะได้ข้อความ “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36” เรียกว่า User Agent String โปรดสังเกตจะพบว่าในข้อความมีระบุอยู่ว่าเป็น OS ประเภท Macintosh รุ่น OSX 10_13_2 ส่วน Web Browser เป็น Chrome รุ่น 63

โดยทั้งหมดนี้เป็นการเรียกดูในฝั่งผู้ใช้ (Client) ถ้าต้องการเรียกดูในฝั่ง Server ก็สามารถทำได้เช่นกัน ตัวอย่างในภาษา PHP จะใช้ $_SERVER[‘HTTP_USER_AGENT’]

วิธี Extract เพื่อแยก OS, Web Browser อย่างง่าย ๆ จาก User Agent String ผู้เขียนใช้วิธีการตรวจสอบกับเว็บไซต์ http://www.useragentstring.com/ สามารถค้นหาโดยการใช้ User Agent String ไปค้นโดยตรง หรือเรียกใช้งานผ่าน Web API

ถ้าต้องการใช้งาน Web API แนะนำให้เรียกในฝั่ง Server (เพราะจากการทดลองใช้งาน Web API ด้วย JavaScript จะติดปัญหาเรื่อง Cross domain) ดังตัวอย่างจะเป็นการเรียก Web API ด้วย PHP cURL

 

Web API จะตอบกลับ (Respond) เป็นข้อความในรูปแบบ JSON สามารถใช้ json_decode เพื่อแปลงให้อยู่ตัวแปร Array หรือ Object จากนั้นแสดงผลผ่าน print_r จะได้โครงสร้างทั้งหมดของ $useragent ดังภาพ

การค้นหา String ในทุกตารางของ DATABASE SQL Server 2012

นำ Query นี้ลงไปใน New Qurey ของ Sql server และ ใส่คำที่ต้องการหาและกด F5 จะได้ผลลัพธ์ ว่าอยู่ตารางไหน