![](/themes/images/default.png)
Sidekiq Error Handling
Sidekiq là framework để thực hiện các background job được sử dụng rất nhiều trong các rails app hiện nay. Trong bài viết này tôi sẽ giới thiệu một vài vấn đề về xử lý lỗi trong sidekiq. 1. Best Practices Sử dụng một dịch vụ báo lỗi - Honeybadger, Airbrake, Rollbar, BugSnag, Sentry, ...
![](/themes/images/default.png)
Tìm hiểu về React Router
Tại sao lại cần React Router Việc SPA bị giới hạn trong 1 view trong khi ứng dụng của chúng ta cần hiển thị rẩt nhiều view. Do đó ta cần bỏ qua giới hạn đó để học cách hiển thị nhiều view trên cùng 1 SPA. Đồng thời việc routing cho ứng dụng SPA củng giúp cho việc đồng bộ dữ liệu hiển thị với URL, ...
![](/themes/images/default.png)
Tại sao chúng ta nên sử dụng Angular
Mở đầu Nếu đã từng xây dựng một vài ứng dụng Web , chắc hẳn bạn đã từng nghe đến cái tên Angular , một Frameworks Javascript giúp chúng ta xây dựng ứng dụng Web đầy đủ tính năng từ phía Client . Angular lần đầu được phát hành bởi gã khổng lồ Google vào năm 2010 với phiên bản AngularJS ...
![](/themes/images/default.png)
Thực thi 1 chuỗi Ajax request với BackboneJS
Đối với dự án Backbone.js mà tôi đang làm việc, tôi cần triển khai một mô hình trong đó lưu yêu cầu vào chương trình phụ trợ 1 cách tuần tự. Điều này có thể cần thiết hoặc hữu ích vì những lý do sau: State và thứ tự ưu tiên: Giả sử ứng dụng phía máy khách trong đó người dùng thực hiện hai ...
![](/pictures/picsmalls/2018/08/12/560/uvl1534068278.jpg)
Cách xác định các Phần tử Web bằng Using Selenium Xpath và Other Locators – Selenium Tutorial #5
Trong bài hướng dẫn trước, chúng ta đã làm quen với cách tạo kịch bản test cho Selenium IDE bằng cách sử dụng Firebug để xác định các phần tử Web. Mỗi phần tử có thể định vị bằng ID, type, placeholder và name. Tuy nhiên có những phần tử ta lại không thấy có ID hoặc không biết cách xác định để ...
![](/pictures/picsmalls/2018/08/12/560/uvg1534068279.png)
Cùng tìm hiểu về ReactJS - Components
Trong phần này chúng ta sẽ cùng tìm hiểu về cách kết hợp các components để làm cho ứng dụng đễ bảo trì hơn. Cách tiếp cận này cho phép cập nhật và thay đổi các components của bạn mà không ảnh hưởng đến các phần còn lại của trang. 1. Stateless Example Components đầu tiên trong ví dụ dưới đây ...
![](/themes/images/default.png)
Khi nào nên sử dụng PureComponent hoặc Component
PureComponent tiền đề của nó là một phiên bản có hiệu suất cao hơn của Component. Điều này là đúng, nhưng hiệu suất đạt được đi cùng với một vài thứ đi kèm. Chúng ta hãy tìm hiểu về PureComponent và hiểu tại sao chúng ta nên sử dụng nó nhé. Component và PureComponent có một sự khác biệt ...
![](/pictures/picsmalls/2018/08/12/560/tgx1534068283.png)
Passport NodeJS
Khi xây dựng một ứng dụng, có nhiều trang chúng ta cần yêu cầu người dùng phải là ai đó mới cho truy cập. Vì vậy cần có xác thực người dùng - là việc kiểm tra xem người dùng đang truy cập đã đăng ký tài khoản hay chưa, người dùng là ai? Quy trình này được thực hiện bằng cách yêu cầu người dùng cung ...
![](/pictures/picsmalls/2018/08/12/560/goj1534068227.png)
Business Analyst và design functions
Bài toán: Bạn phụ trách phần phân tích sản Khách hàng đưa bạn một số ideas cơ bản về chức năng sản phẩm Team dev chưa thể start coding vì chưa hiểu gì Team QA yêu cầu bạn đưa ra function list hoặc mock-up UI Cấp trên yêu cầu bạn đưa ra estimation ASAP Một cổ nhiều tròng, là BA, bạn nên bắt ...
![](/pictures/picsmalls/2018/08/12/560/cvb1534068266.png)
Tìm hiểu về HTTP Cache Manger, HTTP Cookie Manager, HTTP Authorization Manager trong JMeter
Jmeter cung cấp rất nhiều tính năng để kiểm tra hiệu suất của bạn trở nên thực tế hơn. Mặc dù Jmeter không phải là một trình duyệt web, nhưng nó cung cấp các cấu hình để tái tạo hành vi duyệt thực tế. Sau đây mình sẽ cùng tìm hiểu về 3 cấu hình, 3 trong những tính năng quan trọng nhất của Jmeter là ...
![](/themes/images/default.png)
[Elasticsearch] Mapping - A Closer Look
Trong bài trước chúng ta đã có cái nhìn tổng quan về mapping. Trong bài viết này mình sẽ đi sâu hơn về Mapping. 1. Mapping Type Each index has one mapping type which determines how the document will be indexed. Mỗi index có duy nhất 1 kiểu mapping, và mapping type này sẽ quyết định cách ...
![](/pictures/picsmalls/2018/08/12/560/egz1534068255.png)
Font Fira Code và config (sublime text) để hiển thị giúp việc code trở nên thú vị.
Xin chào các bạn. Hôm nay, mình gửi đến các bạn một bài viết không liên quan chính đến lập trình. Nhưng nó hỗ trợ cho việc lập trình, nên mình quyết định viết luôn. Hoàng Hải Đăng viết 18:19 ngày 12/08/2018
![](/pictures/picsmalls/2018/08/12/560/lkm1534068244.png)
Thay Thế Database Của Ứng Dụng Bằng Room Database
Room Database( Room Persistence Library ) là một phần trong Android Architecture Components, nó giúp cho việc thao tác với SQLiteDatabase Object trở lên dễ dàng hơn, giảm thiểu số lượng câu truy vấn bằng những annotation sẵn có và xác minh truy vấn tại thời điểm biên dịch. Đó chỉ là một phần của ...
![](/pictures/picsmalls/2018/08/12/560/vvf1534068255.png)
Giới thiệu MotionLayout
MotionLayout là 1 class mới trong thư viện ConstraintLayout 2.0, giúp developer Android quản lý các motion và widget animation trong ứng dụng. Trong bài viết này sẽ hướng dẫn bạn cách thêm library vào application và bắt đầu sử dụng những khái niêm và tính năng của MotionLayout. Note: Library ...
![](/pictures/picsmalls/2018/08/12/560/vmg1534068246.gif)
Tò mò về Deep learning ?
Deep Learning - Một khái niệm trong lĩnh vực AI(Artificial Intelligence) mà dù đã nghe đến nhiều nhưng thật sự tôi không phải người trong ngành nên khó mơ hồ hình dung ra được, vì vậy mới vọc thử một bài viết giới thiệu trên medium xem nó là gì ! https://medium.com/ub-women-data-scholars/introduc ...
![](/pictures/picsmalls/2018/08/12/560/ycm1534068264.png)
[Clean code] Chapter 4: Comment
Sự thật chức năng các hàm, lớp làm gì chỉ có thể được tìm thấy ở một nơi: code. Chỉ có code mới thực sự có thể cho bạn biết nó đang có gì và làm gì. Đây là nguồn thông tin thực sự chính xác duy nhất. Do đó, mặc dù comment là đôi khi là cần thiết, nhưng chúng ta sẽ tìm cách để tối thiểu nó trong ...
![](/themes/images/default.png)
3 nguyên tắc giúp viết code ruby tốt hơn
Làm thế nào để viết code ruby được tốt hơn? Đó là câu trả lời không phải đơn giản. Và dưới đây sẽ là 3 nguyên tắc cho bạn tham khảo để có thể cải thiện khả năng viết cũng như khả năng đọc cho người khác. Nguyên Tắc 1: Tránh sự hiểu lầm Sự hiểu lầm chính là nguyên nhân lớn nhất dẫn tới những sai ...
![](/pictures/picsmalls/2018/08/12/560/pzg1534068245.jpg)
Đối ứng thế nào khi một version Android không còn được hỗ trợ trên thị trường
1. Kiểm thử ứng dụng trên thiết bị di động là gì? Kiểm thử ứng dụng trên thiết bị di động là kiểm thử các tính năng, tính nhất quán và tính khả dụng của ứng dụng bởi manual hoặc automation tool. Khi một mobile app được phát triển, một danh sách các hệ điều hình cũng như cấu hình device được liệt ...
![](/pictures/picsmalls/2018/08/12/560/wzc1534068255.png)
MS SQL Server – Kiến trúc
Chúng ta có thể phân chia kiến trúc của SQL Server thành các thành phần khác nhau Kiến trúc chung. Kiến trúc bộ nhớ. Kiến trúc Data File. Kiến trúc Log File. Client : Nơi bắt đầu các request. Query: Truy vấn SQL ngôn ngữ bậc cao. Logical Units: Từ khóa, Biểu thức, toán ...
![](/pictures/picsmalls/2018/08/12/560/leo1534068253.png)
Import CSV với dữ liệu lớn
Có nhiều lúc bạn phải import 1 lượng lớn dữ liệu. Nó có thể được lấy từ Json, CSV hoặc nhiều loại tệp khác nhau. Ở bài viết này mình xin viết về import bằng file CSV. Cách 1 Chúng ta có 1 file csv là file.csv và cần phải tạo các bản ghi tương ứng với dữ liệu trong file csv. Cùng nhìn vào ví ...