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

เปิด UML class diagram ใน IntelliJ

กด Ctrl+Alt+U เพื่อเปิด UML class diagram

Categories
การทำงาน พัฒนาตนเอง

Tips ~ ทำงานง่ายขึ้น

  1. เก็บโทรศัพท์มือถือไว้ในลิ้นชัก โดยยึดหลัก 3 ข้อนี้
    • ไม่ให้มองเห็น โดยการเก็บไว้ในลิ้นชัก
    • ไม่ให้ได้ยิน โดยเปิด Do not disturb
    • ไม่ให้เข้าถึง เช่น เก็บไว้ไกล ๆ หรือล็อคลิ้นชัก
  2. เลือกรายการใน Todo list มา 3-5 รายการที่สำคัญที่สุด เขียนใส่กระดาษโน้ต เรียงลำดับความสำคัญ เริ่มทำรายการแรก
  3. ใช้ Software มาช่วย Block ไม่ให้เราเข้าเว็บ เช่น Facebook ในเวลาทำงาน เช่น Block Site ใน Google Chrome และควรใช้บนมือถือด้วย
  4. ระหว่างทำงานถ้ามีอะไรมาดึงความสนใจหรือเราวอกแวกไปคิดเรื่องอะไร ให้จดใส่กระดาษไว้ งานเสร็จจะกลับมาดูก็ได้
  5. ออกไปเดินซักนิดก่อนเริ่มทำงานยาก
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
ข้อคิดดีๆ

แค่เรียนรู้ตลอดเวลายังไม่พอ

ปีนี้มีทั้งช่วงที่ทำแต่งานจนไม่เวลาเรียนรู้สิ่งใหม่ ช่วงที่ว่างและเรียนคอร์สออนไลน์มากมาย และช่วงนี้ที่ทำงานเยอะแต่หาเวลาเรียนรู้สิ่งใหม่ ๆ ทุกวัน

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

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

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

Categories
การตลาด

[สรุป] ทำ Marketing สำหรับ Mobile app ให้รุ่ง

ในยุคนี้มี app มากมายไปหมด จะทำ marketing strategy ยังไงให้ดึงดูดใจ และ Hook ให้กลุ่มเป้าหมาย download แอพของเรา

เนื้อหา

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

  • Screenshots ทำให้เค้าชอบและอยากใช้ อาจจะแสดงหน้าจอที่แสดงความเจ๋ง คุณค่าสูงสุดที่แอพให้กับเค้า หรือ feature ที่สำคัญที่สุด
  • Videos แสดงให้เห็นว่าจะใช้ในสถานะการจริงได้ยังไง ความสำคัญอยู่ที่เรื่องที่เล่าเพื่อให้เค้าอิน
  • Infographic ใช้รูปคุณภาพสูง เพื่ออธิบายคุณค่าสูงสุดที่โดดเด่น แตกต่าง ที่โน้มน้าวเค้าได้

ที่สำคัญอย่าลอกคนอื่น เพราะไม่มีอะไรดีที่สุดกับทุกงาน จงลงทุนกับการสร้างสรรค์ เพื่อให้ลูกค้าจำแบรนด์ของเราได้

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

Categories
Uncategorized

เราอยู่ในยุคที่ใคร ๆ ก็ประสบความสำเร็จอย่างสูง และมากกว่าคนอื่นได้ง่าย ๆ

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

แต่ทำไมหลาย ๆ คนไม่เข้าใกล้คำว่าประสบความสำเร็จเลย

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

รวมสไลด์จากงาน I/O Extended Bangkok (9 ก.ค. 2017)

เมื่อวันเสาร์ที่ผ่านมา (9 ก.ค. 2017) มีการจัดงาน I/O Extended Bangkok ที่ตลาดหลักทรัพย์แห่งประเทศไทย มีหัวข้อที่น่าสนใจหลายหัวข้อเลยครับ ผมรวบรวมสไลด์เท่าที่หาได้ สำหรับเพื่อน ๆ ที่ไม่ได้ไปร่วมงานหรือเพื่อน ๆ ที่ไปร่วมงานแล้วอยากได้ Reference จากในสไลด์ของ speaker แต่ละท่านเพื่อนำไปศึกษาเพิ่มเติม

Categories
iOS

[iOS] การทำให้ UITableView ไม่แสดง Separator สำหรับ Cell ที่ว่าง

ผมคิดว่าคนที่พัฒนาแอพ iOS คงจะเคยเจอปัญหาว่า UITableView จะแสดงเส้นคั่น (separator) สำหรับ cell ที่ว่างกันมาบ้าง ตามรูปนี้ครับ

บล็อกนี้ผมจะเสนอวิธีง่ายๆ ที่จะแก้ปัญหานี้ครับ

Categories
Git

การใช้ไฟล์ .gitignore กับโปรเจคเก่า ๆ

บางครั้งเรามีโปรเจคเก่าที่ใช้ Git อยู่แล้ว แต่เรา ignore ไฟล์ไม่ครบ อาจมีไฟล์ที่เราไม่ต้องการ ถูก track เข้าไปด้วย เช่น ไฟล์จาก OS หรือ ไฟล์จาก IDE เป็นต้น

เราสามารถแก้ไขได้ง่าย ๆ ด้วยคำสั่งเพียงไม่กี่คำสั่ง แต่ก่อนอื่นผมขอแนะนำสำหรับคนที่ไม่รู้ว่าจะ Ignore ไฟล์อะไรดี สามารถเข้าไปดูได้ที่ https://github.com/github/gitignore ซึ่งรวบรวมไฟล์และโฟลเดอร์ที่เราควร ignore ไว้ครบถ้วน (ผมแนะนำให้ดูในโฟล์เดอร์ Global ด้วย เพราะมีคำแนะนำการ ignore ไฟล์ของ IDE และ OS เพิ่มเติม)

สมมุติว่าผมเขียน Java ด้วย Eclipse บน macOS ผมจะสามารถสร้างไฟล์ .gitignore ได้ประมาณนี้

Categories
Git

การใช้งาน Git Submodules

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

การเพิ่ม Submodules เข้ามาใน Git Repository

ใช้คำสั่งดังนี้

$ git submodule add https://github.com/golfz/module1 lib/module1
Initialized empty Git repository in ~/a_project/lib/module1/.git/
remote: Counting objects: 1006, done.

remote: Compressing objects: 100% (978/978), done.

remote: Total 1006 (delta 631), reused 0 (delta 0)

Receiving objects: 100% (1006/1006), 408.22 KiB, done.

Resolving deltas: 100% (631/631), done.