ข้ามไปยังเนื้อหา
Tayakorn

ภูมิภาค · 11 เนบิวลา

ห้องทดลอง

ของที่กำลังลองทำ — ยังไม่ถึงขั้นเคลมเป็นผล⁠งาน แต่ทุกการทดลองต้องรายงานผล

  1. LAB.11

    ต่อยอดจาก LAB.07

    DAG ไหลยังไง — ท่อพังกลางทาง แล้วขั้นไหนต้องรันใหม่

    ตัวคุมลำดับงานแบบกดเล่นได้ ทำคู่กับคู่มือ Airflow · ท่อรับไฟล์รายเดือน 7 ขั้น (รับไฟล์สามสาขา รวมและตรวจ แปลง โหลด แล้วแจ้งผล) วาดเป็นสองมุมของสถานะเดียวกันวางคู่กัน คือกราฟที่บอกว่าอะไรรอใคร กับตารางที่บอกว่าตอนนี้ถึงไหน (แถวคือขั้น คอลัมน์คือรอบ ช่องคือสถานะกับครั้งที่ลอง) · กดที่ขั้นในกราฟเพื่อตั้งว่ารอบถัดไปจะพังชั่วคราวหรือพังถาวร ตั้ง retries ได้ 0–3 เลือกได้ว่า notify รันเมื่อต้นน้ำสำเร็จหรือเมื่อต้นน้ำจบ และเลือกว่า load เขียนลงปลายทางแบบต่อท้าย (append) หรือแทนทั้งเดือน (replace_month) แล้วเดินวงรอบทีละจังหวะ เริ่มรอบใหม่เพื่อเพิ่มคอลัมน์ กดที่ช่องเพื่อดูประวัติทีละครั้ง หรือ Clear ช่องนั้น ซึ่งต้องทายก่อนว่าช่องไหนจะถูกล้าง แล้วเลือกว่าจะรันใหม่แค่ช่องนั้นกับปลายน้ำแบบมีตัวคุม หรือทั้งก้อนแบบสคริปต์เดียว · ใต้ตารางมีแถว "แถวในคลัง" ของแต่ละเดือน ตัวเลขตามตัวอย่าง stock_load.py ในบทที่ 12 · ตรรกะทั้งหมดคือแบบจำลองของบทที่ 4 ในเล่ม ไม่ได้รัน Airflow บนเว็บ

  2. LAB.10

    ข้างใน QR พร้อมเพย์ และ QR บนสลิปที่ไม่มียอดเงิน

    สร้าง QR พร้อมเพย์ของหน้า /support เองทั้งเส้นตามมาตรฐาน Thai QR Payment โดยไม่ผ่าน gateway แล้วถอดมันออกทีละช่องในใบนี้ · ข้อความใน QR คือช่องแบบ TLV ต่อกัน (เลข tag 2 หลัก ความยาว 2 หลัก แล้วตามด้วยค่า) ปิดท้ายด้วย CRC16 · ตารางในใบแตกตัวอย่างทดสอบออกเป็นแถว ชี้แถวไหนก็เห็นว่าช่องนั้นอยู่ตรงไหนของข้อความ และแก้ข้อความเองได้ · ครึ่งหลังทำแบบเดียวกันกับ QR เล็กมุมสลิปโอนเงิน เลือกภาพสลิปของตัวเองมาถอดในเครื่องได้ แล้วส่งเฉพาะข้อความใน QR ให้เซิร์ฟเวอร์ตรวจ

  3. LAB.09

    ย่อยรายงานวิจัยเป็นหน้าเดียวที่กดเล่นได้ — PPM กับระบบงบ

    ย่อยรายงานศึกษาเชิงลึกเรื่อง Project Portfolio Management กับระบบงบประมาณ (ราว 50,000 ตัวอักษร · ตาราง 6 ชุด · แผนภาพ 1 รูป) ให้เป็นหน้าเดียวที่สอนด้วยภาพ ด้วยชุด widget ของ visual-explainer ที่สร้างไว้สำหรับวิชาบริหารโครงการ · ในหน้ามีวงจร PPM 9 ขั้นที่แตะดูได้ว่าขั้นไหนรอบงบรายปีทำอยู่แล้ว · stepper เงินสองชั้นข้ามปีงบ · ตัวจำลองเส้นตัดงบที่เทียบการเรียงตามคะแนนกับชุดที่คุ้มสุดใต้เพดาน · ตารางมูลค่า × ความเสี่ยงของนิวซีแลนด์ · แผนผังระบบระดับชาติของไทย · โมเดลข้อมูลที่แตะดูทีละกล่อง และตัวช่วยตัดสินว่าจะฝัง PPM ลงระบบงบเดิมหรือแยกระบบ

  4. LAB.08

    ต่อยอดจาก LAB.06

    วาดภูเขาไฟด้วยสมการล้วน

    รันสมการของภาพ Active Volcano ที่ Hamid Naderi Yeganeh เผยแพร่ไว้ด้วยตัวเอง แล้ววัดว่าได้ใกล้ต้นฉบับแค่ไหน ต่อจาก LAB.06 ที่ทำแบบเดียวกันกับภาพ Sea Wave ของเขา · สมการเขียนอยู่บนตัวภาพ จึงซูมอ่านทีละบรรทัดแล้วเขียนเป็นสคริปต์ numpy เรนเดอร์ 2000×1200 ตามพิกัดเดิม · สีของพิกเซลคือผลบวกของสี่พจน์ ได้แก่ ท้องฟ้า ภูเขา ฟ้าผ่า และเมฆ ส่วนเนื้อของเมฆกับลายบนผิวภูเขามาจากผลรวมคลื่น cosine 50 ชั้น · ตัวที่เล่นได้ในใบนี้คือ shader ที่แปลสมการชุดเดียวกันไปวาดบนการ์ดจอของเครื่องที่เปิดหน้า เปิด-ปิดทีละพจน์ได้ หมุนทิศและยืดระยะของผลต่างที่ทำให้เกิดแสงเงาได้ ปรับความชันของขั้นแสงเงาได้ และลดจำนวนพจน์ของผลรวมได้ · ภาพต้นฉบับเป็นงานของเขาจึงไม่ได้ลงไว้ที่นี่ ภาพทุกภาพในใบนี้วาดจากสมการชุดนี้

  5. LAB.07

    ด่านที่ขาออก — ทำไม build ที่ขึ้นว่าสำเร็จยังส่งหน้าที่ผิดออกไปได้

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

  6. LAB.06

    วาดคลื่นทะเลด้วยสมการล้วน

    รันสมการของภาพ Sea Wave ที่ Hamid Naderi Yeganeh เผยแพร่ไว้ด้วยตัวเอง แล้ววัดว่าได้ใกล้ต้นฉบับแค่ไหน · สมการเขียนอยู่บนตัวภาพ หาฉบับที่เป็นข้อความไม่เจอ จึงอ่านจากภาพทีละตัวแล้วเขียนเป็นสคริปต์ numpy เรนเดอร์ 2000×1200 ตามพิกัดเดิม · ทั้งภาพคือฟังก์ชันปิดตัวเดียวที่ไม่มี if สักจุด: ทุกเงื่อนไขเขียนเป็นฟังก์ชันขั้นบันได e^(−e^(kx)) ที่ k ใหญ่มาก คลื่นคือ 60 ชั้นซ้อนกันโดยมีผลคูณ ∏(1−J) ทำหน้าที่ z-buffer และฟองคือ noise แบบ cosine ที่ซ้อนกัน 17 ความถี่ · ตัวที่เล่นได้ในใบนี้คือ shader ที่แปลสมการชุดเดียวกันไปวาดบนการ์ดจอของเครื่องที่เปิดหน้า ปรับ F จำนวนชั้นที่วาด ค่าที่เคยสงสัยว่าอ่านผิด ความชัน k และจำนวน octave ของฟองได้ แล้วภาพกับกราฟ F(x) เปลี่ยนตาม · ภาพต้นฉบับเป็นงานของเขาจึงไม่ได้ลงไว้ที่นี่ ภาพทุกภาพในใบนี้วาดจากสมการชุดนี้

  7. LAB.05

    ต่อยอดจาก LAB.04

    วิวพอร์ตบท — หน้าต่าง 3D แบบ Blender ครอบเมฆของบทจริง

    รื้อลูกโลกบทรอบใหม่ด้วยภาษาของหน้าต่าง 3D: เอากรอบวิวพอร์ตแบบ Blender (กล้อง orbit/pan/zoom · มุมสำเร็จรูป · gizmo · grid หลักกับย่อย · Text Info กับ Statistics · แผง Item · keymap ของ Blender 5.2) มาครอบเมฆของบทจริง หนึ่งจุดคือหนึ่งบท ตำแหน่งในเมฆสุ่มแบบคงที่จากชื่อเล่มกับลำดับบทและไม่มีความหมายโดยตั้งใจ ส่วนสี ขนาด และความทึบของจุดคือข้อมูล · วาดด้วย three.js ที่โหลดเฉพาะเมื่อใบนี้เลื่อนเข้าใกล้จอ · ภาพนิ่ง SVG มุมบนที่เซิร์ฟเวอร์วาดไว้คือเฟรมแรกของ WebGL และเป็นทางถอยเมื่อ WebGL ใช้ไม่ได้

  8. LAB.04

    ต่อยอดจาก LAB.03

    ลูกโลกบทตัวจริง — รอบที่หนึ่งบนผิวหลัก

    สร้างรูปทรงที่เคาะไว้ใน LAB.03 ขึ้นมาจริงแล้วต่อเข้าผิวหลักสองผิว: hero หน้าแรกเป็นลูกโลกแกนเจาะ (หนึ่งจุด = หนึ่งบทจาก 18 เล่ม 228 บท · สี = ขั้นบันได · ขนาด = ความยาวบท · สีเต็ม = อ่านแล้ว · กดเล่มแล้วโซนตัวเลขกลายเป็นแท่งตัวอย่างของเล่มนั้น) และ /handbooks เป็นแกนเจาะทุกเล่มเรียงกันเหนือรายชื่อเดิม ข้อมูลนับตอน build ไม่ใช่ค่าที่พิมพ์ไว้ · ตัวจริงเล่นได้ในใบนี้ ทั้งสองรูปทรง สลับได้ด้วยปุ่ม และอ่าน progress จากเครื่องของผู้อ่านเอง · 19 ก.ย. 2569 ลูกโลกออกจาก hero หน้าแรกแล้ว (แทนด้วยคลื่นจากสมการของ LAB.06) · ต.ค. 2569 แกนเจาะเรียงก็ออกจาก /handbooks ตาม — ทั้งสองรูปทรงเหลือให้เล่นในใบนี้ที่เดียว

  9. LAB.03

    ต่อยอดจาก LAB.02

    ลูกโลกบท — 10 รูปทรงก่อนจะเป็นแบบสุดท้าย

    ต่อยอด LAB.02 ให้ 'สนามจุด' บนหน้าแรกแบกข้อมูลจริง (หนึ่งจุด = หนึ่งบทจาก 18 เล่ม 228 บท) แล้วหารูปทรงด้วยการทำ mock เล่นจริงแล้วเคาะทีละรอบ ตั้งแต่ทรงกลมจุดธรรมดา ผ่านลูกโลกที่ขั้นบันไดเป็นชั้นซ้อนข้างในและลิ่มผ่าโชว์ชั้น จนถึงแบบที่เคาะ

  10. LAB.02

    แยกโซนเล่นออกจากโซนอ่าน

    รื้อหน้าเปิดตัว GPT-6 Astra ของ OpenAI แล้วพบว่าสนามดาวเป็นเลเยอร์เดียวทับทั้งหน้า 32,783 พิกเซล แต่พื้นที่ที่ลากได้จริงมีแค่ 1,908 พิกเซล — ส่วนที่เหลือหน้าตาเหมือนกันเป๊ะแต่แตะไม่ได้ และไปลอยทับตัวเลขในตาราง จึงลองสร้างสนามจุดที่ประกาศตัวชัดว่าตรงไหนเล่นได้ พร้อมสวิตช์สลับดูสองแบบด้วยตาตัวเอง

  11. LAB.01

    เรนเดอร์วิดีโอจากหน้า HTML

    ทำวิดีโอแนะนำเว็บด้วยการเขียนหน้า HTML หนึ่งไฟล์แล้วเรนเดอร์เป็นวิดีโอ — เลย์เอาต์ สี ฟอนต์ จังหวะ motion และเสียงประกอบ สังเคราะห์จากโค้ดทั้งหมด ไม่ใช้โปรแกรมตัดต่อ