Single Table Inheritance with Rails

1 What is Single Table Inheritance (STI)? STI về cơ bản là ý tưởng sử dụng một bảng duy nhất để phản ánh nhiều mô hình kế thừa từ một base model, mà chính nó kế thừa từ ActiveRecord :: Base. Trong lược đồ cơ sở dữ liệu, các mô hình con được chỉ ra bởi một cột "loại" duy nhất. Trong Rails, thêm ...

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

Tìm hiểu về SDLC – Software Development Life Cycle

Một trong những kiến thức cần thiết của một kỹ sư kiểm thử phần mềm chuyên nghiệp đó là hiểu biết và nắm rõ SDLC (Software Development Life-cycle/chu kỳ phát triển phần mềm), bởi vì kiểm thử phần mềm (software testing) là 1 phần và liên quan chặt chẽ, mật thiết đến SDLC. Vòng đời phát triển phần ...

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

Tìm hiểu về Migration trong Rails

Để đảm bảo chúng ta có cùng 1 cách hiểu về Migration trong Ruby on Rails, chúng ta cần hiểu qua về Active Record là gì và có tác dụng như thế nào trong rails Để hiểu 1 cách đơn giản, Active Record là 1 khái niệm được dùng trong các công nghệ làm web back-end hiện đại theo mô hình Model - View ...

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

Viết thư xin việc đúng cách

Dạo qua 1 vòng fb với LinkedIn thì mình thường xuyên gặp trường hợp các chị HR lên cơn tăng xông với ứng viên. Nguyên nhân khá đa dạng: viết mail rác, bùng lịch phỏng vấn, xưng hô hoặc nói chuyện với các HR ko đúng mực,..... Trong đó thì nổi cộm nhất là vấn đề viết mail. Trong bài này mình sẽ viết ...

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

Bạn có thực sự hiểu đúng về html_safe trong Rails

Chào mọi người, Hôm nay mình xin giới thiệu một bài viết về helper html_safe mà mọi người hay xài cách hoạt động và tại sao Rubocop lại warning khi gọi html_safe Bằng cácg gọi html_safe trên một chuỗi trả về một đối tượng mới mà nhìn và cư xử giống như một String, tuy nhiên thực sự là ...

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

JWT with Laravel 5.5 and Angular 4 (P2)

Chào các bạn, ở bài viết lần trước chúng ta đã viết api cho tất cả các hoạt động mà ta sẽ đi qua. Trong bài viết phần này mình sẽ trình bày về Login nhé. B1: Cài đặt package LARAVEL-CORS Các bạn có thể xem định nghĩa tại đây Sau đó run server lên nhé (php artisan server) nếu bị xung đột ...

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

Unit Testing in Swift

Trong bài viết về UI Testing lần trước, tôi có đề cập Unit test. Vậy Unit testing là gì? Trong ngành Computer programming, Unit Testing là phương pháp kiểm thử mà từng đơn vị mã nguồn (unit), bộ một hoặc nhiều module cùng với dữ liệu liên quan, quy trình sử dụng và vận hành được kiểm tra để xác ...

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

Tìm hiểu GraphQL (Phần 1): GraphQL vs Rest Api

GraphQL là một tiêu chuẩn API mới cung cấp một giải pháp hiệu quả, mạnh mẽ và linh hoạt hơn thay thế cho REST. Nó đã được phát triển bởi Facebook và hiện nay được duy trì bởi một cộng đồng lớn của các công ty và cá nhân từ khắp nơi trên thế giới. Cốt lõi của GraphQL là cho phép client có thể ...

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

Threads, Processes, Parallel Programing in Ruby (part2)

Chạy nhiều processes Đôi khi, bạn muốn chia 1 task thành nhiều đoạn với process-size hoặc muốn chạy 1 thread riêng biệt mà không phải viết bằng Ruby. Không vấn đề gì, Ruby cung cấp cho bạn 1 số phương pháp để sinh process cũng như quản lí chúng. Sinh process mới Có 1 số cách để sinh process ...

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

React Patterns

1. Stateless function Stateless function là một cách tuyệt vời để define một reuseable components. Nó không có state, lifecycle của react, nó chỉ là một function. const Greeting = () => <div>Hello World!</div> Trường hợp nó nhận vào props và context. const Greeting = ...

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

Blockchain - hacking smart contract with Ethernaut CTF (Part 1)

Những năm gần đây, Blockchain và các ứng dụng của nó nổi lên như một xu thế công nghệ của tương lai. Áp dụng Blockchain , ta có thể giải quyết được rất nhiều vấn đề mà các công nghệ hiện tại không làm được, mà trong đó nổi bật nhất là không còn trung gian giao dịch, không cần tin tưởng vào một ...

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

Fast Android Networking Library (FAN)

Hôm nay mình xin giới thiệu Fast Android Networking (FAN) - một thư viện mới chuyên về network cho Android. Trước nay khi nói về xử lý network cho Android chúng ta thường lựa chọn những cái tên quen thuộc như Volley, Retrofit, hoặc các bạn pro có thể tự tay code. Tuy nhiên, với FAN, chúng ta có ...

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

Prototype Pattern trong ruby

Tiếp nối cho serive về Design Pattern mình tìm hiểu và muốn chia sẽ. Bài viết này mình sẽ chia sẽ về Prototype pattern trong ruby. Nó thuộc nhóm Creational Patterns. và là một pattern điển hình của lập trình hướng đối tượng OOP. Ý tưởng của pattern này liên quan đến việc khởi tạo một Object mới ...

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

Thiết lập tên miền cho website Shopify

Tên miền là một trong những yếu tố quan trọng nhất của một website. Tên miền mặc định của Shopify sẽ có dạng: store-name.myshopify.com. Để thiết lập tên miền của bạn cho website Shopify bạn có thể mua một tên miền mới hoặc chuyển hướng tên miền bạn đang sở hữu sang Shopify. Mua tên miền mới ...

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

Spring boot with quartz

Bài trước chúng ta đã tìm hiểu về SpringBoot-gradle-redis tham khảo : https://viblo.asia/p/springboot-gradle-redis-gDVK28pAlLj cùng với seri springBoot-gradle, bài này tôi sẽ giới thiệu về springBoot with quartz... - project struture của chúng ta sẽ có cấu trúc thư mục như sau: - Gradle ...

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

[Translate] Clean code JS - SOLID (End)

SOLID Nguyên lí đơn trách nhiệm (Single Responsibility Principle) Như đã được nói đến trong cuốn Clean Code, "Chỉ có thể thay đổi một lớp vì một lí do duy nhất". Thật là hấp dẫn để nhồi nhét nhiều chức năng vào cho một lớp, giống như là khi bạn chỉ có thể lấy một chiếc vali cho chuyến bay ...

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

Why inner AsyncTask class should be static or leaks might occur? and solution for update UI

The reason is When Activity is destroyed, AsyncTask (both static or non-static) still running If inner class is non-static (AsyncTask) class, it will have reference to the outer class (Activity). If a object has no references point to it, Garbage Collected will release it. If a object is ...

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

Deep Link Trong Android

Trong bài viết này tôi và các bạn chúng ta sẽ cùng nhiều tìm hiểu Deep Link trong Android Bạn đã thử đặt cho mình một câu hỏi như này chưa !! Tôi có thể mở ứng dụng của tôi bằng cách click vào một URL không ?? Có. Với deep linking chúng ta hoàn toàn có thể làm được điều đó. Bạn không cần ...

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

[Translate] Clean code JS - Part 4

Biến Sử dụng tên biến có nghĩa và dễ phát âm Không tốt: const yyyymmdstr = moment ( ) . format ( 'YYYY/MM/DD' ) ; Tốt: const currentDate = moment ( ) . format ( 'YYYY/MM/DD' ) ; Sử dụng cùng từ vựng cho cùng loại biến Không tốt: getUserInfo ...

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

Parcelable trong Kotlin? Đã có @Parcelize

Bạn dùng cách nào để truyền data giữa các activity khi code Android bằng Kotlin? Với các kiểu nguyên thủy thì bạn có thể thực hiện ngay thông qua Bundle bundle . putString ( "A_STRING" , "some string" ) bundle . putInt ( "A_NUMBER" , 1234 ) bundle . put ( ...

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