Những kĩ năng cần có của một web developer

Hiện nay, một lập trình viên có thể lựa chọn cho mình nhiều hướng phát triển: Lập trình nhúng (Embeded System), lập trình web, lập trình ứng dụng di động, … Vì mình đi theo hướng lập trình web, mình sẽ chia sẻ một số kĩ năng mà các bạn cần chuẩn bị nếu muốn theo con đường web developer.

lap-trinh-web-full-stack

Continue reading Những kĩ năng cần có của một web developer

Advertisements

Sự khác biệt giữa Web Site và Web Application

Hiện nay một số bạn học ngành IT vẫn còn lẫn lộn giữa khái niệm website và web app, sẵn tiện có một bạn hỏi nên mình viết bài này nhân tiện giải thích luôn.

Đây là một câu hỏi “tưởng dễ mà không phải dễ”, bởi vì ranh giới giữa website và webapp khá mong manh. Mình phải tổng hợp khá nhiều câu trả lời từ stackoverflow và programmers.stackexchange mới đưa ra được một câu trả lời “gần đúng” nhất.

1. Khái niệm website

Ngày xưa ngày xưa, khi Internet còn thô sơ, web được viết bằng html đơn lẻ. Mỗi trang web đơn lẻ được viết bằng html gọi là Web Page. Tập hợp nhiều trang web đơn lẻ, thành một trang web lớn, có chung tên miền, được gọi là Website. VD đơn giản: Mỗi bài viết trên blog của mình chính là một web page, tập hợp toàn bộ các bài viết lại chính là một website, tên là toidicodedao.com.

Continue reading Sự khác biệt giữa Web Site và Web Application

Series C# hay ho: Giới thiệu Humanizer – Một thư viện khá thú vị của C#

Kì này, series C# hay ho sẽ giới thiệu với bạn một thư viện khá “hay ho”, đúng như tên gọi của series. Thư viện này có tên là Humanizer. Nó chỉ có một chức năng duy nhất: Chuyển string, ngày tháng, … thành chữ mà con người đọc được (Đúng như tên gọi Humanizer tức là “người hóa”). Nghe đơn giản vậy thôi, nhưng bạn sẽ ngạc nhiên trước những chức năng của nó.

Bài viết chỉ mang tính chất showcase, giới thiệu nên sẽ không có code nhiều. Nếu tò mò, các bạn có thể tạo 1 project mới, dùng nuger để cài đặt Humanizer và code thử nhé. Một số tính năng nổi bật của Humanizer

Continue reading Series C# hay ho: Giới thiệu Humanizer – Một thư viện khá thú vị của C#

Tạo động lực học tập và làm việc – Sức mạnh của thói quen

Thời sinh viên, đã bao giờ bạn muốn làm bài tập, ôn thi ngay nhưng lại bị games, đi chơi, gái gú cảm dỗ chưa?

Thời sinh viên, đã bao giờ bạn muốn lấy một tấm bằng ngoại ngữ, một chứng chỉ, nhưng tìm học được nửa tiếng rồi lại thôi chưa?

Lúc đi làm, đã bao giờ bạn muốn học một công nghệ mới, một ngôn ngữ mới, nhưng được một vài hôm lại thấy chán nản và muốn bỏ chưa?

Nếu câu trả lời của bạn là “Có”, đừng lo, chẳng có gì xấu hổ cả, ngày xưa mình cũng từng như bạn (giờ vẫn vậy). Tuy nhiên, nhờ một vài bí quyết đơn giản, mình đã cảm thấy tự tin, dễ dàng khi học và tiếp thu kiến thức mới, có được một công việc kha khá, cũng như một số tấm bằng kha khá.

Continue reading Tạo động lực học tập và làm việc – Sức mạnh của thói quen

[Tutorial] Hướng dẫn tích hợp Visual Studio với Github

Trước đây, để quản lý source code, ta thường sử dụng SVN, host toàn bộ source code trên google code. Trong vòng nhiều năm gần đây, Git đang trở thành 1 xu thế mới, thay thế dần cho SVN. Hầu như các thư viện javascript, css nổi tiếng hiện giờ đều đặt đại bản doanh trên github. Google Code sẽ đóng cửa vào năm sau, vì vậy hầu như các project mới bây giờ đều được host trên Github. Mình viết bài này nhằm hướng dẫn các bạn dùng Visual Studio có thể lấy code, submit code lên github dễ hàng với Visual Studio nhé.

Continue reading [Tutorial] Hướng dẫn tích hợp Visual Studio với Github

C# là ngôn ngữ tuyệt vời nhất. Java, PHP, C, C++, Ruby chỉ toàn là thứ rẻ tiền

Sau một khoảng thời gian dài lập trình, mình đã có thể tự mà phát biểu rằng: C# là ngôn ngữ lập trình tuyệt vời và đáng học nhất. Lý do ư, vô số kể:

  • Bản thân ngôn ngữ C# có vô số điều thú vị: static method, partial class, delegate, LINQ, lambda expression, … Cái ngôn ngữ cùi bắp như Java làm gì có partial class, delegate, đến Java 8 mới bắt chước được cái lambda expression còn gì.
  • C# là ngôn ngữ strong-typed: Các tham số, kết quả trả về của hàm đều là một object. Mọi lỗi do đánh nhầm tên trường, tên hàm, nhầm kiểu class đều được báo trong lúc viết code, không phải chờ đến lúc chạy mới báo như mấy cái ngôn ngữ PHP, python cùi chuối khác.
  • C# đi kèm với framework .NET, hỗ trợ nhiều thứ: Tạo ứng dụng Window với WinForm, WPF; Tạo website bằng WebForm, MVC.NET… Mấy cái ngôn ngữ cấp thấp như C, C++ tuổi gì làm được mấy cái đó.
  • C# có IDE Visual Studio cùng nhiều plug-in vô cùng mạnh mẽ. VS ra bản mới đều đặn như FIFA. Reshaper hỗ trợ refactor, tăng tốc độ code … Mấy đứa khác code PHP, Python dùng cái gì để code? Dĩ nhiên là mấy thứ rởm rởm như Notepad++ hoặc Sublime Text rồi, đến cái chức năng “Jump to Definition” còn không có.

Continue reading C# là ngôn ngữ tuyệt vời nhất. Java, PHP, C, C++, Ruby chỉ toàn là thứ rẻ tiền

[Tutorial] Trích xuất thông tin từ website với HTML Aglitity Pack

Đây là bài tutorial thứ 2 trên blog. Hiện nay, nhu cầu thu thập dữ liệu ngày càng tăng. Với một số trang như lớn như facebook, google, steam ta có thể sử dụng API do họ cung cấp để lấy dữ liệu. Trong nhiều trường hợp khác, ta thường trích xuất dự liệu bằng tay (Mở trang web lên, copy dữ liệu vào file word, excel v…v), việc này vừa cực, vừa mất nhiều thời gian và công sức

Đặt tình huống cụ thể, bạn muốn làm một ứng dụng đọc báo, lấy thông tin từ chuyên mục “Đọc báo giùm bạn” trên webtretho.com. Đây là một trang forum khá to, và dĩ nhiên là không có API để lấy dữ liệu. Ở đây, ta không thể lấy dữ liệu bằng tay được. Giải pháp duy nhất cho chuyện này là viết một phần mềm trích xuất dữ liệu từ bản thân trang webtretho.

Google-Crawling-Sitemaps1

Continue reading [Tutorial] Trích xuất thông tin từ website với HTML Aglitity Pack