ตอนที่ 47
ตอนที่ 47 พัฒนาเป็นผู้เชี่ยวชาญด้านแอปพลิเคชัน
ห้องคอมพิวเตอร์เงียบสงัด ไม่มีใครอยู่สักคน
ท้ายที่สุดแล้วนี่ก็เป็นช่วงวันหยุดฤดูร้อน นักศึกษากำลังเรียนเพื่อสอบเข้าปริญญาโทและเอกย่อมไม่ใช้คอมพิวเตอร์
ลู่โจวไปปรับแอร์แล้วนั่งลง เขาป้อนไอดีพาสเวิร์ดนักศึกษาแล้วเข้าสู่ระบบคอมพิวเตอร์อย่างชำนาญ
เหตุผลที่ทำไมเขาถึงเลือกห้องคอมพิวเตอร์ของมหาลัยหลักๆ เลยก็เพราะโปรแกรมที่เขียนด้วยภาษาไพธอนจะต้องรันบนคอมพิวเตอร์ลีนุกซ์ดังนั้นการเรียนภาษาไพธอนด้วยระบบปฏิบัติการลีนุกซ์จึงจำเป็น
นอกจากนี้โน้ตบุ๊กมือสองของลู่โจวยังห่วยเกินไป มันใช้เวลาแรมปีเพียงแค่แปลงวิทยานิพนธ์ให้เป็นไฟล์พีดีเอฟตอนที่เขาเล่นเอลโอเอล ทุกคนเชื่อมต่อกันหมดแล้ว แต่เขายังติดอยู่ที่น้ำพุอยู่เลย การรันระบบปฏิบัติการคู่หรือเวอร์ชวลแมชชีนนั้นเป็นไปไม่ได้
"หนังสืออธิบายไว้อย่างชัดเจน แต่ฉันก็ไม่คิดเลยว่ามันจะเขียนยากขนาดนี้จริงๆ มันก็จริงแหละการเขียนบนกระดาษกับการเขียนเป็นโค้ดมันเป็นสองเรื่องที่แตกต่างกัน ฉันว่าฉันคงต้องเรียนแบบภาคปฏิบัติ"
มันเป็นครั้งแรกเลยที่ลู่โจวใช้คอมพิวเตอร์ลีนุกซ์ เขาอ่านคู่มือที่ยืมมาจากห้องสมุดและเข้าใจในที่สุด
จะว่าไป มันก็สมเหตุสมผลแล้วที่วินโดว์ยึดครองส่วนแบ่งการตลาดโอเอสใหญ่แบบนี้ เพราะแม้แต่นุกซ์ที่ไม่เคยแตะคอมพิวเตอร์มาก่อนก็สามารถใช้งานหน้าอินเตอร์เฟสของวินโดว์ได้
อย่างไรก็ตามระบบลีนุกซ์นั้นแตกต่างกัน ส่วนใหญ่มันเป็นระบบบรรทัดคำสั่ง ทุกอย่างต้องดำเนินการผ่านคีย์บอร์ด โชคดีที่ทางมหาลัยติดตั้งตัวกระจายระบบเดสก์ท็อปเอาไว้ ดังนั้นลู่โจวจึงใช้เมาส์ได้
แน่นอนมีข้อดีของระบบปฏิบัติการลีนุกซ์อย่างชัดเจนเลยก็คือ มันมีความสามารถในการปรับแต่งและความปลอดภัยที่ยอดเยี่ยม ทำให้มันเหมาะสมสำหรับเซิร์ฟเวอร์มากกว่าวินโดว์ นอกจากนี้เมื่อเราคุ้นเคยกับระบบบรรทัดคำสั่ง ประสิทธิภาพของมันก็จะสูงกว่าการใช้วินโดว์หลายเท่า ดังนั้นบริษัทหลายแห่งจะถามโปรแกรมเมอร์ว่าสามารถใช้ระบบปฏิบัติการลีนุกซ์ได้ไหมก่อนจะทำการรับสมัครพนักงาน
ในที่สุดลู่โจวก็คุ้นเคยกับการทำงานพื้นฐานของระบบลีนุกซ์ เขาเปิดซอฟต์แวร์ภาษาไพธอน เปิดหนังสือแล้วนั่งอยู่ตรงหน้าคอมพิวเตอร์
"ฉันได้ยินมาว่าหนึ่งในการใช้งานที่ดีที่สุดของภาษาไพธอนคือการเขียนเว็บครอว์เลอร์ ถ้าฉันอยากทดสอบความรู้ของตนเอง นี่ควรเป็นจุดเริ่มต้นที่ดี แต่ฉันควรเขียนครอว์เลอร์แบบไหนดี? "
ลู่โจวจมอยู่ในห้วงความคิด
รวบรวมข้อมูลบนเว่ยป๋อ?
รวบรวมข้อมูลบนไป่ตู้?
มันดูค่อนข้างน่าเบื่อไปหน่อย
กุญแจสำคัญคือข้อมูลที่ถูกรวบรวมมานั้นไร้ประโยชน์ ฉันไม่สามารถจัดเก็บข้อมูลนั้นได้ถ้าหากมันใหญ่เกินไป
ทันใดนั้นเขาก็รู้สึกปวดใจ เขานึกถึงประสบการณ์อันแสนเจ็บปวดของการซื้อตั๋วรถไฟกลับบ้าน มันไม่ใช่เพราะคอมพิวเตอร์ของเขาช้า แต่เป็นเพราะส่วนต่อประสานกับผู้ใช้ของเว็บไซต์การรถไฟนั้นย่ำแย่มาก
"ใช้เทคโนโลยีครอว์เลอร์เพื่อรวบรวมข้อมูลของสถานีรถไฟ รถไฟและข้อมูลตั๋วจากเว็บไซต์ชื่อ12306 ดูเหมือนจะเป็นไปได้"
ลู่โจวคิดว่าไหนๆ เขาก็มาห้องคอมพิวเตอร์แล้ว เขาก็ไม่อยากเสียเวลา เขาจึงเริ่มงานทันที
ท้ายที่สุดแล้วโปรแกรมครอว์เลอร์ก็ถูกพูดถึงในหนังสือเรียนเพราะมันเป็นตัวอย่างทั่วๆ ไปของแอปพลิเคชันของภาษาไพธอน ในหนังสือกระทั่งให้วิธีการคำนวณที่แตกต่างกันสำหรับสถานการณ์ที่ต่างกันไป
แน่นอนเว็บ12306ไม่ใช่เว็บฟอรั่มธรรมดาๆ การกำหนดเป้าหมายยังเว็บไซต์นี้สำหรับมือใหม่แล้วค่อนข้างยาก
อย่างไรก็ตามสำหรับอัจฉริยะอย่างลู่โจวที่ศึกษาหนังสือทั้งเล่มมันไม่ใช่ปัญหาใหญ่เลย ในทางเทคนิคแล้วการเขียนครอว์เลอร์นั้นไม่ยากนัก ทั้งโปรแกรมมีน้อยกว่าสามสิบบรรทัดเสียอีก แต่มันก็รวบรวมข้อมูลได้อย่างสมบูรณ์แบบโดยไม่มีข้อบกพร่อง
มันถึงเวลาฉกฉวย
ลู่โจวก๊อปปี้ลิ้งก์ ของเว็บไซต์ลงในโค้ดแล้วรันสคริปต์ เขาดาวน์โหลดข้อมูลลงในไลฟ์สเปรดชีตที่เขาสร้างขึ้น
ทันใดนั้นพัดลมคอมพิวเตอร์ก็เริ่มดังกระหึ่ม คอมพิวเตอร์กำลังทำงานหนัก บรรทัดโค้ดเด้งขึ้นมารัวๆ ในไดอะล็อกบ็อกซ์สีดำ ข้อมูลถูกป้อนเข้าสู่สเปรดชีตโดยอัตโนมัติ
ลู่โจวมองสเปรดชีตที่เต็มหน้าอย่างต่อเนื่องแล้วเอนกายพิงเก้าอี้
"ภาษาไพธอนสะดวกมาก ไม่แปลกใจเลยว่าผู้เชี่ยวชาญหลายคนแนะนำภาษานี้"
ลู่โจวมองดูข้อมูลเด้งขึ้นมารัวๆ แล้วรู้สึกเหมือนเป็นแฮ็กเกอร์
อย่างไรก็ตามนั่นเป็นเพียงภาพลวงตา นี่มันแตกต่างจากแฮ็กเกอร์ตัวจริง มันไม่ผิดกฎหมายที่จะรวบรวมข้อมูลสาธารณะจากเซิร์ฟเวอร์ อย่างมากผู้ดูแลเซิร์ฟเวอร์จะโกรธมากที่เขาไปใช้แบนด์วิชท์ของเซิร์ฟเวอร์
ดังนั้นเว็บไซต์ที่'เห็นแก่ตัว'จำนวนมากจึงติดตั้งโปรแกรมต่อต้านการรวบรวมข้อมูล เราจะไม่สามารถรวบรวมข้อมูลจากพวกเขาได้ แม้ว่าเราจะทำได้ ข้อมูลที่ถูกรวบรวมมาได้ก็เป็นขยะ เว็บไซต์ระดับต่ำกว่ายังสามารถตรวจสอบจำนวนการเข้าชมและบล็อกไอพีได้
อย่างไรก็ตามเว็บไซต์ 12306 นั้นไม่เห็นแก่ตัว ผู้ผูกขาดยักษ์ใหญ่ที่ไม่สนใจแม้แต่ประสบการณ์ของผู้ใช้ เห็นได้ชัดว่ามันไม่สนใจทรัพยากรของเซิร์ฟเวอร์ ตราบใดที่ไม่มีใครถล่มเซิร์ฟเวอร์ของพวกเขา มันก็จะไม่มีใครสนใจ!
ลู่โจวมองข้อมูลที่ถูกสะสมอยู่ในสเปรดชีต เขาก็เริ่มสงสัยว่าเขาควรทำอะไรอื่นอีกไหม?
"ทำเว็บซื้อตั๋ว? เหมือนมันจะซ้ำซากไป..."
ทันใดนั้นเองก็มีหลอดไฟสว่างวาบขึ้นมาในหัวลู่โจว
แล้วถ้า...
ฉันทำแอปซื้อตั๋วล่ะ?
เขาคิดถึงไอเดียนี้แล้วควบคุมความตื่นเต้นของตนเองไม่ได้
แม้ว่าจะมีเว็บไซต์จองตั๋วบุคคลที่สามหลายแห่ง แต่ก็มีแอปแบบนี้ไม่มากนัก ถ้าเขาสร้างแอปที่โดดเด่นได้ เขาก็จะทำเงินจากมันได้
ลู่โจวคิดถึงเงินแล้วพลันรู้สึกสนใจขึ้นมา เขาเริ่มคำนวณในใจ
ในทางเทคนิคแล้ว มันเป็นเรื่องยากที่จะสร้างแอปตัวคนเดียว มันยากกว่าการเขียนโปรแกรมครอว์เลอร์แบบง่ายๆ แต่มันก็ไม่ใช่ว่าเป็นไปไม่ได้ แต่เขาสามารถใช้ระบบเพื่อแก้ไขปัญหายากๆ ท้ายที่สุดแล้วการใช้แต้มทั่วไปเพื่อซื้อความรู้ก็เป็นส่วนหนึ่งของการเรียนรู้
เมื่อเขาทำภารกิจสำเร็จแล้วปลดล็อกสาขาเทคโนโลยีปัญญาประดิษฐ์ มันจะมีประโยชน์แน่นอน
มันก็แค่เครื่องเซิร์ฟเวอร์อาจมีราคาแพง แม้แต่ค่าไฟฟ้าและค่าบำรุงรักษาก็อาจจะค่อนข้างแพงเหมือนกัน...
เขามีเงินในบัญชีน้อยกว่าหมื่นหยวนเสียอีก ดังนั้นเขาจึงทำอะไรไม่ได้...
ลู่โจวกัดฟันแล้วตัดสินใจเอาชนะปัญหาเหล่านี้
ถ้าฉันปฏิเสธเงินเดือนครึ่งล้านหยวนได้ มันก็ไม่มีอะไรที่ฉันทำไม่ได้!
แม้ว่าเขาจะล้มเหลว เขาก็ใช้มันเป็นบทเรียนได้
ดังนั้นลู่โจวจึงปิดโปรแกรม เขาไม่รีบเปลี่ยนโค้ด เขาเปิดเวิร์ดขึ้นมาแล้วเหมือนกับเขียนวิทยานิพนธ์ เขาเริ่มเขียนโครงร่างพัฒนาแอป
"ฉันมีการรวบรวมข้อมูลของตั๋วรถไฟแบบเรียลไทม์ ความต้องการของเซิร์ฟเวอร์นั้นสูงมาก ดังนั้นโค้ดต้องมีประสิทธิภาพที่สุด! "
"อินเตอร์เฟสเอาแบบเรียบง่ายได้ แต่ข้อมูลต้องแม่นยำและครอบคลุม ฉันควรดูแอปจองตั๋วบุคคลที่สามเป็นข้อมูลอ้างอิง แต่มันต้องไม่เหมือนกัน...ฉันต้องคิดไอเดียของตัวเอง..."
ลู่โจวจนถึงส่วนนี้แล้วนิ้วเขาก็ลูบคีย์บอร์ดเบาๆ เขาคิดพักใหญ่ๆ แล้วเริ่มเคาะคีย์บอร์ดอีกครั้ง
"ก่อนอื่นการซื้อตั๋วอัตโนมัติไม่ใช่เรื่องใหม่ เบราว์เซอร์มากมายต่างก็มีฟีเจอร์นี้"
"แต่การซื้อตั๋วอัตโนมัติแบบออฟไลน์...ฉันยังไม่เคยเห็น"
ลู่โจวคิดย้อนกลับไปตอนวันหยุดฤดูหนาวครั้งก่อน เขากดรีเฟรชเว็บไซต์อยู่ที่หอพักเกือบครึ่งชั่วโมงกว่าจะซื้อตั๋วได้สองใบ เขารู้สึกว่ามันเป็นเรื่องยากมากที่ผู้คนจะกลับบ้านช่วงปีใหม่
การรีเฟรชหน้าเว็บทางการอย่างต่อเนื่องมีโอกาสต่ำมากที่เราจะได้รับตั๋วเพราะบางส่วนมันก็เป็นตั๋วที่ถูกรีฟันด์โดยผู้อื่น ลู่โจวไม่รู้ว่าเขาจะซื้อตั๋วได้ที่ไหน แต่ฟังก์ชันนี้อาจพิจารณาได้
ยกตัวอย่างการตั้งช่วงเวลาและการเดินรถไฟหลายรอบ เซิร์ฟเวอร์จะรีเฟรชข้อมูลโดยอัตโนมัติและส่งคำขอไปทันทีที่ตั๋วปรากฏขึ้น เขาจะใช้ซอฟต์แวร์ดักตั๋วหลายโปรแกรม และจนถึงตอนนี้ดูเหมือนฟีเจอร์นี้จะยังไม่มีใครใช้
นอกจากนี้แนวคิดนี้ดูเหมือนจะนำไปใช้ไม่ยาก
ลู่โจวคิดมาจนถึงจุดนี้ก่อนจะหันไปมองนาฬิกา
มันบ่ายสามแล้ว!
ลู่โจวบันทึกไฟล์เวิร์ด จากนั้นเขาก็ดึงแขนเสื้อขึ้นแล้วเอามือวางบนคีย์บอร์ด
"ทำงาน ทำงาน!"