Cách cài đặt Cloudflare Tunnel để kết nối SSH
Nếu bạn có homelab ở nhà và mong muốn truy cập SSH nhưng không muốn mở port thì nên làm như thế nào cho đảm bảo an toàn nhất? Có rất nhiều cách để bạn có thể đạt được điều này, nhưng tôi sẽ chọn Cloudflare Tunnel vì đây là công ty rất lớn và Cloudflare thì cho tốc độ kết nối nhanh để tôi có thể truy cập SSH về máy ở nhà một cách mượt mà nhất. ...
Tản mạn một chút về hành trình đầu tư
Đây là một bài viết tản mạn đôi điều về hành trình đầu tư của tôi, cũng như chia sẽ một số công cụ và sách. Tôi đến với hành trình đầu tư không phải gần đây, tôi đã được tiếp xúc với khái niệm đầu tư từ những năm tôi còn ngồi trên giảng đường đại học. Khi đó, tôi vẫn chưa có khái niệm cơ bản nào về quá trình đầu tư nói chung hay crypto, chứng khoán nói riêng. Thứ mà tôi học được trước đó chỉ đơn giản là “Hãy tiết kiệm”. ...
Go - Interface Satisfaction
Trong Golang, việc implement interface không phải là bắt buộc và không cần phải chỉ rõ là một struct đang thực hiện implement interface nào, mà việc đó được thực hiện ngầm định. Khi struct của bạn đủ các method của interface thì nó sẽ được coi là implement interface đó. Chính điều này giúp Go có khả năng flexible cách chúng ta implement một interface cũng như gây khó khăn khi chúng ta muốn tìm ra các struct nào implement interface đó. Vì vậy, bài viết này sẽ đi qua hai phần, phần đầu là tìm hiểu về cách tìm ra các struct nào implement interface đó, phần hai là một thủ thuật nhỏ để bạn có thể truyền implement interface vào một function của thư viện mà bạn viết. ...
Adapter Pattern là gì?
Khi áp dụng một design pattern tốt sẽ giúp bạn tiết kiệm thời gian và công sức sau này. Bạn có thể tái sử dụng code, mở rộng khi cần thiết. Bạn có từng nhớ lần đọc code cuối cùng không? Bạn có thấy code của bạn dễ dàng chỉnh sửa mở rộng không? Nếu không, cùng tôi tìm hiểu về design pattern và cách áp dụng nó vào trong dự án của bạn. ...
Tối ưu hiệu suất .NET Core In-Process và Out-of-Process
Trong quá trình phát triển phần mềm, việc tối ưu hiệu suất luôn là vấn đề được quan tâm khi triển khai, đặc biệt trong .Net Core. Việc bạn lựa chọn các hosting model nào để chạy sẽ ảnh hưởng quan trọng đến hiệu suất của ứng dụng. Trong .Net có 2 phương pháp để hosting là In Process và Out Of Process. Với từng model sẽ có những ưu và nhược điểm riêng để phù hợp cho nhiều trường hợp khác nhau. Nhưng trước hết, ta hãy thử nghiên cứu về các khái niệm liên quan đến hosting model nhé. ...
Builder Pattern là gì
Khi áp dụng một design pattern tốt sẽ giúp bạn tiết kiệm thời gian và công sức sau này. Bạn có thể tái sử dụng code, mở rộng khi cần thiết. Bạn có từng nhớ lần đọc code cuối cùng không? Bạn có thấy code của bạn dễ dàng chỉnh sửa mở rộng không? Nếu không, cùng tôi tìm hiểu về design pattern và cách áp dụng nó vào trong dự án của bạn. ...
Abstract Factory là gì
Khi áp dụng một design pattern tốt sẽ giúp bạn tiết kiệm thời gian và công sức sau này. Bạn có thể tái sử dụng code, mở rộng khi cần thiết. Bạn có từng nhớ lần đọc code cuối cùng không? Bạn có thấy code của bạn dễ dàng chỉnh sửa mở rộng không? Nếu không, cùng tôi tìm hiểu về design pattern và cách áp dụng nó vào trong dự án của bạn. ...