Cách khôi phục database schema nếu gặp conflicts khi rebase

Đây là vấn đề sẽ thường xuyên xảy ra khi làm các dự án Rails với quy trình làm việc trên branch của git. Giả sử bạn đang làm việc trên một nhánh để phát triển một tính năng nào đó của project. Vấn đề xảy ra khi cả nhánh develop và nhánh của bạn đều chứa file migration, khi đó sẽ xảy ra conflict ở ...

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

Data consistency in Rails: Understanding the different between transaction and locking

Tất cả bắt nguồn từ bài post này của bên Grokking VietNam. Đại ý của bài viết như sau: Một ứng dụng chuyển tiền của ngân hàng có một đoạn code như dưới đây: def transfer ( A , B , amount ) DB . transaction do if A . balance > amount A . balance - = ...

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

Create Dialog in Android

Create Dialog View Create XML file dialog_view.xml, for example: < LinearLayout xmlns: android = " http://schemas.android.com/apk/res/android " android: layout_awidth = " match_parent " android: layout_height = " match_parent " android: orientation = ...

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

Laravel: Events

Introduction Các Event (sự kiện) của Laravel cung cấp việc thực hiện observer 1 cách đơn giản. Cho phép bạn đăng ký và lắng nghe các event khác nhau xảy ra trong ứng dụng của bạn. Các class Event thường được lưu trữ trong thư mục app/Events, trong khi listener của chúng được lưu trong ...

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

Hướng dẫn tạo test case cơ bản sử dụng SELENIUM IDE

1. Giải thích các thành phần trên giao diện Selenium IDE 1.1 Giao diện Selenium IDE: 1.2 Giải thích thành phần Thanh trượt tốc độ : Cho phép điều chỉnh tốc độ việc chạy lại test case BaseURL : Thanh lưu đường dẫn link trang web cần test Nút record : thực hiện ghi lại quá trình tạo test ...

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

Kiến thức phỏng vấn iOS _ Phần 1 : Structures and Classes

Như mọi người đã biết, mỗi khi đi phỏng vấn chúng ta thường phải chuẩn bị rất nhiều thứ, ôn luyện lại kiến thức, nghĩ ra đủ thứ loại vấn đề mà người phỏng vấn sẽ hỏi mình. Nhất là với người đã có kinh nghiệm làm việc thì lại chuẩn bị nhiều hơn những sinh viên sắp hoặc vừa ra trường chưa có kinh ...

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

Sử dụng Streams filter trong java 8

Trong bài này tôi sẽ minh họa làm thế nào để sử dụng stream filter(),collect(),findAny() hoặc orElse() trong java 8 Trong java 8 họ đã thêm stream api,nó tương tự như collection.Khiến cho việc code nhanh hơn và perfoment tốt hơn Streams filter() và collect() 1.2. trước java 8,chúng ta filter một ...

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

iOS Concurrency - Phần 2: Những thuật ngữ và vấn đề hay gặp phải trong Concurrency.

Thuật ngữ (Terminologies) Để có thể hiện thực concurrency , chúng ta cần hiểu một số khái niệm liên quan đến chúng. Dưới đây là một số những thuật ngữ hay gặp phải khi chúng ta lập trình concurrency. Serial, Concurrency and Parallelism Ba thuật ngữ trên mô tả cách mà những tasks chạy ...

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

Khoa học máy tính trong Ruby: Sử dụng stacks để giải quyết vấn đề

Nếu như bạn không có bằng cấp về Computer Science (CS), bạn có thể sẽ cảm thấy rằng mình đang bỏ lỡ một điều gì đó, hoặc bạn sẽ cảm thấy CS nó là một cái gì đó rất trìu tượng... Hoặc là Ruby đã làm những việc khó cho bạn, và bạn chỉ việc sử dụng chúng... Trong bài viết này tôi sẽ cho các bạn thấy ...

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

Tích hợp thanh toán thông qua PayPal bằng gem Active Merchant

Trong bài viết này, mình sẽ hướng dẫn các bạn cách để tích hợp thành toán thông qua Paypal express trong Rails 4 thông qua gem active merchant . Trước khi chúng ta tiếp tục, hãy chắc chắn rằng bạn có đủ các điều kiện sau: Tài khoản Paypal cho developer Tạo một tài khoản Paypal sandbox. Gem ...

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

Java Dependency Injection – DI Design Pattern Example Tutorial

Java Dependency Injection design pattern cho phép chúng ta loại từ việc phụ thuộc vào hard code và làm cho app trở nên linh hoạt trong việc tích hợp, có khả năng mở rộng và maintain. Chúng ta có thể sử dụng dependency injection trong java để di chuyển các dependency resolution từ compile-time tới ...

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

Tổ chức javascript trong ứng dụng Rails với Turbolinks

Javascript ngày một phổ dụng và trở thành một phần không thể thiêú trong một ứng dụng. Javascript có thể được sử dụng như một đoạn script nhỏ để xử lý sự kiện click cho một button hay đến một Javascript framework với đầy đủ tiện ích và tính năng trên client side của ứng dụng. Nhìn chung, hành vi ...

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

Basics of CALayer

Khi bạn lần đầu nghe về Core animation, bạn có thể nghĩ tất cả thành phần trong nó đều là animation. Tuy nhiên, animation chỉ là 1 phần của framework này. Nó sử dụng GPU để tăng tốc render các đối tượng trên màn hình. Nó chia nội dung trên màn hình thành một đối tượng độc lập gọi là layers, và sắp ...

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

Unit Testing và XCTest trong iOS

Unit Test là gì? Là phương pháp dùng để kiểm tra tính đúng đắn của một đơn vị source code. Một Unit (đơn vị) source code là phần nhỏ nhất có thể test được của chương trình. Trong lập trình thủ tục, một unit có thể là cả chương trình, một function hay một procedure. Còn trong lập trình hướng ...

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

Tìm hiểu sâu hơn về scope Javascript (Phần 2)

Ở phần tìm hiểu về scope JS trước, tôi đã giới thiệu đến các bạn về các khái niệm về Scope, function scope, Lexical scope, Scope chain, Closures ... Hôm nay, tôi sẽ bình bày nốt phần còn lại của Scope trong Javascript. Private and Public Scope Trong rất nhiều các ngôn ngữ lập trình, bạn sẽ ...

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

Kiểu biến và kiểu dữ liệu trong Java

Kiểu biến trong Java Biến local Phạm vi trong phương thức, constructor, khối. Tồn tại cùng phương thưc, constructor, khối. Cần có giá trị khởi tạo trước khi sử dụng. Biến instance Phạm vi đối tượng. Tồn tại cũng đối tượng. Access Modifier (public, protected, default, private). ...

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

Cucumber (P3) - Parameters và Scenario Outline

Ở phần 1 bạn viết các thành phần trong Cucumber như Features, Screnario, Step Definitions và phần 2 bạn đã cài đặt xong môi trường, bây giờ chúng ta sẽ bắt đầu viết script đầu tiên. Demo Script Mở Project → chuột phải package nằm trong thư mục src/test/java → tạo file feature ...

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

OpenCV With Python Part 2

Ở bài trước mình đã hướng dẩn các bạn tải python và các thư viện cần thiết như opencv, matplotlib để phục vụ cho chuổi bài hướng dẩn này. Mình đả hướng dẩn qua việc tải một bức ảnh lên như thế nào, một số thuật toán cần dùng để xử lý, định dạng bức ảnh theo ý muốn của mình. Và bây giờ chúng ta tiếp ...

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

How to get String a language in android ?

Chào mọi người. ở một số bài viết trước mình có hướng dẫn và nêu ra các cách mà khi Thay đổi Ngôn ngữ không cần restart activity trên android ? . vậy có một vấn đề đặt ra khi bạn muốn hiển thị nhiều ngôn ngữ trong một activity hoặc một fragment thì sao ? mỗi lần đổi locale dựa vào locale thì app sẽ ...

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

Probuilder - Maya thu nhỏ - phần 2

Chào các bạn! Ở bài trước mình đã giới thiệu với các bạn sơ qua về plugin Probuilder, thứ có thể coi là 1 Maya thu nhỏ cho những dev như chúng ta dùng. Ở bài hôm nay, mình sẽ hướng dẫn các bạn những bước đầu tiên làm việc với 1 khối hình bằng Probuilder nhé! Chọn icon như trong hình để mở ...

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