Dùng gem friendly_id để tạo url đẹp trong Ruby on Rails

Trang web demo Thông thường, Rails sẽ mặc định tạo url cho các record theo dạng id, cụ thể là /articles/1, /articles/1/edit. Trong bài viết này mình sẽ cùng tìm hiểu về cách tạo một url dễ đọc, ví dụ như là /articles/bai-viet-so-1, /users/yuto-yasunaga. OPTIONAL: Tạo môi trường Bootstrap nhanh ...

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

Hướng dẫn dùng fastlane để build, up test tự động

Fastlane là 1 công cụ hỗ trợ cho iOS, Android developer trong việc release, build test cực kỳ tốt. Các tính năng chính của nó các bạn có thể tham khảo trên trang chủ: https://fastlane.tools/. Trong khuôn khổ bài viết này, mình sẽ hướng dẫn các bạn dùng Fastlane để build, up file ipa test lên ...

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

Reactive Programming với RxSwift

Bài này mình làm theo The introduction to Reactive Programming you've been missing với ví dụ convert sang RxSwift. Bạn có thể tìm thấy code chạy được trên Github. Nếu bạn đang gặp khó khăn khi bắt đầu học Reactive Programming với RxSwift , đừng vội lo lắng, không phải chỉ có mình bạn thế ...

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

Orientation trong iOS

Hôm nay mình tiếp tục trình bày với các bạn những tìm hiểu của mình về orientation trong iOS. Trước tới giờ mình không phải làm app với landscape bao giờ và thế là mình chẳng phải cần quan tâm tới orientatino của nó nữa. Một hôm đùng một cái khách hàng yêu cầu support landscape cho một màn hình ...

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

Những thói quen xấu làm kìm hãm sự tiến bộ của các lập trình viên, mới bắt đầu làm chưa lâu, mà tôi đã nhận ra trong khi kèm cặp họ

Nguồn : http://qiita.com/hirokidaichi/items/27c757d92b6915e8ecf7?utm_content=buffer65af1&utm_medium=social&utm_source=facebook.com&utm_campaign=buffer Người dịch : Phan Hoàng Minh Gần đây, tôi được phân công hỗ trợ những người lập trình chưa giỏi, dưới hình thức một kèm một ...

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

[Swift] Phân biệt let và var - giữa struct và class - [phần 1]

Để bắt đầu serial Kiến thức Swift cho lập trình viên iOS trau dồi và vững vàng hơn trước khi phỏng vấn, mình xin đề cập đến hai khái niệm let và var trong ngôn ngữ Swift mà các bạn khi phỏng vấn sẽ rất hay hỏi. Mình sẽ dùng phiên bản mới nhất đó là Swift 3 và mới hơn I - Khái niệm: var ...

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

Build Multi-App from 1 source XCode

Có bao giờ bạn gặp phải trường hợp muốn làm 2 app giống nhau gần như hoàn toàn chỉ khác nhau ở chỗ thay màu sắc thay một số tên hay thay đổi data của nó chưa? (Bạn nào hay làm app từ điển hoặc chuyên đi clone app chắc sẽ hay gặp hehe :P) Giờ các bạn xử lý thế nào bây giờ? Bình thường nếu là minh ...

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

Swift: cách tích hợp iAd và Admob vào cùng một app

Tích hợp iAd vào một app IOS hiện tại đã đơn giản hơn rất nhiều. Theo document của Apple thì chúng ta chỉ cần thêm 1 dòng vào viewDidLoad trong ViewController. override func viewDidLoad() { super.viewDidLoad() self.canDisplayBannerAds = true // here } Như vậy nếu có nhiều ...

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

Swift Tutorial: Ứng dụng nhận diện khuôn mặt đơn giản (Phần 3)

Phần 1: Hướng dẫn cơ bản về setup project, quản lý thư viện ngoài bằng Cocoapods, hướng dẫn sử dụng auto-layout để tạo giao diện ... Phần 2: Cài đặt Camera Session và sử dụng chức năng Face Recognition có sẵn trong CoreImage của iOS Phần 3: Một vài kiến thức nâng cao về xử lý ảnh ...

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

Cách lấy data từ file csv

Mấy hôm nay vật vả ngồi tạo file excel rồi save lại dưới dạng .csv đọc dữ liệu rồi tạo table... mỏi cả mắt luôn ý chứ. Nên bây giờ có thêm một bài viết để chia sẽ @[email protected] Tạo rails app Để tạo rails app có tên là airport bạn sử dụng lệnh sau: rails new airports File CSV Đặt ...

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

Tối ưu hoá tốc độ truy vấn trong Rails app – phần 1

Khi làm việc với các project nhỏ mình ít quan tâm đến phần tối ưu hóa truy vấn, vì với lượng data ít và quan hệ giữa các table đơn giản nên app nhanh hay chậm có thể khó nhận biết. Nhưng khi phải tính toán metrics, thực hiện các thống kê có dữ liệu từ nhiều bảng và lượng data ở mỗi bảng rất lớn. ...

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

Viết tắt code trong android bằng cách dùng AndroidQuery

Xưa nay chúng ta quen với việc code android bằng những dòng code dài lê thê lết thết và nhìn rất khá là rối mắt (đối với ai mới bắt đầu sử dụng, tập tành code android) nay chúng ta có thể thực hiện viết code android ngắn gọn hơn bằng cách dùng thư viện Android Query. Bài viết này tôi chỉ chia sẻ ...

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

Tính chiều cao dự kiến của UILabel áp dụng cho trường hợp Show More.

Xin chào mọi người. Mình xin chia sẽ một UILabel Helper nhỏ dùng trong truờng hợp cần tính chiều cao của UILabel để xác định "Show More" button có nên được hiển thị hay không . Đây là helper của mình: Có một hạn chế ở helper này là bạn đã xác định được chiều rộng của UILabel. Mình sẽ khắc ...

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

Hello World với Swift

Hôm nay mình sẽ hướng dẫn các bạn viết chương trình Hello World sử dụng Swift. Để bắt đầu, chúng ta sẽ viết 1 chương trình đơn giản: print("Hello World!") Sử dụng lại Chương trình trên sẽ in ra dòng chữ Hello World!. Đơn giản vãi nồi!!! Để có thể sử dụng lại mã nguồn trên ở nhiều nơi, bây ...

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

Tạo môi trường Bootstrap nhanh cho trang web Ruby on Rails

Trang web demo Gemfile gem 'bootstrap-sass' group :development do gem 'bootstrap-generators' gem 'rails_layout' end Dùng gem rails_layout để tạo giao diện bootstrap cho trang web. Dùng gem bootstrap-generators để tạo giao diện bootstrap khi ta dùng scaffold. Cài đặt giao ...

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

Swift Open Source

Ngày hôm nay, Apple vừa công bố bản Swift open source đúng như họ đã hứa hồi WWDC 2015 tháng 6. Phiên bản mới này hỗ trợ các hệ điều hành: iOS , Mac OS X và Linux ! Như vậy, Swift bây giờ không chỉ là ngôn ngữ dành riêng cho dân lập trình iOS nữa, mà nó đã trở thành một ngôn ngữ đa dụng ...

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

Dùng slim làm template engine cho trang web Ruby on Rails

Thông thường khi mới làm quen với Rails thì chúng ta vẫn dùng template engine mặc định là *.html.erb để viết. Hôm nay mình giới thiệu cho những bạn nào chưa biết về slim template engine, dùng slim để viết trang web sẽ tiết kiệm thời gian, và việc viết code cũng trở nên thoải mái hơn phần nào. ...

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

[Swift] Custom UISwitch

Trong lúc rãnh rỗi mình custom UISwitch với animation đơn giản. Đây là nguồn của animation: https://dribbble.com/shots/2309834-Yet-another-toggle-animation Đây là code example của mình https://github.com/knn90/Switcher Mong mọi người chém nhẹ tay :)

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

Chuyển từ AndroidTestCase sang AndroidJUnit4

Trước đây: public class SomeClassTest extends AndroidTestCase { private SomeClass klass; @Override protected void setUp() throws Exception { super.setUp(); // This old way that we all get used to. final Context context = getContext(); final SharedPreferences preferences = ...

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

Ẩn hiện status bar trong iOS

Nhân một dịp làm với status bar iOS, mình muốn điên lên với nó. Không hiểu cơ chế nó chạy thế nào và hàm nào để set. Và sau khi search tìm hiểu mãi cuối cùng mình thấy no chạy thế nào. Bài viết này tổng hợp lại những hiểu biết của mình về việc ẩn hiện status bar trong iOS 7 trở về sau. Trước đây, ...

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