Sắp xếp Rails resource bằng điều kiện cho trước

Chào các bạn Khi mà mình tham gia dự án, mình có gặp một vấn đề khi mà viết câu lệnh để lấy dữ liệu tất cả đơn hàng sắp xếp theo gần với ngày hiện tại nhất sẽ lên đầu và càng xa ngày hiện tại sẽ xuống dưới. Tất nhiên là nếu có 1 cột nào đó trong bảng giá trị của mình ví dụ như day_until_due chẳng ...

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

i18n in Rails

1. Mở đề Khi start một dự án rails, mình thường lấy các yêu cầu từ phía khách hàng. Và một trong những cái mình quan tâm đầu tiên là có cần đối ứng multi language hay không? Và chúng ta hay biết trong từ chuyên ngành là i18n. Nếu xác định từ đầu là có chức năng này, thì khi code chung ta sẽ ...

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

Getting started to Room Persistence Library

Room cung cấp một lớp trừu tượng trên SQLite để cho phép truy cập dữ liệu khi khai thác sức mạnh của SQLite. Thư viện giúp bạn tạo bộ nhớ cache dữ liệu ứng dụng của mình trên thiết bị đang chạy ứng dụng của bạn. Bộ nhớ cache này cho phép người dùng xem một bản sao thông tin chính xác trong ứng dụng ...

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

Cách tối ưu của Glide và Fresco khi load image

Trong android, khi làm việc với Images (bitmaps), chắc hẳn khái niệm Out of memory (OOM) trở nên quen thuộc và ám ảnh với mỗi developer. Những vấn đề mà chúng ta phải đối mặt khi load một bức ảnh vào ImageView Lỗi Out of memory Lỗi load ảnh chậm Lỗi App not responding (ARN), scroll không ...

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

Tìm hiểu SmartPointer trong C++ - Phần 2

Tiếp nối bài viết trước về Smart Pointer , trong bài này tôi sẽ giới thiệu với các bạn về một số loại smartpointer thường được sử dụng trong C++ unique_ptr shared_ptr weak_ptr scoped_ptr std::unique_ptr Đây là loại smartpointer được sử dụng mặc định, nó là chuẩn chung trong ...

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

Vai trò của BrSE trong các dự án Agile

I, Role trong Scrum Trước hết chúng ta cần nắm được cơ bản về các vai trò (Role) trong SCRUM cũng như trách nhiệm , yêu cầu của mỗi Role: 1, Product Owner Product Owner là người sở hữu sản phẩm, hiểu rõ nhất về sản phẩm và các yêu cầu của sản phẩm. Thông thường vai trò này được đảm nhiệm ...

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

Jenkins Pipeline for beginners

Khi xây dựng CI/CD trên jenkins, chúng ta thường sử dụng các plugins cài sẵn hoặc bash/bat script để config build, test, report, deploy vv.. Với Bash/Bat script tiếp cận nó đã khó, sử dụng nó còn khó khăn hơn. Chưa kể với cách truyền thống còn hạn chế về mặt môi trường build / run project , mặc ...

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

FlatMap operators trong RxSwift

Hôm nay mình sẽ giới thiệu về Flatmap trong rxswift. Định nghĩa và sử dụng khi nào. RxSwift hỗ trợ rất nhiều toán tử FlatMap. FlatMap FlatMapLastest FlatMapFirst FlatMapWithIndex FlatMap Flatmap gần giống với map tức lặp qua tất cả các signal mà Obserable phát ra. Tuy nhiên flatMap ...

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

Một số hướng tìm và xử lí bug cho người mới

Bài này mình viết ra để chia sẽ một số cách tìm bug trên Xcode, bạn sẽ sử dụng print(), breakpoint. Giới thiệu các loại Bug: Bug có thông báo rõ ràng, vd như: “Index out of bounds”. Bug không có thông báo rõ ráng, vd như EXC_BAD_ACCESS. Bug không có thông báo </p> <div class= Tác giả: Trịnh Tiến Mạnh viết 16:25 ngày 12/08/2018

Tổn Thất Bộ Nhớ và Lỗi Tràn Bộ Nhớ Trong Android ( MEMORY LEAKS – OUTOF MEMORYE RROR IN ANDROID)

Tổn thất bộ nhớ (Memory leaks) trong Android là khá dễ dàng sảy ra. Rất nhiều nhà phát triển đã không nhận ra việc tổn thất bộ nhớ hàng ngày trong ứng dụng của họ. Bạn có lẽ không chú ý tới vấn đề này hoặc biết về sự tồn tại của nó. Cho đến khi bạn nhìn thấy một ngoại lệ như này java . lang . ...

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

Edge Computing  - Điện toán ranh giới -  Biên giới mới của Web

Cùng tìm hiểu các khái niệm cơ bản về Điện toán ranh giới và sự chuyển đổi như thế nào trong bối cảnh thời gian thực. Khái niệm "ranh giới" đề cập đến khía cạnh cơ sở hạ tầng tính toán mà nó tồn tại gần với nguồn gốc của dữ liệu. Nó được phân phối bởi kiến trúc và cơ sở hạ tầng IT, nơi mà dữ ...

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

Local Broadcast trong Android

Hello ! Hôm nay mình xin giới thiệu đến mọi người một phương pháp truyền và nhận tín hiệu, dữ liệu trong Android đơn giản. Mình thấy nó khá hay và hưu ích nên muốn chia sẻ đến mọi người. Đó là Local Broadcast. Ưu điểm Bạn sẽ không phải lo lắng về việc dò rỉ dữ liệu vì dữ liệu chỉ được gói gọn ...

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

Sự khác nhau giữa Static Testing và Dynamic Testing

Thử nghiệm tĩnh và thử nghiệm động là những phương pháp thử nghiệm quan trọng dành cho các Developer và Tester trong vòng đời Phát triển của phần mềm. Đây là những kỹ thuật kiểm thử phần mềm mà tổ chức phải lựa chọn cẩn thận để thực hiện trên ứng dụng phần mềm. Trong hầu hết các loại thử nghiệm, ...

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

Quá trình xây dựng kế hoạch cho việc kiểm thử hiệu năng (What to include in a performance test plan) Phần 1

1. Mục đích bài viết Kiểm thử hiệu năng (Performance Testing) là việc thực hiện test để xác định một hệ thống phần mềm có thể đáp ứng và ổn định với yêu cầu độ tải cao. Nó có thể phục vụ để điều tra, đo đạc, xác nhận hoặc xác minh chất lượng các thuộc tính của hệ thống phần mềm như: ...

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

Khoảng cách Levenshtein và fuzzy query trong Elasticsearch

Chào các bạn, quay lại với Elasticsearch, hôm nay chúng ta sẽ đến với một chủ đề khác trong fulltext search: fuzzy query . Khi làm việc với Elasticsearch, hẳn là các bạn không lạ gì với fuzzy query, tuy nhiên nếu không hiểu về cách mà fuzzy query hoạt động, thì rất có thể việc search của bạn sẽ ...

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

Demo ứng dụng xem tin tức sử dụng kotlin và retrofit

Như các bạn cũng biết, vào ngày 17 tháng 5 năm 2017, tại sự kiện thường niên của Google dành cho các lập trình viên, có tên là Google I/O, đội ngũ Android của công ty này đã công bố rằng ngôn ngữ lập trình mới Kotlin sẽ chính thức lên ngôi thay thế cho người tiền nhiệm Java “cũ rích”. ...

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

Using RxJava in SearchView Android

Search là chức năng khá phổ biến mà hầu hết các app ngày nay đều có. Bạn có thể làm tính tăng search bằng rất nhiều cách nhưng hôm nay tôi sẽ hướng dẫn các bạn sử dụng một component có sẵn của android đó là SearchView kết hợp với RxJava để thực hiện và tăng performence. Sẽ rất tuyệt nếu như có web ...

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

In-app Billing trong android - làm giàu không khó : Part 3 - Testing

Helu mọi người, hôm nay mình sẽ quay lại chủ đề tích hợp thanh toán trong ứng dụng android với nội dung cuối cùng: kiểm thử quá trình thanh toán trong ứng dụng như thế nào? Tất nhiên, một nguyên tắc cơ bản khi thực hiện những tác vụ liên quan đến tiền bạc là phải thật chính xác và bảo mật, trước ...

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

MongoDB Cheat Sheets - So sánh cú pháp giữa SQL và MongoDB

Nhân tiện vừa nhận được thông tin phong phanh phía khách hàng sắp tới dự án của mình sẽ có một vài thay đổi lớn về công nghệ, một trong số đó có MongoDB thế là làm luôn 1 bảng cheat sheets so sánh cú pháp giữa mongodb và SQL cho tiện tra cứu, tiện thể share luôn cho mọi người. Executables Bảng ...

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

Hướng dẫn lập trình macOS (phần cuối)

Ở phần trước chúng ta đã làm xong giao diện và chức năng của menu Preference, tuy nhiên chức năng đó vẫn chưa được áp dụng vào trong ứng dụng của chúng ta, nó chỉ đơn thuần xử lý về mặt giao diện chứ chưa được liên kết chức năng. Chúng ta sẽ hoàn thiện hoàn toàn ứng dụng trong phần cuối này cộng ...

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