Học enumerable trong Ruby

Với bất kì ngôn ngữ lập trình nào cũng như dự án nào thì xử lý dữ liệu luôn là một trong những vấn đề hiện hữu. Dạo gần đây dự án của mình gặp phải trường hợp xử lý khối lượng dữ liệu rất lớn. Yêu cầu xử lý dữ liệu phức tạp. Phải xử lý trên cả client và server. Từ đó mình nhận ra một điều, xử lý ...

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

Thống kê với Aggregation Query trong Elasticsearch (Phần 2 - Metrics aggregation query)

1. Metrics aggregations Những thống kê thuộc dạng này tính toán dựa vào giá trị lấy được từ những documents trả về từ phần query trong phần body của request search, có 2 loại giá trị đầu vào đó là: Giá trị từ những trường (field) trong document Giá trị từ những trường được sinh ra bằng việc ...

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

Một số thư viện và tips css "hay ho"

Clip-path maker Khi bạn cắt giao diện một trang web hoặc một ứng dụng mà bạn thích cũng có khi bản rảnh quá ngồi nghịch tý css cho tăng level lên một tầm cao mới chắc chắn có khi bạn đã gặp trường hợp cắt một hình ảnh theo một hình dạng nào đó. Giải pháp như sau: A: - ê bồ tèo, tao đang ...

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

Laravel: Tìm hiểu về Query Builder (Phần 1)

Query builder cung cấp một giao thức thuận tiện, linh hoạt cho việc tạo và thực thi các truy vấn dữ liệu. Nó có thể sử dụng để thực hiện hầu hết các tính toán dữ liệu trong ứng dụng của bạn, và hoạt động trên tất các các hệ cơ sở dữ liệu được hỗ trợ. Laravel query builder sử dụng PDO parameter ...

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

Làm việc background tasks với WorkManager

Tại Google I/O 2018 Google cho ra mắt một tính năng thực sự thú vị cho phép các nhà phát triển thực hiện các tác vụ background mà nếu theo truyền thống thì cần kiến thức chi tiết về các API level khác nhau và các thư viện tác vụ nền có sẵn cho các API level đó. WorkManager cung cấp chức năng mà ...

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

Giới thiệu về Android Things 1.0

Ngày 7/5/2018, tại sự kiện Google I / O 2018 Google chính thức tung ra Android Things 1.0, nền tảng hoạt động trên các thiết bị IoT như loa thông minh, camera an ninh có kết nối Internet.. Mặc dù trước đó Android Things đã được Google giới thiệu tại Google I/O 2015 . Trải qua hơn 3 năm phát ...

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

Hiển thị các thông báo thân thiện hơn với toastr

Có thể bạn thấy việc hiển thị thông báo với bosstrap là khá nhàm chán, bạn cần một thư việc khác hiển thị thông báo một cách sinh động hơn. Toastr là một lựa chọn rất tốt bạn có thể thử và trải nghiệm. toastr là một thư viện Javascript dùng cho việc hiển thị các thông báo một cách độc lập. Để sự ...

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

Xây dựng ứng dụng chat Laravel

Bài viết này sẽ giúp các bạn xây dựng một ứng dụng chat Laravel với Pusher , với framework Javascript là Vue.js Trước khi bắt đầu thực hiện, hãy xem qua ứng dụng này hoạt động như thế nào? Chúng ta bắt đầu với việc tạo một project laravel với tên laravel-chat. composer ...

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

Tìm hiểu Android Architecture Components Phần 1 - ViewModel

Trong loạt bài này, tôi sẽ cố gắng làm sáng tỏ Android Architecture Components (AAC) để tận dụng chúng tốt hơn. Hãy cùng bắt đầu với ViewModel. Tại sao chúng ta cần hiểu cách AAC làm việc ? Tôi luôn cân nhắc việc tách thành phần xử lí logic của ứng dụng ra khỏi nền tảng mà nó chạy, liên quan ...

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

Check if User password "pwned?" with Pwned Passwords API

Introduction Phương thức bảo mật 2 lớp (2-factors authentication - 2FA) hiện nay được sử dụng ngày một phổ biến hơn trong lĩnh vực công nghệ thông tin và có thể dễ dàng thấy ở bất cứ đâu, từ việc đăng kí hoặc đăng nhập quản lí account, xác thực, giao dịch , thanh toán trực tuyến, ... vì tính bảo ...

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

Cấu trúc ứng dụng React js

Để quản lý state của app React, có nhiều cách để cấu trúc một ứng dụng React js Cấu trúc dựa theo nhiệm vụ của file hay dựa theo tính năng hoặc loại dữ liệu Trong ví dụ và các bài hướng dẫn của các project Redux/React , kể cả phiên bản chính thức trên trang chủ của redux, thì cấu trúc file phổ ...

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

Android Testing Part 1:Espresso Basics

Intro Là một dev thì hẳn mọi người đã biết thì rõ ràng thử nghiệm là một phần quan trọng của trong quá trình phát triển phần mềm. Con người rất dễ có sai lầm và vì bản chất tự nhiên này thì phần mềm thường sẽ có bug khi được phát triển. Vì vậy việc kiểm thử sẽ giúp : Giúp phát hiện các khiếm ...

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

Cách viết specs document cơ bản và 7 technique để viết document rõ ràng, dễ hiểu

Nguồn bài viết : サンプル例に見る機能仕様書の基本的な書き方&読みやすくする7つのテクニック Trong bài viết trước tác giả đã giải thích tầm quan trọng của document đối với communication trong dự án phát triển hệ thống IT, trong đó đã giới thiệu về 1 trong 3 loại document quan trọng là “Functional Specifications của ...

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

Giảm thiểu chế độ DDoS sử dụng Rack::Attack

Có bao giờ bạn gặp phải những cuộc tấn công DDoS từ những dự án bạn đã làm? Dự án hiện tại mình làm đã từng gặp phải vấn đề này, có những request liên tục đến trang login và nó có thể làm cho hệ thống bị die nếu chịu tải không đủ mạnh. Khi đó chúng ta sẽ nghĩ làm sao để có thể block được 1 địa chỉ ...

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

ZXing Barcode Scanner

Introduction ZXing library allows you to implement a barcode scanner in less than a few minutes. Follow this tutorial to get you started. Create a project and called it whatever. I am calling mine BarcodeScannerApplication Click next selecting an empty Activity then finish. Add the ...

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

8 phút dành cho vài skills Javascripts

Bắt đầu luôn nào (quaylen) 1.Spread operator Sử dụng dấu 3 chấm ... để triển khai các phần tử bên trong một hàm cũng như một đối tượng. Công thức này rất đơn giản, trực quan Ví dụ: Nếu như bạn muốn show hết danh sách món ăn ưa thích mà không được tạo vòng lặp, đây chính là giải pháp ...

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

Cách làm Bottom Navigation theo chuẩn Material Design

BottomNavigation là một thanh điều hướng gồm nhiều tác vụ chính của ứng dụng mà người dùng sẽ thường xuyên sử dụng nhất, nó được nằm ở màn hình chính (khi app được launch). Hình ảnh tham khảo material.io Trước đây với yêu cầu phải có thanh điều hướng này thông thường chúng ta sẽ dùng custom ...

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

Flutter : Building Basic Layouts

Bài viết này mình nghiên cứu và dịch từ trang Flutter.io nên một số hình ảnh và từ ngữ chuyên ngành mình xin phép được sử dụng như trang nguồn nhé. Mục tiêu là mình hiểu như thế nào sẽ truyền tải lại như vậy thôi </p> <div class= Tác giả: Trịnh Tiến Mạnh viết 17:53 ngày 12/08/2018

[Android Boilerplate]Cùng tạo ứng dụng đầu tiên sử dụng MVVM, Dagger2, RxJava, LiveData và Room (P2 : Setup Retrofit, Repository Pattern, ViewModel)

P1 : Setup Dagger 2 + Room 1. Setup Retrofit Ở Phần trước : Chúng ta đã cấu hình và implement injection dependency framework và cơ sở dữ liệu local rồi. Ở bước này chúng ta sẽ tạo kết nối internet đến API của CoinmarketCap và lấy các dữ liệu mà chúng ta cần. Để lấy các dữ liệu từ API thì ...

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

placeholder in UITextView iOS swift

Trong hướng dẫn này mình sẽ hướng dẫn các bạn tao placeholder trong UITextView và custom UITextView thay vì sử dụng delegate mình sử dụng closure. mở rộng tính năng cho UITextView, ví dụ như giới hạn ký tự nhập... chú ý: khi sử dụng extension sau thì sẽ không sử dụng lại delegate ...

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