Tag Archives: javascript

Viết unit test cho javascript với Jasmine

Blog có khá nhiều bài về code rồi nên hôm nay mình sẽ viết một bài để đổi gió.

1. Nhắc lại sơ về Unit Test

Trước khi có unit test, các lập trình viên thường code theo kiểu: code – test – fix lại – code tiếp – test lại – fix tiếp. Đôi khi chỉ vì sửa 1 lỗi nho nhỏ mà ta phải test lại rất nhiều lần. Để giải quyết vấn đề này, unit test và automation test ra đời. Mình không phải QA chuyên nghiệp nên không dám múa rìu qua mắt thợ, chỉ nói sơ về định nghĩa của 2 loại test này:

  • Unit test: Đây là test do developer viết, được chạy để kiểm tra các hàm do developer viết ra có sai hay ko. Unit test thường được chạy mỗi khi build để đảm bảo các hàm đều chạy đúng sau khi ta sửa code.
  • Automation test: Đây là test do QA viết, được chạy để kiểm thử hệ thống (Nếu không có automation test thì QA kiểm thử bằng tay, gọi làm manual test).

you-need-some-tests-yo

Continue reading Viết unit test cho javascript với Jasmine

Tạo dummy data với Faker và Mockaroo – Xa rồi những ngày nhập tay nhàm chán

Cuộc đời một thằng developer có rất nhiều việc rất chán nhưng phải làm: fix bug, viết report, nhập timesheet, viết code test … Một trong những việc đáng chán đó là: Tạo data giả để hiển thị và test. Để làm việc này, chúng ta thường tạo object giả (bằng code), hoặc đánh data giả vào SQL. Hầu như 90% developer và tester đều ghét cái việc vừa nhảm nhí vừa đáng chán này, do dó ta thấy dữ liệu trong data giả thường là: test1,test2, testemail@mail.com….

Cũng phải nói thêm, ngoài nhàm chán, công việc này còn khá mất thời gian. Hãy tưởng tượng ta có 5 bảng, mỗi bảng 10 cột, mỗi cột cần điền 10-20 dòng data giả, mấy thời gian quá phải không nào? Giờ đây, với Faker và Mockaroo, ta có thể tạo data giả theo phong cách developer, nhanh gọn, thú vị và không tốn thời gian.

Continue reading Tạo dummy data với Faker và Mockaroo – Xa rồi những ngày nhập tay nhàm chán

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

Callback trong javascript

Callback là một khái niệm không mới. Tuy nhiên, nó là một trong những khái niệm khá lằng ngoằng và dễ nhầm lẫn trong lập trình. Với 1 số bạn có basic về C++, Java hay C#, ta thường biết đến callback qua khái niệm delegate (con trỏ hàm).

Bài viết đầu tiên, mình xin giới thiệu callback trong javascript. Lý do chọn javascript là vì Callback trong javascript là đơn giản, dễ hiểu nhất. Bài viết nhắm tới đối tượng là các bạn beginner nên mình sẽ cố gắng viết đơn giản nhất có thể.

Continue reading Callback trong javascript

Viết và chia sẻ code online với fiddle

Trước khi giới thiệu fiddle là gì, mình xin kể các bạn nghe 1 câu chuyện “có thật” sau. Một hôm nọ, khi mình đang ở công ty, bỗng nhận được mes của thằng bạn.

  • Thằng bạn: Ê mày, cái css của tao bị sao ấy, chỉnh lại giùm tao với. Cái jquery cũng ko chạy luôn, bấm nút xong nó ko ra gì hết. Team viewer giúp tao phát
  • Mình: Máy tao cty ko cài team viewer được, quăng file qua đây.
  • Thằng bạn: *Hì hục send file*
  • Mình: *Mở file lên*, độc mỗi 1 file html, ko css js gì sất, nhắn lại: Có mỗi file html, sao chạy?
  • Thằng bạn: *Hì hục zip folder, send lại*
  • Mình: *Hì hục tải về, giải nén. Fix lỗi, send lại*. Xong rồi đó.
  • Thằng bạn: *Hì hục tải về, giải nén. Test* Ủa, mày sửa chỗ nào vậy
  • Mình: …….

Continue reading Viết và chia sẻ code online với fiddle

Học ngôn ngữ lập trình nào bây giờ (Phần cuối)

Tóm tắt nội dung bài viết

  1. Trước khi hỏi câu này, hãy tự hỏi : Mình muốn học lập trình để làm gì?
  2. Lựa chọn thật ra không quan trọng. Học một ngôn ngữ mới là chuyện đơn giản.
  3. Lời khuyên của bản thân Hoàng

Phần cuối – Lời khuyên của bản thân Hoàng

Như tựa đề, dưới đây là một số lời khuyên của mình, dựa theo kinh nghiệm cá nhân (Mình chỉ có kinh nghiệm mảng web và mobile, nên các lời khuyên có thể sẽ không áp dụng được cho mảng embedded system). Continue reading Học ngôn ngữ lập trình nào bây giờ (Phần cuối)

Học ngôn ngữ lập trình nào bây giờ (Phần 2)

Tóm tắt nội dung bài viết

  1. Trước khi hỏi câu này, hãy tự hỏi : Mình muốn học lập trình để làm gì?
  2. Lựa chọn thật ra không quan trọng. Học một ngôn ngữ mới là chuyện đơn giản.
  3. Lời khuyên của bản thân Hoàng

Phần 2 – Lựa chọn thật ra không quan trọng, học một ngôn ngữ mới là chuyện đơn giản

Đọc tới đây, có lẽ nhiều bạn sẽ quăng bom, ném gạch mình tới tấp “dám chắc thằng chủ thớt không phải coder, phán như thánh”.

Trước khi ném đá, mong các đồng chí bình tĩnh nghe Hoàng giải thích trình bày. Mình cũng từng là sinh viên IT như các bạn. Continue reading Học ngôn ngữ lập trình nào bây giờ (Phần 2)

Học ngôn ngữ lập trình nào bây giờ (Phần 1)

Đây một câu hỏi mà mình thường nhận được từ các em sinh viên mới ra trường, mới vào đại học, hoặc chưa biết gì về lập trình: “Giờ mình nên học ngôn ngữ lập trình nào đây?”.

Nghe đơn giản, nhưng đây là 1 câu hỏi có độ khó khá cao, sánh ngang với câu “Em nên làm nghề  gì, vào đại học nào …” của các em học sinh cấp 3. Trong phạm vi bài viết này, mình sẽ đưa ra một câu trả lời, dựa theo ý kiến cá nhân. Continue reading Học ngôn ngữ lập trình nào bây giờ (Phần 1)