ระบบ Log ใน Java แบบเปลี่ยน implementation ได้ภายหลังด้วย SLF4J

slf4j-logo

จริงๆแล้ว จาวาเองก็มีระบบ log ของตัวเองอยู่แล้ว แต่ถ้าจะใช้งานหนักๆอย่างเช่น การเปลี่ยนรูปแบบข้อความที่จะ log นั้น ต้องสร้างคลาสขึ้นมาเพื่อปรับรูปแบบ เท่าที่สังเกต ส่วนมากจึงเลือกใช้เฟรมเวิร์ก (logging framework) แทน เช่น log4j หรือ jakarta-logging

ปรากฏว่าในเวลาต่อมา log4j ที่ได้รับความนิยมสูงสุดเองก็หยุดพัฒนา โดยผู้เริ่มต้นพัฒนาเองเปลี่ยนไปทำ logback แทน แม้ว่าการใช้งานจะคล้ายๆเดิม แต่ก็มีรายละเอียดบางอย่างที่เปลี่ยนไป

SLF4J เป็นจาวาไลบรารี่ที่ทำหน้าที่เป็นหน้าด่าน (facade) ที่ทำให้นักพัฒนาใช้งานระบบ log ด้วยเอพีไอ (API) เดียวกัน แต่สามารถเปลี่ยน implementation ได้โดยไม่ต้องแก้ไขโปรแกรม เพียงแค่เปลี่ยนไลบรารี่ที่ใช้ พร้อมกับคอนฟิกของแต่ละค่ายเท่านั้น นอกจากนี้ยังสามารถเพิ่มเติมให้รองรับการทำงานมากขึ้นได้ เช่น เพิ่มระดับการ log ได้

จุดเด่นอีกอย่างของ SLF4J คือ parameterized message ซึ่งเป็นเอพีไอที่ช่วยเพิ่มประสิทธิภาพในการทำงาน เพราะไม่ต้องสร้างสตริงจากการต่อสตริงกับออบเจ็กต์ (object) ก่อน แม้ว่าจะไม่ต้อง log ก็ตาม

Continue reading

Advertisements

Test Java App Server ด้วย IntelliJ IDEA Community Edition + Tomcat

idea-tomcat

IntelliJ IDEA สนับสนุนการเทสต์กับแอพเซิร์ฟเวอร์เฉพาะบน Ultimate Edition เท่านั้น จึงทำให้ไม่สามารถใช้งานร่วมกับ Apache Tomcat บน Community Edition ได้

แต่สำหรับโปรเจคที่พัฒนาบนเมเว่น (Maven) มี 2 ทางเลือก เพื่อใช้งาน Tomcat บน Community Edition ได้ สามารถนำวิธีนี้ไปประยุกต์ใช้ทูลส์อื่นๆ เช่น Gradle ได้:

Continue reading

ใช้ phpMyAdmin เข้าถึง MySql บน Azure

featured-image-21

เมื่อติดตั้งฐานข้อมูล MySql บนแอชเชอร์ (Azure) ไมโครซอฟต์จะติดตั้งไปยัง ClearDB ซึ่งเป็นบริการฐานข้อมูลบนคลาวด์ การเข้าถึงข้อมูลจะต้องใช้งานผ่านเว็บไซต์ ClearDB แต่ผู้ใช้งานส่วนใหญ่น่าจะคุ้นเคยกับหน้าจอและเมนูของ phpMyAdmin มากกว่า

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

แต่มีอีกวิธีซึ่งง่ายกว่าและไม่ต้องสร้างเว็บแอพเพิ่ม คือติดตั้งผ่านทูลส์บนแอชเชอร์เอง ซึ่งในเว็บแอพแต่ละตัวจะมีทูลส์ให้ใช้งานอยู่แล้วคือ Kudu

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

สำหรับ phpMyAdmin นั้น แอชเชอร์มีเมนูสำหรับติดตั้งผ่านเว็บพอร์ทอล (portal) ได้เลย ซึ่งเบื้องหลังคือไปติดตั้งบน Kudu อีกที

Continue reading

ติดตั้ง Certificate บน Windows 7

application-certificate

การใช้งานเครือข่ายระยะไกล เช่น VPN (Virtual Private Network) หรือการเรียกใช้เซอร์วิส (Service) ผ่าน HTTP ผู้ให้บริการอาจระบุให้ติดต่อผ่านการใช้ Certificate เพื่อเพิ่มความปลอดภัยโดยการเข้ารหัสข้อมูลที่รับส่งระหว่างเครื่องของเรากับปลายทาง

การติดตั้ง Certificate บนวินโดวส์ (Windows) อย่างง่ายคือ ดับเบิลคลิกไฟล์ Certificate ที่ได้รับมา จากนั้นทำตามวิซาร์ดไปเรื่อยๆ หรือพูดง่ายๆคือกดเน็กซ์ (Next) ไปเรื่อยๆจนจบ Certificate ก็จะถูกติดตั้งลงในเครื่องและพร้อมใช้งาน แต่การติดตั้งวิธีนี้ Certificate จะถูกติดตั้งให้ใช้ได้แค่ผู้ใช้งานปัจจุบันเท่านั้น ในกรณีที่มีผู้ใช้งานหลายคนในเครื่องเดียวกัน จะต้องติดตั้งแยกกัน สำหรับผู้ใช้แต่ละคน

แต่บางกรณี เช่น การติดตั้งบนเซิร์ฟเวอร์เพื่อเรียกใช้เซอร์วิสจากภายนอก อาจจะไม่สะดวก ถ้า Certificate จะผูกอยู่กับผู้ใช้คนใดคนหนึ่งในระบบ จึงควรติดตั้งผูกเข้ากับเครื่อง เพื่อที่จะสามารถใช้งานได้ไม่ว่าจะเป็นผู้ใช้คนใดเข้าสู่ระบบก็ตาม

วิซาร์ดที่กล่าวถึงข้างต้นในวินโดวส์ 7 จะไม่สามารถเปลี่ยนเพื่อติดตั้ง Certificate ในระดับเครื่องได้ ต้องทำผ่าน MMC (Microsoft Management Console) เท่านั้น โดยทำตามขั้นตอนดังนี้
Continue reading