Programming Archive

ลองไปนั่งดู React Hooks นิดหน่อย เราต้องเปลี่ยนเลยไหม ?

จาก tweet ของ Dan Abramov ผู้สร้าง React นั่นเอง เกี่ยวกับแนวคิดการออกแบบ component เป็น Presentational และ Container componentหรือเรื่องของ Stateful และ Stateless component ได้บอกว่า แนวคิดนี้น่าจะไม่เหมาะสมแล้วกับ React ใหม่ที่มี React Hooks ออกมา นั่นหมายความว่าเราสามารถแยก logic การทำงานออกไปยัง React Hooks เลย เลยเกิดคำถามว่า ต้องใช้ Hook กันเลยไหม ? หรือต้อง migrate มา Hook เลยไหม

Read More…

ว่าด้วยเรื่องแนวคิด CQRS (Command Query Responsibility Segregation)

หลัง ๆ มาในโลกการพัฒนา Software มักได้ยินคำแปลก ๆ ออกมาเยอะมาก (ตามจริงอาจจะไม่แปลก แต่เราไม่เคยรู้มากกว่า )หนึ่งในนั้นคือแนวคิด CQRS (Command Query Responsibility Segregation) โดยแนวคิดนี้มันจะพ่วงมาจากเรื่องของ DDD (Domain-Driven Design) และ Microservices หนักกว่านั้นโยงไปถึง Event sourcing อะไรพวกนั้นอีก ทำให้งงเข้าไปใหญ่ ดังนั้นเพื่อความไม่สับสนจึงลองไปศึกษาหน่อยว่า จริง ๆ แล้วแนวคิดนี้มันมีที่มาที่ไปอย่างไร

Read More…

อย่าวัดผลการทำงานที่ชั่วโมงการทำงานใน office เพียงอย่างเดียว

ปกติคนทำงานมักจะเข้างาน 9 โมงเช้า เลิกงาน 6 โมงเย็น รวม ๆ แล้วใน 1 วันจะทำงานประมาณ 8 ชั่วโมง แต่ถ้าใครทำงานหลังจาก 6 โมงเย็นไปอีก ยิ่งดี (ไม่มี OT นะ) บางองค์กรชอบคนเหล่านี้มาก ๆ เพราะว่า มาทำงานก็ตรงเวลา กลับก็ช้า แสดงว่าขยันทำงานมาก ๆ !!!

Read More…

[Part 4] สรุป 50 เรื่องสำหรับผู้เริ่มต้นพัฒนาระบบด้วยภาษา Go

ใน Part  4 นี้จะเป็นเรื่องที่ลึกไปอีกขั้น แต่ยังเป็นสำหรับมือใหม่อยู่ !! ประกอบไปด้วย การใช้งาน channel การใช้งาน struct การใช้งาน net/http package การใช้งาน encoding/json package มาเริ่มกันเลย

Read More…

NPM :: แก้ไขปัญหา Unexpected end of JSON input while parsing near

ปัญหาที่เจอเมื่อ run . npm install ใน project ที่กำลังพัฒนาแล้วเจอปัญหาแบบนี้ Unexpected end of JSON input while parsing near การแก้ไขนั้นมีเพียบเลยจึงสรุปไว้หน่อยซึ่งเป็นปัยหามาจาก cached ของ npm เอง ลบไฟล์ package-lock.json และ run npm cache clear –force ทำการลบ npm cached ตรง ๆ ที่ ~/.npm บน Linux/Mac หรือ %AppData%/npm-cache บน Windows

Read More…

ความสามารถที่น่าสนใจใน Android Studio 3.3

สำหรับ Android developer ตัวจริงน่าจะใช้ Android Studio 3.4 หรือ 3.5 กันไปแล้ว แต่สำหรับคนไม่ชอบการ update แล้ว project fail ทุกครั้ง ก็คงต้องชอบกับ Android Studio 3.3 ตัวเต็ม ๆ ซึ่งไส้ในคือ IntelliJ IDE  2018.2.2 รวมไปถึงสนับสนุน Kotlin 1.3.11 ซึ่งมีความสามารถที่น่าสนใจพอควร มาดูใน feature ที่ผมใช้บ่อย ๆ

Read More…

[Part 3] สรุป 50 เรื่องสำหรับผู้เริ่มต้นพัฒนาระบบด้วยภาษา Go

ใน Part  3 นี้จะเป็นเรื่องที่ลึกไปอีกขั้น แต่ยังเป็นสำหรับมือใหม่อยู่ !! ประกอบไปด้วย การใช้งาน log.Panic() และ log.Fatal() การทำงานของ data structure ต่าง ๆ  การใช้งาน for-range การทำงานของ switch-case เริ่มต้นกับ Goroutine และ channel มาเริ่มกันเลย อ่าน Part 1 และ Part 2 ก่อนได้

Read More…

สรุปขั้นตอนการดึงข้อมูลจาก Xiaomi Smart Air Quality Monitor PM2.5 Detector

วันนี้เห็นน้อง ๆ ในบริษัทถือเครื่องวัดค่า PM2.5 มา ก็เลยถามว่า เราสามารถดึงข้อมูลจากเครื่องมาได้ไหม ? น้องบอกว่า ได้สิ ดังนั้นความอยากรู้อยากลองจึงเกิดขึ้น ว่าต้องทำอย่างไรบ้าง ? มาเริ่มกันเลย

Read More…

[Part 2] สรุป 50 เรื่องสำหรับผู้เริ่มต้นพัฒนาระบบด้วยภาษา Go

จาก Part 1 เกี่ยวกับการพัฒนาภาษา Go จำนวน 10 เรื่องแรก เน้นไปที่การใช้งาน short declaration variableมาต่อกับ Part 2 อีก 10 เรื่อง เน้นในเรื่องของการใช้งาน String, Array, Slice และ Mapมาเริ่มกันเลย

Read More…

เพื่อความปลอดภัย อย่าลืมเปลี่ยน password หรือเปิด Two-Factor Authentication กันนะ

เห็นข่าว Collection #1 is the world’s biggest data dump. Check your passwords เกี่ยวกับข้อมูล email และ password จำนวนกว่า 700 ล้าน account ถูก hack และปล่อยให้ download แน่นอนว่ามันมี Collection #1 ก็ต้องมี 2, 3, 4 ,5 แน่ ๆ ซึ่งก็มีการเปิดขายกันอีกแน่นอน ดังนั้น เพื่อความปลอดภัยของเรา ๆ ท่าน ๆ แนะนำให้ไปเปลี่ยน password ใหม่ แนะนำให้ไปเปิดการใช้งาน Two-Factor Authentication ของบริการต่าง ๆ ที่เราใช้งาน แนะนำให้ไปปิดบริการที่ไม่ใช้งานซะ

Read More…