Truy vấn Web Service không đồng bộ (Async Request) trong Android

Xin chào các bạn , hôm nay tôi xin hướng dẫn các bạn cách thực hiện truy vấn bất đồng bộ tới Web Service trong Android Trước tiên , đặt ra 1 câu hỏi : "Tại sao chúng ta lại cần thực hiện truy vấn bất đồng bộ đến Web Service ?" Câu trả lời đơn giản là đưa ra 1 ví dụ thực tế , giả sử các bạn cần ...

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

Vui đùa với Active Storage trong Rails 5

Có thể các bạn chưa biết, Paperclip hiện nay đã ngừng cập nhật, và những nhà phát triển của sản phẩm này cũng đang khuyến khích các dev chuyển hướng qua sử dụng ActiveStorage, một gem built-in vừa được merge vào Rails 5 cuối năm vừa qua. Mình viết bài này hy vọng rằng sẽ giúp được những bạn đã quá ...

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

Logic Controllers trong Swift

Có Một thách thức lớn mà hầu hết các Swift developers phải đối mặt theo thời gian, là làm thế nào để đối phó với Massive View Controllers . Cho dù chúng ta đang nói về các subclasses của UIViewController trên iOS và tvOS hoặc NSViewController trên Mac, loại class này có xu hướng phát triển rất ...

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

JavaScript Injection Tutorial: Kiểm thử và ngăn chặn các cuộc tấn công bằng JS injection tới website

Javascript là một trong những công nghệ phổ biến nhất và ngôn ngữ này được sử dụng rộng rãi cho các trang web (phía người dùng ) cũng như phía máy chủ (với Nodejs) và ứng dụng web. Javascript có thể được sử dụng để thực hiện các chức năng trên các trình duyệt khác nhau. Tuy nhiên, công nghệ này ...

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

Phân biệt Router, Switch, Hub (Mạng máy tính)

Dạo qua một vòng trên Google và qua những câu hỏi mình hay bị mọi người xung quanh "vấn đáp nhanh", ngày hôm nay mình muốn viết blog này để có thể phần nào làm rõ một chút cho các bạn về 3 thiết bị này. Do hiện nay, với công nghệ sản xuất hiện đại và nhu cầu cần mọi thứ đơn giản, đa nhiệm, các bạn ...

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

Hướng dẫn Kiểm thử Đám mây – Hướng dẫn dành cho Người mới bắt đầu

Điện toán đám mây là một nền tảng dựa trên Internet để thực hiện nhiều loại dịch vụ điện toán khác nhau như phần cứng, phần mềm và các dịch vụ khác liên quan đến máy tính từ xa. Có ba mô hình Điện toán đám mây: SaaS - Dịch vụ phần mềm PaaS - Dịch vụ cung cấp nền tảng IaaS - ...

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

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