MVC hay MVP hay MVVM hay không có gì?

Khi bắt đầu hiện thực một dự án Android, việc đầu tiên chúng ta cần làm là tìm một pattern tốt để xây dựng cấu trúc cho cả project. Dùng MVC hay MVP hay MVVM hay không sài gì hết (^^)? Mỗi pattern đều có những ưu nhược điểm khác nhau và thông qua bài viết này mình hy vọng các bạn sẽ có thêm những ...

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

iOS Bluetooth Guide 4: Xử lý background

Khi lập trình iOS app, có một việc rất quan trọng đó là xác định xem app đang chạy ở background hay foreground bởi app khi thực thi ở background sẽ khác với foreground vì tài nguyên hệ thống rất giới hạn. Mặc định, rất nhiều tác vụ của Core Bluetooth, ở cả phía central và peripheral, bị disable ...

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

Bảo mật bằng vân tay, TouchID iOS

Touch ID is a fingerprint recognition feature, designed and released by Apple Inc., that allows users to unlock Apple devices, make purchases in the various Apple digital media stores (the iTunes Store, the App Store, and the iBooks Store), and authenticate Apple Pay online or in apps. => ...

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

Hướng Dẫn Chạy Quảng Cáo AdstirVideoReward Của Adstir Viết Bằng Kotlin

Trong quá trình làm việc, đặc biệt khi các bạn làm out source cho khách hàng Nhật , chắc chắn một điều là các bạn sẽ được khách hàng yêu tích hợp các loại quảng cáo vào project hiện thời của bạn như quảng cáo AdMod và nhiều loại quảng cáo khác. Trong một lần làm project , khách hàng bên nhật đã yêu ...

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

[Laravel] Errors & Logging

Khi bạn bắt đâu với một project mới, việc xử lý về error và exception đã được cấu hình cho bạn rồi. Class AppExceptionsHandler là nơi mà tất cả đã được trigger ứng dụng của bạn đang đăng nhập và trả lại cho người dùng. Chúng ta sẽ tìm hiểu sâu hơn về nó trong suốt tài liệu này. Đối với logging, ...

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

Những công cụ tôi ước giá như mình biết sớm hơn khi bắt đầu học code

Trong thế giới công nghệ, có hàng nghìn công cụ hỗ trợ cho việc code mà mọi người khuyên bạn dùng. Vậy làm thế nào bạn biết được mình nên dùng cái gì? công cụ nào phù hợp nhất cho bản thân? Với một người chỉ mới bắt đầu code gần đây, một loạt những thông tin như vậy làm tôi khá hoang mang. ...

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

[Java] Chạy file .jar như một service trên linux

Xin chào, mình là lập trình viên Java. Vừa rồi mình gặp tình huống là sau khi code trên IDE xong, thì clean & build ra file .jar để deploy chạy trên server (Linux). Đây là câu lệnh mà sử dụng để chạy file .jar không thông qua IDE java -jar -Dspring.profiles.active = test application.jar ...

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

Cơ bản về quản lý bộ nhớ trong Java

Memory management là quá trình cấp phát cho các đối tượng mới và loại bỏ những đôi tượng không còn sử dụng để tạo không gian cấp phát cho các đối tượng mới. Trong bài viết này sẽ trình bày những khái niệm và giải thích một cách cơ bản nhất về việc cấp phát và thu gom rác bên trong Oracle JRockit ...

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

Xây dựng ứng dụng đơn giản với ReactJS và Laravel

Xin chào các bạn, hôm nay mình sẽ tiếp tục làm ví dụ đơn giản làm App Todo cho Reactjs với RESTful sử dụng Laravel. Nội dung Khởi tạo server bằng Laravel Step 1: Khởi tạo project: $ composer create-project --prefer-dist laravel/laravel laract "5.5.*" Ở đây mình sử dụng Laravel 5.5 ...

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

Tips to become a better Swift Developer

Type less, read less, produce more Extension ví dụ như việc bình phương 1 số, ta sẽ thường code như sau: // Okay Version func square ( x : Int ) - > Int { return x * x } var squaredOFFive = square ( x : 5 ) square ( x : squaredOFFive ) // 625 ...

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

[React Native] Tích hợp React Native vào ứng dụng native - iOS (Swift) - Phần 1

React Native là sự lựa chọn tốt khi bạn bắt đầu một ứng dụng mobile mới sử dụng việc kết hợp. Dù sao thì nó cũng sẽ hoạt động tốt khi thêm một màn hình hoặc thêm một luồng xử lý mới vào các ứng dụng native. Với một vài bước dưới đây, bạn có thể thêm được các tính năng cơ bản trên nền tảng React ...

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

Làm thế nào để Refactor code Ruby on Rails đúng nhất

Việc tái cấu trúc mã của bạn không kém phần quan trọng so với việc viết ra chính nó. Và viết về Ruby on Rails không là ngoại lệ ở đây, mặc dù bạn có thể đối mặt với một số thách thức cho việc bổ sung ở đây. Hôm nay chúng tôi sẽ giới thiệu cách refactor đúng, nếu bạn sử dụng Ruby on Rails cho dự án ...

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

Tìm hiểu Redis databace model

Chào các bạn mình hôm này mình xin chia sẻ một mảng khá thú vị về redis database đó là redis model..hihi Như lần trước mình có chia sẻ 2 bài cũng về chủ đề redis từ tổng quan đến cơ chê ghi dữ liệu vào file của redis đó là 2 cơ chế: RDP vs AOF các bạn có thể tham khảo linh này nhé ...

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

Phát triển phần mềm với Agile - Phần 1

Mình đang làm dự án gia công phần mềm với khách hàng Nhật Bản. Mô hình phát triển là sử dụng Agile, từng áp dụng cả Pair Programming hay eXtreme Progamming v.vv.. nhưng hiệu quả ko thực sự rõ rệt lắm. Tình cờ, khách hàng khi nói chuyện với mình về Product Management, đã khuyên mình tham khảo công ...

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

Nguyên tắc quản lý thời gian cho developer

Lời nói đầu Phát triển phần mềm và web có thể rất hấp đãn, phần thưởng sau nhiều năm làm việc là hàng triệu đô la hoặc là một sự nghiệp thành công. Nhiều người trong số chúng ta chỉ quan tâm đến việc tồn tại, nhưng đó vốn chẳng phải là phục tiêu hay giấc mơ của thuở thiếu thời. Để kiếm nhiều ...

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

Giới thiệu các thư viện hữu ích trong lập trình giao diện android (Phần 2)

Chào các bạn, Thư viện trong lập trình nói chung và lập trình android nói riêng là một thứ mà có lẽ bất kỳ lập trình viên nào cũng đã từng sử dụng cho dự án của mình. Thế nhưng không phải ai cũng tìm được cho mình những thư viện chất lượng nhất, phù hợp với app của mình Ở phần trước mình đã giới ...

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

Tổng Quan Node.js

Node.js là một Framework mã nguồn mở, có thể chạy trên nhiều nền tảng (Windows, Linux, Unix, Mac OS X, ...). Từ trước JavaScript chỉ là một ngôn ngữ lập trình phía client chạy trên trình duyệt. Nhưng với Node.js thì điều này không còn đúng nữa. Node.js là một cách để chạy JavaScript trên ...

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

Application Context vs Activity Context

Defining Application Context: This context is tied to the lifecycle of an application Activity Context: This context is tied to the life cycle of an activity Allow using Application Activity Service ContentProvider BroadcastReceiver Show Dialog NO YES NO NO NO ...

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

Image Slicing (Repeatable image) with Xcode Asset Catalog

Image slicing là gì? Image slicing là 1 options trong Xcode asset catalog cho phép bạn xác định khu vực của một image có thể resizeable vì vậy nó có được lặp lại sao cho phù hợp với awidth & height của đối tượng. Định nghĩa là vậy, áp dụng nó lúc nào và trong trường hợp nào đây? Sau ...

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

Xử lý conflict thư viện phụ thuộc bằng gradle trong Android

Direct vs Transitive Transitive dependency cho phép dự án của bạn phụ thuộc vào các thư viện mà thư viện đó lại phụ thuộc vào các thư viện khác. Kết quả là một cây phụ thuộc. Những cây này có xu hướng trở nên phức tạp vì dự án của bạn cần nhiều thư viện hơn để biên dịch. Direct dependency là các ...

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