Ứng dụng "tìm quanh đây" với MongoDB - Geospatial Queries, Google Map API

Mongodb có hỗ trợ các phép truy vấn trên dữ liệu không gian địa lý. Chúng ta sẽ áp dụng tính năng này để xây dựng một ứng dụng lưu trữ và chia sẻ địa điểm. Ứng dụng sẽ các chức năng: Người dùng đánh dấu các điểm trên bản đồ. Hiển thị các điểm đã được dánh dấu trong phạm vi "quanh đây" Những ...

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

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

Running The Queue Worker Laravel bao gồm một queue worker sẽ xử lý các new job khi nó được đẩy lên queue. Bạn có thể chạy các worker bằng cách sử dụng Artisan command ```queue:work```. Lưu ý rằng khi câu lệnh ```queue:work``` được chạy, nó sẽ tiếp tục chạy cho đến khi nó được dừng bằng tay hoặc ...

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

Sử dụng state_machine và các event.

Thông thường thì các đoạn code chúng ta viết ra để thưc hiện giải quyết vấn đề nào đó chẳng hạn như Raise lên một Exception thì không tránh khỏi việc phải sử dụng đến những câu điều kiện và làm cho đoạn code của chúng ta trở nên khá rối và khó đọc. Tôi tự hỏi có cách nào để loại bỏ những điều kiện ...

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

Toán tử new trong Javascript

Bốn quy tắc Cách đơn giản nhất để hiểu toán tử new là hiểu xem nó làm những gì. Khi bạn sử dụng new, 4 thứ sau xảy ra: Nó tạo ra một empty object mới Nó bind this vào object mới đc tạo Nó thêm một property tên là proto vào object mới đc tạo đó, property này trỏ đến constructor của ...

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

Tìm hiểu về Today extension trên iOS

Nội dung Giới thiệu Giới thiệu về Bitcoin Giới thiệu về Crypticker BTC Widget Add a Today Extension target Build the Interface Kết Luận Giới thiệu iOS 8 đã giới thiệu Tiện ích mở rộng ứng dụng: một cách để bạn chia sẻ chức năng của ứng dụng với các ứng dụng khác hoặc bản thân hệ ...

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

iOS 11: Safe Area Layout Guide và Large Titles

Như chúng ta đã biết, Apple lần đầu giới thiệu đến lập trình viên topLayoutGuide và bottomLayoutGuide - hai thuộc tính của UIViewController lần đầu trên iOS 7. Chúng cho phép lập trình viên tạo ra các contraints giữ cho nội dung của app không bị che mất bởi một số đối tượng mặc định của UIKit ...

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

Plugin cho Xcode

1. CocoaPod Features: Downloads and integrates CocoaPods listed in a project's Podfile Creates podspecs from a template Shows command output in the window console Installs documentation (from CocoaDocs) for the CocoaPods used in the open Xcode workspace Supports using a custom path to ...

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

Làm việc với Distributed Cache trong ASP.NET Core

Trong bài viết trước tôi đã giới thiệu tới các bạn về In-memory cache trong ASP.NET Core. Các bạn có thể xem lại ở đây: https://viblo.asia/p/in-memory-caching-trong-aspnet-core-aWj53XmoK6m Để có thể cải thiện hơn về hiệu suất và khả năng mở rộng của ứng dụng ASP.NET Core chúng ta có thể cần đến ...

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

Tìm hiểu về module system, CommonJS và require

Trước khi chuẩn ES2015 ra đời, Javascript không hỗ trợ cho các lập trình viên bất kỳ một phương thức tự nhiên nào để tổ chức hệ thống code. Node.js được tạo nên từ Javascript, tuy nhiên những người viết ra Node.js đã đưa thêm vào CommonJs để giải quyết vấn đề về "cấu trúc" hệ thống code viết bởi ...

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

ADDING FUNCTIONALITY TO RUBY CLASSES WITH DECORATORS

Khi sử dụng một api của bên thứ 3 đôi khi chúng ta cần bổ sung thêm chức năng cho nó. Do vì nó là đối tượng đã được đóng gói nên không thể thêm chức năng bằng cách can thiệp vào bên trong nó. Chúng ta có thể không cần làm vậy mà đơn giản chỉ cần viết một đối tượng khác thực hiện các chức năng mở ...

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

Những điểm khác biệt chính giữa ReactJS và React-Native là gì?

React native đã ra đời khoảng 3 năm, và trở thành một framework thực sự thú vị vì nó có thể được sử dụng cho Android và còn có thể xây dựng các ứng dụng di động đa nền tảng. Một số người đóng góp cũng framework tùy chỉnh để xây dựng ứng dụng dành cho máy tính để bàn cho Mac và Windows, khá hay ...

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

Những lưu ý khi điều chuyển tester trong dự án

Trong lộ trình làm việc của bản thân, tôi đã từng làm việc với nhiều testers, họ được assign vào các team khác nhau. Nếu bạn tính toán bạn sẽ nhận ra rằng trong 1 dự án có thể sẽ có một hay hai hoặc 1 vài tester làm việc trong đó. Khi điều chuyển nhân sự chúng ta thường cố gắng kết hợp các kỹ năng ...

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

map, select, collect, inject, detect và each trong Ruby

Đối với Ruby, chúng ta sử dụng rất nhiều các methods của Array, như: map, each, select, collect, inject, detect , sau đây chúng ra hãy xem chức năng cụ thể của chúng: Map map lấy tất cả các đối tượng, sử dụng chúng chạy biểu thức trong block và trả về mảng mới là kết quả sau khi chạy hết tất cả ...

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

[Laravel 5.5] Eloquent: Getting Started

Giới thiệu :face_with_monocle: Eloquent ORM trong Laravel cung cấp cung cấp một cách đẹp đẽ và đơn giản các ActiveRecord cho việc làm việc với database . Mỗi database table có tương ứng một "Model", cái được sử dụng để tương tác với database. "Model" đồng ý cho việc query dữ liệu từ trong bảng ...

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

Query DSL trong Elasticsearch

Các bài viết về Elasticseach đã có nhiều trên Viblo, từ khái quát đến cụ thể cách hoạt động. Các bạn có thể tìm đọc cái bài viết của các tác giả dinhhoanglong91 và Ngoc Nguyen. Còn trong bài viết này, tôi xin phép trình bày một số query DSL mà tôi đã từng sử dụng. Elasticsearch cung cấp full ...

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

Dispatch Queue trong swift - Phần 1 (Cơ Bản)

“ Ngày nay CPU có thể chạy được nhiều lõi vì thế chúng ta có thể chạy được đa luồng “ Đúng vậy , nó là một trong những cải tiến lớn nhất trong lĩnh vực công nghệ . Chính vì thế trong Swift , chúng ta có thể tận dụng nó thông qua Dispatch Queue. Dispatch Queue, nhìn vào cái tên chắc ...

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

Push notification IOS

Tạo ứng dụng xử lý Notification đơn giản 1 tuần đầy rắc dối liên quan đến push notification nên mình dành riêng 1 bài để viết về việc làm thế nào để đẩy thông báo và xử lý chúng trong IOS Trong bài viết này chúng ta sẽ cần những công cụ sau 1 device IOS tài khoản developer IOS hoặc thành ...

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

Design Patterns in Ruby: Singleton

Đây là bài viết trong chuỗi bài viết về mẫu thiết kế trong phần mềm và áp dụng của chúng như thế nào vào Ruby. Mẫu thiết kế đầu tiên được giới thiệu là Observer Pattern. Phần trước là là bài viết giới thiệu về Observer và sử dụng chúng trong ruby, bạn có thể xem tại đây observer. Trong bài viết này ...

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

Writing Java-friendly Kotlin code (Phần 4-End)

Internal visibility Chúng ta cũng cần chú ý đến các vấn đề với Internal visibility. Trong bytecode chúng sẽ trở thành publics, nhưng với một cái tên dài thì code không hề đẹp. Nó đã được xử lý, tuy nhiên không có khả năng hiển thị trong java Internal visibility, và chúng ta không nên sử dựng gọi ...

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

The many ways to do component composition in React

These are some techniques you can use to compose your component with React. Mixins This is the original and legacy way of doing component composition since the very first days of React. It is not recommended anymore and also is not possible with ES6 class syntax. Here's how you would use it, ...

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