
Android NotRxJava
Ngày nay nếu bạn là một lập trình viên Android hẳn bạn sẽ được nghe rất nhiều về RxJava. RxJava là một thư viện giúp bạn giải quyết các vấn đề khi xử lí luồng bất đồng bộ (asynchronous event) và nhiều lợi ích khác đã được cộng đồng đánh giá cao. Một khi đã quen sử dụng nó, chắc chắn bạn sẽ dùng nó ...

10 sai lầm thường gặp khi áp dụng SCRUM và cách phòng tránh
Scrum thường là loại practice Agile dễ bị lạm dụng nhất, bởi vì nó có thể được xem như là một cách dễ dàng khi làm Agile architecture. Khi hầu hết mọi người nghĩ đến Agile, họ nghĩ đến "Scrum". Scrum là khái niệm đơn giản nhưng có thể rất khó thực hiện tốt. Dưới đây là 10 lỗi phổ biến khi áp dụng ...

Sử dụng JS chia cột và cân bằng chiều cao các cột
Trước khi sử dụng Sau khi sử dụng Với FrontEnd khi cần chia cột dùng float left thì vấn đề thường gặp phải là các cột có chiều cao không bằng nhau. dẫn đến các hàng bị xô lệc hiển thị không đẹp Để xử lý vấn đề trên. Mình sử dụng Cái này Smart Utitlity. Nó sẽ tự động phân chia cột và cân bằng ...

WordPress - Cách thêm parameter cho các elements của visual composer
Xin chào các bạn. Trong các bài viết trước Cách tạo mới element trong Visual Composer mình đã hướng dẫn các bạn cách tạo mới một Element trong Visual Composer. Nhưng đó là khi chúng ta có nhu cầu viết 1 element mới hoàn toàn. Vậy các element có sẵn của Visual Composer thì sao. Là một plugin khá nổi ...

Các thao tác với array trong ruby
Bài viết này sẽ giới thiệu các kiến thức cơ bản về các thao tác khi làm việc với các mảng trong Ruby. Tạo một mảng mới Có thể khai bảo một mảng mới bằng 2 cách a = [] hoặc a = Array.new Gán giá trị cho mảng a = [1, 2, 3, 4, 5, 6] // a = [1, 2, 3, 4, 5, 6] a = Array.new(3, "1") // a ...

Ruby Concurrency và Parallelism
Trong quá trình phát triển ứng dụng, chắc hẳn các bạn đã có lần gặp phải các khái niệm về Concurrency (Đồng thời) và parallelism (song song) trong ruby code. Đôi lúc chúng ta hiểu lầm 2 khái niệm này giống nhau nhưng thực chất lại ngược lại. Trong quá trình tìm hiểu tôi có đọc được một bài báo về ...

Multiple database with subdomain use apartment gem
Làm thế nào để cùng một soures code duy nhất có thể chạy với nhiều subdomain khác nhau mà không làm lẫn dữ liệu giữa chúng? Có lẽ bài toán này đã quá quen thuộc với cộng đồng lập trình viên nói chung, có khá nhiều cách để làm việc này tuy nhiên hôm nay mình xin giới thiệu gem apartment sử dụng ...

Phân biệt giữa Pessimistic và Optimistic Locking
Locking là một cơ chế RDBMS ngăn chặn người dùng từ nhiều transactions khác nhau gây ra data conflicts. Locking một row giúp ngăn chặn các transactions khác thay đổi row đó cho đến khi transaction đang truy cập vào nó kết thúc. Trong đó có 2 chiến lược lock là: optimistic và pesimistic. Trong bài ...

Sử dụng thư viện Picasso để load ảnh trong android
Khi phát triển ứng dụng có nhiều ảnh hoặc phải load và hiển thị ảnh từ server thì có rất nhiều bạn băn khoăn là làm sao cho app không bị đơ UI, khi chờ phải load ảnh Trước đây thì mình thường viết AsyncTask cho chạy trong MainThead, những load ảnh sẽ chạy bất đồng bộ để app hiển thị hết xong thì ...

Into to Machine Learning: Practical supervised learning algorithms with Scikit-learn
In the coding on my previous post Into to Machine Learning: Supervised learning, I showed you about supervised learning. In the code example, I showed an example using scikit-learn library. In this post, I am going show you examples of applying supervised learning algorithm to generalize the data ...

Fat Model - Skinny Controller and The Patterns to Refactor Fat ActiveRecord Model
Chắc hẳn các bạn lập trình viên đã từng ít nhiều nghe qua khái niệm Fat model - Skinny Controller khi nói về Framework MVC. Vậy như thế nào được gọi là Fat model hay Skinny Controller??? Keep as much business logic in the models as Rõ là khi nghe cái tên như thế, chúng ta cũng mường tượng ...

Handle refresh token with Retrofit2
Hiện nay chúng ta vẫn thường sử dụng Retrofit cho việc connect với Server, trong phạm vi rất rộng của việc giao tiếp Client-Server thì có quá nhiều thứ chúng ta có thể làm nên mình không đề cập ở đây. Nhưng có 1 khía cạnh nhỏ mà rất hay gặp phải đó là: Refresh Token À đúng rồi đây là điều đã ...

Laravel Import/Export excel, csv với package Maatwebsite/Laravel-Excel
Laravel-Excel là 1 package mang power của PHPExcel vào Laravel. Nó có các chức năng như: import dữ liệu từ file excel/csv vào collection, export models/array/view ra tệp excel, import hàng loạt files... Các tính năng vượt trội của Laravel-Excel: Import vào Laravel collection. Import hàng ...

[Mikrotik] How to block website with Mikrotik (RouterOs)
Các phương pháp block website với Mikrotik 1. Web proxy 2. Route policy 3. Content Filter 4. Layer 7 Firewall Đối với các nhà quản trị mạng, quản trị hệ thống của một công ty thì việc block website đem lại rất nhiều lợi ích như hạn chế một số trang theo yêu cầu của ban ...

Một vài thủ thuật với console trên trình duyệt Chrome
$_ sẽ trả về giá trị gần nhất được tính toán hay trả về gần đó nhất. Giả sử ở console ta nhập 2 + 2 thì sẽ trả về giá trị là 4. Sau đó ta nhập $_ thì sẽ trả về giá trị gần nhất được trả về đó là 4. $(selector) trả về tham chiếu đến phần tử DOM đầu tiên với CSS selector quy định. Function này ...

Introduction to the Arduino [Part 01]
Arduinoの生みの親の1人であるMassimo BanziがTEDで語った内容を聞いて、自分が想像したものをオープンソース化したいと思うようになりました。ふと考えた「こんなこといいな、できたらいいな」は本当に簡単に試作品を作ることができる時代になっています。そうした環境を与えている存在の1つにArduinoがあります。Arduinoを通して自分の想像したものを具現化してここに記しておくことによって、他の人の想像を引き立てて、誰かがマッシュアップして世の中を更に良くしてくれるようなアイデアが出てくるかもしれない。そう考え、自分の妄想を具現化したものをこれから書いていきたいと思います。 ...

Tìm kiếm, xóa, cập nhật giá trị trong mảng (Array) và bảng băm (Hash Table)
Array và Hash Table là hai trong số những kiểu dữ liệu được sử dụng khá thường xuyên trong lập trình. Trên thực tế thì cả hai kiểu dữ liệu này được sử dụng theo cách tương tự nhau và thường thực hiện các tác vụ phổ biến như thêm dữ liệu, tìm kiếm, sửa và xoá dữ liệu. Đối với các lập trình viên ít ...

Hướng dẫn thiết kế hệ thống (Phần 3) - Thiết kế hệ thống Twitter timeline và search
Lời mở đầu TIếp theo phần 2, trong phần này mình sẽ giới thiệu với các bạn về thiết kế phần trong một dịch vụ khả phổ biến hiện nay đó là mạng xã hội trực tuyến. Trong bài viết này mình chỉ mình đến module timeline và search. Một điều quan trọng nữa các bạn sẽ thấy đó là các step giống hệt nhau, ...

Tự xây dựng một Chrome Extension đo performance của website đơn giản trong 5 phút
Một trong những điều khiến Chrome trở thành một trong những trình duyệt được ưa thích và sử dụng nhiều nhất trên thế giới đó chính là khả năng mở rộng của nó. Tương tác với một trang web trở nên vô cùng đa dạng thông qua các plugin mà Google gọi nó là Chrome extension. Để sử dụng một extension ...

Một vài tính năng tuyệt vời của CSS3 mà có thể bạn chưa biết?
Chào các bạn, chắc hẳn các bạn đều biết đến CSS và từng tiếp xúc, làm việc với CSS3. Một FrontEnd nếu sử dụng thành thạo CSS3 hầu như có thể làm được những hiệu ứng từ đơn giản đến phức tạp trên website mà trước đây chỉ có sự can thiệp của Javascript mới thực hiện được Tuy nhiên, thế giới của CSS3 ...