Posted by: algo64 | 2010/10/18

โปรเจ็คขายฝันครับ

หลังจากห่างไปนาน เพราะพิษของการสอบ Final
วันนี้เลยแวะมาฝากความฝันของตัวเองไว้

ตอนนี้มีหลายๆ โปรเจ็คที่อยากทำ แล้วก็ได้ลองลงมือทำไปแล้ว แต่ก็ยังทำไม่สำเร็จ
ปัญหาไม่ได้อยู่ที่เวลาครับ มันติดอยู่ที่เรามีความรู้ในเรื่องนั้นๆ ไม่พอ โปรเจ็คที่อยากทำ เช่น

  1. Library สำหรับสร้างไฟล์ PDF ซึ่งตรงนี้ก็มี Open source และ Help จากหลายๆ ที่ที่สามารถช่วยให้เข้าใจได้ครับ เช่น iText เป็น Library Open source สำหรับ Java ที่มีคนนิยมใช้มาก ผมก็ได้ลองศึกษาอยู่สักพักหนึ่ง พอเข้าใจโครงสร้าง File Structure แต่ก็หยุดซะก่อน (ดูนานแล้วเริ่มเบื่อ – -“)
  2. ลักษณะคล้ายๆ กับโปรเจ็คตะกี้ครับ แต่เปลี่ยนมาเป็นการสร้างไฟล์สำหรับ Excel 2003 (on the fly) ตัวนี้ค่อนข้างยากมากๆ โครงสร้างซับซ้อนปานกลางถึงมาก และแต่เยอะ Record type มีเป็นจำนวนมาก รวมถึงการมีมาตรฐานต่างๆ ที่เข้ามาเกี่ยวข้อง เช่น การจัดเก็บข้อมูลของ Excel จะอยู่ในรูปแบบโครงสร้างไฟล์แบบ Compound File (ซึ่งเป็นโครงสร้างของ Microsoft) แต่ก็มีตัวอย่าง Open source ให้ลองแกะ code ดูได้ครับ คือ POI java open source แต่ก็ขอยอมรับเลยครับว่าซับซ้อนพอสมควร ทำให้เหนื่อยไปกับมันจริงๆ
  3. อันนี้เป็นโปรเจ็คขายฝันตัวเองครับ คือ อยากได้ Report Engine ตัวหนึ่งที่สามารถ Design เพื่อออกรายงานบน Paper และ Excel file ไห้ได้ง่ายๆ เพราะถ้าใครเคยใช้ Crystal Report จะเห็นว่าเราสามารถ Design รายงานในหน้ากระดาษ A4 ได้อย่างง่ายดาย แต่พอจะนำไปออกรายงานบน Excel กลับผิดเพี้ยน ในเรื่องของ Cell Format แต่นี้ยังไม่ได้ศึกษาอย่างชัดเจนครับ อาจจะมี Product ของบางยี่ห้อที่ support กับรายงานประเภทนี้อยู่แล้วก็ได้ แต่เหตุผลของผมคือ อยากลองทำ จะได้อยู่รู้ว่าคนที่เค้าทำ Product พวกนี้ออกมาขาย เค้ามีวิธีคิดยังไง เขียน Code ควบคุมการออกรายงานยังไง
  4. สำหรับโปรเจ็คสุดท้ายนี้ เป็นงานที่ทุกๆ คนสายคอมฯ คงเคยจับกันมา ก็คือ FlowChart หรือ Diagram แบบต่างๆ แต่จุดที่ผมสนใจคือ Algorithm สำหรับการวาดเส้น จะพบว่าในบางโปรแกรม (ที่ฉลาด) เมื่อพบว่าเส้นเกิดการพาดทับกัน โปรแกรมจะทำให้เส้นที่ทับนี้มีลักษณะเหมือนเส้นกระโดดข้ามกัน (จุดนี้คือจุดที่สนใจ) ผมเลยอยากจะรู้ว่า เค้าเขียนโปรแกรมอย่างไร จึงรู้ว่าเส้นเกิดการพาดทับกัน และถ้ารู้วิธีการหาจุดตัดแล้ว จะเขียน code อย่างไรเพื่อให้การค้นหาจุดตัดของแต่ละเส้น ทำได้อย่างเร็ว
    สมมติดูนะครับว่า ถ้าในโปรแกรมเรามีทั้งหมด 2 เส้นที่ตัดกัน ณ จุด P เพียงจุดเดียว ซึ่งไม่ใช่กรณีที่ยากที่จะคำนวณเพื่อหาจุดตัด แต่ถ้าโปรแกรมเรามีมากกว่า 2 จุด และทุกเส้นสามารถตัดกัน เราจะคิดอย่างไรเพื่อให้ทุกเส้นพบการเกิดจุดตัดของตัวเอง

    Line Jump

    Style of Line Jump, อ้างอิงจากโปรแกรม Visual Paradigm for UML

    จากรูปด้านบน จะเห็นรูปแบบของเส้นตัดอยู่ 3 แบบคือ
    – กล่องสีเทา เป็นการตัดแบบ Square
    – กล่องสีแดง เป็นการตัดแบบ Gap
    – กล่องสีเหลือง เป็นการตัดแบบ Arc

  5. ถ้าให้ผมจัดอันดับความยากไปง่าย จะได้เป็น 3, 2, 1 และ 4

    ————————————
    ไว้คราวหน้าผมจะมาพูดเกี่ยวกับโปรเจ็คหัวข้อที่ 4 ครับ เกี่ยวกับวิธีคิดที่ได้ผมเจอมา
    แนะว่าเกี่ยวข้องกับ Math อีกแล้วครับ เน้นไปที่ Math Geometry ครับ


Responses

  1. iText , POI มันแหล่มจริงๆแหละ

    รีบๆทำมาละกาน รอใช้อยู่ ^ ^


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: