Unit testing is a way of writing tests for the individual components (aka, the smallest part) of a program. The purpose of it is to validate that any piece of code is always working as expected.

Moreover, unit testing has a lot of advantages such as improving the quality of code, providing documentation, also the code can be tested individually and doesn’t require another module in order for it to work, etc.

I’m not going to explain what is unit testing because it will be out of this article’s context. …


Article Cover: Null Safety in a nutshell

Your flutter app doesn’t sound Null Safety!

Handling null values in programming is a tedious task. When a function is expecting an input but it turns out to be null, it causes a runtime error, and your program crashes.


What is a Widget in Flutter?

This must be the very first topic that everybody who starts coding Flutter has come across. You may wonder what is a Widget? Well, I can summarize it for you.

Widget is everything in Flutter.

In detail, a Widget is an object which is configured to build the user interface or provide additional logic. In most cases, we can use Widgets to build UIs for our app such as a Button, Text, List, you name it. Or we could use it to take input from users like text input and gesture interaction. …


Widget คืออะไร

ทุกคนที่เริ่มเขียน Flutter ส่วนใหญ่คงจะสงสัยว่า Widget คืออะไร ใช้งานยังไงและมีแบบไหนบ้าง ผมจะกล่าวโดยสรุปว่า

Widget คือทุกสิ่งทุกอย่างใน Flutter

ถ้าจะให้ลงรายละเอียดก็คือ Widget คือ Object ที่เราสามารถกำหนดค่าต่าง ๆ ให้กับมันได้ เราสามารถนำ Widget ไปสร้างเป็น UI ต่าง ๆ เช่น กล่องข้อความ, ปุ่มกด, ลิสต์รายการ, ฯลฯ หรือนำไปรับ User Input หรือ User Interaction ได้ด้วย จะเห็นได้ว่า Widget คือส่วนต่าง ๆ ที่ประกอบขึ้นเป็นแอพพลิเคชันนั่นเอง จึงไม่เวอร์เลยที่จะกล่าวได้ว่าทุกสิ่งทุกอย่างใน Flutter ก็คือ Widget นั่นเองครับ

ผู้เขียน Flutter ได้สร้าง Basic Built-in Widgets ไว้ให้นักพัฒนาใช้งานโดยที่ไม่จำเป็นต้องสร้างใหม่เอง เช่น Text, Row, Column, Container, etc. เราสามารถเรียก Widget เหล่านี้ไปใช้ได้เลยทันที

ถึงแม้ว่าจะมี Widget พื้นฐานมาให้มากมายแต่ก็ยังไม่สามารถตอบโจทย์การใช้งานของคนทุกคนได้ Flutter เปิดโอกาสให้นักพัฒนาแต่ละคนสร้าง Widget ของตัวเองขึ้นมาใช้งานโดยเราจะต้องเข้าใจหลักการทำงานของ Widget เสียก่อน

Flutter Widget มีสองประเภทคือ
1. Stateless Widget
2. Stateful Widget

Stateless Widget คืออะไร

Stateless แปลเป็นไทยได้ว่า “ ไม่มีสถานะ ”…


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

“พรุ่งนี้มึงมากี่โมงเนี่ย”
“กูน่าจะมาถึงเที่ยง ๆ”
“เช้าไม่เรียนเหรอวะ”
“เรียน แต่ขี้เกียจว่ะ มึงอัดวิดีโอแล้วลงยูทูปไว้ก็ได้”
“เออ ๆ เดี๋ยวกูอัดให้ เจอกันพรุ่งนี้ที่แล็ป”
“เออ รู้แล้ว เจอกันพรุ่งนี้เว้ย”

และนั่นก็เป็นวันสุดท้ายที่ผมได้ไปเรียนที่มหาวิทยาลัย

2020 มอบเรื่องราวไม่คาดฝันเกิดขึ้นมากมาย แต่เรื่องที่ใหญ่ที่สุดที่ในชีวิตที่ผมไม่เคยคิดเลยว่าจะได้เป็นส่วนหนึ่งในประวัติศาสตร์โลกครั้งนี้ ใช่แล้วครับ COVID-19 หรือที่เราเรียกกันสั้นๆว่า “โควิด”

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


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

Another Self-Portrait

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


เพลงประกอบการดูภาพ https://www.youtube.com/watch?v=APtXxDymYdk

ตั้งแต่ขึ้นปีสองก็ไม่เคยได้จับกล้องฟิล์มอีกเลย จำได้ว่าสมัยปีหนึ่งต้องหิ้วกล้องฟิล์มไปด้วยทุกที่ (Nikomat FTn กล้องรุ่นเก๋าหนักอย่างกับแบกบ้าน555) เหตุผลที่เริ่มจับกล้องฟิล์มเลยก็คือ “มันดูเท่ดี” แค่นั้นเลย พอได้ทดลองถ่ายไปสักม้วนสองม้วนก็เริ่มสัมผัสความรู้สึกที่ต่างจากดิจิตอล เวลาถ่ายภาพแล้วเพลงจะขึ้น อารมณ์ของภาพจะมาเต็มมาก สังเกตตัวเองได้เลยว่าเราพิถีพิถันกับการเก็บภาพแต่ละภาพมากขึ้น

Siraphob Kan

Writing code for a living. Tinkering stuff in my free time. Have some coffee, shall we?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store