MySQL บน mac รันไม่ได้
หลักการเขียนโปรแกรม 50 ข้อ
บางข้อเก่าไปแล้ว แต่หลายข้อยังใช้ได้
1.โปรแกรมแบบพอเพียง(ทำอะไรให้เล็กที่สุดเท่าที่เป็น ไปได้)
2.ทำสิ่งธรรมดาให้ง่าย ทำสิ่งยากให้เป็นไปได้
3.จงโปรแกรมโดยนึกว่าจะมีคนมาทำต่ออย่างแน่นอน
4.ระเบียบ กฏข้อบังคับ เชื่อมั่นไม่ได้แล้ว ถ้ามีเพียงหนึ่งโมดูลไม่ปฏิบัติตาม
5.ตัดสินใจให้ดีระหว่างความชัดเจน(clearance) กับ การขยายได้(extensibility)
6.อย่าเชื่อมั่น output จากโมดูลอื่น ถึงแม้เราจะเป็นคนเขียนเอง
7.ถ้าคนเขียนยังเข้าใจได้ยาก แล้วคนอ่านจะเข้าใจได้ยากกว่าแค่ไหน
8.ค้นหาข้อมูลสามวันแล้วทำหนึ่งวัน หรือจะทำสามวันแล้วแก้บั๊กตลอดไป
9.จงสร้างเครื่องมือ ก่อนทำงาน
10.อย่าโทษโมดูลอื่นก่อน โดยเฉพาะถ้าโมดูลอื่นเป็น OS และ Compiler
11.พยายามทำตามกฏ แต่ถ้ามีข้อยกเว้น ต้องมีอย่างหลีกเลี่ยงไม่ได้ แล้วประกาศและตะโกนให้ดังที่สุด
12.High cohesion Loose coupling. (ยึดเกาะให้สูงสุดในโมดูล และ เกาะเกี่ยวกับโมดูลอื่นให้น้อยที่สุด)
13.ให้สิ่งที่เกี่ยวข้องกันยิ่งมากอยู่ไกล้กันมากที่ สุด
14.อย่าเชื่อโดยไม่พิสูจน์
15.อย่าลองทำแล้วคอมไพล์ดู ถ้าเราไม่ได้คาดหวังผลลัพธ์อะไรไว้ (อย่างเช่นปัญหา index off by one)
16.จงกระจายความรู้เพราะนั่นคือการทำ Unit Test ระดับล่างสุด(ระดับความคิด)
17.อย่าเอาทุกอย่างใส่ใน UI เพราะ UI คือส่วนที่ Unit Test ได้ยาก
18.ทั้งโปรเจ็คต์ควรไปในทางเดียวกันมากที่สุด( Consistency )
19.ถ้ามีสิ่งที่ดีอยู่แล้วจงใช้มัน อย่าเขียนเอง ถ้าจำเป็นต้องเขียนเอง ให้ศึกษาจากข้อผิดพลาดในอดีตก่อน
20.อย่ามั่นใจเอาโค้ดไปใช้จนกว่าจะ test อย่างเพียงพอ
21.เอาโค้ดที่ test ไว้ที่เดียวกันกับโค้ดที่ถูก test เสมอ
22.ทุกครั้งที่แก้ไขโค้ดให้ run unit test ทุกครั้ง
23.จงใช้ Unit Test แต่อย่าเชื่อมั่นทุกอย่างใน Unit Test เพราะ Unit Test ก็ผิดได้
24.ถ้าต้องทำอะไรที่ซ้ำกันมากกว่าหนึ่งครั้ง ก็เพียงพอแล้วที่จะแยกโค้ดส่วนนั้นออก
25.ทำให้ใช้งานได้ก่อน แล้วค่อย optimize และถ้าไม่จำเป็น อย่าoptimize
26.ยิ่งประสิทธิภาพเพิ่ม ความเข้าใจง่ายจะลดลง
27.ใช้ Design Pattern ที่เป็นที่รู้จักจะได้คุยกับใครได้รู้เรื่อง
28.อย่าเก็บไว้ทำทีหลัง ถ้ายังไงก็ต้องทำ
29.MutiThreading ไม่ใช่แค่การเพิ่มประสิทธิภาพ แต่มันมาพร้อมกับ Concerency, Deadlock, IsolationLevel, Hard to debug, Undeterministic Errors.
30.จงทำอย่างโจ่งแจ้ง
31.อย่าเพิ่ม technology โดยไม่จำเป็น เพราะนั่นทำให้โปรแกรมเมอร์ต้องวุ่นวายมากขึ้น
32.จงทำโปรเจ็คต์ โดยคิดว่าความเปลี่ยนแปลงเกิดขึ้นได้เสมอ
33.อย่าย่อชื่อตัวแปรถ้าไม่จำเป็น เดี๋ยวนี้ IDE มันช่วยขึ้นเยอะแล้วไม่ต้องพิมพ์เองแค่ dot มันก็ขึ้นมาให้เลือก
34.อย่าใช้ i, j , k , result, index , name, param เป็นชื่อตัวแปร
35.ทำโค้ดที่ต้องสื่อสารผ่านเครือข่ายให้คุยกันน้อยท ี่สุด
36.แบ่งแยกดีดี ระหว่าง Exception message ในแต่ละเลเยอร์ ว่าต้องการบอกผู้ใช้ หรือ บอกโปรแกรมเมอร์
37.ที่ระดับ UI ต้องมี catch all exception เสมอเพื่อกรอง Exception ที่ลืมดักจับ
38.ระวัง คอลัมภ์ allow null ใน database ดีดี ค่า มัน convert ไม่ได้
39. อย่าลืมว่า Database เป็น global variable ประเภทหนึ่ง แต่ละโปรแกรมที่ติดต่อเปรียบเหมือน MultiThreading ดังนั้นกฏของ Multithreading ต้องกระทำเมื่อทำงานกับ Database
40.ระวังอย่าให้ logic if then else ซ้อนกันมากมาก เพราะสมองคนไม่ใช่ CPU จินตนาการไม่ออกหรอกว่ามันอยู่ตรงไหนเวลา Debug (ถ้ามากกว่าสามชั้นก็ลองคิดใหม่ดูว่าเขียนแบบอื่นได้ มั้ย)
41.ระวังอย่าให้ลูปซ้อนกันมากมาก ไม่ใช่แค่เรื่องความเร็วอย่างเดียว เวลา Debug เราคิดตามมันไม่ได้ (ถ้าเกินสามชั้นก็ไม่ไหวแล้ว)
42. อย่าใช้ Magic Number ใน Code เช่น if( controlingValue == 4 ) เปลี่ยนไปใช้ Enum ดีกว่า เป็น if( controlingValue == ControllingState.NORMAL ) เข้าใจง่ายกว่ามั้ย
43.ถ้าจะเปรียบเทียบ string Trim ซ้ายขวาก่อนเสมอ
44.คิดหลายๆ ครั้งก่อนใช้ Trigger
45.โปรแกรมเมอร์คือห่วงโซ่สุดท้ายของมลพิษทางความซับ ซ้อน ดังนั้นหา project leader ดีดีแล้วกัน
46. มนุษย์ฉลาดกว่าคอมพิวเตอร์ การเขียนโปรแกรมก็คือการสอนให้คอมพิวเตอร์ฉลาดได้เหม ือนเรา (มนุษย์ฉลาดกว่าคอมพิวเตอร์จริงๆนะ) Reply With Quote
47. จงควบคุมคอม มิใช่ให้คอมควบคุมเรา เราต้องสั่งให้คอมทำงาน ไม่ใช่ให้เราทำงานตามคอมสั่ง
48. อย่าปล่อยให้ข้อจำกัดของคอม มาจำกัดความคิดของเรา [คอมไม่ดีเปลี่ยนเครื่องเลย 55+]
49. ยอมรับความคิดของผู้อื่น แต่อย่าออกจากกรอบของตนเอง
50. หมั่น Save โปรแกรมไว้อย่าสม่ำเสมอ ก่อนที่จะไม่มีโอกาส Save [จะให้ดี Save เป็นแต่ละ Version เลย] [ ใช้ Version Control System สิ ]
วันเปิดเรียนวันแรกอาจารย์แนะนำตัวเอง แล้วให้เราหันไปทำความรู้จักกับเพื่อนคนอื่นในห้องที่เรายังไม่รู้จัก
ผมลุกขึ้นยืน เพื่อมองหาคนที่จะเข้าไปทำความรู้จัก แล้วรู้สึกว่ามีมือมาแตะไหล่ผม
ผมหันไปมองและพบหญิงชราหน้าเหี่ยวย่นมองผมอยู่ พร้อมส่งรอยยิ้มที่เปล่งแสงโชติช่วงสว่างไสว
เธอพูดว่า “สวัสดี พ่อหนุ่ม ฉันชื่อ โรส ฉันอายุ 87 ปี ขอกอดเธอซักทีได้มั้ย”
ผมหัวเราะแล้วตอบอย่างเต็มเสียงว่า “ได้แน่นอนเลยครับ” โรสกอดผมอย่างเต็มแรง
ผมหยอกเธอว่า “ทำไมถึงมาเข้าเรียนมหาวิทยาลัยในตอนที่อายุยังน้อยนิดและไร้เดียงสาอย่างนี้ล่ะครับ”
เธอตอบแกมตลกกลับมาว่า “ฉันมาที่นี่เพื่อหวังหาสามีรวย แต่งงาน และมีลูกสักสองสามคน…”
ผมพูดถามกลับไปว่า “ผมถามจริงๆ ครับ” เพราะอยากรู้ว่าอะไรที่ทำให้เธอมาเรียนหนังสือเมื่ออายุปูนนี้แล้ว
เธอตอบว่า “ฉันฝันมาตลอดชีวิตว่าจะต้องเข้าเรียนมหาวิทยาลัยให้ได้ แล้วตอนนี้ฉันก็มาอยู่ในรั้วมหาวิทยาลัยนี่แล้ว” หลังเลิกเรียนเราเดินไปโรงอาหารแล้วซื้อมิลค์เชคมาแบ่งกันทาน เรากลายเป็นเพื่อนกันไปแล้ว
ตลอดเวลาสามเดือนต่อมา หลังเลิกเรียนเราจะคุยกันจ้อไม่หยุดปาก ผมจะรู้สึกอึ้งและทึ่งกับ “เครื่องจักรย้อนเวลา” คนนี้ทุกครั้งที่เธอเล่าแบ่งปันปัญญาและประสบการณ์ชีวิตให้ผมฟัง
ตลอดปีการศึกษา คุณยายโรสกลายเป็นคนดังในมหาวิทยาลัย และเธอมีเพื่อนอย่างง่ายดายในทุกที่ที่เธอไป คุณยายมักแต่งตัวดีๆ และรู้สึกปลาบปลื้มยินดีที่นักศึกษาคนอื่นๆ ให้ความสนใจ เธอใช้ชีวิตในรั้วมหาวิทยาลัยอย่างคุ้มค่า
ในตอนปลายภาค เราเชิญเธอให้มากล่าวปฐกถาที่งานเลี้ยงชมรมฟุตบอลของเรา ผมจะไม่มีวันลืมสิ่งที่เธอสอนเราในวันนั้นเลย
วันนั้น พอเรากล่าวแนะนำเธอ เธอก็เดินไปที่แท่นพูดปฐกถา พอจะเริ่มพูดเธอก็ทำกระดาษโพยเล็กๆหลายใบตกพื้น เธอหงุดหงิดและออกจะเขินเล็กน้อย ชะโงกหน้าเข้าหาไมโครโฟนและพูดติดตลกเรียบๆว่า “ฉันต้องขอโทษด้วยนะที่มือไม้สั่นไปหน่อย แม้ว่าฉันจะไม่ดื่มเบียร์แล้ว….แต่ก็ยังโดนวิสกี้เล่นงานซะงอมเลย ฉันคงเรียงกระดาษโพยกลับเข้าที่ไม่ได้แน่ งั้นก็ขอพูดสดเรื่องที่ฉันรู้ก็แล้วกันนะ
ระหว่างที่เราหัวเราะ เธอก็กระแอมไอแล้วเริ่มต้นพูดว่า
“คนเราไม่ได้เลิกเล่นสนุกเพราะเราแก่ตัวหรอก แต่เราแก่ตัวเพราะเราเลิกเล่นสนุกต่างหาก
มีความลับเพียงไม่กี่ข้อที่คนเราจะคงความหนุ่มสาว มีความสุขและประสบความสำเร็จอยู่ได้ คือ เราต้องหัวเราะและหาอารมณ์ขันทุกวัน เราต้องมีความฝัน ถ้าเราสูญเสียความฝัน เราก็ตาย ทุกวันนี้มีคนมากมายที่เดินไปมาเหมือนคนที่ตายไปแล้ว โดยที่เจ้าตัวเองก็ไม่รู้ตัวซะด้วย
มีความแตกต่างอย่างมากระหว่างการมีอายุมากขึ้น กับการเจริญเติบโตขึ้น ถ้าเธออายุ 19 และได้แต่ใช้ชีวิตไปวันๆ โดยไม่ได้สร้างสรรค์อะไรเลย เมื่อหนึ่งปีผ่านไป เธอก็จะมีอายุ 20 ปีอยู่ดี ถ้าฉันอายุ 87 แล้วก็อยู่ไปวันๆ เป็นเวลาหนึ่งปี ฉันก็จะมีอายุมากขึ้นหนึ่งปีเหมือนกัน
ใครๆก็มีอายุมากขึ้นได้เหมือนๆกันทั้งนั้น ซึ่งเป็นเรื่องที่ไม่ต้องใช้พรสวรรค์หรือความสามารถอะไรเลยก็ทำได้ ประเด็นสำคัญคือคนเราต้องอายุมากขึ้นพร้อมกับเติบโตขึ้น โดยต้องแสวงหาโอกาสที่จะเปลี่ยนแปลงตนเอง จงเปลี่ยนแปลงโดยไม่ต้องมารู้สึกเสียใจภายหลังที่ไม่ได้ทำ
คนเฒ่าคนแก่มักไม่รู้สึกเสียใจกับสิ่งที่ตัวเองได้ทำลงไปในอดีต แต่มักจะเสียใจกับเรื่องที่ไม่ได้ลงมือทำต่างหาก คนแก่ที่กลัวตายก็คือคนที่ยังมีความเสียใจนี้อยู่นั่นเอง”
เธอจบปฐกถาโดยร้องเพลงที่ชื่อ “The Rose” อย่างกล้าหาญ และท้าทายให้พวกเราศึกษาเนื้อเพลงและใช้ชีวิตตามเนื้อเพลงนั้นทุกๆวัน
ในที่สุดคุณยายโรสก็เรียนจบ และหลังจากรับปริญญาได้หนึ่งอาทิตย์ คุณยายโรสก็จากเราไปอย่างสงบในขณะที่นอนหลับสนิท
นักศึกษากว่าสองพันคนเข้าร่วมพิธีศพของเธอเพื่อคารวะผู้หญิงที่สุดวิเศษคน นี้ ที่ได้สอนเราโดยทำให้เห็นเป็นตัวอย่างว่า “ไม่มีคำว่าสายเกินไปที่เราจะเป็นในทุกอย่างที่เราสามารถจะเป็นได้”
ที่มาของเนื้อหา: http://www.stock2morrow.com/showthread.php/45985
เนื้อเพลงและคำแปล The Rose – Bette Midler
ที่มาของเนื้อเพลงและคำแปล: http://www.happinessandessence.com/2012/09/rose-bette-midler.html
——–
♫ Some say love it is a river
บางคนบอกว่า…ความรักเป็นดั่งสายน้ำ
That drowns the tender reed
ที่ฉุดกระชากกิ่งไม้ที่บอบบาง…ให้จมลง
Some say love it is a razor
บางคนบอกว่าความรัก…เป็นดั่งมีดโกน
That leaves your soul to bleed
ที่กรีดลึกหัวใจ…ให้เจ็บปวด
Some say love it is a hunger
บางคนบอกว่าความรัก คือ…ความโหยหา
An endless aching need
เป็นความต้องการ…ที่แสนเจ็บปวดอย่างไม่มีที่สิ้นสุด
I say love it is a flower
แต่ฉันว่าความรักนั้น…เป็นดั่งดอกไม้ที่สวยงาม
And you it’s only seed
และมีเพียงเธอคนเดียวเท่านั้น…ที่เป็นดั่งเมล็ดพันธุ์ของดอกไม้นั้น
It’s the heart afraid of breaking
บางคนกลัวว่า…หัวใจจะแหลกสลาย
That never learns to dance
จนไม่ยอมเรียนรู้…ที่จะมีความรัก
It’s the dream afraid of waking
บางคนกลัวที่จะฝัน…แล้วไม่เป็นจริงตามฝัน
That never takes the chance
จนไม่เคย…แม้แต่จะลองให้โอกาสตัวเอง
It’s the one who won’t be taken
เหมือนกับคนที่…ไม่เคยได้รับโอกาสจากใคร
Who cannot seem to give
เขาจึงไม่เคยคิด…ที่จะเป็นผู้ให้
And the soul afraid of dying…that never learns to live
และบางคนมัวแต่หวาดกลัว ต่อความตาย…จนไม่กล้า ที่จะใช้ชีวิตอย่างคุ้มค่า
When the night has been too lonely
เมื่อค่ำคืนเหงา…อันแสนเปล่าเปลี่ยว
And the road has been too long
บนถนนที่ยาวไกล…ไร้จุดหมาย
And you think that love is only…For the lucky and the strong
คุณอาจคิดว่า…ความรักนั้น มีไว้สำหรับคนที่โชคดี และแข็งแกร่งเท่านั้น
Just remember in the winter
แต่จงจำไว้ว่า…แม้ในฤดูหนาวเหน็บ
Far beneath the bitter snows
ลึกลงไป…ภายใต้หิมะอันเย็นยะเยือก
Lies the seed
ยังคงมี…เมล็ดพันธุ์
That with the sun’s love
ที่ได้เก็บรักษาพลัง แห่งความรัก และความอบอุ่น…ของแสงอาทิตย์เอาไว้
In the spring
เมื่อฤดูใบไม้ผลิมาเยือน
Becomes the rose ♪♪
ก็พร้อมที่จะผลิบาน…เป็นดอกกุหลาบที่แสนสวยงาม :)) ♥♥
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลิ้งค์สำหรับคลาส How to Start a Startup
#52Books : (1) ทำน้อยได้มาก
อ่านบล็อกตัวเองแล้วสงสัยว่าเราจะตั้งเป้าหมายของปีนี้ หรือปลายปีนี้ ไปทำไมถ้าทำไม่ได้ แต่พอลองคิดๆดูอีกที การมีเป้าหมายก็กระตุ้นจิตใต้สำนึกของเราในเรื่องนั้นๆ มาตลอดทั้งปี เพราะเมื่อเราทำอะไรที่เกี่ยวกับสิ่งนั้น ใจเราจะย้อนคิดถึงเป้าหมายนั้นๆตลอด มันเหมือนการสัญญากับตัวเอง พอทำไม่ได้เราก็จะรู้สึกผิดเล็กๆ
แต่ถ้าลองทบทวนเป้าหมายดีๆ ก็พบว่าบางอย่างเราก็ทำได้แล้ว, บางอย่างเราก็เริ่มลงมือทำแล้ว และก็มีบางอย่างที่แม้จะยังไม่ได้ทำแต่ก็ติดอยู่ในใจมาตลอดทั้งปี แม้จะไม่บรรลุเป้าหมายทั้งหมดของปีนี้ แต่ก็เป็นการเริ่มต้นที่ดี