Docker cleanup cheat sheet

docker-cleanup-cheat-sheet

รวมคำสั่ง Docker Cleanup ที่ต้องใช้บ่อยๆ จะได้ไม่เสียเวลาค้นหา

Docker


Delete all stopped container

docker rm $(docker ps -a -q)

Delete all untagged image

docker rmi $(docker images -q -f dangling=true)

Delete ALL images

docker rmi $(docker images -q)

อย่าลืมไปเยี่ยม cookly.me นะครับ

ทำไมถึงควรเลือกใช้ Mercurial SCM

Distributed revision control เป็นเครื่องมือที่ Developer สมัยนี้จะต้องหามาใส่หัวให้ได้ Mercurial ก็เป็น DVCS ชนิดหนึ่งที่เป็นที่นิยมในตลาด ( หมายถึงตลาดโลก ในเมืองไทยหายากหน่อยนึง ) แต่หลายคนที่พยายามจะเปลี่ยนจาก Subversion มาเป๋น DVCS ก็ยังสับสน ว่าไอ้ที่มีอยู่หลายเจ้านั้น มีดียังไง ผมจะสรุปคร่าวๆโดยที่พยายามพูดถึงเจ้าอื่นให้น้อยที่สุด เพื่อไม่ให้เกิดดราม่า

  • Mercurial สามารถทำงานได้ดี ในทีมที่มีหลายๆคน เพราะว่าแต่ละคนก็มี repo ของตัวเอง
  • เนื่องด้วยแต่ละคนมี repo ของตัวเอง อิสระในการทำงานก็สูงกว่า ไม่ต้องกังวลว่าจะไปพังของใคร แล้วทำให้ทั้งระบบต้องหยุด
  • สามารถทำงานแบบ Stand Alone แค่เพียง Check Out มา จะ Commit ก็ครั้งก็ได้ พอต่อเน็ตได้ค่อย Push ทีเดียว
  • แต่ละ Rev. มีเลขกำกับ เหมือน SVN ต่างจาก Git ที่เป็น Hash ยาวๆ จำยากๆ แต่ก็มีข้อเสียที่หมายเลข Rev เดียวกันนี้ จะแตกต่างไปจากคนอื่นๆ สร้างความสับสนพอสมควร เอาให้ชัวร์เวลา Merge ก็อ้างจาก Hash นั่นแหละ
  • ลงง่าย ใช้เร็ว มีเกือบทุก Platform
  • Guido ใช้ ( อันนี้ไม่รู้เป็นข้อดีหรือเปล่า อารมณ์ประมาณเหมือนใช้กระเป๋า ใช้มือถือตามดาราที่ชอบ )
  • มี Web Server build-in อันนี้ชอบมาก เหมาะกับคนที่ไม่ได้ใช้ผ่าน GUI สามารถสั่ง hg serve ไปเปิดไปที่ http://localhost:8000 เลย
  • ฟรี!!!

นึกต่อไม่ออกแฮะ ตัดจบเลยแล้วกัน

จาวาเร็วส์

จาวาใครว่าเร็วส์ ทุเรศ
ท่านผู้นำสมเพช แม่งค้าง
ความดีบ่เบิกเนตร ใครขัด กูด่า
ใครคิดเหตุผลอ้าง กูบล็อก เว็บกู

Test Driven Development ด้วย Django Unit Testing (ตอนที่ 1)

Django มีสุดยอดแห่ง unit testing ที่ build in มาในตัว framework เรียบร้อยแล้ว, คนมักจะไม่ค่อยใส่ใจกับมันเท่าไรนักเพราะว่ามันมาแบบ “out of the box” แต่นั่นไม่ได้หมายความว่าเราจะละเลยส่วนั้นได้ เมื่อเราสร้าง Application ของเราเองขึ้นมา เพราะว่าเทสต์นั้นทำให้เรา “คิดออก” ว่าอะไรที่ควรจะทำให้เสร็จ เพราะฉะนั้นเราจะมาพูดเรื่องทำอย่างไรให้ Application สามรถทำงานได้เป็นอย่างดี
เมื่อมาถึงตรงนี้แล้วผมจะพยายามแสดงให้เห็นว่า ทำยังไงจะใช้ TDD ใน Django Application เราจะสร้าง Project เล็กๆ และมี Application เพียงตัวเดียว และใช้ Unit testing เป็นตัวกำหนด ว่าจะออกแบบ algorithm และจะ implement class อย่างไร
Continue reading

Barcamp Bankhen Live

นั่งฟังเรื่องแรก Atom Server ของอาจารย์ภุชงค์ Intro เสียเกินครึ่ง แต่ก็ได้รู้เรื่องประวัติศาสตร์เสียมาก พูดเรื่อง Super Computer ที่เมืองจีน โดยพัฒนาโดยวิศวะกรของจีนเอง และยังพูดถึงเรื่อง CUDA ของ Nvidia ที่เปลี่ยนเรื่อง Program Design ไปเลย และ OpenCL ของ Apple ที่นำความสามารถของ GPU มาใช้ประมวลผล ใช้มือถือสร้าง Super Computer เนื่องจาก Balance ของ Power กับ Performance ได้ดีที่สุด แนวทางการโปรแกรมมิ่งแบบ Message Driven
หลังจากนั้นมาพูดเรื่อง Blueprint CSS พูดไม่ได้เร็วเท่าไร แต่ไม่มีเรื่องจะพูดซะงั้น lol
หลังจากนั้นมาได้เข้ามานั่งฟังเรื่อง Open Source Enterprises พูดเรื่องการ implement open source ค่าใช้จ่ายต่างๆ Commercial Software เกือบทั้งหมด จะมีชิ้นส่วนของ Open Source หัวข้อค่อนข้างยาว ง่วงนอนมาก
หัวข้อสุดท้ายมาฟังเรื่อง ใครว่าไมโครซอฟท์ใจร้ายโดยอาจารย์ศุภเดชและพี่หลาม งานนี้เพิ่งรู้ว่ามีของฟรีให้ใช้เยอะขนาดนี้ ไม่มาไม่รู้จริงๆ
ระหว่างวันได้เจอกับ iannnn ตัวเป็นๆ ไม่กล้าบอกว่าคุณคือไอดอลของผม จุ๊ฟๆ lol นอกจากนี้ยังมีพี่อึ่งที่เดินวนไปวนมา เจอกันทั้งวัน พี่อึ่งเล่าให้ฟังเรื่องรับอบรมติดตั้งระบบ Ubuntu หวังว่าสักวันคงจะได้ทำแบบนั้นมั่ง หาอิสระเสรีให้ชีวิต
ตัดจบดื้อๆ เขียนต่อไม่ออก.

I think we got a case of a little lump of coal here. That’s turning into a diamond.

ประโยคนี้มาจาก Amanda Holden ในรายการ BGT ปีที่พอล พ็อตเข้าแข่งขัน ผมประทับใจตรงที่คนธรรมดาเดินดิน มีความไฝ่ฝันและพลังใจอันแรงกล้าที่จะเดินตามฝันของตัวเองได้อย่างไม่ย่อท้อ เตือนใจให้เห็นว่า “ลิขิตฟ้าหรือจะสู้มานะตน”

กลับมาเป็นมนุษย์เงินแดือนครั้งแรกในรอบปี

กลับมาทำงานประจำอีกครั้ง หลังจากโดนเมียบ่นมานาน ว่างานฟรีแลนซ์เงินไม่แนนอน ใหนจะค่ารถ ค่านมลูก
มีคนเมล์มาตามให้ไปสัมภาษณ์งาน ตอนที่ตัดสินใจไปไม่รู้ด้วยซ้ำ ว่าจะให้ทำอะไร ไปมึนๆทั้งอย่างนั้น พอถามว่าใช้ภาษาอะไรก็ตอบไปแบบไม่มั่นใจ ว่าไพธอน เค้าให้ข้อสอบ c พลัสพลัส มาทำบอกว่าทำตรงใหนไม่ได้ก็ไม่ต้องทำ ข้ามไปได้ ให้เวลาไม่จำกัด
ปรากฏว่าล่อไปสี่ชั่วโมงครึ่ง ทำได้แค่ครึ่งเดียวอีกต่างหาก
กลับมานั่งรออยู่บ้าน ขับรถยังไม่ถึงบ้านก็โทรมาตามไปสัมภาษณ์อีกครั้งกับ Director ในวันรุ่งขึ้น แอบคิดอยู่ในใจว่างานนี้มีลุ้น
นอนกระสับกระส่ายจนเช้า พอเข้ามาอีกครั้ง เค้าหยิบข้อสอบเมื่อวานขึ้นมาถาม ว่าคิดยังไงถึงทำแบบนี้ ตอบไปตรงๆว่า ไม่ถนัดเรื่อง C อิงกับ Concept ของ Python ก็เลยออกมาอย่างที่เห็น เค้าเลยสรุปว่าได้งาน
ให้มาเริ่มงานวันจันทร์เลย เขียนแบบที่อยากเขียนได้เลย สรุปว่าได้งานเขียน Django ซะงั้น

ทดสอบ wp จาก Android

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