2coffee.dev

Tin ngắn hàng ngày dành cho bạn

Tóm tắt nội dung của tuần trước

Trình soạn thảo mã Zed đã cập nhật tính năng Edit Prediction, giúp gợi ý hoàn thành mã tương tự như GitHub Copilot, đồng thời giới thiệu mô hình Zeta để phục vụ tính năng tự động hoàn thành. Trong ngôn ngữ lập trình JavaScript/Node.js, có rất nhiều thư viện hỗ trợ gọi API như axios và undici, mỗi thư viện có ưu nhược điểm riêng, điều quan trọng là người dùng cần chọn lựa phù hợp với dự án của mình.

Một dịch vụ máy chủ serverless mới mang tên leapcell.io đã xuất hiện, hỗ trợ nhiều ngôn ngữ lập trình và cung cấp dung lượng miễn phí khá hấp dẫn. Về cá nhân tác giả, sau một tuần giảm lượng caffeine, cảm giác dễ chịu hơn, không còn đau đầu như trước. Tác giả chia sẻ trải nghiệm cai caffeine qua bài viết Thử thách không cà phê.

Dự án mã nguồn mở hoarder-app/hoarder giúp người dùng tự lưu trữ thông tin cá nhân một cách an toàn và tiết kiệm, trong khi bài viết Why blog if nobody reads it? đang thu hút sự quan tâm trên Hacker News, nhấn mạnh rằng viết blog trước tiên là để phục vụ cho chính tác giả.

Xuân Hoài Tống
Xuân Hoài Tống6 giờ trước

Có 2 phần mềm tiện ích cho Mac mà mỗi khi dùng máy Mac Mini hoặc Macbook có cắm thêm màn hình rời, thêm bàn phím với chuột nữa là BetterDisplayMac Mouse Fix. Đi qua từng cái nhé!

BetterDisplay giúp tinh chỉnh kích thước của màn hình rời để đạt độ phân giải HiDPI. Như bạn biết Mac khá kén màn hình và tuỳ chọn độ phân giải trong cài đặt mặc định rất ít ỏi, nên BetterDisplay cung cấp nhiều lựa chọn phù hợp hơn.

Cái thứ hai là Mac Mouse Fix, nếu dùng chuột ngoài bạn sẽ thấy nó cuộn không giống với Trackpad của Macbook cho lắm. Điều kì diệu xảy ra khi cài phần mềm này vào. Nó thêm hiệu ứng "smooth" và giúp cuộn chuột y như cuộn bằng Trackpad luôn. Thật thần kỳ.

Bình luận
Sao chép liên kết
Xuân Hoài Tống
Xuân Hoài Tống1 ngày trước

Mọi người còn nhớ grep.app không? Trang cho phép tìm kiếm mọi thứ trên Github chỉ cần đoạn mã xuất hiện trong cụm từ tìm kiếm. Sơ qua thì trang này đang lưu lại dữ liệu từ Github hay làm thế nào đó rồi mới tìm kiếm được, do đó không phải 100% kho lưu trữ công khai đều xuất hiện trên này.

Mình phát hiện ra Github cũng có trang tương tự, hơi chậm tí thôi cơ mà tìm kiếm 100% luôn nha 😆. Github Search. Mọi người nhớ bấm vào Code ở mục Filter By bên trái để nó tìm chính xác hơn nhé.

Bình luận
Sao chép liên kết
Xuân Hoài Tống
Xuân Hoài Tống2 ngày trước

Vừa gia hạn tên miền cho 2coffee.dev. Vậy là em nó đã 3 tuổi rồi đó mọi người. Sẵn đây nói luôn...

Mọi người chắc cũng biết về ý nghĩa của cái tên rồi đúng không. Ấy thế mà nó lại đang dính vào "lời nguyền cà phê" bởi vì tên miền có chứa từ khoá "coffee" rất "hot", làm nhiều người hoặc công cụ tìm kiếm đánh giá sai lệch về nội dung của trang web 🥲. Nhiều lúc mình muốn tìm cách để "khai tử" cái tên này đi, thay bằng tên khác thì con đường bớt chông gai hơn.

Tiền thân của 2coffee.dev là estacks.icu, ấy thế mà sao lại bỏ được cái tên cũ không chút đắn đo? Là vì 2coffee.dev đánh dấu sự trưởng thành trong tư duy làm sản phẩm của mình, ý là nghiêm túc hơn á. Còn stacks.icu vẫn mãi mãi là tiền thân của "Xin chào, một tách cà phê dành cho mấy ông lập trình viên đây".

Bình luận
Sao chép liên kết
Xuân Hoài Tống
Xuân Hoài Tống2 ngày trước

Privacy Guides là một dự án phi lợi nhuận nhằm cung cấp cho người dùng các hiểu biết về quyền riêng tư, đồng thời khuyến nghị những phương pháp hay công cụ để giúp đòi lại quyền riêng tư trong thế giới Internet.

Có nhiều bài viết hay tại đây, mình lấy ví dụ 3 khái niệm hay nhầm lẫn hoặc bị đánh tráo là Quyền riêng tư (privacy), Bảo mật (security) và Ẩn danh (anonymity). Trong khi nhiều người phản đối quyền riêng tư cho rằng một người không cần quyền riêng tư nếu họ "không có gì để che giấu". "Đây là một quan niệm sai lầm nguy hiểm, vì nó tạo ra cảm giác rằng những người đòi hỏi quyền riêng tư phải là những kẻ lệch lạc, tội phạm hoặc sai trái." - Why Privacy Matters.

Bình luận
Sao chép liên kết
Xuân Hoài Tống
Xuân Hoài Tống3 ngày trước

Có một nơi rất tuyệt vời để học hoặc đang kẹt trong suy nghĩ không còn gì để học nữa thì phần bình luận ở bển Hacker News là thứ dành cho bạn.

Y Combinator - Công ty đứng sau Hacker News tập trung vào các khoản đầu tư mạo hiểm cho các Startup tại Thung lũng Silicon, nên không ngạc nhiên khi có rất nhiều bộ óc thiên tài bình luận dạo ở trên đây. Nhưng cái dạo của họ cũng đủ cung cấp từ khoá mở ra cho chúng ta nhiều điều mới.

Không tin ư? Chỉ cần lướt một tí, bấm bài viết nào phù hợp với thị hiếu của bạn, xem bình luận và nhớ thêm một cốc cà phê bên cạnh nhé ☕️

Bình luận
Sao chép liên kết
Xuân Hoài Tống
Xuân Hoài Tống4 ngày trước

Vừa mới bị anh bạn Turso "chơi" cho một vố. Server tự nhiên lăn ra chết, kiểm tra logs thì thấy báo rất nhiều lỗi:

Operation was blocked LibsqlError: PROXY_ERROR: error executing a request on the primary

Nghi ngờ, vào trang quản trị của Turso thì thấy màn thống kê báo mình đã thực hiện hơn 500 triệu lệnh ghi dữ liệu!? Lúc đó mình kiểu "Chuyện quái gì vậy? Chẳng lẽ bị DDos? Cơ mà cũng không thể nào ghi được đến 500 triệu".

Turso cho người dùng miễn phí mỗi tháng được 1 tỉ lượt đọc và 25 triệu lượt ghi, ấy thế mà mình ghi được hơn 500 triệu, mọi người thấy vô lý không 😆. Cơ mà máy chủ thì đang chết, chẵng lẽ lại bỏ tiền ra để cho nó hoạt động lại, tính sương sương 500M là 500$ rồi.

Sau đó mình vào kênh Discord tìm sự trợ giúp, rất nhanh sau đó đã có người vào hỗ trợ, và chỉ vài phút sau họ báo lỗi từ phía họ và đã mở lại dịch vụ cho mình. Quả là trong cái rủi có cái hên, dùng dịch vụ thích nhất là cái khoản hỗ trợ nhanh chóng như thế này 🙏

Bình luận
Sao chép liên kết
Xuân Hoài Tống
Xuân Hoài Tống4 ngày trước

nginxconfig.io là trang web giúp bạn nhanh chóng tạo ra các tệp cấu hình cho nginx. Kiểu nó hướng dẫn bạn chọn cấu hình theo bước, cấu hình cho cái gì, bật tắt cái gì... rất trực quan. Xong bước cuối chỉ việc tải về tệp cấu hình rồi tải lên máy chủ thôi.

À trông thế thôi nhưng cũng cần phải biết một chút về nginx nữa mới dùng được 😅

Bình luận
Sao chép liên kết
Xuân Hoài Tống
Xuân Hoài Tống4 ngày trước

Ở đây có ai hay dùng K8s không nhỉ? K3s cũng tương tự như K8s nhưng dung lượng nhỏ hơn và nhẹ hơn nhiều. Đặc biệt nó hoàn toàn tương thích với các tiêu chuẩn của K8s, điều đó có nghĩa nếu biết K8s thì sang K3s không chút khó khăn gì.

Bấy lâu nay cứ chúi đầu vào serverless miết quên hết mấy cái công cụ phía máy chủ này 🫣. Có nên làm một chuỗi bài viết về học K8/3s không ta 🤔

Bình luận
Sao chép liên kết
Xuân Hoài Tống
Xuân Hoài Tống6 ngày trước

Trình soạn thảo mã Zed vừa cập nhật thêm tính năng có tên là Edit Prediction - gợi ý hoàn thành mã tương tự như Github Copilot.

Đồng thời họ giới thiệu luôn Zeta - mô hình được tinh chỉnh dựa trên Qwen2.5-Coder-7b để phục vụ tính năng tự động hoàn thành. Ngoài ra họ chia sẻ câu chuyện về quá trình xây dựng Zeta khá thú vị tại Zed now predicts your next edit with Zeta, our new open model.

Bình luận
Sao chép liên kết
Xuân Hoài Tống
Xuân Hoài Tống6 ngày trước

Chỉ mỗi việc gọi API thôi mà trong JavaScript/Node.js có hàng tá thư viện giúp chúng ta làm điều này như request, axios, undici, got, node-fetch, ky... Nhiều khi bàn luận trên mạng hoặc trò chuyện với ai đó họ lại khuyên chúng ta nên dùng cái này này mới tốt, cái kia kìa không bằng đâu 🤔. Rồi sinh ra làm gì nhiều để không biết dùng cái nào luôn.

Thật ra không trách được vì đó là một đặc trưng của giới mã nguồn mở - tất cả xuất phát từ nhu cầu sử dụng khác nhau. Mình lấy một ví dụ, trong Node.js có module http giúp chúng ta gọi được API nhưng nó hơi "cùi", phải viết mã để xử lý thêm nhiều quá nên cộng đồng tạo ra thư viện như request. Sau này fetch được bổ sung vào trình duyệt và cũng là nguồn cảm hứng cho node-fetch, cho cách dùng nhất quán. Nhưng trước đó, axios ra đời mang lại khá nhiều tiện ích như hỗ trợ interceptors, timeout hay cancel request... nó nổi tiếng đến mức chắc ai cũng từng nghe qua. Ngoài ra, đội ngũ Node.js lại cũng phát triển undici - một thư viện dành riêng cho Node.js tập trung vào hiệu suất, số lượng request mà undici có thể xử lý cao hơn gấp nhiều lần so với những cái tên còn lại. Cộng đồng lớn nên những cái tên khác như got, ky... tiếp tục được tạo ra và thu hút người dùng bằng một ngách nào đó.

Tóm lại bất cứ thư viện nào được tạo ra với cùng chức năng chính thì luôn tỏ ra có ưu - nhược điểm ở khía cạnh nào đó. Việc của chúng ta là nhận ra được điểm đó và áp dụng vào dự án sao cho phù hợp, chứ không phải cái nào nhiều người dùng thì mình cũng dùng theo. À! Trừ khi đó là tiêu chí lựa chọn của bạn 😅

Bình luận
Sao chép liên kết