2021
Coffee Talk: Anh CuongLM - Golang Contributor | Huy's Blog
snacky.blogCoffee Talk: Anh CuongLM - Golang Contributor | Huy's Blog
Chào mừng các bạn đã quay trở lại với chuyên mục Coffee Talk, trong buổi trò chuyện hôm nay, xin giới thiệu đến các bạn một nhân vật không xa lạ với Cộng đồng Golang Việt Nam, đó là anh CuongLM, nhiều người biết đến anh với vai trò là một contributor cho ngôn ngữ lập trình Golang.
Hôm nay anh Cường chia sẻ những kinh nghiệm của anh trong việc tham gia các dự án mã nguồn mở (OSS) nói chung và Golang nói riêng. Mình hy vọng những buổi Coffee Talk này sẽ là nguồn cảm hứng để các bạn lập trình viên trẻ trong nước có thể học hỏi và phát triển. Giới thiệu thế đủ rồi, chúng ta bắt đầu nào.
Remote work | Huy's Blog
snacky.blogRemote work | Huy's Blog
Nhiều người lầm tưởng rằng CNTT nói chung và lập trình nói riêng là ngành làm việc với máy móc, mình chọn đi theo con đường lập trình cũng vì thích ngồi làm việc với máy móc hơn là phải deal với loài người. Nhưng lầm tưởng là lầm tưởng. Nói theo Kinh tế học Mác Lê thì máy tính chỉ là Tư liệu lao động — Công cụ để con người sử dụng, tạo ra giá trị khi làm việc cùng với nhau.
Như mọi ngành nghề khác, lập trình là công việc đòi hỏi tính tương tác cao giữa con người với con người, và nó chỉ thực sự trở nên hiệu quả khi giao tiếp giữa các thành viên trong team diễn ra trơn tru, hiệu quả.
Cách mạng 0.4 của Neovim: Floating Window | Huy's Blog
snacky.blogCách mạng 0.4 của Neovim: Floating Window | Huy's Blog
Neovim từ phiên bản 0.4 có một chức năng cực kì hay ho đó là floating windows, giúp hiển thị một buffer ở bất kì vị trí nào trên màn hình. Nên nhớ là chúng ta đang nói đến Neovim, một editor hoạt động trên terminal, nơi mà mọi thứ chỉ là text và không hề có các khái niệm về giao diện đồ họa.
Sau khi chức năng này được release thì cộng đồng Neovim đã adopt nó khá nhanh, rất nhiều plugin áp dụng nó khá hiệu quả ví dụ như coc.nvim hay denite.nvim.
Trong bài viết này, chúng ta sẽ cùng tìm hiểu về floating window thông qua việc build một chức năng giúp cho Neovim có thể mở nhanh một cửa sổ terminal emulator, nằm floating trên màn hình. Mình thường dùng chức năng này khi cần thực hiện nhanh một thao tác nào đó như tạo git branch, push hoặc pull code mà lười xài Tmux.
2020
Open Source Story: Agar.IO Clone | Huy's Blog
snacky.blogOpen Source Story: Agar.IO Clone | Huy's Blog
Những gì sắp kể ra ở đây là về hành trình của mình đến với thế giới open source, đây là một dự án làm cho vui nhưng rốt cuộc lại đóng vai trò khá quan trọng đối với con đường làm kĩ thuật của mình, nhất là khi nó cũng mở ra khá nhiều cơ hội lúc mình đặt chân đến Mỹ (khi có dịp mình sẽ nói về cái này sau).
Từ đó đến giờ cũng khá lâu rồi, nên mình không thể nhớ hoàn toàn mọi chi tiết cũng như rất nhiều tư liệu trong quá trình viết game này đã bị mất, hôm nay quyết định viết ra chứ để lâu nữa có khi lại quên sạch luôn.
Tự tin khoe cá tính với Github Profile README – Codeaholicguy
codeaholicguy.comTự tin khoe cá tính với Github Profile README – Codeaholicguy
Chào mừng các bạn trở lại với blog đầy bụi của mình. Github gần đây mới cho ra mắt một tính năng dùng để hiển thị file README ở trên cùng của trang cá nhân. Với chức năng này, các bạn sẽ được tự do…
The SOLID Principles of Object-Oriented Programming Explained in Plain English
www.freecodecamp.orgThe SOLID Principles of Object-Oriented Programming Explained in Plain English
The SOLID Principles are five principles of Object-Oriented class design. They are a set of rules and best practices to follow while designing a class structure.
These five principles help us understand the need for certain design patterns and software architecture in general. So I believe that it is a topic that every developer should learn.
This article will teach you everything you need to know to apply SOLID principles to your projects.
5 sai lầm của bản thân.. Bước ra khỏi căn phòng, nơi bản thân… | by Nguyễn Hữu Đồng | Medium
dongnguyenltqb.medium.com5 sai lầm của bản thân.. Bước ra khỏi căn phòng, nơi bản thân… | by Nguyễn Hữu Đồng | Medium
Bước ra khỏi căn phòng, nơi bản thân học code ngày qua ngày để đi tìm một công việc đầu tiên thực sự gian nan. Nhưng sau khi đã tìm được…
Senior hay không-Senior? – Codeaholicguy
codeaholicguy.comSenior hay không-Senior? – Codeaholicguy
Mình sẽ mở đầu bài viết với một câu châm ngôn của bác Martin Fowler mà mình nghĩ ai là Software Engineer cũng đều nên nhớ,
“Any fool can write code that a computer can understand.
Good programmers write code that humans can understand.”
Tạm dịch là,
“Bất cứ thằng ngu nào cũng có thể viết code cho máy tính có thể hiểu.
Lập trình viên giỏi là người viết code để cho người khác có thể hiểu.”
Nhắc trước, đây là bài viết hoàn toàn dựa trên quan điểm cá nhân của mình và có thể sẽ làm cho nhiều bạn không vui, vì thế để tránh những sự tổn thương không đáng có bạn có thể tắt trình duyệt ngay lúc này.
2019
Coffee Talk: Nghĩa Trần - tác giả Proxyman: Từ side project thành full-time business | Huy's Blog
snacky.blogCoffee Talk: Nghĩa Trần - tác giả Proxyman: Từ side project thành full-time business | Huy's Blog
Bắt đầu từ một pet product để giải quyết những vấn đề cá nhân gặp phải trong quá trình làm việc, bạn Nghĩa Trần đã dày công theo đuổi và xây dựng Proxyman trở thành một sản phẩm chuyên nghiệp thu hút được hàng nghìn user đến từ khắp nơi trên thế giới, đem về doanh thu cực khủng.
Bài phỏng vấn dưới đây là những chia sẻ hết sức thú vị và bổ ích của Nghĩa về kinh nghiệm cũng như quá trình xây dựng và phát triển Proxyman.
2019 rồi, setup Vim như nào? | Huy's Blog
snacky.blog2019 rồi, setup Vim như nào? | Huy's Blog
Lưu ý: Bài viết này không dành cho những bạn chưa biết gì về Vim, nếu bạn chưa biết xài Vim, không sao, hãy dành ra 5 phút để làm quen với nó và thêm 10 phút nữa để học cách cấu hình nó, xong rồi hãy quay lại đọc bài này .
Sau gần 2 năm xài Emacs thì giờ mình đã quay trở lại xài Vim, chính xác là Neovim.
2018
CORS là gì? – Codeaholicguy
codeaholicguy.comCORS là gì? – Codeaholicguy
Trong quá trình đi làm, nhất là nếu làm frontend thì chắc chắn sẽ có một lúc nào đó các bạn bị Chrome (trình duyệt nói chung) chửi vô mặt những thứ đại loại liên quan đến cái của nợ Access-Control-Allow-Origin
header.
Tôi đã từng nghĩ đại đa số các bạn làm Web developer đều hiểu cái này rồi nhưng sự thật không hẳn là như vậy. Sau khi tổ chức một cuộc điều tra nho nhỏ, thì có vẻ như các bạn backend
hiểu về CORS
nhiều hơn là frontend
. Và có kha khá bạn không hiểu, hay hiểu một cách mơ hồ, không thể giải thích được về CORS
.
Và vì thế, tada, tôi viết bài viết này để lỡ chẳng may có bạn nào chưa hiểu thì cũng có thể vớt vát được chút xíu sau khi đọc xong!
2017
Chuyện tối ưu code, xấu đẹp, đẹp xấu – Codeaholicguy
codeaholicguy.comChuyện tối ưu code, xấu đẹp, đẹp xấu – Codeaholicguy
Chuyện tối ưu code, viết code cho thật đẹp là công việc hàng ngày của mỗi lập trình viên, điều đó ai cũng biết. Nhưng liệu code tối ưu có phải là code đẹp, và ngược lại? Đây là câu hỏi mà chắc hẳn nhiều bạn đều thắc mắc. Tôi sẽ kể một câu chuyện, và kết luận thế nào thì các bạn vui lòng kéo xuống phần “Kết luận” để đọc nhé.
Lúc mới đi làm… – Codeaholicguy
codeaholicguy.comLúc mới đi làm… – Codeaholicguy
Mấy hôm nay thấy các bạn đang rần rần về chuyện lương sinh viên mới ra trường do clip chém gió của Tôi đi code dạo rồi thì The Full Snack cũng viết về chuyện lương lậu lúc mới đi làm, nên tôi cũng …
Good team, bad team
quancam.netGood team, bad team
Đây là câu hỏi rất hay được tranh luận trên các diễn đàn. Có người bảo công ty cứ trả lương cao là tốt, có người cho rằng chỉ có công ty product mới có thể là good-team, có luồng ý kiến khác lại nói văn hóa công ty sẽ quyết định sự thành bại của một team.
2016
69 câu hỏi phỏng vấn về Spring (Phần cuối) – Codeaholicguy
codeaholicguy.com69 câu hỏi phỏng vấn về Spring (Phần cuối) – Codeaholicguy
Trong phần cuối cùng này chúng ta sẽ cùng nói về Spring Data Access, Aspect Oriented Programming (AOP), Spring MVC.
69 câu hỏi phỏng vấn về Spring (Phần 2) – Codeaholicguy
codeaholicguy.com69 câu hỏi phỏng vấn về Spring (Phần 2) – Codeaholicguy
Trong bài trước đã có bạn hỏi về cấu trúc các module trong Spring, đây chính là hình minh họa. Trong phần này, chúng ta sẽ lần lượt nói về Spring Beans, Spring Annotations.…
69 câu hỏi phỏng vấn về Spring (Phần 1) – Codeaholicguy
codeaholicguy.com69 câu hỏi phỏng vấn về Spring (Phần 1) – Codeaholicguy
Đã lâu rồi tôi không viết bài về Java. Tình cờ đọc được một bài viết từ JavaCodeGeek nên tôi quyết định sẽ lấy ý tưởng từ đó để thực hiện bài viết này, trong bài viết này, tôi sẽ tổng hợp lại những…
2015
Functional programming design patterns by Scott Wlaschin
www.youtube.comFunctional programming design patterns by Scott Wlaschin
In object-oriented development, we are all familiar with design patterns such as the Strategy pattern and Decorator pattern, and design principles such as SOLID. The functional programming community has design patterns and principles as well. This talk will provide an overview of some of these, and present some demonstrations of FP design in practice.