Category Archives: Chuyện linh tinh

Những thứ chém gió linh tinh, mẹo vặt không biết cho vào đâu.

Đôi dòng thông báo và cáo lỗi, kể lể cuộc sống ở UK

Như đã viết trong bài chia tay ASWIG, mình đã nghỉ việc và qua UK học Master. Mình qua đến UK vào tối 25 – sáng 26. Do mình ở kí túc xá trường nên mọi chuyện cũng tạm ổn, mấy bạn tình nguyện viên hướng dẫn cũng khá thân thiện.

Photo 9-26-15, 10 34 42 AM
Kí túc xá

Mình ở chung kí túc xá với 2 bạn nữ Hàn Quốc (Chưa phẫu thuật), 2 bạn nam UK. Sinh viên trường từ khắp mọi nơi, đa phần là dân Trung Quốc, Ấn Độ, châu Âu, … Đi vòng vòng mấy ngày mà không thấy đứa Việt Nam nào.

Campus của trường khá bự, đi lòng vòng mệt đứt cả hơi, mỗi lần đi từ kí túc xá đến chỗ học phải đi bộ gần 10-15 phút. Nhiệt độ ngoài trời là 13 độ, đi đâu cũng phải khoác cái áo lạnh dày cui. Trường phủ sóng wifi 100% trong campus, khá là sướng, tốc độ tải cũng được khoảng 7-12MB/s, tha hồ cắm phim (Nghe nói tải hàng copyright bị phạt tiền nên mình chưa dám làm).

Photo 9-27-15, 8 08 22 AM
Một góc campus trường

Continue reading Đôi dòng thông báo và cáo lỗi, kể lể cuộc sống ở UK

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

Tại sao giới lập trình thù ghét Internet Explorer?

Nhân dịp Microsoft ra mắt Window 10, khai tử IE và khai sinh trình duyệt Edge, mình viết bài này như một bài văn phúng điếu cho cuộc đời “lên voi xuống chó” của IE.

xem-ca-the-gioi-chuyen-tu-ie-sang-chrome-trong-vong-7-nam-qua

Xem biểu đồ, ta thấy thị phần của IE bị Firefox và Chrome cạp dần. Có thật sự lý do chỉ là vì IE chậm, còn FF và Chrome nhanh và ổn định hơn? Thật ra, có một câu chuyện thú vị đằng sau sự căm thù của người dùng + developer dành cho IE đấy.

Continue reading Tại sao giới lập trình thù ghét Internet Explorer?

Tạm biệt ASWIG – Đôi dòng tâm sự của chàng junior developer – Phần 2

Đầu tháng 6/2015 – Một tháng đầy biến động

Tiếp theo phần 1. Thiếu người, mình bị “ép” phải dựng toàn bộ wireframe, giao diện cho dự án Claimbook. Đúng là làm super junior nó khổ thế. Một lần nữa, anh H. lại tỏa sáng với khả năng ngoại giao của mình. Anh đã “lôi kéo” được một bác Technical Lead và 2 developer mới vào team. Anh còn dụ dỗ được team designer tham gia vào quá trình thiết kế cho dự án. Leader Team Designer là anh Sơn Đoàn – người yêu của Adrian Anh Tuấn. Trông anh Sơn đẹp trai và manly hơn ông Team Leader của mình cả chục lần.

Suốt 2 tháng trời, cả nhóm dồn tâm sức làm prototype cho dự án Claimbook. Team cũng tổn thất khá nhiều. Anh technical lead do thái độ làm việc không ok, không phù hợp với văn hóa công ty, vào team mình được 1 tháng đã phải chuyển qua team khác, rồi nghỉ việc ngay sau đó vài tuần. Design của dự án cũng bị thay đổi xoành xoạch theo yêu cầu của khách hàng, team mình cũng ngại không dám liên hệ lại với team designer vì sợ bị chửi do tự ý sửa lung tung design của họ.

Thay mặt anh H., xin gửi lời cảm ơn đến anh Sơn Đoàn đẹp trai, cùng toàn thể các bạn trong team designer đã góp phần vào thành công của dự án. Thấy team em được khen nhiều mà không nhắc đến các đóng góp của team anh nên cũng hơi cắn rứt.

Anh Sơn Đoàn - Giám đốc sáng tạo của ASWIG. Đẹp trai nam tính hơn ông team leader của mình nhiều T_T
Anh Sơn Đoàn – Giám đốc sáng tạo của ASWIG. Đẹp trai nam tính hơn ông team leader của mình nhiều T_T

Continue reading Tạm biệt ASWIG – Đôi dòng tâm sự của chàng junior developer – Phần 2

Tạm biệt ASWIG – Đôi dòng tâm sự của chàng junior developer – Phần 1

Ngày 4 tháng 9 năm 2015, mình chính thức nghỉ việc tại Aswig Solutions để bước trên một con đường mới – du học 2 năm ở UK tại Đại Học Lancaster. Bài viết này là đôi dòng tâm sự kể về một năm làm việc của mình ở đây: Buồn ít, Vui nhiều, học được vô số điều bổ ích về technical và cách hành xử trong công việc.

Nghỉ việc rồi, không còn được vào phòng họp ngắm cảnh thế này nữa ~.~

Continue reading Tạm biệt ASWIG – Đôi dòng tâm sự của chàng junior developer – Phần 1

[Tutorial] Viết Unit Test trong C# với NUnit

Giới thiệu tổng quan về Unit Test

trường đại học chắc các bạn đã được học khái niệm về Unit Test trong môn “Kiểm thử chất lượng phần mềm”. Nói một cách dễ hiểu, unit test tức là code dùng để test code ta đã viết.

Một số đặc điểm của unit test:

  1. Code unit test phải ngắn gọn, dễ hiểu, dễ đọc.
  2. Mỗi unit test là 1 đơn vi riêng biệt, độc lập, không phụ thuộc vào unit khác.
  3. Mỗi unit test là 1 method trong test class, tên method cũng là tên UnitTest. Do đó ta nên đặt tên hàm rõ ràng, nói rõ unit test này test cái gì (Test_A_Do_B), tên method có thể rất dàiii cũng không sao.
  4. Unit Test phải nhanh, vì nó sẽ được chạy để kiểm định lỗi mỗi lần build. Do đó trong unit test nên hạn chế các task tốn thời gian như gọi I/O, database, network,…
  5.  Unit Test nên test từng đối tượng riêng biệt. Vd: Unit Test cho Business Class thì chỉnh test chính BusinessClass đó, không nên dụng tới các class móc nối với nó (DataAccess Class chẳng hạn).

Continue reading [Tutorial] Viết Unit Test trong C# với NUnit

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

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

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