Block, Lambda và Proc trong Ruby

1. Block Block đơn giản chỉ là tập hợp các lệnh thành một khối Được đặt trong dấu {...} Trong ruby thì block phổ biến và dễ dùng hơn so với lambda và proc Ví dụ 1 block array = [ 1 , 2 , 3 ] array . collect ! do | n | n + 1 end puts array . inspect # => [2, ...

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

[ Agile Software Development, Principles, Patterns, And Practices] Testing

Tiếp nối loạt bài dịch cuốn sách "Agile Software Development, Principles, Patterns, and Practices", ngày hôm nay chúng ta sẽ đến với chương 4 của cuốn sách này. Chương 1 bạn đọc có thể tham khảo ở bài viết Agile Practices. Chương 2, 3 nói về Exteme Programming, và như tôi đã nói ở cuối chương 1, ...

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

Introduction Dependency Injection on Android with Dagger 2

Dependency Injection là gì? Dependency trong java Dependency là sự phụ thuộc, kết nối giữa các module với nhau (trong java là hai lớp). Ví dụ: public class Client { private Service service ; public Client ( ) { service = new ServiceImpl ( ) ; } ...

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

MemoQ Translation software_Part 2: MemoQ Guidline_Translation Document Import

1. Thao tác offline Thao tác offline là thao tác mà phạm vi ảnh hưởng chỉ ở trên máy local của bạn. Bạn có thể tạo dự án offline để tự làm việc, tự quản lý bộ nhớ dịch, cơ sở từ vựng… _ 2.1. Tạo project_ Click chọn “Create a new project” trong cửa sổ “Frequent ...

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

7 Patterns to Refactor Fat ActiveRecord Models

Dịch lại từ bài viết 7 Patterns to Refactor Fat ActiveRecord Models Rất nhiều lập trình viên, khi đã có nhiều kinh nghiệm hơn, đã học được cách tránh những "fat models". Fat model tiềm ẩn nhiều vấn đề khi maintain, nhất là trong những app lớn. Chỉ tốt hơn việc tống tất cả logic vào trong controller ...

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

[Hướng dẫn] Tạo text với chất liệu bánh và mứt(P1)

Nguồn: http://design.tutsplus.com/tutorials/create-a-marvelously-british-scone-text-effect-in-adobe-photoshop--cms-23867 Sử dụng các loại brush, chất liệu, và các style của layer kết hợp với nhau có thể tạo ra hiệu ứng tuyệt với cho 1 đoạn text. Trong bài hướng dẫn này sẽ chỉ cho bạn cách sử ...

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

Tìm hiểu về Stub, Mock và Fake trong unit test

Trong bài viết này, tôi tìm hiểu về ba khái niệm rất quan trọng trong unit test là Stub, Mock và Fake, ý nghĩa khái niệm của chúng là gì và chúng được sử dụng như thế nào trong điều kiện nào. Đầu tiên, chúng ta cần định nghĩa unit test là gì và mô hình TDD là như thế nào. Các bạn có thể tham khảo ...

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

Giới thiệu về Date Helper trong CI

Chúng ta có rất nhiều API giúp làm việc với thời gian, một trong những API có sẵn trong bộ framework của CI đó là Date Helper, nó là một tiện ích đi kèm được support trong CI từ những version đầu tiên đến nay. Bài viết sẽ hướng dẫn các bạn cách sử dụng Date Helper. Date helper cung cấp cho ...

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

Xây dựng app nhắc nhở công việc với Notifications

Trong bài tìm hiểu này chúng ta sẽ xây dựng 1 ứng dụng nhắc nhở công việc sử dụng Notifications. Ứng dụng cho phép người dùng đặt các công việc cần phải làm và cài đặt một lời nhắc nhở. Tại một thời điểm cụ thể, thì một cái thông báo để nhắc nhở người dùng làm cái cái công việc đã được ghi chú ...

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

Widget - To day extendsion tutorial

Đến hẹn lại lên, cuối tháng roài làm cái rì pọt cho đỡ bị trừ lương và làm cái tutorial nho nhỏ cho newbie chém gió. Làm dự án thấy có cái today extendsion cũng khá hay lên vác qua đây ae tham khảo nhé.Today extendsion này rất tiện lợi giúp chúng ta có thể quảng cáo cho app hay làm các tiện ích ...

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

Một số kĩ thuật tối ưu hoá mã nguồn Java - Phần 1

Trong Java việc tối ưu hoá mã nguồn Java là công việc rất quan trọng, nó không chỉ giúp mã nguồn thông thoáng hơn, giúp tiêu tốn ít tài nguyên hệ thống hơn, mà các kĩ thuật được trình bày dưới đây sẽ giúp nâng cao hiệu suất (performance) làm việc của Java khi chạy chương trình! Một LTV Java có ...

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

Scala interact with Java (vice versa)

Câu hỏi: Câu hỏi 1. Scala có thể tương tác được với Java không? Và ngược lại ? Trong một project Scala có thể vừa chứa file .scala vừa chứa file .java và chúng có thể gọi lẫn nhau không? Câu hỏi 2. Scale sẽ được compile sang bytecode để chạy bởi JVM (Java Virtual Machine). Vậy ta có thể ...

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

Immutable in Scala

Cái tên Scala xuất phát từ Scalability mang ý nghĩa về khả năng phát triển mở rộng dễ dàng. Vậy về mặt ngôn ngữ lập trình, Scala có gì khác biệt với những ngôn ngữ khác? Rất đơn giản, Scala là sự kết hợp giữa Ngôn ngữ lập trình hướng đối tượng(Object Oriented Programming) và Lập trình chức năng ...

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

Method và xử lí dupicate trong Ruby

Methods và xử lí duplicate trong ruby Ở phần trước chúng ta đã tìm hiểu về object trong Ruby, được làm quen với instance variables, method, class, module, methods lockup, ancestors chain … Ở phần này chúng ta sẽ tìm hiểu thêm về phương thức và cách xử lí duplicate code trong ruby. Vấn ...

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

Representative Functional Languages and Their Features

Functional Languages Any programming language supports and/or encourages functional programming is called a functional language. What is functional programming? A functional program is simply an expression, and executing the program means evaluating the expression. In imperative ...

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

Cơ bản về engine vật lý trong Unity

Nếu nói đến game không thể không nói đến tương tác vật lý tồn tại tại đa số game, tương tác vật lý áp dụng các luật vật lý khiến game có độ thực tế cao hơn. Mục đích của tương tác vật lý là sử dung thiết bị vi tính đẻ tái hiện lại những hiện tượng vật lý qua các công thức, tại thời điểm hiện tại ...

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

Higher-order Function

Higher-order Function Background Dynamic Dispatch là quá trình chọn lựa để gọi đơn vị thực thi của một hàm đa hình tại runtime, trái ngược với Static Dispatch là chọn đơn vị thực thi tại thời điểm biên dịch. Mục đích của dynamic dispatch là hỗ trợ những trường hợp không thể xác định được ...

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

Áp dụng Paypal trong rails

Lời mở Ngày nay thương mại trực tuyến ngày càng phổ biến và giao dịch điện tử đã không còn xa lạ với hầu hết những ai dùng internet. Vậy chắc chắc sẽ có ai đó có cấu hỏi "Làm thế nào để áp dụng phương pháp giao dịch điện tử(GDĐT) vào trong rails app mà mình đã viết!". Tôi hi vọng sau bài viết ...

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

Facebook permission and submission for iOS

Bài viết này mình sẽ hướng dẫn share 1 ảnh lên facebook với 2 cách : Sử dụng dialog của facebook (facebook cung cấp sẵn dialog cho mình) Sử dụng graph api "me/photos" thuộc quyền "public_action" Đầu tiên phải tạo tài khoản developer facebook và tạo app của mình. Sau khi tạo app ...

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

初めてでもできるSQL (1)環境構築 ( Linux )

システム開発の知識はないけどSQLを学びたい貴方に朗報! 今回学ぶ内容は環境構築です。 1. ダウンロード ダウンロードサイトを開きます。 https://www.apachefriends.org/download.html ここで、32 bitと64 bitのうち自分のOSと同じものを選びます。 自分のOSが32 bitと64 bitのどっちかわからないという人は、マウス右クリック→Open Terminal uname -a と入力してください。 ここで出た文字がi686なら32 bit、X86_64なら64 bitです。 ...

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