Tag Archives: linq

Series C# hay ho: C# 6 có gì hay ho nào

Gần đây, mình tập trung viết một số bài về định hướng nghề nghiệp và phát triển bản thân mà ít viết về công nghệ. Vì vậy hôm nay mình quyết định tiếp tục viết series C# hay ho. Ở bài này, mình sẽ giới thiệu những cải tiến được Microsoft tích hợp vào C# 6. Bạn nào muốn biết thêm về sự phát triển của C# từ bản 1.0 lên 5.0 hãy đọc bài cũ của mình ở đây nhé.

Ở phiên bản này, C# không có nhiều cải tiến to lớn như Linq, hay async/await. Những thay đổi của bản 6 giúp việc viết code dễ hơn, code ngắn gọn và đẹp hơn.

Continue reading Series C# hay ho: C# 6 có gì hay ho nào

Trải lòng với bài viết thứ 50 – Cảm ơn sự ủng hộ của mọi người

Mình bắt đầu viết blog này vào ngày 31/12 năm trước, thấm thoắt mà cũng đã được gần 8 tháng rồi nhỉ. Bài viết này ra đời nhân kỉ niệm lượng bài viết của blog đã đạt đến con số 50.

Bạn nào từng theo dõi blog chắc cũng thấy mình từng viết 1 bài viết ăn mừng blog đạt được 1000 view đầu tiên vào khoảng cách đây 2 tháng. Một chuyện dở khóc dở cười là, ngay sau khi mình chia sẻ và giới thiệu blog của mình với bạn bè trên facebook, lượng view trong ngày 09-05 đạt gần 1000 – bằng với lượng view của blog trong 4 tháng. Thế mới thấy, sức mạnh của quảng cáo bá đạo như thế nào.

01

 

Continue reading Trải lòng với bài viết thứ 50 – Cảm ơn sự ủng hộ của mọi người

Cột mốc 1000 view – Lời cảm ơn chân thành đến bạn đọc và mọi người

Mình bắt đầu viết blog này vào ngày 31/12 năm trước, bắt đầu bằng bài viết về bản thân và giới thiệu blog. Đây là bài viết thứ 28 của blog này, đánh dấu lượt view thứ 1000.

https://toidicodedao.com/2014/12/31/gioi-thieu/

Đẹp trai nhất, ngoài cùng bên phải

Từ đó tới nay tính ra đã được 5 tháng, lúc blog đạt được mốc 1000 view vẫn còn là tháng 4, tính ra mình đạt mốc 1000 view sau 4 tháng, không phải quá xuất sắc nhưng cũng không đến nỗi tồi. Kỉ lục của blog là hơn 100 views/ngày, khi mình post link bài viết về Lambda Expression trên group ASP.NET MVC facebook.

Continue reading Cột mốc 1000 view – Lời cảm ơn chân thành đến bạn đọc và mọi người

Tăng sức mạnh cho javascript với lodash

Như đã nói ở bài trước, lần này mình sẽ giới thiệu 1 thư viện javascript vô cùng bá đạo có tên là “lodash“, có thể nói nó là LINQ trong javascript. Đảm bảo chỉ sau 1 lần dùng thử, thư viện này sẽ trở thành thư viện không thể thiếu trong mỗi project javascript của bạn.

1. Giới thiệu tổng quan về lodash

Tiền thân của lodash là underscore – một thư viện javascript cũng khá nổi tiếng (Bạn nào hỏi: Nổi tiếng sao mình ko biết?… vui long đi chỗ khác chơi nhé :)). Có thể xem lodash là 1 bản mở rộng, với nhiều chức năng hơn, performance cao hơn underscore.

Lodash cung cấp rất nhiều chức năng, chia làm vài nhóm như: chức năng linh tinh (check null, underfine, ..), chức năng hỗ trợ xử lý string, chức năng xử lý object, chức năng xử lý array. Vì phạm vi bài viết có hạn, mình chỉ ví dụ và đưa ra một số chức năng chính, các bạn có thể thao khảo danh sách API full của lodash ở đây: https://lodash.com/docs

Continue reading Tăng sức mạnh cho javascript với lodash

Áp dụng LINQ trong javascript, chuyện nhiều người chưa biết

Như mình đã nói trong loạt bài: Học ngôn ngữ lập trình nào bây giờ?, hiện tại Javascript đang trở thành 1 trào lưu mới. Gần đây, do đang tự học Node.js nên mình tập trung nghiên cứu javascript nhiều hơn. Vì vậy, trong khoảng thời gian này mình sẽ đăng nhiều bài viết liên quan đến javascript hơn, mong các bạn theo dõi.

Như ở bài viết về LINQ, các bạn đã thấy sự mạnh mẽ và tiện dụng của LINQ trong C# (Java 8 chỉ mới cập nhật Stream API, mà vẫn còn thua LINQ nhiều lắm…). Để sử dụng 1 số hàm tương-tự-LINQ trong javascript, người ta thường dùng 1 số thư viện như: underscore, lodash, … Trong bài viết này, mình sẽ giới thiệu 1 số function (ít người biết) sẵn có trong prototype Array của javascript, cũng có tác dụng tương tự như LINQ.

advanced-javascript-3-638

Continue reading Áp dụng LINQ trong javascript, chuyện nhiều người chưa biết

Series C# hay ho: LINQ – Lột mặt nạ sự “bá đạo” của LINQ

1. LINQ có thực sự dễ như ta tưởng?

LINQ không phải là 1 khái niệm xa lạ đối với các C#.NET developer, nhất là những bạn hay làm việc với database (LINQ to SQL). Tuy nhiên, đa phần trong chúng ta đều sử dụng LINQ mà không biết rõ nó hoạt động như thế nào. Chắc ai cũng từng viết những dòng code như sau:

 public class Student
 {
    public string Name { get; set; }
    public int Age { get; set; }
 }
var students = new List<Student>();
var result = students.Where(stu => stu.Age < 20);

Dòng code rất dễ hiểu, lọc ra những học sinh có số tuổi < 20. Tuy nhiên, liệu bạn có trả lời được những câu hỏi sau:

  1. Dấu “=>” là dấu gì. Toàn bộ cụm “stu => stu.Age < 20” được gọi là gì?
  2. Hàm Where được viết như thế nào, nhận parameter gì vào, trả ra giá trị gì?
  3. Tại sao IDE tại biết stu là 1 Student để có thể nhắc lệnh?
  4. Có thể viết 1 thứ tương tự như LINQ trong javascript không?

Nếu bạn chỉ trả lời đc 1,2 hoặc không trả lời đc câu hỏi nào, bạn chưa thực sự hiểu LINQ. Đừng lo, ngày xưa mình cũng thế. Bài viết này sẽ giúp bạn giải đáp những câu hỏi trên, cũng như hiểu rõ hơn về LINQ. (Đáp án ở cuối bài viết).
Continue reading Series C# hay ho: LINQ – Lột mặt nạ sự “bá đạo” của LINQ

Series C# hay ho: Lambda Expression

1. Ôn lại khái niệm Delegate

Các bạn vui lòng đọc lại bài trước để nhớ lại các khái niệm về delegate ở đây: Series C# hay ho: Callback trong C# – Delegate, Action, Predicate, Func

Như đã nói ở bài trước, delegate là kiểu dữ liệu để trỏ tới 1 function, do đó khi gán giá trị cho delegate, ta phải gán 1 function vào, như ví dụ dưới đây:

public delegate void TangQuaDelegate(string qua);

public void tangQua(string qua) {
   Console.Write("Da tang " + qua);
}

//Khi sử dụng:
TangQuaDelegate dlg = tangQua;
//Truyền function vào, không phải thực thi function nên ko có dấu ()

Continue reading Series C# hay ho: Lambda Expression