Category dotnet

[C#] ถ้า GroupBy โดยใช้หลาย Property แล้วห้ามใช้ตัวแปรชนิด var หละ

C# Logo

จาก Blog ตอนก่อนหน้า [C#] ถ้า GroupBy แล้วห้ามใช้ตัวแปรชนิด var มารับหละ ? ตัวอย่างที่ผมได้ยกไปเป็นการ Group By โดยใช้เพียง 1 Property เท่านั้นครับ แต่ใช้ชีวิตจริง มีการใช้งานมากกว่า 1 Property ครับ ยกตัวอย่าง เช่น ก่อนปรับ : มีการใช้งาน 2 Property ครับ ได้แก่ ValueDate และ CashSecurityGroupCode ซึ่งมีชนิดข้อมูลเป็น DateTime และ String ตามลำดับครับ ถ้าเราจะเล่นมุกเดิมใน…

[C#] ถ้า GroupBy แล้วห้ามใช้ตัวแปรชนิด var มารับหละ ?

หลายองค์กรมีตัว Coding Standard เพื่อเป็นแนวทางในการเขียน Code ให้มีระเบียบ ไปในทีศทางเดียวกันครับ ใครๆก็สามารถมาอ่าน Code นั้นได้ครับ แล้วที่นี้ ถ้ามีการประกาศว่า ถ้ามี List<Object> แล้ว GroupBy ห้ามใช้ตัวแปรขนิด var มารับ จะทำอย่างไรหละ ? อ้าว Copy Pattern จาก Stack Overflow มา ทำอย่างไรดี !!! ทุกปัญหามีทางแก้ไขได้ครับ จากโจทย์ ถ้ามี List<Object> แล้ว GroupBy ห้ามใช้ตัวแปรขนิด var มารับ ลองมาดูตัวอย่าง…

[.NET] มา Debug ตัว NuGet Package กันครับ

C# Logo

หลังจากบทความก่อนหน้าที่ได้สอนว่าทำอย่างไรถึงได้ NuGet Package มาใช้งานกันเอง หรือ ใช้ภายในองค์กรแล้วครับ คราวนี้ผมมาสอนว่าถ้ามันเกิดปัญหาจริงๆ แล้วเราจะต้องเข้ามา Debug ตัว NuGet Package ที่ใช้ต้องทำอย่างไรบ้างครับ ทำไมต้อง Debug ตัว NuGet Package มารู้จักกันก่อนว่า NuGet Package แบบไหนถึงจะ Debug ได้ ถ้าเป็น Open Source บ้างเจ้าเค้าจะทำ Symbol ไว้ให้ รายละเอียดขึ้นกับแต่ละ Repo เลยครับ ถ้าไม่มีต้องมา Build และเพิ่ม Symbol สำหรับ Debug ทำให้…

[.NET] กำหนดให้ Visual Studio รู้จักกับ Custom NuGet Server/Repository ครับ

nuget

จากบทความก่อนหน้าตอนนี้ทุกท่านน่าจะรู้รายละเอียด และวิธีการนำ Library ของมาทำเป็น NuGet Package แล้วครับ คราวนี้มาทำให้ Visual Studio รู้จักกับ NuGet Server ที่เพิ่มมาครับ อาจจะเป็นตัว Nexus / NuGet Server โดยมีขั้นตอน ดังนี้ เมื่อกำหนดค่าเสร็จ ที่นี้เราลองมาดูว่าสามารถค้นหา NuGet Package จาก NuGet Server ที่เพิ่งเพิ่มไปตามขั้นตอน ดังรูปเลยครับ

[.NET] ทำ NuGet ใช้เองภายในองค์กร

nuget

หลายคนอาจจะสงสัยในเมื่อ Source Code เป็นของเราเองทำไมต้องทำเป็น Nuget Package ด้วยหละ มันมีเหตุผลของมัน ดังนี้ครับ ถ้าจะทำ NuGet ใช้ในองค์กรเอง อันนี้เตรียมพร้อมอย่างไรบ้าง หมายเหตุ สำหรับ NuGet.Server และ Nexus Repository Server ถ้าว่างเดี๋ยวผมเขียน Blog แยกครับผม เตรียม Publish Code เข้า NuGet Server ครับ มาลอง Publish Code Reference

[PowerShell] มาทำ Line Notify แจ้งข้อมูลคุณภาพของ Code กันดีกว่าครับ

powershell

จริงๆต้องบอกว่าทุกปัญหามันเริ่มต้นจากความขี้เกียจแหละครับ และช่วงหลังๆสำหรับหน่วยงานต่างๆ การตรวจสอบคุณภาพของ Source Code ตอนนี้มันถูกจัดไปเป็นเงื่อนไขหนึ่งใน TOR แล้วครับ มันเลยเป็นที่มาของ Blog นี้ครับ หลังจากที่ผมได้ตั้ง SonarQube เพื่อมาตรวจสอบคุณภาพ Code กันแล้ว ปัญหาที่พบ 📌ไอ้ที่มันแหกกฏไปต้องทำอย่างไร ? 📌แล้วของใหม่ที่กำลังเพิ่มขึ้นเรื่อยจะคุมอย่างไร ทำไมต้องมี Line Notify ในเรื่องของ Code Quality หละ มาเข้ากันที่ Technical ดีกว่าครับ 📌 สิ่งที่ต้องมี ลงมือทำ SonarQube Server – อันนี้ไม่ขออธิบายนะครับ น่าจะมีหลาย Blog เขียนไว้แล้ว…

[PowerShell] Convert Hyper-V .VHD เป็น .VHDX และ Optimize ขนาดของ Disk

สำหรับการแปลง VHD ไปเป็น VHDX และทำการลดขนาดของ Disk (Shink เป็นไปได้แนะนำให้ทำใน Mode Offine ครับ) โดยใน ฺBlog นี้สอนแบบ Offline ด้วยโดยมีขั้นตอน ดังนี้ จัดการไฟล์ VM ของ VHD เดิมให้เรียยร้อยก่อน อาทิ เช่น ลบไฟล์ที่ไม่จำเป็น ทำการ Disk Clear พื้นที่ Disk CD เข้าไป Path ที่มีไฟล์ vhd แปลงไฟล์ VHD ไปเป็น VHDX ด้วยคำสั่ง…

[PowerShell] แก้ไขไฟล์ App.config ใน Jenkins Pipeline

powershell

หลังจากทำมี Tools ที่ กำหนดค่าที่เดียว แต่สามารถใช้งานไปได้ทุก Application แล้ว (Universal Configuration) แต่ทำไมคนอื่นถึงไม่ค่อยใช้งานกัน เราก็ถึงบ้างอ้อทันที อ๋อขี้เกียจไปแก้ app.config หรือ web.config นั้นเอง ด้วยความที่ระบบมันมี Base 3 สำหรับลูกค้า 3 กลุ่ม แต่ใช้ Code ชุดเดียวกันนะครับ มันจึงต้องมีการเตรียมค่าตั้งต้นกันก่อนนั้นเองครับ อาทิ เช่น Base AMC / INS ตัว Application อ่านค่าจาก HKEY_LOCALMACHINE Base TSY ตัว Application…

[VS] Uninstall Visual Studio 2017

อยากลง Visual Studio 2019 แต่ติดว่าเครื่องเก่ามีเวอรชัน 2017 อยู่ อยากจะล้างให้สะอาดสามารถทำตามขั้นตอนได้ ดังนี้ครับ เปิด Command Line แบบ Administrator cd เข้าไปที่ Path “C:\Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\layout\” run installcleanup.exe ผลที่ได้ โดยตัว Tools ของ MS จะช่วย Delete ข้อมูลของ Visual Studio โดยมีรายละเอียดการลบ ดังนี้ C:\ProgramData\Microsoft\VisualStudio\15.0 C:\ProgramData\Microsoft\VisualStudio\Packages %appdata%\Microsoft\VisualStudio\15.0* %appdata%\Microsoft\VisualStudio\Packages…

[C#] DTO/Mapper Class Example

C# Logo

DTO คือ อะไร? DTO คือ Data Transfer Object พูดง่าย ๆ ก็คือเป็น object ที่ใช้ในการส่ง data กันในระบบครับ นอกจากนี้แล้ว การใช้ DTO ยังเป็นการ Limit ข้อมูล หรือมองว่าเป็นการกำหนด Pattern ให้กับ Request / Response กับระบบ และยังป้องกัน Over-posting Attack (คนร้ายเดา Field ได้ถูก แล้วลองส่ง Request เข้ามา) ถ้าไม่มี DTO ดักไว้…