สรุปงาน Cloud Native Bangkok 2022

สรุปจากทางบ้าน ลองฟัง Live และจดๆดูนะครับ ^__^ Cloud Native 101 Convention#01 Coding – สร้าง Application ตาม Requirement Build and Run – แปลง Code เป็นตัวพร้อมติดตั้ง Executable File Go-live – ใช้งานจริง – ทำไมต้อง Cloud เพราะ มี load / request จาก user เข้ามามากขึ้น มันจะเกิด Red Zone ติดข้อจำกัดของ Resource CPU หรือ RAM เต็ม – แต่สิ่งที่ควรทำให้อยู่สถานะปกติ Green Zone (Available Resource) Traditional – Upgrade เครื่อง Server ให้ Spec สูงขึ้น แต่มันจะคุ้ม หรือป่าว ? Cloud – สามารถปรับได้เลย เพิ่ม Resource และ Scale ได้ Manual และ Auto – Cloud มาจากไหน ? มาจากแนวคิดของ Cloud Computing เน้นการประมวล และปรับมาใช้งานต่างๆ โดยสิ่งที่ต้องจัดการต้องตั้ง Cloud Key Management Database Storage – แยกออกจาก Database เราไม่ได้เก็บข้อมูล อาจจะวาง App หรืออะไร และตัว Cloud นอกจากการปรับ…

PowerShell Script for List File Version & Date Modified

powershell

Problem มีเคสที่ Site ลูกค้าครับ ตัว App Server ทำงานแปลกๆ เลยคิดว่าตอนลงตัวไฟล์ dll ของเวอร์ชันเก่า มีผสมกับเวอร์ช้นใหม่แน่ๆครับ Solution ลองเขียน Script Power Shell มา เพื่อให้ List ดูว่าตัวไฟล์นั้น มี Modified Date Product Version File Version Path และชื่อไฟล์ จากนั้นมาว่าทุกไฟล์ข้อมูลพวกนี้ตรงกันไหม NOTE พอลอง Search มาอ้าวเรามีเขียน Blog ที่คล้ายๆกันอยู่เหมือนกันนะ [Power Shell] Getting File Version Info Power Tips about Calculated Properties – PowerShell | Microsoft Docs Format-Table (Microsoft.PowerShell.Utility) – PowerShell | Microsoft Docs Reference How to retrieve specific file(s) information using Get-ChildItem in PowerShell? (tutorialspoint.com) Selecting Parts of Objects Select Object – PowerShell | Microsoft Docs pipeline – Is the following possible in PowerShell: “Select-Object <Property>.<SubProperty>”? – Stack Overflow PowerShell ExpandProperty vs Property…

[Crypto] Sync MetaMask ระหว่าง Mobile App กับ Tablet/PC/Laptop หรือกลับกันครับ

metamask

หลังจากเจอข่าว Exchange หลายเจ้ามีปัญหาไปล่าสุดในไทยเอง มีตัว Zipmex ครับ เพื่อความปลอดภัยเรามีย้ายออกจาก Exchange มาเก็บที่ wallet อื่นๆ อย่างเช่น MetaMask แทนครับ แล้วทีนี่ เราอาจจะสร้าง Wallet จากมือถือ แต่เวลาทำงานอะไรมันใช้ Laptop สะดวกกว่า มันเลยเป็นที่มาของ Blog นี้ครับ สิ่งที่ต้องเตรียม Secret Recovery Phrase(Seed Phase) ที่ตัว MetaMask ให้จดลงกระดาษไว้ครับ ตั้งแต่ติดตั้งครั้งแรก อุปกรณ์ที่ลง MetaMask ในที่นี้ต้นทางของผมจะเป็น Tablet และปลายทางจะเป็น Laptop ครับ โดยถ้ามี Secret Recovery Phrase ให้ข้ามขั้นตอนไป Import Wallet ที่ Laptop ได้เลยครับ ถ้าไม่มี Secret Recovery Phrase มาแอบส่องกันครับ เปิด MetaMask App ขึ้นมา และไปที่เมนู Setting ไปที่ Security & Privacy  และเลือก “Reveal Secret Recovery Phrase”. ใส่ password ของ MetaMask wallet’s (Step นี้ตัว MetaMask จะไม่ให้ Capture Screen แล้วครับ) ตัว App จะแสดง Secret Recovery Phrase ขึ้นมาครับ จดเก็บไว้นะครับ Import Wallet ที่ Laptop ที่ตัว Web Browser ในที่นี้ ผมใช้ Brave…

สรุปงาน Bkk.js#16 The Bangkok tech week

Note: Session สุดท้ายแนะนำว่าเข้าไปดูใน Live ดีกว่านะ – Flutter on the Web in 2022  By Kajornsak Peerapathananont Flutter เป็น Framework ที่ช่วยพัฒนา App โดยเริ่มจาก Mobile (Android / IoS) > Web > Desktop ตามลำดับ และได้ทุก Platform How it work from web Flutter พัฒนาโดยใช้ภาษา Dart ที่มาจาก Google เสนอ เมื่อทำเสร็จจะได้ App บนเว็บ แต่ถ้าลอง F12 (Debug) เวอร์ชั่นแรกตัว Dart มันจะแปลง Generate Dom ผ่าน Dart.js ถ้าเป็นพวกปุ่มๆ จะทำเป็น Canvas แทน เบื่องหลังไม่ได้แปลงภาษา (Transpire) นะ มันมี Tech ซ้อนอยู่ WebGL – render Canvas PWA Manifest Service Worker Houdini – Testing แต่เวลาผ่านไปมี Render Engine มาเป็น Canvas Kit ที่จะช่วยให้ Code ดู Clear มากขึ้น แต่มันจะใช้ Performance มากขึ้นด้วยเหมือนกัน และตัว Bundle ที่มาด้วยจะเพิ่มมากขึ้น (ผมนึึกถึงภาพของ NodeJS พาอะไรก็ไม่รู้มาด้วย บวมด้วย) แต่เราไม่จำเป็นต้องมาเลือก Render…

สรุปงาน Microsoft TechFest 2022 x บางกอกวิทยา

ตอนแรกว่าจะไป แต่ไอแคกๆ ตลอดเลย ขออยู่เป็นผู้ชมผ่าน MS Team ดีกว่าครับ หัวข้อที่จดๆมามี ดังนี้ ช่วงเช้า Theme Power Platform ช่วงบ่าย Theme Azure ปล พวก Command ถ้ามีอาจจะไม่ถูกนะลอง Cross Check อีกทีด้วย 5555 สำหรับงานวันนี้ Introducing Power Platform จริงๆแล้ว Microsoft 365 มี Power Platform ให้ใช้นะ แบบมี Limit ให้ลองก่อน ถ้ามั่นใจซื้อ License เพิ่ม Power Platform Family Power Automate – Workflow ทำงานอัตโนมัติ ตัวอย่างเด่นๆ Flow Approve ทั้งหลาย โดยรองรับหมด ไม่ใช่เฉพาะ App ของ MS มีทั้งส่วน Clod Flow / Desktop Flow Power Apps – สร้าง App แบบ Low Code / No Code เน้นงานภายในองค์กร Power Virtual Agents – Chat Bot ตอนนี้รองรับภาษาไทยแล้วนะ เชื่อมกับ Facebook ได้ Power BI – ทำ Data Analytic + Visualization มีจุดเด่นต่างกับพวก Excel / Power Point ไม่ต้องลง…

[C#] แก้ปัญหา Could not load file or assembly ‘System.ComponentModel.Annotations, Version=X.Y.0.0

C# Logo

ลองทำ Automate Test แล้วเอา json มา mock ข้อมูล พอ execute จริง Error ครับ ตรวจสอบ และแก้ไข – ตรวจสอบว่า Code Reference DLL เวอรชันเดียวกัน หรือ ไม่ ตรวจสอบว่า Solution และ Library ต่างๆที่ Reference มาใช้ System.ComponentModel.Annotations ส่วนตัวเคยเจอว่า Project Library ใช้ 5.0.0 และปรากฏว่า Main Project มา Reference 4.5.0 ตอนใช้จริงมันฟ้องหา 5.0.0 การแก้ไข ปรับ Reference ให้เท่ากัน – app.config / web.config มี Lock Version DLL ตรวจสอบว่ามีการ Lock Version ของ Dependency ไหม แบบนี้ การแก้ไข ถ้าไม่จำเป็นต้อง Lock ให้ลบออกไปครับ – ลองแก้แล้วไม่ได้จริงๆ แก้ไขไฟล์ .csproj เพิ่ม 2 บรรทัดนี้ลงไปครับ

[LINE] Clear Line desktop cache

จาก Blog ก่อนที่บ่นๆวิธี แก้ปัญหา Line PC ค้าง / ช้า หรือ เปิดรูปที่ส่งมาช้ามาก ซึ่งมันเกิดจาก Line มันเก็บ Cache เยอะแยะเลย แต่วิธีก่อนมี Side-Effect พอสมควรครับ สำหรับ Blog จะมาแก้เรื่องพื้นที่ Disk ที่มันกินไปเยอะ + ล้าง Cache โดยใช้ Tool ที่ Line Desktop มันให้มาครับ ก่อนอื่นมาดูพื้นที่ที่ Line มันกินไปก่อนครับ ในส่วนของ Cache จะใช้ไป 6.1 GB เลยครับ ขั้นตอนการ Clear Line desktop cache ที่ App Line Desktop คลิกที่ ปุ่ม .. จากนั้นเลือก Setting จากนั้นมาในส่วนของ Chat > มาที่ Session Deleted Data ตรง Cache Data ให้มาในส่วน Your cached data will be deleted. Photo, videos. voice messages, or file won’t be deleted.จากนั้นกดปุ่ม Delete เลยครับ หลังจากที่ Clear Cache ของ Line Desktop ไปแล้ว เรามาดูพื้นที่ที่เหลืออยู่กันครับ เหลือ 2.5 GB จากเดิม 6.1 GB Clear Cache…

[Linux] tar.gz vs tar.bz2

Mechanical screw press used with Berthelot-Mahler Bomb Calorimeter (instrument component; calorimeter; press - mechanical)

หลายคนอาจจะสงสัยปกติผลลัพธ์ที่ได้จากคำสั่ง tar ถ้าที่เรียนๆมา หรือรุ่นพี่สอนกันในที่ทำงานจะเป็นคำสั่ง โดยจะเป็นผลลัพธ์เป็น tar.gz <file>.tar.gz vs <file>.tar.bz2 มันต่างกันอย่างไร ? มันต่างกันที่ Algorithm ในการบีบอัดไฟล์ โดยที่ tar ทำหน้าที่หุ้มให้เป็น 1 ชิ้น กรณี .tar.gz จะใช้ Algorithm gzip มาช่วยในการบีบอัด กรณี .tar.bz2 จะใช้ Algorithm bzip2 มาช่วยในการบีบอัดครับ แล้ว gzip กับ bzip2 อันไหนดีกว่ากันหละ มาลองดูตามรูปกันเลยครับ ไฟล์ที่ผมลอง Compress DB Backup ประมาณ 18 GB ครับ จากที่ผมทดสอบพบว่า Size: bzip2 ได้ไฟล์ขนาดเล็กกว่า gzip Time: bzip2 ใช้เวลาในการประมวลผลมากกว่า gzip ถ้าอยากลองใช้ ตอนบีบอัดให้เปลี่ยนจากคำสั่ง มาใช้คำสั่ง ถ้าใช้ <file>.tar.bz2 ฝั่ง Windows จะเอาไปใช้งานได้ไหม ? ใช้งานได้ครับ ตัว 7Zip รองรับหมด แต่ต้องแตก 2 รอบ เหมือนไฟล์ tar.gz ครับ Reference [AIX] บีบข้อมูลด้วยคำสั่ง TAR | naiwaen@DebuggingSoft bzip2 – Wikipedia

Hello World Electron.NET

ช่วงนี้มี Plan ที่จะย้าย Utility App ที่ใช้มานาน 9 ปี .NET Framework 4.x (Desktop App) มาเป็นเทคโนโลยีอื่นๆ ผมเลยมอง Electron.NET กับ .NET MAUI ไว้ครับ สำหรับ Blog ตอนนี้มาลอง Electron.NET กันก่อนครับ Electron.NET Electron เป็น Framework ที่ใช้พัฒนา Desktop App โดยใช้ JavaScript อย่างตัว Visual Studio Code ก็เป็น Tool ที่พัฒนามาจาก Electron นะ Electron.NET เป็น Wrapper เอา ASP.NET Core (Razor Pages, MVC) มาแปลงเป็น Electron App อีกที เตรียมตัว Electronize .NET Core 3.1 เป็นต้นไป ของผมมี .NET6 อยู่แล้ว เอา .NET 6 เลยและกัน Visual Studio Code – ลง Extension C# for Visual Studio Code (powered by OmniSharp) Node JS Install ElectronNET.CLI ด้วยคำสั่ง ตรวจสอบก่อน ตรวจสอบว่า ElectronNET.CLI พร้อมยังด้วยคำสั่ง อย่างของผม ตัวระบบแจ้งมาดังนี้ครับ Create Hello World Project สร้าง ASP.NET…