Object và Class - Phần 2

Mỗi đối tượng tượng ghi nhớ class của nó bởi việc lưu một con trỏ đến cấu trúc RClass. Thông tin mà mỗi RClass chứa là gì? Chúng ta sẽ thấy gì nếu chúng ta có thể nhìn vào bên trong một class Ruby? Hãy xây dựng mô hình thông tin đại diện cho RClass. Mô hình này sẽ cho chúng ta một định nghĩa kỹ ...

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

[Swift] Localization with UI (XIBs and Storyboards)

Cách làm thông thường là sẽ tạo 1 connect đến variable trong file .swift: @IBOutlet weak var cancelButton: UIButton! Rồi sau đó sẽ gọi localization: self.cancelButton = NSLocalizedString("Cancel", comment: "") Chúng ta có 2 việc cần làm ở đây: 1. Đầu tiên mình sẽ định nghĩa 1 protocol như sau: ...

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

Xử lý các vấn đề ProGuard trên Android (Phần 1)

Tại sao là ProGuard ProGuard là một công cụ rút gọn (shrink), tối ưu hoá (optimize) và làm mờ (obfuscate) code. Mặc dù cũng có các công cụ khác cho developer, ProGuard thì có sẵn là một phần của Android Gradle build process và gửi kèm với SDK. Có nhiều lý do tại sao bạn có thể muốn bật ProGuard ...

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

Sử dụng Rspec viết unit test cho Controller trong ứng dụng Rails

Controller spec được tách nhỏ ra bởi phương thức controller, mỗi test case được dựa trên một action và có thể gửi kèm params hoặc không. Ví dụ như sau: it "redirects to the home page upon save" do post :create, contact: Factory.attributes_for(:contact) expect(response).to redirect_to ...

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

Tại sao 80% các ứng viên kỹ sư phần mềm bị người sáng lập Rails từ chối?

Dạo gần đây, tôi đã có dịp ngồi xuống với David Heinemeier Hansson và hỏi anh ta lý do tại sao anh ta lại thuê những kỹ sư phần mềm này mà không phải là những khác. Nếu bạn không biết anh ta, David là nhà sáng lập của Ruby on Rails đồng thời là CTO của Basecamp Câu trả lời dưới đây của anh ấy ...

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

Kiến thức nghiệp vụ phần 1: Hệ thống quản lý nhân sự

Tất cả những doanh nghiệp có sử dụng lao động thì đều phát sinh những công việc liên quan tới nghiệp vụ quản lý nhân sự. Như là quản lý các thông tin liên quan đến người lao động, quản lý tiền lương và điều chỉnh chiến lược của công ty. Quản lý nhân sự bao gồm hai công việc chính, đó là quản ...

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

Các loại test case trong kiểm thử phần mềm

Đảm bảo chất lượng phần mềm liên quan đến các cạnh tiếp cận khác nhau đến việc kiểm thử. Gần như là không thể kiểm thử tất cả mọi thứ nhưng chắc chắn bạn có thể tiến lại gần với việc đó bằng cách thu hẹp trong những loại test case khác nhau để thực hiện với những yêu cầu riêng biệt. Để tìm ra loại ...

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

Gợi ý cách chọn background khi thiết kế

Trong lĩnh vực thiết kế website, việc tạo nên một theme giới thiệu , giao diện đẹp hài hòa không thể nào thiếu được yếu tố background hay nền. Tất nhiên, lựa chọn background không hề dễ, nó đòi hỏi nhà thiết kế cần phải tuân thủ theo các đúng nguyên tắc, tránh mắc phải sai lầm khi thiết kế ...

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

Xử lý hash fallbacks

Có thể các bạn không biết, có nhiều cách để lấy một giá trị trong hash. Trong bài viết này, tôi sẽ nói về ba trong số chúng và những tác dụng của mỗi phương pháp. Phương thức #[] Cách đầu tiên cũng là cách được hầu hết developer biết đến và ưa thích, đó là phương thức #[]. Đây là phương thức ...

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

EXCEL MACROS VÀ LẬP TRÌNH VBA

Excel Macros là những chương trình nhỏ giúp lặp đi lặp lại những thao tác từ đơn giản đến phức tạp một cách tự động trong Excel. Ngoài Excel Macros, chúng ta còn có thể gặp Word Macro, PowerPoint Macro, Outlook Macro … VBA viết tắt của Visual Basic for Applications, là một ngôn ngữ lập ...

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

Tìm hiểu ngôn ngữ Elixir

Giới thiệu Elixir là ngôn ngữ hướng chức năng được phát triển trên nền tảng Erlang. Chính vì chạy trên Erlang Virtual Machine nên Elixir có hiệu suất cực kì cao. Các ứng dụng được phát triển bằng Elixir có thể chạy hàng trăm nghìn process chỉ trên cùng một server, tận dụng tối đa ưu thế của ...

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

Cách thực hiện kỹ thuật Universal Links trên iOS

Giới thiệu Universal Links là kỹ thuật giúp website có thể chia sẻ nội dung được với ứng dụng iOS. Cụ thể, trên thiết bị iOS, người dùng có thể click vào một đường link HTTP để mở ứng dụng thay vì mở trên trình duyệt. Bài viết này mình xin giới thiệu đến các bạn kỹ thuật Universal Links và cách ...

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

Mười hai sai lầm về Tuyên ngôn của Agile

Ngày nay, Tuyên ngôn Agile đã trở thành slogan của nhiều team phát triển phần mềm. Nó bao gồm 12 nguyên tắc chỉ ra cho chúng ta cách tổ chức phát triển phần mềm. Những nguyên tắc này đã được phát minh vào năm 2001. Nói chung, hầu hết mọi người đều thích và đồng ý với tất cả chúng. Tuy nhiên, trên ...

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

Blocks, Procs và Enumerable trong Ruby

Enumerable mà một module rất hay có ở trong Ruby. Nó cung cấp cho chúng ta rất nhiều hàm hữu ích như each, map, inject, ... Các hàm nói trên rõ ràng, dễ đọc và dễ hiểu hơn for ở những ngôn ngữ khác. Enumerable được kết hợp với một trong những cấu trúc rất hay khác của Ruby là blocks. Ví dụ: ...

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

Higher-order components trong reactjs

A higher-order component (HOC) is an advanced technique in React for reusing component logic. HOCs are not part of the React API, per se. They are a pattern that emerges from React’s compositional nature. Higher-order component (HOC) là một pattern trong reactjs, nó được định nghĩa như ...

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

Lập trình C cho hệ thống nhúng (P8- Standby Function- Idle mode trong V850E)

1. Khái niệm Ở trong phần trước mình đã giới thiệu về HALT mode trong chức năng Standby funtion của V850E . Trong bài viết này mình sẽ tiếp tục giới thiệu về IDLE Mode của chức năng này. Trong khi HALT mode là mode mà trong đó chúng ta chỉ dừng clock hoạt động của CPU thì IDLE Mode sẽ dừng tất ...

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

Để thành công người thiết kế website cần gì?

Hiện nay, nghề làm website đang được giới trẻ yêu thích và có xu hướng lựa chọn khá nhiều. Song đặc thù của website đòi hỏi sự sáng tạo và nhiều yếu tố khác, vậy nên bản thân người học không chỉ nắm được kiến thức trong sách vở là có thể thành công. Thiết kế website cần phải có rất nhiều kỹ ...

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

Những công cụ, phần mềm thiết kế website thông dụng nhất hiện nay

Những công cụ thiết kế website thường dùng Công cụ web PHPdesigner Một trong số những phần mềm thiết kế website thông dụng đó chính là công cụ PHPdesigner. Nhiều người thích sử dụng công cụ PHPdesigner khi thiết kế trang web vì nó có giao diện thân thiện, dễ sử dụng. Công cụ PHPdesigner ...

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

ReactJs với Ruby on Rails 5 (Phần 3)

Mình sẽ hướng dẫn phânf trước nên phần này mình cho các bạn xem source code(cũng dễ hiểu) model user #db/migrate/20170808085251_create_users.rb class CreateUsers < ActiveRecord::Migration[5.0] def change create_table :users do |t| t.string :name t.integer :age ...

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

Cài đặt quảng cáo từ Facebook Audience Network cho ứng dụng Android

Giả sử bạn có một ứng dụng với hàng tỉ lượt tải trên kho ứng dụng Google Play và bạn muốn kiếm một khoản tiền uống trà đá từ ứng dụng đó. Hôm nay tôi sẽ giới thiệu với các bạn cách cài đặt và kiếm tiền từ mạng quảng cáo Facebook Audience Network. Bước 1: Cài đặt dependency của FAN: bằng cách thêm ...

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