2coffee.dev

  • Làm thế nào để xóa commit đã push?
    • git

    Làm thế nào để xóa commit đã push?

    Có một vấn đề mà tôi thấy rất nhiều người tìm kiếm đó là "xóa commit đã push". Tình cờ tôi cũng có một bài viết có tên là "Tôi vừa lỡ commit sai, làm sao để sửa lại ngay lập tức?" lại lọt vào kết quả tìm kiếm top đầu trên google cho từ khóa đấy, nhưng điều đáng nói là trong bài viết đó không có nhắc đến cách giải quyết vấn đề đang gặp phải, mà nó chỉ đơn giản là hướng dẫn bạn xóa commit "chưa" push. Vì thế, để tránh gây hiểu nhầm đồng thời giúp cho bạn đọc có một giải pháp chính xác hơn trong vấn đề này, thì bài viết ngày hôm nay chúng ta hãy cùng nhau tìm hiểu cách làm thế nào để xóa commit đã push nhé...

    1 năm trước

  • Bàn về câu lệnh npm run build - tại sao cần phải build?
    • javascript
    • node.js
    • npm

    Bàn về câu lệnh npm run build - tại sao cần phải build?

    npm run build một câu lệnh không quá xa lạ với các lập trình viên Javascript khi chuẩn bị release phiên bản mới của ứng dụng. Theo cách hiểu đơn giản, npm run build thực hiện công việc chuyển đổi mã trong dự án thành mã có thể chạy được trong trình duyệt hoặc Node.js. Nhưng tại sao lại cần phải có bước build? Bản chất của việc build là gì? Có phải tất cả dự án Javascript/Node.js cần phải build hay không? Hy vọng bạn đọc sẽ tìm được câu trả lời trong bài viết dưới đây...

    1 năm trước

  • Sử dụng miễn phí gpt-4 với Github Copilot
    • chatgpt
    • gpt
    • other

    Sử dụng miễn phí gpt-4 với Github Copilot

    Xin chào các độc giả của 2coffee.dev! Vậy là chỉ còn có vài ngày nữa thôi, năm Quý Mão sẽ chính thức khép lại nhường chỗ cho một năm mới Giáp Thìn với hy vọng có nhiều khởi sắc hơn. Đây cũng có thể là bài viết cuối cùng trong năm cũ mà tôi muốn dành tặng cho tất cả bạn của tôi. Cách đây vài hôm, tôi có viết một bài Biến ChatGPT thành một "chuyên gia", trong đó có nhắc đến vấn đề sử dụng API của ChatGPT thì mới có thể sử dụng được "chuyên gia" vì chỉ trong API mới cho chúng ta thiết lập...

    8 tháng trước

  • Tôi vừa lỡ commit  sai, làm sao để sửa lại ngay lập tức?
    • git

    Tôi vừa lỡ commit sai, làm sao để sửa lại ngay lập tức?

    Commit code là việc làm thường ngày của các developer, nhưng đôi khi vì một lý do nào đó mà bạn lỡ commit thiếu nội dung hay commit xong mới phát hiện ra còn chỗ quên chưa sửa lại thì phải làm thế nào?

    3 năm trước

  • Child process trong Node.js là gì? - Khi nào cần sử dụng fork và spawn?
    • node.js

    Child process trong Node.js là gì? - Khi nào cần sử dụng fork và spawn?

    Có một lời khuyên mà chắc hẳn ai làm việc với Node.js đều phải thuộc lòng đó là "đừng bao giờ chặn vòng lặp sự kiện". Chặn ở đây có nghĩa là không để cho Event Loop được thực thi chức năng vốn có của nó. Node.js chỉ có một luồng để xử lý mã JavaScript, nếu một công việc chiếm tương đối thời gian để xử lý thì nó sẽ gây ra một cuộc tắc nghẽn nghiêm trọng trong luồng chính. Hay nói cách khác, tất cả cuộc gọi API có thể sẽ không bao giờ được phản hồi cho đến khi công việc đó xong. Biết được vấn đề, tất nhiên Node.js phải cung cấp cho chúng ta một số cách để giải quyết. Thay vì gọi những hàm đồng bộ thì hãy chuyển qua gọi hàm bất đồng bộ, ví dụ như cùng là đọc file nhưng `readFile` sẽ được khuyên dùng hơn `readFileSync` bởi vì `readFile` là hàm bất đồng bộ. Ngoài ra, nếu công việc đòi hỏi khả năng tính toán cao của CPU như xử lý hình ảnh, video... thì có một giải pháp khác là sử dụng module `child_process` được tích hợp trong Node...

    1 năm trước

  • Phân biệt tác vụ I/O và tác vụ chuyên sâu CPU
    • node.js
    • javascript

    Phân biệt tác vụ I/O và tác vụ chuyên sâu CPU

    Là một lập trình viên Node.js đã bao giờ bạn nghe đến thế mạnh của Node.js là các tác vụ I/O và không đồng bộ, rằng Node.js không phải là lựa chọn tốt nhất cho các ứng dụng tính toán nặng? Vậy thì tác vụ I/O là gì và tại sao Node.js lại mạnh về I/O cũng như việc nói Node.js không thực sự tốt với các phép tính toán nặng không. Bài viết ngày hôm nay tôi sẽ nói về vấn đề nêu trên...

    2 năm trước

  • Worker threads là gì? Bạn đã biết khi nào thì sử dụng Worker threads trong node.js chưa?
    • node.js

    Worker threads là gì? Bạn đã biết khi nào thì sử dụng Worker threads trong node.js chưa?

    Worker threads được giới thiệu lần đầu tiên từ phiên bản node.js 10.5, tại thời điểm đó API của nó vẫn đang còn trong giai đoạn thử nghiệm trước khi chính thức nhận được bản phát hành ổn định ở phiên bản 12LTS. Worker threads cung cấp một giải pháp giúp chạy mã Javascript trên một luồng khác song song với luồng chính. Vậy cụ thể điều này là như thế nào và nó mang lại lợi ích gì thì xin mời các bạn đọc tiếp bài viết dưới đây...

    1 năm trước

  • Telegram và kênh gửi/nhận thông báo tức thì
    • other

    Telegram và kênh gửi/nhận thông báo tức thì

    Có thể bạn đã biết về ứng dụng nhắn tin Telegram, nó cho phép chúng ta gọi điện, nhắn tin qua mạng internet rất nhanh chóng mà không bị giới hạn gì ảnh hưởng đến những chức năng liên lạc cơ bản. Cá nhân mình thấy Telegram tập trung hỗ trợ vấn đề nhắn tin rất tốt. Tốc độ gửi tin nhanh và chưa bao giờ gặp tình trạng "miss" tin nhắn hay thông báo nào cả. Ngoài gọi điện, nhắn tin trao đổi đôi bên, Telegram còn hỗ trợ trao đổi thông qua Nhóm hoặc Kênh...

    1 năm trước

  • Đo lường thời gian thực hiện hàm trong Javascript một cách thanh lịch
    • javascript
    • node.js

    Đo lường thời gian thực hiện hàm trong Javascript một cách thanh lịch

    Trong quá trình phát triển ứng dụng hoặc đang vận hành nó trong môi trường production sẽ có lúc phát sinh ra nhiều vấn đề mà chúng ta không lường trước được. Khi ứng dụng được tung ra thị trường, chắc chắn lượng người dùng sẽ nhiều lên từng ngày, từ đó tạo ra sự đa dạng về hành vi lẫn dữ liệu người dùng thu thập được. Chúng kết hợp với nhau tạo ra nhiều trường hợp phát sinh lỗi mà quá trình kiểm thử trước đó không hề phát hiện ra. Một trong số đó có thể kể đến như là tốc độ phản hồi API bỗng trở nên chậm chạp mặc dù lượng người sử dụng là không nhiều. Khi kiểm tra lại tính năng gây ra tình trạng đó, có vẻ bạn phát hiện ra hoặc đang nghi ngờ một hàm nào đó chiếm lượng thời gian xử lý lớn. Để chắc chắn là mình đúng thì tất nhiên phải đo được xem cụ thể là hàm đó tốn bao nhiêu thời gian để xử lý...

    1 năm trước

  • Mutex và kỹ thuật giải quyết vấn đề tranh chấp tài nguyên do Race condition gây ra
    • other

    Mutex và kỹ thuật giải quyết vấn đề tranh chấp tài nguyên do Race condition gây ra

    Trong lập trình đôi khi chúng ta phải đối mặt với trường hợp cần ngăn chặn một yêu cầu đang muốn truy cập vào một biến, file, hay một cấu trúc dữ liệu nào đó mà yêu cầu khác đang nắm giữ. Việc các yêu cầu có quyền truy cập đồng thời vào một tài nguyên và sửa đổi chúng tự do sẽ gây ra khá nhiều vấn đề hay thậm chí là lỗi mà chúng ta không hề mong muốn. Trong môi trường cân bằng tải...

    1 năm trước