Tag Java

[JAVA] Install MAVAN

วันนี้มาเขียน Blog สรุปชั้นตอน การ Install MAVEN ครับ สำหรับ Windows โดยมีชั้นตอน ดังนี้ เตรียมตัว ติดตั้ง Java Development Kit(JDK) ทำการกำหนด JAVA_HOME  เรียบร้อยแล้ว ซึ่งสามารถทดสอบโดยใช้คำสั่ง java -version  ซึ่งควรได้ผลลัพธ์ D:\BPMN\BPMNModel\CU_Case\java -version java version “1.8.0_152” Java(TM) SE Runtime Environment (build 1.8.0_152-b16) Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed…

[JAVA] illegal escape character

หลังจากให้ Tools ตัวนึงปรากฏว่าได้ Code ในลักษณะแบบนี้ ซึ้งพอใช้คำสั่ง maven install แล้วเนี่ย ได้ Error มาเพียบเลยยย โดย illegal escape character มีสาเหตุเกิดจากการใช้ \ คู่กับ String บางตัว แล้วดันไปเข้ากับคำสั่งพิเศษใน String ของภาษา Java อาทิ เช่น \t = tab \n = newline และตัวอื่นๆ อาทิ เช่น \U, \J, \D, \N,…

[JAVA] Pass By ?

ปัญหานี้น่าจะเป็นปัญหาที่โลกแตกพอสมควรครับ และเป็นเรื่องที่ควรรู้ และเข้าใจครับ ไม่งั้น เวลาเจอ Defect อยู่ๆข้อมูลเปลี่ยนเฉย ผีหลอก หรือป่าว ไม่ใช่ครับ เราอาจจะเข้าใจผิดมาตลอด ตอนเรียน 2 ปีแรกที่มหาวิทยาลัย สิ่งที่ผมเข้าใจเกี่ยวกับ pass by ของ Java คือ พวก Primitive Data Type เป็นการ Pass by Value ครับ พวก Reference Type อย่าง Object เป็นการ Pass by Reference แต่ที่ผมเข้าใจมาผิดหมดครับ มารู้จริงๆ…

String .Equals() vs ==

two pigeon perched on white track light + equal

พอดีเมื่อวันพฤหัสก่อน เห็นน้องที่ทำงานใช้ Operator == ในการตรวจสอบว่า String เป็นอันเดียวกันไหม แต่ผมเห็นแล้วรู้สึกแปลกๆ มันควรใช้ Method Equals() มากกว่าครับ ใน Blog ตอนนี้ผมแสดงความแตกต่างของ .Equals() กับ == โดยผมยกตัวอย่างเฉพาะในภาษา Java และ C# ที่ผมใช้งานหลักอยู่ครับ – JAVA – C# จาก Code ทั้ง 2 แบบ เราจะเห็นความแตกต่างกันของ String นะครับ (ตามตัวอย่างของ C# และ Java นะครับ)…

[JAVA] Shallow Copy กับ Deep Copy

จากบทความที่แล้วนะครับ จะเป็นการใช้แนวคิด Shallow Copy กับ Deep Copy ใน .Net Framework ภาษา C# ครับ คราวนี้มาถึงตาม Java บ้างครับ เปิดมาที่ Code เลยครับ ใน Blog ผมเตรียม Class Person ไว้ โดยมี Get / Set ปกติ และทำ จริงๆ ถ้าไม่อยากเขียนแบบนี้มันมีตัว BeanUtils.copyProperties ที่ช่วยทำ Shallow Copy ให้ครับ แต่มันมีความพิสดารของ Spring /…

[JAVA] A java exception has occurred

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

FizzBuzz Problem without if (ปัจฉิมบท)

FizzBuzz With Out If Part 2 (AI Generate Image via Bing AI)

จากบทความที่แล้ว แสดงวิธีการเขียน Code กับโจทย์ปัญหา FizzBuzz โดยไม่ใช่ IF กันแล้วนะครับ แต่ผมยังทิ้งท้ายไว้อีกปัญหานึง คือ ถ้ามีเงื่อนไขเพิ่มขึ้นมาหละ โดยให้แสดง WOOF ้เพิ่ม ถ้าตัวเลขนั้นหาร 7 ได้ลงตัว (อ้างอิงจาก WIKI FIZZ BUZZ WOOF ) เราจะมีวิธีการแก้ปัญหาอย่างไรนะครับ โดยผมขอทวนวิธีการที่ใช้แก้ปัญหาใน Blog ตอนที่แล้วก่อนนะครับ

FizzBuzz Problem without if (ปฐมบท)

FizzBuzz With Out If Part 1 (AI Generate Image via Bing AI)

จากบทความที่แล้ว FizzBuzz Problem ไปนะครับ ต่อไปผมลอง Refactor Code อีกรอบ โดยมีเงื่อนไขว่าห้ามใช้ IF ในส่วนของ Logic Fizz และ Buzz ทำไมถึงต้องห้ามใช้ IF เพราะ การใช้ IF ส่งผลให้เกิดความมักง่ายของ Developer ทำให้เกิดปัญหาในการแก้ไข หรือพัฒนา Module เพิ่มเติม ต้องไปแก้ Code จนเกินความจำเป็น และทำให้เกิด Defect(ฺBug) เพิ่มขึ้นด้วย ซึ่งมีแนวคิดทางวิชาการมาสนันสนุนแนวคิดนี้อย่าง The Open Close Principle (OCP) และ High Coupling &…

FizzBuzz Problem

FizzBuzz Intro (AI Generate Image via Bing AI)
FizzBuzz เป็นโจทย์ฝึกสมองเด็ก ที่ใช้ช่วยในการเรียนรู้เรื่องการหาร ซึ่งสามารถไปอ่านกฏเพิ่มเติมได้จากใน WIKI: FIZZBUZZ ครับ แต่บทความนี้ผมขอนำกฏของ FizzBuzz มาประยุกต์กับการเขียนโปรแกรม

[Android] Error:The SDK Build Tools revision (19.0.3) is too low for project

วันนี้พอ Update Android Studio เป็นเวอร์ชัน 0.6.0 มาใหม่ พอเปิดโปรแกรมขึ้นมาใหม่พบ Error Message ดังรูปเลยครับ สาเหตุ build.gradle มันชี้ไปผิดเวอร์ชั่น ที่ไม่เหมาะสมกับ SDK วิธีการแก้ แบบที่ 1: แก้จากไฟล์ bulid.gradle [xml] apply plugin: ‘android’ android { compileSdkVersion 19 buildToolsVersion ‘19.1.0’ //แก้ไข Build Tools Version ให้เป็นไปตามที่ SDK ต้องการ defaultConfig { minSdkVersion…