มารู้จักกับ Phoenix Server

แนวคิดของ phoenix server เป็นแนวคิดที่เริ่มต้นมาจากการที่ system operations ต้องทำใหม่ทุกครั้งที่ server มีการเปลี่ยนแปลงค่าคอนฟิกส์ต่างๆ เข้าไปหลังจากเกิดการใช้งานหรือมีการปรับเปลี่ยน customizion ต่างๆ การเปลี่ยนแปลงนี้จะตั้งกลับไปสู่ค่า configuration เดิมที่อ้างอิงตาม baseline configuration ที่เราตรวจสอลหรือทดสอบแล้วว่าสามารถนำมาใช้บน production หรือ environment อื่นๆ ได้ ประเด็นปัญหาเรื่องของการปรับแต่งค่าคอนฟิกส์แล้วเกิด configuration diff นั้นเป็นเรื่องปกติของนักพัฒนาและนักทดสอบโปรแกรมอยู่ปกติ การจัดการเรื่อง configuration diff พวกนี้จึงเริ่มขึ้น ซึ่งเครื่องมือที่ใช้กันอย่างแพร่หลายทุกวันนี้ ตัวอย่างเครื่องมือที่อำนวยความสะดวกในการ manage พวก configuration ไฟล์ต่างๆเช่น Puppet และ Chief  ก็ช่วยอำนวยความสะดวกได้ไม่น้อยเลยทีเดียว แต่บางครั้งก็ยัง spot ได้แค่เพียงบางจุด หรือ บางกลุ่มของ configuration ที่เราโฟกัสเท่านั้นส่วนอื่นนอกเหนือจากที่เรา managed แล้วก็ไม่สามารถ detect หรือกำหนดได้เลย สิ่งนี้ที่ทำให้ concept ของ […]

9 หลักการในการเขียนโค้ดให้สะอาด อ่านง่าย ( Clean Code )

บ่อยครั้งหรือปล่าวที่เวลาเราดูโค้ดคนอื่นแล้วตำหนิเค้าหรือก็กล่าวออกไปว่า “อะไรกันนี่ นี่มันสปาเก็ตตี้โค้ดชัดๆ” หรือไม่ก็ “ทำไมคุณเขียนโค้ดได้แย่และอ่านไม่ออกขนาดนี้ ” หรือ “ทำไม่เขียนโค้ดยากจัง ง่ายๆก็มี” หรือ … อะไรอีกเยอะแยะมากมายที่คุณจะคิดไปว่าโค้ดของคุณนั้นเจ๋งแนวทางของคุณนั้นถูกต้องแล้ว !!! ช้าก่อน แล้วคุณแน่ใจแล้วจริงๆหรอว่าโค้ดคุณนั้นเทพ ถ้าคุณลองให้คนอื่นเค้า review code คุณล่ะคุณแน่ใจแล้วหรือว่าคุณจะไม่โดนตำหนิแบบเดียวกันนี้เลย พูดง่ายคือคือคุณเข้าใจถูกหรือยังว่าการเขียนโค้ดที่ดีจริงๆแล้วมันคืออะไร แล้วรู้จริงๆหรือเปล่าว่า Clean code ในความหมายจริงๆนั้นคืออะไรก่อนที่จะ Express ออกไปให้กระทบกระเทือนต่อความเชื่อมั่นของโปรแกรมเมอร์หรือเพื่อนร่วมงาน ความจริงแล้วในตำรามันไม่ได้ระบุตายตัวว่าการเขียนโปรแกรมที่ดีนั้นเป็นยังไง เป็นการยากมากที่จะกำหนดแบบหรือบรรทัดฐานตายตัว ที่จะพอเป็น guide line หรือข้อกำหนดพื้นฐานที่จะเป็นแนวทาง หรือเป็นสิ่งที่การเขียนโค้ดที่ดี หรือ โค้ดที่ได้จากการเขียนโปรแกรมที่ดีนั้นมักจะต้องมีร่วมกันอยู่ตามตำราเค้าบอกว่า 9 ข้อ I  Bad code does too much – Clean code is focused แปลตรงตัวคือโค้ดห่วยๆ มักเขียนยืดยาว น้ำท่วมทุ่งผักบุ้งโหลงเหลง โค้ดที่ดีทำหน้าที่ของมันตรงตัว สั้นๆ หน้าที่เดียว  แต่ละคลาส […]