[C#] Rijndael Cryptography Code

C# Code that convert RijndaelCrypto from VB6 Version by Phil Fresle Reference
C# Code that convert RijndaelCrypto from VB6 Version by Phil Fresle Reference
จริงไม่คิดว่าจะเจอร้านนี้ที่ตึกเสริมมิตรนะ พอดีไปทำธุระ แล้วไปกดเงินแล้วเจอร้านนี้ซ่อนอยู่ และพอเห็นป้ายโฆณานี้แหละ หิวเลยย จริงตอนแรกกะจะลองกินทั้ง 5 แบบนะ แต่พนักงานบอกว่าของหมด ก็เลยได้กินแต่ราเมงซุปโชยุแทน T.T (จริงๆน้องเค้างงด้วยว่าเราจู่ๆมากินที่ร้าน 5555 ปกติมีแค่คนสั่งกลับบ้าน) เมื่อสั่งมาแล้ว เรามาดูหน้าตากันนะครับ ออกมาตามรูปเลย มีไข่ต้ม 1 ฟอง หมูแบบฮาจิบัง 3 ชิ้น แล้วก็เส้นที่เหนียวนุ่มมมมม สุดท้าย ค่าเสียหายครับ 39 บาท อร่อยคุ้มเกินราคาคับ อิอิ เดวคราวหน้าตองหาไปกินรสที่เหลือต่อครับ
สมมติว่ามี Array 2 มิติ ซึ่งมีข้อมูล ดังนี้ จริงมัน ตัวคะแนนสอบเก็บแยกตาม Id / Score อย่างคนที่ 1 จะได้ 90 คะแนนเก่งจัง แล้วผมมีโจทย์ว่าจะหาคนที่คะแนนเกิน 85 เราเขียน Code ได้ดังนี้ หลักๆ จะเป็นการแปลง Multidimensional Array มาเป็น โครงสร้างในรูปแบบ (value, index) แล้วมา Grouping ดู Score ว่าต้องมากกว่า 85 ให้สร้าง object ใหม่ที่มี StudentID / Score ผลลัพธ์ Student ID: 1, Score: 90Student ID: 4, Score: 92Student ID: 5, Score: 88 เอาจริงๆ ทำ DTO แล้วเล่นกับข้อมูลง่ายกว่าเยอะครับ
อ่า Blog นี้ถูกเขียนมาตั้งแต่ปี 2014 ครับ วันนี้ได้เวลาดีมาเขียนให้จบซะที (ปล่อย Blog Public มาได้ 2 ปีและ) เพราะ ตัว App ที่เป็น Workshop ที่เตรียมไว้ ใช้งานกันแพร่หลายในที่ทำงานแล้วครับ ใช้มา ก็ 2 ปีกว่าและ มาเข้าเรื่องดีกว่า MVP ย่อมาจาก อะไร Most Valuable Player เป็น Boss ใน Game หรือป่าว ? – ไม่ใช่ครับ Minimum Viable Product สนใจ Feature ที่สำคัญ หรือ ป่าว ? – ไม่ใช่ครับ Model View Presenter – อันนี้ถูกแล้วครับ Model View Presenter คือ อะไร Pattern ที่ได้รับการต่อยอดมาจาก Model View Controller ครับ ตัวย่อหละ M – Model ใช้จัดการข้อมูล V – View การแสดงผล P – Presenter จัดการ State และพฤติกรรมของหน้าจอ เป้าหมาย เหมือนกัน ตัว MVC/MVP ครับ เป็นการจัดระเบียบ Code ให้อยู่กันได้อย่างหลวมๆ แต่วธีการที่่ทำนั้นแตกต่างกันครับ MVC vs MVP ต่างกันอย่างไร ? MVP Pattern Controller – สามารถจัดการได้หลาย View ถ้า…
หลายครั้งที่เราได้ Update Plugin / Theme หรือ Core ของ WordPress แล้วเกิดปัญหาเข้าเว็บไม่ได้ โดยมีข้อความ “Briefly unavailable for scheduled maintenance. Check back in a minute.” สาเหตุ เกิดจากการ Update ของตัว WordPress นั้นมีปัญหา อาจจะเกิดจากอินเตอร์เนต ที่ใช้ในการเชือมต่อช้า (ปกติ Host จะมีเนตขาออกไปต่างประเทศน้อยอยู่แล้วครับ) ทำให้เกิด timeout ขึ้น และตัว WordPress ยังไม่ได้ลบไฟล์ .maintance (ซึ่งในในโพลเดอร์ระดับ root ของ blog) ออกไปครับ บาง Host อาจจะมีการ Override เป็น Error อื่นครับ ต้องลองตรวจสอบเพิ่มครับ เช่น The website is undergoing scheduled maintenance. Sorry for the inconvenience. Come back a bit later, we will be ready soon! การแก้ไข ใช้โปรแกรม Ftp เข้าไปจัดการกับ File ใน Host ของเรา โดยลบไฟล์ .maintenance ออกไปครับ หรือจะใช้ File Manager ของ WebHost เข้าไปลบได้ครับ
What is a SET NOCOUNT ON In SQL Server, SET NOCOUNT ON can improve the performance of stored procedures and triggers (In some scenarios) ,In SQL Server SET NOCOUNT ON is used for From Microsoft DocumentationSET NOCOUNT ON prevents the sending of DONEINPROC messages to the client for each statement in a stored procedure. For stored procedures that contain several statements that don’t return much actual data, or for procedures that contain Transact-SQL loops, setting SET NOCOUNT to ON can provide a significant performance boost, because network traffic is greatly reduced. Benefits of Using SET NOCOUNT ON Example Usage SET NOCOUNT and @@ROWCOUNT function You can use the @@ROWCOUNT function to get the number of affected rows in SQL Server Reference
หลายคนที่เพิ่งเริ่มลงทุนในหุ้น อาจจะไปหาข้อมูลตามแหล่งต่างๆ เช่น ในกลุ่ม Facebook หรือ Pantip เป็นต้น พอเวลาหุ้นตก เรามักจะเห็นโพส หรือ Comment ว่าให้ทำ SAP แล้ว SAP คือ อะไร หละ SAP ในที่นี้ไม่ใช่ระบบ ERP ที่ใช้ภาษา ABAP นะครับ เราต้องมองในแง่ของการลงทุนครับ 555 โดย SAP หรือ Short Against Port เป็นเทคนิคที่ใช้กันในช่วงที่หุ้นนั้นๆเป็นแนวขาลง โดยขายหุ้นเดิมออกก่อน และไปรับซื้อคืนในช่วงที่ราคาที่ถูกกว่าครับ เพื่อให้ได้จำนวนหุ้นที่มากขึ้น ตัวอย่าง เช่น ตั้งต้นมีเงินอยู่ 70,000 บาท BUY หุ้น TTPGB ที่ ราคาหุ้นละ 70 บาท ได้จำนวนหุ้นทั้งหมด 1,000 หน่วย รวม 70,000 บาท ผ่านไปสักพักราคาของหุ้น TTPGB ตกลงเหลือ 69 บาท (แต่เราคิดว่ามันยังมีแนวโน้มที่ราคาจะลงต่อ) SELL หุ้น TTPGB ที่ราคาหุ้นละ 69 บาท จำนวน 1,000 หน่วย ได้เงินสดกลับมา 69,000 บาท ขาดทุน 1,000 บาท ผ่านไป 3 วัน ราคาหุ้น TTPGB ตกเหลือ 60 บาท เราตัดสินใจซื้อ เพราะมีแนวโน้มดีขึ้น BUY หุ้น TTPGB ที่ราคาหุ้นละ 60 บาท ได้จำนวนหุ้นทั้งหมด 1,150 หน่วย รวม 69,000 บาท จากตรงนี้สังเกตุได้ว่า เราสามารถซื้อหุ้นในราคาที่ถูกลง และจำนวนเพิ่มขึ้นด้วยครับ เมื่อเวลาผ่านไป 1…
วันนี้ผมได้ช่วยพี่ในทีมดู Report ทีมีปัญหาในการออกรายงาน เมื่อทดสอบการทำงานของโปรแกรมครับ โดยมี Message แจ้ง “This field name is not known” ดังรูป สาเหตุ เกิดจาก Field/Formular ใน Layout ของ Report ไม่สัมพันธ์กับ Field ใน Database ครับ วิธีการแก้ไข เปิด Report Designer เลือกเมนู Database >> Verify Database เพื่อตรวจสอบว่า Field หรือ Formular ทีใช้ใน Report สัมพันธ์กับใน Database หรือไม่
วันนี้ลองเล่นมือถืออยู่ดีๆ พบว่ามีน notification แจ้ง Update Rom จาก Android Jelly Bean เป็น Android KitKat(P780_ROW_S220_140722 ขนาด 722 MB) ผมเลยลองเป็นหน่วยกล้าตายเสี่ยงดูครับ 555 ได้ผมอย่างไร เดี่ยวลองมาดูกัน !!! ตอนนี้มี Update เป็น P780_ROW_S221_140729 แล้วจ้า(174 MB) ดังรูป !!! ตอนนี้ Update เป็น P780_ROW_S226_140919 แล้วครับ (743 MB) [อาจจะโหลดช้านิดนึง เพราะ ช่วงนี้สายเคเบิล AAG ขาดนะครับ] ดังรูป เตรียมตัวก่อน Update KitKat Backup ข้อมูลที่จำเป็นให้หมดทุกอย่างเลยครับ เพราะเนื้อจากการอัพรุ่นครั้งนี้เป็น major change จึงเป้นลง OS ใหม่เลย มากกว่าการ Upgrade ครับ เตรียมพื้นที่ใน SD Card ให้เหลือไว้เยอะๆ สัก 2 GB เพราะตัว ROM ใหม่ขนาดก็ปาไป 722 MB แล้วครับ และเราต้องเผื่อพื้นที่ให้มันแตกไฟล์ต่างๆชั่วคราวระหว่างลงด้วยครับ ตรวจสอบว่าระบบ Battery ควรมากกว่า 80% ระดับ ถ้าไม่ถึงควรชาร์จ ฺBattery ก่อนครับ Internet แรงๆ สำหรับโหลดตัว Update ครับ แนะนำว่าต่อ Wifi ดีกว่าครับ เวลาระบบ Checksum ข้อมูลไฟล์จะได้ไม่มีปัญหาครับ เริ่ม Update (กดตามรูปไปเลยก็ได้ครับ โดยจะมีอธบายเพิ่มนิดหน่อย เผื่อมี user มือใหม่มาอ่าน) เวอร์ชันของ Rom ก่อนที่ผมจะอัพครับ เป็น…
สัปดาห์ที่แล้วผมได้แก้ปัญหาของรายงานที่สร้างจากตัว Crystal Report ซึ่งมีปัญหาในการ Export รายงานออกมาเป็นไฟล์ Excel แล้วไฟล์ที่ Export ออกมามี Layout เละ ผิดจากที่ได้ออกแบบไว้ใน Crystal Report เยอะเลย user เอาข้อมูลไปใช้งานต่อได้ลำบาก โดยวันนี้ผมได้สรุป เทคนิคดีๆในการจัด Layout ของ Report เพื่อให้สามารถ Export ข้อมูลออกมาได้สวยงาม และสามารถนำข้อมูลไปใช้ต่อได้ง่ายครับ ตัวอย่าง ในรายงานมีเงื่อนไขในการแสดงข้อมูล 2 ฟิลด์ ได้แก่ Grade A และ Grade B โดยใช้กำไรเป็นเงื่อนไข ถ้ากำไรมากกว่า 60,000 ให้แสดงฟิลด์ Grade A ถ้าไม่ใช่แสดงฟิลด์ Grade B แทนจากเงื่อนไขนี้ เราจำเป็นต้องใช้ suppression formula ให้กับทั้ง 2 ฟิลด์ เมื่อ Export เป็น Excel ตัว Excel จะเข้าใจว่าเป็น 2 field และกินพื้นที่ 2 cell แทน วิธีนี้ เรามาสามารถแก้ปัญหาโดยแยก Section ในรายงานเพื่อแสดงรายละเอียด โดยส่วนแรกเป็นรายการที่ได้กำไรในระดับ Grade A และ อีก Section สำหรับ Grade B ตามลำดับ หากต้องการให้รายงานที่ Export มีเส้น และตาราง แนะนำให้ลองไปใช้การ set Border ของ Object ต่างๆใน Crystal Report แทน เช่น Text field หรือ Database field เป็นต้น…