Categories
Android Mobile

Android App Development for Beginners Playlist

Categories
Uncategorized

MySQL บน mac รันไม่ได้

ตอนนี้แก้แค่นี้ไปก่อน

sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start

Categories
การพัฒนาซอฟท์แวร์

หลักการเขียนโปรแกรม 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 สิ ]

ที่มา: https://www.blognone.com/node/2286

Categories
ข้อคิดดีๆ เรื่องน่าอ่านๆ

ข้อคิดและกำลังใจจากนักศึกษาหญิงวัย 87 ปี “โรส”

Rose

วันเปิดเรียนวันแรกอาจารย์แนะนำตัวเอง แล้วให้เราหันไปทำความรู้จักกับเพื่อนคนอื่นในห้องที่เรายังไม่รู้จัก

ผมลุกขึ้นยืน เพื่อมองหาคนที่จะเข้าไปทำความรู้จัก แล้วรู้สึกว่ามีมือมาแตะไหล่ผม

ผมหันไปมองและพบหญิงชราหน้าเหี่ยวย่นมองผมอยู่ พร้อมส่งรอยยิ้มที่เปล่งแสงโชติช่วงสว่างไสว

เธอพูดว่า “สวัสดี พ่อหนุ่ม ฉันชื่อ โรส ฉันอายุ 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 ♪♪
ก็พร้อมที่จะผลิบาน…เป็นดอกกุหลาบที่แสนสวยงาม :)) ♥♥

Categories
Web site

Resources, Tools และ Plugins สำหรับคนทำเว็บ

CSS tools and resources
img
CSShake
Some CSS classes to move your DOM! Impressive effects with minimum of effort.
img
Magic animations
CSS3 Animations with special effects. Just include the CSS style: magic.css or include the mynified version: magic.min.css
img
Hover.css
A collection of CSS3 powered hover effects to be applied to links, buttons, logos, SVG, featured images and so on.
img
typebase.css
Typebase.css is a minimal, customizable typography stylesheet.
img
Materialize
A modern responsive front-end framework based on Material Design
img
Material UI
A CSS Framework and a Set of React Components that Implement Google’s Material Design
img
CSS Shrink
A CSS minifier built because CSS is on the critical path to rendering pages. It must be small! Or else!
img
Power To CSS
A well designed CSS framework, based on the principles of SMACSS and DRY.
img
Flexbox Grid
A grid system based on the flex display property. A neat grid system that you can start using today.
jQuery plugins
img
pagePiling.js
pagePiling plugin by Alvaro Trigo. Create a scrolling pile of sections.
img
fullPage.js
A simple and easy to use plugin to create fullscreen scrolling websites.
img
Animsition
A simple and easy jQuery plugin for CSS animated page transitions.
img
Flickerplate 
A cool jQuery plugin that lets you flick through content.This plugin is included within Webplate .
img
ScrollMe
A jQuery plugin for adding simple scrolling effects to web pages
img
Slidebars
Slidebars is a jQuery plugin for quickly and easily implementing app style off-canvas menus and sidebars into your website.
img
Magneticmediajs
A JavaScript and CSS solution to display media content in a stylish mobile-ready overlay fashion.
img
SVGMagic
A jQuery plugin that searches for SVG images on your website and creates PNG versions if the browser doesn’t support SVG.
img
Simple jQuery CSS3 slider
A simple slider that does what a simple slider has to do: slide slides!
CSS experiments
img
Pull Menu
Menu Interaction Concept. Just pull down and release to jump between pages.
img
Responsive Mail UI
t’s responsive until pretty darn small but i haven’t actually tested it on mobile devices.
img
Blurred Background CSS
Create blurred version of the background, and set the background property both of them to be cover sized and fixed.
img
Apple zoom out effect
Interesting effect that Apple used for a presentation of a product that designers managed to recreate.
img
CSS-only Weather App Concept
Dribbble rework of an original shot by Sergey Valiukh. Impressive at least.
img
Firewatch Parallax in CSS
The parallax header on the Firewatch website in CSS. It was originally meant as a daft experiment.
UI kits
img
Bootstrap 3 Vector UI Kit
This UI Kit contains all Twitter Bootstrap 3 UI controls in vector format,
img
Summer UI Kit 
Summer is a UI kit for designers and web developers that can be downloaded for free.
img
Sally Blocks
PSD blocks and elements for fast and simple creating of responsive websites.
img
Flat UI Kit
Nice and modern UI kit that will surely be of use for you. Download and use it.
img
Awesome UI Kit
Useful UI kit with few but interesting design elements, just good to make quick designs.
img
Free Flat UI Kit
Free .sketch UI kit for those who use Sketch App and want an UI kit in their toolkit.
Icons
img
Themify Icons
Themify Icons is a complete set of icons for use in web design and apps, consisting of 320+ icons.
img
Linea
A free outline iconset featuring 730+ Icons. Coded and designed by Dario Ferrando.
img
OPEN ICONIC
An open source icon set with 223 marks in SVG, webfont and raster formats
img
Touch Icon Set
A free collection of 340 touch icons designed at 24 x 24 pixels and scaled up for retina.
img
Icon Works
The icon pack TTF, EOT, WOFF, and SVG font files that are ready for you to use in your web projects.
img
150 outlined icons
A simple but useful icon set, completely free now and ever. Icons available in PSD, AI, SVG, Webfont format.
Categories
Startup

ลิ้งค์สำหรับคลาส How to Start a Startup

ลิ้งค์สำหรับคอร์ส How to Start a Startup ที่รวบรวมวิดีโอครบทุก Lecture

How_to_start_a_startup

Categories
หนังสือ

#52Books : (1) ทำน้อยได้มาก

ทำน้อยได้มาก - The power of LESSทำน้อยให้ได้มาก (The Power of Less)
เคล็ดลับที่คนทำงานยุ่งตลอดเวลาไม่เคยรู้ เพราะการทำงานไม่ได้หมายถึงผลลัพธ์ที่เพิ่มขึ้นเสมอไป
ผู้เขียน Leo Babauta
ผู้แปล วิกันดา พินทุวชิราภรณ์
Categories
Uncategorized เป้าหมาย เรื่องชวนคิด จากประสบการณ์

พลังของการตั้งเป้าหมาย แม้ทำไม่ได้ ยังมีประโยชน์

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

แต่ถ้าลองทบทวนเป้าหมายดีๆ ก็พบว่าบางอย่างเราก็ทำได้แล้ว, บางอย่างเราก็เริ่มลงมือทำแล้ว และก็มีบางอย่างที่แม้จะยังไม่ได้ทำแต่ก็ติดอยู่ในใจมาตลอดทั้งปี แม้จะไม่บรรลุเป้าหมายทั้งหมดของปีนี้ แต่ก็เป็นการเริ่มต้นที่ดี

Categories
ข้อคิดดีๆ

โค้ชที่ดี

โค้ชที่ดี ต้องฟังเยอะๆ พยายามทำความเข้าใจให้มาก อย่าคอยห้าม(ถ้าไม่ใช่เรื่องคอขาดบาดตาย) ปล่อยให้เค้าได้ทำให้ได้เรียนรู้  อย่าบ้าสอนให้ใช้คำถามนำให้เค้าคิดเอง

Categories
Startup

Burn Rate อัตราการเผาเงินทิ้ง

สำหรับคนที่เพิ่งพยายามทำ Startup อย่างผม เรื่องแบบนี้ยังไม่มีประสบการณ์ตรง ยังไปไม่ถึงในจุดนั้น ก็คงต้องศึกษาจากประสบการณ์ของคนที่เค้าเคยผ่านจุดนั้นมาแล้วซึ่งเค้าได้เตือนเอาไว้ และเพื่อเตือนตัวเองไว้ในวันนึงว่าเรื่อง Cash flow นั้นเป็นเรื่องที่สำคัญมาก ถ้าอยากให้ธุรกิจของเรายืนได้ยาวๆ เลยเอามาแปะไว้ซะหน่อย

ที่มา http://isriya.com/node/4108/burn-rate

เมื่อไม่กี่วันที่ผ่านมา Marc Andreessen แห่ง a16z ออกมาโพสต์เตือนสภาวะ “ฟองสบู่ 2.0” ของวงการ startup ในซิลิคอนวัลเลย์

ประเด็นที่เขาเตือนนั้นน่าสนใจมาก นั่นคือเรื่อง burn rate หรือ “ค่าใช้จ่ายต่อเดือน” ของ startup ที่ยังไม่มีรายรับ

Andreessen ยกบทความของนักลงทุนสองคนคือ Bill Gurley จาก Benchmark Capital และ Fred Wilson จาก Union Square Ventures ที่เขียนถึงเรื่องนี้

ประเด็นที่ Fred Wilson บอกคือ startup ซิลิคอนวัลเลย์ (รวมถึงที่อื่นๆ ด้วย แต่เน้นซิลิคอนวัลเลย์เป็นหลัก) มักให้ความสำคัญกับ “valuation” หรือมูลค่าบริษัทตามราคาหุ้น (ที่จะเพิ่มขึ้นเรื่อยๆ ตามรอบของการระดมทุน) ซึ่งเขามองว่ามันเป็นตัวเลขในอากาศ ถ้าน้อยไปก็สามารถเพิ่มได้ไม่ยากนัก แต่อันที่ควรจะใส่ใจคือ “burn rate” หรือ “อัตราการเผาเงิน” ซึ่งเป็นของจริง

ส่วน Gurley เตือนว่า startup ยุคนี้ใช้เงินมากเกินไป อาการจะคล้ายกับปี 1999 ก่อนฟองสบู่ดอทคอมแตก เหตุผลที่ใช้เงินเปลืองเป็นเพราะได้เงินมาง่าย (ต้นทุนการเงินต่ำ หรือ low cost capital) นักลงทุนอยากจ่ายเพื่อเกาะกระแส startup บูม แต่สำหรับ startup ที่ยังไม่มีรายได้จริงๆ เข้ามา ถ้ายังใช้เงินเยอะขนาดนี้แล้วฟองสบู่แตก บริษัทก็จะล่มสลายลงแทบจะทันที

Gurley บอกว่าสัญญาณเตือนที่น่าสนใจคือเจ้าของตึกในซานฟรานซิสโก เริ่มเจรจาให้ startup ที่มาเช่าตึกเซ็นสัญญาเช่านาน 10 ปี ซึ่งเป็นสัญญาณว่าวงการอสังการิมทรัพย์มองว่าฟองสบู่ใกล้แตกแล้ว ทำให้ “อัตราค่าเช่า” ในอนาคตไม่น่าจะขึ้นสูงไปกว่านี้อีก จึงพยายามผูกมัดให้ startup (ซึ่งในที่นี้คือผู้เช่า) จ่ายค่าเช่าในราคาปัจจุบัน (ที่น่าจะสูงที่สุดแล้ว) ไปอีก 10 ปีให้ได้

Andreessen มีมุมมองคล้ายๆ กันคือถ้าตลาดทุนถึง “ขาลง” เมื่อใด startup ที่มี burn rate เยอะๆ จะ “ระเหย” (vaporized) ไปในทันที

เขาแยกแยะข้อเสียของสภาวะที่ burn rate มากๆ ไว้ดังนี้

  • burn rate เยอะแปลว่าบริษัทเริ่มอ้วน ปรับตัวตามตลาดได้ช้าลง เปลี่ยนแปลงได้ยาก
  • การจ้างคนเข้าบริษัทเป็นเรื่องง่าย แต่การปลดคนออกเป็นเรื่องยาก ถ้าจ้างคนห่วยๆ เข้ามาเยอะๆ การปลดออกนั้นไม่ง่าย คนแบบนี้ก็จะอยู่กินเงินเดือนไปเรื่อยๆ
  • บริษัทจะพยายามแก้ปัญหาใดๆ ก็ตามด้วยการจ้างคนเข้ามาเพิ่ม (“งานเยอะเกินไปใช่ไหม จ้างคนเข้ามาอีกสิ”) จนกลายเป็นวัฒนธรรมองค์กร
  • การที่มีพนักงานเยอะๆ ออฟฟิศสวยๆ ช่วยสร้างสภาวะปลอมๆ ให้รู้สึกว่าบริษัทเริ่มประสบความสำเร็จแล้ว และแรงกดดันที่บีบให้ต้องทำงานจริงๆ ให้สำเร็จนั้นลดลงไป
  • พอคนเยอะ การสื่อสารภายในองค์กรก็เริ่มซับซ้อน กระบวนการทำงานเริ่มช้าลง สภาพการทำงานในบริษัทแย่ลง
  • เมื่อเดือนนึงต้องใช้เงินเยอะ การระดมทุนรอบถัดๆ ไปก็ยากขึ้น เพราะต้องระดมทุนให้ได้เยอะมากขึ้น (มาชดเชยกับ burn rate)
  • หรือต่อให้ระดมทุนได้ เงื่อนไขของเงินที่ได้มาก็จะสลับซับซ้อนขึ้นในแง่ของโครงสร้างผู้ถือหุ้น
  • เมื่อตลาดถึงขาลง โอกาสจะถอนตัวด้วยการขายบริษัทก็ยิ่งน้อย เพราะไม่มีใครอยากมาซื้อกิจการของเราแล้วต้องแบกรับค่าใช้จ่ายมหาศาลแทนเรา

เนื่องจากตัวผมเองก็เคยผ่านสภาวะการณ์ burn rate สูงๆ มาแล้วเลยรู้ซึ้งในประเด็นนี้ (และจากประสบการณ์ของเพื่อนๆ ในวงการผู้ประกอบการก็มาแนวเดียวกันหมด)

จริงๆ เรื่องนี้วงการผู้ประกอบการเขาสอนกันมานานแสนนานแล้วว่า cash flow เป็นเรื่องสำคัญที่สุด (แต่เราไม่ค่อยจะนึกถึงมันมากนักในช่วงขาขึ้น)

การลดค่าใช้จ่ายไม่ใช่เรื่องง่ายโดยเฉพาะเรื่องของคน และการหาเงินทุนเพิ่มในช่วงที่ต้องการเงินก็ไม่ใช่เรื่องง่าย เพราะต้องใช้เวลา ดังนั้น วิธีการที่ดีที่สุดในฝั่งของ burn rate คือทำตัวให้ lean ที่สุดเท่าที่จะทำได้ในแง่ค่าใช้จ่ายประจำ เพื่อให้สามารถปรับตัวหรือพลิกแพลงตามสภาพการณ์ ณ เวลานั้นได้ง่ายที่สุดครับ (การทำตัว lean ยังมีผลช่วยให้มีเงิน cash flow ในมือเยอะขึ้นอย่างที่ควรจะมีด้วย ไม่เสียเงินไปกับสิ่งที่ไม่จำเป็นต้องเสีย)

Photo credit: Lesum Flickr