Tag Archives: lập trình viên

Review sách: The Healthy Programmer – Giữ sức khỏe để code và ăn chơi phè phỡn

Bạn có biết, lập trình là một trong những ngành độc hại?

Bạn có biết, ngồi nhiều sẽ dẫn tới vô số những bệnh trầm trọng và mãn tính?

Bạn có biết, lập trình viên rất dễ mắc các bệnh tim mạch, béo phì, đau khớp, …?

Hãy đọc The Healthy Programmer – một cuốn sách viết về sức khỏe dành riêng cho developer. Cuốn này mình đọc từ hồi đầu năm khi tình cờ thấy nó trên it-ebooks, nhưng do lười quá nên giờ mới có thời gian review. Như tựa đề, đây là một cuốn sách dành cho dân lập trình, nhưng nội dung không nói gì về lập trình mà lại nói đến một vấn đề mà lập trình viên nào cũng quan tâm: sức khỏe.

jkthp

Continue reading Review sách: The Healthy Programmer – Giữ sức khỏe để code và ăn chơi phè phỡn

Advertisements

Dependency Injection và Inversion of Control – Phần 3: DI Container. Áp dụng DI vào ASP.NET MVC

Series bài viết Dependency Injection và Inversion of Control gồm 3 phần:

  1. Định nghĩa
  2. Áp dụng DI vào code
  3. Viết DI Container. Áp dụng DI vào ASP.NET MVC

Sau 2 phần đầu, chắc các bạn đã có cái nhìn tổng quan về DI và cách áp dụng chúng vào code. Đa phần chúng ta không tự viết sử dụng các DI Container nổi tiếng như: Unity, NInject, StructureMap.

Để hiểu nguyên lý hoạt động của chúng, mình sẽ cùng các bạn cách viết một DI Container đơn giản (chúng cũng không quá “ghê gớm” hay phức tạp như bạn nghĩ đâu). Sau đó mình sẽ hướng dẫn cách sử dụng cái DI Container có sẵn, cũng như áp dụng IoC và project MVC.

1. Tự viết 1 DI Container đơn giản

Các bạn có thể dùng git để clone project về máy và bắt đầu làm theo mình: https://github.com/ToiDiCodeDaoSampleCode/SimpleIoC. Các class và interface vẫn như trong phần 2, có điều mình đã bổ sung thêm 1 số class mock – module giả. Trong thực tế, ta sử dụng các class mock này để viết Unit Test.

Continue reading Dependency Injection và Inversion of Control – Phần 3: DI Container. Áp dụng DI vào ASP.NET MVC

Dependency Injection và Inversion of Control – Phần 2: Áp dụng DI vào code

Series bài viết Dependency Injection và Inversion of Control gồm 3 phần:

  1. Định nghĩa
  2. Áp dụng DI vào code
  3. Viết DI Container. Áp dụng DI vào ASP.NET MVC

Bạn đã đọc phần 1 nhưng vẫn chưa hiểu rõ lắm về DI, IoC, chưa biết cách áp dụng chúng vào code? Đừng lo, ở phần 2 này sẽ cung cấp những đoạn code mẫu, giải thích rõ hơn về những điều mình đã nói ở phần 1. Sau khi đọc xong phần này, các bạn quay lại phần 1 thì sẽ thấy “thông” ra được nhiều thứ nhé.

Dependency là gì?

Dependency là những module cấp thấp, hoặc cái service gọi từ bên ngoài. Với cách code thông thường, các module cấp cao sẽ gọi các module cấp thấp. Module cấp cao sẽ phụ thuộc và module cấp thấp, điều đó tạo ra các dependency.

ioc-and-mapper-in-c-4-638

Continue reading Dependency Injection và Inversion of Control – Phần 2: Áp dụng DI vào code

Dependency Injection và Inversion of Control – Phần 1: Định nghĩa

Series bài viết Dependency Injection và Inversion of Control gồm 3 phần:

  1. Định nghĩa
  2. Áp dụng DI vào code
  3. Viết DI Container. Áp dụng DI vào ASP.NET MVC

Hôm trước, có vài bạn nhờ mình giải thích các khái niệm Dependency Injection, Inversion of Control. Vốn lười, mình định google một bài viết bằng tiếng Việt để quăng cho các bạn ấy. Ngặc một nỗi là mình chả tìm được bài nào cụ thể rõ ràng về Dependency Injection, chỉ có hướng dẫn sử dụng Unity, StructureMap. Một số bài viết hay thì lại toàn bằng tiếng Anh.

Mình cũng thấy vài bạn đã đi làm 1, 2 năm mà vẫn còn “ngáo ngơ” về DI, IoC, chỉ biết sử dụng nhưng không hiểu rõ bản chất của nó. Do đó, mình viết bài này nhằm giải thích một cách đơn giản dễ hiểu về Dependency Injection. Các bạn junior nên đọc thử, vì DI được áp dụng rất nhiều trong các ứng dụng doanh nghiệp, rất hay gặp khi đi làm/đi phỏng vấn. Pattern này được dùng trong cả C#, Java và các ngôn ngữ khác nên các bạn cứ đọc thoải mái nhé.

ioc-and-mapper-in-c-1-638

Continue reading Dependency Injection và Inversion of Control – Phần 1: Định nghĩa

Chuyện về các cây đa cây đề trong làng Software Engineering

Để thành một lập trình viên giỏi, có rất nhiều bạn phải học và phải biết: Cách viết code sạchrefactor code, design thế nào để code SOLID, Inversion of Control và  Dependency Injection, Agile methodology, …

Tuy nhiên, đã bao giờ bạn tự hỏi: “Ai là người đã nghĩ ra những thứ đấy” chưa?. Bài viết này sẽ kể bạn nghe về những người đó. Đây là những cái tên có nhiều đóng góp to lớn cho ngành phần mềm. Họ nổi tiếng không chỉ nhờ khả năng code, mà còn nhờ khả năng viết và diễn đạt, truyền cảm hứng.

img

Continue reading Chuyện về các cây đa cây đề trong làng Software Engineering

Review sách: Microsoft .NET – Architecting Applications for the Enterprise (1st Edition)

Mình có thói quen đọc sách cuối tuần, đủ các thể loại từ marketing, startup cho tới technical. Lâu rồi cũng chưa review cuốn sách nào nên thấy thiêu thiếu, đành review cuốn này vậy. Đây là một cuốn sách khá hay về thiết kế architecture cho các ứng dụng .NET.

712pnsTtmNL

Mặc dù nghe tên hầm hố nhưng sách không quá khó, các bạn từ junior, senior cho tới Software Architect đều có thể đọc hiểu cuốn này. Tuy nhiên, mình khuyên các bạn sinh viên hoặc mới ra trường đừng nên đọc. Đi làm được 1-2 năm, tiếp xúc với 1 số project lớn, bạn sẽ dễ hiểu những điều được viết trong sách hơn.

Continue reading Review sách: Microsoft .NET – Architecting Applications for the Enterprise (1st Edition)

Review sách: Presentation Zen – 99% sinh viên/lập trình viên đã làm slide tệ hại như thế nào

Thời sinh viên, thuyết trình luôn là nỗi ác mộng đối với mình và bạn bè: Phải chuẩn bị nội dung để nói, phân chia thời gian nói, và làm slide. Các bạn sinh viên nói chung (bao gồm cả mình) thường làm slide theo công thức đơn giản: Copy một đống chữ từ đâu đó bỏ vào slide, thêm tiêu đề, thêm hình ảnh, căn chỉnh lại 1 tí, thế là đã có một slide hoàn chỉnh.

Đến thời đi làm, mình tưởng rằng đã thoát khỏi cái cảnh phải chuẩn bị slide thuyết trình. Thế nhưng, đến những lúc cần giới thiệu sản phẩm, công nghệ, hay khi tổ chức seminar, mình lại phải bật PowerPoint lên, làm lại công việc nhàm chán thời sinh viên. Hỏi các anh senior, các bác Manager mới biết là muốn leo lên vị trí cao, muốn thăng tiến phải giỏi thuyết trình, biết cách trình bày thì mới được đồng nghiệp nể trọng, cấp trên chú ý.

Xem các hướng dẫn làm slide nhiều, mình cũng ngộ ra là: Slide tốt là slide ít chữ, nhiều hình, ngôn từ ngắn gọn. Đến một ngày, sau khi đọc xong 1 cuốn sách, mình ngộ ra được cái “đạo”, cái “tinh túy” của nghệ thuật làm slide, nghệ thuật thuyết trình, cuốn sách đó tên là … Presentation Zen.

cover

Continue reading Review sách: Presentation Zen – 99% sinh viên/lập trình viên đã làm slide tệ hại như thế nào