Laravel: Tìm hiểu về Notifications (Phần 2)

Database Notifications ### Prerequisites Kênh ```database``` notification lưu thông tin thông báo vào một bảng cơ sở dữ liệu. Bảng này sẽ chứa thông tin như là kiểu thông báo cũng như kiểu dữ liệu JSON để mô tả thông tin của thông báo. Bạn có thể query vào bảng để hiển thị thông báo trong giao ...

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

Splash Screen Using Physics Animation

Tôi chia nó thành 2 bước Một hiệu ứng rotation xoay quanh trục (0,0) của màn hình. Tạo 1 hiệu ứng Translate xuống phía bên dưới màn hình. Các animation trước đây khi sử dụng chúng ta cần phải thiết lập thời gian bắt đầu và kết thúc của chúng 1 cách khá phức tạp và nếu phải xử lý nhiều ...

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

Thanh toán bằng Paypal

Có lẽ mọi người đều không xa lạ với hệ thống thanh toán Paypal. Nhiều dịch vụ thanh toán quốc tế chấp nhận thanh toán qua Paypal, nó gần như là 1 phương thức thanh toán được thế giới chấp nhận. Việc tích hợp thanh toán để mua bán vào web là điều mọi người đều làm. Ở đây mình cùng các bạn tìm hiểu ...

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

Hướng Dẫn Migrate từ HTTP sang HTTPS

Trong bài viết này chúng ta sẽ tìm hiểu cách thực hiện việc chuyển một website từ sử dụng giao thức http sang https . Người đọc cũng cần lưu ý rằng hướng dẫn trong bài viết này áp dụng cho các site Wordpress được host trên web server đã được cài đặt và thiết lập chứng chỉ SSL certificate. Bước ...

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

Angular và React, lựa chọn nào cho dự án của bạn?

Khi chúng ta bắt đầu một dự án mới, việc lựa chọn công nghệ luôn là bước đầu tiên không chỉ cho backend mà frontend cũng khá là quan trọng. Cả Angular và React đều có những thành công trong thế giới Frontend, đôi khi rất khó để lựa chọn được cái gì là tốt nhất cho dự án. Tuy nhiên chúng ta cũng sẽ ...

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

WebAssembly - The Introduction

Năm 2018 đã qua được 1 tháng, vậy nhưng năm 2017 vừa rồi chúng ta có bỏ lỡ thứ gì không ? Javascript có 1 năm phát triển quá mạnh mẽ, quá nhiều hot trending, quá nhiều framework. Và trong khi chúng ta đang quay cuồng cùng Javascript, thì ngoài kia, có 1 thứ đang thay đổi Web platform một cách ...

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

Bảo mật 2 lớp (2fa) trong Rails app

Bảo mật 2 lớp (2fa) thường được dùng trong những ứng dụng yêu cầu độ bảo mật cao. Vậy làm thế nào để thêm 2fa vào Rails app? Trong bài viết này mình sẽ đi chi tiết vào cách làm sử dụng gem devise-two-factor. Setup Bài viết này được build trên 1 Rails app đã có sẵn dùng gem devise, vì vậy ...

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

Tìm hiểu redux thông qua ví dụ

Redux là một thư viện Javascript cho phép ta quản lý state của containter một cách hiệu quả. Có thể sử dụng Redux với React hoặc các View library khác. Trong Redux thì container(smart component), action, reducer, store là những thành phần chính Action Action là nơi bắt các sự kiện click, ...

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

Form Object Pattern with reform gem

Chắc hẳn các bạn đã đều quen thuộc với accepts_nested_attributes để xử lý các thuộc tính của bản ghi này thông qua bản ghi khác, tuy nhiên việc tạo form để xử lý attributes của 2 object thì vẫn có thể kiểm soát đc bằng accepts_nested_attributes, nhưng khi Form của bạn cần fai xử lý 3 objet hay ...

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

Ng-keyup Trong angular js

chào mọi người. Mình có 1 câu hỏi nhờ mọi người tư vấn giùm. Mình đang viết app và có sử dụng mobiscroll để nhập số. Link: https://demo.mobiscroll.com/angularjs/numpad/decimal# Giờ làm sao để vừa sử dụng mobiscroll và sử dụng ng-keyup được ạ??? (Nếu không sử dụng mobiscroll thì ng-keyup vẫn hoạt ...

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

Fastlane - Delivery sản phẩm hoàn toàn tự động

Fastlane Một cách rất đơn giản để có thể tự động build và release ứng dụng của bạn -> đó chính là nhờ fastlane Fastlane là gì ? Fastlane là một công cụ giúp cho việc release sản phẩm của chúng ta trở nên dễ dàng hơn , nhanh hơn . Nó xử lý tất cả những công việc dườm dà như tạo ...

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

Sử dụng enumeration trong Ruby

Enumeration (liệt kê) có thể được định nghĩa là quá trình trích xuất những thông tin trong một bộ dữ liệu ra thành một hệ thống có trật tự. Trong lập trình, trật tự này là bất cứ hành động nào, có thể chỉ là hiển thị ra hoặc là sắp xếp dữ liệu. Có thể thực hiện chuyển đổi theo từng bước, ...

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

REST API Versioning

Trong bài viết này tôi sẽ trình bày cách để thêm một phiên bản RESTful API. Phiên bản có thể được xác định trong mỗi URL hoặc HTTP headers. Chúng ta lấy ví dụ với một ứng dụng quản lý sản phẩm. Nó có thể nhìn tất cả thông tin của sản phẩm, thêm mới, chỉnh sửa hoặc xóa từng sản phẩm. Ta ...

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

Scope trong Laravel 5.5

Global Scopes Global Scopes cho phép bạn tạo các ràng buộc cho TẤT CẢ các truy vấn tới Model. Trong Laravel, chức năng soft delete sử dụng như một global scopes để thực hiện việc pull "non-deleted" từ các model. Viết một global scopes cho mình sẽ có thể cung cấp sự tiện lợi, dễ dàng , để đảm ...

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

WebRTC (phần 2) - Kiến trúc WebRTC

Phần 1 mình đã giới thiệu tổng quan về WebRTC Phần 2 mình sẽ chia sẻ kiến trúc của WebRTC Nắm được kiến trúc của WebRTC giúp chúng ta hiểu sâu và phát triển dễ dàng hơn ứng dụng của mình. Kiến trúc tổng quan như sau: Có 2 lớp riêng biệt (distinct layers): Browser deveopers sẽ quan ...

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

Giới thiệu thư viện validate cho Vue JS

Vue.js, gọi tắt là Vue, là một framework linh động dùng để xây dựng giao diện người dùng. Khác với các framework nguyên khối, Vue được thiết kế từ đầu theo hướng cho phép và khuyến khích việc phát triển ứng dụng theo các bước. Hôm nay mình xin phép được giới thiệu một thư viện validation cho ...

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

Tối ưu hóa việc sử dụng hình ảnh khi thiết kế web

Load ảnh lên trang web của bạn có thể là một vấn đề đối khi ít được developer chú ý, mà thường ốp bừa bãi ảnh lên mà bỏ qua yếu tố dung lương hoặc chất lượng của ảnh (đôi khi là cả hai). Để có thể vừa hiển thị những bức ảnh đẹp, chất lượng, vừa giảm bớt thời gian load ảnh cho browser nhằm tạo ra ...

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

Tạo Recyclerview adapters awesome với MultiViewAdapter

Hiện tại Recyclerview đã trở thành một widget quan trọng và phần lớn các app Android đều sử dụng. Nó là một công cụ mạnh mẽ, rất tiện lợi và có thể cover hầu hết các case mà lập trình viên muốn. Tuy nhiên vì sự linh hoạt của nó nên lập trình viên có thể vấp phải một vài khó khăn khi tạo ...

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

Backbone.js phần 3

Ở bài trước đã trình bày về phần trung tâm của backbone.js như là Model và Collection. Ở bài viết này sẽ trình bày về phần quyết định kiến trúc của Backbone.js là Backbone.Events Source code của lần này chi tiết ở đây Backbone.Events Backbone.js cung cấp component Model, Collection, View, ...

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

Full-width and Half-width check with Angular 4 Javascript

全角:Full-awidth 半角:Half-awidth I think that checking full-awidth and half-awidth character in most system is an important point. I will explain with the following simple steps: First we create a new component: $ ng g c zenkaku-hankaku After executing the above command, some of the ...

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