Java 8 Comparator, Làm thế nào để sắp xếp List

Bạn muốn sắp xếp một List của bạn, hãy tìm hiểu bạn sẽ có nhiều cách để có thể có được danh sách mình mong muốn. Trong bài viết này chúng ta sẽ thấy vài ví dụ về cách sắp xếp một danh sách trong Java 8 Sắp xếp một List theo Alphabetically List<String> cities = Arrays.asList( ...

Tác giả: Tạ Quốc Bảo viết 15:00 ngày 12/08/2018

Google Maps Android GeoJSON Utility

Giới thiệu GeoJSON là một phần mở rộng của định dạng dữ liệu JSON và là kiểu dữ liệu địa lý. Sử dụng tiện ích này, bạn có thể lưu trữ các đặc điểm địa lý theo định dạng GeoJSON và biến chúng thành một layer trên bản đồ. Để thêm và xóa dữ liệu GeoJSON của bạn từ bản đồ, hãy gọi addLayerToMap () và ...

Tác giả: Trịnh Tiến Mạnh viết 15:00 ngày 12/08/2018

Làm việc với background worker trong rails

Background worker luôn là điều cần thiết cho tất cả các dự án, và nhiều ứng dựng, mã chạy ngầm (background code) nó có tầm quan trọng tương đương với những đoạn mã mặt ngoài của web( các mã để xây dựng nên mặt ngoài của 1 ứng dụng web). Việc viết background worker lần đầu tiên có thể khá khó ...

Tác giả: Tạ Quốc Bảo viết 15:00 ngày 12/08/2018

React Performance Tuning

React là một thư viện Javascript được thiết kế với mục tiêu tối ưu hiệu năng của các ứng dụng. React sử dụng một số kỹ thuật để giảm thiểu cost của các DOM operations được yêu cầu để update UI xuống mức thấp nhất có thể. React cũng cung cấp các tools và các phương pháp để tăng performance khi có ...

Tác giả: Trịnh Tiến Mạnh viết 15:00 ngày 12/08/2018

React Redux Starter Kit

Chắc hẳn các bạn đã quen với react.js và redux. React Redux Starter Kit là một bộ công cụ giúp chúng ta code Front-end với rất nhiều các công nghệ mới. Nó giúp cho chúng ta phát triển, quản lý Front-end một cách dễ dàng hơn. Bắt đầu chính là bước cài đặt và bật server lên để chạy thử. Tất cả đều có ...

Tác giả: Tạ Quốc Bảo viết 15:00 ngày 12/08/2018

Laravel: Task Scheduling

Hôm nay mình sẽ giới thiệu cho các bạn về 1 tính năng khá hay của Laravel. Đó là Task Scheduling (Lập lịch làm việc) ### **Introduction** Trước đây, có thể bạn đã từng tạo một Cron cho một tác vụ nào đó mà bạn muốn lập lịch để chạy trên server của bạn. Tuy nhiên, sẽ khá phiền phức nếu bạn ...

Tác giả: Tạ Quốc Bảo viết 15:00 ngày 12/08/2018

Publish-Subcribe Pattern on Rails

Publish-Subcribe là mẫu gửi thông điệp mà publishers không gửi trực tiếp đến subscribers. Thay vào đó, gửi các thông điệp (sự kiện) mà không hề biết gì về bên nhận. Bên nhận chỉ nhận thông điệp mong muốn, mà không hề biết về thông tin bên gửi. Để thực hiện được điều đó, message brocker orevent ...

Tác giả: Hoàng Hải Đăng viết 15:00 ngày 12/08/2018

Tấn công CSRF và cách phòng chống

1 Giới thiệu về CSRF Cross-Site Request Forgery (CSRF) là một hình thức tấn công nhằm vào người dùng nhằm thực thi các hành động không mong muốn trên ứng dụng web dựa vào quyền chứng thực của người dùng. Các cuộc tấn công CSRF nhằm vào việc thực hiện các yêu cầu thay đổi trạng thái, chứ không ...

Tác giả: Tạ Quốc Bảo viết 15:00 ngày 12/08/2018

10 thủ thuật Ruby mà bạn chưa từng thấy

1. Deep copy Khi bạn copy một object mà bên trong nó có chứa những object khác, ví dụ như là một Array, thì đơn thuần bạn chỉ copy tham chiếu đến các object đó. Bạn có thể xem nó ở hành động dưới đây: food = %w( bread milk orange ) food . map ( & :object_id ) = > [ ...

Tác giả: Tạ Quốc Bảo viết 15:00 ngày 12/08/2018

Tìm hiểu về Selenium IDE (P2)

I. Ghi lại và chạy thử Testcase sử dụng Selenium IDE I.1 Các bước để ghi lại TestScript trong Selenium IDE Khởi chạy Firefox và Khởi chạy Selenium IDE bằng cách nhấp vào Tools => Selenium IDE. Một cửa sổ Pop-up được hiển thị. Nhập giá trị URL cơ bản: http://store.demoqa.com. Nhấn vào nút ...

Tác giả: Hoàng Hải Đăng viết 15:00 ngày 12/08/2018

iOS Animation - Phần 5: Animation với Auto Layout

Lời nói đầu Phần tiếp theo trong chuỗi bài về Animation trong iOS mình xin giới thiệu với các bạn về cách tạo Animation với Auto Layout. Auto Layout là kỹ thuật được Apple giới thiệu đầu tiên trong iOS 6 và nó luôn được cập nhật, cải tiến trong các bản iOS tiếp theo. Ý tưởng chính của Auto Layout ...

Tác giả: Hoàng Hải Đăng viết 15:00 ngày 12/08/2018

Redis for true high loads

Introduction Surely most backend developers were dealing with the NoSQL Redis. I think many of them were wondering how to set up Redis so that it would fit under high loads, so that you could open hundreds of thousands of sockets for working with data. This is a really highload, so let's ...

Tác giả: Trịnh Tiến Mạnh viết 15:00 ngày 12/08/2018

Webpacker - Cứu cánh trong việc sử dụng Webpack với Rails

Vài năm trước thì Rails là 1 Web framework có thể đáp ứng đủ hoàn toàn nhu cầu của các web developer trong việc phát triển, nhưng mà với sự thay đổi, tiến bộ vượt bậc của JavaScript trong các năm gần đây, dẫn đến việc sử dụng các Javascript framework (AngularJS, ReactJS, Vue, ...) ngày càng nhiều ...

Tác giả: Tạ Quốc Bảo viết 15:00 ngày 12/08/2018

10 mẹo hữu ích cho các lập trình viên Ruby on Rails (RoR)

Rails là một framework web theo mô hình MVC được viết trên ngôn ngữ lập trình Ruby. So với các framework khác thì Rails có lợi thế lớn hơn rất nhiều, nó có giá trị quy ước về cấu hình. Nếu bạn tuân theo các quy ước đúng, bạn có thể tránh được các tập tin có cấu hình dài dòng, chỉ cần những thứ cần ...

Tác giả: Trịnh Tiến Mạnh viết 15:00 ngày 12/08/2018

Did you write Android app in RxJava way? If not, give it a shot!

RxJava isn't something new in Android. RxJava came and changed how we code because of its great benefits. I do believe that whole of Android developers have to deal too much with stuffs like callback, switch thread, handle error, cancel process,... instead of focus on app business, developers waste ...

Tác giả: Hoàng Hải Đăng viết 15:00 ngày 12/08/2018

Ứng dụng Công nghệ phần mềm hướng tác tử trong Thương mại điện tử (Phần 3)

Ở các phần trước, chúng ta đã có nền tảng cho việc xây dựng một mô hình đàm phán trong Thương mại điện tử. Tiếp theo Phần 3, tôi sẽ thực hiện thiết kế hệ thống và cài đặt thử nghiệm một mô hình đàm phán đơn giản mà bản thân đã thực hiện được. Các bài viết trước có thể tìm thấy tại: ...

Tác giả: Bùi Văn Nam viết 15:00 ngày 12/08/2018

Mã hóa dữ liệu với thuật toán AES (Advanced Encryption Standard) trong android

Để tìm hiểu và nói về thuật toán AES trong mã hóa dữ liệu thì khả năng ở một bài mình cũng khó có thể giới thiệu được hơn cũng như kiến thức của mình về mã hóa cũng không nhiều, nên mình xin phép chỉ giới thiệu sơ qua về thuật toán AES. 1. Giới thiệu đôi chút về thuật toán. AES là thuật toán ...

Tác giả: Hoàng Hải Đăng viết 15:00 ngày 12/08/2018

Tuyển tập các tip và trick khi sử dụng javascript

1) Điều khiển quá trình xử lý request với ajax Trong tháng vừa rồi mình có nhận một task về việc tính tiến trình % upload 1 file có kích thước lớn lên server. Trong lúc đọc và tìm hiểu các cách để làm việc này mình mới nhận ra có khá nhiều developer không biết, và họ thường cắm thẳng thư viện để ...

Tác giả: Bùi Văn Nam viết 15:00 ngày 12/08/2018

Crop image uploader with cropper and CarrierWave

I. Giới thiệu Hẳn là mọi người không còn xa lạ gì với các ứng dụng cắt ảnh mỗi khi thay đổi ảnh đại diện của facebook hay google rồi đúng không ạ. Hôm nay em xin giới thiệu về ứng dụng cắt ảnh khi tải lên trong rails app sử dụng thư viện cropper và carrierWave. Mọi người có thể xem các chức ...

Tác giả: Hoàng Hải Đăng viết 14:59 ngày 12/08/2018

Làm quen với Ember JS (phần 2- Model, Template, Router)

Phần trước chúng ta đã làm quen với các khái niệm cơ bản của Ember JS. Trong phần này chúng ta cùng tìm hiểu kỹ hơn về Model, Template, Router... Phân tích hướng đối tượng và thiết kế kỹ thuật được gọi là object modeling (mô hình đối tượng) . Trong Ember.js, tất cả các đối tượng có nguồn gốc từ ...

Tác giả: Tạ Quốc Bảo viết 14:59 ngày 12/08/2018