Author: NhatHM

  • OWASP Top 10 for Mobile

    OWASP Top 10 for Mobile

  • WWDC21 – ARC in Swift: Basics and beyond

    WWDC21 – ARC in Swift: Basics and beyond

  • GIT – Những lưu ý khi config user name/email cho repo

    GIT – Những lưu ý khi config user name/email cho repo

    Git và các dịch vụ Git như Github, Gitlab đang ngày càng trở nên phổ biến đối với các developer hiện này, hay có thể nói đó là phần không thể thiếu rồi. Và đương nhiên, một developer có thể contribute đến nhiều project/repository, và mỗi project có thể dùng một định danh khác nhau.…

  • Hướng dẫn tạo plugin cho dự án Cordova/Ionic

    Hướng dẫn tạo plugin cho dự án Cordova/Ionic

    Table of contents Tại sao cần tạo plugin cho Cordova Tạo plugin bằng plugman Hoàn thiện plugin Tại sao cần tạo plugin cho Cordova Về cơ bản, thì Cordova là framework phát triển các app iOS/Android (là chính) sử dụng html/js/css làm UI, và các bộ plugin làm cầu nối để call xuống source native…

  • Swift—Design patterns: Multicast Delegate

    Swift—Design patterns: Multicast Delegate

    Ứng dụng của multicase delegate, lúc nào thì dùng? Dùng multicast delegate khi mà bạn muốn xây dựng một mô hình delegate có mối quan hệ 1 – nhiều.

  • Swift—KeyPaths (1)

    Swift—KeyPaths (1)

    KeyPaths là cách để truy cập đến property chứ không phải truy cập đến giá trị của property. Khi định nghĩa KeyPaths thì ta hoàn toàn có thể xác định/định nghĩa được kiểu biến của KeyPaths…

  • Swift—Codable

    Swift—Codable

  • iOS — Play RTSP Streaming

    iOS — Play RTSP Streaming

    Hướng dẫn sử dụng IJK Player để play RTSP streaming. IJK Player là lib được phát triển dựa trên thư viện ffmpeg

  • Fresher Training—iOS Basic Day 2

    Fresher Training—iOS Basic Day 2

    Today topic: App Life cycle View Controller Life cycle UIView Exerices: Exercise 01: App Life Cycle Hãy phân tích những delegate sẽ được gọi trong những trường hợp sau: Khi user quit app từ fast app switcher (multi task) Khi app bị crash do source code Khi app bị suspended Khi user mở app khác…

  • Fresher Training—iOS Swift Day 4

    Fresher Training—iOS Swift Day 4

    Today topic: Encoding & Decoding Types Asynchronous Closures & Memory Management Value Types & Value Semantics Protocol-Oriented Programming Tham khảo: https://nhathm.com/swift-closure-escaping-autoclosure-b6cc22729e7 Exercises: Exercise 01: ENCODING & DECODING Make this source code Codeable struct Student { var name: String var age: Int var study: [StudyClass] } struct StudyClass { var className: String var classCode: String }…