บทความ

กำลังแสดงโพสต์จาก 2022

Java get Inserted key from Oracle insert statement

 บ่อยครั้งที่เรา Insert Data ลง table ใน Oracle โดยใช้  Value ที่ create ขึ้นเองที่ฝั่ง Database เช่น พวก Sysdate , Sequence ต่างๆ เป็นต้น บางครั้งถ้าค่าเหล่านี้คือ ID ที่เราต้องการนำไปใช้ต่อจะเกิดปัญหาว่าทางฝั่ง Java ไม่รู้จักค่าเหล่านี้ วันนี้มีตัวอย่างการแก้ปัญหานี้มาฝากครับ ยกตัวอย่าง เราต้องการ Insert ค่าลง table ด้วย statement นี้ String query = "INSERT INTO test_table (test_id,test_name) VALUES (test_seq.NEXTVAL,'Test')"; เทคนิคที่ต้องทำเพิ่มเติมคือ ตอนสร้าง statement ให้กำหนด Key Field ด้วยตาม ตัวอย่าง PreparedStatement ps = connection.prepareStatement(query, new String [] { "test_id" });   หลังจากที่เรา execute update แล้วเราจะสามารถ get ค่า Key ผ่าน Result Set ได้เลยครับ ตามตัวอย่างด้านล่าง    ps.executeUpdate() ResultSet rs = ps.getGeneratedKeys();   if (null != rs && rs.next()) {         studentId = rs.getString(1);  }

Java Call PLSQL With Input data type Table Array of Records

 ตัวอย่าง Code Java กรณีที่เราต้องการ ส่ง Parameter เข้า Oracle PLSQL แบบ รับ Input เป็น Array of Records   ข้อดีคือทำให้เราสามารถ Call PLSQL ผ่าน JDBC ครั้งเดียวแล้วส่ง List of Data เข้าไป ประมวลผลใน PLSQL ได้เลย (ปรกติก็วนเรียก ทีละ record เอาก็ได้อ่ะนะ ^^) สิ่งสำคัญที่ต้องทำเพิ่มเติมมีดังต่อไปนี้ 1. การ Map Data Type โดยจะต้องทำการ Mapping ทั้ง Type ที่เป็น Record และ Type Array ตามตัวอย่างด้านล่าง         StructDescriptor sd = StructDescriptor.createDescriptor("MY_RECORD", conn);         ArrayDescriptor ad = ArrayDescriptor.createDescriptor("MY_ARRAY", conn); conn หมายถึงตัวแปร Connection ที่ connect database ไว้แล้วนะครับ ซึ่ง การ Run สองคำสั่งนี้ ทางฝั่ง Database Oracle จะต้องมีการ Create TYPE ตามที่เราส่ง parameter ไว้แล้วนะครับ ถ้าหากไม่มีจะ เกิด Exception ขึ้นทันที   ตัวอย่างการ Create type ที่ Oracle PLSQL ก็ประมาณนี้  ตัวอย่างการ Create Type ที่เป็น Record (Object) CREATE OR REPLACE TYPE MY_RECORD AS OBJECT   (     VAL1 VARCHAR2(10),     VAL2 VARCHA

วิธี Reset Password root MySQL database

เคยเจอปัญหามั้ยครับเวลาติดตั้ง Database MySQL ไว้แล้วไม่ได้ใช้งานนานๆ จนลืม รหัสผ่าน root ไปเลย  เราเคยเจอตอนแรกกะว่าทำใจแระ แต่มาลองคิดดูอีกทีในเมื่อเราเป็นคน install เองแท้ๆ มันก็ต้องทำอะไรได้บ้างสินะ วิธีการ Reset Password root ของ MySQL ตามด้านล่างนี้เลยครับ 1. กรณี Window ให้ไป Stop service mysql ไว้ก่อนนะครับ เข้า control panel แล้วเลือก service หา mysql แล้ว กด Stop ครับ 2. สร้าง text file แล้ว เขียน statement ตามนี้เลย ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass'; จากนั้น Save เป็น text file ครับ ตั้งชื่ออะไรก็ได้นะเช่น mysql-init.txt 3. เข้า cmd ครับแล้วก็ cd ไปที่ path ที่เราลง mysql แล้วไปที่ folder bin ครับ จากนั้นพิมพ์คำสั่ง ดังนี้ mysqld --init-file=C:\\mysql-init.txt (ตย นี้เรา save file ไว้ที่ drive C อ่ะนะ) 4. เพียงเท่านี้ก็เรียบร้อยครับ เข้าไป start service mysql แล้วใช้งานด้วย password ใหม่ได้เลย ส่วนกรณีบน Linux ก็จะใช้อีกแบบนึงนะครับ

ลงทุนคริปโต เคอเรนซี่ วันละ 100 บาท ตั้งซ์้อ Auto บน Binance Auto Invest

รูปภาพ
 ในช่วงที่ ตลาดคริปโตเคอเรนซี่ กำลังผันผวน เราไม่รู้ว่าจะขึ้นหรือจะลง ลงแล้วจะลงอีกมั้ย ขึ้นแล้วจะไปต่อหรือเปล่า คือมันเป็นคำถามโลกแตกไม่มีใครรู้อนาคตครับ คิดมากไปหัวจะปวด T_T แต่ถ้าเราอยากจะลองลงทุนแบบง่ายๆไม่คิดอะไรคือ DCA ซื้อมันทุกราคา ซื้อทุกวัน ใส่เงินทุนเข้าไปแล้วให้ระบบทยอยซื้อให้แล้วก็ปิดจอเอาเวลาไปทำอย่างอื่น เช่น ทำงานที่เรารักต่อไป ^^ แล้วมารอลุ้นตอนตลาดกระทิงมาทีเดียวว่าเราจะทำกำไรได้เท่าไร การลงทุนใน Binance Auto Invest ก็เป็นอีกเครื่องมือที่ช่วยเราได้ ผมได้ลองใช้ Binance Auto Invest มาแล้วประมาณ 1 เดือน โดยตั้งไว้ให้เข้าซื้อตอน ตี 5 วันละ $3 ประมาณ 100 บาทต่อวันโดยเฉลี่ยซื้อ 10 เหรียญ อันนี้เป็นข้อดีอย่างหนึ่งใน Auto Invest คือเราสามารถซื้อในหน่วยเล็กๆ ได้ จากตัวอย่างที่ผมลองทำคือผมซื้อแค่เหรียญละ $0.1 เท่านั้นเองซึ่งยอดเล็กๆพวกนี้เราไม่สามารถเทรดใน Spot ได้นะ  อันนี้เป็นตัวอย่างที่ผมลงทุนไปประมาณ 1 เดือน แบ่งเฉลี่ยกระจายไป 10 เหรียญ ใช้ทุนไป $92 ได้บวกมาอยู่ $18.05  กำไร 19.62%   ณ ช่วงที่ผม Cap มาเป็นจังหวะที่ตลาดกลับตัวเขียวพอดีอ่ะนะ เลยทำให้เหรียญที่ผมตั้งไว้มั

List Folder Size บน Window ด้วย คำสั่งบน Power Shell

รูปภาพ
หลายๆ ครั้งเวลาที่ Disk เต็มแล้วเราต้องการ ลบ Folder ที่มีขนาดใหญ่ แต่เราไม่สามารถ ดู Size ของ Folder ได้ผ่าน Widow File Explorer วันนี้มีคำสั่งมาแนะนำครับ เราสามารถใช้คำสั่ง Power Shell คำสั่งนี้ ได้เลยครับ $fso = new-object -com Scripting.FileSystemObject gci -Directory `   | select @{l='Size'; e={$fso.GetFolder($_.FullName).Size}},FullName `   | sort Size -Descending `   | ft @{l='Size [MB]'; e={'{0:N2}    ' -f ($_.Size / 1MB)}},FullName  ผลที่ได้จากการ Run คำสั่งนี้ ก็จะได้แบบนี้เลย ลองใช้กันดูนะครับสำหรับผมใช้สำหรับ List Folder เพื่อ Clear File ครับแต่เพื่อนจะนำไปใช้ประโยชน์ยังไงก็ตามความต้องการได้เลยครับ หวังว่าจะเป็นประโยชน์ไม่มากก็น้อยนะ

JSP Comment JSTL แบบที่ไม่ให้ทำงานตอน View Source

ปรกติเวลาเรา Comment HTML เราก็จะ Comment ประมาณนี้ครับ <!--<c:out value= "${myVAR}" />-->   ซึ่งวิธีแบบนี้จริงๆก็สามารถทำงานได้แต่ว่ามันเป็นแค่การ Comment ไม่ให้แสดงผลใน HTML แต่ใน JSTL ยังคงทำงานอยู่นะ แล้วผลตอนที่เรา View Source ดูก็จะได้ประมาณนี้   <!--Test-->   มันไม่แสดงผลใน Output ก็จริงแต่ใน HTML ยังคงเห็นอยู่นั่นแสดงว่า JSTL เบื้องหลังยังคงทำงานครับ หากเราต้องการ Comment แบบไม่ให้ทำงานเลยให้ใช้คำสั่งนี้   <!-- <c:out value= "${myVar}" /> -->   แบบนี้ตอนที่ View Source ดูจะไม่เห็น Tag นี้แสดงใน HTML เลยครับ

Farm Stable Coin บน Binance ช่องทางใหนได้บ้าง

รูปภาพ
ในช่วงที่ตลาด Crypto Currency เป็นช่วงขาลงแบบนี้การถือ Stable Coin ก็เป็นทางเลือกนึงของนักลงทุนที่จะพักการเทรดไว้รอตลาดขาขึ้นรอบต่อไป ถ้าหากในระหว่างนี้เราต้องการนำ Stable Coin เราไปลงทุนเพื่อให้ได้ผลตอบแทนบ้างบน Binance มีให้เรานำไปทำอะไรได้บ้างมาดูกันครับ  1. Flexible Savings ให้ APR 10% สำหรับยอดฝากที่ไม่เกิน $2,000 โดยมีให้เลือกทั้ง BUSD และ USDT ซึ่งถ้าเพื่อนๆ มี Stable Coin $4,000 สามารถแบ่งเป็นสองก้อนแล้ว Staking ใน Flexible Savings ของ BUSD และ USDT อย่างละ $2,000 ได้ โดยข้อดีของ Flexible Savings นั้นคือไม่มี Period ในการ Lock ทำให้เราสามารถถอนเมื่อไรก็ได้  2. ถ้าเพื่อนๆ Stable Coin เกิน $4,000 ควรเอาไปฝากที่ใหนดี ถ้าเกินจากนี้เพื่อนๆ ลองศึกษา Binance Dual Investment ดูนะครับ เราสามารถเอา Stable Coin ไปตั้งซื้อ เหรียญต่างๆ ได้ โดยที่ระหว่างรอเข้า Order เราจะได้เป็นดอกเบี้ยกลับมา ลองดูข้อมูลเพิ่มเติมได้ที่นี่เลยครับ Binance Dual Investment คืออะไร น่าลงทุนหรือไม่   สุดท้าายนี้ขอบอกว่าการลงทุนใน Crypto Currency ถือว่ามีความเสี่ยงมากๆ เนื้อหานี้ไม่ใช่การแนะนำการลงทุนนะครับเพ

Farm Stable Coin ที่ใหนดีในยุคที่ Stable Coin อาจไม่ Stable อีกต่อไป

รูปภาพ
 ก่อนหน้านั้นเวลาเพื่อนๆ ถามว่าอยากมาทำ Farm Defi เริ่มต้อนยังไงดี ผมมักจะแนะนำเสมอว่าให้เลือก Farm Stable Coin เพราะความเสี่ยงต่ำ และต้องยอมรับว่าหนึ่งในนั้นคือ Anchor บนเชน Terra ที่ให้ผลตอบแทนสูงเกือบๆ 20 %  แต่จากเหตุการณ์ล่มสลายของ UST และ Luna เราคงต้องคิดกันใหม่ ผมต้องขอแสดงความเสียใจกับเพื่อนๆ ที่ได้รับผลกระทบในเหตุการณ์นี้ด้วยครับ ผมเองก็โดนไปไม่ใช่น้อยเหมือนกัน เพราะ Stable coin หลักๆ ผมก็เป็น UST และ Farm ไว้ใน Anchor ครับ ยังไงก็ขอเป็นกำลังใจให้เพื่อนๆ ก้าวข้ามและเริ่มต้นใหม่ได้อีกครั้งครับ             คำถามต่อมาคือแล้วเรายังเชื่อมั่นที่จะถือ Stable Coin ต่อไปได้อีกหรือไม่ ? .... สำหรับผมแล้ว Stable Coin ยังไงก็ถือเป็น Cryptocurrency ที่เสี่ยงน้อยสุด แต่วิธีการลงทุนของผมคงจะไม่เหมือนเดิมอีกต่อไปครับ จากบทเรียนนี้ ผมได้แยก Stable Coin ที่ลงทุนออกเป็นสัดส่วนตามความเสี่ยงที่เรารับได้ สำหรับผมแบ่งไว้ตามนี้ครับ 1. Stable Coin ที่มีสินทรัพย์ค้ำประกัน ได้แก่  USDT, BUSD ,USDC ส่วนตัว ผมถือ USDT และ BUSD และทำการฝาก Savings ทั้ง Flexible  และ Locked ไว้ที่ Binance ผล

วิธีสร้าง Personal access tokens เพื่อใช้ login Git Bash เชื่อมต่อกับ github

รูปภาพ
  วิธีสร้าง Personal access tokens เพื่อใช้ login Git Bash เชื่อมต่อกับ github   ปัจจุบัน Git tools มีให้เลือกใช้หลายตัว แต่ผมก็ยังเป็นคนนึงที่ใช้งาน Git Bash อยู่อาจจะเป็นเพราะต้องการแค่พื้นที่เก็บ source code เพื่อใช้ s hare code กรณีเปลี่ยนเครื่อง dev เท่านั้้นไม่ได้ใช้อะไรมาก   ที่ผ่านมาการใช้งาน Git Bash สามารถ login ด้วย User , Password เดียวกันกับที่เราใช้ login เข้า github แต่ตอนนี้ไม่สามารถใช้ได้แล้วหรืออาจเป็นเพราะผมไม่รู้วิธีก็ได้นะ แต่ไม่เป็นไรเพราะตอนนี้เราเปลี่ยนมาใช้ Personal access token แทนละ วิธีการสร้าง ตามรูปนี้เลยครับ หลังจากสร้างเสร็จเราสามารถเอา token ไปใส่แทน password ได้เลยนะ ตอนที่เรา สั่ง pull หรือ push code ผ่าน Git Bash ถ้ายังไม่ได้ authen เค้าจะเด้ง popup ให้เราใส่ user , password อันนี้ user ก็ใส่ปรกติ ส่วน password ใส่  Personal access token ลงไปได้เลย  ตอนที่ผมทำมันจะเด้งสองรอบนะ รอบแรกไม่ผ่าน งงๆ อยู่เหมือนกัน ยังไง เพื่อนๆ ลองดูนะครับ