Tối ưu việc khởi tạo View bằng code trong Swift

Bên cạnh các file interface như xib, nib, storyboard, thì chúng ta cũng có thể thiết kế các view bằng code thuần. Việc khởi tạo bằng code cũng cho chúng ta nhiều điểm hay như có thể reuse code, tạo các lớp abstraction...Tuy nhiên, việc này cũng có cái hại là dễ dàng làm cho code trở nên rối rắm ...

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

Mocking request HTTP với Nock

Hôm nay, mình xin với thiệu với các bạn cách sử dụng Nock để tạo các request HTTP giả lập trong quá trình test. Hãy cùng tìm hiểu Nock qua các nội dung: Tại sao phải mock các HTTP request trong quá trình testing? Nock là gi? Ví dụ về việc sử dụng nock và nock.back Tại sao phải mock các ...

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

Tạo Animation với MotionLayout trong Android

MotionLayout là một phần của thư viện Android, nó kế thừa từ ConstraintLayout. Nó là widget duy nhất cho phép bạn tạo hiệu ứng animation bằng cách sử dụng XML. Trong hướng dẫn này, mình sẽ hướng dẫn các bạn cách thêm nó vào project Android Studio và tạo một vài animation khác nhau với nó. Chuẩn ...

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

[For Newbie] Những kiến thức không thể thiếu nếu muốn sử dụng RSpec trong Rails app

RSpec là gì? RSpec là một trong những testing framework phổ biến nhất cho Ruby. RSpec-rails là một mở rộng của RSpec, cho phép bạn viết unit tests cho controller, views, helpers và model trong ứng dụng Rails. Nó cũng cung cấp khả năng viết integration tests với selenium (sử dụng ...

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

Build Base class PageViewController using Rxswift.

Trong quá trình đọc code của các tiền bối thì tôi thấy có 1 class rất hay đó là base pageviewcontroller để sử dụng scroll ngang hay click vô tab. Vừa đọc vừa ứng dụng vào 1 project tương tự và để sau này có thể dùng lại nên tôi viết bài này có thể giúp ích cho bạn nào đó. Giải quyết vấn đề: ...

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

10 công cụ CLI mà bạn sẽ thích

Là một web developer, mình sử dụng Linux mỗi ngày. Trong bài viết này mình sẽ chia sẻ một số ứng dụng CLI giúp tăng năng suất làm việc. Một số công cụ là lựa chọn thay thế tốt hơn cho các lệnh Linux hiện có, một số khác cung cấp các tính năng hoàn toàn mới. Mình tin rằng các bạn sẽ thích chúng. ...

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

Dagger 2 cho người mới bắt đầu

Dagger 2 - là một dependency injection framework. Nó được sử dụng để genaration code thông qua các base anotation, code được genartion ra rất dễ đọc và debug Chuẩn bị Trước khi bắt đầu mình muốn các bạn tìm hiểu qua về SOLID principles đó là những nguyên lý thiết kế và viết code. Sau đó ở đây ...

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

[Write-up] meepwn contract - MEEPWN CTF Qualification Round 2018

https://scoreboard.meepwn.team/task Source code của "gate": pragma solidity ^ 0.4 .18 ; contract Meepwn_Wire { address public entrant ; constructor ( ) { entrant = msg . sender ; } function isAccountAddress ( address addr ) ...

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

Quản lý XCode Project bằng Xcodegen: Tạm biệt fix conflict file xcodeproject.

What is the problem with xcodeprojects? Xcode code quản lý file bằng file .xcodeproj , file này biết về toàn bộ source và resource và thông tin cài đặt cần thiết cần thiết cho để phục vụ cho việc lập trình cho ứng dụng iOS. Sau một thời gian dài sử dụng thì quản lý file .xcodeproj cũng xuất ...

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

Single-page app điều khiển history như thế nào ?

Single-page app (SPA) là một website hoạt động dựa việc render lại nội dung trang web theo cử chỉ của người dùng (vd khi người dùng click 1 link) mà không thực hiện request lên server để fetch lại toàn bộ HTML cho trang web đó. Nghe thì có vẻ trìu tượng, và trên thực tế thì có rất nhiều cách để ...

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

Tự động load trang với rails và thư viện js infinite scroll

I. Giới thiệu. Trong rails, bạn có thể thực hiện tự động load trang ở trên view khi sử dụng phân trang trong controller với nhiều cách, trong đó phổ biến nhất vẫn là tự viết javascript của mình, bạn có thể tham khảo tại đây. Nhưng bài viết này sẽ giới thiệu cho bạn một cách khác, đó là sử dụng ...

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

Xây dựng một ứng dụng thời tiết đơn giản sử dụng Vuejs - Phần 1

Cách tốt nhất để trở nên thuần thục một ngôn ngữ hay một framework là bắt tay vào một project nho nhỏ mà từ đó chúng ta có thể biến đổi những lý thuyết mình vừa học thành thực tiễn. Từ suy nghĩ này, mỗi khi tìm được một framework mới, mình đều bắt tay ngay vào làm. Và dự án lần này mình phát triển ...

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

Docker vs Docker-compose

Đứng ở phương diện của một Developer, chúng ta có thể sử dụng Docker để thiết lập môi trường ảo cho một dự án nào đó, mà không cần tốn quá nhiều công sức cài đặt hoặc làm ảnh hưởng tới máy tính hiện tại. Với những người mới tiếp xúc với docker như mình, đôi khi chưa hiểu rõ tại sao lại có file ...

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

Draw line với ARKit

Overview ARKit Thực tế tăng cường (AR) mô tả trải nghiệm người dùng thêm các yếu tố 2D(ARSKView) hoặc 3D(ARSCNView) vào chế độ xem trực tiếp từ máy ảnh của thiết bị theo cách khiến các yếu tố đó xuất hiện để sống trong thế giới thực. ARKit kết hợp theo dõi chuyển động thiết bị, chụp cảnh quay ...

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

Giao tiếp giữa các services trong mô hình Microservices

Ở các app được thiết kế theo mô hình monolithic, 1 component sẽ invoke 1 component khác bằng cách sử dụng language-level method hoặc call function. Có 2 cách cụ thể để bạn có thể làm điều này: Coupled way: Tạo instance objects (ví dụ new Classname()) Decoupled way: sử dụng Dependency ...

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

Tất cả những gì bạn cần biết về Performance Test Plan

Performance Testing - Kiểm thử hiệu năng đã trở thành một tiến trình không thể thiếu trong vòng đời kiểm thử phần mềm. Để thực thi cần chuẩn bị tài liệu một cách tổng quát và chi tiết nhất. Nó bao gồm tất cả các hoạt động được thực hiện trong quá trình Performance Testing, các điều kiện tiên quyết ...

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

Tính mod của tổng và tích với số nguyên lớn

Trong lập trình khi tính toán số học thường xảy ra hiện tượng tràn số. Đó là hiện tượng xảy ra khi một phép tính số học cố gắng tạo ra một giá trị số nằm ngoài phạm vi có thể được biểu diễn với một số bit nhất định – có thể lớn hơn giá trị lớn nhất hay nhỏ hơn giá trị nhỏ hơn được thể hiện. Khi ...

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

inject và each_with_object

Bài viết giới thiệu về phương thức inject và each_with_object là những phương thức thao tác vòng lặp và một số ví dụ giúp bạn hiểu khi nào thì sử dụng chúng. Inject Như được định nghĩa trong document Combines all elements of enum by applying a binary operation, specified by a block or a ...

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

Java awt game -> JumpyBox

Chào các bạn, cách đây vài năm game Flappy Bird đã đột nhiên trở thành một hiện tượng thú vị. Sự thành công từ chính cách chơi đơn giản đến bất ngờ của nó cũng đã làm nhiều người ngạc nhiên. Trong trí nhớ của mình thì người người, nhà nhà thi đua và đọ điểm với nhau </p> <div class= Tác giả: Trịnh Tiến Mạnh viết 18:25 ngày 12/08/2018

Redux-Saga

Các bạn chắc hẳn đã có lúc gặp phải vấn đề trong việc quản lý và kiểm soát các request API. Trong redux có thư viện là redux-saga giúp bạn giải quyết những khó khăn trên. nó sẽ giúp giúp quản lý những side effect trong ứng dụng redux trở nên đơn giản hơn. Bằng việc sử dụng tối đa tính năng ...

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