Tác giả: N.C.M

Dùng mysqldiff xác định khác biệt giữa CSDL trên các server khác nhau

Dùng mysqldiff xác định khác biệt giữa CSDL trên các server khác nhau

Trong quá trình phát triển phần mềm, ta thường cài đặt môi trường dev và môi trường production trên các server khác nhau. Và trong quá trình phát triển, có đôi lúc CSDL (databases) giữa các môi trường có sự khác biệt. Vậy làm thế nào để nhanh chóng kiểm tra sự khác biệt đó và sửa chúng? mysqldiff là một công cụ hỗ trợ ta việc đó. Hãy cùng dùng thử mysqldiff qua ví dụ đơn giản sau. Chuẩn bị Ta dùng vagrant và ansible để tạo 3 server db1: Cài đặt MySQL với CSDL test1 (IP 192.168. ... »

Cricle CI - Workflows và Deploy

Cricle CI - Workflows và Deploy

Ở bài trước [Test tự động với CircleCI và thông báo kết quả lên Slack] , ta đã tìm hiểu về khả năng tự động test và thông báo kết quả lên Slack. Trong bài này, ta sẽ tiếp tục tìm hiểu về Workflows Deploy với CricleCI Workflows Đầu tiên là Workflows. Ở ví dụ bài trước, ta đã gộp rất nhiều công việc trong 1 job build như sau: Checkout code Download and cache dependencies Build Test # Java Maven CircleCI 2.0 configuration file # # Check https://circleci.com/docs/2.0/language-java/ for more details # version: 2 jobs: build: docker: ... »

Một vài best practices khi làm việc với Apache Hive

Một vài best practices khi làm việc với Apache Hive

Thời gian gần đây, mình phải làm việc với Apache Hive thường xuyên. Việc làm sao để thời gian thực hiện các câu query trên Hive ngắn hơn trở nên rất cần thiết. Dưới đây là tổng hợp một số cách cơ bản để cải thiện performance cho Hive queries. 1. Sử dụng Apache Tez execution engine Thiết lập mặc định là Hive sẽ sử dụng Map-reduce engine để thực thi các câu query. Thay vào đó, ta có thể sử dụng Tez engine - tốc độ xử lý sẽ nhanh hơn rất nhiều khi ta dùng Map-reduce. Nếu Tez ... »

Test tự động với CircleCI và thông báo kết quả lên Slack

Test tự động với CircleCI và thông báo kết quả lên Slack

Trong quá trình phát triển phần mềm, CI/CD có vai trò rất quan trọng trong việc đảm bảo phát triển phần mềm liên tục, mà vẫn giữ được chất lượng sản phẩm tốt. Trong bài viết này, mình sẽ dùng thử CircleCI để Test tự động (Java) Push kết quả lên kênh chat trên Slack Đôi nét về CircleCI CircleCI là 1 công cụ CI được tin dùng bởi hơn 100,000 công ty và developers trên toàn thế giới, trong đó có Facebook, Segment, Kickstarter, Percolate, Spotify, ... Với những ưu điểm như sau: Faster Performance: Có thể tùy ... »

Tạo báo cáo Excel với Apache POI

Tạo báo cáo Excel với Apache POI

Gần đây mình phải cài đặt chức năng tự động tạo báo cáo dạng Microsoft Excel file. Việc tạo báo cáo dưới dạng file Excel này là một chức năng rất hay được yêu cầu khi phát triển phần mềm. Bên cạnh đó, nhiều phần mềm cũng thường xuyên phải nhận input data từ file Excel. 1. Tổng quan 1.1. Apache POI là gì? Apache POI là một API nổi tiếng cho phép ta làm việc với các MS Office files bằng ngôn ngữ Java. Nó là thư viện mã nguồn mở được phát triển bởi Apache Software Foundation. ... »

Xử lý file text với AWK

Xử lý file text với AWK

Gần đây khi phải xử lý dữ liệu là các file text lớn, AWK đã giúp mình rất nhiều. Vì vậy, mình muốn viết 1 chút về nó, để note lại tham khảo sau này. Vậy, AWK là gì? AWK là một ngôn ngữ lập trình thông dịch (interpreted programming language). Là một công cụ mạnh mẽ và được thiết kế đặc biệt cho việc xử lý dữ liệu text. AWK được đặt tên dựa theo 3 chữ cái đầu tiên của những tác giả, Alfred V. Aho, Peter J. Weinberger, và Brian W. Kernighan. Phiên bản đầu tiên của ... »

Tìm hiểu Hive Complex Types

Tìm hiểu Hive Complex Types

Mở đầu Apache Hive là một kho lưu trữ dữ liệu (data warehouse) giúp xử lý các tập dữ liệu lớn lưu trữ phân tán trên nền tảng Hadoop. Hive dùng SQL nên dễ tiếp cận với đa số mọi người (đã quá quen thuộc với SQL). Trong quá trình làm việc với Hive, chủ yếu mình thường dùng các kiểu dữ liệu cơ bản như Numeric Types Date/Time Types String Types Boolean Types Nhưng, trong dự án gần đây thì mình có dùng đến Complex Types của Hive. Sau đây là 1 vài tóm tắt về nó. I. ... »