สรุปการใช้งาน 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

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

ข้อคิดและกำลังใจจากนักศึกษาหญิงวัย 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 ♪♪
ก็พร้อมที่จะผลิบาน…เป็นดอกกุหลาบที่แสนสวยงาม :)) ♥♥

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.

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

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