lnwza007's avatar
lnwza007
lnwza007@rushmi0.win
npub1ujev...e8ry
Nostr Relay: https://github.com/rushmi0/Fenrir-s แดดกรุงเทพที่ร้อนจ้า ยังแพ้ตัวข้าที่ร้อน sat ♡ ∩_∩ („• ֊ •„)♡ ┏━∪∪━━━━┓ ♡ เสรีภาพ ₿ ♡♤ ┗━━━━━━━┛
lnwza007's avatar
lnwza007 1 year ago
จากการลองทำ Nostr Relay หลายวันที่ผ่านมาได้ สนุกมากเลยครับ ได้ลองทำอะไรใหม่ๆ อาทิตย์หน้าก็จะเปิดเทอมแล้ว คาดว่าเวลาว่างจะน้อยลงมากๆ ผมเลยรีบอยากจะปล่อย Relay ออกมาโดยเร็ว ... แต่ยังคงความสามารถพื้นฐาน ส่วนพวก nip อื่นๆ ที่น่าสนใจไว้ว่างๆ ค่อยมาทำต่อ เอาล่ะ คันปากอยากจะเกาเหลาสักหน่อย เรื่องทำ Relay นี่ล่ะ นอกจากทอดสอบว่าผมทำตาม เอกสาร nip ได้แล้ว ผมยังทำสองใช้ Technology ที่น่าสนใจหลายๆ อย่างเลย ไม่กี่วันก่อนผมติดปัญหากับ Kotlin Coroutines ซึ่งผมนำมาใช้กับงานที่ข้องแวะกับ ฐานข้อมูล (อ่าน, เขียน, ลบ) ปัญหาที่เจอยังไม่สามารถหาคำอธิบายได้ว่ามันเกิดอะไรขึ้นกันแน่ สิ่งที่เจอคือ Null pointer exception แล้วชี้ไปที่ ผมนำ Coroutines มาใช้กับฐานข้อมูล จนผมหมดหวังแล้วที่จะใช้มัน ยอมเสียประสิทธิภาพไปก่อนไว้อนาคตมาหาทางแก้ แต่แล้วผมก็นึกได้ว่า มันมี tech ที่มาใหม่ใช้แทนกันได้อยู่นะ นั้นคือ Virtual Threads ด้วยความสามารถของ Kotlin ทำงานร่วมกับ Java ได้ 100% ผมจึงนำมาใช้งานทันที ผลคือใช้งานได้แล้วไม่เจอปัญหาอะไรมากวนแล้ว แต่ที่น่าตกใจสุดๆเลย มันทำงานประมวลผมได้โคตรเร็ว!!!! ใช้เวลาเฉลี่ย 0 ms มากสุดก็ 4 ms เร็วมากๆ เร็วกว่า Coroutines อีกครับ แต่แลกกับใช้หน่วยความจำที่มากขึ้นกว่า Coroutines ใช้งาน และมันยังเป็น tech ใหม่ที่ยังไม่เสถียร เมื่อเทียบกับ Coroutines ที่มันเสถียรแล้ว ผมก็รับได้ Virtual Threads มันเป็น tech ทางฝั่ง Java ที่ปล่อยออกมาใหม่ ประมาณ 4-5เดือน แล้วล่ะ ได้มาลองใช้ดูแล้ว รู้สึกดี ผลการทดสอบ Virtual Threads vs Coroutines Virtual Threads image Coroutines image
lnwza007's avatar
lnwza007 1 year ago
แรกๆ ยิ่มละ จะไปทำส่วนต่อไป แต่เช็คให้แน่ใจแสดงผลใน log.... เห้ยยยยยยยยยยย ทำไมฟังก์ชั่น inspectValue มันทำงานซ้ำ 2รอบ image
lnwza007's avatar
lnwza007 1 year ago
ช่วงนี้เริ่มมาทำความรู้จัก nostr แบบจริงจังมาสักระยะเป้าหมายในการทำ nostr relay ช่วงนี้ยังอยู่ในขั้นตอนเรียนรู้โปรโตคอล, วรยุทธ และเทคโนโลยีที่จะนำมาใช้ ถ้ารู้ครบองค์ประกอบเหล่านี้ถึงจะเริ่ม ออกแบบระบบ ได้ครับ.... ปัญหาหลักๆ คือตัวเอกสาร NIP ที่เอาแน่เอานอนไม่ได้และตัวอย่างเองที่กำกวม ต้องไปงมโค้ด relay ของคนอื่นๆ เอาเอง ดูจากหลายๆ project เพื่อหาคำตอบที่สงสัย โค้ดคนอื่นนี้อ่านยากจริง แถมไม่ค่อยเขียนอธิบายด้วยนะ เหมือนพวกขับรถแล้วไม่ชอบเปิดไฟเลี้ยวอ่ะ กว่าจะได้คำตอบที่สงสัยจากเอกสาร กว่าจะทำความเข้าใจโครงสร้าง relay และ library, framework ของคนอื่นที่ใช้อีก และเริ่มไล่ debug ก็กินเวลานานเอาเรื่อง ข้อดีมันก็มีนะคือบางที่จะได้ "วรยุทธ" ที่น่าสนใจมาจากเข้าด้วย เช่น reactive programming โดยรวมแล้วโคตรมัน มีอะไรให้ทำยาวๆ ว้าวววซ่า 55+
lnwza007's avatar
lnwza007 1 year ago
ใครยังไม่นอน
lnwza007's avatar
lnwza007 1 year ago
สวัสดีครับชาวโลก
lnwza007's avatar
lnwza007 1 year ago
ดวงอาทิตย์ใกล้จะขึ้นแล้วววว
lnwza007's avatar
lnwza007 1 year ago
เด็กน้อยยังไม่ยอมตื่น image
lnwza007's avatar
lnwza007 1 year ago
ก็ว่าทำไมบัญชี GitHub ตัวเองหายไป!! เหงื่อตกเลยทีนี้ image
lnwza007's avatar
lnwza007 1 year ago
ตำนาน มึงกล้าเยี่ยวใส่รถเสธเลยหรอ
lnwza007's avatar
lnwza007 1 year ago
7โมงแล้ว ยังนอนไม่หลับเลย
lnwza007's avatar
lnwza007 1 year ago
ผมมีแผนว่าจะทำเครื่องมือสำหรับเขียนสัญญา bitcoin โดยไม่ต้องเขียนโค้ดระดับต่ำ (OP_CODE) เพื่อที่จะให้คนทั่วไปเข้าถึงได้ง่าย ผมเคยทำมาก่อนหน้านี้แล้ว เจอปัญหาเรื่องมาตรฐานในการพัฒนา ด้วยความด้อยประสบการณ์ และองค์ความรู้เฉพาะหลายๆ ด้านเลยล่ะ การจัดเตรียมสร้างเครื่องมือให้พร้อมใช้ เช่นพวก OP_CODE, Cryptography และอื่น... นี้ผมกำลังสร้าง framework ขึ้นมาเลยไม่ใช่เหรอ!! กว่าจะได้ออกแบบ ลงมือทำจริงๆ ก็อีกนานโข ปัญหาใหญ่เลยด้านเวลา ผมไม่ได้มีมากขนาดนั้น และอีกทั้งยังอยากทำ nostr relay ที่มีประสิทธิภาพสูงอีก งานอดิเรกผมนี้ชักเยอะและใหญ่เสียจริง 55555 แล้วผมก็ไปเจอ Kotlin library ตัวนึงในโค้ด ของแอพ Amethyst (nostr client) ที่เขาใช้สร้างลายเซ็น ผมยังไม่ได้เอะใจกับชื่อมันว่าสร้างโดยใคร เพราะมันเป็นตัวพิมพ์ใหญ่หมด .. เลยไม่ได้อ่านชื่อ lib นั้น.. มันน่าสนใจมากๆ ซึ่งเขาทำเกี่ยวกับ bitcoin และ LN ในครั้งแรกที่เข้าไปอ่านโค้ดเขา คือเขียนออกมาดีมากๆ ถึงไม่มีเอกสารการใช้งาน ก็ยังเข้าใจวิธีการใช้ แต่ถึงบอกงั้น ต้องมีองค์ความรู้มาก่อนด้วยนะถึงจะเข้าใจ เช่นเรื่องการสร้าง UTxO และ OP_CODE คนที่ไม่มีองความรู้เรื่องเหล่านี้มาก่อน ไปมาอ่านก็ไม่รู้เรื่องอยู่ดีล่ะ... สำหรับผมมันทั้งว้าวสุดเจ๋ง และตอกย้ำผมด้วยว่า ผมนี้ด้อยความสามารถจริงๆ นอกจากเรียนรู้การใช้งาน lib แล้วยังได้เรียนรู้การเขียนโค้ดจากเขาอีก และเจ้า lib นี้สร้างโดย เอซิ้ง ครับ โอ้วววว เจ้านี้ชื่อเสียงดี และโค้ดก็ดีอีก
lnwza007's avatar
lnwza007 2 years ago
นึกแล้วมึงต้องอ่าน