21 August 2015

C# StringBuilder เหนือกว่าต่อ string ธรรมดา

    เวลาเขียนโปรแกรมแล้วมีการต่อ string หลายๆคนอาจจะคุ้นชินกับการเขียนแบบ text = text + newText หรือ text += newText ส่วนตัวผมจะเขียนแบบหลังซะส่วนใหญ่ แต่ถ้าเวลาที่เราต้องเจอเคสที่ต้องต่อ string จำนวนมากๆเข้า ก็จะเริ่มรู้สึกว่าโปรแกรมเราทำงานช้าลง แต่มันยังมีอีกวิธีที่บางคนอาจจะยังไม่ทราบหรือเคยเห็นแล้วแต่ก็ไม่ได้สนใจอะไร นั่นคือการใช้คลาส StringBuilder คราวนี้ผมจะลองเขียนเปรียบเทียบระหว่างการใช้คลาส StringBuilder กับการต่อ string ธรรมดาที่เราคุ้นชินโดยจะมีการจับเวลาของการทำงานในแต่ละแบบ ดัง code ตัวอย่างครับ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;

namespace ConsoleTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Stopwatch sw1 = new Stopwatch();
            sw1.Start();
            UseStringBuilderClass();
            sw1.Stop();
            Console.WriteLine("UseStringBuilderClass " + sw1.ElapsedMilliseconds + " ms.");

            Stopwatch sw2 = new Stopwatch();
            sw2.Start();
            NotUseStringBuilderClass();
            sw2.Stop();
            Console.WriteLine("NotUseStringBuilderClass " + sw2.ElapsedMilliseconds + " ms.");

            Console.ReadKey();
        }

        static void UseStringBuilderClass()
        {
            StringBuilder str = new StringBuilder();
            for (int i = 0; i < 100000; i++) str.Append(i);
        }

        static void NotUseStringBuilderClass()
        {
            string str = "";
            for (int i = 0; i < 100000; i++) str += i;
        }
    }
}

21 April 2015

ASP.NET MVC : ViewData VS ViewBag Vs TempData

   สวัสดีครับ บทความนี้ผมจะมาเขียนเกี่ยวกับการใช้ ViewData, ViewBag และ TempData ทั้งการใช้งานและข้อแตกต่างแบบคร่าวๆ

02 April 2015

ปรับขนาดไฟล์รูปภาพด้วย Image Processor ใน Photoshop

   สวัสดีครับ หลายๆท่านอาจจะเคยเจอปัญหาเหมือนผมเวลาที่เราต้องการเอาไฟล์รูปจำนวนหลายๆไฟล์ไปอัพโหลดขึ้นเฟสบุ๊ค แต่ไฟล์เจ้ากรรมดันใหญ่ซะเหมือนเกิน ไฟล์หนึ่ง 2-3 MB ถ้าอัพทีหลายๆสิบรูปนะรอตายเลย ยิ่งถ้าเน็ตช้าๆแบบผมนะยิ่งไม่ต้องพูดถึงเลย

04 December 2014

แสดง Column Properties สำหรับ Table Design ใน MSSQL Server

     สำหรับผู้ที่ใช้งาน Microsoft SQL Server มักจะคุ้นเคยกับ Table Design ซึ่งเมื่อเรา New Table... ขึ้นมาก็จะพบหน้า Design โดยทั่วไปจะแสดง Column Properties คือ Column Name, Data Type และ Allow Nulls ดังรูป
     หลายคนอาจจะสงสัยว่า เอ๊ะ! มันโชว์มากกว่าไอ้สามคอลัมน์นี้ได้มั้ย ผมเองก็พยายามหามาเป็นพักเหมือนกันแต่ก็ไม่ประสบผลสำเร็จ ฮ่าๆ สุดท้ายจบที่ Stackoverflow ก็เลยเอามาแบ่งปันกันครับ โดยผมจะโชว์คอลัมน์ Description เพิ่มขึ้นมา อ่อ! ลืมบอกไปผมใช้ SQL Server 2008 R2 สำหรับทดลองครั้งนี้นะครับ
เริ่มแรกเปิดหน้าต่าง Run ขึ้นมา (All Programs >> Accessories >> Run) จากนั้นพิมพ์ regedit แล้วคลิก OK

08 June 2014

SET & MAI แตกต่างที่เหมือนกัน ???

    หลายๆท่านที่คิดจะเริ่มลงทุนในหุ้นหรือกำลังเริ่มที่จะศึกษาเกี่ยวกับธุระกิจที่อยู่ในตลาดหลักทรัพย์ อาจจะสงสัยว่า SET กับ MAI มันคืออะไร? แล้วมันต่างกันอย่างไร?
    ความจริงแล้ว SET กับ MAI ก็คือตลาดหลักทรัพย์เหมือนกันนี่แหละครับ แต่ที่ต่างกันคือ SET(Stock Exchange of Thailand) เป็นตลาดหลักทรัพย์ที่ก่อตั้งขึ้นเป็นแห่งแรก ทำหน้าที่เป็นตลาดทุน เพื่อให้กิจการต่างๆ สามารถระดมเงินทุนเพิ่มเติมจากสาธารณะได้ และ MAI(Market for Alternative Investment) ก็คือตลาดหลักทรัพย์ที่ก่อตั้งเป็นแหล่งที่สอง ทำหน้าที่เหมือนกับแห่งแรก
    แต่ตลาดใหม่นี้ จะเน้นไปที่กิจการขนาดกลางและขนาดย่อม (เอสเอ็มอี - SME) และกิจการเกี่ยวกับนวัตกรรม โดยได้ผ่อนผันหลักเกณฑ์ต่างๆ ลง เช่น ทุนชำระแล้วขั้นต่ำของหลักทรัพย์ในตลาดหลัก คือ 200 ล้านบาท ในขณะที่ขั้นต่ำของตลาดใหม่ ลดลงเป็น 40 ล้านบาท เป็นต้น เพื่อเปิดโอกาสให้กิจการขนาดเล็ก ที่ไม่สามารถเข้าตลาดหลักทรัพย์แห่งประเทศไทยได้ ได้มีหนทางในการระดมทุน รวมทั้งสนับสนุนอุตสาหกรรมการร่วมลงทุน (venture capital) เพื่อเพิ่มจำนวนบริษัทจดทะเบียนในตลาดหลักทรัพย์

ที่มา : วิกิพีเดีย สารานุกรมเสรี