Language

Làm việc với Thread Safe trên iOS


Như bạn có thể biết, từ “Thread safe” đề cập đến một khái niệm khoa học máy tính trong ngữ cảnh của các chương trình đa luồng. Một đoạn code được gọi là “Thread safe” nếu bất kỳ dữ liệu chia sẻ nào chỉ được truy cập bởi một thread tại bất kỳ thời điểm nào. Lưu ý rằng các dữ liệu chia sẻ này được gọi là critical section trong hệ điều hành.
Điểm quan trọng là các kiểu collection trong Swift như Array và Dictionary không phải thread-safe khi được khai báo mutable (với từ khóa var).
Trong bài viết này, chúng ta sẽ thảo luận một số kỹ thuật để làm cho code của chúng ta thread safe trong iOS.

Read More

Big Endian vs Little Endian


Trong khoa học máy tính, bit là đơn vị thông tin nhỏ nhất. Nó đại diện cho một chữ số của hệ thống số nhị phân. Một chuỗi 8 bit được gọi là một byte. Có hai cách để lưu trữ một chuỗi dữ liệu trong máy tính: Big Endian và Little Endian. Nếu công việc của bạn liên quan đến dữ liệu theo byte, bạn nên biết cách xử lý byte theo hai định dạng này. Trong bài viết này, tôi sẽ giải thích cách dữ liệu được lưu trữ trong máy tính, sự khác biệt chính giữa hai định dạng này, sau đó cung cấp một số code hữu ích để làm việc với byte trong Swift và Objective-C.

Read More

Đóng Vai Trò Central Và Peripheral Với CoreBluetooth

Giới thiệu


Như tôi đã đề cập trong bài viết trước, CoreBluetooth cho phép chúng ta tạo các ứng dụng có thể giao tiếp với các thiết bị BLE như máy đo nhịp tim, cảm biến cơ thể, thiết bị theo dõi hoặc các thiết bị hybrid.
Có hai vai trò trong các khái niệm CoreBluetooth: Central và peripheral.

  • Central: Lấy dữ liệu từ các peripheral.
  • Peripheral: Phát hành dữ liệu để được truy cập bởi central. Chúng ta có thể làm cho một thiết bị Bluetooth đóng vai trò peripheral từ phía firmware hoặc phía software.

Trong bài viết này, tôi sẽ hướng dẫn bạn cách tạo một peripheral bằng cách sử dụng các identifier của riêng chúng ta. Cũng như sử dụng một thiết bị khác, làm central, để kết nối và khám phá các service của chúng ta. Hãy bắt đầu.

Read More

Lập Trình Bất Đồng Bộ trong Swift

Promise Kit, một trong những framework tốt nhất để xử lý lập trình bất đồng bộ trong Swift

Trong bài viết này, tôi sẽ sử dụng các thư viện bên thứ ba sau để hoàn thành dự án:

  • Alamofire: Một framework HTTP networking trong Swift.
  • SwiftyJSON: Để xử lý dữ liệu JSON.
  • SwiftGifOrigin: Một extension UIImage để hiển thị file Gif.
  • Bolts-Swift: Được thiết kế bởi Parse và Facebook, tôi sử dụng nó để tạo các phương thức bất đồng bộ.
  • PromiseKit: Một framework giúp chúng ta đơn giản hóa lập trình bất đồng bộ.
  • API của Giphy để tìm kiếm và tải ảnh gif.
Read More

Grand Central Dispatch trong Swift


Grand Central Dispatch, hay viết tắt là GCD, là một tập API C cấp thấp để quản lý các tác vụ đồng thời. Nó giúp chúng ta cải thiện hiệu suất ứng dụng bằng cách thực thi một khối code trên các thread phù hợp, như thực hiện các tác vụ tính toán nặng ở background. GCD cung cấp nhiều tùy chọn để chạy các tác vụ như đồng bộ, bất đồng bộ, sau một khoảng delay nhất định, v.v.
Trong bài viết này, tôi sẽ giải thích chi tiết hơn về GCD và cách nó hoạt động, cũng như cung cấp một số điểm thú vị khi làm việc với GCD. Hãy bắt đầu.

Read More

React Native trong thế giới thực của tôi


React Native được giới thiệu vào tháng 1 năm 2015 tại React.js Con: Bản xem trước công khai đầu tiên. Vào tháng 3 năm 2015, React Native được mở và có sẵn trên Github. Sau khi phát hành, React Native nhanh chóng trở nên phổ biến và được cập nhật liên tục bởi hàng ngàn lập trình viên trên thế giới. Hiện tại, React Native là một trong những repository có nhiều star nhất trên Github.

Read More

Hội nghị Swift Summit tại San Francisco 2017

Hội nghị Swift Summit 2017 được tổ chức tại Palace Of Fine Arts, San Francisco, một trong mười cung điện nằm ở trung tâm của Triển lãm Panama-Pacific. Tại hội nghị, các lập trình viên Swift từ khắp nơi trên thế giới đã chia sẻ kiến thức mới, công cụ và ý tưởng về nền tảng iOS và ngôn ngữ Swift.

Hình 1. Tôi đã có mặt tại hội nghị Swift Summit 2017
Read More