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

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

Tổng quan về lập trình ứng dụng di động – Phần 2

bài viết trước, mình đã giới thiệu tổng quát về các hệ điều hành di động nổi tiếng hiện nay. Trong bài viết này, mình sẽ đưa ra một số hướng phát triển ứng dụng, cùng với những ưu nhược điểm của nó.

Hiện nay, có 3 hướng chính để phát triển một ứng dụng di động, đó là: Web App, Native App và Hybrid App. Mỗi hướng sẽ cần những kĩ năng riêng, có những ưu nhược điểm riêng, sẽ được nói rõ hơn bên dưới.

appsillustrated_nativewebhybrid Continue reading Tổng quan về lập trình ứng dụng di động – Phần 2

Tổng quan về lập trình ứng dụng di động – Phần 1

Trong khoảng thời gian gần đây, lập trình di động đang là một ngành hot. Các mẩu tin tuyển dụng gần nhất mình đọc thường tuyển Android developer, iOS developer, … với mức lương khá cao, không thua kém gì lập trình web hay lập trình hệ thống nhúng. Ngoài ra, nếu biết cách lập trình ứng dụng, bạn cũng có thể làm freelance, hoặc tự phát triển ứng dụng và kiếm tiền thông qua ứng dụng của mình.

Bài viết này sẽ giúp các bạn có cái nhìn tổng quan về thị trường ứng dụng di động hiện nay, cũng như giới thiệu một số ngôn ngữ/công nghệ các bạn cần biết nếu muốn đi theo con đường này.

mobile-app-developer

Continue reading Tổng quan về lập trình ứng dụng di động – Phần 1