[C#] รวมลิงค์ E-BOOK ที่แจกจากเว็บ c-sharpcorner.com

ช่วงปีใหม่ ผมได้ไปเจอลิงค์ที่เว็บ c-sharpcorner.com มีการแจก E-Book ดีๆหลายเล่มครับ ผมจึงนำแบ่งปันเพื่อนทุกคนครับ  ตามลิงค์ ดังนี้ เลย (ต้องสมัครสมาชิกก่อน และ Load ได้วันละเล่มครับ) โดย E-Book ที่ผมสนใจมี ดังนี้ Learning WCF: Practical Implementation Essential WCF Practical Implementation Introduction to Mongo DB Programming Errors & Solutions Guide to Microsoft Enterprise Library LINQ Quick Reference with C# Basic SQL Queries Exploring Design Pattern for Dummies Object Oriented Programming Using C# Programming List with C# Building Cloud Apps with Windows Azure Getting Started with ASP.NET 4.5 Web Forms and Visual Studio 2013 Programming ASP.NET MVC 5 Hands on ASP.NET GridView

เมื่อฉันลืมฝากเงินไป 1 เดือน

การออมเป็นสิ่งสำคัญ โดยในช่วงตอนเทอมสุดท้ายของปี 4 ผมได้ไปเปิดบัญชีฝากประจำ เพื่อนำเงินที่เหลือจากการรับ Job เพื่อหาค่าเทอมไปฝากเก็บไว้ที่ธนาคารออมสิน โดยใช้โปรมนุษย์เงินเดือน ฝากประจำเดือนละเท่าๆกันเป็นจำนวน 24 เดือน (ดอกเบี้ยไม่ถูกหักภาษี 15% สำหรับบัญชีเงินฝากแรก) ออมเดือนละ 2,000 บาท แล้วปีใหม่ที่ผ่านมา ผมลืมไปฝากเงิน เพราะเข้าใจว่าวันที่ 31 ธันวาคม 2557 ธนาคารในห้างน่าจะไม่หยุดกัน ปรากฏว่าเหลือเพียง 2 แบงค์ที่เปิด ได้แก่ ธนาคารกรุงไทย กับ ธนาคารทิสโก้ ตอนแรกผมตกใจและว่าดอกเบี้ย 3.3% ที่สะสมมาจะละลายหลายไปในพริบตา วันนี้หลังจากตรวจสอบข้อมูลจากเว็บธนาคารออมสินแล้ว พอเลิกงานปุบ เลยรีบบึ่งไปฝากเงินทันทีครับ และได้สอบถามพนักงาน ว่าถ้าขาดฝากไป 1 เดือนจะมีผมอะไรไหม ทางพี่พนักงานตอบกลับมาว่า ก็ต้องฝากทบไปอีกเดือนนึง แต่อย่าขาดฝากติดกัน 2 เดือน รวมระยะเวลาฝากทั้งหมด 26 เดือนครับ หากใครสนใจสามารถดูรายละเอียดได้ที่นี่ครับ    

[SQL] Multiplication Aggregate (คูณ Column เดียวกัน)

หลายคนอาจจะสงสัยว่า SQL มันก็นำมาคูณได้อยู่แล้วนี่ เอา Column A x Column B ก็จบ แต่ถ้าผมเปลี่ยนโจทย์หละลองทำการคูณในเหมือน Function SUM ใน SQL นะครับ ทวนความรู้กันก่อน Function SUM ของ SQL คือ การหาผลรวมของข้อมูลใน Column เดียวกัน ถ้าเราทำ Function MUL หรือ MULTIPLY ใน SQL คือ การหาผลคูณของข้อมูลใน Column เดียวกัน เมื่อเข้าใจ Concept แล้วไปลองทำ ผมค้นพบความโหดร้าย เพราะ ใน DBMS ไม่มี Function MUL สำหรับการคูณ  (แทบทุกตัวนะ ผมไม่แน่ใจในส่วนของ Database ของ Big Data ว่าสามารถทำได้ หรือไม่ครับ) กลับมาถึงพื้นฐานของคณิตศาสตร์ เราจะพบว่า MULTIPLY = EXP ของผลรวมของค่า LOG ในแต่ละ Field ใน Column นั้นๆนั่นเองครับ มองง่ายเลย MULTIPLY(คอลัมน์ที่ต้องการ) = EXP(SUM(LOG(คอลัมน์ที่ต้องการ))) หรือใช้งาน POWER แทน EXP ก็ได้ครับ ลองมาใช้งานจริงบ้าง ก่อนอื่น ผมได้เสกข้อมูลออกมา ดังนี้ CREATE TABLE TESTMUTIPLICATIONAGGREGATE ( ID INT IDENTITY PRIMARY KEY, SECURITY_ID INT, VALUE INT ); INSERT INTO TESTMUTIPLICATIONAGGREGATE(SECURITY_ID, VALUE) VALUES (1,…

[VMWARE] “Not Enough Physical Memory” for a 2 GB Virtual Machine ?

หลังจากไม่ได้ใช้ VM มานานมาก วันนี้ผมได้สร้าง VM เพื่อใช้เป็น DB2 Database Server ในการทำงานครับ หลังจากลงเสร็จปุบ ตอนแรก run ขึ้นมาระบบแจ้ง Message ดังรูป ผมจึงลอง Reboot เครื่องอีกครั้งปรากฏว่ายังเป็นเหมือนเดิมครับ ทีนี่ผมคิดว่ามันไม่ปกติแน่ๆ จึงถามอากู่ดูได้ข้อสรุป ดังนี้ สาเหตุ เกิดจาก Patch ของ Windows8.1 KB2995388 ทำให้การจัดการ Memory ของ VMWARE Workstation 10 ผิดพลาด การแก้ไข วิธีแรก: เอา Patch KB2995388 ออก วิธีสอง: แก้ Config ของตัว VMWARE ตามวิธีการ ดังนี้

2014 ผ่านไป Blog นี้มีอะไรบ้างนะ

วันนี้ไดีเขียน Blog นี้สองรอบ เพราะเผลอไปลบ Database ออกไปจาก Host (ดีที่ทางทีมงานได้กู้ข้อมูลให้ ขอบคุณทางทีม THZHost มากๆครับ ไม่งั้นผมต้องมานั่งไล่เขียนใหม่ 5 ตอน) สำหรับ DebuggingSoft ตอนแรกที่ผมสมัคร Domain นี้ เพื่อทำ Software House เล็กๆ ทำตามเทรน Startup แต่เนื่องจากเพือนร่วมอุดมการณ์หลายคนได้ออกไป เพราะ อาจจะมีทางเลือกที่สบายกว่า อย่างไปเป็น Fulltime Trader หรือ เปลี่ยนสายงานไปเลย เพราะไม่ชอบงานด้าน Developer มันจึงเป็ฯสายเหตุให้เว็บนี้มีแต่ Blog ยังไม่มีหน้าเว็บหลัก แต่ผมยังรับ Job อยู่นะ เท่าที่ตัวเองทำไว รอสร้าง Software Product ได้สักตัวก่อน เดี๋ยวผมจะมาทำหน้าเว็บอีกที จากย่อหน้าที่แล้วหลายคนอาจจะสงสัยว่าทำไมผมจึงเลือกเขียน Blog คือ ผมเริ่มจดบันทึกความรู้ เทคนิคต่างๆในแต่ละวิชาลง Blog ตั้งแต่ปี 1 ลงที่เว็บ Blogspot และ เว็บบอร์ด comswu.com นะครับ พอเรียนจบมาผมเริ่มที่จะมีแนวคิดในการทำเว็บ Blog ส่วนตัว โดยเริ่มทยอยเขียนมาเรื่อยๆตั้งแต่ปี 2012 ประปรายมาเรื่อยๆจนมาเขียนจิงจังตอนปี 2014 ครับ ซึ่งเป็ฯปีที่ผมเริ่มทำงานในฐานนะ Application Developer มา โดยในปีนี้ผมได้เขียน Blog ทั้งหมด 89 เรื่อง เฉลี่ย 4 วันต่อ 1 Blog โดยมีความถี่ในการเขียน ดังนี้ (เห็นว่าช่วงเดือนกรกฏาคม ผมเขียน Blog เยอะหน่อยครับ เพราะเป็นช่วงเปลี่ยนถ่าย Project พอดี) โดยในปีนี้มี Blog ยอดนิยมที่มีผู้ชมทั้งหมด 5 เรื่อง ดังนี้ เวลาพัฒนาระบบ บางครั้งทำไมเราถึงต้องกำหนดให้…

ปีใหม่ สอง ห้า ห้า แปด ให้รางวัลกับตัวเองบ้าง

แปบๆ ก็ผ่านไปอีกปีแล้ว ชีวิตการทำงานเป็นมนุษย์เงินเดือนผมก้ผ่านมาทั้งหมด 1 ปี 4 เดือน และก็มีการรับงานนอกมาบ้าง เพื่อพัฒนาทักษะ หลังจากเหนื่อยมาทั้งปีและ ผมขอให้รางวัลกับตัวเองบ้างนะครับ โดยมี เสื้อผ้า กับการเกงขาสั้น หลังจากงกไม่ซื้อเพิ่มมานานและ หนังสือ “ออกแบบ และพัฒนาโปรแกรมฐานข้อมูลด้วยเทคโนโลยี .NET”เพื่อเพิ่มความรู้ในงานที่ทำอยู่ครับ หนังสือ “พูดไม่กีคำ ทำเงินล้าน” เพื่อพัฒนาจุดด้วยของผมเลย คือ ความลังเล กลัวที่จะพูด หรือคุยกับคนอื่น (ลึกๆผมชอบคิดว่าตัวเองด้อยกว่า เพราะถูกส่งไปในโรงเรียนที่มแต่การอวดร่ำอวดรวยกัน ผมเลยเลิกที่จะเงียบดีกว่า) และเล่มทุกท้ายและ หนังสือ “คุ้ยแค้ แกะหุ้น เด้ง” เอาไว้่ เพื่อความรู้ด้านการลงทุน เพราะ การลงทุนมีความเสี่ยง ผมจึงเลือกลงในความรู้ครับ จริงๆอยากได้พวก Notebook กับกล้อง DSLR นะ แต่รอถึงโอกาสที่จำเปนจริงๆดีกว่า เพราะลองอย่างนี้มันใช้เงินทุนสุดครับ และก่อนจากไป สุขสันต์วันปีใหม่ปี สอง ห้า ห้า แปด ครับ 

[DB2] BEGIN VS BEGIN ATOMIC

ตอนแรกก็ไม่ได้เอ๊ะในอะไร คิดว่าเป็นเพียงแค่ชื่อ ธรรมดา แต่พอแก้ชื่อ Error เลย ผมเลยลองหาข้อแต่ต่างของ BEGIN ATOMIC ว่าต่างกับเจ้า BEGIN ธรรมดาอย่างไร โดยคำสั่ง BEGIN ATOMIC มีการจัดการ Transaction เ้สริมเข้ามา ถ้าคำสั่งภายใต้ BEGIN ATOMIC … END นั้นเกิดปัญหาขึ้น DBMS จะ ROLLBACK ข้อมูลกลับทั้งหมดครับ ตัวอย่างการใช้งาน เช่น [sql] –Insert System User BEGIN ATOMIC DECLARE CREATETIME TIMESTAMP; SET CREATETIME = CURRENT TIMESTAMP; –INSERT System User (Username: DS_System, Password: DS_System) INSERT INTO USERINVEST(USERID,USERNAME, FIRSTNAMEENG, LASTNAMEENG,FULLNAME, USERPOSITION, PASSWORD, PWDLASTCHANGE, ACTIVEFLAG,ACTIONFLAG,CREATEBY,CREATETIME) VALUES (-1, ‘DS_System’, ‘DEBUGGINGSOFT’, ‘SYSTEM’, ‘DEBUGGINGSOFT SYSTEM’, ‘SYSTEM USER’, ‘DDD60BB3F7E8AF7FBB071E5A79F8694DAE068A568F79AEDE5E09FBCB40D32378’, CREATETIME, ‘A’,’N’,-1,CREATETIME); –INSERT Group INSERT INTO GROUPINVEST(GROUPID, GROUPNAME, ACTIVEFLAG, ACTIONFLAG, CREATEBY, CREATETIME) VALUES(-1,’DS_System’, ‘A’,’N’, -1, CREATETIME); –Assign user to group INSERT INTO GROUPUSER(GROUPID, GROUPCREATETIME, USERID, USERCREATETIME) VALUES(-1,CREATETIME,-1,CREATETIME); END [/sql]

Security Audit และ Hardening คือ อะไร

จริงๆผมก็ไม่ได้จบสาย Network นะ แต่บริษัทญาติที่ได้ไปช่วยดูแล และทำ App ใช้งานในองค์กรมาตั้งแต่ปี2 เกิดอยากจะทดสอบระบบขึ้นมา ว่ามีความปลอดภัยมากแค่ไหน ผมเลยลองหาข้อมูลเพิ่มเติม และถามผู้รู้ดูครับ ได้พบกับ keyword 2 คำว่า ได้แก่ Hardening  และ Security Audit ซึ่งแค่ละคำมีความหมาย ดังนี้ครับ  

[Crystal Report] Formula ต่อ String

งานช่วงนี้ของผมมีแก้ Report บ้าง โดยใน Report อันนี้เป็นการบอกสถานะของ User ว่าต้องมี Message แจ้งเตือนอะไรบ้าง ได้แก่ จากข้อมูลคร่าวๆนี้ หลายๆคนตอนออกแบบ Layout อาจจะแยก 3 Message ออกเป็น 3 formula ซึ่งมาถึงตรงนี้ อาจจะพบว่าปัญหาว่า User บางคน มีแต่ 2 Message ทำให้การแสดงผลมันดูแหว่งๆ และไม่สวยงามครับ (ตัวอย่างในรูปพบว่าพื้นที่สีเหลืองที่ hilight คือ พื้นที่ที่แหว่งไป ถ้าไม่มีคำว่า “- User must change password at next login.” แสดงผลอีกมันคงดูแปลกๆนะครับ)ทางแก้ของผม คือ เวลาสร้าง Formula ก็ให้เก็บ Message แต่ละอันไว้ในตัวแปรก่อน แล้วค่อยนำมาแสดงผลทีเดียวครับ ดังนี้ ผลลัพธ์ที่ได้ครับ ไม่มีบรรทัดว่างแล้วครับ หมายเหตุ: