Structurizr DSL cookbook
Structurizr DSL เป็นเครื่องมือ open source ที่เอาไว้สร้าง diagrams จากโค้ดตัวหนึ่งที่ใช้แนวคิดของ C4 Model ซึ่งเครื่องมือตัวนี้มี cookbook ที่เราสามารถเข้าไปเรียนรู้ตัวอย่างวิธีสร้าง diagram ในรูปแบบต่าง ๆ ได้
https://docs.structurizr.com/dsl/cookbook/
Software Architecture Meetup 2023 #2: Architecture Kata
เข้าไปฟังเรื่อง Architecture Kata มา แนวคิดนี้เริ่มมาจาก pain point ที่ถ้าเราไม่ได้ฝึกฝนเกี่ยวกับเรื่องการออกแบบ architecture เราจะเก่งขึ้นได้อย่างไร ซึ่งในชีวิตจริงเรามีโอกาสในการออกแบบ architecture น้อยมาก เราจึงอยากจะมีพื้นที่สำหรับลองผิดลองถูก เพื่อฝึกฝนให้เก่งขึ้น
Architectural Katas are intended as a small-group exercise each group is given a project that needs development. The project team meets for a while, discovers requirements, discusses technology options, and sketches out a rough vision of what the solution could look like
— Ted Neward
ลองดูโจทย์ต่าง ๆ ได้ที่ Architectural Katas ส่วนรูปด้านล่างเป็นตัวอย่างที่ทำออกมาจาก Kata
ถ้ามีหลาย ๆ กลุ่มทำ เราก็อาจจะเห็นหลาย ๆ solution ของแต่ละกลุ่มที่แตกต่างกันไป เราก็จะได้เรียนรู้มากขึ้นไปอีก
https://www.facebook.com/100045274272935/videos/3420939444885146
ไฟฉาย 72 : คอร์สที่ผมอยากเรียนมากที่สุดในปีนี้
ในบทความมีสรุปที่ไปเรียน Training from the BACK of the Room (TBR) ที่ผมเขียนสรุปไว้ใน This Week I Learned #1 มีแนะนำหนังสือ “49 HABITS นิสัยง่าย ๆ ชีวิตโคตรดี” มีแนะนำเว็บ ChatPDF.com ที่เราสามารถคุยกับไฟล์ PDF ได้ แล้วก็แนะนำวีดีโอบริหารการเงินของโค้ชหนุ่ม
TDD Isn't Design
TDD ไม่ใช่การ design แล้วก็ไม่ได้มาแทนที่ design ด้วย สิ่งที่ TDD ให้เราคือ feedback สำหรับส่วน interface design decision ซึ่งเป็นเราเองนั่นแหละที่ต้องตัดสินใจในการ design นั้น ๆ ตัว TDD จะแยกระหว่าง interface design decisions กับ implementation design decisions ดังนั้นเมื่อเราเขียน test สำหรับ interface design decision แล้ว ก็อยู่ที่เราเองที่จะเลือก implementation design decision แบบไหนที่จะ work
Why I Negotiated for a 4-Day Workweek Instead of a Raise
แทนที่จะขอเพิ่มเงิน ให้ขอทำงาน 4 วันต่ออาทิตย์แทน เพื่อสุขภาพทั้งกายและใจ แล้วก็เพื่อชีวิตที่ดีขึ้น ซึ่งเหมือนกับว่าในปัจจุบันคนส่วนใหญ่ไม่ได้ถูกกระตุ้นด้วยเงิน แต่เป็นเรื่องวัฒนธรรมในองค์กร และเรื่อง work-life balance การทำงาน 4 วันต่ออาทิตย์ก็จะทำให้เรามีเวลาไปทำในสิ่งที่เราสนใจเพิ่มด้วย
https://www.success.com/why-i-negotiated-for-a-4-day-workweek-instead-of-a-raise/
Ruby Naming Conventions
การเขียนโค้ดให้อ่านง่าย เราก็ดูแลรักษาง่ายขึ้นด้วย ดังนั้นเราควรใส่ใจกับการตั้งชื่อให้มาก ๆ การใช้ naming conventions ก็สามารถช่วยให้โค้ดอ่านง่ายขึ้นด้วย
Predicate methods แทนที่จะเป็น
is_admin
ให้เป็นadmin?
แทนDangerous methods ให้ใส่ ! ตามหลัง เช่น
admin!
จะได้รู้ว่ามีการแก้ค่าภายใน instance นั้น ๆ เช่น เปลี่ยน role แต่ถ้าเป็น method ใน ActiveRecord จะหมายความว่า ถ้ามี error ก็ให้ raise ออกมา ซึ่งปกติจะได้ค่า falseReference methods หรือ getter ให้ใช้ชื่อตัวแปรเลย เช่น ถ้าอยากได้ค่า
@role
ก็ใช้ชื่อ method เป็น roleAssignment methods หรือ setter ให้ใส่ = ตามหลัง เช่น
role=
ดูเรียบง่าย และสวยดีนะ
https://www.rubycademy.com/blog/naming-convention
Mock Server with Stubby & Docker-compose ภายใน 5 นาที
Stubby เป็นเครื่องมือที่ใช้ทำ mock ตัว response จาก server ซึ่งก็ตามชื่อเลยคือมันจะ stub ตัว request ของเราไว้ แล้วส่ง response กลับมาให้เรา มีประโยชน์มาก ๆ ในการพัฒนาบน local machine ของเรา โดยที่เราไม่จำเป็นต้องไปต่อกับ server จริง ๆ ในบางทีเราไม่สามารถเข้าถึง network ภายในบาง network ได้ การใช้ Stubby ก็ช่วยเราได้เยอะเลย
Average Ticket: Definition and How to Calculate Ticket Size
Average ticket is a metric that provides details on the average amount spent per customer per visit.
ค่าเฉลี่ยของยอดขายต่อลูกค้า 1 คน คำนวณโดยเอาผลรวมของยอดขายทั้งหมดในช่วงเวลาที่ต้องการ หารด้วยจำนวนลูกค้าที่ซื้อสินค้านั้น ๆ ซึ่งค่านี้เอาไว้ดู business performance แล้วก็เอาไว้วัดด้วยว่า campaign ที่ทำมีประสิทธิภาพมากน้อยแค่ไหน
https://www.investopedia.com/terms/a/average-ticket.asp
RTCOG e-Learning ครั้งที่ 114 หัวข้อ จัดการข้อมูลดิจิทัลด้วยสมองที่สอง
อ.ธงชัย มาแชร์เรื่องแนวคิด second brain ของ Tiago Forte ในการจัดการข้อมูลดิจิตอล ซึ่งจะมีศูนย์กลางคือพวก software ในการจดบันทึก (note taking app) ตอนนี้ที่นิยมมาก ๆ คือ Notion หรือพวก Goodnotes
ขั้นตอนของ second brain มี 4 ขั้น (C.O.D.E.)
Capture (จด) - เน้นวิธีที่ทำให้เราจดได้เร็วไว้ก่อน ทำได้ง่าย สะดวก
Organize (จัด)
Distill (ปรับ)
Express (เผยแพร่ / ปล่อย)
ตรงส่วน Organize นอกจากวิธี tagging แล้ว ก็มีวิธี PARA (Projects, Areas, Resources, Archives) อีกด้วย โดยวิธีนี้จะเน้นการใช้งานเป็นหลัก
Projects คืองานที่เราต้องทำ มีผลลัพธ์ที่ชัดเจน มี deadline และมีขั้นตอน เปรียบได้กับเรื่องปัจจุบันที่เราทำอยู่
Areas หรือหน้าที่ คือสิ่งที่เราต้องทำไปเรื่อย ๆ เช่น หน้าที่เป็น อ. หน้าที่เป็นคุณพ่อ เรื่องสุขภาพ ผลการตรวจสุขภาพ เรื่องการเงิน ซึ่งส่วนใหญ่มักจะเป็นเรื่องส่วนตัว
Resources คือทรัพยากร หรือสิ่งที่เราแชร์ได้ เช่น เราไปเรียนมา คลิปวีดีโอของเรา หรือพวก prompt สำหรับ GenAI ที่เราแชร์ได้
Archives (ไม่ใช่ถังขยะ) คืออะไรก็ตามที่ไม่ใช่ 3 หมวดแรก จะเอาไว้ที่นี่หมด เช่น ใบเสร็จ หรือ PDF ต่าง ๆ
https://www.facebook.com/watch/?v=1412401862682312&_rdc=4&_rdr
Building A Second Brain
สมองคนเราไม่สามารถจำทุกอย่างได้หมด จึงจำเป็นต้องมี second brain มาช่วยให้เราจำเรื่องราวต่าง ๆ ทีนี้การที่เราจะสร้าง second brain ออกมาได้ อาจจะไม่ได้ใช้แค่ app เดียว หลัก ๆ อาจจะใช้ 4 apps คือ Calendar, To-Do, Note, และ Read-Later เลยทีเดียว
https://rockiemelon.com/2023/12/01/building-a-second-brain/
Our Goal, No Goals
จากหนังสือ It Doesn’t Have to Be Crazy at Work เค้าบอกว่าไม่ต้องมี goals หรือ KPIs ก็ประสบความสำเร็จได้ โดย goal ทำให้เกิดปัญหา เป็นภาพลวงตา แล้วทำให้เกิดแรงกดดัน ทำให้เกิดความเครียดไม่มีที่สิ้นสุด และที่ Basecamp ประสบความสำเร็จโดยไม่ต้องตั้ง goal เลย แล้วก็การที่บอกว่า no goals ไม่ได้แปลว่าจะไม่มีการวัดผลนะ ยังต้องมีอยู่ เราจะเลือก metrics ที่สำคัญ และทำให้มันดีขึ้นเรื่อย ๆ ก็พอ
https://rockiemelon.com/2023/12/13/no-goals/
What is HiFi
พูดถึงเสียงจากลำโพง HiFi รุ่น LSX II ของ KEF ที่ DHH ซื้อมาไว้ที่ home office เค้าบอกว่าคุณภาพเสียงดีมาก แถมตัวลำโพงนี่ดูเรียบง่าย สวยงามอีกด้วย เข้าไปดูมานี่เกือบกด checkout เลยทีเดียว ต้องอดใจไว้ก่อน..
https://world.hey.com/dhh/what-is-hifi-dddab2ae
TextMate: The missing editor for OS X
ที่ DHH ชอบ TextMate ก็เพราะเรื่อง feel of TextMate ประมาณว่าใช้อารมณ์ และความรู้สึกล้วน ๆ ที่ชอบ editor ตัวนี้ แล้วก็ editor ตัวนี้ทำมาเพื่อ OS X สร้างจาก programmer เพื่อ programmer อะไรประมาณนี้
https://dhh.dk/arc/000270.html
Turbo 8 in 8 minutes
Turbo เป็น lib ที่ใช้กันอย่างมากใน Rails ที่ทำ partially update pages ทำให้เหมือน single-page app ซึ่งเหมือนกับ HTMLX หรือ Phoenix LiveView บทความนี้เป็น tutorial สั้น ๆ ให้เห็นภาพการทำงานของ Turbo เวลาที่มีการอัพเดท post ก็จะแจ้งการเปลี่ยนแปลงไปยัง page ที่ subscribe การเปลี่ยนแปลงไว้
https://fly.io/ruby-dispatch/turbo-8-in-8-minutes/
เที่ยวญี่ปุ่นแบบใกล้ไทยมากที่สุด เกาะโอกินาว่า / kinyuud
คลิปวีดีโอสั้น ๆ ไปเที่ยวที่เกาะโอกินาว่า โรงแรม Hewitt Resort Naha อยู่ใกล้สนามบิน (นั่งรถไฟมา 3 นาที) แล้วก็ติดสถานที่ท่องเที่ยวในเมือง Kokusaidori Street และสถานที่ต่าง ๆ