[JAVA] Eclipse exit code 13

บางครั้งวลาเราไปอบรมข้างนอก ลงเครื่องใหม่ หรืออ่า่นๆก็แล้วที่ ที่จำเป็นต้องลง Java ตามที่มีคนให้มา หรือ download มาลงเองแหละ แล้วพอไปจะไปเปิดมัน ดันเจอ Message แบบนี้เข้า สำหรับเจ้า Error มีสาเหตุ และวิธีการแก้ไข ดังนี้ครับ สาเหตุ: เกิดจากตัว Eclipse ไม่พบ Java ที่เรา Required ครับ การแก้ไข: มีวิธีการแก้ที่เป็นไปได้ ดังนี้ครับ วิธีแรก: ลง JDK ให้ตรงตามที่ Eclipse ต้องการ อย่างในรูป คือ JDK 1.6 ครับ แล้ว Set ตัวแปร Path ใน Environment ด้วยครับ หลายอาจจะสงสัยว่า Error ไหนมันบอกให้ดูจาก Message ครับ ตัดมาจากภาพด้านบน [shell]Dosgi.requiredJavaVersion=1.6[/shell] วิธีที่สอง: Set ค่าใน Eclipse.ini ให้ไปหา JDK ที่เราต้องการครับ กรณีที่เรามีลงไว้หลาย Version เช่น Java 7 กับ 8 ครับ โดยเพิ่มคำสั่ง -vm ที่ล่างสุดของไฟล์ครับ โดยมีรูปแบบคำสั่งเป็น -vm Path ของ javaw.exe ตัวอย่าง เช่น [shell]-vm C:\Program Files (x86)\Java\jdk1.7.0_75\bin\javaw.exe [/shell]  

Right Software | Software Right

เขียน Code มา 2 ปี บางทีเราสงสัยว่า เรากำลังทำอะไร ทำให้เสร็จส่งลูกค้าพอหรือป่าว ทำไปปุ๊บหมดโปรเจคออกก็ทิ้งหนี้(พวก Spaghetti Code และอื่นๆบราๆ) ให้คนรุ่นหลัง วันนี้ผมอยากเสนอ keyword ในการพัฒนา Software 2 คำ ซึ่งมันต้องไปด้วยกันนะครับ ไม่ใช่เลือกอย่างใด อย่างหนึ่ง ดังนี้ Right Software (Validation) คือ เราทำ Software ได้ ตรงสิ่งที่คุณลูกค้าต้องการ Software Right (Verification) คือ เราทำ Software ที่มีพื้นฐานดี โดยเค้าพื้นฐานดี เราอาจจะมองว่าระบบของเรา ตรงสเปค มี Performance ดี มีการจัดวางโครงสร้างของ Code ให้เอื้อต่อการแก้ไข การเปลี่ยนแปลง Developer รุ่นหลังสามารถเข้ามาแก้ต่อได้ โดยที่ไม่เจอหนี้ หรือ Spaghetti code ของคนเก่าที่ก่อเอาไว้ครับ สำหรับคนที่เกี่ยวข้องทุกคนนะครับ อย่ามองว่าทุกเรื่องมันเกี่ยวกับ Developer หรือ Programmer อย่างเดียวครับ เพราะบางครั้งมันอาจจะผิดจากลูกค้าที่ยังไม่สามารถบอกความต้องการได้ หรือทีม BA/SA ที่คิดกันไปเองครับ เพิ่มเติมนะครับตอนแรก นึกอยู่ตั้งนานว่า 2 คำนี้มันเกี่ยวกับอะไร  พอลองหาข้อมูลพบว่าเกี่ยวข้องกับ Verification & Validation ครับ

[JAVA] A java exception has occurred

หลายครั้งที่เราเอาไฟล์ .jar จากที่อื่นมาใช้ แล้วพบ Error Message นี้ ผมขอสรุปวิธีแก้ปัญหาที่เคยใช้ได้ผลดังนี้ครับ (พอดีเห็นโพสของรุ่นน้องเลยคิดว่าเอามาเขียนกองๆไว้ใน Blog ดีกว่า) ตรวจสอบ Version ของ .jar ก่อนเลยครับ ว่ามันสร้างมาจาก Java Version อะไร ตรวจสอบ Version Java ในเครื่องเราครับ ว่าเป็น Version ที่ต่ำกว่า จากข้อที่แล้ว หรือไม่ ถ้าใช่ Update Java ให้เครื่องเราครับ แต่ถ้า Update ไม่ได้ (จะมีบางกรณีที่เป็นระบบใหญ่ มันจะขอ Update Java ยาก และกลัวผลกระทบกับระบบอื่นๆครับ) เราต้องมาตรวจสอบและว่าเจ้า .jar ของเรา มี required feature พิเศษหรือว่า เช่น Stream API ของ Java 8 เป็นต้น จากนั้น เราไปหา Code มา Bulid .jar เองครับ แต่ถ้าไม่มี Code เนี่ยเราต้องคิดค่อ Vendor ที่ทำ .jar นั้น โดยตรงครับ

Agile Thailand 2015 @จุฬาลงกรณ์มหาวิทยาลัย

ผ่านจากวันงานมาและ 5 วัน เพิ่งจะมาเขียน งานจัดวันที่ 9 พฤษภาคม 2558 ครับ (ด่าตัวเองไว้ก่อน ฮ่าๆ เพราะจะได้เขียนให้ตัวเองสรุปสิ่งได้ลง Blog ก่อนที่จะลืมมันไปครับ) โดยงานวันนี้เป็นงานที่ผมรอมา 2 ปี น่าจะใช่นะ ที่สามารถจองตั๋วทัน ฮ่าๆ โดยเมื่อมาถึงในงานผมขอสรุปงานในวันนั้นคร่าวๆ ดังนี้ครับ ช่วง 8.00 – 10.00 เป็นช่วงการลงทะเบียน และการนำเสนอ แบ่งปัน Idea ต่างๆครับ โดยช่วงก่อนเริ่มงาน มีการใช้ Speaker มาเสนอหัวข้อตัวเองครับ ว่ามีความน่าสนใจแค่ไหนครับ โดยงานนี้ เราจะไม่ได้เข้าฟังทุก Session ต้องเลือกหัวข้อที่สนใจครับ ช่วง 10.00 – 11.00 ผมได้เข้าฟัง Session “Introduction to Agile with post-it ใน Session นี้เป็นการเรียนรู้ Agile เบื้องต้นด้วย Post-it จากการให้ลองวาง Flow เดิมที่ใช้ในแต่ละองค์กรในการพัฒนา Software ชิ้นนึงขึ้นมา จากนั้นเราจะมาตบๆ ปรับ Flow การทำงานให้กระชับ โดยจากการที่ผมได้คุยกับพี่ Staff (ลืมถามชื่อ T_T) ได้สรุปออกมาว่า Agile เอามาช่วยให้ทำงานได้ลื่นขึ้น ไม่ใช่เร็วขึ้น Agile เอาลูกค้าเข้ามาใน process ของการทำงานในทีมมากขึ้น เพื่อปรับจูนความเข้าใจ และความสามารถ ในเนื้องานให้ตรงกัน โดยจัดเป็น<< รอบ >>การทำงานลดความติดขัดในงานที่เราทำ Agile ขยุ้มทีม จูนทุกคนให้มี skill เท่ากัน ช่วง 11.00-12.00 Session Agile CashFlow จริงมันไม่เกี่ยวกับตัว Agile เลย สาระของตอนนี้ คือ การสอนให้เรารู้จัก Money…

[Google Cloud] Connect Google Cloud SQL ด้วย MySQL WorkBench

จากบทความที่แล้ว ผมได้ลอง Insert ข้อมูลออกไปแล้ว แต่ถ้าเราต้องการจัดการ Database มากกว่านี้หละ เราคงต้องพึ่ง Tools เข้ามาช่วยแล้ว เพราะเจ้า Google Cloud SQL ยังไม่มี UI เข้ามาจัดการใน Database และ Table อย่าง PhpMyAdmin ครับ หลังจากเกริ่นนำมายาว ผมของลองใช้ MySQL WorkBench เข้ามา Connect และจัดการกับ Database ครับ โดยมีขั้นตอน ดังนี้ เข้ามาที่ Database Instance ของเรา ไปที่ Access Control >> Authorization เพิ่ม IP ที่ใช้จัดการ Google Cloud SQL จากภายนอก (ในที่นี้จะเป็น IP ของเนต ADSL ที่เราเชื่อมต่ออยู่ครับ หากใครไม่ทราบก็สามารถุาม Google ได้ โดยใช้ keyword “what is my ip” ครับ) เพิ่ม Static IP ของ Database จากนั้น Save ข้อมูลด้วย ต่อมาไปของ Access Control >> SSL Cert จาก Google มา โดยกด Create ตามรูปเลย จากนั้น Download ไฟล์ Cert Save เก็บไว้ จากนั้น Save Config กลับไปที่ MySQL WorkBench สร้าง Connection ใหม่ ใน Static…

[Google Cloud] ทดสอบการจัดการฐานข้อมูลผ่าน App Script ตอนที่ 2

จาก blog ตอนที่แล้ว เราได้สร้าง Google Cloud Project เรียบร้อยแล้วครับ วันนี้เรามาทดสอบเขียน App Script กันครับ โดยทำตามขั้นตอน ดังนี้ ตอนมาเป็นการเขียน Code บน App Script นะครับ โดยเข้ามาที่  มาจากนั้นสร้างไฟล์ใหม่เลย โดยเลือกเป็น Blank Project ครับ เขียน Code กำหนดตัวแปรที่จำเป็น และสร้าง function CreateDatabase โดย Code ของเราใช้ตัว jdbc driver ของ MySQL ในการเขื่อมต่อครับ ดังนี้ //IP ที่ได้จาก Google Cloud SQL var address = ‘173.194.104.241’; //root username var root = ‘root’; //root password var rootPwd = ‘root_password’; //db username var user = ‘chatri’; //db password var userPwd = ‘debuggingsoft’; //ชื่อ DB ที่เราต้องการสร้าง var db = ‘guestbook’; var instanceUrl = ‘jdbc:mysql://’ + address; var dbUrl = instanceUrl + ‘/’ + db; // Create a new database…

[Google Cloud] ทดสอบการจัดการฐานข้อมูลผ่าน App Script ตอนที่ 1

ก่อนที่เข้า Google Cloud นี่มาเกริ่นนำตัว App Script ก่อนดีกว่า ว่ามัน คือ อะไร โดยเจ้าตัว App Script เป็นภาษาทีเอามาช่วยในการจัดการเล็กน้อยๆกับ Google Cloud ซึ่งผมขอแบ่งเป็น 2 กลุ่มนะครับ Google App คือ พวก Application ที่ Google ได้ทำมาให้เราใช้เรียบร้อยแล้ว อย่าง Google Docs, Google Sheet หรือ Google Form เป็นต้น โดยในกลุ่มนี้ เราสามารถสร้าง Add-on หรือสร้าง Marco, Custom Menus / Function ได้ เหมือนกับ VBA ของค่าย Microsoft ซึ่งถ้าเราพัฒนาจาก Google App ทาง Google มีการเตรียมคำสั่งพื้นฐานที่จำเป็นไว้ให้ส่วนหนึ่งครับ เช่น ใน Google Sheet จะมีคำสั่งที่ช่วยในการอ้างอิงถึง แต่ละ Sheet แต่ละ Cell ครับ Google Cloud คือ ระบบงานที่เราทำบน Cloud ครับ ซึ่งเจ้า Google App เป็นส่วนนึงบน Cloud ครับ  ตรงนี้เราสามารถที่จะทำอะไรก็ได้ครับ หากไม่เกินขีดจำกัดของ App Script หรือ ข้อกำหนดของ Google นะครับ โดยตัวอย่างที่ผมจะเขียนใน Blog เป็นตัวอย่างง่ายๆ ในการใช้ Google App Script ในการจัดการฐานข้อมูลบน Google Cloud SQL ครับ ขั้นตอนการทำครับ ก่อนอื่นเลยครับ สมัคร Google…

ลดละเลิก เมื่อข้อมูลข่าวสารด้านการลงทุนมันมากเกินไป

ช่วงหยุดยาวแบบนี้ ตอนเช้าผมก็ทำงานเขียน Code ไป ตอนเย็นมานั่งสังคายนา Facebook ตัวเอง เพราะหลังเริ่มรู้สึกว่าข้อมูลข่าวสารที่เกินกับการลงทุนมันมากเกินไป จากการที่ผมเจอ Page หุ้น ก็เข้าไปไลค์ โดยหวังว่าจะมีอะไรดีๆหลุดมา แต่เพจด้านการลงทุนที่ผม Like & Get Notification มันมากเกินไป มากจนเกินที่เราจะมีเวลามานั่งพิจารณาข่าวสารทันครับ  โดยในหนึ่งปีที่ผ่านมาสำหรับการเล่นและลงทุนของผม ด้วยสไตล์ของตัวเองที่เป็นมนุษย์เงินเดือน ยังไงเราก็ไม่มีเวลามาตามข้อมูลอะไรพวกนี้มาก จนไปๆมาๆหุ้นที่ผมเล่นดันกลายเป็นตัวที่ List ไว้ก่อนจะเปิด Port แทน เพราะตอนนั้น เรายังมีเวลาหาข้อมูลของหุ้น แต่ละตัวที่เราสนใจได้ครับ ตอนนี้ผมก็เอา Page สไตล์ Technical ออกไปก่อนเลย เพราะมันไม่ใช่สไตล์เราแล้ว หลังจากค้นหามาปีนึง ถัดมาก็ Page ที่แชร์ข่าวต่างๆ เลือกอันที่ดีที่สุด ไม่ต้องเลือกเยอะ เพราะใน Line เด้งเต็ม เผลอแปบเดียว 100 กว่าอัน แต่ละอันก็ยาวๆทั้งนั้น 5555 ถัดมาแนวเพจพวกสร้างแสนเป็นพันล้าน เพราะ บางเรื่องมันเริมเยอะ อ่านไปแล้วเหมือนกดดนตัวเองยังไงไม่รู้ ท้ายที่สุดนี้ จริงๆก็ไม่อยากจะอ้างทฤษฏี 80/20 แต่พอลองมาดู มันจริงหวะ บางเพจโพสอัพเดตตลอด แตเราก็ไม่ได้อ่าน ขึ้นมารก Feed เรา คิดก่อนไลค์ ชะงักก่อนสับตะไคร้ เพื่อความสุขในหน้า Timeline เรานะครับ แถมวิดีโอรายการข่าวดังข้ามเวลา : ที่สุด…ตลาดหุ้นไทย ดูแล้วได้แง่คิดอะไรเยอะเลยครับ

สรุปงาน SQL Server 2014 in memory & MS Azure (24-Apr-15)

ดองไปนานสำหรับบทความนี้นะครับ (จริงทความส่วนใหญ่ ก็ดองไว้นะ 555) เข้าเรื่องดีกว่า คือ วันที่ 24 เมษายน 2558 ที่ผ่านมาเนี่ย ผมได้เข้าร่วมงาน SQLClub Meeting in Bangkok: 24.April.2015 โดยเนื้อหาของงานเป็นการนำเสนออยู่ 2 เรื่องครับ ได้แก่ SQL Server 2014 In-Memory OLTP โดยคุณ Nicolas Souquet Azure Machine Learning โดยคุณ Peter Myers สำหรับสรุปของในแต่ละหัวข้อ ผมขอสรุปคร่าวๆ ก่อนอื่นเลยขอเริ่มที่ SQL Server 2014 In-Memory OLTP  นะครับ Feature “In-Memory OLTP” มีมากับ MS SQL Server รุ่น Enterprise และ Developer Edition ครับ สำหรับ Concept ของ “In-Memory OLTP” เกิดจาก Research ชื่อ Hekaton ของทาง Microsoft ครับ โดยเท่าที่จับใจความได้คร่าว มีเนื้อหาประมาณนี้นะครับ แก้ไขแนวคิดจากเดิมในการควบคุม ACID จาก Lock & Latch มาเป็น Timestamp แทนนะครับ โดย In-Memory OLTP จะไม่มีการ Lock ข้อมูลเลย ถ้ามีการ Insert หรือ Update มันตีความเป็น Record ใหม่ แล้วใช้ Timestamp เป็นตัวจัดการครับ อารมณ์ประมาณพวก Source Control ใช้แนวคิดใหม่ในการจัดการข้อมูล โดยมีแนวคิด Range…

[.NET] ปรับ Speed ให้ Visual Studio เร็วแรงทะลุนรก

วันนี้ผมได้สรุปเทคนิคในการปรับจูน IDE คู่ใจ จอมอึดอย่าง Visual Studio ให้เร็วแรงทะลุนรก กันนะครับ ตัว Visual Studio เอง Anti-Virus ต่างๆ อาจจะเห็นกันไม่ชัด ผมก็ได้สรุปไฟล์ที่เราควร Exclude Process จาก Anti-Virus(ขอผมทดสอบโดยใช้ Windows Defender ครับ) ทั้งในส่วนของ IDE และการ Test ดังนี้ จากที่ลองกับเครื่องของผมนะครับ 100 กว่า Project