Categories
OS

เพิ่มพื้นที่บน macOS

สำหรับตัวเอง ใคร search มาเจอก็เอาไปเลือกใช้เองนะครับ ไฟล์อะไรหายไม่รับผิดชอบนะ

  1. clear cache Homebrew
    • brew cleanup -s
    • rm -rf $(brew –cache)
  2. clear cache Gradle
    • rm -rf $HOME/.gradle/caches/
    • ในแต่ละโปรเจค ./gradlew cleanBuildCache
  3. เลือกลบ cache ใน ~/Library/Caches ที่เคลียร์ได้ เช่น
    • GoLand20xx.x
    • IntelliJIdea20xx.x
    • JetBrains
    • Yarn
    • Google/Chrome
    • Google/AndroidStudioX.X
    • PhpStormXXXX.X
    • PyCharmXXXX.X
    • CocoaPods
    • com.apple.dt.Xcode <– Xcode.app Cache
  4. ~/Library/Developer/Xcode/DerivedData/Runner-xxxx
  5. ~/Library/Developer/Xcode/Archives/xxxxxx
  6. ~/Library/Containers/com.tinyspeck.slackmacgap/Data/Library/Application Support/Slack/Cache
  7. ~/Library/Application Support/Code/Cache
Categories
Android iOS Mobile

สรุปการใช้งาน Cordova (PhoneGap)

Cordova จะทำงานร่วมกับ SDK ของ Mobile แต่ละ Platform ดังนั้นก่อนติดตั้ง Cordova ต้องติดตั้ง SDK ของแต่ละ Platform ก่อน

 

การติดตั้งบน Windows

  1. Java JDK  เวอร์ชั่น 6 ขึ้นไป ทดลองคำสั่ง java -version
  2. Android Studio http://developer.android.com/sdk
  3. ติดตั้ง Node.Js ดาวน์โหลดได้จาก http://nodejs.org
    • เมื่อติดตั้งเสร็จแล้วทดลองด้วยคำสั่ง npm -v ถ้าใช้ไม่ได้ลองรีบูทเครื่อง
  4. ติดตั้ง Git ดาวน์โหลดจาก http://git-scm.com เสร็จแล้วกำหนด PATH ไปที่ไดเรกทอรี่ bin ของ Git ด้วย แล้วทดลองคำสั่ง git –version
  5. ติดตั้ง Apache Ant ดาวน์โหลด zip ได้ที่ http://ant.apache.org/
    • แล้วคลาย zip ไปที่โฟลเดอร์ใดก็ได้
    • เพิ่ม ANT_HOME ให้ชี้ไปที่พาทของ Ant เช่น C:\ant\Apache-ant-x.x.x
    • เพิ่มโฟลเดอร์ bin ของ Ant ไปที่ PATH
    • ทดลองคำสั่ง ant -version
  6. ติดตั้ง Cordova โดยพิมพ์คำสั่ง npm install -g cordova
    • แล้วลองคำสั่ง cordova -v

 

ติดตั้งบน Mac

  1. Java JDK  เวอร์ชั่น 6 ขึ้นไป ทดลองคำสั่ง java -version
  2. Android Studio http://developer.android.com/sdk
  3. ติดตั้ง Node.Js ดาวน์โหลดได้จาก http://nodejs.org
    • เมื่อติดตั้งเสร็จแล้วทดลองด้วยคำสั่ง npm -v
  4. ติดตั้ง Git ดาวน์โหลดจาก http://git-scm.com แล้วทดลองคำสั่ง git –version
  5. ติดตั้ง Apache Ant
    • ใช้คำสั่ง brew install ant ถ้าหากไม่มีคำสั่ง brew ให้ติดตั้ง Homebrew ด้วยคำสั่ง
    • ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”ทดลองคำสั่ง ant -version
  6. ติดตั้ง Cordova โดยพิมพ์คำสั่ง npm install -g cordova
    • แล้วลองคำสั่ง cordova -v
  7. ติดตั้ง Xcode
  8. ติดตั้ง ios-sim ด้วยคำสั่ง sudo npm install ios-sim -g
  9. ติดตั้ง ios-deploy ด้วยคำสั่ง sudo npm install -g ios-deploy
    • ทดลองรัน iOS Simulator โดยเรียก
      • ios-sim –version
      • ios-sim start
      • ios-sim start –retina –tall

 

การสร้าง App เบื้องต้น

  1. สร้างโปรเจคใหม่
    cordova -d create ชื่อโฟลเดอร์แอพ ชื่อแพคเกจ ชื่อแอพ
  2. เพิ่ม platform
    cordova platform add ios
    cordova platform add android
    หรือ
    cordova platform add ios android

    • ถ้าต้องการดู platform ที่เพิ่มเข้ามาแล้ว
      cordova platform ls
    • ถ้าต้องการลบ platform
      cordova platform remove android
  3. การสั่ง Build
    cordova build
    หรือ
    cordova build android
    cordova build ios
  4. การสั่ง Run บน Simulator
    cordova emulate android
    หรือ
    cordova emulate ios
  5. การสั่ง Run บนมือถือจริง (ถ้า Windows ต้องติดตั้ง driver ก่อน, แต่ Mac OS X สามารถเสียบอุปกรณ์ได้เลย)
    cordova run android
    หรือ
    cordova run ios
Categories
Android Mobile

Android App Development for Beginners Playlist

Categories
Android iOS Mobile Startup

เรียนรู้การสร้าง Mobile application จาก Facebook

มาลองดูแนวทางการพัฒนา Mobile App จากทีมงานของ facebook กันหน่อย

ที่มา http://www.somkiat.cc/how-facebook-make-mobile-app/

ในงาน @Scale Conference
ทีมพัฒนา Mobile application ของ Facebook ได้มาพูดเกี่ยวกับ
การพัฒนาระบบเพื่อให้สามารถทำงานได้บนมือถือและ network ต่างๆ ทั่วโลกได้

มาดูกันว่าทีมพัฒนาของ Facebook ทำการพัฒนา สร้าง product กันอย่างไร
เพื่อรองรับการใช้งานจากคนทั้งโลกกันอย่างไร

สิ่งที่ทางทีมพัฒนาชี้ประเด็นคือ

เรื่องความเร็ว network ของมือถือ
ซึ่งเป็นปัญหาแรกๆ ที่พบเจอ โดยสรุปได้ว่า

  • ในประเทศสหรัฐอเมริกา นั้นความเร็วของเครื่องข่าย 3G ใช้เวลาในการรับส่งข้อมูลต่อครั้ง 280 milisecond
  • ในประเทศอินเดีย นั้นความเร็วของเครื่องข่าย 3G ใช้เวลาในการรับส่งข้อมูลต่อครั้ง 500 milisecond
  • ในประเทศบราซิล นั้นความเร็วของเครื่องข่าย 3G ใช้เวลาในการรับส่งข้อมูลต่อครั้ง 800 milisecond

โดยทีมพัฒนาที่ทำการวิจัยสามารถสรุปกลุ่มผู้ใช้งาน facebook ไว้ง่ายๆ ว่า

Not everyone is on a fast
Not everyone has a large screen
Not everyone is on a fast network

ดังนั้น สิ่งที่ทางทีมพัฒนาจะเน้นเป็นพิเศษ คือ เรื่องปัญหาของ network

สิ่งที่ต้องจัดการประกอบไปด้วย 3 เรื่องคือ

  1. ขนาดของรูป ที่ต้องทำการ download ผ่าน network
  2. การตรวจสอบคุณภาพของ network ก่อนเลือกวิธีการทำงานให้เหมาะสม
  3. การแอบดึงข้อมูลบางส่วนมาก่อน

1. การลดขนาดของรูป

รูปแบบที่ใช้สำหรับรูปภาพคือ WebP
ซึ่งสร้างด้วยทีมของ Google ในปี 2010

จากข้อมูลของการใช้งาน Facebook for Android นั้นพบว่า 85% คือรูปภาพ
และ Facebook messenger นั้นพบว่า 67% คือรูปภาพ
ดังนั้น ถ้าสามารถลดขนาดของรูปภาพได้
ก็จะทำให้ application ทำงานได้เร็วขึ้น

ดังนั้นสิ่งที่ทีมพัฒนาต้องทำมีดังนี้

สิ่งแรกคือ การส่งข้อมูลที่เหมาะสมมาให้ผู้ใช้งาน
หมายความว่า จะทำการตรวจสอบก่อนว่าผู้ใช้งานนั้นเป็นอย่างไร
เช่นมีความเร็วของ network ความสามารถของมือถือ หรือ tablet และ ขนาดของหน้าจอ เป็นต้น
ทำให้ server สามารถเลือกข้อมูลที่เหมาะสมได้ เช่น ขนาดของภาพ
จะได้ไม่เปลือง bandwidth และ เปลืองเวลาในการรอของผู้ใช้งาน

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

สิ่งต่อมาคือ การเปลี่ยนรูปแบบของรูปภาพมาอยู่ในรูปแบบ WebP
ซึ่งสามารถลดขนาดของภาพ JPEG ลงไปได้ 7% เมื่อต้องการคุณภาพเท่ากัน
แต่ถ้าทำการเปลี่ยนแปลงค่าต่างๆ เช่นคุณภาพ สามารถลดขนาดภาพลงไปมากกว่า 30%
สามารถลดขนาดภาพลงไปมากกว่า 80% ของรูป PNG
เป็นการปรับปรุงที่ได้ผลดีมากมาย

สำหรับใน Android เวอร์ชั่นเก่าๆ ที่ไม่สนับสนุน WebP นั้น
ใช้วิธีการส่งข้อมูลเป็น WebP แต่ในการแสดงผลยังเป็น JPEG อยู่

2. การตรวจสอบคุณภาพของ Network

สิ่งหนึ่งที่ทางทีมพัฒนาได้เรียนรู้ก็คือ อย่าตัดสินเรื่องความเร็วของ Network ต่างๆ
ตาม technology เช่น 2G, 3G, LTE และ WIFI เป็นต้น
เพราะว่า แต่ละประเทศมันมีความเร็วที่แตกต่างกันมากพอสมควร

ดังนั้น สิ่งที่นำมาใช้ในการตัดสินใจก็คือ
การวัดจากความเร็วจากผู้ใช้งานที่เกิดขึ้นจริงๆ ณ ขณะนั้น

โดยจะวัดจากความเร็วของ network ที่ใช้งานตอนนั้น
ซึ่งทุกๆ response ที่ส่งกลับมาจาก server ของ Facebook
จะมี RTT (Round Trip Time) มาให้เสมอ เพื่อใช้ประมาณเวลาการรับส่งข้อมูล
และการตัดสินใจว่าจะส่งข้อมูลมาให้ด้วยคุณภาพสูงหรือต่ำเพียงใด
แบ่งออกเป็น 4 ระดับคือ

  1. Poor มีความเร็วน้อยกว่า 150kbps
  2. Moderate มีความเร็วระหว่าง 150-600kbps
  3. Good มีความเร็วระหว่า 600-2000kbps
  4. Excellent มีความเร็วมากกว่า 2000kbps ขึ้นไป

เมื่อรู้คุณภาพของ network แล้ว สิ่งที่จะต่อไปที่ต้องทำก็คือ

  • การเพิ่มหรือลดคุณภาพของข้อมูล
  • การส่งข้อมูลแบบขนานหรือไม่
  • การเปิดและปิด Auto play ของ VDO
  • การแอบดึงข้อมูลบางอย่างมาก่อน

ในการทดสอบนั้น ทีมพัฒนาได้สร้างระบบภายในที่เรียกว่า  Air Traffic Control ขึ้นมา
เพื่อจำลองรูปแบบต่างๆ ของ network
ทำให้เจอปัญหาที่ไม่คาดคิด บนระบบ network ที่ช้าได้อย่างรวดเร็ว
ซึ่งทำให้แก้ไขได้อย่างรวดเร็ว

3. การดึงข้อมูลบางส่วนมาไว้ก่อน (Prefetch content)

เนื่องจากปัญหาความเร็วของ Network ดังนั้นระบบอาจจะต้องทำการดึงข้อมูลบางอย่าง
ที่ยังไม่ถูกใช้งานมาเก็บไว้ก่อน ซึ่งข้อมูลเหล่านี้จำเป็นต่อการทำงาน

ยิ่งถ้า network ที่ช้าๆ แล้วจะพบว่า จะทำการดึงข้อมูลมาไม่ทัน
เช่นดึงข้อมูลมาไม่ได้ แล้ว ผู้ใช้งานจะพบเจอกับรูปภาพหน้าขาวขึ้นมา (ผมเจอประจำเลย)

โดยการดึงข้อมูลมาก่อนนั้น สามารถทำได้ตั้งแต่ตอนเปิด application ขึ้นมาใช้งาน
หรือทำในขณะที่กำลังใช้งานก็ได้

แต่สิ่งที่ต้องคำนึง คือ การดึงข้อมูลต้องไม่ไปทำให้ผู้ใช้งานสะดุด
หรือ block การใช้งานของผู้ใช้งานโดยเด็ดขาด
นั่นคือต้องแยกการทำงานระหว่าง foreground process และ background process ออกจากกัน
รวมทั้งไม่ดึงข้อมูลที่ผู้ใช้งานไม่จำเป็นมาด้วย

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

ปิดท้าย

ทีมพัฒนานายังบอกด้วยว่า Facebook application for Android นั้นมีไฟล์ APK มากกว่า 20 ไฟล์
ซึ่งแยกตาม API Level, ขนาดของหน้าจอ และ สถาปัตยกรรมของ CPU อีกด้วย
มันไม่ใช่เรื่องที่ง่าย หรือ เล่นๆ เลยนะ

ดังนั้นลองนำแนวคิดเหล่านี้ ไปใช้เพื่อปรับปรุง Mobile application กันได้
น่าจะมีประโยชน์ไม่มากก็น้อยครับ

Reference VDO

Categories
Security

กฏ 27 ข้อ จากหนังสือ INNOCENT CODE

อ่านมาจากบล็อกของคุณ Somkiat Puisungnoen แล้วรู้สึกว่าดีมากเลย เป็นเบสิกด้าน Security ที่ต้องตระหนักในการพัฒนาระบบต่างๆ จึงอยากเก็บไว้เพื่อเตือนตัวเอง, ใช้ในการตรวจสอบระบบงานที่ทำต่อไป ซึ่งพอมาคิดๆดูก็พบว่างานที่เคยเขียนก็ยังมีช่องโหว่หลายอย่างอยู่ ซึ่งตงต้องตามไปปิดให้หมด

ที่มา http://www.somkiat.cc/innocent-code/

1. อย่าประเมินความสามารถของผู้บุกรุกต่ำเกินไป ( พลังด้านมึดมันน่ากลัวมาก )
2. แนะนำให้ใช้ HTTP POST เมื่อต้องการเปลี่ยนแปลงข้อมูลต่างๆ ของระบบ
3. อย่าไว้ใจข้อมูลที่ส่งมาจากฝั่งผู้ใช้งาน (Client side)
4. อย่าใช้ข้อมูลใน Referer header มาใช้ทำการ authentication และ authorisation
5. ควรที่จะสร้าง session id ใหม่ เมื่อผู้ใช้งานทำการ login เข้าระบบ
6. อย่าส่งรายละเอียดของความผิดพลาดไปยังผู้ใช้งาน
7. ตรวจสอบข้อมูล ก่อนที่จะส่งไปให้ระบบอื่นๆ ก่อนเสมอ
8. ตรวจสอบข้อมูล ที่ได้รับมาจากระบบอื่นๆ ก่อนนำไปใช้งานก่อนเสมอ
9. ควรมีระบบตรวจสอบข้อมูลเพียงที่เดียว ไม่กระจัดกระจาย เพราะว่าสามารถจัดการได้ง่าย
10. ในการตรวจสอบข้อมูล ต้องดูด้วยว่าระบบที่นำไปใช้งานคืออะไร เพื่อให้การตรวจสอบข้อมูลเหมาะสม
11. ต้องใช้ความพยายามอย่างมากในการต่อสู้กับการโจมตีรูปแบบต่างๆ เพราะว่าการต้องมีการเตรียมพร้อมในหลายๆ ส่วน ไม่ใช่เพียงการ coding เท่านั้น
12. อย่าเชื่อเอกสารของ API มากนัก เพราะว่ามันอาจจะผิดก็ได้ ดังนั้นต้องมีการตรวจสอบอยู่เสมอ
13. ต้องทำการตรวจสอบที่มาของข้อมูลเข้าเสมอ ห้ามละเลย ว่ามาจากที่เราอนุญาตไว้หรือไม่
14. ต้องทำการตรวจสอบข้อมูลเข้าทุกๆ ตัว เสมอ โดยไม่มีข้อยกเว้น
15. ในการกรองข้อมูล ให้ใช้วิธีการ whitelist นะ
16. อย่าอนุญาตให้ข้อมูลเข้าที่มันไม่ถูกต้อง ทำงานโดยเด็ดขาด บางครั้งระบบชอบไปลบข้อมูลที่ไม่ถูกต้อง แล้วให้ทำงานต่อไป ซึ่งน่ากลัวมากๆ
17. ระบบงานต้องมีการเก็บ logging ในการใช้งานระบบทั้งหมดไว้เสมอ
18. อย่าทำการตรวจสอบข้อมูลในฝั่ง client เพียงอย่างเดียวโดยเด็ดขาด
19. ถ้าเป็นไปได้ อย่าใช้ข้อมูลที่ส่งมาจากผู้ใช้งาน มาทำงานโดยตรง
20. ระหว่าง client และ server ควรส่งข้อมูลให้มีขนาดเล็กมากที่สุดเท่าที่จะทำได้
21. อย่าคิดว่า request ของผู้ใช้งานจะมาเรียงต่อกัน  หรือมาในแบบเดิมเสมอนะ เพราะว่าผู้ใช้งานสามารถทำได้มากกว่านั้น
22. ต้องทำการกรองข้อมูล ก่อนนำไปแสดงผลเสมอ
23. ในการเข้ารหัสข้อมูล ควรใช้ algorithm ที่เป็นมาตรฐาน
24. อย่าเก็บข้อมูล password ในรูปแบบ plain-text หรือเข้ารหัสแบบง่ายๆ โดยเด็ดขาด
25. อย่างส่งข้อมูลที่มีความสำคัญผ่าน HTTP GET โดยเด็ดขาด
26. จำไว้ว่า code ทุกๆ ตัวในฝั่ง server นั้นสามารถถูกโจมตีได้เสมอ
27. จำไว้ว่า security มันไม่ใช่ product แต่มันคือ process ที่ต้องเกิดขึ้นอยู่ตลอดเวลา

 

Categories
Commerce Startup การตลาด ข้อคิดดีๆ คำคม ธุรกิจ ภาวะผู้นำ เรื่องน่าอ่านๆ

[เก็บไว้อ่าน] แจ็ค หม่า จาก 500 บาทเป็น 5ล้านล้านบาท สอนการใช้ชีวิตและธุรกิจให้ประสบความสำเร็จ

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

 

ที่มา http://hackerlife.in.th/แจ็ค-หม่า-จาก-500-บาทเป็น-5ล้า/

แจ็ค หม่า จากชายผู้มีเงินเดือน 500 บาท ตอนนี้บริษัท Alibaba ของเค้ามีมูลค่ามากกว่า 5ล้านล้านบาท เป็นบริษัทอินเทอร์เน็ตที่มีมูลค่าตลาดสูงกว่า eBay, Twitter และ LinkedIn รวมกัน เมื่อวันที่ Alibaba Group ขายหุ้น IPO เป็นวันแรก ก็ขึ้นแซง Facebook เลย! นับเป็นบุคคลที่ประสบความสำเร็จสูงที่สุดในจีนตอนนี้

วันนี้แฮกชีวิตนำคำสอนของ แจ็ค หม่า ว่าเราจะประสบความสำเร็จในชีวิตและธุรกิจได้อย่างไรบ้าง

แจ็ค หม่า: สิ่งที่ผมเสียใจที่สุด

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

ส่วนตำแหน่งประธานและตำแหน่งผู้บริหารระดับสูงของเรานั้นเราจำเป็นจะต้องจ้างบุคคลภายนอกมาบริหารงาน แต่ไม่กี่ปีต่อมา พวกเค้าเหล่านั้นก็ลาออก…

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

จากนั้นจึงทำให้ผมเชื่ออยู่ใน 2 หลักการ คือ

  • ทัศนคติของคุณนั้นสำคัญกว่าความสามารถ
  • และการตัดสินใจของคุณนั้นก็สำคัญกว่าความสามารถ

แจ็ค หม่า: คุณไม่สามารถที่จะทำให้คนทุกคนนั้นคิดคล้ายๆกันได้หรอก แต่คุณสามารถที่จะทำให้ทุกคนนั้นไปในแนวทางเดียวกันได้ด้วยเป้าหมายเดียวกัน

อย่าพยายามแม้แต่จะคิด ว่าคุณจะทำให้ทุกๆคนคิดเหมือนๆกันได้… มันไม่มีทางเป็นไปได้!

จาก 30% ของผู้คนทั้งหมดนั้น จะไม่มีวันเชื่อคุณเลย

อย่าพยายามทำให้เพื่อนร่วมงานและพนักงานทำงานให้คุณ แต่ทำให้เค้าทำงานเพื่อเป้าหมายร่วมกันต่างหาก

มันง่ายกว่ามากที่จะให้บริษัทรวมใจกันอยู่ภายใต้เป้าหมายร่วมกัน มากกว่าการรวมใจไปอยู่ที่ตัวบุคคลใดบุคคลหนึ่ง

แจ็ค หม่า: อะไรที่มีในตัวผู้นำแต่พนักงานธรรมดาไม่มี

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

แล้วอะไรละที่ทำให้ผู้นำโดดเด่น

  • ผู้นำนั้นควรจะมีวิสัยทัศน์ที่กว้างไกลกว่าพนักงานธรรมดา
  • ผู้นำควรจะมีกล้าหาญ ยืดหยัด และความอดทนในสิ่งที่พนักงานธรรมดาไม่สามารถทำได้
  • ผู้นำควรจะมีความอึดและความสามารถที่จะยอมรับสิ่งที่ล้มเหลวได้

แน่นอนว่าคุณภาพของผู้นำที่ดีนั้นอยู่ที่วิสัยทัศน์ แรงใจและความสามารถ

แจ็ค หม่า: อย่าริยุ่งการเมือง

คุณต้องเข้าใจเสมอว่าเงินและอำนาจทางการเมืองมันอยู่ที่เดียวกันไม่ได้ หากคุณอยู่ในการเมือง ก็ไม่ควรคิดเรื่องเงินอีกต่อไป หากคุณทำธุรกิจ ก็อย่าเที่ยวไปยุ่งเกี่ยวกับการเมือง หากสองอย่างนี้เจอกันเมื่อไหร่ละก็ รอวันจบไม่สวย… :)

แจ็ค หม่า: 4 คำถามที่เด็กรุ่นใหม่ควรจะเฝ้าถามตัวเอง

ความล้มเหลวคืออะไร: การยอมแพ้นั้นเป็นความล้มเหลวที่ยิ่งใหญ่ที่สุด

ความยืดหยุ่นคืออะไร: คุณจะเข้าใจความหมายของคุณก็ เมื่อคุณผ่านความยากลำบาก ผ่านความทุกข์และความผิดหวัง มาแล้วเท่านั้น

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

แจ็ค หม่า: คนเรานั้นเกิดมาเพื่อใช้ชีวิตและหาประสบการณ์ชีวิต

ผมบอกกับตัวเองเสมอว่าคนเราไม่ได้เกิดมาเพื่อทำงาน แต่เพื่อสนุกกับชีวิต และเราเกิดมาเพื่อทำสิ่งที่ดีกว่า ไม่ได้เพื่อทำงาน หากคุณใช้เวลาทั้งชีวิตเพื่อทำงาน คุณจะต้องเสียใจอย่างแน่นอน

ไม่ว่าคุณจะประสบความสำเร็จในอาชีพการงานมากเพียงใดก็ตาม คุณจะต้องจำไว้ว่า เราเกิดมาเพื่อใช้ชีวิต ถ้าคุณยุ่งแต่กับการทำงาน ในที่สุดคุณจะต้องเสียใจ

แจ็ค หม่า กล่าวถึง เวทีแข่งขันและการแข่งขันในธุรกิจ

  1. พวกที่บ้าแข่งขันกันอย่างระห่ำนั้นคือพวกโง่
  2. หากคุณมองทุกคนรอบตัวเป็นศัตรู ทุกคนรอบตัวคุณก็จะเป็นศัตรูของคุณ
  3. หากคุณทำการแข่งขันกับคู่แข่ง อย่าพยายามใช้ความเกลียดชัง ความเกลียดจะทำให้คุณพ่ายแพ้
  4. การแข่งขันนั้นคล้ายๆการเล่นหมากกระดานหากคุณแพ้กระดานนี้ คุณก็มีโอกาสเล่นต่อในกระดานต่อไป ดังนั้นทั้งสองฝั่งไม่ควรจะสู้กันเอง
  5. นักธุรกิจที่แท้จริงนั้นไม่ควรมีศัตรูเลย หากใครเข้าใจจุดนี้ ไม่มีอะไรเป็นไปไม่ได้ในโลกธุรกิจ

แจ็ค หม่า: อย่าจู้จี้ขี้บ่นเป็นนิสัย

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

โลกนี้จำไม่ได้หรอกว่าคุณพูดอะไรไป แต่จะไม่ลืมสิ่งที่คุณทำ

คำแนะนำของ แจ็ค หม่า สำหรับผู้ประกอบการ

  1. โอกาสที่ทุกคนไม่เห็นนั้นคือโอกาสที่แท้จริง
  2. ต้องให้พนักงานคุณมาถึงที่ทำงานด้วยรอยยิ้มเสมอ
  3. ลูกค้าต้องมาอันดับ 1, พนักงานอันดับ 2, และผู้ถือหุ้นมาอันดับ 3
  4. นำมาใช้และเปลี่ยนแปลงก่อนเทรนด์หรือการเปลี่ยนแปลงใหญ่ๆจะเกิดขึ้น
  5. ลืมเรื่องเงิน ลืมเรื่องการหาไปเงินซะ
  6. แทนที่จะไปเสียเวลากับเทคนิคเล็กน้อยการเรียกลูกค้าใหม่ ควรมุ่งเน้นไปที่การครองใจและดูแลลูกค้าเก่า
  7. ทัศนคติของคุณจะเป็นตัวกำหนดว่าคุณจะไปได้ไกลแค่ไหน

แจ็ค หม่า กล่าวถึง การเป็นผู้ประกอบการ

  1. โอกาสที่ยิ่งใหญ่นั้นมักจะอธิบายชัดเจนไม่ได้ ส่วนสิ่งที่อธิบายชัดเจนได้นั้นมักจะไม่ใช่โอกาสที่ดีที่สุด
  2. คุณควรจะหาคนที่มาทำให้บริษัทสมบูรณ์ขึ้น โดยที่คุณไม่จำเป็นต้องหาคนที่ประสบความสำเร็จ หาคนที่ใช่ ไม่ใช่หาคนที่ดีที่สุด
  3. สิ่งที่ไม่น่าเชื่อถือมากที่สุดในโลกนี้คือความสัมพันธ์ระหว่างมนุษย์
  4. “ฟรี” เป็นคำที่แพงที่สุด
  5. วันนี้เป็นวันที่โหดร้าย พรุ่งนี้จะเป็นวันที่จะแย่กว่า แต่มะรืนนี้จะเป็นวันที่สวยงาม

แจ็ค หม่า: 4 สิ่งต้องห้ามของผู้ประกอบการ

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

“First they ignore you, then they laugh at you, then they fight you, then you win.” อย่าเป็น “they” ในประโยคข้างต้น

  • ถึงแม้คู่แข่งของคุณยังเล็กหรืออ่อนแอ่ คุณควรประเมินเค้าอย่างจริงจังและปฏิบัติต่อเค้าเหมือนเค้าเป็นยักษ์ใหญ่
  • ในทางเดียวกัน หากคู่แข่งของคุณเป็นยักษ์ใหญ่ คุณก็ไม่ควรมองตัวเองว่าอ่อนแอ

แจ็ค หม่า กล่าวถึง การเปิดบริษัทของคุณเอง

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

หากคุณมีความคิดที่แตกต่างกัน ผลลัพธ์ของคุณก็จะแตกต่าง: ถ้าคุณตัดสินใจเลือกสิ่งที่แตกต่างจากคนรอบข้างคุณ ชีวิตของคุณจะแตกต่างจากคนรอบข้างคุณ

แจ็ค หม่า กล่าวถึง เรื่องโอกาส

ถ้าหากมีข้อเสนอนึงมาแล้วคนส่วนใหญ่ตอบว่า “ใช่” เกินกว่า 90%, ผมก็จะทิ้งข้อเสนอนั้นลงถังขยะทันที

เหตุผลง่ายนิดเดียว: ถ้าหากมีคนเยอะขนาดนี้คิดว่าข้อเสนอนี้ดี แสดงว่ามีคนอีกเยอะที่กำลังทำงานนี้อยู่ และโอกาสนั้นมันก็ไม่ได้เป็นของเราแล้ว

6725861247_998c646b87_o

Categories
Social media คณิตศาสตร์

Elo Rating System ที่ใช้ใน Facemash

ถ้าใครเคยดูหนังเรื่อง The Social Network ก็จะทราบว่าสมัยที่ Mark Zuckerberg ยังเรียนอยู่ และยังไม่ได้ทำ Facebook เขาเคยทำเว็บ Facemash มาก่อน ด้วยการรวบรวมรูปภาพของนักศึกษาหญิงใน Harvard แล้วนำมาสุ่มประกบคู่กัน ให้นักศึกษาชายเข้าไปเลือกว่าคนไหนสวยกว่ากัน จากนั้นก็จัดอันดับสาวๆ ทั้งหมดว่าใครเป็นเบอร์หนึ่ง ใครนึกไม่ออกว่าเป็นยังไง ลองเข้าไปเล่นที่ Facemash.com.auเป็นเว็บที่มีคนทำขึ้นมาเพื่อล้อกับหนัง

เบื้องหลังของเว็บ Facemash มีอัลกอริธึมที่ในหนังแสดงให้เห็นว่า Mark ถามจากเพื่อน และเพื่อนจึงเขียนสูตรคณิตศาสตร์ลงบนหน้าต่าง เจ้าสูตรที่ว่านี้มีชื่อว่า Elo Rating System

EA=1/(1+10(RB−RA)/400)

คนที่คิดค้นสูตรนี้คือ Arpad Elo เป็นอาจารย์ด้านฟิสิกส์ สูตรนี้ถูกใช้ในเกมการแข่งขันหลายๆ อย่าง เช่น หมากรุก ฟุตบอล อเมริกันฟุตบอล บาสเกตบอล รวมถึงเกมคอมพิวเตอร์หลายๆ เกม

Elo Rating System เป็นสูตรสำหรับคิดคะแนนของการแข่งขันแบบ 1 ต่อ 1 โดยนำระดับความสามารถของแต่ละฝ่ายมาเป็นปัจจัยในการคิด อธิบายแบบง่ายๆ ก็คือ ถ้าคนที่แกร่งกว่ามาแข่งกับคนที่อ่อนกว่า ถึงแม้คนที่แกร่งกว่าจะชนะ แต่เขาก็จะได้คะแนนเพิ่มไม่มาก แต่ถ้าคนที่อ่อนกว่าเกิดชนะคนที่แกร่งกว่าขึ้นมา แบบนี้คนที่อ่อนกว่าจะได้คะแนนเพิ่มเยอะมาก และคนที่แกร่งกว่าก็จะเสียคะแนนลงไป เมื่อการแข่งขันผ่านไปหลายแมทช์ ระบบนี้จะได้คนที่แกร่งจริงๆ ขึ้นมาเป็นผู้นำ ไม่ใช่คนที่แกร่งเพราะจับฉลากได้สายอ่อน เจอแต่คู่ต่อสู้กระจอกๆ จนเข้ารอบชิง

Categories
Social media ไอเดีย

Nicholas Feltron – ศาสตร์แห่งข้อมูล ศิลป์แห่งการนำเสนอ

ภาพประกอบจาก terremotobcn

ก่อนที่จะโดนชักชวนมาร่วมทีมกับเฟสบุค Nicholas นั้นมีชื่อเสียงอย่างมากในการสรรค์สร้าง Infographics หรือการแปลความหมายของชุดข้อมูลดิบต่างๆที่เป็นเชิงสถิติ เป็นตัวเลขอันซับซ้อน ให้ออกมาเป็นรูปภาพ เป็นกราฟฟิคที่สวยงาม สามารถนำเสนอและอธิบายชุดข้อมูลที่เข้าใจยากๆเหล่านั้นได้ลงตัว

วิธีการเหล่านี้เรียกว่าการทำ Data Visualization ผลงานของ Nicholas ส่วนใหญ่จะได้รับว่าจ้างจากบริษัท องค์กรต่างๆ ให้จัดทำรายงานประจำปี (Annual Report) หรือบางครั้งก็เป็นการโชว์ผลการวิจัยของพวก Research firm ต่างๆโดยให้เขามาถ่ายทอดออกเป็น Infographics ทีสวยงาม

จุดลงตัวของศาสตร์และศิลป์

ทำรายงานให้ชาวบ้านมาก็เยอะ ผลงานหลายอันได้รับการแชร์ต่อกันทั้งโลกก็แยะ อยู่มาวันหนึ่งเขาเกิดสงสัยว่า แล้วชีวิตตัวเองล่ะ จะสามารถถ่ายทอดออกมาเป็น Infographics ได้หรือไม่ ?

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

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

ภายหลังจากนั้น Nicholas ก็ได้ร่วมก่อตั้งเว็บไซต์ DayTum.com ขึ้นมา เพื่อให้คนทั่วไปได้เก็บข้อมูลชีวิตประจำวันของตัวเองแบบตัวเขาบ้างแล้วนำเสนอในรูปแบบ Infographic ได้

Categories
Commerce

ประวัติของ F-Commerce

Categories
Social media

The science of social timing

the science of social timing