PSR-3-logger-interface

Giới thiệu . Hôm trước ngồi bắt đầu gõ PHP, nhưng mà đọc code covetion, có khi còn nhầm nhọt , vì quên chưa thuộc. Thế là thôi, quyết định ngồi đọc code convention thì kiếm được PSR0 to PSR4. Tham khảo bài viết về code convention của một bạn trên viblo, thấy PSR3 chưa được đề cập đến, nên kiếm ...

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

Encrypted Credentials với Rails 5.2

Phiên bản Rails 5.1 đã giới thiệu cách để bảo mật các thông tin bí mật(encrypted credentials), có 2 nơi bạn có thể đặt các thông tin bí mật của mình là secrets.yml và secrets.yml.enc. Điều này gây ra một chút nhầm lẫn khi bạn sử dụng các thông tin bí mật thông thường hoặc các thông tin bí mật đã ...

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

Negative Testing và cách viết test case Negative

Positive testing và Negative testing là gì? Positive testing: Positive testing, hay còn được gọi là “Happy path testing” thường là hình thức kiểm thử đầu tiên mà 1 người kiểm thử sẽ thực hiện trên 1 ứng dụng. Đó là quá trình chạy 1 kịch bản kiểm thử chỉ với dữ liệu đúng và hợp lệ. ...

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

2 cách để test preloading/eager-loading của ActiveRecord associations trong Rails

Chắc nhiều bạn đã từng dùng #includes, #preload or #eager_load để tăng performance và tránh truy vấn N+1. Nhưng trong đó chưa chắc code đã thực hiện đúng đắn và có association preloaded như ý mong muốn hay không? làm sao để test nó? Dưới đấy có 2 cách có thể giúp test. Hãy tưởng tượng rằng chúng ta ...

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

Phần 3 - Cách thêm thư viện (module) vào Android project

Một dự án Android luôn sử dụng các thư viện ngoài để giảm thiểu thời gian coding cũng như chi phí phát triển, đảm bảo tính tái sử dụng. Việc thêm thư viện hay một module vào dự án Android hiện nay là không khó và cực kỳ dễ dàng khi Gradle được tích hợp sử dụng trong một dự án Android. Để hiểu rõ ...

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

Sử dụng Elasticsearch để tìm kiếm full-text trong Rails

Trong bài viết này chúng ta cùng tìm hiểu cách implement full-text search trong Ruby on Rails sử dụng Elasticsearch. Ngày nay hầu như mọi người đều đã từng sử dụng các công cụ tìm kiếm có gợi ý sẵn, nếu bạn không biết chắc từ khóa mình cần tìm là gì, thì việc các công cụ tìm kiếm có gợi ý hẵn là ...

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

Một số query phổ biến trong Elasticsearch

Bài viết sẽ giới thiệu một số queries phổ biến trong elasticsearch như là match, phrase_match, prefix, term, multi_match, và bool. Tổng quan về một số queries Query Name Chức năng Query mẫu Matching Text Not Matching Text match - Matches nếu 1 term trong query đó match - ...

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

Rails Autoloading and Reloading Constants

Giới thiệu Với code Ruby bình thường bạn cần phải khai báo các file chứa các class phụ thuộc với lệnh require. Việc này cũng khá quen thuộc bởi vì hầu hết các ngôn ngữ đều như vậy require 'application_controller' require 'post' class PostsController < ApplicationController def index ...

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

5 hàm Ruby bạn nên sử dụng

Chúng ta đều biết Ruby sẽ dạy chúng ta cách thể hiện ý tưởng của mình vào một cái máy tính. Và đó là một trong những lý do chính làm cho Ruby trở thành một lựa chọn phổ biến cho phát triển web. Giống như các ngôn ngữ khác, có rất nhiều cách để thực hiện một vấn đề trong Ruby. Tuy nhiên, cách giải ...

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

Ruby on Rails: Sử dụng select, reject, collect, inject và detect

Học Rails cũng có nghĩa là học Ruby, trong bài viết này sẽ đề cập tới một trong những vấn đề thường gặp mà mỗi lập trình viên mới code Ruby gặp phải đó là vòng lặp. Tìm hiểu vòng lặp trong Ruby được coi như một quá trình tiến hóa nếu bạn mới code Ruby. Thường thì bạn sẽ luôn luôn tìm cách để sử ...

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

Monitor Amazon Cloudwatch Log kiểm soát truy cập qua SSH

Rõ ràng bảo mật là một vấn đề lớn trong ngành kỹ thuật, public cloud cũng không phải ngoại lệ . Nếu bạn search Google "top cloud security concerns", một trong những bài viết ở trên đầu có tiêu đề là "9 worst cloud security threats". Trong phần Account Or Service Traffic Hijacking : An intruder ...

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

BackgroundWorker trong ứng dụng C# Windows Form

Hẳn đối với mỗi chúng ta, khi nhắc đến khái niệm Thread thì khá là hoang mang, và để handle được nhiều thread cùng chạy đồng thời, mượt mà, và tương tác lẫn nhau thì cần am hiểu về Thread khá tốt. C# hiện nay khá mạnh trong việc phát triển ứng dụng Desktop Application , và nó cũng sinh ra ...

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

Làm sao cải thiện tốc độ JSON Generation trong Rails

Hiện nay, chúng ta biết một số cách để tạo đối tượng trong JSON Dùng to_json() RABL Active model serialisers JBuilder 1. JBuilder json.extract! message, :id, :content, :chat_id json.user do json.cache!(["user_", message.user_id]) do json.partial! 'users/user', user: ...

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

Kiến thức cơ bản về SQL dành cho comtor ( Phần 1)

SQL là gì ? SQL là một ngôn ngữ sử dụng trong cơ sở dữ liệu quan hệ, được sử dụng khi muốn trích xuất dữ liệu từ bảng bằng các theo tác như Select(選択)、Projection(射影)、Combine (結合) SQL là ngôn ngữ có thể sử dụng chung ở bất kể app hay loại nào của cơ sở dữ liệu quan hệ. Có thể mô tả bằng cấu trúc ...

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

Machine Learning thật thú vị (2): Tạo sách văn học và game Mario

Trong phần 1, chúng ta đã đề cập đến việc Học Máy đã sử dụng các thuật toán chung chung để tìm ra những điều thú vị về dữ liệu bạn có mà không cần phải viết những dòng mã cụ thể để giải quyết bài toán của bạn. Trong phần này, chúng ta sẽ dành thời gian tìm hiểu một thuật toán làm được những điều ...

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

Sử dụng proxy trong Scrapy

Giới thiệu Scrapy là một framework chuyên được sử dụng để extracting data từ web. Nó cao hơn một tầng so với một số lib python cùng chức năng như Requests, BeautifulSoup, urrlib2... Scrapy phù hợp cho những project chuyên biệt về crawl. Nó cung cấp CLI tools đầy đủ để phát triển nhanh một ...

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

Tìm hiểu về testNG framework (Phần 6)

TestNG là một framework kiểm thử tuyệt vời. Nó cung cấp rất nhiều tính năng có thể giúp chúng ta tạo ra những frameworks mạnh mẽ và dễ bảo trì. Trong chương này, chúng ta sẽ học Làm thế nào để thử lại các phép thử không thành công trong TestNG. Bạn phải thấy thất bại ngẫu nhiên trong quá trình ...

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

Android Architecture Components: ViewModel

Hôm nay tôi muốn nói đến ViewModel trong Android Architecture Components.Như bạn biết, thành phần này rất hữu ích khi bạn muốn quản lý và xử lý dữ liệu cho giao diện của bạn (Ví dụ Activity hoặc Fragment). Bây giờ thì cùng thử xem triển khai ViewModel vào trong dự án của bạn thế nào nhé. 1. ...

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

Java 8 Method Reference (Phần 2)

Ở phần 1, mình đã giới thiệu qua 2 loại method preference - Method reference một static method - Method reference một instance method của một object có kiểu đặc biệt Giờ chúng ta sẽ tìm hiểu nốt 2 loại còn lại Method reference một instance method của một object đã tồn tại. Trong trường hợp ...

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

Android: SQLite Database Với OrmLite

Xin chào các bạn ! Hôm nay, mình xin giới thiệu với các bạn 1 ORM Lib rành cho việc thao tác với Database trong android. Đó là OrmLite Vậy OrmLite là gì? Nó là viết tắt của Object Relational Mapping Lite cung cấp một số chức năng để làm việc với các đối tượng Java tới cơ sở dữ liệu SQL. Nó tránh ...

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