มีอะไรใหม่ใน React 16.9.0

มาดูกันว่า React เวอร์ชันนี้ มีอะไรน่าสนใจบ้าง 🙂

.
1. กำลังจะยกเลิกคำสั่ง javascript: ที่เราใส่ใน href ของ tag <a></a> ครับ เพราะอาจเสี่ยงต่อการถูกโจมตีและความปลอดภัย (cross-site scripting) หากใครอัปเดตเวอร์ชันนี้จะมี warning ออกมาครับ อนาคตจะเอาออกแล้ว แน่นอนจะมี error แสดงเลย หากใครต้องการใช้อยู่ก็แนะนำให้ใช้ dangerouslySetInnerHTML แทนนะ

ดูเพิ่มเติมได้ที่ => http://bit.ly/2N0pJsc

.
2. ในอนาคต (เวอร์ชัน 17) จะมีการนำ lifecycle methods ออกไปทั้งหมด 3 methods ได้แก่ componentWillMount, componentWillReceiveProps, componentWillUpdate แล้วนะครับ

ถ้าในเวอร์ชันนี้ (16.9.0) ก็ยังใช้ได้แต่จะมีการแจ้งเตือนออกมา (warning) เค้าแนะนำให้เราเติมคำว่า UNSAFE_ เข้าไปด้านหน้าชื่อ methods ครับหากใครยังใช้อยู่

แต่ถ้าโปรเจคใหญ่จะมานั่งแก้เองคงไม่ไหว ก็แนะนำให้ติดตั้ง “codemod” ได้เลยครับ ด้วยคำสั่ง

npx react-codemod rename-unsafe-lifecycles

เดี๋ยวมันจัดการ rename ให้เราเอง

.
3. สามารถใช้ Profiler API สำหรับวัดประสิทธิภาพของ Web App ด้วยการเขียนโค้ดได้แล้วนะครับ (ปกติจะใช้ React DevTools) โดยต้องระบุ id และเขียน callback ที่ onRender เพื่อรับข้อมูลด้านประสิทธิภาพต่างๆ ได้

ดูเพิ่มเติมได้ที่ => http://bit.ly/2H5hzuV

.
4. ทำให้ฟังก์ชัน ReactTestUtils.act() สามารถใช้งานแบบ Asynchronous ได้ สำหรับใครที่เขียน test อยู่ก็ลองดูได้ครับ

.
อื่นๆ ลองตามไปอ่านได้ที่ blog ได้เลย => http://bit.ly/31yHnHB

.
จริงๆ แล้วใน React เวอร์ชัน 16 นี้มี features เพิ่มเข้ามาหลายอย่างครับ ไม่ว่าจะเป็น Hooks, context API, การทำ lazy loading ด้วย Suspense เป็นต้น ใครยังไม่ได้ลอง แนะนำให้ลองเอามาใช้ดูครับ

.
สุดท้ายใครอยากอัปเดตก็ง่ายๆ ครับ ลุยได้เลย

npm install –save react@^16.9.0 react-dom@^16.9.0

หรือ

yarn add react@^16.9.0 react-dom@^16.9.0

.
ลองดูนะครับ
โค้ชเอก

สรุป HTTP Status Codes สำหรับคนที่จะทำ APIs ควรรู้จัก

🎉 สรุป HTTP Status Codes สำหรับคนที่จะทำ APIs ควรรู้จัก 🎉
—————————-

 200 – ร้องขอสำเร็จ ทุกอย่างโอเค (OK)

 201- สร้างบางอย่างเรียบร้อยแล้ว (Created)

 202 – ยอมรับแล้ว แต่กำลังประมวลผลบางอย่าง เช่น video encoding หรือ ย่อขนาดรูปภาพ เป็นต้น

 400 – ไวยากรณ์ที่ร้องขอมานั้นมีความผิดพลาด หรือบางคนอาจใช้เพื่อการทำ validation

 401 – ไม่มีสิทธิ์ ไม่ได้รับอนุญาต (Unauthorized) ต้องทำการพิสูจน์ตัวตนก่อน

 403 – ผู้ใช้ปัจจุบันถูกห้ามไม่ให้เข้าถึงข้อมูลส่วนนี้ (Forbidden)

 404 – URL ที่เรียกมาไม่ใช่เส้นทางที่ถูกต้อง หรือทรัพยากรที่ร้องขอไม่พบบนเครื่องเซิร์ฟเวอร์

 405 – Method Not Allowed เซิร์ฟเวอร์ไม่รู้จัก request methods ที่ร้องขอมา (เช่น get, post) หรือถูกปิด ไม่สามารถใช้งานได้

 410 – ข้อมูลถูกลบไปเรียบร้อย อาจจะเป็นกรณีถูกระงับ หรือปิดการใช้งานแล้ว เป็นต้น

 415 – คำขอมี Content-Type ซึ่งเซิร์ฟเวอร์ไม่รู้จักวิธีที่จะจัดการ (ไม่รองรับ)

 429 – Rate Limited หยุดสักพักหนึ่ง ค่อยลองอีกครั้ง

 500 – มีบางสิ่งที่ไม่คาดคิดเกิดขึ้นและเป็นความผิดพลาดของ เซิร์ฟเวอร์ (Internal Server Error)

 503 – เซิร์ฟเวอร์ ยังไม่พร้อมบริการ โปรดลองอีกครั้ง

E-BOOK ภาษา SQL ฟรี

สำหรับมือใหม่หรือคนที่สนใจศึกษาภาษา SQL ผมได้ทำ E-BOOK ภาษา SQL ฟรี ไว้ให้อยู่นะครับ ตอนนี้ระบบเมล์ในเว็บใช้งานได้แล้ว สามารถเข้าไปโหลดได้เลย ระบบจะส่งลิงก์ E-BOOK ให้ทางอีเมลที่ได้กรอกไว้ครับ

.
เล่มที่ 1 E-Book “การจัดการฐานข้อมูลเบื้องต้นด้วย SQL”
ลิงก์ => https://goo.gl/rxbj59

.
เล่มที่ 2 E-Book “SQL: แบบฝึกหัดพัฒนาทักษะภาษา SQL สำหรับโปรแกรมเมอร์”
ลิงก์ => https://goo.gl/wbVpfd

เขียน Angular ได้แล้ว อยากทำ Desktop applications

สำหรับคนที่เขียน Angular ได้แล้ว อยากทำ Desktop applications แบบ cross platform (Electron) แบบง่ายๆ ลองใช้ตัวนี้ได้ครับ

.
ผมลองทดสอบเขียนดึง APIs (ตามภาพ) และลอง build เป็น Windows Apps ดู ก็ใช้ได้ดีเลย เพียงแค่รันคำสั่ง npm run electron:windows เท่านั้น 

ลองดูนะครับ

รายละเอียด: https://goo.gl/mp6BPa

24 ข้อคิด ที่ผมได้เรียนรู้ในปีที่ผ่านมาครับ

1. หากอยากได้อะไรแต่ยังไม่ได้ อาจเป็นไปได้ว่าเรายังพัฒนาตัวเอง “ไม่รอบด้าน” พอ

.
2. ความรู้เรื่องการเงินสำคัญ และเป็นคนละเรื่องกับความรู้ในสายอาชีพ จงศึกษาทั้งสองอย่างควบคู่กันไป

.
3. ฝึกเป็นคนที่รับผิดชอบชีวิตตัวเองอย่างเต็มกำลัง

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

.
5. พยายามทำงานให้เกินรายรับเสมอ

.
6. ในช่วงแรกจงรับโอกาสทั้งหมดที่เราสร้างมา แต่ในช่วงหลังจงเลือกรับโอกาสที่ดีสุดๆ จริงๆ

.
7. กล้าให้ผู้อื่นก่อน กล้าให้ในสิ่งที่มีคุณค่า แล้ววันหนึ่งจะได้รับกลับมา

.
8. การได้อยู่กับตัวเอง เป็นเวลาที่มีค่ามาก

.
9. Passive Income เกือบทุกอย่าง ไม่ใช่รอเก็บเงินอย่างเดียว ต้องดูแลมันด้วย

.
10. Passive Income ช่วยให้ชีวิตสบาย Active Income ช่วยให้ชีวิตมีความหมาย

.
11. จงลองทำอะไรใหม่ๆ ที่คอยช่วยเสริมความรู้เดิม

.
12 .ในช่วงเริ่มงานใหม่ จงโฟกัส core หลักของอาชีพให้เยอะๆ

.
13. การจะมีรายได้เพิ่มขึ้น ต้องพัฒนาตัวเองไปพร้อมๆกันทุกด้าน ไม่ใช่แค่ด้านใดด้านหนึ่งเท่านั้น

.
14. หากยังไม่มีทุน ก็ให้มองหาโอกาสจากสิ่งที่ถนัด และมีในตัวเองก่อน

.
15. แม้เราจะมีข้อมูลในมือมากแค่ไหน แต่ความชำนาญยังต้องใช้เวลาฝึกฝนเสมอ

.
16. ไม่มีความสำเร็จชั่วข้ามคืน ทุกคนที่สำเร็จล้วนผ่านการสะสมความสามารถมาหลายปี

.
17. เราไม่สามารถทำทุกอย่างที่อยากจะทำได้ เพราะฉะนั้นก็ให้ทำสิ่งที่ต้องทำให้เต็มที่

.
18. ทัศนคติที่มีต่อเงินมีผลมาก ว่าเราจะมีรายได้มาก หรือมีรายได้น้อย

.
19. จงเป็นคนเริ่มต้นอะไรง่ายๆ แบบเด็กๆ อย่ามองทุกอย่างยากเกินไปนัก

.
20. ทำเพื่อผู้อื่นบ้าง เพราะทุกอย่างที่ลงไป ล้วนมีอะไรดีๆ กลับมาเสมอ

.
21. จงใช้ชื่อเสียงที่ได้รับในทางดีเท่านั้น

.
22. ทำให้เยอะ โม้ให้น้อย

.
23. จงเป็นคนอ่อนน้อมถ่อมตนกับผู้อื่นเสมอ

.
24. คนรักและครอบครัวสำคัญเสมอในทุกๆโอกาสและชีวิตเรา หากมีกำลังก็ดูกันและกันให้เต็มที่

.

โค้ชเอก

แนะนำสำหรับคนที่อยากเริ่มเขียน Mobile App ด้วย React Native

26952542_632242900279259_7302068128138228052_o

สำหรับคนที่อยากเริ่มเขียน Mobile App ด้วย React Native แนะนำดังนี้ครับ

.
1. เราต้องมีความรู้พื้นฐาน HTML, CSS และ JavaScript (แนะนำให้ศึกษา JavaScript เวอร์ชั่น ES6/ES2015 ขึ้นไปนะครับ) สรุปคือต้องเคยเขียนเว็บมาก่อนนั่นเอง

.
2. มีพื้นฐานการเขียน React และเข้าใจ Concept ต่างๆ ยกตัวอย่างเช่น Component, Props, State เป็นต้น

https://reactjs.org/

.
3. ถ้ามีความรู้ หรือเคยเขียน Mobile App แบบ native มาบ้าง จะช่วยได้มากครับ แต่ก็ค่อยๆ ศึกษาเพิ่มเติมทีหลังได้

.
ส่วนคนที่อยากลองเขียนเลย (สำหรับคนที่ใช้ Windows) ให้ทำขั้นตอน ตามนี้

.
1. ติดตั้ง Node.js แนะนำเวอร์ชัน 8 และให้ใช้ npm เวอร์ชัน 4 แทนเวอร์ชัน 5 นะครับ (เวอร์ชัน 5 มีปัญหายังไม่รองรับ)
https://goo.gl/aAKGFH

.
2. ติดตั้ง Python แนะนำเป็นเวอร์ชัน 2
https://goo.gl/qQEmH3

.
3. ติดตั้ง JAVA JDK แนะนำเวอร์ชัน 8
https://goo.gl/vnkT4Y

.
4. ติดตั้ง React Native CLI เปิด Command Prompt แล้วรันคำสั่ง

npm install -g react-native-cli

.
5. สร้างโปรเจคใหม่ ด้วยคำสั่ง
create-react-native-app MyReactNativeProject

.
6. cd เข้าไปในโฟลเดอร์ MyReactNativeProject แล้วรันคำสั่ง npm start

จะมีคู่มือแนะนำต่างๆ และจะได้ QR code มาครับ

.
7. การทดสอบ App ในมือถือ ให้ติดตั้ง Expo Client ในมือถือเราก่อนครับ ตามลิงก์ https://goo.gl/7ppgPm

ส่วนการทดสอบ app นั้นก็แค่ scan QR code จากข้อ 6 จะสามารถทดสอบ app บนเครื่องจริงได้เลย (มือถือกับเครื่องคอมฯเราต้องอยู่ในวงแลนเดียวกัน)

.
8. ถ้าต้องการแก้ไขหรือเขียนโค้ด ก็สามารถใช้ Editor ที่ถนัดได้เลยนะครับ แนะนำ Visual Studio Code

.
ส่วนถ้าใครอยาก build เป็น android app หรือทดสอบผ่านสาย usb เครื่องจริง ก็ให้ติดตั้ง Android Studio ด้วย มีขั้นตอนละเอียดแล้ว ตามดูคู่มือของ React Native ได้เลยตามนี้ https://goo.gl/YK3Dkx

.
ลองดูนะครับ
โค้ชเอก

PrimeNG เป็น UI components สำหรับ Angular 2

PrimeNG เป็น UI components สำหรับ Angular 2 ครับ เผื่อใครอยากลอง สวยและน่าใช้ทีเดียว
รายละเอียด: http://goo.gl/4pChbo

อีกตัวสำหรับคนที่คุ้นเคย Bootstrap อยู่แล้ว ก็แนะนำตัวนี้เลยครับ เป็น native คือ ไม่ต้องเพิ่ม jQuery หรือ JS ของ Bootstrap เข้ามา
รายละเอียด: http://goo.gl/UwQpC2

สำหรับคนที่รอคอร์ส Angular 2 อยู่ ช่วงนี้ขอเคลียร์งานค้างก่อนนะครับ ไว้ผมจะแจ้งในเพจอีกที