Design Patterns in Cocoa

Bài viết này sẽ giới thiệu một số design pattern thường gặp mà Apple thường sử dụng. Hy vọng sẽ giúp các bạn trong việc thiết kết cấu trúc của ứng dụng tốt hơn và dễ dàng hơn. Class clusters là một design pattern được sử dụng rất nhiều trong Foundation framework. Class cluster sẽ tổng hợp nhiều ...

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

Class method: vấn đề nho nhỏ về coding standard

Lần đầu định nghĩa class method theo Rails tutorial, chắc hẳn có nhiều bạn đã viết def self.method_name rồi hí hứng push code lên cho trainer review để ăn ngay comment: viết thành class << self đi em. Chưa đọc coding standard của Framgia hả? Ok viết thì viết, viết nhiều thành quen, cứ ...

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

Căn bản về Android Navigation Components

Trong sự kiện Google I/O 2018 tổ chức tại Mountain View, California, Google đã phát hành rất nhiều công cụ tuyệt vời để giúp các nhà phát triển tăng tốc quá trình phát triển của họ và xây dựng các ứng dụng tốt hơn. Một trong số chúng là Android Navigation Components - một thư viện thành phần của bộ ...

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

Display: inline-block, Float: left, Display: flex bạn lựa chọn cái nào ?

Trong quá trình xây dựng giao diện website thì việc bắt gặp xây dựng layout cho bố cục hay hiển thị list box ta gặp khá nhiều, mình xin trình bày 3 cách để xử lý bài toán này với ví dụ thực tế. Yêu cầu Hiển thị một list box với yêu cầu 4 box trên một hàng. Ta có khối html với phần style ban ...

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

Support List tag of HTML in TextView using fromHtml()

There is a lovely method on the android.text.Html class, fromHtml(), that converts HTML into a Spannable for use with a TextView. TextView textView = ( TextView ) findViewById ( R . id . textView1 ) ; //class ListTagHandler will be used here. textView . setText ( Html . fromHtml ( ...

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

Bàn về JS - Các giá trị đặc biệt trong JavaScript

Trong JavaScript có một số giá trị đặc biệt mà các developer cần chú ý và sử dụng một cách đúng đắn hơn. Có thể có người đã biết hoặc chưa biết. Bài viết sau đây xin đúc kết một số trường hợp. Cả undefined và null đều được sử dụng để thể hiện một giá trị "rỗng" hay không có giá trị. Ta có thể ...

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

Bubble animation trong React Native

Xin chào các bạn, trong bài viết này mình sẽ hướng dẫn các bạn làm một Bubble Animation. Đây là 1 animation khá đơn giản, phù hợp với các bạn chưa có nhiều kinh nghiệm về React Native như mình. Animation này có thể ứng dụng vào việc phân trang như trong ảnh bên dưới Bài viết được tham khảo ...

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

Giao tiếp giữa các Controller trong ứng dụng IOS

Một vấn đề phổ biến mà chúng ta thường gặp phải khi phát triển các ứng dụng iOS, là cách cho phép liên lạc giữa các bộ điều khiển của chúng ta. Ba mẫu phổ biến trong các ứng dụng iOS bao gồm: Delegation Notification Observation Chúng ta sẽ đi tìm hiểu về từng loại một ngay sau đây. Khi ...

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

Tìm hiểu về Composer

Composer là gì ? Composer là công cụ để quả lý package hay library PHP. Composer sẽ cài đặt những libraries vào một thư mục nào đó nằm bên trong project bạn đang làm việc. Về cơ cản, Composer sẽ không cài đặt global. Chính vì thế nó còn được gọi là Dependency Manager. (Những package được cài ...

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

[Google apps script] Gửi email từ Google Spreadsheet - Healthcheck services

Đây là bài viết tiếp theo thuộc danh sách các bài viết giới thiệu và ứng dụng Google Apps Script(GAS). Với GAS chúng ta có thể sử dụng rất nhiều dịch vụ của hệ sinh thái Google, trong đó có Gmail Service. Dịch vụ này cho phép bạn gửi email, soạn thư nháp, quản lý nhãn, đánh dấu thư và chuỗi và ...

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

Toán tử &. trong Ruby

Trong bài viết trước mình đã giới thiệu về những lỗi thường gặp trong ứng dụng Rails, trong đó có lỗi khi gọi phuơng thức không tồn tại của object nil. Ở bài viết này mình sẽ nói kĩ hơn về toán tử &. để phòng tránh lỗi trên. Bối cảnh Giả sử bạn có một account, trong account có chứa thông ...

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

Lưu ý khi viết test

Mock object ? Mock object là một đối tượng giả nhưng mô phỏng, giả lập hành vi của một đối tượng thật. Khi nào cần phải mock dữ liệu Khi viết test mà function đó có inject các class, interface khác. Trong trường hợp đó bạn cần phải giả lập đối tượng đó. Ví dụ namespace App; use ...

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

Bootsrapping trong AngularJS

life cyle của 1 ứng dụng AngularJS gồm 3 giai đoạn Bootstrap: khi thư viện AngularJS được tải xuống trình duyệt. AngularJS khởi tạo các thành phần cần thiết của riêng nó và sau đó khởi tạo mô đun.Module được tải và mọi dependencies của module là available Compilation: static DOM được thay thế ...

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

CSS Selectors

Trong bài viết này, chúng ta sẽ tìm hiểu về một khái niệm không hề mới nhưng không phải ai cũng có thể nắm rõ và sử dụng linh hoạt, CSS Selector. CSS Selector là gì, nó được chia ra làm những loại như thế nào ? Selectors là gì ? Selectors không phải là một điều gì mới mẻ của CSS3. Nó vốn đã ...

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

Tìm Hiểu Về Navigation Architecture Component

/pictures/picfullsizes/2018/08/11/kbg1533998486.jpeg Từ thời điểm khi Fragment được release (khoảng năm 2011), các nhà phát triển ứng dụng bắt đầu tranh luận về thiết kế ứng dụng nên được sử dụng, liệu một ứng dụng nên chứa nhiều activity và một vài fragment, hoặc nhiều fragment với một vài ...

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

Sample Data for Testing Sending Email Function

Unfortunately, we cannot avoid incidents during testing process. Sending email to general users is one of major incidents. It causes financial loss as damages and, more importantly, we lose user's/customer's TRUST. To avoid this incident, we use service like https://mailcatcher.me/ or ...

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

モデル中のSQLを綺麗に書く

きっかけ ActiveRecord 最高ですよね。ほとんどの事が SQL を記述しないで実現できることはもちろん、メソッドチェーンを使ってやりたい事を非常に簡潔に記述できます。 また、少し気を付けて実装するだけで、パフォーマンス問題が発生することも少ないです。 ですが、やはり例外はあるもので、どうしても SQL を記述しないといけない場面もあります。その時、どんなに綺麗に Ruby のコードを書いても、全く別の言語である SQL がコードに入ってくると、可読性が落ちます。 それを何とかできないか、と考えました。 ヒアドキュメント ...

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

pluckメソッドがArrayのArrayではなくHashのArrayを返せるようにする

通好みのメソッドpluck Railsでアプリケーションを組むと、ActiveRecordのインスタンス生成コストが勿体ないな、と感じることが多いと思います。 そんな時の強い味方がpluckメソッドで、愛用される方も多いと思います。 Rails4からは複数のカラムも指定できて、使い勝手が向上しました。 複数カラムを指定すると、値がArrayのArrayで返って来ます。 例を示すと、例えばこんなデータがあるとすると employees id name created_at 1 Taro 2014-08-01 01:00:05 2 ...

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

Tìm hiểu về Media Query

Media Query là gì ? Media Query là một trong những module mới được thêm vào trong CSS3. Nó là một sự cải thiện của Media Type đã có từ CSS2, bằng việc thêm vào những cú pháp query để ta có thể đáp ứng được cho nhiều device với nhiều kích cỡ màn hình khác nhau. Module Media Query hiện đã ...

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

Giá như CSS căn giữa tài liệu thật đơn giản!

Khi thiết kế 1 website vấn đề ngay hàng thẳng lối luôn được các sếp, các design cũng như các mợ tám đứng kế bên chém nhiều nhất. Ví dụ: sao nó không ngay với bên trái, sao nó không căn giữa, sao trên dưới của nó không bằng nhau, text chổ này canh giữa đi, hình ảnh này lệch rồi v.v... Hôm nay ...

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