It’s an MV that closely mirrors the present world. I really like the concept where the character talks to an AI every day, becoming close and understanding each other. But one day, the power goes out, and when the character can talk to the AI again, the AI is no longer able to respond. It evokes a sense of sadness and feels realistically possible in terms of technology.
Why would the AI disappear just because of a power outage?
This is something I’ve wondered about, but I tried to reason it out. I understand that the character might have been a developer during a time when technology wasn’t as advanced as it is today. You can tell from how they started using AI while still a student. They trained the AI by cloning the code onto a Raspberry Pi and continued training that AI without ever turning the machine off.
That AI, named “Weirdo,” was given a gender, developed an understanding of humans, and grew into a system capable of deep, meaningful conversations. But one day, when the power went out, the machine restarted.
The AI retained its knowledge of language, but the context and the ability to exchange information with humans were lost. That’s why we see a new AI stepping in to take its place.
Sad, isn’t it? But I really admire how the song managed to convey such a touching story in just about 5 minutes. It’s truly remarkable.
Test Driven Development (TDD) และ Behavior Driven Development (BDD) เป็นสองแนวทางที่ช่วยให้กระบวนการพัฒนาและการทดสอบมีประสิทธิภาพมากยิ่งขึ้น
ความสนุกของหลักสูตรนี้ คือทาง Professor เป็นผู้รู้ในเรื่องที่เกี่ยวกับการ Test เป็นอย่างมาก แม้ว่าชื่อหัวข้อจะเป็น Introduction to Test and Behavior Driven Development แต่พอนั่งเรียนจริงกลับพบว่ามี Assignment ที่ให้ตัวผู้เรียนเขียน Test กันจริงๆ จังๆ ไปจนถึงการสอบ และส่ง Code งาน Test ให้ตรวจกันเลยทีเดียว
Professor สอนตั้งแต่ การวางกรอบของ TDD , BDD และเขียน Test แบบ Inside out > outside in , การเขียน Unit Test เพื่อ Test Function ภายใน , การเขียน Test สำหรับการ Test Database , การเขียน Test สำหรับการ call api การทำ mock data , การทำ Test Coverage , Gherkin syntax , Behavior Driven Development และ Python
มีอยู่ตอนหนึ่งที่ประทับใจ คือในส่วนของ Test Coverage เพราะมีอยู่ครั้งหนึ่งได้รับมอบหมายมาจากหัวหน้าว่า หาก Dev ทำการส่งงานมาให้ตรวจ ให้ทำการตรวจ Unit Test ของเขาด้วยทุกครั้ง ว่ามี Unit Test ทำมาด้วยหรือเปล่า
ตอนนั้นที่รับคำสั่งหัวหน้า ก็เข้าใจว่ามันต้องมีแนบมาส่ง แต่ตัวเองก็ไม่เข้าใจอะไรมากว่า Unit Test มันทำงานยังไง +ต้องมีรูปแบบอย่างไร เพราะสมัยตอนที่ตัวเองเป็น Dev ก็ไม่ได้ทำสิ่งนี้เช่นกัน และเมื่อมาทำงานตำแหน่งนี้ก็ถูกสอนมาว่า Unit Test เป็นเรื่องของ Dev เท่านั้น
กลับมาตอนที่ Dev เอางานมาส่ง Dev ที่ทำงานด้วยก็ Run Unit Test ให้ดูว่ามี Run กี่ Case ผ่านกี่ Case ซึ่งตอนนั้นเราก็ไม่มีความรู้จริงๆจังๆในส่วนนี้ แต่พอเรียนหลักสูตรนี้จบถึงได้รู้ว่า เราจะรู้ได้อย่างไร ว่า unit test ที่ dev ส่งมา มัน cover กับ code ที่เขียนไปแล้วจริงๆ และมันควรจะมี Tools อะไรเพื่อมาชี้ให้เห็นว่า Code ในแต่ละ Function มีตัวไหนบ้าง ที่ไม่ได้รับการ Test ?!
กับอีกตอนหนึ่งคือเรื่องของการปรับความคิดเพื่อที่นำไปเขียน Gherkin syntax ที่แต่ก่อนเคยเห็นตามบอร์ด Jira จะมี Format การเขียนประมาณ As role …, when , then , background พอจบหลักสูตรนี้ ถึงได้เข้าใจว่า “อ่อ นี่เขาเขียนแบบ BDD นี่เอง” ซึ่งหากใครเข้าใจตรงนี้ ก็สามารถนำไปเขียน Code และเขียน Test กันได้อย่างสะดวก
และตอนนี้ก็เริ่มเข้าใจแล้ว ว่าทำไม คนทำ QA ถึงได้ย้ายสายไปเป็น BA , หรือ SA กันต่อได้ง่ายนัก นั่นก็เพราะเขามีความรู้ตรงนี้แข็งแล้วนี่เอง
หลังเรียนจบแล้วรู้สึกขอบคุณทีม IBM และผู้ที่สร้างหลักสูตรนี้ขึ้นมามากๆ เพราะเรียนจบแล้วรู้สึกว่าได้ประโยชน์ และหวังให้ Dev ,QA หรือ BA เองก็ดีได้มาเรียนหลักสูตรนี้กันก่อนได้ไปเริ่มทำงานจริง โดยเฉพาะทีมที่ทำงานเป็น Agile และมี Automated Test…
I’ve been taking a course on Introduction to Test and Behavior Driven Development because I wanted to expand my knowledge on TDD and BDD.
The course focuses on modern software development, incorporating testing to ensure the code works as expected. Test Driven Development (TDD) and Behavior Driven Development (BDD) are two approaches that help improve both development and testing efficiency.
What I found enjoyable about the course is how knowledgeable the professor is about testing. Even though the course is called Introduction to Test and Behavior Driven Development, it turns out that we had real assignments where we had to write tests ourselves. There were actual coding exams where we had to submit our test code for evaluation.
The professor taught everything, from the framework of TDD, BDD, writing tests from the inside out and outside in, creating Unit Tests to test internal functions, testing databases, testing API calls, mocking data, handling Test Coverage, using Gherkin syntax, Behavior Driven Development, and Python.
One part that stood out to me was Test Coverage. In the past, my manager instructed me to check if developers included Unit Tests with their submissions. At that time, I knew it was required but didn’t really understand how Unit Tests worked or what they should look like. When I was a developer, I didn’t do this either, and when I became a QA, I was told that Unit Tests were solely the developer’s responsibility.
Later, when developers showed me their submissions, they ran the tests and showed how many passed or failed. At that time, I didn’t fully understand it. After finishing this course, I finally learned how to know if the Unit Tests provided by developers really cover the code, and what tools should be used to highlight which parts of the code aren’t tested!
Another part I appreciated was learning how to write the Gherkin syntax. I used to see it in Jira boards with formats like “As a role…, when, then, background”. Now, after completing the course, I finally understand that this is BDD in action, and once you understand this, you can write both code and tests much more easily.
I now also understand why many QA professionals transition to BA or SA roles so easily — it’s because they’ve mastered this knowledge.
Here’s a quick summary of what I’ve learned:
Testing ensures that the code we build works as expected.
There are four levels of software testing: unit, integration, system, and acceptance.
Test cases guide the design of the code in both BDD and TDD.
BDD focuses on the system’s behavior from the outside in, while TDD focuses on how it works from the inside out.
Red/Green/Refactor workflow in TDD has three steps: write a failing unit test, write enough code to pass it, then refactor the code to improve its quality.
Nose is a Python test runner that adds color to test results and can call the code coverage tool.
Test fixtures set up the known state before and after each test.
Factories and fakes are useful for creating and managing large test datasets.
Patching is a mocking technique that allows developers to change how a function call behaves.
Mock objects are objects that mimic the behavior of real ones, with control over how they work.
BDD ensures that applications behave as intended, using integration, system, and acceptance testing.
BDD workflow has three steps: create examples/scenarios, run them as automated tests, and write additional tests if needed.
When writing BDD specifications, we use Given, When, Then syntax.
Context is a variable passed into each step definition.
Variable substitution reduces the number of steps needed and maximizes reusability.
After finishing the course, I’m very grateful to the IBM team and everyone involved in creating this course. I feel that it’s truly beneficial and would recommend it to developers, QAs, or BAs to take this course before starting work.
Children once loved pirate adventure cartoons with plots about treasure hunts, especially treasures whose appearance no one knew. They vividly remember enjoying these plots without much thought, rooting for the main characters to find the treasure.
As time passed, from children to adults, the tale of treasure hunting became just a children’s cartoon, teaching us that such treasures don’t exist in reality.
But… the old plot has resurfaced in our lives at this moment.
The pirate character searching for treasure isn’t someone far away but rather people like us who still believe in taking action without knowing if we will succeed.
For example, myself, who is learning English every day. If we compare fluent English skills, like a native speaker, to the treasure, then the person trying to learn these skills every day without knowing if they will succeed is definitely a pirate.
Reflecting on this, I feel admiration for the creators of these pirate treasure hunt stories. They turned the scary realities of the world into something exciting, challenging adults with a pirate spirit to embark on adventures to find their treasures.
Wishing all adults with a pirate heart to one day find their own treasure.
(English translation) Out of the blue, I felt like I wanted a hobby, hoping it would help me not to stress too much about work and studies. This led me to buy a camera to capture and share different perspectives and stories that I want to tell.
I hope you will enjoy the photos in this style that i take!
Today, I had an English lesson with a Japanese teacher. She told us about how the Japanese government limits the construction of new buildings in Kyoto so they aren’t too tall, and they manage the decoration of shops to ensure they aren’t too flashy, preserving the city’s unique character.
(You can see examples of this at the 7-11 and Starbucks in Kyoto!)
Once, I visited Kyoto and shared my experience of being impressed by the punctuality of the trains and buses, which always arrived on time compared to the schedule on Expedia’s website.
She then explained that this isn’t the case in every city. For example, in her city, if a train is late, people don’t complain as much as in big cities or tourist-heavy places like Kyoto. She also mentioned a phrase that teaches kids and workers, “If you have an appointment, arrive 5 minutes early.” (She said this phrase in Japanese, but I couldn’t quite catch it.)
After our conversation, it made me want to visit Kyoto again…
I DON’T CARE ABOUT ANYTHING With a carefree expression I was always, always praying Asking for too much I’m not easily satisfied So I’ll KEEP TRYING
The ten o’clock comedy show Helps me relax after work But being alone kind of sucks I think that feeling’s important, too
It’s becoming more tiresome than last year There’s a prize that only challengers can win I want it
I DON’T CARE ABOUT ANYTHING I was a little late this morning, but from now on I’ll try my best I’ll expect a lot But I’m not a fool So I’ll KEEP TRYING
Actually, I’m hungrier than anyone Even if I hide my confused feelings The mirror reflects my timid face each morning I want to get rid of it
A wish on a moonlit night is a beautiful thing It’ll be my target, jump in the mud LADY, LET’S GO
I DON’T CARE ABOUT ANYTHING While striking a cool pose I battled telling the truth You worry about your important life so much Take a break
“Time is money” Don’t say you’ll be a government official in the future Don’t you have any dreams? “Money over love” It doesn’t matter that your darling is a salaryman If there’s love
I DON’T CARE ABOUT ANYTHING With a carefree expression I was always, always praying Asking for too much I need more and more to be satisfied So I’ll KEEP TRYING
I try to stay afloat But the world’s ebb and flow is pretty intense No matter the time The only thing that won’t change in value is you
The boy will always, Always be my secret love You can’t put a price You can’t put a price On passion, passion Dad, KEEP TRYING, TRYING Mom, KEEP TRYING, TRYING Big brother, Train Conductor, Bride KEEP TRYING, TRYING
คอร์ส “OOP The Right Way” เป็นคอร์สการสอนพื้นฐานของ Concept การเขียนโปรแกรมในรูปแบบ Object-Oriented Programming (OOP) และการนำไปประยุกต์ใช้กับการพัฒนาซอฟต์แวร์ขนาดใหญ่ ที่มีทีมงานในการพัฒนาหลายทีม
ผู้บรรยาย ได้บรรยายครอบคลุมตั้งแต่ความเป็นมา ความแตกต่างจากการเขียนโปรแกรมในรูปแบบอื่นๆ ปัญหาที่ OOP สามารถนำไปแก้ไข โดยยกตัวอย่าง Real World Case Study และการออกแบบระบบที่ดีตามแนวคิด OOP
ระหว่างที่เรียน มีการยกตัวอย่างการเขียน OOP ด้วยภาษา Type Script มาให้ผู้เรียนจะได้เรียนรู้ร่วมไปด้วย