
#production.log #big #back-up #s3 #rotating
Bữa trước trong lúc mình xem log server tình cờ bắt gặp quả log production.log nặng tận 17GB và có nguy cơ làm chết cả server. Sau đây mình note lại 1 chuỗi các công việc mình đã làm trước đó. 1. Lý do mình đụng tới server Server production đang chạy thì bị chết khoảng 3 phút, sau đó nó tự ...

[Elasticsearch PHP] Search APIs
Chắc hẳn thuật ngữ Elasticsearch không còn xa lạ với bất kỳ ai làm nghề lập trình. Hay ngay cả khi bạn mới bước chân vào con đường trờ thành một lập trình viên chuyên nghiệp thì vấn đề tìm kiếm tài lại về Elasticsearch cũng không còn quá khó khăn. Trong bài viết này, tôi sẽ tổng hợp lại một vài ...

[Cordova] — Những khái niệm cơ bản
1. Cordova là gì Apache Cordova (trước kia được gọi là PhoneGap) là một framework phát triển ứng dụng di động nổi tiếng được tạo ra bởi Nitobi. Adobe Systems đã mua Nitobi vào năm 2011, đổi tên nó thành PhoneGap, và sau đó đã phát hành một phiên bản mã nguồn mở được gọi là Apache Cordova. Cordova ...

Điều khiển video Youtube bằng JS
Youtube là 1 mạng xã hội chia sẻ video rất nổi tiếng. Thỉnh thoảng bạn muốn nhúng một video vào trong web của bạn, sẽ thật tuyệt nếu bạn có thể điều khiển được sự hoạt động của video. Youtube Javascript Player API chính là thứ bạn cần. IFrame player API cho phép bạn nhúng một trình chạy video ...

[Japanese Email at Work][Part 1] Cách viết Email chào hỏi đến Khách Hàng mới
Chắc hẳn có nhiều bạn như mình, trong quá trình làm việc với khách hàng là người Nhật, gặp phải nhiều tình huống khác nhau phải giao tiếp qua email nhưng chưa biết phải viết email thế nào cho hay, sao cho phù hợp với tình huống, và quan trọng hơn là qua những email đó thể giúp duy trì hoặc xây dựng ...

ES6: var, let and const — The battle between function scope and block scope
Như chúng ta đã biết, trước thời kỳ của ES6, chỉ có 1 cách duy nhất để khai báo biến trong Javascript - đó là sử dụng var. var luôn có hào quang của 1 quan niệm sai lầm - điều này có lẽ do các biến khai báo với var khác biệt ở hầu hết các ngôn ngữ lập trình. Với điều này, tất cả đều được giải thích ...

Hướng dẫn cơ bản về ReactJs
Hôm nay cùng các bạn cùng tìm hiểu về ReactJs xem nó là cái gì và cách dùng ra sao. Đây mới chỉ là bước đầu tiên tìm hiểu về React Js thôi nhé. Và xem tại sao được nhiều lập trình viên tìm đến như vậy. Theo như wiki thì được phát triển mới lập trình viên của Facebook và nó là ở vị trí view theo như ...

10 sai lầm phổ biến làm giảm hiệu suất ứng dung khi sử dụng Hibernate - Phần 1
Hello các bạn! Hôm nay có thể coi là hạn cuối viết report tháng của mình. Cả tháng rồi bận bịu chơi nên quên khuấy đi mất. Nhưng mình sẽ không vì thế mà viết ẩu đâu. Nội dung mình sắp chia sẻ ở dưới đây cho các bạn đề cập tới "10 sai lầm phổ biến làm giảm hiệu suất ứng dung khi sử dụng Hibernate". ...

Android “launchMode”
Trước khi tìm hiểu về Launch Mode Android thì chúng ta sẽ tìm hiểu trước thuật ngữ " Task " (nhiệm vụ) Task về bản chất là 1 stack chứa các đối tượng của activity Khi bật ứng dụng thì 1 task mới được tạo ra và nó là task gốc của ứng dụng Android có thể giữ nhiều task cùng một thời điểm ...

7 sai lầm chết người của Ruby developer với metaprogramming
Đối với 1 Ruby developer hay với các ngôn ngữ khác, bạn dành khoảng 90% thời gian cho các hoạt động liên quan tới đọc code và maintain. Với một khoảng thời gian dài dành cho những tác vụ này, điều quan trọng là đảm bảo rằng mọi thứ bạn làm (và code) đều hiệu quả. Trong suốt quá trình đó có lẽ ít ...

Machine Learning thật thú vị (6): Nhận diện giọng nói
Nhận diện giọng nói đang xâm nhập vào cuộc sống hiện đại. Nó được cài đặt trong những chiếc điện thoại, điều khiển trò chơi hay những chiếc đồng hồ thông minh. Chỉ với khoảng $$0, bạn có thể có Amazon Echo Dot - một chiếc hộp thần kỳ cho phép bạn đặt pizza, nhận thông tin dự báo thời tiết hoặc thậm ...

GraphQL vs. REST - A GraphQL Tutorial
Có thể bạn đã từng nghe nói về GraphQL, nếu chưa thì GraphQL là một cách mới để lấy các API, một sự thay thế cho REST (RESTful APIs). Nó bắt đầu như là một dự án nội bộ tại Facebook, và kể từ khi nó là mã nguồn mở nó đã thu hút được rất nhiều sự quan tâm. Mục đích của bài viết này là giúp bạn có ...

Một số tips để thiết kế APIs hiệu quả
Xây dựng một API phong phú và chuyên nghiệp không phải là khó, nhưng có rất nhiều điều bạn nên xem xét ngay từ đầu. Dưới đây là một số khái niệm quan trọng nhất và thực hành tốt nhất mà tôi học được trong khi xây dựng API với Rails. Sử dụng versioning Ngay cả khi bạn chỉ mới bắt đầu ...

Một vài kinh nghiệm khi dùng Realm trong android - Part 2
Các bạn có thể đọc phần 1 tại đây Hạn chế lỗi “Application Not Responding” (ANR). Mặc dù Realm đủ nhanh để đọc và ghi dữ liệu ngay trên Android main thread. Tuy nhiên, write transactions block accross threads, nghĩa là giả sử bạn đang ghi dữ liệu ở background thread , lời gọi ghi ...

End to End Test with Espresso in Android (P3)
Matching a view next to another view Một layout chứa một số view nhất định, nhưng chúng không phải là duy nhất. Ví dụ button Call trong bảng Contact chẳng hạn, bạn có thể thấy có rất nhiều button Call, nhưng không có nghĩ là một button Call ứng với R.id xác định mà chúng có thể có chung một R.id. ...

Thiết lập máy in nhiệt POS/EPS để in trực tiếp qua mạng Lan với Ruby
Trong quá trình nghiên cứu và làm việc thì mình có gặp một số vấn đề đó là kết nối đến máy in hóa đơn nhiệt . Sau khi tìm hiểu và hoàn thiện nó thì mình muốn tóm tắt lại các bước làm để các bạn có thể hình dung ra việc kết nối đến một thiết bị ngoại vi thông qua mạng Lan là như thế nào nhé. 1. ...

Apache POI là gì? Đọc/ Ghi các file MS Office bằng Java với Apache POI
Nguồn: https://stackjava.com/library/apache-poi-la-gi-doc-ghi-file-office-bang-java.html Apache POI là một API phổ biến nhất, cho phép các lập trình viên tạo, chỉnh sửa và hiển thị các file MS Office sử dụng ngôn ngữ Java. Apache POI là một thư viện mã nguồn mở được phân phối bởi Apache. ...

Giới thiệu/hướng dẫn về Crawler với Scrapy Framework (Phần 3)
Trong phần 2 mình đã hướng dẫn cách tạo project, tạo 1 spider cũng như extract dữ liệu. Trong phần này, mình sẽ hướng dẫn cách sử dụng pipelines để lưu vào databases, viết các spider sao cho gọn và nhanh hơn. Edit file pipelines.py như sau # -*- coding: utf-8 -*- # Define your item ...

Tổng quan về PM2
Mình vừa trở về sau khi tham gia chuyển đổi hệ thống cho một dự án. Ban đầu dự án này xây dựng dựa trên nền tảng duy nhất là PHP 5.5 build trên một VPS tại Singapore. Là thành viên trong bất kỳ dự án nào, mình luôn mong muốn đem lại những trải nghiệm tốt nhất tới người sử dụng, một khi họ truy cập ...

Tất cả những gì bạn cần biết về nil trong ruby
Bạn đang code ruby chắc chẳng lạ gì với nil cả. Bài viết sau sẽ giúp các bạn hiểu hơn về nó. nil đơn giản vẫn là 1 object nil.class # NilClass trong ruby chỉ có duy nhất 1 object nil với object_id = 4 (8 trong ruby 64bit) nil.object_id # 8 giống như những object khác, nil cũng có 1 số ...