Sử dụng Arel để truy vấn dữ liệu trong Ruby on Rails

Như chúng ta đã biết Ruby on Rails nổi tiếng với thời gian phát triển một ứng dụng Web trong thời gian khá ngắn, để làm được điều đó framework này ngoài khối lượng Gem khổng lồ thì bản thân nó cũng tự cung cấp những công cụ tiện dụng, đơn giản giúp tận dụng tối đa sức mạnh của mình cũng như khắc ...

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

Tìm hiểu về initializers

Trong một project Rails có một thư mục tên là initializers nằm trong thư mục config, thư mục này dùng để chứa các file .rb, ý nghĩa của thư mục này là khởi tạo tài nguyên. Mỗi khi chúng ta chạy server, Rails load các file và module xong thì sẽ chạy các file code .rb được đặt trong thư mục này. ...

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

Shortcut cho ứng dụng android

Có thể vấn đề này không quá quan trọng, vì không có shortcut thì vào Home -> App -> chọn cũng được, nhưng mà mình có động đến nên cũng muốn chia sẻ một chút. 1. Shortcut icon cho app của mình 1.1. Tạo shortcut Đầu tiên thì cần phải khai báo quyền INSTALL_SHORTCUT ở trong Manifest ...

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

Mật mã học: Phần 1 - Mã hóa Caesar

Khái niệm mã hóa dữ liệu và giải mã Mã hóa dữ liệu là tiến trình che dấu dữ liệu thật (plaintext), nghĩa là chuyển dữ liệu thật thành dữ liệu không có ý nghĩa hoặc có ý nghĩa khác xa với dữ liệu thật. Tiến trình đó gọi là mã hóa (encrytion). Kết quả của tiến trình gọi là bản mã (ciphertext). Từ ...

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

Sortable in jquery UI

1.Giới thiệu Sortable là một phần nhỏ trong thư viện jquery UI. Tính năng này đã được ra đời từ khá lâu và ngày càng được ưa chuộng trong các ứng dụng web do nhu cầu thay đổi vị trí các phần tử trong 1 trang web để tạo ra một ứng dụng thân thiện với người dùng ngày càng cao. Nó được dùng để thay ...

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

Push notification trong Android với Firebase

Tại Google I/O 2016, Google đã thông báo những sự cải tiến lớn trong những sản phẩm tuyệt vời của họ. Firebase một nền tảng điện toán đám mây với nhiều tính năng tuyệt vời cho những nhà phát triển ứng dụng mobile. Một trong số những tính năng tuyệt vời của Firebase là Firebase Cloud ...

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

Alias và Delegate trong rails

Delegate Trong lập trình ruby, có rất nhiều cách giúp bạn chuyển tiếp đối tượng. Delegate là một trong những cách đó. Delegate giúp gọi các public methods của object khác giống như là của chính mình. Delegate rất hữu ích với Active Record associations. ví dụ: Ta có bảng Candidate chứa : ...

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

Endcoding nhạc sử dụng LAME MP3

I. LAME MP3 là gì LAME là một trong hầu hết các codec âm thanh lossy phổ biến. Nó cho phép bạn nén các file audio sang định dạng MPEG-1 / MPEG-2 định dạng, được lưu trữ trong các tập tin MP3. LAME cung cấp một loạt các bitrate nén: 8-320 kb / s và lấy mẫu giá: 8-48 kHz. Do sự phổ biến codec ...

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

Tổng hợp về rails generate migration

Đối với những ai làm rails thì chắc có lẽ đã quá quen thuộc với câu lệnh rails generate migration ... thường dùng để thay đổi DB. Sau đây mình sẽ tổng hợp lại những câu lệnh mà mình thường dùng. **Tạo migration thay đổi db ** #tạo migration rails generate migration class_name class_name ...

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

Loose Coupling & Dependencies Management

What is depedencies? Object Oriented applications modeling real world problem by using objects and the interactions between those objects provide solutions. These interactions are inescapable. A single object cannot know everything, so inevitably it will have to talk to another object. Well ...

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

The Safe Navigation Operator (&.) in Ruby

Một trong những bổ sung thú vị nhất của Ruby 2.3.0 là Safe Navigation Operator(&.). Ban đầu Hày tưởng tượng bạn có một account một owner và bạn muốn lấy được các owner của addrress. Nếu như bạn muốn được an toàn và không có nguy cơ lỗi nil bạn sẽ viết một cái gì đó dạng như: if ...

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

Khi backend developer: Xây dựng giao diện của 1 website - viết tiếp

Bài trước https://viblo.asia/ho.xuan.vinh/posts/JlkzymgazZW Cũng như bài trước, tiếp nối những trăn trở khi một backend developer đi code frontend. Biết là muôn vàng khó khăn vậy đó nhưng mà con đường nào thì cũng có lối. Vậy thì chọn lối nào. Phần trước có nói về vue.js một javascipt framework ...

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

Artificial Intelligence - Uninformed search (AI to ML part 3)

Chào mọi người, hôm nay mình sẽ bắt đầu với 1 vài giải thuật tìm kiếm cơ bản nhất trong trí tuệ nhân tạo nhé. Trước tiên, vì sao chúng ta cần biết về các giải thuật tìm kiếm: Ví dụ 1: Tìm tên bài hát (ez => tìm kiếm) Ví dụ 2: Đang ở Bách Khoa muốn tìm đường sang Nông Nghiệp tán gái (tìm kiếm ...

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

AI Conversation (I)

Mở đầu Dạo này mình có hứng thú với những thứ ảo ảo kiểu như Cortana hay Siri, (Google now thì ko biết nói chuyện chém gió nên không hứng thú) nên có tìm hiểu về vấn đề này. Nó được gọi là những trợ lý ảo, 1 hình thức nâng cao hơn của những ứng dụng giao tiếp, trả lời tự động, hay botchat. Qua ...

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

[AngularJS toàn tập] Phần 11 : ng-model-options trong AngularJS

Ở các phần trước mình đã hướng dẫn các bạn về một directive quan trọng đó là ng-model, và cũng có một vài ví dụ cho bạn về chủ đề này. Để tiếp tiếp tục AngularJS toàn tập thì trong bài này chúng ta sẽ tìm hiểu 1 directive rất quan trọng và liên quan đến ng-model đó chính là ng-model-options trong ...

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

Rails API errors response

I. Mở đầu Xin chào các bác (lay2) Hôm nay em sẽ xin trình bày một vấn đề khi xây dựng API với Rails - Errors response Đối với những newbie, khi lần đầu viết Rails API để phục vụ cho Mobile client, ta sẽ gặp vấn đề khi định nghĩa response trả về cho phía client. Với cá nhân em, thì ...

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

[Xamarin Android] Sử dụng thư viện native trong Xamarin Android P.1

Như chúng ta đã biết, Android là một nền tảng có thể thiên biến vạn hoá rất nhiều thứ, nếu chưa nắm được làm những việc đó như thế nào, thì chúng ta đã có những developer có tâm đi trước chúng ta tạo ra những thư viện cho Android để giúp ta làm việc biến hoá đó dễ dàng hơn. Nhưng, những thư viện đó ...

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

không ai quan tâm đến code của bạn đâu

Bài này được dịch từ bài viết https://mortoray.com/2015/04/20/nobody-cares-about-your-code/ Không ai quan tâm đến code của bạn. Đây thực sự là một sự thực khó chấp nhận trong sự nghiệp làm lập trình của tôi. Tôi đã dành ra rất nhiều thời gian và công sức để code của mình hoàn thiện hơn, quy củ ...

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

Object Oriented Programming with Ruby (Part 1)

Đây là bài viết được dịch từ một cuốn sách, các bạn có thể xem ở đây: Object Oriented Programming with Ruby Trong phần này sẽ giới thiệu cho bạn một cái nhìn tổng quan về lập trình hướng đối tượng (Object Oriented Programming). Object Oriented Programming, thường được gọi với cái tên OOP, là ...

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

Một số điều một lập trình viên phải biết về SQL sever

6. SQL functions thường hiếm khi có hiệu năng tốt If you do want to reuse code, consider stored procedures and views instead. (Granted, they can come with their own performance drawbacks, but I’m just trying to get you started on the right foot as quickly as possible here, and functions ...

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