Đây là các bài viết trong năm 2023.

Để xem tất cả các bài viết click vào đây.

Bí ẩn layout QWERTY

Bí ẩn layout QWERTY

QWERTY là layout bàn phím phổ biến nhất thế giới, xuất hiện mọi nơi từ bàn phím vật lý trên máy tính đến bàn phím ảo trên điện thoại di động. Tên của layout được đặt tên theo 6 chữ cái đầu tiên ở góc trên cùng, bên trái. Thế […]

Lambda trong Python

Lambda trong Python

Chắc hẳn ai cũng đã từng có lần sử dụng lambda trong Python. Không hiếm những đoạn code như dưới đây được chia sẻ rộng rãi trong cộng đồng những người lập trình Python. sorted_by_values = sorted(items, key=lambda i: i[1]) Vậy, lambda là gì? Nó khác gì với […]

HTTP/3 – giao thức thế hệ mới có gì hot?

HTTP/3 – giao thức thế hệ mới có gì hot?

Internet ngày càng phát triển và được sử dụng rộng rãi. Các ứng dụng web ngày càng phức tạp hơn, yêu cầu về một giao thức kết nối an toàn và hiện đại. HTTP/3 đã được phát triển nhằm đáp ứng nhu cầu đó. Bài viết này sẽ trình […]

Giới thiệu ESNI, DoT & DoH

Giới thiệu ESNI, DoT & DoH

ESNI (Encrypted TLS server name indication) và DoT (DNS over TLS), DoH (DNS over HTTPS) là những tiến bộ công nghệ mới nhất nhằm bảo vệ dữ liệu và quyền riêng tư của người dùng Internet. Trong bài viết này, tôi sẽ trình những điều cơ bản (trong hiểu biết […]

Khắc phục lỗi phím tắt ⌘ + [ của Visual Studio Code trên macOS

Khắc phục lỗi phím tắt ⌘ + [ của Visual Studio Code trên macOS

Sử dụng MacBook với hai bàn phím khác layout sẽ gặp một số vấn đề với phím tắt trên Visual Studio Code (vscode). Tôi đã gặp trường hợp như vậy khi máy tính của tôi sử dụng layout JIS còn bàn phím ngoài lại sử dụng layout ANSI. Trong bài […]

Node.js: Patterns & best practices

Node.js: Patterns & best practices

Node.js là một môi trường lập trình phổ biến, được dùng để xây dựng các ứng dụng cần xử lý lượng request đồng thời lớn. Sự đơn giản, linh hoạt của nó là ưu điểm rất lớn so với các môi trường lập trình khác. Thế nhưng, chính sự […]

Ghi log cho ứng dụng Node.js

Ghi log cho ứng dụng Node.js

Ghi log là một quá trình rất quan trọng để theo dõi và khắc phục sự cố cho các ứng dụng Node.js nói riêng và tất cả các ứng dụng nói chung. Chúng giúp theo dõi lỗi trong ứng dụng, giúp ích trong quá trình phân tích và tối […]

Sơ lược lịch sử ngành lập trình

Sơ lược lịch sử ngành lập trình

Trong bài viết này, tôi sẽ tóm tắt các giai đoạn khác nhau của ngành lập trình. Một nhà toán học người Anh (đồng thời cũng là nhà văn), nữ bá tước Ada Lovelace được coi là lập trình viên đầu tiên. Bà đã đưa ra một chương trình máy […]

Cài Linux (dual boot) lên máy MacBook Pro

Cài Linux (dual boot) lên máy MacBook Pro

Chiếc MacBook Pro đời 2011 của tôi đã quá cũ. Từ lâu nó đã không được cập nhật hệ điều hành, và gần đây một số phần mềm đã bắt đầu không hoạt động trên hệ điều hành cũ nữa. Không chạy được phần mềm thì máy tính coi như […]

Screen Saver có giúp “save” màn hình?

Screen Saver có giúp “save” màn hình?

Những hiệu ứng màu sắc lung linh, những chuyển động đẹp mắt, v.v… là những thứ rất thú vị mà tính năng screen saver mang lại. Thế nhưng, thực chất screen saver có tác dụng gì? Với cái tên như vậy, nó giúp “save” màn hình như thế nào […]

Sơ lược về lịch sử bàn phím

Sơ lược về lịch sử bàn phím

Bàn phím (keyboard) là một phần tất yếu của máy tính. Bàn phím đã trải qua nhiều cột mốc đáng nhớ trong suốt lịch sử của nó, dù thời gian không quá nhiều. Trải qua những cột mốc quan trọng này, bàn phím mở dần sang các trang sử mới […]

JavaScript: cơ chế thu hồi rác

JavaScript: cơ chế thu hồi rác

Trong bài viết này, tôi sẽ trình bày những hiểu biết của mình về một trong những cơ chế hoạt động bên trong của JavaScript engine – cơ chế thu hồi rác. Cơ chế thu hồi rác (garbage collection – GC) luôn là một phần quan trọng của bất kỳ ngôn ngữ […]

Bug là gì? Tại sao lại gọi thứ đó là bug?

Bug là gì? Tại sao lại gọi thứ đó là bug?

Làm việc trong lĩnh vực IT, chắc không ai xa lạ với thuật ngữ “bug”. Nó mang nghĩa là thứ gì đó không hoạt động đúng như mong đợi. Vậy chính xác bug là gì? Và tại sao lại gọi là bug mà không phải một cái tên nào khác […]

So sánh nhỏ: Redis vs Memcached

So sánh nhỏ: Redis vs Memcached

Khi nói đến cache ở phía server, có hai giải pháp phổ biến nhất: Redis và Memcached. Cả hai công cụ này chia sẻ nhiều điểm chung cũng như mỗi công cụ lại có những điểm riêng biệt. Trong bài viết này, tôi sẽ trình bày một số so sánh […]

Phần mềm chất lượng đến từ môi trường làm việc

Phần mềm chất lượng đến từ môi trường làm việc

Dạo này tôi có nhiều suy nghĩ lung tung về nghề nghiệp, về công việc. Và thời điểm này, tôi nghĩ đến vấn đề chất lượng phần mềm. Có lẽ do gần đây tôi gặp nhiều trường hợp tự khoe công ty mình “làm ra sản phẩm chất lượng cao […]

Hiểu hơn về React: React Fiber

Hiểu hơn về React: React Fiber

Việc React sử dụng “DOM ảo” có lẽ ai cũng biết. Thế nhưng, cơ chế bên trong của React như thế nào, ví dụ như việc chuyển DOM “ảo” thành DOM “thật”, cơ chế thay đổi DOM mỗi khi state thay đổi lại ít khi được đề cập. Trong bài […]

Mấy chục triệu lần bấm (hoặc click) là bao lâu?

Mấy chục triệu lần bấm (hoặc click) là bao lâu?

Khi nói đến bàn phím (cơ) hay chuột, những thông số liên quan đến tuổi thọ thường được tính theo số lần bấm hoặc click. Những con số này thực chất là tuổi thọ của switch. Ví dụ switch bàn phím này có tuổi thọ 100 triệu lần bấm. Switch […]

Dấu ngoặc nhọn trong shell

Dấu ngoặc nhọn trong shell

Nhân bài viết trước viết về dấu ngoặc trong shell script, tôi sẽ tiếp tục những nội dung liên quan đến chủ đề đó. Trong bài viết này, tôi muốn nói đến một dấu ngoặc khác, dấu ngoặc nhọn {. Có thể có nhiều người đã sử dụng nó, nhưng không […]

Sự khác biệt của các toán tử [[ vs [ vs ( vs (( trong shell script

Sự khác biệt của các toán tử [[ vs [ vs ( vs (( trong shell script

Để tự động hóa các thao tác trong công việc, shell script chính là một phương pháp rất hiệu quả. Shell script có thể chạy được ở mọi nơi mà không cần cài đặt nhiều (Windows giờ cũng có WSL để chạy Linux shell rồi). Tuy nhiên, trong bài viết […]

Nâng cao điểm hiệu suất trên Lighthouse cho ứng dụng React

Nâng cao điểm hiệu suất trên Lighthouse cho ứng dụng React

Lighthouse là một công cụ mã nguồn mở, hiện tại đã được tích hợp vào các trình duyệt dùng nhân Chromium, dùng để đánh giá hiệu suất hoạt động của các trang web. Lighthouse cung cấp nhiều thông tin giá trị cho những lập trình viên web như: Điểm số […]

Lịch sử của Ctrl+C, Ctrl+V, Ctrl+X, và Ctrl+Z

Lịch sử của Ctrl+C, Ctrl+V, Ctrl+X, và Ctrl+Z

Những phím tắt được dùng hằng ngày là Ctrl+Z, Ctrl+X, Ctrl+C, và Ctrl+V (với hệ điều hành macOS thì thay Ctrl bằng Command). Đây là những phím tắt của Undo, Cut, Copy, và Paste. Thế nhưng nguồn gốc của những phím tắt này là gì, và […]

Lập trình viên và chuyện gõ phím

Lập trình viên và chuyện gõ phím

Vừa trải qua một đợt bận rộn, giờ đây rảnh rỗi hơn, tôi có nhiều thời gian suy nghĩ hơn về nghề nghiệp, về tương lai của bản thân và về nhiều thứ khác. Trong bài viết này, tôi sẽ trình bày những suy nghĩ của mình về gõ phím […]

Những thông số quan trọng của chuột máy tính

Những thông số quan trọng của chuột máy tính

Khi mua chuột hay bất kỳ thiết bị nào thì những thông số kỹ thuật cũng rất quan trọng, phản ảnh chất lượng và tính năng của thiết bị đó. Để có thể chọn thiết bị phù hợp với nhu cầu nhất, việc nắm vững những thông số này gần […]

Docker trên macOS không ngon như trên Linux

Docker trên macOS không ngon như trên Linux

Docker là một công cụ giúp phát triển và chạy các ứng dụng trong một môi trường ảo gọi là container. Nó cho phép tạo các môi trường độc lập và tách biệt với hệ điều hành. Dù là một công cụ được tin dùng, Docker trên macOS không được […]

Cải thiện SEO cho ứng dụng React

Cải thiện SEO cho ứng dụng React

React là một thư viện giúp việc lập trình frontend dễ dàng và hiệu quả hơn. Thế nhưng thư viện rất nổi tiếng này lại có những vấn đề với các cỗ máy tìm kiếm. Trong bài viết này, tôi sẽ trình bày những hiểu biết của mình về những […]

Hóa ra “Enter” và “Return” lại khác nhau

Hóa ra “Enter” và “Return” lại khác nhau

Từ ngày có bàn phím rời tôi để ý rằng, phím Enter trên bàn phím của tôi được gọi là Return trên máy Mac. Lúc đầu tôi không suy nghĩ nhiều lắm, vì vốn bàn phím dành cho Windows và macOS đã khác nhau nhiều phím rồi, thêm một phím […]

Giới thiệu Deno – một lựa chọn thay thế cho Node.js

Giới thiệu Deno – một lựa chọn thay thế cho Node.js

Deno là môi trường để thực thi JavaScript và TypeScript tương tự như Node.js. Deno là công cụ được tạo bởi Ryan Dahl – cũng là tác giả của Node.js – để khắc phục những thiếu sót của Node.js. Nó vẫn được xây dựng dựa trên V8 JavaScript Engine […]

Xử lý lỗi cho Express route

Xử lý lỗi cho Express route

Express là một framework rất tốt, gọn nhẹ và hiệu quả của Node.js. Thế nhưng đang tồn tại một vấn đề, đó là các lập trình viên Express thường copy-paste những đoạn code chung chung (trả về kết quả, xử lý khi lỗi xảy ra) cho từng route. Trong […]

Sử dụng bàn phím Windows trên macOS

Sử dụng bàn phím Windows trên macOS

Năm ngoái tôi mới mua bàn phím mới, nhưng đáng tiếc bàn phím đó của tôi chỉ tương thích với Windows mà không tương thích với macOS. Tôi nghĩ rằng sẽ có nhiều người như tôi, vì mua một bàn phím Windows luôn dễ dàng và có nhiều lựa chọn […]

Welcome

manhhomienbienthuy

Đây là thế giới của manhhomienbienthuy (naa). Chào mừng đến với thế giới của tôi!

Bài viết mới

Chuyên mục

Lưu trữ theo năm

Thông tin liên hệ

Cảm ơn bạn đã quan tâm blog của tôi. Nếu có bất điều gì muốn nói, bạn có thể liên hệ với tôi qua các mạng xã hội, tạo discussion hoặc report issue trên Github.