บทความ

เทคนิคการล่า Airdrop จากโครงการ blockchain cryptocurrency Defi รวมถึง chain layer 2 ต่างๆ

รูปภาพ
 ในช่วงที่ผ่านมาเพื่อนคงเคยได้ยินการแจก Airdrop หลัก หมื่น หลัก แสน ยัน หลักล้าน กันมาแล้วนะครับ  ถ้าย้อนไปช่วง Bull Run คราวก่อนที่เป็นข่าวโด่งดังก็คือ Uniswap ที่แจกเหรียญ UNI ให้กับคนที่เคยใช้งาน Platform ช่วงก่อนที่จะออกเหรียญ และล่าสุดนี้ก็คงไม่พ้นเหรียญ ARB จาก Arbritrum ที่แจกกันหลักแสน      เงื่อนไขการแจก Airdrop ตัวที่ปังๆ มักจะไม่มีข้อกำหนด และไม่มีการบอกเงื่อนไขล่วงหน้า เรียกได้ว่าเราต้องคาดเดาเอาเองครับว่าจะมีอะไรบ้าง  ผมขอสรุปแนวทางไว้คร่าวๆ ตามนี้เลยนะครับ 1. เข้าไปใช้ Platform ของเค้าครับอันนี้แน่นอน คือการเข้าไปลองใช้งาน เข้าไปสร้าง Transaction บนนั้น 2. เน้นประมาณ ยิ่งใช้เยอะยิ่งได้เยอะ ในมุมนี้บางทีเค้าจะนำจำนวน Transaction ที่เราทำครับโดยที่ไม่ได้สนใจ Value ว่ามากหรือน้อย 3. ใช้ก่อนได้เยอะกว่า ประมาณว่าคนที่เข้าไปใช้งานช่วงแรกๆ บางทีก็จะมีเงื่อนไขที่ได้รับ Airdrop มากกว่าคนที่เข้ามาใช้ทีหลังครับ 4. Value เยอะได้เยอะ บาง Platform ก็จะมีเงื่อนไข แบบว่าเอื้อให้ วาฬครับคือใส่เงินเข้าไปเยอะก็ได้เยอะ ARB รอบล่าสุดนี้ก็มีเงื่อนไขนี้เหมือนกัน ...

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 TYP...

วิธี 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 เลยครับ