lore Đọc truyện online

Chương 48: Phát triển một ứng dụng để luyện tập kỹ năng lập trình

7,609 Nhấn vào nội dung để bình luận hoặc báo lỗi.

Phòng máy tính khá vắng vẻ, không thấy bóng dáng ai cả.

Dù sao thì lúc này đang là kỳ nghỉ hè, và hầu hết những người chuẩn bị thi cao học cũng không cần sử dụng máy tính.

Lục Chu đi tới và bật điều hòa, sau đó chọn một chiếc máy tính để ngồi xuống, nhập mã sinh viên và mật khẩu của mình rồi đăng nhập vào hệ thống một cách thành thạo.

Lý do chính khiến anh chọn phòng máy tính của trường là bởi vì các chương trình được viết bằng ngôn ngữ Python thường được chạy trên hệ điều hành Linux; vì vậy, việc học ngôn ngữ Python ngay trong môi trường Linux có thể coi là vừa tiện lợi vừa hiệu quả.

Chiếc laptop second-hand của Lục Chu thực sự rất tệ; chỉ cần chuyển đổi tài liệu sang định dạng PDF thôi đã mất khá nhiều thời gian, huống chi là chơi game… Anh thậm chí phải đợi đến khi người khác đã bắt đầu trận đấu mới có thể tham gia được. Việc cài đặt hai hệ điều hành hoặc sử dụng máy ảo thì hoàn toàn không thể xem xét được.

“Mặc dù sách vở giải thích rất rõ ràng, nhưng không ngờ việc sử dụng hệ điều hành Linux lại phiền phức đến thế này… Quả thật, những gì được viết trên giấy và thực tế khi thực hiện là hai chuyện hoàn toàn khác nhau; muốn học được điều gì đó thì vẫn phải dựa vào thực hành.”

Lần đầu tiên sử dụng hệ điều hành Linux, Lục Chu cảm thấy rất bối rối. Sau khi đọc hướng dẫn mà anh mượn từ thư viện trong một thời gian dài, cuối cùng anh mới hiểu được cách sử dụng nó. Phải nói rằng, việc hệ điều hành Windows chiếm lĩnh một thị phần lớn là có lý do của nó; ngay cả những người chưa từng sử dụng máy tính trước đây cũng có thể dễ dàng làm quen với nó thông qua giao diện đồ họa. Tuy nhiên, hệ điều hành Linux lại khác; nó chủ yếu dựa vào giao diện dòng lệnh, và mọi thao tác đều được thực hiện thông qua bàn phím. May mắn thay, trường học đã cài đặt phiên bản hệ điều hành Linux có giao diện desktop; nếu không, Lục Chu thật sự không biết con chuột dùng để làm gì.

Tất nhiên, những ưu điểm của hệ điều hành Linux cũng rất rõ ràng; khả năng tùy chỉnh cao và độ bảo mật tốt khiến nó phù hợp hơn hệ điều hành Windows trong các lĩnh vực như máy chủ. Hơn nữa, một khi đã quen với giao diện dòng lệnh, tốc độ thực hiện công việc sẽ cao hơn nhiều so với hệ điều hành Windows. Vì vậy, khi tuyển dụng lập trình viên phía trước/mặt sau máy chủ, nhiều doanh nghiệp đều hỏi xem người ứng tuyển có biết sử dụng hệ điều hành Linux hay không.

Sau khi làm quen với các thao tác cơ bản của hệ điều hành Linux, Lục Chu mở phần mềm Python ra, lật sách và ngồi trước máy tính, mơ màng suy nghĩ.

“Một trong những ứng dụng của ngôn ngữ Python chính là viết các chương trình thu thập dữ liệu từ mạng internet; nếu muốn kiểm tra ki

Bỗng nhiên, trong đầu anh ta xuất hiện một ý tưởng; không hiểu sao mà anh lại nhớ lại những lần về nhà và phải trải qua quá trình đấu tranh khốc liệt để mua được vé. Lý do không phải là vì máy tính của anh bị lag, mà là bởi vì giao diện trang web chính thức của Bộ Đường sắt thực sự quá kinh khủng.

“Sử dụng công nghệ thu thập dữ liệu bằng robot web để lấy thông tin về các ga, chuyến tàu và số lượng vé còn lại trên trang web 12306… Có vẻ như điều này hoàn toàn có thể thực hiện được.”

Nghĩ đến đây, Lục Chu không chần chừ nữa, ngay lập tức bắt tay vào làm việc. Dù sao thì, như một ví dụ điển hình về cách sử dụng ngôn ngữ Python, các mẫu chương trình robot web đã được đề cập rõ ràng trong sách học, và tùy theo từng trường hợp cụ thể, các thuật toán cũng được cải tiến ở mức độ khác nhau.

Tất nhiên, 12306 không phải là một diễn đàn BBS bình thường; việc sử dụng nó làm bài tập cho người mới bắt đầu thực sự khá khó khăn. Nhưng đối với Lục Chu – người đã nghiên cứu kỹ lưỡng toàn bộ cuốn sách đó – thì đây không phải là vấn đề lớn. Việc viết chương trình robot web không đòi hỏi kiến thức kỹ thuật cao; chỉ với chưa đầy 30 dòng mã, anh đã hoàn thành chương trình một cách hoàn hảo, không gặp phải bất kỳ lỗi nào.

Sau đó, anh tiếp tục thực hiện công việc thu thập dữ liệu. Anh sao chép địa chỉ URL của trang web vào chương trình, chạy nó và biên dịch dữ liệu thành bảng, sau đó nhập chúng vào thư mục đã chuẩn bị sẵn.

Ngay lập tức, quạt tản nhiệt của máy tính bắt đầu phát ra tiếng ồn, máy tính trở nên lag, và từng dòng mã lập trình hiển thị trên cửa sổ đen, sau đó được nhanh chóng tổng hợp vào bảng. Nhìn thấy thư mục đang dần được lấp đầy bởi dữ liệu, Lục Chu tự hỏi trong lòng:

“Ngôn ngữ Python thật sự rất tiện lợi; không lạ gì mà nhiều người giỏi lại khuyên nên sử dụng nó.”

Nhìn những dòng dữ liệu hiển thị trước mắt, anh cảm thấy như mình đang trải nghiệm cảm giác của một hacker vậy. Tất nhiên, đó chỉ là ảo giác mà thôi; thực ra, việc này hoàn toàn không liên quan gì đến kỹ thuật hacking cả. Việc thu thập thông tin công khai từ trên server không phạm pháp, trừ khi bạn chiếm dụng quá nhiều tài nguyên của server người khác, điều đó có thể khiến các quản trị viên website rất phiền lòng.

Vì vậy, nhiều trang web “keo kiệt” sẽ thiết lập các chương trình chống thu thập dữ liệu bằng robot web; những trang web có công nghệ cao hơn có thể khiến bạn không thể thu thập được bất kỳ thông tin nào, hoặc những dữ liệu thu được sẽ là những ký tự không thể đọc được; những trang web có công nghệ thấp hơn cũng có thể theo dõi số lần truy cập và trực tiếp khóa IP của bạn.

Tuy nhiên, trang web 12306 rõ ràng không

“Lập một trang web đặt vé tàu hỏa à? Có vẻ như là việc vô ích thôi…”

Bỗng nhiên, Lục Chu có một ý tưởng.

Sao không…

lập một ứng dụng đặt vé trực tuyến thì sao?

Ý tưởng này xuất hiện một cách bất ngờ và nhanh chóng lan rộng trong đầu anh. Mặc dù trên mạng đã có khá nhiều ứng dụng đặt vé của các bên thứ ba, nhưng vẫn chưa có ứng dụng đặt vé chính thức từ phía các công ty vận tải. Nếu anh có thể tạo ra một ứng dụng độc đáo và bán cho những nhà vận tải quan tâm, biết đâu còn kiếm được chút tiền sinh hoạt nữa.

Khi nghĩ đến vấn đề tiền bạc, Lục Chu lập tức bắt đầu suy nghĩ kỹ lưỡng. Về mặt kỹ thuật, việc tự mình phát triển một ứng dụng từ phần trước đến phần sau là điều rất khó, không thể so sánh với việc viết một chương trình đơn giản, nhưng cũng không phải là bất khả thi. Hơn nữa, nếu gặp phải những vấn đề về thuật toán, anh vẫn có thể hỏi các chuyên gia, và việc sử dụng điểm tích lũy để tìm kiếm thông tin cũng chính là một quá trình học hỏi.

Khi anh hoàn thành nhiệm vụ thưởng và mở khóa công nghệ trí tuệ nhân tạo LV0, những kinh nghiệm quý báu này chắc chắn sẽ rất hữu ích. Tuy nhiên, việc mua và duy trì một máy chủ có lẽ sẽ tốn khá nhiều tiền; chi phí điện và các khoản bảo trì cũng sẽ là một gánh nặng không nhỏ… Trong khi đó, số tiền trên thẻ của anh chỉ có chưa đầy mười nghìn nhân dân tệ, thậm chí không đủ để chi trả cho những chi phí đó.

Cắn răng quyết định, Lục Chu vẫn quyết tâm vượt qua những khó khăn này. Nếu ngay cả một mức lương hàng năm 500.000 nhân dân tệ anh cũng sẵn lòng từ bỏ, thì còn điều gì là không thể làm được chứ? Dù có thất bại, thì cũng coi như là một cơ hội để rèn luyện kỹ năng mà thôi.

Vì vậy, Lục Chu tắt chương trình lại và không vội vàng bắt đầu viết mã nguồn, mà thay vào đó mở một tài liệu Word và bắt đầu thiết kế quy trình phát triển ứng dụng, giống như việc soạn thảo dàn ý luận văn vậy.

“Việc tra cứu thông tin vé tàu hỏa đòi hỏi phải truy cập dữ liệu thời gian thực, vì vậy yêu cầu về hiệu suất của máy chủ rất cao; mã nguồn phải được viết một cách ngắn gọn và dễ hiểu!”

“Giao diện có thể đơn giản, nhưng thông tin phải chính xác và đầy đủ; anh có thể tham khảo các ứng dụng đặt vé phổ biến hiện nay, nhưng không được giống họ hoàn toàn; phải có những điểm đổi mới…”

Đã viết đến đây, ngón trỏ của Lục Chu nhẹ nhàng vuốt ve bàn phím, suy nghĩ một lúc lâu trước khi tiếp tục gõ tiếp.

“Trước

1/1 0%