Đương đầu với vấn đề dữ liệu quá lớn trong Rails!!

Rails là một framwork rất tiện lợi và tuyệt vời. Nó giúp cho việc xây dựng một project nhanh hơn rất nhiều. Rails khiến chúng ta mê mẩn bởi nhưng cú pháp thanh lịch và cả sự phát triển nhanh không tưởng của nó. Tuy nhiên, hiệu suất của Rails từ lâu đã là một bài toán lớn, nhất là khi phải xử lý ...

Tác giả: Bùi Văn Nam viết 09:30 ngày 07/09/2018

Active Record Association: Options

Tiếp tục phần các relations để nói ở trước https://viblo.asia/p/active-record-association-relation-part-1-m68Z0dQjZkG, mình xin giới thiệu qua một số option được thêm vào các relations để thực hiện nhiều chức năng khác nhau, có một số option rất ít khi đụng đến nhưng nó thật sự rất hay và hữu ích ...

Tác giả: Trần Trung Dũng viết 09:30 ngày 07/09/2018

Integrating Google Calendar Api with Rails 5

This tutorial will be for connecting rails applications with google calendar api. First we will need to setup a project to be able for google signup/signin. Lets create a demo application rails new task_scheduler -d=mysql We will be using the devise and omniauth-google-oauth2 gems for this ...

Tác giả: Vũ Văn Thanh viết 09:30 ngày 07/09/2018

Câu chuyện về exception

Exception là một khái niệm không hề xa lạ với một lập trình viên. Nó là thứ xảy ra hằng ngày hằng giờ. Việc nắm bắt được exception luôn là một thử thách đối với bất cứ ai khi bắt đầu tiếp xúc với lập trình. Và để cho thử thách đó trở nên dễ dàng hơn, mình sẽ đưa nó về những câu chuyện để cho bạn có ...

Tác giả: Hoàng Hải Đăng viết 09:30 ngày 07/09/2018

Học source code từ open source, Retrofit.

Là lập trình viên, điều thú vị là bạn luôn có những thứ thực sự hay ho để tìm hiểu, những thứ hay ho có thể đến từ ngôn ngữ mà bạn chọn, từ người đồng nghiệp giỏi giang hoặc cũng có thể từ những người đang làm việc giống bạn, những chia sẻ, source code từ các expert, senior thực sự. Quả thật, ...

Tác giả: Vũ Văn Thanh viết 09:30 ngày 07/09/2018

Bindings, Generics, Swift và MVVM

Ở bài viết này mình sẽ trình bày ví dụ đơn giản cơ chế binding bằng việc thực thi observer pattern sử dụng Swift generics và closures. class DynamicString { var value: String init(_ v: String) { value = v } } Đây gọi là wrapping hoặc boxing của một object. Nó giúp chúng ta có thể ...

Tác giả: Tạ Quốc Bảo viết 09:30 ngày 07/09/2018

Scheduler with Play

Trong các dự án có thể gặp những ví dụ lập lịch điển hình như : tự động gửi mail vào một thời gian nhất định hàng ngày cho khách hàng, tự động bật một popup nhắc nhở báo cáo cho nhân viên trước khi về,... Bài viết này mình sử dụng ngôn ngữ Scala với Play Framework version 2.x và dùng IDE IntelIj ...

Tác giả: Tạ Quốc Bảo viết 09:30 ngày 07/09/2018

Send Mail by MailCatcher Testing

Testing mail sending always contains troublesome. Even you don't waste much time checking text and grammar, it is still necessary to check whether the mail was actually sent. So, you can check it by actually sending a mail to the address of yourself by preparing the SMTP server. But yet still ...

Tác giả: Bùi Văn Nam viết 09:30 ngày 07/09/2018

JitPack – Đơn giản hóa cách tiếp cận các public repository trên Android.

Đã bao giờ bạn làm việc với JitPack? Bạn có biết mục đích và lợi ích của nó? Thông qua bài viết này, mình sẽ giúp các bạn trả lời một phần nào các câu hỏi đó. Nội dung bài viết được tham khảo bài gốc tại đây Là một lập trình viên Android, chúng ta sẽ phải thường xuyên bổ sung các dependency vào ...

Tác giả: Trần Trung Dũng viết 09:30 ngày 07/09/2018

Build webapp with ExpressJS - VueJS (Vuex) - MongoDB (CRUD)

Mở đầu Như tiêu đề bài viết, nhân tiện mình đang tim hiểu về nodejs và dự án đang làm sử dụng vuejs thì bài viết lần này mình xin chia sẻ cách kết hợp giữa ExpressJS - VueJS - MongoDB để build webapp. A. Build server với Express Sử dụng đoạn code server như sau. const express = ...

Tác giả: Tạ Quốc Bảo viết 09:30 ngày 07/09/2018

Thay đổi giá trị default khi tạo object bằng Gson

Khi sử dụng Gson (https://github.com/google/gson), nhiều trường hợp mình cần phải thay đổi những giá trị mặc định mà Gson gán cho một field nào đó trong quá trình tạo ra Object từ json string. Chẳng hạn nhận được null hoặc rỗng thì cần gán cho nó một giá trị mặc định. Ở đây mình có một ví dụ đơn ...

Tác giả: Tạ Quốc Bảo viết 09:30 ngày 07/09/2018

Một vài thủ thuật CSS mà chính Frontend có thể còn chưa biết (Phần 3)

Tốn mấy phút đọc: khoảng 20 phút thôi! Level CSS sau khi đọc xong: tăng thêm 5% Hello mọi người, mình tiếp tục trở lại với series về thủ thuật CSS đây. 1. Enable Show user agent shadow DOM trong DevTools của trình duyệt để debug CSS dễ dàng hơn Đã bao giờ bạn code CSS cho: ...

Tác giả: Bùi Văn Nam viết 09:29 ngày 07/09/2018

Những kiến thức cơ bản nhất mà bất cứ lập trình viên nào cũng phải biết về Encoding và Character Set (Phần 1)

Chắc rằng tất cả mọi người đều biết về điều này ở một mức độ nào đó, nhưng không hiểu sao những kiến thức đó lại bị mất đi trong các cuộc tranh luận về văn bản, nên đầu tiên hãy nhắc lại một chút: Máy tính không thể nào lưu trữ được “chữ”, “số”, “ảnh”, hay bất cứ ...

Tác giả: Vũ Văn Thanh viết 09:29 ngày 07/09/2018

Tích hợp Spring với ActiveMQ sử dụng Spring JMS

Đây là bài viết đầu tiên trong series Chuyện tình Spring và JMS (Nghe như Lan và Điệp ấy nhỉ). Hãy khẽ đặt tay lên chỗ mềm mại nhất, mắt mở to hướng thẳng về phía ấy và thầm đọc nhé! À quên. Xem giúp mình bài này trước nhé: JMS và ActiveMQ (Không nghe mất quyền lợi ráng mà chịu) JMS và Spring ...

Tác giả: Bùi Văn Nam viết 09:29 ngày 07/09/2018

Giới thiệu react-native-video

React-native-video Chào các bạn, đến hẹn lại lên, mỗi tháng 1 lần đều như vắt chanh. Lần này tôi sẽ giới thiệu đến các bạn 1 thư viện hỗ trợ cho các bạn làm việc với video trên react native. Thư viện này đã được đầu tư phát triển từ rất lâu rồi, suốt từ năm 2015 đến nay, trải qua 56 lần ...

Tác giả: Trịnh Tiến Mạnh viết 09:29 ngày 07/09/2018

Giới thiệu saga trong redux (p2)

Trong phần trước mình đã giới thiệu với các bạn về khái niệm redux-saga và khi nào thì sử dụng nó cũng như 1 số ví dụ cơ bản, trong phần này mình sẽ tiếp tục giới thiệu về các basic-helpers thông dụng trong redux-saga, mong các bạn đón đọc. Link p1: https://viblo.asia/p/gioi-thieu-ve-saga-trong-r ...

Tác giả: Trịnh Tiến Mạnh viết 09:29 ngày 07/09/2018

HP ALM Administration: Tạo Domain, Project & User (Part2)

Ở bài trước chúng ta đã biết căn bản về ALM định nghĩa và ưu nhược điểm trong bài https://viblo.asia/p/introduction-to-hp-almquality-center-Do754j10ZM6 Ở bài này chúng ta sẽ được học về cách tạo Domain, Project & User để làm việc với ALM Vậy để làm việc được với ALM bạn cần: Create ...

Tác giả: Bùi Văn Nam viết 09:29 ngày 07/09/2018

Ruby Tips and Tricks

In this post I am going to show you lots of Ruby trick shots that very experience rubyist that I know have said I don't know that all. Random number from a range getting a random number in ruby is quite easy. We use the random method. Effort here is very simple. rand ( 10 ) = > 7 ...

Tác giả: Trịnh Tiến Mạnh viết 09:29 ngày 07/09/2018

Theo dõi số lượng truy cập vào ứng dụng Laravel

Mình xin giới thiệu một package khá hay, Laravel Visits là một package giúp bạn theo dõi số lượng truy cập vào ứng dụng, bao gồm một số chức năng: Một Model có thể được theo dõi lượt truy cập theo nhiều kiểu (sử dụng tag) Có thể sử dụng với mọi Model (một số package chỉ cho phép model User) ...

Tác giả: Tạ Quốc Bảo viết 09:29 ngày 07/09/2018

Khám phá chức năng kính lúp trong Android P

Tại Google I/O, có rất nhiều tin tức mới về phiên bản Android mới nhất, Android P. Một trong những tính năng mới của Android P là chức năng Magnifier mới - ta có thể gọi nôm na là kính lúp - giúp bạn có thể dễ dàng xem và chọn nội dung mà kính lúp hiện thị cho bạn. Trong bài viết này, chúng ta ...

Tác giả: Hoàng Hải Đăng viết 09:29 ngày 07/09/2018