เราไม่เผยแพร่ผลงานที่มีลิขสิทธิ์ในประเทศไทย หากท่านพบเนื้อหาที่ละเมิดลิขสิทธิ์ แจ้งได้ที่เพจ Facebook NovelStore เราจะลบให้โดยเร็ว
ปัญหาการใช้งานเว็บไซต์ ติดต่อได้ที่เพจดังกล่าว
We do not publish or distribute copyrighted works in Thailand. To report infringing content, contact us via our Facebook page and we will remove it promptly. For other issues, use the same channel.

บทที่ 5 การเดินทางของการสร้างวงล้อจากศูนย์

บทที่ 5 การเดินทางของการสร้างวงล้อจากศูนย์

บทที่ 5 การเดินทางของการสร้างวงล้อจากศูนย์


บทที่ 5 การเดินทางของการสร้างวงล้อจากศูนย์

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

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

"403 โชคดีนะที่ไม่ใช่ 404" นัตสึคาวะรับคีย์การ์ดมา มุมปากของเขากระตุกเล็กน้อย "ถ้าเป็น 404 สักวันนายอาจจะหาตัวผมไม่เจอเอาได้นะอายาโนะโคจิ แล้วห้องนายเลขอะไรล่ะ?"

"401"

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

"อายาโนะโคจิ เพื่อนรักของผม!" เขาเอ่ยด้วยน้ำเสียงจริงใจ "อย่างที่เขาว่ากันว่า 'ลังเลคือพ่ายแพ้ เด็ดขาดคือให้ฟรี'... เอ้ย ไม่ใช่ 'เด็ดขาดคือมิตรภาพ'! ดูร่างกายผมสิ โดนลมพัดแรงหน่อยก็พร้อมจะล้มพับแล้ว นายช่วยสงเคราะห์พี่น้องคนนี้แบกของพวกนี้ขึ้นไปชั้นสี่หน่อยได้ไหม?"

อายาโนะโคจิจ้องมองเขาด้วยความเงียบงันอยู่สองวินาที ดูเหมือนกำลังประมวลผลคำพูดของเขาอยู่ "เรากลายเป็นเพื่อนรักกันตั้งแต่เมื่อไหร่?"

"แน่นอนสิ!" นัตสึคาวะเริ่มพล่ามไร้สาระด้วยใบหน้าจริงจัง "เพื่อนที่ดีน่ะเขามีความสัมพันธ์แบบช่วยเหลือซึ่งกันและกันแบบนี้แหละ วันนี้ช่วยดึงผมขึ้น พรุ่งนี้ผมจะช่วยผลักนายไปข้างหน้า นี่มันคือชีวิตประจำวันระหว่างพี่น้องร่วมสาบานชัดๆ"

บางทีอาจจะเป็นเพราะคำสำคัญบางคำไปกระตุ้นความสนใจ หรือบางทีเขาอาจจะคิดว่าเป็นเพียงน้ำใจเล็กน้อย อายาโนะโคจิจึงหยิบถุงช้อปปิ้งจากซูเปอร์มาร์เก็ตที่หนักที่สุดขึ้นมาเงียบๆ "...ไปกันเถอะ"

ทั้งสองขึ้นลิฟต์ไปยังชั้นสี่ หลังจากรูดการ์ดและผลักประตูห้อง 403 เข้าไป ห้องพักเดี่ยวมาตรฐานที่มีทั้งห้องครัวและห้องน้ำก็ปรากฏแก่สายตา หลังจากนัตสึคาวะวางโน้ตบุ๊กลงบนโต๊ะในห้องนอน เขาก็จัดแจงวางอุปกรณ์อาบน้ำไว้ในห้องน้ำ

"ขอบใจมากอายาโนะโคจิ อะ รับนะ!" นัตสึคาวะโยนเครื่องดื่มที่เขาหยิบมาจากซูเปอร์มาร์เก็ตให้อายาโนะโคจิ

"ไม่เป็นไร ผมขอตัวกลับห้องก่อน" อายาโนะโคจิรับมันไว้ด้วยมือข้างเดียว เขามองดูเครื่องดื่มครู่หนึ่งก่อนจะเปิดประตูและจากไปเงียบๆ

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

โลกทั้งใบกลับมาเงียบสงบ นัตสึคาวะเดินไปที่โต๊ะ แกะโน้ตบุ๊กออกมาและเสียบปลั๊กไฟ

"เอาล่ะ ถึงเวลาทดสอบคุณภาพของ 'ชุดของขวัญสำหรับมือใหม่' กันแล้ว" เขาถูมือเข้าด้วยกัน ดวงตาเป็นประกายด้วยแสงแห่งความคลั่งไคล้ในเทคโนโลยี "ถึงแม้ในชีวิตก่อนผมจะเน้นไปที่ระบบฝังตัว และไม่ค่อยคุ้นเคยกับพวกโปรแกรมรวบรวมข้อมูลขนาดใหญ่ แต่หลักการมันก็คล้ายกันนั่นแหละ! เหตุผลที่ผมเลือกสิ่งนี้ก็เพื่อที่ผมจะได้ 'สร้างวงล้อด้วยตัวเอง' ในสภาพแวดล้อมที่ 'ไม่มีอะไรเลย และทุกอย่างต้องทำด้วยมือ' แบบนี้ยังไงล่ะ!"

วินโดวส์ เริ่มทำงาน!

นิ้วของนัตสึคาวะรัวไปบนแป้นพิมพ์ โน้ตบุ๊กเครื่องนี้ติดตั้งวินโดวส์มาให้ล่วงหน้าแล้ว ช่วยให้เขาไม่ต้องวุ่นวายกับการหาแฟลชไดรฟ์มาติดตั้งเอง เขาเริ่มจากการติดตั้งโปรแกรมคลาสสิกอย่าง นอตแพดพลัสพลัส และ ไฟล์ซิลลา

'ไม่มี VS Code งั้นเหรอ? ไม่ใช่เรื่องใหญ่ นอตแพดพลัสพลัส นี่แหละคืออนาคต!'

ถัดมาคือรายการหลัก เขาทำการดาวน์โหลดตัวติดตั้ง ไพธอน 2.7 อย่างชำนาญ

แม้ว่า ไพธอน 3 จะมีให้ออนไลน์แล้ว แต่มันเหมือนเพิ่งจะถูกปล่อยออกมาไม่นาน และระบบนิเวศของมันยังไม่สมบูรณ์เท่าไหร่นัก เขาตัดสินใจใช้เวอร์ชัน 2.7 ต่อไปเพื่อประหยัดเวลาและลดปัญหาที่อาจเกิดขึ้น

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

pip install requests

pip install beautifulsoup4

pip install lxml

หลังจากรันคำสั่งเพียงไม่กี่ครั้ง ไลบรารีหลักที่จำเป็นก็ถูกติดตั้งสำเร็จ

'ต้องขอบคุณแผนกไอทีของโรงเรียนจริงๆ! การยืนบนไหล่ของยักษ์นี่มันสบายจริงๆ ไม่ต้องมานั่งเขียนโปรโตคอล HTTP เองตั้งแต่ต้น'

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

'นั่นไงล่ะ การปรับแต่งสภาพแวดล้อมของไพธอนบนวินโดวส์มักจะมี "เซอร์ไพรส์" ให้เสมอ ชีวิตก่อนผมโดน Anaconda ตามใจจนเสียคน พอมาตอนนี้ถึงได้รู้ว่าสภาพแวดล้อมแบบดั้งเดิมมันโหดร้ายแค่ไหน'

เขาถอนหายใจและตัดสินใจละทิ้ง pandas ไปทันที

"ไม่มี pandas แล้วจะวิเคราะห์ข้อมูลไม่ได้งั้นเหรอ? นายดูถูกความสามารถในการปรับแต่งด้วยมือของหลินเป่ยเกินไปแล้ว!" เขาถกแขนเสื้อที่ไม่มีอยู่จริงขึ้น "มันก็แค่พจนานุกรม รายการ และการวนซ้ำไม่ใช่หรือไง? เขียนตรรกะทางสถิติเองอาจจะให้ประสิทธิภาพที่ดีกว่าด้วยซ้ำ! (โกหกทั้งนั้น)"

การพัฒนาหลัก เริ่มต้นขึ้น!

เขาพัฒนาไฟล์ .py ขึ้นมาใหม่และเริ่มพิมพ์โค้ด

#อันดับแรก นำเข้าไลบรารีช่วยชีวิต

import requests

from bs4 import BeautifulSoup

import time

import datetime

import re

โชคดีที่เว็บบอร์ดของโรงเรียนสามารถเข้าถึงได้ผ่านหน้าเว็บในคอมพิวเตอร์ ไม่ใช่แค่แอปในมือถือ

"ขั้นแรก ผมต้องจำลองการเข้าสู่ระบบเพื่อเอาคุกกี้มาก่อน..." เขาพึมพำกับตัวเองขณะตรวจสอบโครงสร้างการเข้าสู่ระบบของเว็บบอร์ดโรงเรียน "โครงสร้างฟอร์มนี้ดูย้อนยุคไปหน่อยแฮะ"

ไม่นานนัก เขาก็จัดการส่วนของการส่งคำถามผ่านเครือข่ายเสร็จสิ้น และดึงค่า HTML ของหน้าแรกของเว็บบอร์ดมาได้สำเร็จ

"ต่อไปคือการแยกวิเคราะห์รายการโพสต์และดึงเวลาที่โพสต์ออกมา" เขาขมวดคิ้ว จ้องมองโค้ด HTML ที่หนาแน่น "โครงสร้าง DOM นี้... เขียนได้สะเปะสะปะชะมัด ไม่มีชื่อคลาส CSS ที่เป็นระบบเลยเหรอ? คงต้องพึ่งพา regex กับการระบุตำแหน่งโหนดพ่อแม่ลูกเพื่อผ่านจุดนี้ไปให้ได้"

'BeautifulSoup ไม่ได้ทำได้ทุกอย่างหรอกนะ ถ้าเจอ HTML ที่ไม่ได้มาตรฐานแบบนี้ สุดท้ายก็ต้องใช้กำลังเข้าสู้! มันเหมือนได้รับมีดพับสวิสมา แต่กลับพบว่าส่วนใหญ่ต้องใช้ไม้จิ้มฟันที่ซ่อนอยู่ข้างในมางัดแงะกุญแจแทนนั่นแหละ'

เขาจดจ่ออยู่กับการต่อสู้กับโครงสร้าง HTML อย่างเต็มที่ เวลาค่อยๆ ผ่านไปอย่างเงียบเชียบพร้อมกับเสียงกดแป้นพิมพ์

หลังจากผ่านไปนานเท่าไหร่ไม่ทราบได้ เสียงประท้วงจากท้องก็ดึงเขากลับสู่ความเป็นจริง นอกหน้าต่าง ท้องฟ้ามืดมิดลงแล้ว

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

โชคดีที่ในโรงเรียนไม่ได้มีแค่โรงอาหาร นัตสึคาวะพบร้านราเมนที่ดูดีร้านหนึ่งในย่านการค้าและจัดการดับความหิวของเขาจนอิ่มหนำ

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

เขาเลือกซื้อข้าว เส้น บะหมี่ หมูสามชั้น ไข่ และวัตถุดิบอื่นๆ จากนั้นจึงเดินกลับหอพักท่ามกลางลมเย็นยามค่ำคืน

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

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

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

ความรู้สึกนี้เหมือนกับการประกอบเครื่องจักรที่ใช้งานได้จริงด้วยเครื่องมือที่จำกัด โดยมีฟันเฟืองทุกตัวที่ผ่านการปรับแต่งด้วยมือของตัวเอง

เขาบันทึกโค้ดและปิดโน้ตบุ๊ก นอกหน้าต่าง สถานศึกษาทั้งแห่งตกอยู่ในความเงียบงัน

"ดูเหมือนว่าบางสิ่งมันจะสลักอยู่ในดีเอ็นเอจริงๆ นั่นแหละ" นัตสึคาวะหัวเราะเบาๆ พลางส่ายหัวขณะปิดไฟในห้อง "อย่างเช่นการใช้เวลาทั้งคืนเพื่อแก้ปัญหาการพึ่งพาไลบรารีและตามแก้บั๊ก"

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

จบบทที่ บทที่ 5 การเดินทางของการสร้างวงล้อจากศูนย์

คัดลอกลิงก์แล้ว