Chuyện về các cây đa cây đề trong làng Software Engineering

Để thành một lập trình viên giỏi, có rất nhiều bạn phải học và phải biết: Cách viết code sạchrefactor code, design thế nào để code SOLID, Inversion of Control và  Dependency Injection, Agile methodology, …

Tuy nhiên, đã bao giờ bạn tự hỏi: “Ai là người đã nghĩ ra những thứ đấy” chưa?. Bài viết này sẽ kể bạn nghe về những người đó. Đây là những cái tên có nhiều đóng góp to lớn cho ngành phần mềm. Họ nổi tiếng không chỉ nhờ khả năng code, mà còn nhờ khả năng viết và diễn đạt, truyền cảm hứng.

img

Continue reading Chuyện về các cây đa cây đề trong làng Software Engineering

Sự “bá đạo” của Chrome Developer Tools – Phần 2

phần 1, mình đã giới thiệu với các bạn về chức năng cơ bản của các tab trong Chrome Developer Tools. Ở phần này, mình sẽ chia sẻ một số mánh khóe, chiêu trò hữu ích mà các bạn có thể áp dụng. Những chiêu này sẽ rất có ích khi code, debug, hoặc để lòe cấp trên và thành viên mới.

1. Mở nhanh file javascript

Với những dự án lớn, có hơn chục file css, js,… việc tìm mở file sẽ rất khó khăn. Chỉ cần mở Developer Tools, bấm tổ hợp Ctrl + P, những file cần tìm sẽ hiện ra đầy đủ, bạn chỉ việc chọn và ấn Enter.

1

Continue reading Sự “bá đạo” của Chrome Developer Tools – Phần 2

Sự “bá đạo” của Chrome Developer Tools – Phần 1

Với các bạn web developer, trình duyệt web là thứ chúng ta tiếp xúc nhiều nhất chỉ sau IDE. Chrome là một trình duyệt web được giới lập trình viên ưa chuộng vì nhanh, tiện lợi, và có bộ Developer Tools vô cùng mạnh mẽ. Bài viết này sẽ giới thiệu một số tính năng của bộ Developer Tools này.

Các bạn nào muốn theo nghiệp web developer nên đọc kĩ bài này nhé, vì bạn sẽ áp dụng những kiến thức này trong suốt quá trình làm việc đấy (Dù bạn có làm C#, Java, PHP, hễ có đụng tới front-end thì đều phải dùng Chrome Developer Tools cả).

Continue reading Sự “bá đạo” của Chrome Developer Tools – Phần 1

Review sách: Microsoft .NET – Architecting Applications for the Enterprise (1st Edition)

Mình có thói quen đọc sách cuối tuần, đủ các thể loại từ marketing, startup cho tới technical. Lâu rồi cũng chưa review cuốn sách nào nên thấy thiêu thiếu, đành review cuốn này vậy. Đây là một cuốn sách khá hay về thiết kế architecture cho các ứng dụng .NET.

712pnsTtmNL

Mặc dù nghe tên hầm hố nhưng sách không quá khó, các bạn từ junior, senior cho tới Software Architect đều có thể đọc hiểu cuốn này. Tuy nhiên, mình khuyên các bạn sinh viên hoặc mới ra trường đừng nên đọc. Đi làm được 1-2 năm, tiếp xúc với 1 số project lớn, bạn sẽ dễ hiểu những điều được viết trong sách hơn.

Continue reading Review sách: Microsoft .NET – Architecting Applications for the Enterprise (1st Edition)

Đô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

NoSQL có gì hay ho – Tổng quan về NoSQL – Phần 2

Như đã giới thiệu ở bài trước, NoSQL Database đang được sử dụng ngày một nhiều hơn, chiếm dần vị trí của Relational Database. Bài viết này sẽ giới thiệu một số dạng NoSQL và ứng dụng của chúng.

Hiện nay, trên thị trường có khá nhiều NoSQL Database Management System: MongoDB, RavenDB, Redis, Neo4j,… Ta có thể chia NoSQL thành 4 loại:

  • Key-Value Database
  • Document Database
  • Column-Family Database
  • Graph Database

overview2

Continue reading NoSQL có gì hay ho – Tổng quan về NoSQL – Phần 2

NoSQL có gì hay ho – Tổng quan về NoSQL – Phần 1

NoSQL đang dần nổi lên như một thế lực trong giới lập trình. Nhà nhà quảng cáo NoSQL, người người sử dụng NoSQL. MEAN stack (MongoDB, Express, AngularJS, NodeJS) đang dần lấn lướt, thay thế cho LAMP stack (Linux, Apache, MySQL, PHP/Python) đã lỗi thời.

Bài viết này giới thiệu tổng quan về NoSQL, giúp các bạn có thêm kiến thức khi phỏng vấn xin việc hoặc chém gió với nhau lúc trà dư tửu hậu.

nosql-expert

Continue reading NoSQL có gì hay ho – Tổng quan về NoSQL – Phần 1

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?

Hướng dẫn tích hợp Travis-CI vào project trên github

Như mình giới thiệu ở bài trước, CI mang lại rất nhiều lợi ích cho một dự án phần mềm. Ở các công ty, sẽ có một server để cài đặt Team City, Hudson, Jenkin, TFS… phục vụ cho CI. Tuy nhiên, nếu các bạn làm bài tập nhóm, làm freelance hoặc project riêng, việc setup 1 server riêng cho CI khá là khó khăn.

May thay, với Travis-CI, mọi công việc cài đặt phức tạp đã được thực hiện sẵn cho bạn. Travis-CI có hỗ trợ tích hợp với github. Bạn chỉ cần config project github một chút là xong ngay. (Mình đã có 1 bài hướng dẫn tích hợp Visual Studio và github, nếu cần bạn có thể xem lại nhé).
travis-ci

Continue reading Hướng dẫn tích hợp Travis-CI vào project trên github

Lập trình viên giỏi không phải chỉ biết code