Hướng dẫn cách mở rộng disk Linux LVM khi mở rộng ổ cứng máy ảo
Bài viết này mình sẽ hướng dẫn các bạn cách nâng cấp ổ cứng server elastic search nói riêng và ổ cứng cho server Linux sử dụng LVM nói chung. I. Các bước chuẩn bị trước khi tiến hành nâng cấp. 1.Query get tổng số lượng các object trước khi tiến hành nâng cấp disk. (ví dụ cho trường hợp get số ...
Cơ bản về API testing (P1)
Nói đơn giản, API (Application Programming Interface) là cái cầu nối giữa client và server. Client ở đây có thể là máy tính, điện thoại sử dụng hệ điều hành khác nhau và được viết bằng những ngôn ngữ khác nhau. Tương tự, server back-end cũng được viết bằng các ngôn ngữ khác nhau. Để 2 thằng này có ...
Rails 5 & Vue.js: Hết âu lo và hứng thú hơn với frontend
Khi Node xuất hiện, nó nhanh chóng trở thành một xu thế. Khi Angualar ra đời, dev sử dụng nó mọi lúc mọi nơi. Rồi sau đó đến React, Flux/Redux, nhưng vẫn không khiến "tôi" hứng thú với frontend. Lý do là mỗi khi "tôi" cố gắng tiếp cận những xu hướng mới đó, "tôi" thật sự rất đau đầu với những ...
Tính toán dung lượng ổ cứng cần cho Elasticsearch
Gần đây trong dự án của mình có phát sinh yêu cầu cần nâng cấp ổ cứng cho Cluster Elasticsearch, tuy nhiên để đưa ra con số chính xác cần tăng thêm bao nhiêu thì mình lại không thể cho ra con số cụ thể. Sau khi search google một hồi thì mình tìm thấy công thức cho vấn đề này. http://svops.com/blog/ ...
Giới thiệu về redux saga
Redux-Saga là một thư viện redux middleware, giúp quản lý những side effect trong ứng dụng redux trở nên đơn giản hơn. Bằng việc sử dụng tối đa tính năng Generators (function*) của ES6, nó cho phép ta viết async code nhìn giống như là synchronos. Saga không chỉ tồn tại trong thế giới javascript, ...
Import dữ liệu lớn từ file CSV
Import nhiều dữ liệu vào Rails ActiveRecord models có thể import từ các file JSON, CSV hoặc các loại file khác. Bài này mình sẽ nói về cách import nhiều dữ liệu từ file CSV. Importing từ file CSV vào trong Rails Cách xấu Ví dụ trong file CSV của mình có 10000 bản ghi require 'csv' csv = ...
Understanding Convolutional Neural Networks for Natural Language processing
Khi chúng ta nghe về Convolutonal Neural Networks (CNNs), chúng ta nghĩ về Computor Vision (thị giác máy tính). CNNs là phần chịu trách nhiệm lớn trong việc phân loại hình ảnh, và nó là phần cốt lõi của hầu hết Computer Vision ngày nay, từ việc xử lí tự động tag của Facebooks cho đến lái xe tự ...
[Java Core] Garbage Collection
Khi chạy một chương trình, có vô số object được khởi tạo như String, Interger, ArrayList, Map … và các defined object được tạo ra và lưu trữ trong memory lúc runtime. Sẽ có một vấn đề xảy ra đối với memory lúc này. Khi memory đầy, JVM phải loại bỏ một vài objects để lấy chỗ khởi tạo các ...
Giới thiệu Gem Wicked PDF trong Rails
Ở bài viết này mình xin giới thiệu về gem wicked_pdf. Gem Wicked PDF giúp bạn chỉ cần viết một trang HTML như bình thường, sau đó nó sẽ giúp bạn tạo file PDF 1 cách dễ dàng bằng việc sử dụng các tiện ích wkhtmltopdf để tạo file PDF. Wicked PDF làm việc trên ruby 1.8.7 -> 2.3 và rails 2 -> ...
Sử dụng Heroku Connect kết hợp với Flask và Psycopg2
Heroku Connect có thể dễ dàng build Heroku apps share data với hệ thống Saleforce của bạn. Ở trong bài viết này, mình sẽ giới thiệu cho bạn cách chạy một Python app với Psycopg2 trong Heroku. Với Heroku Connect bạn có thế sync dữ liệu giữa PostgreSQL và Saleforce. Psycopg là một trong những ...
Xử Lý Ngôn Ngữ Tự Nhiên với Python - P1
Xin chào anh em, đợt này tôi có tham gia một dự án khá thú vị về AI. Vai trò của tôi trong dự án và thiết kế các thành phần "biên", hiểu đơn giản là những thứ râu ria bên ngoài hệ thống Trí tuệ nhân tạo kia. Ví dụ viết Mobile App, Web quảng bá, xử lí truy cập API, xử lí dữ liệu đầu vào... Cũng là ...
Tìm hiểu về Software Testing Documentation (Tài liệu kiểm tra phần mềm)
Tất cả chúng ta đọc những bài viết khác nhau về các công nghệ và các phương pháp kiểm thử, nhưng có bao nhiêu người trong chúng ta đã thấy các bài viết về tài liệu kiểm thử phần mềm? có thể là rất ít. Và liệu có phải rằng các tài liệu không phải là thứ quan trọng? Câu trả lời là Không, chẳng qua ...
Bạn chọn QA là nghề nghiệp hay công việc ?
Liệu trong mỗi chúng ta đã bao giờ tự hỏi tại sao ngày hôm nay, tại thời điểm hiện tại, khi đang đọc bài viết này, mình lại là một QA? Tại sao không phải là một Developer hay một công việc hoàn toàn khác!? Bạn bắt đầu làm việc như một QA vì bạn cần một công việc, để kiếm tiền và đảm bảo nhu cầu ...
Cấu trúc dữ liệu OpenStruct
OpenStruct là một cấu trúc dữ liệu, tương tự như một Hash, cho phép định nghĩa các thuộc tính tùy ý với các giá trị kèm theo của chúng. Điều này được thực hiện bằng cách sử dụng metaprogramming của Ruby để xác định phương thức trên lớp. Việc sử dụng OpenStruct một cách hợp lý sẽ giải quyết được rất ...
Android performance improved If you didn''t forget some issues [Part1]
Có những thời điểm chúng ta khó khăn trong việc kiểm soát việc ứng dụng chạy "Đúng" nhưng rất chậm, bài toán lúc này là Performance ? Khi ứng dụng đã hoàn thành, việc đào bới lại code để thay đổi hiệu năng thực sự nó rất khủng khiếp. Bản thân mình đã có những lúc gặp tình trạng này và mong muốn tìm ...
Giới thiệu về Android Architecture Components (Phần I)
Có lẽ gần đây các Android dev chúng ta thường nghe nói (và/hoặc đã làm) về các mô hình kiến trúc (Architecture Pattern) của Android. Google cũng đã xây dựng hẳn 1 github repo dành để giới thiệu (và hướng dẫn) về các mô hình kiến trúc này. Tuy nhiên, việc xây dựng các kiến trúc đó mới chỉ dựa trên ...
Callback trong Javascript
Khi bắt đầu làm việc hay tìm hiểu về Javascript, ta thường bắt gặp khái niệm gọi là callbacks. Bản thân mình khi mới bắt đầu làm việc vs Js cũng thấy khá là khó hiểu và chỉ sử dụng mà không hiểu bản chất. Tuy nhiên đây là khái niệm khá là quan trọng và cần nắm rõ cách thức hoạt động để khai thác ...
Thêm Pull-to-Refresh một cách đơn giản cho TableView và CollectionView
Pull to Refresh là 1 trong những thành phần giao diện phổ biến thường được sử dụng để làm mới nội dung, data trên 1 TableView hoặc CollectionView. Đây là 1 UI rất tiện lợi và đơn giản để sử dụng và sử dụng rộng rãi. Thao tác thực hiện rất đơn giản, bạn chỉ cần vuốt màn hình xuống để tải lại dữ liệu ...
[Bulk insert] Đôi chút về gem ''activerecord-import'' và cách sử dụng.
Khi phát triển phần mềm, việc ứng dụng sẽ có mốt số chức năng cần insert số lượng lớn bản ghi là điều dễ dàng gặp, ví dụ như thêm dữ liệu từ file excel, xml... hay khi ứng dụng được nâng cấp, đổi mã nguồn thì thường cần thiết phải convert một số lượng lớn dữ liệu từ hệ thống cũ. Nếu xây dựng hệ ...
[Ruby On Rails][Carrierwave] The solution for preventing the upload with dupplicate file name
Gem carrierWave có lẽ không còn xa lạ với cộng đồng Ruby on Rails Developer. Nó cùng với paperclip là 2 gem được sử dụng phổ biến nhất trong việc upload file. Tuy nhiên trong quá trình upload file, vấn đề mà có lẽ bất kì developer nào cũng gặp phải là việc dupplicate tên file. Để xử lý được vấn đề ...