• Process vs Thread vs Coroutine

    Để dễ phân biệt những khái niệm này, ta đi từ khái niệm chương trình (Program). Program Là một file thực thi (file .exe hay .com trong windows) chứa những instructions và được lưu trong ổ đĩa. Một program có nhiều process. Ví dụ điển hình, Chrome browser là một program, và nó tạo ra…

  • English: 2 Tips for Thinking in English

    English: 2 Tips for Thinking in English

    Here are tips I collected from English lecturers and I’m practicing it everyday. You’re preparing to build your mind to work in English mode rather than translation mode. Instead of explaining why we have to do it, let’s give it a try to practice, because “Practice makes perfect”. The first tip is to start simple…

  • Zen of Python: Nguyên tắc cơ bản của lập trình

    Zen of Python là những nguyên tắc cơ bản mọi programmer bắt buộc tuân thủ. Nguyên gốc tiếng Anh: Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren’t special…

  • 10 nhân tố tạo động lực

    10 nhân tố tạo động lực

    Curiosity – Tính ham học hỏi Mọi người có vô số điều để tìm hiểu và suy gẫm Honor – Lòng tự trọng Mọi người cảm thấy tự hào vì giá trị được phản ánh trong cách họ làm việc Acceptance – Sự chấp nhận Các đồng nghiệp chấp nhận điều họ làm & con…

  • 43 câu nói của Napoleon Hill trích trong quyển “Think & Grow Rich”

    43 câu nói của Napoleon Hill trích trong quyển “Think & Grow Rich”

    1. Thời gian và tiền bạc: Hai yếu tố quyết định tương lai “Hãy nói cho tôi biết bạn sử dụng thời gian rảnh như thế nào và chi tiêu tiền bạc ra sao, tôi sẽ nói cho bạn biết bạn sẽ trở thành ai trong 10 năm tới.” (“Tell me how you use your…

  • Technical Lead: Khái niệm và những kỹ năng cần có

    Technical Lead: Khái niệm và những kỹ năng cần có

    Technical Lead [Indeed.com] Techincal Lead là một chuyên gia giám sát đội ngũ kỹ thuật tại một công ty phần mềm hoặc công nghệ. Họ thường lãnh đạo các nhóm Software Development hoặc Software Engineering và khắc phục sự cố kỹ thuật liên quan đến phát triển phần mềm, nhiệm vụ kỹ thuật và phát…

  • Kết hợp delegate với lambda expression

    Kết hợp delegate với lambda expression

    Delegate là cách cho phép dùng một method bên ngoài để thực thi một hành động tham chiếu đến thuộc tính của đối tượng. Trước khi xem cách sử dụng trong C#, ta cần hiểu rõ tại sao và khi nào cần dùng đến Delegate. Vậy thì, khi nào cần truyền một function để thực…

  • Khác biệt giữa Generics và Dependency Injection

    Nếu bạn có cùng câu hỏi với mình về vấn đề này thì đọc phần giải thích ngắn gọn phía dưới để thấy sự khác biệt: Cả hai cách đều dùng một giao tiếp khác để một class tham chiếu đến, Generics sẽ thông qua ngay phần khai báo lớp trong khi DI sẽ thông…

  • 6 bóng ma của “nỗi sợ”

    6 bóng ma của “nỗi sợ”

    Trước khi muốn chiến thắng kẻ thù, phải gọi được tên nó Bản chất con người là dễ bị rơi vào 6 nỗi sợ này: Nghèo đói Chỉ trích Bệnh tật Mất đi tình yêu thương Tuổi già 2 lý do chính đáng để lo sợ: Cái chết Dễ bị khuất phục bởi những tật…

  • Chuyển đổi số: Case Study về “tư duy số” của CFH

    Chuyển đổi số: Case Study về “tư duy số” của CFH

    Chưa đủ nguồn lực: làm sao quản lý, thu thập dữ liệu? Lời khuyên là: tập trung bán hàng, tập trung xây dựng thương hiệu. Sau đó xây dựng kênh thu thập thông tin, ví dụ để trên bao bì một QR code. Chi phí để cài app: Để khách hàng cài app vào sẽ…