Chương 1: JSON trả về Null
Đồng hồ trên góc phải màn hình máy tính chỉ 16:45. Giờ hoàng đạo.
Trong giới lập trình, đây là khoảng thời gian nhạy cảm nhất. Nếu bạn đẩy code lên hệ thống lúc này mà bị lỗi, bạn sẽ ăn trọn combo "OT không lương" đến tối muộn. Còn nếu mọi thứ mượt mà? Bạn có thể ung dung đóng máy, xách cái túi lên và bước ra về trong ánh mắt ngưỡng mộ (hoặc ghen tị) của đồng nghiệp.
Tôi - Trần Minh Đức, Lead Frontend (Trưởng nhóm Giao diện) của công ty HiTo - tất nhiên thuộc trường hợp thứ hai.
Tôi nheo mắt, zoom vào nút "Đăng Ký" trên màn hình. Nó đang bị lệch sang trái 1 pixel so với khung nhập liệu. Với người thường, 1 pixel chỉ là hạt bụi. Nhưng với tôi, nó là cái gai trong mắt.
Cạch.
Tôi gõ nhẹ phím mũi tên. Cái nút dịch sang phải. Căn giữa chuẩn từng milimet. Hoàn hảo.
"Ngon. Giờ chỉ cần gọi dữ liệu từ Backend đổ vào là xong."
Tôi lẩm bẩm, tay lướt trên bàn phím như nghệ sĩ piano lướt trên phím đàn. Tôi nhấn F5 để tải lại trang.
Một vòng tròn xoay xoay hiện ra. 1 giây. 2 giây.
Bụp.
Không có màn hình xanh chết chóc. Không có báo lỗi đỏ lòm. Nhưng thứ hiện ra trước mắt tôi còn mang tính khiêu khích hơn gấp bội.
Trên giao diện danh sách người dùng - nơi lẽ ra phải hiển thị tên, tuổi, avatar của khách hàng - giờ đây trắng trơn. Tôi mở công cụ kiểm tra (Inspect) lên xem server trả về cái gì.
Một dòng code JSON hiện lên, đập thẳng vào mặt tôi:
{
"status": 200,
"message": "Code chạy đúng, nhưng tao chưa thích trả dữ liệu.",
"data": null
}
Tôi đứng hình mất 5 giây. Cảm giác như bạn gọi một bát phở bò Kobe, nhà bếp báo "lên món thành công", nhưng bưng ra cho bạn một cái bát rỗng không kèm tờ giấy nhắn: "Bò đang ngủ, ăn tạm không khí nhé."
Status 200 (Thành công)? Mà lại không có dữ liệu? Lại còn cái thông báo trêu ngươi kia?
Máu nóng dồn lên não, nhưng tôi hít sâu một hơi. Tôi là Đức "Gentleman". Tôi không gào thét như mấy bà bán cá ngoài chợ. Tôi xử lý vấn đề bằng phong thái của người có học thức và gu thẩm mỹ cao.
Tôi xoay ghế lại, nhìn chằm chằm về góc phòng tối tăm nhất công ty - "Lãnh địa" của team Backend.
Ở đó, giữa đống dây cáp chằng chịt như mạng nhện và vỏ lon nước tăng lực xếp thành tháp, có một sinh vật đang ngồi. Hắn mặc cái áo Hoodie xám lông chuột (dù trời Hà Nội đang 30 độ), đầu trùm mũ kín mít, chân gác lên case máy tính, đeo tai nghe chống ồn to sụ.
Nguyễn Văn Trường. Lead Backend. Kẻ thù không đội trời chung và cũng là "cục nợ" lớn nhất đời tôi.
Tôi bước tới, tiếng giày da gõ cộp cộp xuống sàn tạo ra âm thanh đầy uy lực. Tôi dừng lại ngay sau lưng ghế của nó. Mùi cà phê đen đặc quánh và mùi thuốc lá thoang thoảng tỏa ra từ người nó. Không hôi, nhưng nó quá... trần trụi so với mùi nước hoa của tôi.
Tôi lấy ngón tay trỏ (đã được cắt tỉa móng gọn gàng), gõ cộc cộc lên vai nó.
Trường không giật mình. Hắn từ từ kéo tai nghe xuống cổ, xoay ghế lại. Khuôn mặt hắn vẫn giữ nguyên nét mặt lạnh tanh thương hiệu. Đôi mắt lờ đờ như người thiếu ngủ ngước lên nhìn tôi.
- Gì? - Một từ cộc lốc rơi ra khỏi miệng hắn.
- Mày giải thích hộ tao cái API lấy danh sách User với. - Tôi hạ giọng, cố giữ vẻ điềm đạm - Tao cần mảng dữ liệu User, mày trả về null kèm cái tin nhắn "chưa thích trả" là ý gì?
Trường chớp mắt, vẻ mặt vô tội một cách đáng ngờ:
- À. Cái đấy á?
Hắn quay lại gõ lạch cạch vài cái, chỉ tay vào màn hình đen sì toàn chữ xanh đỏ của mình:
- Server đang quá tải nhiệt. Tao sợ truy vấn dữ liệu giờ này nó sập nguồn nên tao cho nó nghỉ tí.
- Mày đùa tao đấy à? - Tôi khoanh tay trước ngực, giọng bắt đầu đanh lại - Deadline demo là sáng mai. Chị Ngọc PM (Quản lý dự án) mà thấy cái màn hình trắng tinh khôi này thì mày xác định đem cái server của mày về mà nấu lẩu nhé.
Trường thở dài thườn thượt. Cái kiểu thở dài của mấy ông thiên tài bị người phàm trần quấy rầy. Hắn với tay lấy lon bò húc uống dở, lắc lắc:
- Đức này. Mày làm Frontend, mày lo cái giao diện cho đẹp là được. Mày cứ giả lập dữ liệu mà hiển thị đi. Cần gì dữ liệu thật?
- Tao cần dữ liệu thật để test logic phân trang! - Tôi nhấn mạnh từng chữ - Mày lười thì nói toẹt ra, đừng có văn vở. Hay là logic bên Backend của mày đang bug (lỗi) tùm lum nên mày giấu?
Nghe đến từ "bug", mắt Trường lóe lên một tia sáng. Hắn nhếch mép cười - một nụ cười nửa miệng trông cực kỳ gợi đòn:
- Bug á? Trong từ điển của tao không có từ đấy. Chỉ có "tính năng ẩn" thôi.
Nói xong, hắn nhoài người gõ một lệnh gì đó trên bàn phím.
Enter.
- F5 đi công tử. Có dữ liệu rồi đấy.
Tôi nghi ngờ nhìn hắn, rồi quay lại máy mình nhấn Refresh.
Lần này, danh sách hiện ra thật. Đầy đủ tên, tuổi, email. Nhưng...
Khoan đã.
Tên User 1: Nguyễn Văn Trường.
Nghề nghiệp: Đẹp trai nhất công ty.
Tên User 2: Trần Minh Đức.
Nghề nghiệp: Thợ code màu mè.
Tôi đứng chôn chân tại chỗ, tay nắm chặt con chuột.
- TRƯỜNG!
Từ góc phòng, tiếng hắn vọng lại, đều đều và vô cảm:
- Dữ liệu thật đấy. Tao test kỹ rồi. Đừng có cảm ơn.
Tôi thề, nếu không phải vì chiếc laptop này giá 60 triệu, tôi đã úp thẳng nó vào cái bản mặt tỉnh bơ kia rồi.
---
Góc giải thích thuật ngữ:
Frontend & Backend: Hãy tưởng tượng cái Web như một nhà hàng.
Frontend (Đức): Là cái menu đẹp đẽ, cái bàn ghế sang trọng, cách bày trí món ăn mà bạn nhìn thấy.
Backend (Trường): Là cái nhà bếp bên trong, nơi đầu bếp chế biến, kho chứa nguyên liệu. Khách (User) không nhìn thấy, nhưng không có nó thì nhịn đói.
API: Là anh bồi bàn. Frontend gọi món (gửi yêu cầu), API chạy vào bếp (Backend), lấy đồ ăn (dữ liệu) mang ra cho Frontend.
JSON: Là cái khay đồ ăn mà anh bồi bàn bưng ra. Bình thường trên khay phải có "Món ăn" (Dữ liệu), nhưng hôm nay Trường chỉ để lên đó một mẩu giấy ghi: "Nhà bếp lười nấu".
Bạn đang đọc truyện trên: Truyen2U.Com