TopDev
Sort by
7 results
HIGHLIGHT COMPANY

COMPANY INFORMATION

job-imageVietUnion (Payoo)Dịch vụ thanh toán điện tử Payoo
Thành phố Hồ Chí Minh, Thành phố Hà Nội 100-499
job-imageMBBANKVững vàng – Tin cậy
Thành phố Hà Nội, Thành phố Hồ Chí Minh, Thành phố Cần Thơ, Thành phố Đà Nẵng Hơn 1000
job-imageMBBANKVững vàng – Tin cậy
Thành phố Hà Nội, Thành phố Hồ Chí Minh, Thành phố Cần Thơ, Thành phố Đà Nẵng Hơn 1000
job-imageTập Đoàn Công nghệ Quảng ÍchMang lại giá trị đích thực
Thành phố Hà Nội 100-499
job-imageCÔNG TY CỔ PHẦN GIẢI PHÁP CÔNG NGHỆ CODEE
Thành phố Hà Nội, Thành phố Hà Nội
job-imageCÔNG TY TNHH ECO MOBILE
Thành phố Hà Nội 25-99
job-imageZaloAt Zalo, we build world-class tech products used and loved by millions.
Thành phố Hồ Chí Minh, Thành phố Hà Nội Hơn 1000

RELATED POSTS

Marketplace Illustration
Cấu trúc rẽ nhánh trong swift – Decision Making

Bài viết được sự cho phép của tác giả Lê Hồng Kỳ Cấu trúc rẻ nhánh trong swift yêu cầu lập trình viên chỉ định một hoặc nhiều điều kiện. Một hoặc nhiều câu lệnh sẽ được thực thi nếu điều kiện được xác định là đúng (true) và ngược lại những câu lệnh khác sẽ được thực thi nếu điều kiện được xác định là sai (xử lý ngược lại là không bắt buộc – optionally). Sau đây là sơ đồ (flow chart) biểu diễn cấu trúc rẻ nhánh trong swift Cấu trúc rẻ nhánh trong swift – Câu lệnh if (If Statement) Một câu lệnh if bao gồm một biểu thức luận lý (boolean expression) theo sau là một hoặc nhiều câu lệnh. Cú pháp if boolean_expression { /* Câu lệnh sẽ thực hiện nếu biểu thức boolean là đúng */ } Nếu biểu thức điều kiện (boolean expression) được xác định là đúng (true) thì khối lệnh bên trong câu lệnh if sẽ được thực [...]

Marketplace Illustration
Lập trình Swift: Lười là thông minh!

Tác giả: Lê Xuân Quỳnh Nghe hơi vô lý nhưng rõ ràng Apple đã tạo điều kiện để Developer lười theo cách thông minh của họ. Chúng ta sẽ tìm hiểu vì sao nói lười là thông minh? Nghe hư cấu nhỉ?  Nào cùng bắt đầu tìm hiểu về lười = lazy! Mảng lười Mở bài hơi sốc 1 xíu thôi, cùng theo dõi đoạn code sau nhé: var numbers: [Int] = [1, 2, 3, 6, 9] let modifiedNumbers = numbers .filter { number in print("Even number filter") return number % 2 == 0 }.map { number -> Int in print("Doubling the number") return number * 2 } print(modifiedNumbers) /* kết quả: Even number filter Even number filter Even number filter Even number filter Even number filter Doubling the number Doubling the number [4, 12] */ Như các bạn thấy, đầu tiên chúng ta tạo 1 mảng số nguyên. Sau đó dùng hàm filter để tìm ra các số chẵn(chúng ta có 2, 6). Tiếp theo chúng ta dùng hàm map để nhân đôi các số sau khi filter. Kết quả chúng ta có 4, 12. Bây giờ chúng ta sẽ dùng lazy như nào? Hãy theo dõi đoạn code sau: let modifiedLazyNumbers = numbers.lazy .filter { number in print("Lazy Even [...]

Marketplace Illustration
Nghệ thuật viết chương trình Hello World bằng Swift

Tác giả: Trần Thiện Khiêm Giả sử hôm thứ 2 vừa rồi sếp giao cho task viết chương trình in ra dòng chữ “Hello World!”, sau một ngày cân nhắc lựa chọn các ngôn ngữ lập trình, công nghệ, mình quyết định chọn Swift để viết, vì ngôn ngữ này có tên trùng với tên ca sĩ mình yêu thích Taylor Swift. Sau 2 ngày làm việc, cuối cùng mình cũng hoàn thành chương trình của mình, chương trình có nội dung như sau: print(“Hello World!”) Thật ra một Junior Dev thì sẽ viết như vậy, mà viết như vậy thì bài viết của mình có gì hấp dẫn nữa. Với cương vị của một Senior Developer, mình sẽ phải ứng dụng các kiến thức lập trình hướng đối tượng, phân tích thiết kế hệ thống để viết ra chương trình Hello World hoàn hảo. Xem xét các đối tượng trong chương trình. Đối tượng thứ nhất là đố [...]

Marketplace Illustration
Tạo thư viện bằng Swift Package Manager trong Xcode

Bài viết được sự cho phép của tác giả Lê Xuân Quỳnh Thường thì dev iOS chúng ta đều đã biết về CocoaPods và Carthage. Hôm nay mình sẽ giới thiệu tới các bạn một thế lực mới được Apple công bố tại WDDC 2019 là Swift Package Manager. Chúng ta đi vào từng nội dung chính thôi nào. I. Swift Package Manger là gì ? Swift Packager Manager là một công cụ giúp quản lý việc phân phối mã nguồn, giúp cho việc chia sẻ và dùng lại code được dễ dàng. Được Apple tích hợp từ Xcode 11 giúp cho việc chúng ta quản lí dependency một cách đơn giản hơn. Mình chỉ nói sơ qua còn các bạn tìm đọc thêm ở https://swift.org/package-manager nhé. II. Demo project và hướng dẫn sử dụng Swift Package Manager Đầu tiên mình sẽ tạo package kế thừa UITextField giúp format string về VNĐ ( chắc hẳn nhiều dev sẽ cần điều này) Mở Xcode ➞ File ➞ New ➞ Swift Package chọn tên của Package như trên là “VNDTextField” ở đây [...]

Marketplace Illustration
Xây dựng swift package để gọi network trong swift

Bài viết được sự cho phép của tác giả Lê Xuân Quỳnh Tuần trước, chúng ta đã xem qua 1 cách custom về thư viện bàn phím hiển thị gợi ý tiền Việt Nam. Hôm nay tôi sẽ hướng dẫn cách tạo 1 thư viện để gọi network dạng restful API. Thư viện tên là Qnetwork. Bạn có thể tải trên github tại đường dẫn: https://github.com/lexuanquynh/QNetwork Thư viện này dùng để làm gì? Đầu tiên trước khi tiến hành xây dựng, hãy tải phần demo của tôi tại đường dẫn: https://github.com/lexuanquynh/QNetworkDemo Đầu tiên, bạn cần biết rằng tôi xây dựng thư viện này tốt nhất cho kiến trúc MVVM. Tuy nhiên bạn vẫn có thể sử dụng nó cho các architecture khác mà bạn muốn. Nếu hiểu theo cách đơn giản, bạn dùng thư viện này, bạn tạo các service để gọi API. Sau đó, bạn dùng nó để gọi bất cứ ở đâu bạn muốn. [irp posts="18846" name="Các [...]

Marketplace Illustration
Protocol-oriented programming: Trái tim của Swift!

Bài viết được sự cho phép của tác giả Lê Xuân Quỳnh Nếu bạn đang code Swift và vẫn không biết gì về Protocol-oriented programming(POP) thì đúng là bạn chưa biết gì về Swift. Nếu bạn vẫn giữ khư khư quan điểm lập trình hướng đối tượng(object-oriented paradigm) trong swift và không chịu tiếp nhận POP, thì thật là buồn khi tôi nói bạn không nên tiếp tục đọc bài viết này. Tất nhiên điều đó cũng làm tôi buồn lắm, vì bạn đã bỏ lỡ 1 bài viết quan trọng  [irp posts="18846" name="Các cách sử dụng AS, AS?, AS! một cách hiệu quả và an toàn trong code Swift"] [irp posts="37938" name="Các ưu nhược điểm của Swift so với Objective C"] Xem thêm nhiều việc làm Swift hấp dẫn trên TopDev Nếu bạn vẫn ở lại, hãy cùng xem những ví dụ đơn giản của POP để thấy được sức mạnh của nó mang lại nhé. Bài viết tiếng Anh vui lòng [...]

Marketplace Illustration
RxSwift 9: Subjects

Bài viết được sự cho phép của tác giả Lê Xuân Quỳnh Trong bài 8, chúng ta đã biết cách tạo 1 observable factory, biết cách tạo nhiều loại observable khác nhau cho các subscribers. Từ 8 bài, bạn đã nắm chắc được 1 observable là gì, cách tạo ra nó, cách đăng ký tới nó, và giải phóng khi nó hoàn thành. Observables là 1 phần cơ bản của RxSwift, nhưng nhu cầu cơ bản của phát triển ứng dụng là thêm thủ công các giá trị tới observable trong thời gian thực, sau đó gửi(emited) tới các subscribers. Những gì bạn muốn đồng thời là observable và observer. Và thứ đó được gọi là Subjects. [irp posts="3913" name="10 theme Sublime Text tốt nhất"] [irp posts="7048" name="Cách thiết lập một dự án Symfony để làm việc với Docker Subdomains"] Trong bài này, chúng ta sẽ tìm hiểu sự khác nhau giữa các loại subject, cách nó làm việc và dùng nó trong trường hợp cụ thể nào. Để bắt đầu, chúng ta tạo đoạn [...]

Marketplace Illustration
Lập trình IOS: Triển khai MVVM cho project swift (phần 5): Tạo ứng dụng offline bằng realm database (tiếp theo)

Bài viết được sự cho phép của tác giả Lê Xuân Quỳnh Xin chào! Trong bài hôm trước chúng ta đã viết xong lớp base để xử lý realm database rồi. Và bài hôm nay chúng ta sẽ tiến hành viết các service kế thừa từ lớp này để sử dụng realm database 1 cách linh hoạt. Lớp RealmGithubService của chúng ta sẽ có nhiều vụ sau: Lưu trữ kết quả từ server trả về, cụ thể model GithubSearchResponse Vì với mỗi keyword sẽ có 1 response khác nhau, đồng thời mỗi keyword này tùy vào số page gửi lên mà 1 kết quả khác nhau. Do vậy chúng ta cần lưu response này với khóa chính kết hợp giữa keyword và page Lấy response đã lưu dựa vào keyword đã search và page tương ứng Xóa hay update response Xóa toàn bộ response [irp posts="2391" name="3 sai lầm các iOS Developers thường mắc phải"] [irp posts="1489" name="5 bài học quí giá về việc phát triển ứng dụng iOS"] Từ những phân tích trên, chúng ta tiế [...]

Marketplace Illustration
Lập trình IOS: Triển khai MVVM cho project swift (phần 4): Tạo ứng dụng offline bằng realm database

Bài viết được sự cho phép của tác giả Lê Xuân Quỳnh Hello mọi người! Trong bài hôm nay chúng ta sẽ phát triển ứng dụng lên một tầm cao mới. Đó là có thể sử dụng ứng dụng offline được. Không cần mạng internet, chúng ta vẫn có thể truy cập dữ liệu đã tải trước đó. Như các bạn thấy, một số ứng dụng tiêu biểu cho việc này là facebook. Khi bạn tắt mạng đi, thì nó vẫn có thể đăng bài, tải các bài trên feed đã lưu trước đó. Trông cũng khá ổn, nó tăng tính trải nghiệm người dùng hơn, chuyên nghiệp hơn đúng không nào?  Xem thêm Tuyển ios, việc làm swift, việc làm database hấp dẫn trên TopDev Vậy thì, hôm nay chúng ta làm điều đó, bằng 1 framework cho database, khá chuyên nghiệp đó là Realm. Vậy realm là gì? Có thể bằng vài câu thì không nói hết được các tiện ích mà framework này mang [...]

Marketplace Illustration
Lập trình IOS: Triển khai MVVM cho project swift(phần 3)

Bài viết được sự cho phép của tác giả Lê Xuân Quỳnh Hello guys! Lại là mình đây  Trong bài trước, chúng ta đã học cách viết 1 lớp network layer rất chuyên nghiệp để call API, clear và simple. Hôm nay chúng ta sẽ tinh chỉnh cho app chuyên nghiệp hơn. [irp posts="37371" name="Lập trình IOS: Làm sao để viết code swift đúng chuẩn thế giới?"] [irp posts="1489" name="5 bài học quí giá về việc phát triển ứng dụng iOS"] Thêm indicator và search more Vậy chúng ta sẽ làm gì hôm nay: Thêm phần loading cho search Sửa API theo ducument Thêm phần load more khi scroll table view OKey, vậy chúng ta hãy cùng bắt đầu nhé. Đầu tiên như các bài trước bạn hãy checkout source code tại đây: https://github.com/codetoanbug/MVVMSample.git Vui lòng đọc cách chuyển sang branch bai3 dựa vào các bài trước để xem code nhé. Hãy cùng bắt đầu nhé  Thêm phần loading cho search Như các bạn thấy, thì các mục search trên cá [...]

Marketplace Illustration
Lập trình IOS: Triển khai MVVM cho project swift(phần 2)

Bài viết được sự cho phép của tác giả Lê Xuân Quỳnh Hello guys! Trong bài trước chúng ta đã hiển thị 1 danh sách động vật theo mô hình MVVM rất đơn giản. Trong bài này, chúng ta sẽ nâng độ khó lên bằng cách request data từ server thật, cụ thể là server của github. Và bài này tôi sẽ viết 1 lớp layer cho network mà bạn có thể bưng vào project của bạn luôn. [irp posts="1489" name="5 bài học quí giá về việc phát triển ứng dụng iOS"] [irp posts="6487" name="Cách làm một ứng dụng Chat cho Android & iOS bằng Contus Fly như thế nào?"] Lần này chúng ta sẽ hiển thị danh sách các Repositories – các source code của Github và hiển thị lên app của mình. Hình ảnh như sau: Danh sách repositories từ github server Nhấp 1 ngụm cà phê và vào việc nào  Đầu tiên source code vẫn là link bài 1: https://github.com/codetoanbug/MVVMSample.git Tuy nhiên tôi khuyên bạn chơi với terminal của MacBook cho [...]

Marketplace Illustration
Lập trình IOS: Triển khai MVVM cho prject swift (phần 1)

Bài viết được sự cho phép của tác giả Lê Xuân Quỳnh Hôm nay chúng ta sẽ làm 1 ứng dụng nho nhỏ, hiển thị danh sách các loại động vật, như hình ảnh: Danh sách các loại động vật Đầu tiên là tải source code của tôi tại đây: https://github.com/codetoanbug/MVVMSample Tôi hướng dẫn các bạn tải code về bằng git 1 xíu nhé. Là git command line nha các bạn. [irp posts="38163" name="Rx-MVVM(1): Cấu trúc project – lib manager"] [irp posts="37970" name="Rx-MVVM(2): Cấu trúc project – quản lý thư viện sử dụng trong dự án"] Đầu tiên là bạn mở terminal và gõ: git clone https://github.com/codetoanbug/MVVMSample.git Sau đó bạn cd vào thư mục code MVVMSample. Mẹo là gõ cd MV, nhấn nút tab trên bàn phím nó cũng ra lệnh như sau: cd MVVMSample Tiếp theo gõ để show toàn bộ branch: git branch -a Bạn sẽ thấy branch master, bai1… Mỗi branch sẽ chứa code của 1 bài. Ở đây ta chỉ quan tâm code bài 1 nên bạn cần chuyển qua code của bà [...]

Marketplace Illustration
Swift – ngôn ngữ lập trình hoàn hảo

Bài viết được sự cho phép của smartjob.vn Trong sự kiện quan trọng WWDC năm 2014, một ngôn ngữ lập trình hoàn toàn mới được ra đời, đó là Swift. Swift hứa hẹn sẽ là ngôn ngữ lập trình góp phần quan trong trong trải nghiệm sử dụng sản phẩm di động. Sau khi ra mắt iPhone vào năm 2007, Steve Jobs đã khiến giới công nghệ công nhận rằng đây không phải là sự kiện để Apple ra mắt các sản phẩm phần cứng, mà là sự kiện để các lập trình viên có thể học hỏi về những “vũ khí” mới của họ trong cuộc chinh phục cộng đồng người dùng iOS và Mac OX S. Ngôn ngữ lập trình Swift là một trong những sản phẩm lớn nhất mà Apple muốn giới thiệu đến các fan nhà Táo. Nó có thể giúp quá trình phát triển ứng dụng trở nên nhanh và dễ dàng hơn nhằm tạo ra những sản phẩm di động tốt nhấ [...]

Marketplace Illustration
RxSwift 7: Disposing và terminating

Bài viết được sự cho phép của tác giả Lê Xuân Quỳnh Trong bài trước, chúng ta đã nghiên cứu cách tạo các observables ở những kiểu khác nhau. Ở bài chúng ta nghiên cứu phần xử lý và chấm dứt chúng. [irp posts="37492" name="RxSwift 10: Làm việc với PublishSubjects"] [irp posts="37879" name="RxSwift 2: Khái niệm cơ bản về lập trình bất đồng bộ"] Hãy nhớ rằng 1 observable sẽ không làm gì cho đến khi nó nhận được đăng ký(subscription). Một đăng ký kích hoạt nó phát ra các sự kiện, cho đến khi nó tạo ra 1 sự kiện .error hoặc .completed để kết thúc. Bạn có thể đăng ký nó và chấm dứt nó. Cùng xem ví dụ sau: example(of: "dispose") { // 1 let observable = Observable.of("A", "B", "C") // 2 let subscription = observable.subscribe { event in // 3 print(event) } } Tạo 1 observable gồm các string Đăng ký vào observable, phát ra các sự kiện Hiển thị các sự kiện phát ra Kết quả: --- Example of: dispose --- next(A) next(B) next(C) completed Để hủy 1 subscribe, ta thêm dispose() cho nó. Và nó ngừng [...]

Marketplace Illustration
RxSwift 1: Xin chào RxSwift!

Bài viết được sự cho phép của tác giả Lê Xuân Quỳnh Dựa theo tác giả: Marin Todorov. Loạt bài đăng này giới thiệu cho bạn cách viết ứng dụng IOS sử dụng Reactive bằng ngôn ngữ Swift. Vậy chính xác RxSwift = Reactive + swift là gì? Nó là thư viện để xử lý các sự kiện không đồng bộ (theo thời gian thực) nhờ việc tạo ra các observable quan sát và các toán tử (operators) chức năng xử lý tham số hóa nhờ schedulers – lập lịch. Nói nôm na, ví dụ người yêu bạn thấy trời nắng thì liền dùng ô, thấy mưa thì chạy vào nhà. Sự kiện mưa nắng là ngẫu nhiên, nhưng việc xử lý chính xác dùng ô hay chạy vào nhà gọi là schedulers. Các observable chính xác là mắt nhìn của người yêu bạn. Trong lập trình reactive nó cũng tương tự như vậy. [irp posts="37492" name="RxSwift 10: Làm việc với PublishSubjects"] [irp posts="37765" name="RxSwift 3: Thuật ngữ về lậ [...]