Repurchase Agreement (REPO)

เนื่องจากช่วงนี้ผมได้มา Modernize ตัว Legacy Code ของธุรกรรม Repurchase Agreement หรือ REPO เลยคิดว่ามาบันทึกไว้ใน Blog สักหน่อยครับ Repurchase Agreement (REPO) คือ อะไร REPO คือ ธุรกรรมซื้อคืน หรือการประกอบธุรกิจซื้อหรือขายคืนหลักทรัพย์ โดยมีหลักทรัพย์ที่มูลค่าไม่เปลี่ยนแปลงรุนแรง ส่วนใหญ่ใช้ ตราสารหนี้ทั้งภาครัฐ (Government Bond) หรือ เอกชน (Corporate Bond) หรือ ตั๋วสัญญาใช้เงิน(PN) เป็นหลักทรัพย์ค้ำประกัน (Collateral) และมีสัญญาซื้อหรือขายคืนครับ โดยที่ เมื่อถือวันซื้อคืน ทางผู้ขายจะเอาเงินมาไถ่ถอน + ดอกเบี้ย ถ้ามองแบบบ้านๆ มัน คือ โมเดลโรงรับจำนำแหละครับ ตัวอย่างของ REPO ในวันที่ 23 เมษายน 2563 บริษัท A ตกลงให้บริษัท B กู้เงิน จำนวน 12,000,000 บาท โดยที่บริษัท B นำพันธบัตรรัฐบาลมาเป็นหลักประกัน และสัญญาจะคืนเงินจำนวนนี้พร้อมกับดอกเบี้ยอีก 5 % ในอีก 60 วันข้างหน้า ดังนั้น บริษัท A จะต้องคืนเงินให้กับบริษัท B ในวันที่ 22 มิถุนายน 2563 โดยมีการกำหนดอัตราดอกเบี้ย (Repo Rate) ดังนี้ (เงินต้น × อัตราดอกเบี้ย Repo × จำนวนวันของ Repo)/365 = ดอกเบี้ย เมื่อถืง 22 มิถุนายน 2563 มาซื้อคืน ต้องจ่ายเงินเป็นจำนวนเงิน 12,986,301.369 บาท (ดอกเบี้ย = 986,301.369…

How to Redo Text on notepad 

I am typing some text in notepad after I undo them, I want to redo its back, but Notepad don’t have a “Redo” option on the “Edit” menu. Many Applications such as Microsoft Word or Visual Studio has a “Redo” option on the “Edit” menu / Ribbon. By the way, Many Windows programs actually do have a “Redo” shortcut Ctrl+Y. Wow Its Work!! Action Shortcut Undo Ctrl+Z Redo Ctrl+Y

สร้าง K8S Cluster ด้วย Proxmox+Talos

What is Talos Linux ? ภาพรวมของ Infra ชุดนี้ Create VM – Download VM – Create VM Control Pane – Create VM Worker Install talos cli Setup K8S Cluster 1. Generate Machine Config 2. Create Control Pane 3. Create Worker Node 4. Config Cluster Command อื่นๆ Retrieve the kubeconfig Testing – kubectl – Sample Image Reference What is Talos Linux ? จริงๆมันมีตัวที่ทำให้ใช้งานขึ้น A Better Way to Run Kubernetes – Sidero Labs ภาพรวมของ Infra ชุดนี้ สำหรับ Blog นี้ ผมจะอิงตามคู่มือใน Proxmox | Talos Linux (จริงมีลงใน Stack อื่นๆด้วย) และมาเติมรายละเอียดเพิ่มเติมเข้าไปครับ ต่อไปเรามา Setup Cluster กัน โดยมี Base จาก Proxmox 8.1 (Blog Setup เขียนแยกอีกอัน 555 แปะ Step…

มาแปลง Console App ให้เป็น .NET Tools (NuGet)

.NET Tools คือ อะไร แปลง Console App ให้เป็น .NET Tools (NuGet) Prerequisite: CS Project ต้องเป็นรูปแบบใหม่ที่มากับ .NET Standard ครับ ถ้า .NET Framework แบบเดิมๆ ทางที่ดีแนะนำให้ขยับเป็น .NET LTS ครับ โดยผมใช้ Project ที่ทำมานานหลายปีแล้ว pingkunga/MergeDOTNETTestReport มาเป็นตัวอย่างที่ลองแปลง Console App ให้เป็น .NET Tools ขั้นตอนการแปลง Console App ให้เป็น .NET Tools เริ่มจากใน Visual Studio คลิกขวาที่ Project เลือก Properties เข้ามาในส่วน Package ครับ นำ .NET Tools ที่ได้ไปติดตั้ง กรณีที่ Publish ขึ้น nuget.org หรือ local repository อย่างตัว nexus เป็นต้น แล้วคร้บ กรณีที่เอา NuGet Tools ไปติดตั้งเอง ให้เอา Package ไปที่ Path ของเครื่องที่ต้องการติดตั้ง เช่น เอาไปไว้ใน “D:\06Utility\nupkgForBuild” เป็นต้น สำหรับการใช้งานเหมือนเดิมครับ เรียกชื่อ Package ตรงๆ เหมือน exe ได้เลย ไม่ต้องมากังวลว่าต้องกำหนด Path ผิดด้วย ลง Tools แบบ –global เรียกได้ทุกจุดครับ ^__^ Reference

2023 การเปลี่ยนแปลง

สำหรับปีนี้แบบว่ามีหลายเรื่องเปลี่ยนแปลงเยอะมาก หัวข้อหลักน่าตามนี้ โลกขยับเคลื่อนด้วยการบ่นลง Social อย่างปีก่อน ผมจะบ่นเรื่อง Merge เป็นพิเศษ เพราะไม่มีใครอยาก Merge กัน ใช้ Git กันมา 3 ปี ++ และ ประชุมหลายรอบ หาคนไม่ได้สุดท้ายต้องจิ้มคนมาจัดการ แต่ไม่วาย มาตรฐานของเราไม่เท่ากัน กว่าจะทำให้ได้มาตรฐานเดียวกัน บ่นลง Social แหละ จะได้คุยกันใน บ ได้ ตอนอยู่ไม่ทำกัน เรื่องของเรื่องมีน้องในทีมออก เมื่อก่อนสิ่งที่ทำกัน ตอนน้องเค้าอยู่พยายามจะให้น้องเค้าเป็นสารานุกรมเคลื่อนที่ แทนที่จะจดว่าปัญหาแก้ยังไง ถามซ้ำไปแหละ จนได้ Blog KM มันควรสร้างตอนที่ยังอยู่ ไม่ใช่มาสร้างตอนที่จะลาออกไป (Blog นี้น่าจะตรง Inner ของหลายๆคน ปกติ Facebook ผมจะร้าง แต่ทว่าอันนี้ Like เยอะ ไม่มีแชร์ 555 น่าจะเยอะสุดในปี 2023 เลย 555) มันดูแปลกเหมือนกันนะ คุย / ตามกันมาหลายปีไม่ได้ แต่การขยับโดยใช้ Social มันดันเร็วขึ้น เหตุผล เพราะกลัวลูกค้าเห็น ยอมรับมันไม่ดีกับตัวเราด้วย แต่เราโอเคจริงๆเหรอที่อยู่กันแบบนี้ งาน ส่วนตัวคิดว่า NET8 อาจจะไม่มาทำ/เก็บกวาด เรื่อง dotnet โดนด่ามาตั้งแต่ปี 2015-2016 น่าจะเริ่มโดนช่วงนี้แหละ และ ทำแล้วพังบ้างอะไรบ้าง แต่มันไม่ใช้เราทำทุกเคสโว้ย อันนี้ Key เลย เหมือนเอาเป็นตัวแทนด่าเฉยๆมากกว่า แล้วมันแรงขึ้นทุกรอบด้วย งานช่าง หลังจากช่วยเก็บงานตัวเอง งานด่วนที่ไม่ได้เกิดจากตัวเองเกือบ 95% ++ มาหลายปี พอปีนี้โวยวาย 555 ได้เวลาคิดมาเลยกลับมาทำงานช่างเล็กๆน้อย เช่น อุด โป๊ว ทาสีนิดหน่อยครับ ก็มีจด Blog ไว้ด้วย…

รีวิว The Cloud Camp รุ่นที่ 1 ของ JumpBox

Blog นี้มา Review และ Recap The Cloud Camp รุ่นที่ 1 ครับ รูปแบบการเรียน 14 Week / 14 หัวข้อ โดยจะแบ่งเป็น คหสต ผมชอบ Model การเรียนแบบนี้ มันไม่อัดจนเกินไป มีเวลาย่อย และทำความเข้าใจในแต่ละเรื่อง มีเวลาให้เอ๊ะๆ ลองทำ ลองติด ลองมั่วก่อนเฉลย 5555 //เคยเจอแบบที่เร็วกว่านี้ แล้วธาตุไฟเข้า แตกไปตามๆกัน หัวข้อที่เรียน เริ่มตั้งแต่ Intro Cloud Native > Agile > Container > Docker Family > K8S > CI/CD > Observability และเชิญคนนอกมาลองเล่าประสบการณ์ ผมมีลองจดเล็กๆน้อยๆ ครบบ้าง ขาดบ้าง มาครับ เผื่อเอาไปประกอบการตัดสินใจ เออทำไม 14 Week เขียน Blog ได้ 15 อัน 555 คหสต มาลองเรียน จุดเด่นการสอนของค่ายนี้ ทำให้เห็นภาพว่า แต่ละ Action มันเกิดอะไรบ้าง และ ลองทำ ลองงงๆกับมันสักพัก Session Onsite สำคัญจริงๆ เหมือนกันเวลามาลองแบบมีคนช่วย Guide ถ้าไม่ได้ มีต่อให้ถามใน Discord นะ และ Discuss กันในนั้นแหละ ปิดท้ายมีลองทำ Project เล็กๆ อยากลอง Stack อะไรก็ได้เลย แล้วแต่ความอยาก ติดอะไรลองถามทีมงาน JumpBox ได้ และตอนท้ายเราได้เห็น Architecture…

[NET6] Error System.NotSupportedException: No data is available for encoding 874 …

.NET Core

หลังจากทดสอบ E2E Test เจอว่า Service ที่ Export Text File จะพบ Error เต็มๆว่า System.NotSupportedException: No data is available for encoding 874. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method. สาเหตุ NET6 (Encoding Windows-874) Reference

The Cloud Camp Week#15 (NET Aspire / How to Build OBS / Project Pitch)

สัปดาห์นี้ทาง Jumpbox มีเชิญ Speaker เข้ามาเล่า+แบ่งปันประสบการณ์ให้คนที่เรียน Cloud Camp รอบนี้ โดยมีหัวข้อ ดังนี้ Introduction to NET Aspire – Old-Way – New-Way – ปรับยังไง Coupling & Cohesion สามารถดูได้จาก Blog ผมครับ Cohesion VS Coupling | naiwaen@DebuggingSoft ใช้ได้ตั้งแต่ Class > Microservice เลย – dotnet aspire ความเห็นส่วนตัว ข้อดี มันมีของให้พร้อม UI / Backend / Resiliency + Observability เลย อยากได้ Stack ไหนเขียน Code เอา เช่น อยากได้ RabbitMQ ก็ Add มาเดียวตอนรันมันไปทำ Infra ให้ – คำถาม ปิดท้ายและ เรามีการออกแบบวิธีเทคนิคเพื่อมาแก้ไขปัญหา แต่การแก้ไขปัญหานั้น ก็จะมีปัญหาใหม่ตามมาเช่นกัน ดังนั้นให้เราเลือก สิ่งที่เหมาะสมให้กับ architecture ของเรา Resource: T-T-Software-Solution/dotnetaspire (github.com) / Slide / .NET Aspire overview How to Build an Observability System for Microservice – ตอน Design App สิ่งที่ต้องทำ – observability stack Key -…

How to get output from dotnet test

.NET Core

dotnet test command, it runs by default in quiet mode (–verbosity quiet) To get some output from the adapter, run it in normal mode, by setting the verbose option to normal / detail In verbosity normal / detailed will show pass test and execution time for each test. Reference