
Giới thiệu về AngularJS
1. Lịch Sử Của AngularJS AngularJS là một dự án mã nguồn mở được phát triển đầu tiên bởi Miško Hevery một nhân viên của Google. Hevery bắt đầu nghiên cứu và phát triển dự án vào năm 2009 và phiên bản 1.0 được cho ra mắt vào năm 2012. Do sự hữu ích của dự án này nên Google quyết định là ...

Những lỗi cơ bản thường gặp với lập trình viên Rails (Phần cuối)
Rubu and Rails cung cấp khả năng kiểm thử tự động vô cùng mạnh mẽ và hiệu quả. Rất nhiều lập trình viên Rails sử dụng kiểu TDD và BDD để viết nên những bộ test vô cùng tinh vi, họ còn tạo cho chúng ta những framework kiểm thử vô cùng mạnh mẽ cùng với gem như rspec hay cucumber. Mặc dù việc viết ...

It’s Okay to “Forget” What You Read !
Bản thân mình không phải là mẫu người quá đam mê đọc sách (chỉ đọc vừa đủ với bản thân), nhưng tự nhận là người rất tôn trọng những người viết sách, người yêu sách, người mê đọc sách. Thời đại công nghệ phát triển, bản thân việc viết và đọc sách cũng đã có nhiều thay đổi, bạn có thể đọc sách theo ...

Immutable.js
Nếu bạn quan tâm đến vấn đề tối ưu hóa khi viết một ứng dụng React thì Immutable.js là một thư viện không thể thiếu, đấy là một thư viện tuyệt vời. Immutable.js cung cấp các collection immutable, persistent: Immutable: Mỗi khi được tạo, collection không thể thay đổi vào bất cứ lúc nào. ...

Functional pattern: flatMap
Trong bài, chúng ta xem xét cách mà flatMap hoạt động, tương tự như map() trong Array, nhưng linh hoạt hơn. Cả hai map () vàflatMap () đều lấy một hàm f làm tham số để control cách dịch một mảng đầu vào sang một mảng đầu ra: Với map (), mỗi phần tử của mảng đầu vào được dịch chính xác sang ...

Some combining operators of RxJava
Combining operators kết hợp nhiều luồng dữ liệu để tạo ra một luồng dữ liệu. 1. concat() Như tên của method, bạn có thể sử dụng concat() để kết hợp hai hay nhiều luồng dữ liệu để phát ra dữ liệu đồng thời nhưng không xen kẽ nhau. Observable<Integer> observer1 = Observable.from(new ...

Sai lầm từ sự lạm dụng 1 số mẫu thiết kế trên mobile, hiện đã trở nên lỗi thời – Phần 3
MultiTouch Gesture – ngôn ngữ cử chỉ trên màn hình cảm ứng đa điểm, bao gồm hầu hết các loại smart phone và máy tính bảng hiện nay đã thay đổi một cách toàn diện tương tác giữa con người và các thiết bị cầm tay cá nhân. Nếu nói chuyện với những người vài thập kỷ trước, luôn cầm trên tay 1 cuốn sổ ...

Bắt đầu với Lập trình Shell
Mặc dù chúng ta đã quá quen với shell script. Nhưng sau đây, tôi vẫn muốn giới thiệu về cách để viết 1 shell script cho những bạn đang cần nó. Bước 1: dùng bất cứ chương trình gì có thể soạn thảo . Ví dụ: vi Bạn nên dùng gedit để viết shell vì khi viết shell nó sẽ hiện màu sắc phân biệt ...

Single Page Application Concept Với Simple Demo (no framework)
Dạo gần đây có thể bạn nghe thấy một cái tên đang nổi trong xu hướng phát triển web - Single page application. Mặc dù concept này đã ra đợi hơn chục năm nay. Cũng không ít website đã áp dụng kỹ thuật này. Vậy nó là gì ? Tại sao nó lại trở thành xu hướng. Bài viết này mình cùng tìm hiểu concept ...

Sai lầm từ sự lạm dụng 1 số mẫu thiết kế trên mobile – hiện đã trở nên lỗi thời – Phần 1
Xem bài sau: Icon, lúc nào cũng là icon – uh! thì tại tôi không thích nhiều chữ mà Viết xong cái tiêu đề của mình tôi cố gắng để chỉnh lại, nó trúc trắc, khúc khoắc như thể 1 thiết kế UX tồi tệ. Nhưng thôi về mặt cảm xúc, tôi thích cái cảm giác của cái tiêu đề bài viết mang lại – và quyết định ...

Triển khai WSUS - Windows Server Update Services
Thông tin và dữ liệu đóng vai trò quan trọng trong hoạt động sản xuất kinh doanh cũng như sự phát triển của doanh nghiệp. Một trong những phương pháp quan trọng để bảo mật thông tin và dữ liệu là cập nhật thường xuyên các bản vá lỗi hệ điều hành Windows, các phần mềm của Microsoft trên các PC và ...

Những điều nên biết khi Code Kotlin cho Android (P2)
Đây là phần 1 nếu bạn nào muốn đọc nó . Tiếp theo mình sẽ giới thiệu thêm vài thứ mà mình học được . lazy là 1 hàm sử dụng lambda expression để trả về 1 kiểu Lazy<T> nào đó. Khi chạy lần đầu tiên nó sẽ sử dụng Lazy<T> để truyền vào cho biến . Các lần sau nó sẽ trả lại biến đã ...

Dạo đầu cùng Google Analyst và làm việc với Rails
Chào các bạn, Hôm nay mình sẽ giới thiệu các bạn về Google Analytics(GA), vậy Google analystics là gì nhỉ, nó là khỉ gì mà lại nổi như vậy? Theo wiki thì nó là vậy Google Analytics is a freemium web analytics service offered by Google that tracks and reports website traffic, nôm na có có thể nó ...

Advanced Calabash Android – Make your own server side code!
Để bắt đầu với bài viết này, chúng ta sẽ xem lại một chút về cơ chế hoạt động của Calabash. Calabash sẽ hoạt động thông qua một http server được cài đặt trên thiết bị. Http server này sẽ dựa trên Robotium để giao tiếp với ứng dụng. Dựa vào đặc điểm này, chúng ta có thể mở rộng các tính ...

Java static keyword
Từ khóa static trong java được sử dụng chủ yếu cho vấn đề quản lý bộ nhớ. Chúng ta có thể sử dụng từ khóa static với các biến(variables), phương thức(methods), khối lệnh(blocks) và các lớp lồng nhau(nested class). Từ khóa static thuộc về lớp(class) thay vì thể hiện của lớp đó(class instance). 1. ...

Tổng quan về Python
Tổng quan Thời gian gần đây mình đang có hứng thú với python và mình quyết định tìm hiểu về nó. Những gì mình tìm hiểu được sẽ cố gắng viết lại trên Viblo để chia sẻ lại cho mọi người - những người đang và muốn tìm hiểu về nó như mình. Bắt đầu quá trình đi tìm kiếm vẻ đẹp của nó. Lang thang tìm ...

Tổng Hợp Các Công Cụ Hỗ Trợ Lập Trình Android Mà Bạn Nên Biết (Phần 1)
Chào các bạn. Cũng đã lâu rồi mình mới quay lại post bài trên Viblo. Bài hôm nay mình sẽ viết phần 1 trong việc tổng hợp các công cụ hộ trợ lập trình Android mà bạn nên biết. Phải nói rằng thời buổi ngày nay lập trình thật sướng, đặc biệt là lập trình Android. Bởi vì chúng ta được cung cấp ...

Cơ chế nhân bản trong cassandra
Cassandra cung cấp một số option để nhân bản dữ liệu, đối với các option khác nhau thì cơ chế hoạt động của dữ liệu cũng khác nhau, để hiểu rõ về nhân bản dữ liệu ta đi vào tìm hiểu 3 vấn đề chính: Chiến lược nhân bản dữ liệu (Replication Strategies) Các cách để nhân bản dữ liệu (Snitches) ...

Javascript: for loop
Trong hầu hết các ngôn ngữ lập trình, việc sử dụng vòng lặp for là không thể thiếu. Mỗi ngôn ngữ có những cách sử dụng khác nhau và javascript cũng vậy. Javascript có khá nhiều phương thức giúp chúng ta duyệt 1 mảng, chuỗi hay 1 object như for, for-in, for-of, forEach, map, every, ... Trong ...

Một số mẹo viết câu truy vấn hiệu quả (tiếp)
Ở bài trước, mình có giới thiệu một số cách để tối ưu hóa câu truy vấn ( link bài trước ) Ở bài này mình giới thiệu thêm 1 số mẹo nhỏ mà mọi người thường ít để ý. Viết câu query sử dụng điều kiện trong bảng liên kết Bạn có một bảng User và bảng Profile có liên kết với bảng User Nếu bạn muốn ...