แล้วไงต่อ

PAW เป็นแนวคิดที่ดีมากนั่นคือคนเรามันต้องได้มากกว่าหนึ่ง เพราะถ้าย้อนกลับไปดรากศัพท์ของ Polyglot นั้นมันมาจากคำว่า Multilingualism คือคนที่สามารถใช้ภาษาในการสื่อสารมากกว่าหนึ่งภาษาดังนั้นในมุมมองของการ เขียนโปรแกรมมันก็คือการไม่ตกเป็นทาสของภาษาใด หรือ เทคโนโลยี ใดๆเพียงหนึ่งเดียว เพราะการตกเป็นทาสอะไรเพียงอย่างเดียวจะทำให้เรากลายเป็นคนขวางโลก ไปในทันที ผมคิดว่าแนวคิดนี้จะทำให้เราสามารถมองเทคโนโลยีได้อย่างเปิดใจมาก ซึ่งจะนำพาไปสู่การร่วมมือร่วมใจ ผลักดันให้เกิดสิ่งใหม่ๆได้ ตลอดเวลา ซึ่งจะนำพาไปสู่การสร้างสิ่งที่ดีกว่าออกมาสู่โลก เสมอ

So what else ?

PAW is a great concept to convince that people should be able to have more than one programming skills. If you look at the root of the word Polyglot, it is from Multilingualism, which refers to people who can communicate with multiple languages. In terms of software development, this concept means we should not limit ourselves to only a programming language or technology. Limiting ourselves that way may make us go against the world. I think the concept of PAW helps us embrace new technologies, and lead to collaborative opportunities for continuous invention.

Feed aggregator

ความต้องการพื้นฐานของ PetClinic (Spring Training Day 2)

planet.paw66.com - Wed, 07/01/2009 - 13:30
เป็นตัวอย่างที่จะใช้ในการ สอน(ไม่อยากเรียกสอนเลย)  Spring Training Day 2 ครับอ่าน requirement ก่อนแล้วช่วยกัน ทำ Domain Class ออกมาหน่อยครับ ขอบเขตและความต้องการพื้นฐานของระบบ PetClinic แอพพลิเคชั่นนี้ต้องสามารถถูกใช้งานได้บนเวบเบราเซอร์หลักๆของโลก (IE6-8, Firefox 2.0 - 3.5, Safari และ Opera มากไปไหมครับ)  ผู้ใช้ของระบบนี้ทั้งหมดเป็นพนักงานของคลินิคทั้งหมด โดยที่เจ้าหน้าที่ทุกคนสามารถ เรียกดู แก้ไข ปรับปรุง ข้อมูลของสัตวแพทย์ คนไข้ และ สัตว์เลี้ยง ได้ทั้งหมดโดยที่แอพพลิเคชั่นจะต้องมีความสามารถพื้นฐานดังนี้ Use Cases เรียกดู list ของสัตวแพทย์และความเชี่ยวชาญพิเศษสาขาต่างๆได้ เรียกดู ข้อมูลพื้นฐานต่างๆของเจ้าของ แก้ไข ข้อมูลพื้นฐานของเจ้าของได้ สามารถเพิ่มสัตว์เลี้ยงเข้าไปในบัญชีของเจ้าของได้ เรียกดูข้อมูลพื้นฐานของสัตว์เลี้ยงได้ แก้ไขข้อมูลพื้นฐานของสัตว์เลี้ยงได้ เรียกดูประวัติการเข้ารับการตรวจได้ เพิ่มประวัติการเข้ารับการตรวจได้ Business Rules มีข้อเดียวคือไม่สามารถมีสัตว์เลี้ยงชื่อซ้ำกันได้สำหรับเจ้าของหนึ่งคน

Grails 1.2 Milestone 1 ออกแล้วจ้า

planet.paw66.com - Tue, 06/30/2009 - 13:00
Grails 1.2 Milestone 1 ออกแล้วจ้า ที่มา หลังจากที่ปล่อย Grails 1.1.1 เพื่อสนับสนุนการทำงานบน Google App Engine มาได้สักพัก ตอนนี้ก็ถึงเวลาที่ปล่อย Grails 1.2 M 1 ออกมากันบ้าง โดยส่วนหลักๆ ที่มีการเปลี่ยนแปลงคือ 1. Precompilation of Groovy Server Pages in WAR deployment ทำการ compile GSP ก่อนที่จะสร้าง WAR file ทำให้เวลาในการ deploy ลดลง 2. Names URL Mapping ซึ่งสามารถเชื่อมโยงกับ Dynamic Tag ในส่วนของ View ได้เลย เช่น link ดังตัวอย่าง name productDetail: "/showProduct/$productName/$flavor?" { [...]

แนะนำ Grails Internals Handbook

planet.paw66.com - Thu, 06/25/2009 - 08:00
แนะนำ Grails Internals Handbook ที่มา :: http://github.com/dima767/grails-internals-handbook/tree เป็น community-driven book ที่อธิบายถึงการทำงานภายในของ Grails เพื่อจะทำให้สามารถอ่านและเข้าใจ code ของ Grails ได้ง่ายขึ้น หนังสือนี้จะถูกสร้างด้วย communities ดังนั้นเราๆ ท่านๆ สามารถมีส่วนร่วมโดยการ fork จาก repository บน github ตอนนี้หนังสือนี้ยังอยู่ในสถานะเริ่มต้นเท่านั้นครับ ดังนั้นถ้าเราๆ ท่านๆ ช่วยกันก็จะเสร็จเร็วขึ้นครับ จากที่เข้าไปดูจะมีอยู่ 4 บท ( เพียงเริ่มต้นเท่านั้น ) และยังเป็นแค่การร่างเอกสารหรือหนังสือขึ้นมาเท่านั้น ประกอบไปด้วย บทที่ 1 Start เกริ่นทั่วไป อธิบายหัวข้อต่างๆ ที่จะมีในหนังสือ บทที่ 2 Architecture Overview อธิบายถึงสถาปัตยกรรมของ Grails บทที่ 3 Grails Core อธิบายส่วนการทำงานหลักของ [...]

บทสัมภาษณ์ทีมพัฒนา Grails, Groovy และ Griffon จากงาน JavaOne 2009

planet.paw66.com - Wed, 06/24/2009 - 19:00
รวบรวมบทสัมภาษณ์ของทีมพัฒนา rails, Groovy และ Griffon จากงาน JavaOne 2009 มาฝากครับ * Interview with Dierk Koenig (GinA, Groovy, Grails) * Interview with Danno Ferrin, James Williams (Griffon) * Interview with Graeme Rocher (Grails) * Interview with Dave Klein (Grails) * Interview with Geertjan Wielenga (Griffon) * Interview with Andres Almiray (Griffon) * Interview with Sven Haiges and Glen Smith (Grails) * Interview with Guillaume Laforge [...]

แกะ Spring JavaConfig ภาค 1

planet.paw66.com - Thu, 06/18/2009 - 16:00
เคยเขียนเรื่อง Spring JavaConfig ไปแล้วหนึ่งตอนแต่ไม่ได้ลงมือทำเพราะมันไปบ้า Spring Dynamic Module แต่อ่านไปอ่านมาตัวอย่างมันมี bug เลยขี้เกียจอ่านต่อ เลยไปรื้อ Spring JavaConfig ออกมาใหม่ พบว่าเอกสารเขียนก้าวหน้าไปได้เยอะมากและที่สำคัญ มีตัวอย่างแล้วนั่นคือ PetClinic นั่นเองอย่ารอช้า checkout ออกมาดู “อ่านไม่รู้เรื่อง” สิ่งแรกที่แว๊บมาในหัว เนื่องจากไม่รู้จะเริ่มจากตรงไหนดี เนื่องจากสมัยก่อนจะไปเปิดดู Application-Context.xml ก่อน แต่ตอนนี้มันไม่มีแล้ว แกะอยู่หลายนาทีก็พอคลำได้ แต่พบว่ามันใช้ Annotation แบบพิการไม่สุดตามวิธี Spring คือไม่ยอมใช้ Hibernate Annotation เพราะ ไม่อยากทำให้ Domain class แปดเปื้อน (แต่ที่อื่นนี่ เละไปด้วย Annotation และ abstract method) นี่ถือเป็นโอกาสที่ดีของผมครับ ที่จะรื้อ มันออกมาเป็นชิ้นๆ แล้วประกอบเข้าไปใหม่(Japanese Way) เพราะถ้าเราอยากเข้าใจการทำงานของมันก็ต้องลองประกอบเองด้วยมือ *** สามารถ download sourcecode มาสั่ง unit test ได้ครับที่ http://code.google.com/p/petclinic-java-config/ เรามาเริ่มเรียน Spring JavaConfig [...]

เริ่มต้นกับ Spring Roo

planet.paw66.com - Wed, 06/17/2009 - 20:30
สำหรับคนที่ใช้ spring framework เคยรู้สึกเหนื่อยใจมั้ย ตอนที่จะขึ้น project ซักอันนึงต้อง config มากมายมหาสารกว่า จะเริ่มลงมือเขียนโปรแกรมได้ โดยส่วนตัวผมวิธีที่ลัดขั้นตอนที่สุดก็คือ copy จากโปรเจ็คเดิมมาแล้วก็มาแก้ config ให้เข้ากับโปรเจ็คใหม่ แต่ก็นั่นแหละ ถ้าแก้ไม่ดีมันก็เหมือนวางยาตัวเองเข้าไปอีก แต่ตอนนี้เริ่มมีแสงสว่างปลายอุโมงค์ให้เห็นเพราะ spring source ได้ออก tool ตัวใหม่ชื่อ Roo มาให้เราๆท่านๆได้ใช้ แล้ว Roo คือ? “Interactive, lightweight, user customizable tooling, that enables rapid delivery of high performance enterprise Java applications” ทั้งหมดทั้งปวงนี้คือคำจำกัดความที่ Rod johnson พูดถึง Spring Rooในงาน springOne ซึ่งก็ถือได้ว่า เป็นการเปิดตัวอย่างเป็นทางการของ Roo หลังจาก ปล่อยให้ download มาลองใช้อยู่พักใหญ่ สิบปากว่าไม่เท่าลงมือมั่วดูผลลัพธ์ ลองกันเลยดีกว่าครับ 1.เริ่มจาก [...]

Web Framework Benchmark

planet.paw66.com - Thu, 06/11/2009 - 00:00
<!-- google_ad_section_start -->

@kowito ก่อหวอด

@roofimon อยากทำ benchmark วัดกันระหว่างหลายๆเทคโนโลยี แต่ใช้เป็นแต่ django อยากมาร่วมหรือเปล่าครับ ref

มีคนรับลูกทันที @icez @kowito @wiennat @nuboat @sugree @roofimon เท่าที่จับใจความ คงมีอย่างน้อยก็

<

p>

read more

สงครามระหว่าง SpringSource กับ Red Hat เริ่มเปลี่ยนแปลง

planet.paw66.com - Wed, 06/10/2009 - 16:30
เป็นที่รู้กันมานานหลายปีแล้วว่า hibernate กับ spring ไม่ค่อยจะกินเส้นกันมานาน จนกระทั่งความไม่ลงรอยกันลามไปถึงขั้นแตกหักเมื่อ มีการด่าทอกันด้วยคำพูดที่รุนแรงในเวบบอร์ดของทั้งสองฝั่ง สุดท้ายทุกๆ thread ที่เกี่ยวกับ spring บนเวบบอร์ด hibernate ถูกลบทิ้ง ==” นั่นคือจุดเริ่มต้นหลังจากนั้น hibernate เข้าไปอยู่ภายใต้ร่มเงาของ Jboss และแน่นอน hibernate ย่อมได้เปรียบและหลังจากนั้นไม่นานทางทีมพัฒนา hibernate ได้ออก full stack web framework ชื่อ seam ออกมา(ไม่ใช่อื่นใด เพื่อลบ spring ออกจากแผนที่โลก)แต่สงครามไม่จบง่ายๆเนื่องจาก seam ออกตัวช้าไปนิดถึงแม้ว่าจะมีไอเดียที่ดีกว่าในบางมุม แต่ spring ล้ำหน้าไปไกลกว่านั้นแล้ว ล่าสุด Spring ปล่อย Product ตัวใหม่ออกมาอีกสมตัวคือ Spring Tools, Spring TM Server และ Spring Monitoring(Hyperic HQ) ทำให้แนวรบของสองบริษัทขยายออกเต็มรูปแบบเนื่องจาก TM Server คือ [...]

Nuxeo Enterprise content management ภาคเตรียม intro

planet.paw66.com - Wed, 06/10/2009 - 04:00
ไม่แน่ใจว่าเรื่องนี้จะ มาอยู่ถูกที่ หรือเปล่าแต่ก็ เอาหล่ะในเมื่อ เป็นชาว spring66 ก็ไม่รูจะลงไว้ที่ไหนหล่ะครับ ว่าด้วยเรื่องของ Enterprise content management (ECM) กันก่อนเลย ก็ไม่รู้จะยังไง แปลตรงตัวกันเลยแล้วกัน มันก็คือ ระบบในการบริหารจัดการ content นั่นเอง โดยเมื่อพูดถึง ECM มันก็มี function การทำงานหลักๆ ดังนี้ - document management (DM) - collaboration (or collaborative software, groupware), - web content management (WCM) (including web portals), - records management (RM) (archive and filing management systems on long-term storage media), and - workflow/business process management (BPM). จริงแล้วตัวมันมีฟังชั่นการทำงานทั้งหมดที่ ECM [...]

Spring Python เมื่อ Spring ข้ามไปในโลกของ Python

planet.paw66.com - Thu, 06/04/2009 - 14:30
SpringPython เมื่อมีคนบ้าพลังนำแนวคิดของ Spring Framework และ Spring Security Framework เอาไปทำด้วยภาษาเทพอย่าง Python โปรเจคนี้ไม่ได้ทำการ Port โค้ดบรรทัดต่อบรรทัดเหมือน spring .NET แต่ในทางกลับกัน ทีมผู้สร้างนำแค่แนวคิดที่ดีต่างๆ ของ Spring ไปเขียนใหม่ด้วย Python แทน ความสามารถหลักๆ ณ ขณะนี้สิ่งที่ SpringPython ได้ทำไปแล้วมีดังนี้ Inversion Of Control-แนวคิดหลักที่เป็นหัวใจของ Spring คือการ decouple คลาสด้วยอินเทอร์เฟสซึ่งจะทำให้เราสามารถสร้างซอฟท์แวร์ในเชิงโมดูลมากขึ้นและนอกจากนี้เรายังสามารถใช้ PyContainerConfig และ PythonConfig เพื่อ plug สิ่งที่เราสร้างใน Python เข้าไปใน ApplicationContext ได้ Aspect Oriented Programming - SpringPython เตรียมกระบวนการการ wrap advice เข้ากับ objects ไว้หลายวิธีซีง AOP นั้นเข้ามาช่วยเราในเรื่องของการทำ remoting, debug และการวัดประสิทธิภาพ Database Template - [...]
Syndicate content

Creative Commons License
ผลงานนี้ โดย http://www.paw66.com ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ประเทศไทย.
อยู่บนพื้นฐานของงานที่ www.paw66.com.
การอนุญาตนอกเหนือจากที่ระบุไว้ในสัญญาอนุญาตนี้ อาจมีอยู่ที่ http://www.paw66.com

Join the Blue Ribbon Online Free Speech Campaign

*defending free speech, privacy, innovation, and consumer rights
*สนับสนุนเสรีภาพในการแสดงออก

Powered by Drupal, an open source content management system