LINQ ภาคจริง ตอนที่ 2

Posted 29/08/2008 01:16
by coreadmin

จากคราวที่แล้ว ผมได้เขียนเกี่ยวกับเรื่องของ LINQ แบบเจาะลึกกันไปส่วนหนึ่งแล้ว ซึ่งผมได้กล่าวถึงเรื่อง แนวคิดแบบ Functional Programming และ Delegate Lambda Expression Local Type Inference Projection และ Anonymous Type และแล้วเวลาก็ล่วงเลยมากว่าสองเดือน กว่าผมจะสามารถรวบรวมสมาธิและมาเขียนภาคที่สอง ต่อได้ เพื่อไม่ให้เป็นการเสียเวลา เรามาเริ่มดูกันดีกว่าว่า ยังมีส่วนไหนอีกบ้างของ LINQ ที่เรายังไม่ได้พูดถึงกัน Extension Methods และ Enumerator ในตัวอย่างตอนต้น ผมได้แสดงให้เห็นแล้วว่า อันที่จริงแล้ว LINQ...

อ่านและเขียนคอมเมนต์... (มีแล้ว 0)
มีคนดูแล้ว 16 คน

ทำไมต้องพยายามใช้โหมด M? (การถ่ายภาพ)

Posted 12/08/2008 20:45
by coreadmin

พอดีว่าช่วงนี้ ผมยังไม่มีสมาธิที่จะเขียนเรื่อง LINQ ต่อเสียที เลยขอเปลี่ยนแนวมาเขียนเรื่องกล้องบ้างแล้วกันนะครับ อย่างที่เราเห็นๆ กันว่า เดี๋ยวนี้คนใช้กล้อง DSLR กันเยอะมาก ด้วยราคาที่เริ่มจะอยู่ในระดับที่ตากล้องระดับทั่วๆ ไป สามารถจะเอื้อมถึง และคุณภาพที่ออกมาดีกว่ากล้องคอมแพคอย่างมาก จึงไม่แปลกที่ผู้ที่ชื่นชอบการถ่ายรูป จะสรรหามาเป็นเจ้าของซักตัว เรื่องของเรื่องคือ ผมมักจะเห็นผู้ที่ใช้กล้อง DSLR ส่วนใหญ่ มักจะพยายามใช้โหมด M หรือโหมดที่เราจะเป็นผู้ที่เลือกว่า จะใช้ความเร็วชัตเตอร์ และขนาดของรูร...

อ่านและเขียนคอมเมนต์... (มีแล้ว 0)
มีคนดูแล้ว 70 คน

LINQ (ภาคจริง) ตอนที่ 1

Posted 01/07/2008 09:34
by coreadmin

LINQ นั้น ย่อมาจาก Language Integrated Query หรือแปลเป็นไทย ก็ "การทำ Query แบบฝังในภาษา" ซึ่งในความเป็นจริงนั้นก็ไม่ได้ต่างจากคำแปลซักเท่าไหร่นักครับ เพราะถ้าโค๊ดที่มีการใช้ LINQ คุณจะพบกับคำสั่ง ที่มีลักษณะคล้ายภาษา SQL แบบนี้ ในโค๊ดเลย คุณอาจจะมองว่า เฮ้ นี่ต่อไปเราจะไม่ต้องมานั่งต่อฐานข้อมูล หรือจำว่าต้องสร้าง Connection แล้วสั่ง New Command จากนั้น ExecuteReader กันแล้วใช่มั๊ย? นั่นก็ถูกต้องครับ แต่ไม่ซะทีเดียว เพราะอันที่จริงแล้ว ถ้าเรามองจาก Syntax และเทคนิคที่ใช้ LINQ นั้น ถูกออกแบบมาให...

อ่านและเขียนคอมเมนต์... (มีแล้ว 0)
มีคนดูแล้ว 325 คน

LINQ [Preview]

Posted 15/06/2008 02:39
by coreadmin

ผมเคยสัญญาใน Forum ไว้ว่า จะเขียนเรื่อง LINQ ให้อ่านกัน เชื่อไหมครับ ว่าผมได้เขียนไปถึง 3 ตอนแล้ว! ในเรื่องเกี่ยวกับ LINQ เนี่ย และในโพสถัดไป ผมจะเข้าเรื่องใจความของ LINQ จริงๆ ละ แต่ตอนนี้ ลองไปทำความเข้าใจกับ Delegate, Anonymous Method และ Yield Return กับแนวคิด การใช้ Function เป็น พารามิเตอร์ของฟังก์ชั่นอื่น กันก่อนครับ ความลับของ LINQ จะถูกเปิดเผยในไม่ช้า (ในรูปแบบของผม เพราะชาวบ้านเขาเขียนกันมานานละ) ว่ะ ฮ่ะ ฮ่ะ 5 5

อ่านและเขียนคอมเมนต์... (มีแล้ว 3)
มีคนดูแล้ว 390 คน

ทำงานหนักๆ โดยที่โปรแกรมไม่ค้าง ภาคสอง

Posted 15/06/2008 02:29
by coreadmin

ภาคนี้ไม่มีอะไรมากครับ คือว่า ผมได้แนวดีๆ มาอีกแนวคือ มันจะมีอีกกรณีที่เราแค่ต้องการจะทำอะไรที่มันนานๆ แต่ว่าโปรแกรมเราก้อต้องหยุดรออยู่ดี แล้วเราก้อบอกไม่ได้เป็น Progress Bar เช่น ส่งข้อมูลไป Web Service ผมก้อเลยทดลองเล่นๆ และก็นำเอาเทคนิคของ DoEvents และ Anonymous Method ผสม Thread มายำรวมกัน ได้แบบนี้ครับ public delegate void Work (); /// <summary> /// Utility function to run the specified work without blocking the UI thread /// from processing event. This is not multi-threaded solution...

อ่านและเขียนคอมเมนต์... (มีแล้ว 1)
มีคนดูแล้ว 352 คน

คืนค่าหลายๆ ค่าจากฟังก์ชั่นแบบเร็วปื๊ด พร้อมส่งต่อกันได้แบบไม่กินแรม

Posted 15/06/2008 01:50
by coreadmin

วันนี้ผมมีเทคนิคเด็ดๆ มาฝากกันครับ ถ้าผมต้องการจะคืนค่า เป็น int จำนวน 20 ค่า ออกมาจากฟังก์ชั่น ให้มีค่าตั้งแต่ 1 ถึง 20 ผมก็จะทำแบบนี้ครับ ถ้าเป็นเมื่อก่อนนู้น public int [] Get20Ints() { int [] toReturn = new int [20]; for ( int i = 0; i < 20; i++) { toReturn = i + 1; } return toReturn; } หรือ บางคน ก้ออาจจะเขียนแบบนี้ public List < int > Get20Ints() { List < int > toReturn = new List < int >(); for ( int i = 0; i < 20; i++) { toReturn.Add(i + 1); } return toReturn; } ซ...

อ่านและเขียนคอมเมนต์... (มีแล้ว 3)
มีคนดูแล้ว 350 คน

ทำงานหนักๆ โดยที่โปรแกรมไม่ค้าง พร้อมแสดง Progress!

Posted 25/04/2008 02:24
by coreadmin

หลังจากเขียนโปรแกรมไปเรื่อยๆ คงต้องมีบ้างละครับ ที่พบว่า เราจะต้องทำการประมวลผลอะไรบางอย่างนานมาก แล้วพอเราทำเข้าจริงๆ โปรแกรมก็จะค้าง และคนใช้เขาก็จะคิดว่าโปรแกรมมัน Hang ไปแล้ว และกด End Task ไป ทั้งที่โปรแกรมเราไม่ได้ผิดอะไร แค่ทำงานอยู่เท่านั้นเอง อย่างเช่น ผมต้องการทำอะไรไร้สาระบางอย่าง แบบนี้ private void button1_Click( object sender, EventArgs e) { this .progressBar1.Value = 0; this .progressBar1.Maximum = 10000; for ( int i = 0; i < 10000; i++) { double d = Math .Sqrt( Math .Pow( 0.02...

อ่านและเขียนคอมเมนต์... (มีแล้ว 11)
มีคนดูแล้ว 974 คน

More Posts Next page »
Google
คอแหลม
โฆษณาออนไลน์,
				โฆษณา,ออนไลน์,ลงโฆษณา,ประกาศ,online advertising,online
				,advertising,โปรโมทสินค้า,โปรโมทเว็บไซต์,promote website,
				seo,pay per click,ad per click,media,ค้นหาเว็บ,media,
				สื่อ