Hiển thị các bài đăng có nhãn Tài liệu C#. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Tài liệu C#. Hiển thị tất cả bài đăng

Chủ Nhật, 19 tháng 7, 2015

    
     Chào các bạn!
     Là 1 developer, nếu không học lập trình từ sách thì bạn đã bỏ lỡ 1/2 sự nghiệp của mình. Nhiều bạn cho rằng developer thì cần quái gì đọc sách, code nhiều là giỏi thôi. Vâng nó khá đúng vì các cụ xưa nay có câu "practice make perfect"! Tuy nhiên làm nhiều cũng phải có phương pháp, đúng cách mới tốt được. Nếu cứ cắm đầu cắm cổ code theo 1 kiểu mãi thì sẽ không bao giờ khá lên được đâu!
     Về sách mình đọc cũng kha khá, từ sách tiểu thuyết đến sách lập trình. Theo cuốn Code Complete thì trung bình mỗi developer đọc ít hơn 1 cuốn sách mỗi năm. Vậy nếu bạn đọc 1 quyển/năm thì bạn đã giỏi hơn 90% dev rồi đó =)). Nhân dịp Win10 vừa ra bản RTM, Icetea Việt chọn lọc 10 programming books bằng tiếng Anh về design, C, C#, C++, HTML, Cloud Computing, Java, JavaScript,.. dựa theo danh sách mình sưu tầm được từ blog Coding Honor và nhiều nguồn khác!


TẠI SAO PHẢI ĐỌC SÁCH

     Khi lần đầu tiên chọn lọc danh sách này, bạn biết mình nghĩ gì không ạ? Lúc đó mình nghĩ rằng đúng là chết tiệt thật, giá như mình biết được danh sách này sớm hơn. Bởi trước đó vì không ai bày cho nên đọc sách gì, nên mình đã cắm cổ đọc sách về một công nghệ nhất định nào đó như là ASP.NET, JAVA, PHP,... như điên. Mình thức cả đêm để download hàng trăm cuốn sách, hàng chục GB tài liệu rồi cuối cùng bỏ đó. Và cách đọc sách của mình cũng sai nữa, vớ được cuốn nào là mình đọc hùng hục từ đầu đến cuối, có khi hứng lên còn đọc luôn cả phần lời cảm ơn nữa! :)
     Sau này mình mới biết có những cuốn kinh điển như “Code Complete 2″ là sách gối đầu giường của các lập trình viên Âu Mỹ cho đến Ấn Độ, Họ hay đọc các quyển sách về tư duy, giải thuật, phong cách lập trình. Mình nghĩ cuốn này nên dịch ra để làm giáo trình cho sinh viên đại học CNTT ở Việt Nam thì tốt biết mấy.
Bạn đã có cuốn sách để đầu giường cho riêng mình?

1. Code Complete 2 – Steve McConnell


     Cuốn sách Code Complete 2 của tác giả Steve McConnell đối với các nhà phát triển phần mềm thì cũng nổi tiếng như cuốn Joy of Cooking dành cho các chuyên gia đầu bếp vậy. Đọc nó nghĩa là bạn yêu thích công việc của mình, bạn có thái độ nghiêm túc về cái bạn làm, và bạn muốn làm cho nó trở nên tốt hơn. Trong Code Complete, tác giả Steve ghi chú rằng lập trình viên trung bình đọc ít hơn một cuốn sách kỹ thuật mỗi năm. Và với việc đọc cuốn sách này thì đã giúp kéo bạn ra xa khỏi 90% các đồng nghiệp của còn lại. Dĩ nhiên là theo hướng tốt hơn.
     Nếu bạn muốn trở thành một dev chuyên nghiệp thì nên đọc quyển này, vì nó dạy cho bạn tư duy xử lý vấn đề. Từ cách thiết kế class, đến cách đặt tên biến, method,...     

2Advanced Linux Programming – CodeSourcery LLC , Mark L. Mitchell, Alex Samuel, Jeffrey Oldham


     “Advanced Linux Programming có đầy đủ thông tin từ thread management, interprocess communication, shared memory, devices, cho đến implementing inline assembly code… Đây là một quyển sách PHẢI ĐỌC dành cho người muốn biết về Linux
     “Quyển sách này đúng là đáng kinh ngạc. Mọi thông tin và ví dụ thực tế đều được chứa đựng trong hơn 300 trang sách. Tôi được hướng dẫn từng bước căn bản từ tạo basic applications, shared & static libraries, sockets, pipes & security, forks/threads đến nhiều ví dụ cụ thể về synchronization mechanisms.”

3. The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)


     Có nhiều ý kiến cho rằng đây là cuốn sách “kinh điển” duy nhất trong lĩnh vực phát triển phần mềm của chúng ta. Nó như là "Kinh Thánh" trong giới dev và PM. Nếu bạn vẫn chưa đọc nó, thì thật đáng hổ thẹn.
Tôi thách thức bất kỳ lập trình viên nào đọc cuốn The Mythical Man Month mà lại không tìm thấy câu chuyện về một hệ điều hành không tồn tại nữa, và nhóm người đã phát triển ra nó, rất đáng ngạc nhiên là chúng lại rất liên quan đến vấn đề của bạn ngày nay. Cuốn sách 30 năm tuổi đã minh họa sâu sắc một quan điểm rằng: máy tính có thể thay đổi, nhưng con người thì không. Bằng chứng là những gì quyển sách đã nói cách đây 30 năm đến giờ vẫn còn chính xác!
     Đọc cuốn sách kinh điển này chắc chắn sẽ tốt hơn rất nhiều việc bạn sử dụng thời gian để nghiền ngẫm trên hàng ngàn trang tài liệu kỹ thuật mới nhất hiện nay. Tuy không giúp bạn code giỏi hơn, nhưng giúp bạn có cái nhìn tổng quan về ngành Công nghệ phần mềm!

4. C# Yellow Book – Rob Miles

     “Nếu bạn chưa bao giờ lập trình thì đây là cuốn sách dành cho bạn – beginner – với nhiều hướng dẫn cực kỳ dễ theo dõi… Phần lớn topic về C# đều được tác giả đề cập đến trong C# Yellow Book nhưng những vấn đề “khó nhằn” nhất thì lại bị bỏ qua.”
     “Quyển sách này không chỉ dạy bạn những điều căn bản về C# programming mà còn nhiều lý thuyết lập trình khác. Nếu bạn muốn học lập trình thì đây là 1 khởi đầu đúng đắn dành cho bạn.

5. Clean Code: A Handbook of Agile Software Craftsmanship – Robert C. Martin


     Tất cả ví dụ trong sách là của Java, nhưng phần hướng dẫn có thể được áp dụng trong hầu hết các trường hợp, ngôn ngữ khác nhau.”
“Chương khó nhất và cũng giá trị nhất là ‘Refactoring of the class SerialDate’ (từ thư viện JCommon.) Nó là một ví dụ thực tế và tác giả đã mô tả từng bước refactoring để người đọc dễ nắm bắt hơn. Chương cuối cùng, ‘Smells và Heuristics’ là 1 kết thúc tốt trình nêu nhiều vấn đề tiềm năng và đề xuất cách giải quyết /giảm thiểu chúng.”

6. Don’t Make Me Think: A Common Sense Approach to Web Usability

     Một cuốn sách rất hay về thiết kế giao diện. Sách viết về usability (tính dễ sử dụng của phần mềm). Tác giả Steve Krug đã bao quát mọi khái niệm quan trọng về usability trong cuốn sách này, và ông làm công việc đó rất tốt. Sách không dạy các bạn thiết kế giao diện sao cho đẹp, nhưng nó dạy chúng ta cách thiết kế đơn giản, dễ sử dụng, không gây khó khăn cho người dùng. Đọc cuốn sách này thì rất vui. Nếu bạn chọn đọc chỉ một cuốn sách về usability, thì hãy lựa chọn cuốn này. Nó chứa rất nhiều thông tin tuyệt vời, và hình thức trình bày thì ngắn gọn súc tích, dễ áp dụng theo. Nó phù hợp với bất kỳ độc giả nào: dân kỹ thuật, không phải dân kỹ thuật, người dùng bình thường, lập trình viên, nhà quản lý v.v…
     Nó đưa ra một qui tắc rất đơn giản khi thiết kế giao diện: người dùng rất lười, hãy thiết kế sao cho người dùng ít phải suy nghĩ nhất. Và về sự đắt giá của giao diện người dùng, chỉ cần thay đổi 1 button có thể tăng doanh thu lên đến 500 000$ trong 1 năm!

7. Core HTML5 Canvas: Graphics, Animation, and Game Development (Core Series) –David Geary


Flash hiện đang chết - và bây giờ là thời đại của HTML5??? 
     Như chúng ta đều biết thì dạo này Flash rất hay bị tấn công, lỗi và bị chặn trên đa số trình duyệt, các ông lớn là Facebook và Google cũng đang dần chuyển sang HTML5, vậy dại gì mà chúng ta không thử tìm hiểu 1 chút về các lợi ích của chúng?
     “Cuốn sách này cực kỳ chi tiết và hướng dẫn của tác giả cũng đúng vào những điều trọng tâm nhất.” Chương 1 bao gồm các yếu tố cần thiết của canvas element như event handling, sử dụng HTML element trong canvas element, in canvas. Chương 2 giới thiệu cách vẽ canvas. David bắt đầu với những điều cơ bản như vẽ hình học căn bản và từng bước nâng kỹ thuật lên bằng cách sử dụng bezier curves, path manipulation, và transformations.”
     “David hướng dẫn người đọc qua nhiều ví dụ bằng hình ảnh, video, animation, sprites, game physics và mobile development. Code trong ví dụ của ông rõ ràng và được trình bày theo thứ tự với nhiều màu sắc khác nhau… Mặc dù Core HTML 5 Canvas tập trung vào game development nhưng mọi thông tin trong sách đều có ích cho mọi application developer.”

8. C++ GUI Programming With Qt 3 – Jasmin Blanchette và Mark Summerfield


     “6 chương đầu tiên cung cấp một nền tảng rất vững chắc về Qt. Các chương nổi bật gồm: chương 1 cung cấp kiến thức nền tảng vững chắc về Qt, chương 3 nói về modeless application development với nhiều ví dụ dễ hiểu, và chương 6 nói về layout management.”
    “Qt là 1 application framework đòi hỏi bạn phải đối mặt với vấn đề về files, sockets, và network programming. Quyển sách này giúp bạn giải quyết tất cả những vấn đề đó.”

9. JavaScript: The Good Parts – Douglas Crockford

     “Đây là quyển sách dành cho người có nhiều năm kinh nghiệm lập trình, muốn tìm hiểu cách tốt nhất để tạo và sử dụng objects, arrays, types, v.v… Kinh nghiệm của Crockford về JavaScript hướng dẫn tôi nhiều kỹ thuật, style coding thực tế.”
     “Quyển sách mỏng nhưng cực kỳ đầy đủ thông tin với nhiều lời khuyên hữu ích đến từ vô số developer có kinh nghiệm lập trình JavaScript trong nhiều năm. Tôi đồng ý và không đồng ý với Crockford ở một vài quan điểm, nhưng những quan điểm của ông đáng để đọc và suy ngẫm rồi rút ra ý kiến của riêng mình.“

10. The Design of Everyday Things - Donald A Norman

     Công việc phát triển phần mềm có thể làm bạn nản lòng đến mức khó tin, bởi vì có quá nhiều thứ có thể trở nên sai sót. Có rất nhiều thứ chúng ta làm là để phòng thủ: cố gắng đoán trước điều gì sẽ trở nên sai trước khi nó xảy ra. Nó là nguyên nhân làm bạn kiệt sức về tinh thần, và thậm chí có thể biểu lộ bản thân theo một số cách khá tiêu cực. Đôi khi tôi mô tả công việc này với những người không chuyên về kỹ thuật như thể tôi đang tạo ra một cái đồng hồ với hàng ngàn chi tiết nhỏ, tất cả chúng có thể hỏng một cách ngẫu nhiên vì những kích thích nhỏ nhất.



Sau khi xem qua danh sách này thì chúng ta hãy cùng đọc lại một đoạn trong bài viết của một lập trình viên khá nổi tiếng tại Ấn Độ nhé:
“Cũng giống như ngoài đại dương bao la kia, phía trên bề mặt thì sóng rất dữ dội nhưng ở mực nước sâu thì mọi thứ tương đối yên tĩnh, phẳng lặng và hầu hết các sinh vật sống và phát triển tại đây. Vì thế, hãy tự cảm nhận rằng mình đang ở mực nước sâu và tiến gần với những công nghệ cốt lõi. Bạn hãy dành nhiều thời gian để học về những khái niệm cốt lõi hơn là cứ ngồi đó mà lo lắng về những framework và công cụ luôn thay đổi xoành xoạch xung quanh nó. Cùng với nền tảng vững chắc của những kiến thức cốt lõi, bạn sẽ luôn dễ dàng học được những framework, công cụ và các API mới.”
Chào các bạn và chúc các bạn học tốt! 


Thứ Ba, 30 tháng 6, 2015


Chào các bạn!

Mình biết nhiều bạn muốn học cho mình một ngôn ngữ mới và hiện đại như C#, nhưng không biết phải bắt đầu từ đâu. Nhiều bạn search tài liệu trên mạng, search video tutorial về lưu lại rồi lại lẩn quẩn không biết học cách nào.



Theo mình biết thì C# hay nói rộng hơn là .NET. Hiện tại có 5 mô hình lớn đang phát triển là: 
  • WPF: Dùng làm ứng dụng trên Windows, tận dụng các thư viện đa dạng của .NET
  •  Webform: Cái này được phát triển đầu tiên, dùng làm web và ứng dụng web, nền tảng nhất của .NET framework.
  •  MVC: phát triển sau webform, là một pattern nhiều người sử dụng, tận dụng được điểm mạnh và là bước tiến cao hơn.
  •  Webmatrix: mô hình mới nhất của .NET
  • Windows Phone: Lập trình các ứng dụng cho di động chạy Winphone OS 

Bạn hãy chọn 1 trong 5 hệ thống này và học từ căn bản lên, mỗi cái điều có ưu thế riêng!

Lựa chọn hướng đi thế nào cho đúng đắn

   Nói lý thuyết là vậy, đối với các bạn mới học thì đọc những khái niệm trên sẽ rất mơ hồ.  
   Theo mình thì đầu tiên bạn nên học những thứ căn bản trước, là các kiểu dữ liệu,biến hằng mảng trên Console.... 
   Sau khi nắm vững những thứ căn bản rồi thì bạn mới đi sâu vào một vài ứng dụng mà bạn yêu thích như Web, Windows form application, WPF.
  Lưu ý: Vì C# là ngôn ngữ hướng đối tượng nên các bạn sẽ gặp khó khăn rất nhiều trong giai đoạn mới bắt đầu, một số bạn sẽ dễ nản và bỏ cuộc, tuy nhiên cần xác định rõ mục tiêu và cố gằng hoàn thành nó.

Đừng quên lý do bạn bắt đầu

MẸO: 
Mình khuyên các bạn nên tạo cho mình một file LuuY_C#.txt để lưu trữ lại những lỗi/trường hợp mắc phải và kèm theo solution cho nó (solution có thể search trên Stack Overflowhoặc đăng lên một số diễn đàn để hỏi). 
Và hãy đọc lại file LuuY_C#.txt một lần sau mỗi project, thì sau này bạn sẽ có thể nhớ rõ lỗi và bản chất nó hơn.

Và quan trọng nhất mình cũng có ý tưởng làm loạt bài "tutorial with example" hướng dẫn cụ thể từng đối tượng trong C# Winform, học C# qua đồ án/ví dụ cụ thể để tránh các bạn sẽ bị chán nản với khung màn hình console chán ngắt :D và xem được ngay thành quả học tập của mình qua các project từ dễ đến khó. 


Học theo project thực tế

Bởi vì đọc lý thuyết sẽ không hiểu được, học lập trình cần bắt tay vào làm rồi mọi vấn đề sẽ hiện ra ngay


TÀI LIỆU
Mình có sưu tập được một số tài liệu hay về C# Winform chia sẻ đến các bạn :D, ai cần tài liệu về các hướng đi khác thì comment mình sẽ upload ngay cho 

Mình sẽ viết bài hướng dẫn đầu tiên trong thời gian sớm nhất. Chúc các bạn học tốt! 


Categories

Sample Text

Được tạo bởi Blogger.

Must Read

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Popular Posts

Video

Popular Posts

Our Facebook Page