"Chung" là ai? "Góc" này cũng giống như con người mình vậy, mình cũng chỉ là một cậu sinh viên năm 2 nhỏ bé chống trọi với thế giới hỗn loạn bằng cách chia sẻ câu chuyện và kiến thức mình tích tụ được qua góc riêng của chính mình.
How do I set up my work corner, as a remote engineer? Without a comfortable chair and multiple screens setup, working alone will be quite boring. But in contrast, with a good setup, you don't want to move anywhere. So this is my 2023 workstation for work-from-home setup if you are curious.
The "Zero" retention rate My first and latest indie product TabHub was launched in the last 2 weeks and it landed #13 on Product Hunt with 124 upvotes, 300 installations on the Chrome store...and 0% retention rate. Why?
What am I doing this week? (W2/08/2023) Learning basic physics, registering for buildspace s4, writing TabHub for team proposals, and growing my Twitter to 100 followers...
TabHub Devlog (v1.0.2 + v1.0.3) This blog post mainly talk about the technical side behinds TabHub directory system. There are a lot of new features implemented in TabHub but I can't cover everything in this single blog post. If you guys want to learn more about those features, you can follow: https://tabhub.medium.com/
TabHub Devlog (v1.0.1) Introducing TabHub, the ultimate solution that revolutionizes active tab and link management. With just a single click, you can effortlessly share links, streamlining the entire process...
Tất tần tật về dự án EDMA EDMA cũng có thể coi là một cột mốc nho nhỏ khi đây cũng là lần đầu tiên mình có một dự án được star bởi 120 Github users (cho đến thời điểm của bài blog này). Vì vậy, mình cũng muốn chia sẻ về niềm vui nho nhỏ này của mình với các bạn.
Mình đã tốt nghiệp đại học, vậy tiếp theo là gì? ...Và chỉ khi mình có trong tay một dự án hoàn thiện, mình mới có thể tự trả lời cho câu hỏi: Người mà bạn muốn trở thành vào năm 25 tuổi?
Đi để tìm...bản thể độc nhất Suốt 6 tháng qua, mình đi đến nhiều nơi, gặp gỡ nhiều người, học hỏi nhiều điều để hiện tại mình có thể ngồi ở góc phòng nơi mình thường viết blog, kể lại chuyến hành trình ấy.
Vì sao mình không còn viết blog đều đặn nữa? Nhưng mà nếu tốt như vậy thì tại sao mình lại không viết blog nhiều như trước? Cho đến gần đây mình học được ở đâu đó rằng: "Bạn không thể chia sẻ những thứ mà bạn không biết". Điều đó giúp mình chiêm nghiệm lại về quá trình mình viết...
Cẩm nang lập trình Solana Trong cẩm nang này, mình sẽ không đi qua về kiến trúc cốt lõi của Solana và sẽ trực tiếp đi đến Programming Model cũng như một vài ví dụ điển hình về hợp đồng trên Solana.
Bản chất của hợp đồng thông minh và Web 3 Đối với các lập trình viên chưa có nhiều kinh nghiệm làm việc với các ứng dụng truyền thống trong Web 2 thì bạn sẽ thấy các khái niệm trong lập trình blockchain khá mới. Tuy nhiên, về bản chất thì Web 3 và Web 2 cũng không khác nhau là mấy.
Leetcode 51: N-Queens - Ứng dụng thuật toán quay lui Mặc dù Leetcode 51: N-Queens được Leetcode đánh giá là khó, nhưng về bản chất thì mình thấy đây không hẳn là một bài vò đầu bức tóc nếu các bạn đã làm qua các bài về Depth First Search hay DFS (Tìm kiếm theo chiều sâu) và Backtracking (Thuật toán quay lui).
Leetcode 169: Tìm số phiếu bầu chiếm đa số với thuật toán Boyer-Moore Leetcode 169: Majority Element là bài toán được gắn tag dễ. Nhưng mình thấy bài này khá hay khi giới thiệu chúng ta thuật toán Boyer-Moore Majority Voting.
Leetcode 1334: Tìm đường đi ngắn nhất của các cặp với thuật toán Floyd-Warshall Thuật toán Floyd-Warshall hay còn được gọi là thuật toán tìm đường đi ngắn nhất cho các cặp trong đồ thị. Thuật toán này không được thiết kế để giải quyết vấn đề về tìm đường đi ngắn nhất giữa hai điểm, mà là đường đi ngắn nhất giữa các điểm với nhau.
Leetcode 287: Tìm các số trùng lặp với thuật toán Floyd Thuật toán phát hiện quy trình của Floyd (Floyd's algorithm) hay còn gọi là thuật toán "Rùa và Thỏ" (Tortoise and Hare algorithm) là thuật toán được thiết kế nhằm giải quyết các vấn đề về phát hiện chu trình trong đồ thị và linked-list.
Leetcode 118: Áp dụng Binomial Coefficients để giải Pascal's Triangle Pascal's Triangle hay tam giác Pascal là một mảng tam giác của các số nhị thức (Binomial Coefficient). Mỗi số trong tam giác Pascal là tổng của hai số trên nó. Input đầu vào của bài toán này là số tầng mà tam giác cần cấu thành và Output sẽ là tam giác hoàn chỉnh với số tầng được cung cấp.
Những điều bạn cần biết khi phát triển sản phẩm mã nguồn mở Phần mềm mã nguồn mở hay Open-source software (OSS) là các sản phẩm có mã nguồn, mã code công khai và bạn có thể tải xuống nhằm chỉnh sửa, tuỳ biến và sử dụng.
Lightning Network: Cách mạng hoá giao dịch bằng Bitcoin? Bitcoin đã và đang đón nhận được nhiều sự quan tâm từ cộng đồng tài chính trên thế giới. Ngoài ra, những giá trị về công nghệ mà Bitcoin mang lại cũng không kém phần thú vị. Và mạng Lightning là 1 trong số đó.
Programming Paradigms: Không chỉ có hướng đối tượng Các mẫu hình lập trình khác nhau sẽ cho lập trình viên hay người sử dụng ngôn ngữ đó một cái nhìn chung về cách mà ngôn ngữ đó vận hành...
Blockchain và những nỗ lực trong việc cải thiện khả năng tương tác? Khả năng tưởng tác (Interoperability) thường được định nghĩa là khả năng mà một mạng lưới chuỗi khối này có thể giao tiếp với một chuỗi khác.
Lập trình Ethereum #2: Smart Contract, Solidity và IDE Trong bài viết hôm nay, mình sẽ giới thiệu tới các bạn hợp đồng thông minh, ngôn ngữ lập trình (Solidity) cũng như là môi trường phát triển của Ethereum (Remix IDE).
Lập trình Ethereum #1: Vạn sự khởi đầu nan Với sự phổ biến của blockchain trong hiện tại cùng với sự đổ bộ của Web 3.0., Ethereum là một trong các đồng tiền mã hóa được quan tâm nhiều trên toàn cầu. Hãy cùng mình bắt đầu hành trình lập trình Ethereum nhé.
Tất tần tật về KIẾN TRÚC LỤC GIÁC trong phát triển ứng dụng Trong bài viết hôm nay, chúng ta sẽ cùng bàn luận về kiến trúc phát triển ứng dụng khá là phổ biến có tên là Hexagonal Architecture (Kiến trúc lục giác). Vậy vì sao lại là hình lục giác?
Công nghệ "The Volume" đã ảnh hưởng đến nền công nghiệp điện ảnh như thế nào? Trong năm 2020, trong nền công nghiệp điện ảnh đã có một bước tiến mới khi áp dụng game engine Unreal Engine 4 vào quay và dựng phim. Hãy cùng mình tìm hiểu xem các chuyên gia đã làm như nào nhé!
AMP là gì? ⚡ Gần đây thì khi tìm đọc các bài viết của mình trên nền tảng di động, mình có để ý thấy một vài tính năng được tích hợp vào trang blog của mình bởi Ghost CMS. Một trong các tính năng ấy là AMP hay Accelerated Mobile Pages...
Top 10 công cụ trong hệ sinh thái GraphQL (Tập 2) Ở tập trước, mình đã giới thiệu đến các bạn một vài công cụ khá là phổ biến trong hệ sinh thái GraphQL. Hãy cũng mình tiếp tục với 5 công cụ hữu ích còn lại trong top 10 công cụ trong hệ sinh thái GraphQL nhé.
Top 10 công cụ trong hệ sinh thái GraphQL (Tập 1) Trong bài viết hôm nay, mình sẽ đem đến cho các bạn 10 công cụ rất phổ biến trong hệ sinh thái của GraphQL mà các bạn nên biết đến để cải thiện hiệu suất cũng như tính linh hoạt khi làm việc với công nghệ này nhé.
Xây dựng tính năng Random Video Chat với WebRTC và WebSocket (Tập 1) Trong chuỗi blog này, mình sẽ hướng dẫn các bạn xây dựng tính năng ghép cặp ngẫu nhiên cho video chat với WebRTC và WebSocket.
Trải nghiệm lần đầu đăng ký tên miền Gần đây thì mình có đăng ký tên miền cho blog cá nhân. Sau quá trình tìm hiểu thì mình cũng đúc kết được một vài kinh nghiệm khi mua sắm tên miền. Bài blog này mình sẻ chia sẻ về trải nghiệm đó của mình
React State Management Libraries: Không chỉ có Redux 👌 (Tập 2) Trong bài viết này, chúng ta sẽ tiếp tục tìm hiểu thêm về những thư viện thú vị khác trong hệ sinh thái React nói riêng và Javascript nói chung nhé. Các thư viện trong bài viết này sẽ nằm ở phân khúc phổ biến hơn với lượng sao dao động từ 500 - 2000 ⭐ nhé.
React State Management Libraries: Không chỉ có Redux 👌 (Tập 1) ...Mình sẽ giới thiệu tới các bạn một số điểm thú vị của các thư viện trong việc quản lý trạng thái (state management) trong React ngoài Redux ra nhé!
Redis Labs làm bạn buồn 😭 Đã có Docker Redis là một công nghệ hữu hiệu nhưng cũng rất đắt đỏ. Việc sử dụng gói miễn phí của Redis Labs đã làm mình xỉu up xỉu down. Cũng may là có Docker...nhưng cũng không hẳn.
Builder Pattern trong Java và triển khai với Filter Machine 🤙 Khi thực hành làm dự án và thiết kế hệ thống với các ngôn ngữ hướng đối tượng như Java, việc áp dụng các design pattern để tối ưu hóa và kiến trúc dễ dàng hơn là rất cần thiết...
GRANDstack - Từ lý thuyết đồ thị cho đến sự cải tiến trong công nghệ GRANDstack là một Tech stack được xây dựng và phát triển để phù hợp cho những ứng dụng fullstack đòi hỏi một lượng data lớn. Điểm nổi bật nhất của GRANDstack là khả năng xử lý dữ liệu một cách linh hoạt hoạt và trực quan, củng cố bởi các cộng nghệ dựa trên lý thuyết đồ thị.
"ORM" LÀ GÌ MÀ NHÀ NHÀ SỬ DỤNG? Nếu bạn có kiến thức về ORM thì dễ dàng nhận thấy rằng hầu như các dự án ngày nay đều áp dụng các ORM framework vào sử dụng để khiến cho việc quản lý cơ sở dữ liệu và truy vấn trở nên dễ dàng hơn...Trong bài viết này, mình sẽ cùng các bạn tìm hiểu xem ORM là gì nhé
Bên trong trụ sở chính của một STARTUP KỲ LÂN có gì? Tuần qua thì mình có cơ hội tham gia vào một chuyến campus tour một "start-up kỳ lân" của Việt Nam và đây cũng là start up đầu tiên của Việt Nam được đưa vào hàng ngũ top 100 những chú kỳ lân của khu vực Đông Nam Á. Vậy các bạn hãy đồng hành cùng mình tìm hiểu về start-up kỳ lân này nhé.
Đón đầu xu thế với 5 công nghệ cho phát triển web hiện đại (2021) Trong khuôn khổ của lập trình web, có rất nhiều ý kiến cho rằng lập trình web giờ rất lỗi thời và dễ tiếp cận...Trong bài viết hôm nay, mình sẽ liệt kê ra một số công nghệ có thể làm mưa làm gió trong tương lai của nhóm ngành công nghệ này...
Nghệ thuật bảo mật: STEGANOGRAPHY- KỸ THUẬT GIẤU TIN VÀ NHỮNG ỨNG DỤNG Steganography là một kỹ thuật bảo mật dữ liệu mà trong đó dữ liệu được giấu sau những vật thế thường thấy, quen thuộc như tệp hay ảnh để tránh bị phát hiện. Song, tin nhắn được truyền tải thông qua một lớp màn giấu kín và sẽ được giải mã thông qua khóa được chia sẻ (Steganography Key).
JAMstack - Mì ăn liền nhưng không kém chất lượng Sau hai ba ngày bôn ba chạy deadline cho kịp final của kì học này thì mình cũng dã quay lại rồi đây. Bài viết hôm này sẽ là về một tech stack hiện đang chiếm thị phần người sử dụng trong khuôn khổ thiết kế phần mềm đó là JAMstack
Các cách thức kiến trúc Monorepo Microservices cho ứng dụng React đa nền tảng Bằng cách kết hợp sức mạnh đa nền tảng và native của React và React Native cùng với phương pháp cấu trúc dự án Mono-repo, lập trình viên sẽ tiết kiệm được hàng chục giờ cho việc thiết kế những component hay function lặp đi lặp lại.
Mỗi người nên có một "Tech Stack" cho riêng mình Đối với lập trình viên, người yêu có thể không có nhưng Tech Stack thì phải có một em. Với mỗi sự cộng hưởng từ các công nghệ khác nhau sẽ đem lại một kết quả khác nhau tùy thuộc vào đặc tính của vấn đề mà Tech Stack đó đối mặt
Những quyển sách đồng hành cùng mình trong năm 2020 Vậy nên để khép lại năm 2020 và mở đầu năm 2021 tốt đẹp đến với mọi người hơn, mình sẽ chia sẻ những quyển sách đã đi cùng mình trong năm 2020 và thật sự ít nhiều đã mở rộng thế giới quan của bản thân mình.
Khái niệm In-memory Database? Redis và cách cài đặt Redis cho Windows. Redis hay Remote Dictionary Server (Máy chủ từ điển từ xa) là một key-value datastorage (kho dữ liệu khóa-giá trị) trong bộ nhớ mã nguồn mở cung cấp một khả năng truy cấp nhanh chóng. Redis thường được sử dụng như một database, cache hay message broker.
SERIES UNITY AR & VUFORIA: Tập 2 - Tạo và hiển thị vật thể 3D qua thực tế tăng cường Ở tập trước của series Unity AR & Vuforia mình đã cho các bạn thấy được cái nhìn tổng quan về công nghệ AR, VR hay MR và hướng dẫn cài đặt Vuforia Engine vào Unity. Và ở tập 2 trong series mình sẽ đi vào phần kỹ thuật và tương tác với Unity nhiều hơn để có thể tạo ra được một ứng dụng AR cơ bản.
Trải nghiệm lần đầu tham gia Programming Competition Tuần vừa qua mình có khá nhiều việc cần làm nên cũng gọi là có tí căng thằng. Vậy nên mình cùng với mấy anh em trong câu lạc bộ nhân dịp ngày cuối tuần có đăng ký tham gia thử một cuộc thi thuật toán do công ty out-source Netcompany tổ chức.
Nên trở thành một "Jack of all trades, master of none" hay "Master Of One". "Jack of all trades" là một câu thành ngữ tiếng anh thường được sử dụng để ám chỉ đến những người "đa năng" hay có khả năng để làm nhiều việc và vế "master of none" có nghĩa là những người "đa năng" ấy thật sự không có một sự hiểu biết sâu sắc trong các lĩnh vực mà họ đặt chân...
JAVASCRIPT VÀ NHỮNG ĐIỀU MÌNH KHÔNG BIẾT 🙂 #1 - OPTIONAL CHAINING Khái niệm optional chaining có vẻ không quá là phổ biến nhưng thật sự rất hữu ích khi các bạn gặp trường hợp cần lấy giá trị của một object nhưng lại gặp lỗi bởi vì giá trị parent của field mà bạn lấy về bị undefined
ES6 Modules, Javascript và cách sử dụng require ngay trên browser Hầu hết các bạn lập trình viên sau khi đã làm việc với ngôn ngữ này - Javascript hay JS - trong một khoảng thời gian thì sẽ nhận ra được những điểm yếu mà ngôn ngữ này gặp phải. Một trong số là việc chia file Javascript để khiến cho việc kiến trúc ứng dụng hay hệ thống trở nên thuận tiện hơn.
Hệ thống bầu cử áp dụng mã hóa đồng hình - Homomorphic Encryption Đằng sau những hệ thống bầu cử mà chúng ta thường thấy là cả một quá trình mã hóa và giải mã để có thể bảo toàn được danh tính của người bỏ phiếu và cả số phiếu mà cử tri đạt được. Hôm nay mình sẽ cùng các bạn tìm hiểu về bộ máy mã hóa đằng sau đó...
SERIES UNITY AR & VUFORIA: Tập 1 - Giới thiệu công nghệ AR và tích hợp Vuforia với Unity Tập đầu tiên của series hướng dẫn tạo nên một ứng dụng AR cơ bản với Unity và Vuforia Engine. Trong tập này sẽ khái quát qua khái niệm của công nghệ AR và cách setup Vuforia cho Unity.
WSL - Một cuộc cách mạng mới cho người dùng Windows Là một lập trình viên, đã bao giờ các bạn cảm thấy khó khăn khi hệ điều hành cửa sổ có quá nhiều hạn chế? Bạn được khuyên là để trở thành một lập trình viên xịn thì không nên xài cửa sổ (Windows)?
"Chung" là ai? "Góc" này cũng giống như con người mình vậy, mình cũng chỉ là một cậu sinh viên năm 2 nhỏ bé chống trọi với thế giới hỗn loạn bằng cách chia sẻ câu chuyện và kiến thức mình tích tụ được qua góc riêng của chính mình.