Tạo Offline page cho Rails application

Sử dụng Service Worker để kết nối với người dùng ngay cả khi không có mạng Giới thiệu Khi bạn truy cập vào một website nào đó bằng Chrome mà chưa kết nối mạng, bạn sẽ trông thấy hình ảnh chú khủng long như hình trên. :3 Trước đây, khi mình là một normal user, điều này cũng k gây nhiều ...

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

[Swift]Alamofire – Design Pattern

Nói về alamofire chắc hẳn ai cũng biết đây là thư viện rất nổi tiếng về Networking trên swift, nhưng để design và sử dụng nó một cách hiệu quả thì lại là một câu chuyện khác. Hôm nay mình sẽ chia sẽ về cách mình sử dụng Alamofire hi vọng sẽ giúp ích cho các bạn. Lần đầu mình viết bài sẽ ko thể ...

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

iBeacon

Thuật ngữ iBeacon và Beacon thường được dùng thay thế cho nhau, iBeacon là tên mà Apple đặt cho công nghệ của hãng dựa trên chuẩn Bluetooth Low Energy. Ibeacon cho phép các ứng dụng di động có thể lắng nghe các tin hiệu phát ra từ các beacon trong không gian và phản hồi lại nó. Một cách rõ ràng ...

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

Chat box bằng Firebase và Angularjs

Nhân dịp ngày cuối năm, mình lau bàn phím bằng 1 bài hướng dẫn làm 1 chat box bằng Firebase và Angularjs. Trước tiên là các bạn kéo xuống cuối trang, đó, có chỗ "Trò chuyện linh tinh" ấy. Mình thích dùng Github để viết bài vì làm demo trực tiếp được luôn như thế này, mặc dù có hạn chế nhưng còn hơn ...

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

Tầm quan trọng của giải thuật trong việc xử lý các bài toán.

Để hiểu được tại sao kiến thức về giải thuật và việc hiểu biết về giải thuật lại quan trọng chúng ta cần định nghĩa chính xác xem giải thuật là gì? Một định nghĩa về giải thuật được viết trong cuốn " Introduction to Algorithms " khá phổ biến như sau: Một giải thuật là thủ tục hay trình tự thực hiện ...

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

Component trong angular 2.0

Khi nói đến Ng2 nhiều lập trình viên thường tỏ ra ái ngại hoặc cảm thấy khó khăn để bắt đầu. Nhiều quan điểm được đưa ra, rằng Ng2 là một phiên bản mới của Ng1 nhưng cú pháp lại hoàn toàn khác nhau, gây khó khăn trong quá trình tiếp cận. Một trong những sự khác biệt lớn nhất đó là khái niệm ...

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

Grunt For Automate Your Workflow

In this article I will show you a tool to save time and effort for such work. That is Grunt a runner Javascript task. At the first step let the installation and it is relatively simple Grunt because it uses npm package manager. That means you can install via the Node Grunt. First we need to ...

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

Một số Implicit Intent phổ biến trong Android

Một Intent (ý định) cho phép bạn có thể chạy một Activity ở ứng dụng khác bằng cách mô tả tác vụ mà bạn muốn thực hiện (Ví dụ như "xem bản đồ" hay "chụp một bức ảnh") trong đối tượng Intent. Loại Intent này được gọi là Implicit Intent (ý định không rõ ràng) vì nó không mô tả cụ thể ứng dụng nào ...

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

Code reviewing as a mindset

Lời người dịch Bên cạnh việc viết code, việc review code cũng là một công việc thường xuyên của bất cứ developer nào. Từ việc tự review code của bản thân, sau đó đến review code cho các member cùng trong nhóm, review cho các đàn em mà mình dẫn dắt,... khi trách nhiệm tăng lên thì cũng đồng nghĩa ...

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

Giải pháp Synchronize folder giữa 2 server

Chắc hẳn ở đây có rất nhiều người đã và đang sử dụng nhiều giải pháp để đồng bộ giữa 2 server. Hôm nay mình xin trình bày 2 giải pháp đồng bộ: rsync, lsyncd. Như các bạn biết, đồng bộ là quá trình đảm bảo rằng các tập tin trong hai hoặc nhiều host được cập nhật thông qua những quy tắc nhất ...

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

Using PostgreSQL and jsonb with Ruby on Rails

Trong một ứng dụng Rails, chúng ta thường xuyên có các chức năng thiết lập riêng của từng ngường dùng ví dụ city, tài khoản mạng xã hội, blog, theme v.v... Hiện nay, đã có rất nhiều phương pháp để thực hiện lưu trữ những thông tin này vào trong cơ sở dữ liệu quan hệ. Phương pháp phổ biến nhất mà ...

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

Kỹ năng giao tiếp hiệu quả và làm thế nào để đạt được nó

Như chúng ta đã biết, giao tiếp là một hoạt động cơ bản và là nhu cầu không thể thiếu trong đời sống của mỗi người. Mỗi người là một mắt xích trong xã hội vì thế hàng ngày, hàng giờ, chúng ta đều phải giao tiếp với thế giới xung quanh để hoàn thành vai trò của mình. Một người có kỹ năng giao tiếp ...

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

Animation đẹp hơn với MotionBlur

Thư viên MotionBlur cho phép thêm hiệu ứng mờ khi chuyển động. Làm cho view mờ ảo hơn khi chuyển động, không phải khô cức khi di chuyển từ vị trí A đến vị trí B nửa. Hướng dẫn sử dụng #import "UIView+MotionBlur.h" Sau đó thêm hàm "enableBlurWithAngle" và đặt đoạn code animation vào trong ...

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

Artificial Intelligence - Phân loại tác tử

Tiếp theo về tác tử của phần trước (link: https://viblo.asia/tanphan/posts/NbmebAdpGYO) Chủ đề hôm nay là phân loại tác tử nhé mọi người 4 loại tác tử cơ bản: Tác tử phản xạ đơn giản Tác tử phản xạ dựa trên mô hình Tác tử dựa trên mục tiêu Tác tử dựa trên lợi ích Tác tử phản xạ đơn giản ...

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

Node.JS Yargs - Build interactive command line tools

Sau loạt bài viết về Amazon SES, SNS and SQS khá là khô khan (vì khó để thực hiện việc kiểm thử) và không có tính ứng dụng rộng rãi. Mình sẽ quay lại với chủ đề có tính thực tiễn cao hơn. Hôm nay mình xin chia sẻ về một Node.JS module hỗ trợ chúng ta trong việc parse các tham số cho ứng dụng ...

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

Trở thành Functional Programmer - Phần 6

Đây là bài dịch từ bài gốc ở link sau : https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-6-db502830403#.ixhzsy2zb Những bước đầu tiên của việc hiểu rõ các concepts trong lập trình hàm (Functional Programming - FP) là những bước quan trọng nhất, và đôi khi là những ...

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

Robot framework dành cho tester (Phần IV)

Cài đặt Robot Framework và sử dụng cơ bản: Robot framework dành cho tester (Phần I) Selenium2Libray - Thư viện kiểm thử web dành cho Robot Framework: Robot framework dành cho tester (Phần II) Cách sử dụng RIDE hiệu quả: Robot framework dành cho tester (Phần III) Như đã giới thiệu ...

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

Doctrine 2 khác Eloquent như thế nào?

Một trong những điều thực sự tuyệt vời về ORM đó là thực thi [Active Record](http://en.wikipedia.org/wiki/Active_record_pattern) giống như [Eloquent](http://laravel.com/docs/eloquent), chúng thực sự trực quan và dễ sử dụng. Với Active Record , bản chỉ có một object mà bạn có thể thao tác và save ...

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

Cocos2d-x

Giới thiệu Hiện nay có rất nhiều các bạn trẻ thích tự làm một game nho nhỏ riêng cho mình, vừa là để trải nghiệm sản phẩm game của mình, vừa là trải nghiệm các ngôn ngữ mới. như các bạn cũng biết hiện nay có rất nhiều các ngôn ngữ để phát triển ra một game đa nền tảng ví dụ như HTML5, ...

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

Tải và upload video tự động lên youtube với youtube-dl và youtube-api - Bài 1 : Giới thiệu về youtube-dl, tải video tự động

Là một lập trình viên, đã bao giờ bạn tìm cách download một video trên youtube mà chẳng cần IDM hay tool nào đại lại thế, hoặc upload chúng lên mà chẳng cần đến giao diện web? Bạn đã bao giờ nghĩ tới việc xây dựng một hệ thống upload video lên youtube theo schedule hay xây dựng bất cứ một trang web ...

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