[ESP8266] - How to compile custom firmware for ESP8266

Standard



หลังจาก Espressif ผู้ผลิตโมดูล ESP8266 ได้ปล่อย SDK ของโมดูลตัวนี้ออกมาพร้อมกับ VM พักใหญ่ ๆ แล้ว  ก็มีโอกาสได้ลองเล่นดูนิดหน่อยครับ  แต่กว่าจะมีเวลามาเขียนบล็อคหลาย ๆ คนก็น่าจะลองเล่นกันไปแล้ว ฮ่า ๆ  เอาเป็นว่ามาช้ายังดีกว่าไม่มาละกัน    บทความนี้จะมาพูดถึงการ Compile Code ด้วย VM ซึ่งเป็นวิธีที่ง่ายและรวดเร็ว  หรือใครไม่อยากใช้ VM ก็สามารถลง Toolchain เองได้ครับ  พร้อมแล้วมาเริ่มกันเลย

เตรียมไฟล์สำหรับใช้งาน

1. ไฟล์ Image สำหรับ Virtual Box  Download
2. ไฟล์ SDK Download 

Import VM

1. ติดตั้ง Virtual Box ให้เรียบร้อยแล้วกำหนดค่า Default Machine Folder ใน Virtual Box ให้เป็น Folder ที่เราต้องการ  

2. Imort ไฟล์ .ova  ที่ดาวน์โหลดมา โดยไปที่ Menu File >> Import Appliance

3. โปรแกรมจะแสดงรายละเอียด VM ที่เราจะ Import ไม่ต้องแก้ไขอะไร กด Import ได้เลย

4. รอให้ Virtual Box Import เสร็จ

5. หลังจากนั้นจะมี VM เพิ่มขึ้นมา  ปกติเห็นแค่ VM เดียวนะครับ  ในรูปมี 2 VM เพราะ ผม Import เข้าไปเพิ่มเพื่อ Capture รูปครับ

6. กำหนด Share folder  ขั้นตอนนี้ค่อนข้างสำคัญเพราะ Script ใน VM จะทำการ mount folder จากค่าที่เราตั้งไว้ตรงนี้  ดังนั้นให้เราแก้แค่ Path อย่างเดียว โดยเลือกเป็น folder ที่เราจะใช้เก็บ code  ส่วนตรง Name ให้ใช้ share เหมือนเดิม



หลังจากสร้าง VM เสร็จแล้ว  สามารถเข้าใช้งานด้วย Username และ Password ตามนี้ครับ
Username : ESP8266
Password : espressif


Compile custom firmware.

ขั้นตอนต่อไปคือการเอาโค้ดตัวอย่าง compile  
- app  คือ โฟลเดอร์ที่ใช้เก็บโค้ดที่เราเขียน
- examples คือ  โค้ดตัวอย่าง
- bin คือ โฟลเดอร์สำหรับเก็บไฟล์ .bin ที่ได้หลังจากการ Compile

ที่สำคัญคือโค้ดทั้งหมดจะต้องอยู่ใน Path ของ Virtual Box ที่เราตั้งค่าการแชร์ไว้  ไม่งั้นใน VM จะไม่เห็นโค้ดที่เราต้องการ Compile  ว่าแล้วก็มาเริ่ม Compile โค้ดกันเลย

1. สำหรับบางคนอาจจะติดปัญหาเรื่อง Permission ไม่สามารถ Execute Script บางตัวได้  แก้ปัญหาโดย sudo -s ครับ
2. ทำการ mount folder ที่เราตั้งค่าแชร์ไว้  โดยในตัว vm จะมี script มาให้แล้ว  เราสามารถเรียก mount.sh ได้เลย  หลังจาก mount สำเร็จก็จะมีไฟล์ที่เราตั้งค่าแชร์ไว้อยู่ใน folder Share ครับ
3. สมมุติว่าเราแก้ไขโค้ดตามที่ต้องการแล้ว  เราสามารถเข้าไปใน folder app แล้วสั่ง make ได้เลยครับโดยใช้คำสั่ง  "cd Share/app" และ  "make"
4. จากนั้นสร้างไฟล์ .bin โดยเรียกใช้ script gen_misc.sh  ด้วยคำสั่ง "./gen_misc.sh"

5. เมื่อเข้าไปดูใน Share/bin จะมีไฟล์ .bin ที่เราสร้าง โดยไฟล์ที่จะนำไปใช้งานคือ

 - eagle.app.v6.flash.bin
- eagle.app.v6.irom0text.bin



เพียงเท่านี้เราก็จะได้ Custom Firmware ที่พร้อมจะนำไป flash ใส่โมดูลของเราแล้วครับ
การ flash custom firmware จะไม่เหมือนกับการ flash official firmware ทั่วไป
เราจะใช้ esptool.py  หรือ ESP FLASH DOWNLOAD TOOL ในการ Flash

เจอกันบทความถัดไปเรื่องการ Flash Custom Firmware ครับ


[ESP8266] - How to update firmware with XTCOM

Standard

หลาย ๆ  ท่านคงได้ลองเล่นเจ้า ESP8266 ดูบ้างแล้ว  เป็นโมดูล WIFI ที่ราคาถูกมาก (ร้อยกว่าบาท) Firmware ที่ให้มาสามารถสั่งงานผ่าน AT Command ได้เลย  แต่ AT Command ก็เยอะเหลือเกินใครจะไปจำได้หมด  ก็เลยมีคนทำ Arduino Library ขึ้นมา  และผมเลยเขียน App ง่าย ๆ เอาไว้ Config โมดูลตัวนี้เพื่อให้เราสามารถเข้าใจขั้นตอนการ Config ได้ สามารถไปดาวน์โหลดได้เลยครับ


Firmware Version ใหม่ ๆ ก็จะมี AT Command ต่าง ๆ เพิ่มเข้ามา  บทความนี้ก็จะมาพูดถึงการ Update Firmware สักเล็กน้อยครับ  ซึ่ง Firmware ที่ใช้ก็จะเป็นไฟล์ Binary ไฟล์เดียว  (ใครที่เคย Custom Firmware จะรู้ว่ามันมีหลายไฟล์)  และใช้โปรแกรม XTCOM ในการ Update Firmware ครับ

เตรียมโปรแกรม XTCOM และ Firmware

ไปดาวน์โหลด XTCOM และ Firmware ที่เราต้องการจากที่นี่ครับ  ElectroDragon

ต่อ GPIO เพื่อเข้าโหมด Update Firmware

ต่อ GPIO  ตามตารางด้านล่าง  ที่มา ESP8266 GitHub
จริง ๆ ผมต่อแค่ CH_PD เป็น High และ GPIO0 เป็น Low ก็เข้าโหมด Update Firmware แล้วครับ




PinLevel
CH_PD
High
GPIO0
Low
GPIO2
High

Update Firmware

1. หลังจากที่เราต่อ GPIO ตามด้านบน และทำการ Reset โมดูลเรียบร้อยแล้ว  ต่อไปก็เปิดโปรแกรม XTCOM และ ไปที่เมนู Tool -> Config Device  เพื่อตั้งค่าการเชื่อมต่อ Serial Port   แล้วกด Open เพื่อ Connect

2. เมื่อต่อ Serial Port ได้แล้ว  เราต่อกด Connect เพื่อตรวจสอบว่าโมดูลของเราเข้าสู่โหมด Update Firmware หรือยัง  ถ้าไม่มีอะไรผิดพลาดโปรแกรมก็จะบอกว่าสามารถ Connect โมดูลได้ตามรูปด้านล่าง  แต่ถ้า Error ก็ต้องไปเช็ค GPIO ว่าต่อถูกหรือเปล่า  แล้วทำการ Reset อีกครั้งครับ



3. เข้าไปที่เมนู API TEST -> Flash Image Download


4. เลือกไฟล์ Firmware ที่เราต้องการ Update


5. กด Download แล้วรอสักครู่


6. เมื่อเสร็จแล้วโปรแกรมก็จะบอกว่า Operation Success   เป็นอันเสร็จพิธีการ Update Firmware ครับ



นอกจากการใช้ XTCOM ในการ Update Firmware แล้ว  ยังมี Tool ตัวอื่น ๆ เช่น esptool.py ซึ่งเขียนด้วย Python หากใครไม่ได้ใช้ Window ก็คงต้องเลี่ยงไปใช้ Tool ตัวอื่นเอานะครับ

ส่วนใครที่ Custom Firmware ก็จะมีการโหลด Firmware ที่แตกต่างไป โดยต้องโหลด Binary แต่ละไฟล์ไปที่ Address ต่าง ๆ เอาเป็นว่าว่างเมื่อไหร่จะมาเขียน Blog อีกที  เพราะกลัวลืมเหมือนกันครับ


[Python] - How to install Python and PySerial (OS X,Windows)

Standard
วันนี้จะมาพูดถึงการติดตั้ง Python ให้สามารถใช้ Serial Port ได้ทั้งบน OS X และ Windows    ถ้าใครเคยใช้งาน Python มาก่อนก็คงติดตั้งได้ไม่ยาก  แต่สำหรับบางคนอาจจะต้องการใช้โปรแกรมบางโปรแกรมที่อาศัย Python ในการทำงาน  ก็อาจจะต้องมี How to ช่วยเล็กน้อย  ซึ่งผมก็เป็นหนึ่งในนั้นฮ่า ๆ เพราะต้องการใช้ esptool.py  เพื่อเอา Flash firmware ของ ESP8266  นั่นเอง

Install Python and PySerial on Windows

1. Download  Python และ PySerial มาไว้ในเครื่องในที่นี้เราจะใช้ Version 2.7 ครับ
2. ติดตั้ง Python ก่อน  สามารถดับเบิ้ลคลิ๊กตัว Install แล้วลงได้เลย
3. ติดตั้ง PySerial สามารถใช้ Install ที่ Download มาติดตั้งได้เลย  แต่ระหว่างลงอาจจะเจอปัญหา No python installatin in registry ให้แก้ปัญหาตาม Link ได้เลยครับ
4. เมื่อติดตั้งเสร็จแล้วสามารถใช้ PySerial ได้เลยครับ

Install Python and PySerial on OS X

1. ปกติ OS X จะมี Python Version 2.7.x มาให้อยู่แล้ว อ้างอิงตอนนี้ผมใช้ OS X 10.10 (Yosemite) ดังนั้นก็ติดตั้งแค่ PySerial อย่างเดียว
2. เปิด Command Line แล้วติดตั้งตามคำสั่งด้านล่างได้เลยครับ
pip install pyserial
หรือ
easy_install -U pyserial

Cr http://pyserial.sourceforge.net/pyserial.html 

[Python] - No python installation in Registry

Standard
หลังจาก Install Python แล้วจะลง PySerial  เพื่อใช้ Serial Port ก็เจอปัญหา  no python installation in registry  หลังจาก Search สักพักก็ไปเจอข้อมูลใน StackOverflow  สาเหตุเกิดจากมันหา Path ของ Python ใน Registry ไม่เจอ   ซึ่งเป็น Bug ของตัวติดตั้ง

[Pixy] รีวิวการใช้งาน Pixy เบื้องต้น พร้อมทดสอบ Pan-Tilt

Standard


หลังจากได้ Pixy มาก็จัดการทำฐานสำหรับ Pan-Tilt  และทำรีวิวชุดนี้ขึ้นมาครับ   รายละเอียดดูตามคลิปได้เลยครับ



https://www.facebook.com/video.php?v=363079727189866&set=vb.313868625444310&type=2&theater

[Laravel] - วิธี Deploy Laravel บน Heroku

Standard

การสร้าง App ใน Heroku สามารถทำได้หลายวิธี  เช่น สร้างบนเว็บผ่าน Dashboard  หรือสร้างผ่าน commandline  ในตัวอย่างนี้จะใช้ commandline ในการสาธิตนะครับ (ขี้เกียจ Capture รูป ฮาา)  โดยเราจะทำการ Deploy PHP Framwork ที่ชื่อว่า Laravel ครับ

การ Deploy จะทำผ่าน git ถ้ายังไม่มีก็ให้ไปดาวน์โหลด git มาลงก่อนนะครับ

[heroku] - Permission denied (publickey)

Standard



หลังจากพยายามจะ Deploy ​Laravel บน Heroku ยังไม่ทันจะไปถึงไหนก็เจอปัญหา Permission denied ซะแล้ว  จริง ๆ ปัญหานี้ไม่ได้มีอะไรมาก  มันเกิดจาก Public Key ไม่ตรง (เพราะ Copy ไปใส่ผิดอัน ฮ่า ๆ )  หรือไม่ไม่ได้ใส่ Public Key เอาไว้  วิธีแก้ก็ไม่ยากครับ  ก็ลบของเดิมออกให้หมดก่อน (กันผิดพลาด) แล้วก็ใส่ Public Key เข้าไปใหม่

[Facebook-Phishing] - แฉ! การหลอกให้ใส่รหัสผ่าน Facebook ก่อนดูคลิป

Standard



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

....  ถ้าใครเคยเล่น Facebook แล้วอยู่ดี ๆ มีเพื่อนใน Facebook แม่ม Tag โฆษณามาหาเรา  ประมาณว่ารับสมัครงาน  หารายได้ทางเน็ตรายได้   3,000 - 5,000 บาทต่อสัปดาห์  เราก็จะอุทานในใจ  "พ่องง" หลังจากนั้นก็ Message ไปด่าเพื่อนเรารัว ๆ และวันรุ่งขึ้นเพื่อนก็จะตอบมาว่า "Facebook กรูโดน Hack"


จริง ๆ วิธีการแบบนี้มีมานานแล้ว  เค้าเรียกว่าการ Phishing ซึ่งแผลงมาจากคำว่า Fishing หรือภาษาชาวบ้านเค้าเรียกกันว่า "ตกเบ็ด"  นั่นเอง ในกรณีนี้ผู้ไม่หวังดีจะสร้างหน้าเว็บหลอกให้เราใส่อีเมล์กับรหัสผ่าน  ก่อนที่จะได้ดูคลิป   ซึ่งคุณมรึงหลอกได้เนียนมาก (ประชด)  ตอนแรกผมก็ไม่คิดว่าจะมีคนกรอก  แต่พอเอาเข้าจริง ๆ มีหลายคนหลงกรอกเข้าไป  หลังจากนั้นไม่นาน  ก็จะถูกมือดีเอา Facebook ของเราไปโพสหรือแท็กโฆษณาตาม ๆ กันไป

ต่อไปนี้เราจะแฉวิธีการหลอกเอารหัสผ่านทาง Facebook นะครับ

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

2. เราจะกดดูคลิปไม่ได้ (เพราะมันเป็นรูป)  ในที่นี้ผมจะลองกรอกข้อมูลมั่ว ๆ ลงไป



3. เว็บจะแสดง link ให้เราก็อปปี้ไปเปิดเอง (จะ Redirect ให้หน่อยก็ไม่ได้)



4. ถึงตอนนี้ถ้าคุณใส่อีเมล์กับรหัสผ่าน Facebook ไป   ข้อมูลของคุณก็จะตกไปอยู่ในมือพวกนี้แล้ว  หลังจากนั้นไม่นาน  คุณก็จะ Tag โฆษณาเพื่อน ๆ โดยที่คุณไม่รู้ตัว

ดังนั้นอย่ากรอกรหัสผ่านต่าง ๆ ของเราลงบนเว็บไซต์อื่น ๆ เด็ดขาด

ถ้าคุณโดนเพื่อน Tag โฆษณามาก็อย่าพึ่งรีบร้อนไปด่าเพื่อนหรือ Unfriend นะครับ  ให้ส่งข้อความไปบอกว่าโดนขโมยรหัสผ่าน   ให้รีบเปลี่ยนรหัสผ่านโดยเร็วที่สุดจะดีกว่าครับ


[Bootstrap] - แก้ปัญหา Datepicker ซ้อนอยู่ด้านหลัง

Standard


หลังจากที่ใช้ Datepicker ของ Bootstrap ก็บาง Theme ก็พบปัญหาว่าตัวปฏิทินไปซ้อนอยู่ด้านหลัง  ทำให้กดปฏทินไม่ได้  ซึ่งปัญหานี้เกิดจาก Theme บางตัวที่เอามาใช้มีค่า z-index ที่สูงกว่าปฏิทิน  หรือบางครั้งต้องการใส่ datepicker ใน Modal ก็จะเจอปัญหานี้เหมือนกัน

วิธีแก้แบบง่าย ๆ บ้าน ๆ คือ  ตอนที่ Datepicker จะแสดง ให้เราสั่งเปลี่ยนค่า z-index ให้เยอะ ๆ   แค่นี้ปฏิทินก็จะขึ้นมาให้กดได้ตามปกติแล้วครับ

[Gliffy] - Free Flowchart Software (Chrome Extension)

Standard

สำหรับ Gliffy คงไม่ได้เขียนอธิบายอะไรมากนะครับ  เรื่องมีอยู่ว่าต้องทำรายงานส่งอาจารย์
ซึ่งเป็นรายงานเกี่ยวกับการเขียนโปรแกรม  แน่นอนว่าต้องมี Flowchart
ก่อนหน้านี้เคยใช้ Visio ก็เลยอยากหาโปรแกรมฟรี ๆ สักตัวที่วาด Flowchart สวย ๆ

แล้วก็มาเจอตัวนี้ ... Gliffy  ใช้งานได้ดีทีเดียวครับ

[Laravel] - วิธีดู SQL ที่ได้จากการใช้ Eloquent หรือ Query Builder

Standard


สำหรับคนที่ใช้ Eloquent หรือ Query Builder ของ Laravel มาสักระยะหนึ่ง  จะพบว่าเวลาเขียนคำสั่งที่เริ่มซับซ้อน  เราอาจจะไม่ค่อยแน่ใจว่าเราดึงข้อมูลถูกต้องตามที่ต้องการหรือเปล่า   เพราะส่วนมากจะคุ้นชินกับการเขียน SQL Statement ตรงๆ  มากกว่า    ถ้าเรารู้ว่า Query ที่เราเขียนขึ้นมามีหน้าตา SQL แบบไหน  ก็พอจะทำให้เราตรวจสอบความถูกต้องได้ระดับหนึ่ง

ว่าแล้วเราก็มาดูวิธีการดึง SQL Query Log ออกมาดูกันดีกว่า

$queries = DB::getQueryLog();
หะะะ  อะไรนะ  บรรทัดเดียว!   อืมบรรทัดเดียวจริง ๆ ครับ ได้ Query Log ออกมาแล้ว  แต่ถ้าจะเอา Statement สุดท้ายก็สามารถดูได้โดยใช้ function  end()
$last_query = end($queries);
แค่นี้เราก็จะได้ SQL Statement ออกมาดูเบื้องต้นแล้วครับ  ส่วนการแสดงก็ var_dump ออกมาดูได้เลย  เช่น var_dump($last_query);  เป็นต้น

[SublimeText] - jQuery Mobile Snippedts and Bootstrap3 Snippets

Standard

Review SublimeText Package

     หลังจากใช้ SublimeText (ST3)  มาสักพักก็รู้สึกว่ามันมี Package ที่น่าสนใจหลาย ๆ ตัวเลยครับ  บางตัวช่วยให้เราทำงานได้เร็วขึ้นมาก  บทความนี้ก็จะมาลองเล่น Package พวก Snippets  ให้ดู คือ  jQuery Mobile กับ Bootstrap

    หลายคนคงอยากถามว่าทำไมไม่ใช้ Atom  ตอบ ... อยากเปลี่ยนไปใช้เหมือนกันครับ  แต่ยังหา Package ที่ใช้งานบ่อยไม่ค่อยได้   ถ้าใครมี Atom Package อยากแนะนำ  ขออันเชิญเข้ากลุ่ม Facebook เลยนะครับ  อนาคตตัวนี้รุ่งแน่นอน

Sublime Text : http://www.sublimetext.com
jQuery Mobile Snippets : https://sublime.wbond.net/packages/jQuery%20Mobile%20Snippets
Bootstrap3 Snippets : https://github.com/JasonMortonNZ/bs3-sublime-plugin



[C#] - Download Files from Web

Standard

    การ Download Files จากเว็บโดยใช้ C# สามารถทำได้โดยใช้ WebClient ซึ่งมีทั้งแบบ Synchronus และ ASynchronus  ถ้าขนาดไฟล์ไม่ใหญ่มากก็ใช้แบบ Sync เพราะไม่ต้องเขียนโค้ดเยอะ  แต่ถ้าไฟล์มีขนาดใหญ่แนะนำให้ใช้แบบ Async ดีกว่าครับ

  • Synchonus ต้องรอให้ดาวน์โหลดจนเสร็จถึงจะออกจากฟังก์ชัน
  • Asynchronus สั่งดาวน์โหลดไว้แล้วจะมี Event  Progress และ Complete  เพื่อบอกสถานะ
ลองดูตัวอย่าง Code ได้ที่ GitHub

Document

Synchronus

public void DownloadFile(
	Uri address,
	string fileName
)

Parameters

address
Type: System.Uri
The URI specified as a String, from which to download data.
fileName
Type: System.String
The name of the local file that is to receive the data.

Asynchronus

[HostProtectionAttribute(SecurityAction.LinkDemand, ExternalThreading = true)]
public void DownloadFileAsync(
	Uri address,
	string fileName
)
address
Type: System.Uri
The URI of the resource to download.
fileName
Type: System.String
The name of the file to be placed on the local computer.

[C#] - RestShap Libraly สำหรับติดต่อ RESTful Webservice

Standard
     วันนี้จะมาแนะนำ API ที่ใช้ติดต่อ RESTful WebService  สำหรับ .NET  ใช้งานง่ายมาก ๆ ครับ  ถ้าใครสงสัยว่า RESTful คืออะไร  ลองอ่านตาม Link ด้านล่างนี้ครับ
1. ติดตั้งผ่าน Package Manager Console  ด้วยคำสั่ง    Install-Package RestSharp  

2. ทดสอบเอาแบบ Basic สุด ๆ ผมลองดึงข้อมูล Repository ที่อยู่บน GitHub ผ่าน API  แล้วก็แสดงข้อมูลที่ได้รับ



รายละเอียดการใช้งานสามารถดูได้จาก Document ตาม URL นี้ครับ
Document : https://github.com/restsharp/RestSharp/wiki
RestSharp : http://restsharp.org

[PHP] - การใช้ PHP Authentication ด้วย LDAP

Standard


LDAP คือ อะไร ?

       LDAP ย่อมาจาก Lightweight Directory Access Protocol  เป็น Protocol ที่ทำให้เราเข้าถึงข้อมูลที่อยู่ใน Directory ได้  เช่น มีการเก็บข้อมูลบุคลากรในหน่วยงาน   รายละเอียดของ LDAP ลองดูตาม Reference ด้านล่างนะครับ  
      ในหน่วยงานใหญ่ ๆ เช่น มหาวิทยาลัย มักจะมี LDAP Server ไว้เก็บข้อมูลการ Authentiaction ของ User แต่ละคนไว้  เพื่อให้ง่ายต่อการจัดการข้อมูล  ซึ่งเราสามารถประยุกต์ใช้ PHP Connect กับ LDAP  เพื่อทำระบบ Autentication จากส่วนกลางได้  ทำให้เว็บไซต์ของแต่ละหน่วยงานที่อยู่ในมหาวิทยาลัยสามารถ Login ด้วย Username และ Password เดียวกัน

PHP Connect LDAP

Reference

[Atom] - มารู้จัก Atom และวิธีติดตั้ง Package

Standard

Atom คือ อะไร ?

     Atom คือ Text Editor , Code Editor , etc  แล้วแต่เราจะเรียกตามความเข้าใจครับ  สรุปง่าย ๆ คือมันเอาไว้เขียนโค้ดนั่นเอง  Atom ถูกพัฒนาโดย GitHub และใช้ภาษา Coffee Script  ที่สำคัญที่สุดคือมันเป็น Open Source  สำหรับคนที่เคยใช้ SublimeText มาก่อนจะรู้สึกได้เลยว่ามันเหมือนกันมาก ฮ่า ๆ

ข้อมูลเพิ่มเติมจาก Blognone

รีวิว Atom โปรแกรมแก้ไขข้อความแห่งอนาคต
GitHub เปิดซอร์ส 'Atom' โปรแกรมแก้ไขข้อความแห่งอนาคต


การติดตั้ง Package

   การติดตั้ง Package ก็ง่ายมาก ๆ  แถมมีหน้าสำหรับ Search ขึ้นมาให้ด้วย  งั้นเรามาลองติดตั้ง Package ดูสัก 1 ตัว คือ Color Picker ครับ

1. กด Command + Shift + P  แล้ว Search Install Pack



2. จะมีหน้าต่าง Settings ขึ้นมาแล้วสามารถ Search Package ที่จะ Install ได้  ในตัวอย่างจะติดตั้ง Package Color Picker  ให้กด Install

3. ติดตั้งเรียบร้อยแล้วครับ



 4. ทดสอบโดยการกด Command + Shift + C ก็จะมีหน้าต่าง Color Picker ขึ้นมาแล้วครับ


[Web] - Tips เปลี่ยน URL Localhost ให้เป็น Domain

Standard


ปกติการจำลองเครื่องเราเป็น WebServer แล้วต้องการทดสอบจะต้องเปิดเว็บผ่าน URL  http://localhost  แต่ถ้าใครอยากเปลี่ยนเป็น Domain ก็สามารถทำได้  โดยการแก้ไขไฟล์ hosts  โดยเปิด Notepad โดยคลิกขวาแล้วเลือก Run As Administrator  จากนั้นลากไฟล์ hosts (C:\Windows\System32\drivers\etc\hosts)  มาใส่ notepad  แล้วเพิ่มบรรทัดนี้เข้าไป

127.0.0.1     codenuke.dev
 สามารถเปลี่ยน Domain ตามต้องการได้เลยครับ


ทดสอบการใช้งาน