[CUSE] สอบหัวข้อโครงร่างวิทยานิพนธ์

หลังจากมืนๆ การส่งเอกสารไป มาสรุปดีกว่าว่าการสอบโครงร่างของแผน ก ต้องมีการเตรียมตัวอย่างไรบ้าง ขั้นตอน-เตรียมตัว ขั้นตอน-วันสอบ หลังสอบ ประสบการณ์จากวันที่สอบจริง

[CR] Mi Band3 คนรักสุขภาพต้องลองใช้

ยอมรับเลยครับ ว่าปีนี้น่าจะเป็นปีที่โทรมที่สุด  เพราะ ทำงาน จันทร์ – เสาร์ เช้างาน 8 โมง กว่าจะเลิกงานได้ก็ปาไปเกือบๆ 3 ทุ่ม – 4 ทุ่มแล้ว เวลานั้นสมงสมองล้าไปหมดครับ เลยวาง Thesis มาทำในช่วงวันอาทิตย์เป็นหลักครับ ส่วนวันทำงานปกติถ้าเลือก 3 ทุ่ม ก็ไปวิ่ง วิ่งคนเดียวในวงเวียนใหญ่ 555 (เวลานี้ปกติคนจะกลับไปหมดแล้วครับ) อย่างที่บอกไปครับ ปีนี้เน้นสุขภาพครับ แต่งานโคตรเยอะครับ และก็หวังว่าหลังจากเดือนกันยายนไป งานจะเริ่มดีขึ้นครับ เพราะ มีคนเข้ามาช่วย Support มากขึ้นแล้วครับ หลังจากการวางแผนการจัดการ Resource ที่ผิดพลาดในโครงการก่อนจน Resource ที่มีทำงานซ้ำซ้อนไปหมดครับ เรียน SE มาวิชา PM เออมันสำคัญจริงๆนะ แม้ว่าเราจะไม่ได้จัดการ Resource แต่เป็นกลไกไกลให้โครงการเดินต่อไปได้ควรรู้และเข้าใจครับ //บ่นมามากพอและ 555 วันที่ 9 เดือน 9 หลังจากรอบมานาน ก็โดนโปรไปครับ 555 โดยได้มาหลายอย่างเลย เช่น เมาส์ Ergonomic (เดี๋ยวจะมา Review นะครับ / หูฟัง Sony และ Mi Band 3 ครับ โดยที่สั่ง Mi Band 3 เพราะ อยากจะเอามาช่วยนับก้าวเดิน ดูการนอนแบบคร่าวๆ และจับอัตราการเต้นของหัวใจเมื่อวิ่งครับ เมื่อได้ของมาแล้วมาลองแกะกันครับ สำหรับ Mi Band3 เมื่อแกะกล่องพบของ ดังนี้ครับ ตัว Mi Band3 สายรัดข้อมือ สายชาร์จครับ ถ้าจะใช้งานจริงจังต้องมีลง App Mi Fit ด้วยนะครับ และต้องสร้างบัญชี Mi Account ด้วย…

[SPRING] ตรวจสอบข้อมูลก่อน Save ด้วย hibernate validator ครับ

หลังจาก Blog ตอนที่แล้วผมได้ลองทำ CRUD โดยใช้ Spring Boot ในเรื่องการการจัดการข้อมูล Person ไปแล้วนะครับ แต่ Blog ตอนล่าสุดของผมยังทิ้งท้ายอยู่นะครับ ว่ามันควรจะมีเรื่องของการ Validate ข้อมูลครับ คราวนี้ ผมเขียนตัว Validate ให้มันสมบูรณ์ครับ ซึ่ง Package ที่ผมใช้ hibernate validator ซึ่งเข้าตัวนี้มันเข้ามากับตอนที่เราใส่ Dependency Spring JPA แล้วครับ มาทำเลยดีกว่า สิ่งที่ต้องมี มาลุยกันเลยครับ – ชั้น Entity ที่เก็บ POJO Class – ชั้น Controller สำหรับ Parameter ต้องการ Validate ข้อมูลนั้น – ชั้น View อันนี้ตัว Thymeleaf ได้มีตัวช่วยแล้วครับ โดยถ้ามี Error มันถูก Inject เข้ามาในตัวแปร #fields ครับ ลองมาทดสอบกันดูครับ สำหรับ Blog หน้า ผมคงลอง Custom Error Message ดูครับ 😀 แต่ถึงแม้ว่าชั้น Entiry และ Controller มีกลไกในการดัก Validate ข้อมูลแล้ว แต่ฝั่ง Front-End ต้องดักด้วยนะครับ

[SPRING] มาใช้จัด Layout ให้กับ UI (Thymeleaf) ครับ

จาก Blog ตอนที่ที่ได้สร้างเว็บที่มี CRUD ต่อกับฐานข้อมูลแล้ว แต่ยังพบปัญหาว่ามันยังมี Code ที่ซ้ำซ้อนในส่วนของ UI เช่น พระเอกที่จะมาช่วยเราในครั้งนี้ คือ thymeleaf-layout-dialect มาดูโจทย์กันก่อน สิ่งที่ต้องมี เว็บตัวอย่างแหละ ปกติผมจะอ้างอิงจาก Blog ตอนก่อน แต่จะสร้างใหม่ก็ได้นะ และมาตรวจสอบ Dependency ว่าจะต้องมีของดังนี้ Let’s Refactoring จากไฟล์  mainLayout.html  ครับ โครงสร้าง ณ ตอนนี้ครับ มาแก้ไขไฟล์อื่นๆครับ ยกตัวอย่างเฉพาะของ ไฟล์ที่เสร็จแล้วครับ เพิ่ม Layout >> … · pingkunga/LearnSpringBoot@95e8c29 (github.com) Reference  

[CUCARUN2018] กลิ้งมินิมาราธอนครั้งที่ 2

หลังจากลองวิ่งครั้งแรกที่งาน Globe-Athon 2016 จนขาชาไป รุ่งขึ้นนี่พักยาวแล้ว หลังจากตอนนั้นผมก็เว้นการวิ่งไป เพิ่งกลับมาวิ่งอีกทีตอนต้นปี 2018 ครับ วิ่งตามหมอสั่ง 5555 โดยผมวิ่งๆแถววางเวียนใหญ่ แถวสวนลุม 3-5 km ครับ มาที่งานวันนั้นกันดีกว่าครับ สำหรับงานนี้ผมเพิ่งรู้ว่ามีนะ เหมือนการประชาสัมพันธ์จะไม่ค่อยมี หรือปากต่อปากกันในวงศิษย์เก่า ศิษย์ปัจจุบันครับ โดยงาน CUCARun เป็นงานวิ่งของภาควิชาวิศวกรรมคอมพิวเตอร์ จุฬาลงกรณ์มหาวิทยาลัยครับ เราเป็นเด็ก ป โท เลยขอไปร่วมแจมด้วยครับ โดยมีผมได้สรุปงานมาเป็นข้อๆ ตามในผมดังนี้ มารับเสื้อครับ เลืกงานก็วิ่งมาเลยครับ มาถึงที่ Stadium One ประมาณ 18.25 ครับ งานนี้เป็นงานวิ่งที่ผมว่าแปลกมาก มันเริ่มวิ่งตี 5 หลายคนน่าจะตื่นไม่ทันเลยครับ ผมเองถ้าไม่ได้น้องไม่ได้ไปส่งไม่น่าจะตื่นทันครับ แต่เข้าใจว่าที่ต้องการเลื่อนมาให้เร็วขึ้นจากกำหนดการเดิม คือ 6 โมง เพราะ ไม่อยากให้ชนกับการซ้อมรับปริญญาครับ แต่มีข้อดีอีกอย่าง คือ วิ่งตอนเช้าไม่ค่อยมีรถ ควันน้อยมาก และได้เห็นภาพของกรุงเทพไปอีกมุมนึงครับ ทางเดินในอุทยาน 100 ปี อยากให้เปิดไฟที่พื้นให้สว่างครับ – เพราะนักวิ่งหลายท่านวิ่งสะดุดไฟเตี้ยๆเหล่านี้ครับ บางช่วงของเล่นทางวิ่ง อย่างในช่วงถนนวิทยุมืดมากครับ จุดสุดท้ายตัดสินใจเดิน และเปิดไฟมือถือประกอบด้วย อีกนิดเดวววว สู้ๆต่อไปปปปปปปปปปปปป น้ำในช่วงกิโลเมตรที่ 8 แก้วหมดครับ ตอนช่วงกิโลเมตรที่ 9 เป็นไปได้ ไม่อยากให้วิ่งขึ้นสะพานลอยครับ ดูสภาพนักวิ่งหลายท่านแล้ว ขาไม่น่าจะไหวแล้ว น่าจะลงอุโมงแทนนะครับ เพราะ ความชันน่า และจำนวนชั้นน่าจะน้อยกว่าครับ จบแล้วครับ เวลาที่ทำได้ดีกว่างาน Globe-Athon 2016 ครับ อิอิ ของกินตอนจบงานครับ อร่อยมากครับ วิ่งมาเหนื่อยๆได้น้ำดื่มเย็นๆ กล้วยหอม และข้าวเหนียวหมูฝอย พร้อมที่จะไปเรียนต่อช่วงเช้าครับ เหรียญที่ได้ครับ สมกับเป็นภาคคอมฯ ครับ 3.5 Floppy A ครับ เก็บทุกอย่างไว้ในความทรงจำครับ

[SPRING] ลองต่อฐานข้อมูลกันหน่อย

จาก Blog ที่แล้วไปลองใช้ Thymeleaf ไปแล้วกับการแสดงผลให้สวยงานครับ แต่อันนั้นข้อมูลที่ได้เกิดจากการ Mock จากชั้น Service ครับ สำหรับ Blog ตอนนี้มีเป้าหมาย หัวข้อประมาณนี้ สิ่งที่ต้องเตรียม ต่อ Database ต้องมีการเพิ่ม Dependency เพิ่มครับ มาลุยกันเลยครับ ถ้าเพิ่มข้อมูลเกี่ยวกับ Person ก็ต้องมีหน้าจอ 2 จอ แก้ไขไฟล์ application.properties  สำหรับการเชื่อมต่อฐานข้อมูล persondb ครับ อย่าลืมไปเอา exclude = {DataSourceAutoConfiguration.class}  ออกจาก @SpringBootApplication  ที่ไฟล์ [ชื่อ Project]Application.java  ด้วยนะครับ เดี๋ยวจะต่อ DB ไม่ได้เอา บางที่ Spring Intializer มัน Generate มาให้ครับ แก้ไข Entity ครับ ให้เหมาะกับ Table ครับ โดยผมเพิ่ม Column Id เข้าไปครับ และใส่ Annotation ของ Hibernate เข้าไป ซึ่งมีทั้งพวก Validate ข้อมูล และระบุ Column ครับ – เพิ่มชั้น Repositories เข้ามาครับ โดยตัวนี้จะช่วยให้การติดต่อฐานข้อมูลง่ายขึ้นครับ – ต่อมา Service  โดยหลักๆ จะเป็นการเตรียม Method สำหรับ List รายการ / เพิ่ม / ลบ / แก้ไข / เรียกดูข้อมูล ครับ แต่ในส่วนของ Service อันนี้ผมจะแยกเป็น Interface กับ Implement ครับ – ต่อมาเป็นตัว Controller…

[SPRING] ทำความรู้จักกับ Thymeleaf

จาก Blog ตอนที่แล้วที่ได้ทดสอบ สวัสดีชาวโลก บน Spring Framework กันไปแล้วครับ แต่เว็บของเรามันไม่ได้มีหน้าตาอะไรเลย มีแต่ข้อความอย่างเดียวครับ วันนี้ผมจะมาเพิ่มหน้าจอในส่วนของ View นะครับ สิ่งที่ต้องเตรียม งานจาก Blog ตอนก่อนครับ ถ้าไม่มีสามารถเพิ่ม Dependency ลงในไฟล์ pom.xml ได้ครับ <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> หรือจะใช้ Spring Initializr ก็ได้ครับ รู้จักกับ Thymeleaf กันก่อนครับ เป็น Template Engine โดยหลักเราเขียน View ด้วย HTML แหละครับ แต่มี Tag บาง Tag ช่วยให้จัดการกับข้อมูลได้ง่ายขึ้นครับ ถ้าลองเปิดไฟล์ของ Thymeleaf โดยไม่ผ่าน Sping มันจะแสดงผลเหมือน HTML ทั่วๆไปครับ มาทำกันเลย มาดูที่โครงสร้างกันก่อนครับ ตอนนี้เรามายุ่งกับไฟล์ application.properties ครับ เพื่อให้ Spring รู้จักว่า Thymeleaf เราอยู่ที่ไหนครับ #Thymeleaf spring.mvc.view.prefix=/templates/ #อันนี้เป็นค่า Default อยู่แล้ว spring.mvc.view.suffix=.html #อันนี้เป็นค่า Default อยู่แล้ว จากนั้นสร้างโพลเดอร์ controller – เอาไว้จัดการกับ Flow ที่ได้มาจากหน้าจอ และเรียก Service ที่เกี่ยวข้องครับ service – จัดการกับ Busines Logic ต่อ Database – จัดการกับพวกข้อมูล Data Source ทั้งหลายครับ (ตอนนี้ยังไม่ได้ใช้ครับ) มี 2 Pattern ที่เป็นไปได้ครับ DAO / Repository ครับ entity – พวก…

[SPRING] สวัสดีชาวโลก

หลังจาก Blog ตอนที่แล้ว ผมได้เขียนเกี่ยวกับเขียน Spring โดยใช้ VSCode ครับ ซึ่งจาก Blog ตอนก่อน ยังติดปัญหาอยู่ที่ว่าเว็บทำงานแล้ว แต่ไม่มีการแสดงผลอะไรทั้งนั้นเลย ซึ่งใน Blog ตอนนี้ผมจะมาทำ Hello world ครับ สิ่งที่ต้องเตรียม งานที่ทำจาก Blog ตอนก่อนหน้าครับ ถ้าไม่ได้เริ่มมาจาก Blog ผม ก็สามารถเพิ่ม Dependency ไปที่ไฟล์ pom.xml  ดังนี้ <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> ลุยยเลยครับ มาดูโครงสร้างของ Project กันก่อนครับ src -> main -> java (ภาษาที่ใช้) -> com (Package#01) -> cu (Package#02) -> thesis (Package#03) -> WeMuBPMN (Project) -> hello HelloController.java (กำลังเพิ่ม) -> resource -> static << เอาไว้เก็บพวก CSS / Java -> templates application.properties << ไฟล์นั้สำคัญนะ เดี๋ยว Config บางเรื่อง เช่น Database จะถูกเก็บไว้ที่นี่ -> test -> java (ภาษาที่ใช้) -> com (Package#01) -> cu (Package#02) -> thesis (Package#03) -> WeMuBPMN (Project) -> hello…

[SPRING] ใช้ VSCode ในการเขียน Spring Boot กัน

มาลองใช้งาน Spring Boot โดยใช้ VSCode กันครับ สำหรับ Blog นี้ เนื่องจากหลายๆงานในปัจจุบันหันมาใช้ VSCode กันติดแล้ว เพราะมันเร็ว ง่าย และไม่ซับซ้อนครับ โดยวันนี้ผมลองมาฟื้นฟูทักษะ Java ด้วย หายไปกับ .Net Framework กับ Power Shell หลายปีครับ สิ่งที่ต้องเตรียม ติดตั้ง JDK (Java Development Kit) SET JAVA_HOME ครับ ติดตั้ง VSCode ลุยกันเลย มาที่ VSCode เปิดมาแล้ว ให้ทำการติดตั้ง Java Extension Pack สำหรับ Extension นี้พัฒนาโดย Microsoft ครับ ซึ่ง Extension นี้ช่วยสำหรับ Java Code HintIntegrated Terminal Debugger Test Runner MAVEN Project ลองสร้าง Project เริ่มต้นจากเว็บ Spring Initializr กันก่อนครับ ตัว Tools ตัวช่วยสร้างโครงสร้าง Project ให้เหมาะกับ MAVEN หรือ Grail ผมเลือก MAVEN ไปครับ ภาษาที่ใช้ ผมใช้ Java เลือกเวอร์ชันของ Sping Boot กำหนด Dependency ที่จำเป็น พิมพ์ได้เลยครับ ในที่นี้ผมเลือก Web / JPA (พวกจัดการ DB) ครับ กำหนดชื่อ Package ครับ ** ถ้ายังเห็นว่า Config…

[DOCKER] สร้าง Dockerfile ที่มี User ที่จำเป็นสำหรับ DB2 ครับ

สวัสดีครับ Blog ตอนนี้น่าจะเป็น Blog ที่เกี่ยวกับ Docker อันแรกมั้งๆ ปกติผมจะใช้ Virtual Machine ในการทำงานมากกว่าครับ โดยสำหรับผมได้เอา Docker Image ของ DB2 มาใช้งานครับ โดยจะเป็น Version 11 Fixed Pack 3 ซึ่งเมื่อผม pull ลงมาแล้ว ปรากฏว่าลองอ่าน Document แล้ว ตัว Docker Image มันมีแต่ user db2inst1 เป็นหลักครับ แต่ Database ที่ผมต้องการจะเอามาขึ้นในส่วนของ Application มันต้องการใช้ มี – แบบที่ 1 : หลังจาก docker run ไปแล้ว เข้า terminal ไปแก้ หลังจาก docker run ไปแล้ว เข้า terminal ของ container ด้วยคำสั่ง docker exec -it <CONTAINER_ID> bash  เช่น docker exec -it 4484a421c205 bash  ครับ – แบบที่ 2 : ทำ Dockerfile ดีกว่า ทำ dockerfile ดีกว่า โดยผมทำ image file แยกออกมาอีกอันเลย เอาไว้ใช้งานในองค์กรครับ เอาไปฝากไว้ใน Nexus ก็ได้ครับ (ผมเลือกวิธีนี้นะครับ มาเริ่มกัน) สำหรับวิธีที่ 2 นั้นเห็นว่ามันมีความเป็น Automation มากขึ้นครับ และในตัว dockerfile จริงๆ…