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;
}
}
}
Showing posts with label โปรแกรม. Show all posts
Showing posts with label โปรแกรม. Show all posts
21 August 2015
C# StringBuilder เหนือกว่าต่อ string ธรรมดา
เวลาเขียนโปรแกรมแล้วมีการต่อ string หลายๆคนอาจจะคุ้นชินกับการเขียนแบบ text = text + newText หรือ text += newText ส่วนตัวผมจะเขียนแบบหลังซะส่วนใหญ่ แต่ถ้าเวลาที่เราต้องเจอเคสที่ต้องต่อ string จำนวนมากๆเข้า ก็จะเริ่มรู้สึกว่าโปรแกรมเราทำงานช้าลง แต่มันยังมีอีกวิธีที่บางคนอาจจะยังไม่ทราบหรือเคยเห็นแล้วแต่ก็ไม่ได้สนใจอะไร นั่นคือการใช้คลาส StringBuilder คราวนี้ผมจะลองเขียนเปรียบเทียบระหว่างการใช้คลาส StringBuilder กับการต่อ string ธรรมดาที่เราคุ้นชินโดยจะมีการจับเวลาของการทำงานในแต่ละแบบ ดัง code ตัวอย่างครับ
ป้ายกำกับ:
c#
,
Programming
,
เคล็ดลับ
,
โปรแกรม
02 April 2015
ปรับขนาดไฟล์รูปภาพด้วย Image Processor ใน Photoshop
สวัสดีครับ หลายๆท่านอาจจะเคยเจอปัญหาเหมือนผมเวลาที่เราต้องการเอาไฟล์รูปจำนวนหลายๆไฟล์ไปอัพโหลดขึ้นเฟสบุ๊ค แต่ไฟล์เจ้ากรรมดันใหญ่ซะเหมือนเกิน ไฟล์หนึ่ง 2-3 MB ถ้าอัพทีหลายๆสิบรูปนะรอตายเลย ยิ่งถ้าเน็ตช้าๆแบบผมนะยิ่งไม่ต้องพูดถึงเลย
18 March 2014
วิธีเช็คเวอร์ชัน .NET Compact Framework ใน Windows CE
กลางเดือนมีนาอากาศในกรุงเทพช่างร้อนระอุ แอดมินเดินไปกินข้าวเที่ยงแต่ละทีตัวแทบไหม้ เมษานี่คงไม่ต้องพูดถึงหรอกมั้ง แอดมิดหล่ะอยากหนีร้อนไปขั้วโลกเหนือเสียจริง ฮ่าๆ
อ่ะ ! ไร้สาระมามากพอและ เห็นแอดมินหายไปนานนี่ไม่ใช่โดนม็อบกวาดไปแล้วนะครับ พอดีช่วงที่ผ่านมาส่งแอพให้ Tester โดนตีกลับมา Error บาน แก้งานตาเหลือก สอนให้รู้ว่าโลกนี้มีอะไรให้เราเรียนรู้อีกเยอะ ตอนนี้ก็กำลังลองเล่น Windows CE คาดว่าจะถูกมอบหมายให้ Develop ในไม่ช้านี้ บทความนี้จะมาแบบง่ายๆ นิ่มๆ ก็คือการตรวจสอบเวอร์ชันของ .NET Compact Framework ที่อยู่บน Windows CE เพราะในการจะพัฒนาแอพบนระบบปฏิบัติการนี้จำเป็นต้องคำนึงถึงเป็นอย่างมาก
อ่ะ ! ไร้สาระมามากพอและ เห็นแอดมินหายไปนานนี่ไม่ใช่โดนม็อบกวาดไปแล้วนะครับ พอดีช่วงที่ผ่านมาส่งแอพให้ Tester โดนตีกลับมา Error บาน แก้งานตาเหลือก สอนให้รู้ว่าโลกนี้มีอะไรให้เราเรียนรู้อีกเยอะ ตอนนี้ก็กำลังลองเล่น Windows CE คาดว่าจะถูกมอบหมายให้ Develop ในไม่ช้านี้ บทความนี้จะมาแบบง่ายๆ นิ่มๆ ก็คือการตรวจสอบเวอร์ชันของ .NET Compact Framework ที่อยู่บน Windows CE เพราะในการจะพัฒนาแอพบนระบบปฏิบัติการนี้จำเป็นต้องคำนึงถึงเป็นอย่างมาก
ป้ายกำกับ:
Windows CE
,
เคล็ดลับ
,
โปรแกรม
15 November 2013
ล้างข้อมูลใน Textbox ด้วย jQuery
สวัสดีจร้าาาาา วันศุกร์สักทีนะเจ้าพวกมนุษย์เงินเดือนทั้งหลาย หลังจากที่ลุยงานกันมาทั้งสัปดาห์จะว่าเหนื่อยก็เหนื่อย จะว่าสบายก็สบาย ฮ่าๆ สรุปไงว่ะเนี่ย อ่ะๆ เอาเป็นว่าบทความนี้มาลองเล่น jQuery กันดีกว่า
โจทย์ของเราคือทำฟอร์มล็อกอินโดยที่เราจะบอกกับผู้ใช้งานว่ากล่องใหนสำหรับกรอก Username กล่องไหนสำหรับ Password โดยที่ไม่ต้องใช้แท็กตัวอักษรสำหรับบอกให้ User รู้ สรุปง่ายๆก็คือบอกมันใน textbox นั่นแหละครับ แต่เพื่อให้ล้ำขึ้นมาหน่อยเวลา User บังเกิดเกล้าคลิกแล้วจะให้มันล้าง Textbox ด้วย ตามโค๊ดตัวอย่างนี้เลยครับ
ขั้นแรกอย่าลืมเพิ่มโค๊ดสำหรับเรียกใช้ jQuery นะครับ
<head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> </script> </head>
ป้ายกำกับ:
jQuery
,
Programming
,
เคล็ดลับ
,
โปรแกรม
08 November 2013
ตัวอย่างการใช้งาน Triggers บน SQL Server
มาตามสัญญาาาาาาาาา บทความที่แล้วผมก็ได้พูดถึง Triggers ไปแล้วนะครับว่ามันคืออะไร แนวคิดเป็นยังไง แต่มาบทความนี้เราจะมาลองใช้งาน Triggers กัน ผมจะทดลองเขียนบน SQL Server ซื่งจะให้ภาษา T/SQL เช่นเดียวกับ Stored Procedures ถ้าพร้อมแล้ว เปิด SQL Server Management ขึ้นมาเลยครับ
ขั้นตอนแรก ผมจะสร้างเทเบิลมาก่อน 2 เทเบิล โดย Table_A คือตัวที่จะทำการเขียน Triggers ฝังไว้ ส่วน Table_B คือเทเบิลผลลัพธ์ โดยภายในจะมีฟิลด์สองฟิลด์เหมือนกันทั้งสองเทเบิลคือ id Type:int (auto run indentity) และ txt Type:nvarchar(50) แต่ความจริงแล้วการทำ Triggers ไม่ได้จำกัดนะครับว่าเทเบิลจะต้องเหมือนกัน
ขั้นตอนแรก ผมจะสร้างเทเบิลมาก่อน 2 เทเบิล โดย Table_A คือตัวที่จะทำการเขียน Triggers ฝังไว้ ส่วน Table_B คือเทเบิลผลลัพธ์ โดยภายในจะมีฟิลด์สองฟิลด์เหมือนกันทั้งสองเทเบิลคือ id Type:int (auto run indentity) และ txt Type:nvarchar(50) แต่ความจริงแล้วการทำ Triggers ไม่ได้จำกัดนะครับว่าเทเบิลจะต้องเหมือนกัน
*** หมายเหตุ *** Type ของฟิลด์ txt เป็น nvarchar(50) ไม่ใช่ text ตามรูปนะครับ
ป้ายกำกับ:
Database
,
Programming
,
SQL Server
,
โปรแกรม
14 October 2013
Python (ตอน 8) : เขียนไพทอนให้ง่ายขึ้นด้วย PyDev
[ย้ายบทความจาก Gushared.com]
กลับมาแล้วผมกลับมาแล้วคร๊าบบบ กลับมาครั้งนี้ผมจะมาแนะนำ IDE ของไพทอนเพื่อให้การเขียนโปรแกรมของท่านผู้อ่านง่ายและสะดวกสบายขึ้นและสิ่งที่ผมจะแนะนำในวันนี้ก็คือ PyDev ซึ่งเป็น IDE ของ Eclipse นั่นเอง
ขั้นตอนที่ 1 ให้เราเปิดโปรแกรม Eclipse ขึ้นมาครับ แต่ถ้าใครยังไม่มีก็ไปดาวน์โหลดมาลงได้ที่ Eclipse
กลับมาแล้วผมกลับมาแล้วคร๊าบบบ กลับมาครั้งนี้ผมจะมาแนะนำ IDE ของไพทอนเพื่อให้การเขียนโปรแกรมของท่านผู้อ่านง่ายและสะดวกสบายขึ้นและสิ่งที่ผมจะแนะนำในวันนี้ก็คือ PyDev ซึ่งเป็น IDE ของ Eclipse นั่นเอง
ขั้นตอนที่ 1 ให้เราเปิดโปรแกรม Eclipse ขึ้นมาครับ แต่ถ้าใครยังไม่มีก็ไปดาวน์โหลดมาลงได้ที่ Eclipse
ป้ายกำกับ:
Programming
,
Python
,
โปรแกรม
,
ไพทอน
10 October 2013
เธรดอย่างง่ายใน C#
[ย้ายบทความจาก Gushared.com]
(Threading Tutorial) บางครั้งที่เราเขียนโปรแกรมเราอาจจะให้โปรแกรมทำงานเป็นงานๆไป จนกว่าจะเสร็จกระบวนการแล้วค่อยทำงานชิ้นต่อไป แต่ในโลกความเป็นจริงคอมพิวเตอร์จำเป็นต้องทำงานหลายๆงานพร้อมกัน จึงทำให้เกิดเธรดขึ้นมาเพื่อนแยกการทำงานเพื่อให้งานเสร็จไวขึ้น พูดง่ายๆ ก็เหมือนกับคนเราเวลาดูโทรทัศน์ที่จะต้องฟังเสียงและดูภาพไปพร้อมๆกัน หัวข้อนี้ผมจะมาลองเขียน Thread แบบง่ายๆโดยมีโจทย์ให้เขียนโปรแกรมโดยให้ฟังก์ชันแรกปริ้นข้อความไปสักพักแล้วให้อีกฟังก์ชันปริ้นอีกข้อความขึ้นพร้อมๆกัน
โดยขั้นแรกเราจะมาเขียนฟังก์ชั่นปริ้นค่าก่อนด้วยโค๊ดต่อไปนี้
(Threading Tutorial) บางครั้งที่เราเขียนโปรแกรมเราอาจจะให้โปรแกรมทำงานเป็นงานๆไป จนกว่าจะเสร็จกระบวนการแล้วค่อยทำงานชิ้นต่อไป แต่ในโลกความเป็นจริงคอมพิวเตอร์จำเป็นต้องทำงานหลายๆงานพร้อมกัน จึงทำให้เกิดเธรดขึ้นมาเพื่อนแยกการทำงานเพื่อให้งานเสร็จไวขึ้น พูดง่ายๆ ก็เหมือนกับคนเราเวลาดูโทรทัศน์ที่จะต้องฟังเสียงและดูภาพไปพร้อมๆกัน หัวข้อนี้ผมจะมาลองเขียน Thread แบบง่ายๆโดยมีโจทย์ให้เขียนโปรแกรมโดยให้ฟังก์ชันแรกปริ้นข้อความไปสักพักแล้วให้อีกฟังก์ชันปริ้นอีกข้อความขึ้นพร้อมๆกัน
โดยขั้นแรกเราจะมาเขียนฟังก์ชั่นปริ้นค่าก่อนด้วยโค๊ดต่อไปนี้
public static void Thread1()
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine("Thread 1");
Thread.Sleep(1000);
}
}
public static void Thread2()
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine("Thread 2");
Thread.Sleep(1000);
}
}
08 October 2013
ตัวอย่างการใช้ jSlider ในภาษาจาวา
[ย้ายบทความจาก Gushared.com]
วันนี้ว่างๆ เราลองมาเขียนโค๊ดเกี่ยวกับการทำงานของ jSlider เล่นๆกันมั้ยครับ เอาอย่างนี้ดีกว่าเดี๋ยวผมจะลองเขียนโค๊ดเลื่อน jSlider แล้วแสดงที่ Label แล้วกันง่ายสุดๆเลยนะเนี่ย อย่าพึ่งทำยากๆเลยชีวิตยังอีกยาวก็ต้องเรียนรู้กันไป ^_^
ขั้นตอนที่ 1 สร้าง Java application (ในที่นี้ผมใช้ NetBeans เป็น Tools ในการแสดงตัวอย่านะครับ) โดยทำตามขั้นตอนดังนี้ครับ File -> New Project... จากนั้นจะมี Dialog ขึ้นมา ในช่อง Categories เลือก Java ส่วนช่อง Projects เลือก Java Application ครับ จากนั้นทำการกด Next ครับ ตั้งชื่อโปรเจคเรา ในที่นี้ผมใช้ชื่อว่า mySlider แล้วคลิกเครื่องหมายถูกที่ Create Main Class ออกครับ ในส่วนนี้เดี๋ยวเราไปเลือกตอนรันโปรเจค
วันนี้ว่างๆ เราลองมาเขียนโค๊ดเกี่ยวกับการทำงานของ jSlider เล่นๆกันมั้ยครับ เอาอย่างนี้ดีกว่าเดี๋ยวผมจะลองเขียนโค๊ดเลื่อน jSlider แล้วแสดงที่ Label แล้วกันง่ายสุดๆเลยนะเนี่ย อย่าพึ่งทำยากๆเลยชีวิตยังอีกยาวก็ต้องเรียนรู้กันไป ^_^
ขั้นตอนที่ 1 สร้าง Java application (ในที่นี้ผมใช้ NetBeans เป็น Tools ในการแสดงตัวอย่านะครับ) โดยทำตามขั้นตอนดังนี้ครับ File -> New Project... จากนั้นจะมี Dialog ขึ้นมา ในช่อง Categories เลือก Java ส่วนช่อง Projects เลือก Java Application ครับ จากนั้นทำการกด Next ครับ ตั้งชื่อโปรเจคเรา ในที่นี้ผมใช้ชื่อว่า mySlider แล้วคลิกเครื่องหมายถูกที่ Create Main Class ออกครับ ในส่วนนี้เดี๋ยวเราไปเลือกตอนรันโปรเจค
07 October 2013
ติดตั้ง Eclipse เพื่อพัฒนาโปรแกรมบน Android (ตอน 2)
[ย้ายบทความจาก Gushared.com]
บทความที่แล้วผมได้พูดถึงการ ติดตั้ง Eclipse เพื่อพัฒนาโปรแกรมบน Android เบื้องต้นไปแล้วครับ เดี๋ยวบทความนี้เราจะมาเรียนรู้ต่อในเรื่องการ Configuring ADT Plug-in กันครับ
ขั้นที่ 1 : เข้าโปรแกรม Eclipse แล้วไปที่ Window -> Preferences แล้วคลิกที่ Android ที่หน้าต่างซ้ายมือครับ ในช่อง SDK location กด Browse... โฟลเดอร์ที่เราลง Android SDK ไว้ เสร็จแล้วกด Apply แล้วกด OK จบขั้นตอนนี้ครับ
บทความที่แล้วผมได้พูดถึงการ ติดตั้ง Eclipse เพื่อพัฒนาโปรแกรมบน Android เบื้องต้นไปแล้วครับ เดี๋ยวบทความนี้เราจะมาเรียนรู้ต่อในเรื่องการ Configuring ADT Plug-in กันครับ
ขั้นที่ 1 : เข้าโปรแกรม Eclipse แล้วไปที่ Window -> Preferences แล้วคลิกที่ Android ที่หน้าต่างซ้ายมือครับ ในช่อง SDK location กด Browse... โฟลเดอร์ที่เราลง Android SDK ไว้ เสร็จแล้วกด Apply แล้วกด OK จบขั้นตอนนี้ครับ
ติดตั้ง Eclipse เพื่อพัฒนาโปรแกรมบน Android (ตอน 1)
[ย้ายบทความจาก Gushared.com]
สวัสดีครับ วันนี้เราจะมาแนะนำวิธีการติดตั้ง Eclipse เพื่อจะใช้ในการพัฒนาโปรแกรมลงบนระบบปฏิบัติการ Android ครับ
ขั้นที่ 1 : ทำการดาวน์โหลดโปรแกรม Eclipse ก่อนที่ www.eclipse.org/downloads ซึ่งจะเป็น Tools ที่เราจะใช้พัฒนาโปรแกรม เมื่อทำการดาวน์โหลดเสร็จก็ให้ทำการแตกไฟล์ไปไว้ที่ไดร์ฟ C ครับ
สวัสดีครับ วันนี้เราจะมาแนะนำวิธีการติดตั้ง Eclipse เพื่อจะใช้ในการพัฒนาโปรแกรมลงบนระบบปฏิบัติการ Android ครับ
ขั้นที่ 1 : ทำการดาวน์โหลดโปรแกรม Eclipse ก่อนที่ www.eclipse.org/downloads ซึ่งจะเป็น Tools ที่เราจะใช้พัฒนาโปรแกรม เมื่อทำการดาวน์โหลดเสร็จก็ให้ทำการแตกไฟล์ไปไว้ที่ไดร์ฟ C ครับ
Subscribe to:
Posts
(
Atom
)






