 # 🎯 My-iOS-Dev-Learning-Tracker Hi! This is my log of iOS development skills, resources, highlights and many more that eventially evolved into a constantly growing knowledge base Here gethered the bare minimum you need to know to become an iOS developer. `Highlighted` themes are most essential topics Feel free to contribute! # 🗺 iOS Developer skills Tree navigation [**`❇️ General notes`**](#-general-notes) [**`✊ Practical knowledge`**](#-practical-knowledge) * [Pet projects](#pet-projects) * [Practice projects](#practice-projects) * [Languages](#languages) * [Memory management](#memory-management) * [Multithreading and concurrency](#multithreading-and-concurrency) * [SwiftUI](#swiftui) * [Cocoa Touch](#cocoa-touch) * [Software Architecture](#software-architecture) * [Dependencies management](#dependencies-management) * [Project structure organisation](#project-structure-organisation) * [Version Control Systems](#version-control-systems) * [Debugging](#debugging) * [UX](#ux) * [Caching and Persistency](#caching-and-persistency) * [Testing](#testing) * [Performance optimization](#performance-optimization) * [Code signing](#code-signing) * [Tools](#tools) * [Continuous Integration](#continuous-integration) * [Security](#security) * [tvOS](#tvos) * [WatchKit](#watchkit) * [Core ML](#core-ml) [**`🧠 Computer Science knowledge`**](#-computer-science-knowledge) * [Algorithms](#algorithms) * [Abstract Data Types](#abstract-data-types) * [System design](#system-design) * [Programming Paradigms](#programming-paradigms) [**`🥁 Project Management knowledge`**](#-project-management-knowledge) * [Project Management Metodologies](#project-management-metodologies) ---- ### [`❇️ General notes`](Resources/Note_attachments/General_notes/General_notes.md) - [My Skills and Experience](Resources/Note_attachments/General_notes/My_Skills.md) - [References](Resources/Note_attachments/General_notes/References.md) - [Useful Tools](Resources/Note_attachments/General_notes/Useful_Tools.md) - [Useful links](Resources/Note_attachments/General_notes/Useful_links.md) - [**`🧳 My main source of useful stuff`**](https://github.com/BohdanOrlov/iOS-Developer-Roadmap/blob/master/RoadmapProject/Script/Generated/ROADMAP.md) - [**`🎒 Good practices`**](https://github.com/futurice/ios-good-practices) - [Courses and books](Resources/Note_attachments/General_notes/Education.md) - [Inspiration](Resources/Note_attachments/General_notes/Inspiration.md) - [Job hunt](Resources/Note_attachments/General_notes/Job_hunt.md) - [Command Line](Resources/Note_attachments/General_notes/Command_Line.md) --- ### `✊ Practical knowledge` #### [`Pet projects`](Resources/Note_attachments/General_notes/Practice_Projects.md) #### [`Practice projects`](https://github.com/Lemonbrush/Practice-Apps) #### [`Languages`](Resources/Note_attachments/Practical_knowledge/Languages/Languages.md) - [ ] [`Objective-C`](Resources/Note_attachments/Practical_knowledge/Languages/Objective-C/Objective-C.md) - [X] [Program Structure](https://www.tutorialspoint.com/objective_c/objective_c_program_structure.htm) - [X] [Basic Syntax](https://www.tutorialspoint.com/objective_c/objective_c_basic_syntax.htm) - [X] [Data Types](https://www.tutorialspoint.com/objective_c/objective_c_data_types.htm) - [X] [Variables](https://www.tutorialspoint.com/objective_c/objective_c_variables.htm) - [X] [Constants](https://www.tutorialspoint.com/objective_c/objective_c_constants.htm) - [X] [Operators](https://www.tutorialspoint.com/objective_c/objective_c_operators.htm) - [X] [Loops](https://www.tutorialspoint.com/objective_c/objective_c_loops.htm) - [X] [Decision Making](https://www.tutorialspoint.com/objective_c/objective_c_decision_making.htm) - [X] [Functions](https://www.tutorialspoint.com/objective_c/objective_c_functions.htm) - [X] [`Blocks`](Resources/Note_attachments/Practical_knowledge/Languages/Objective-C/Blocks.md) - [X] [Memory Management](Resources/Note_attachments/Practical_knowledge/Languages/Objective-C/Memory_Management.md) - [X] [Numbers](https://www.tutorialspoint.com/objective_c/objective_c_numbers.htm) - [X] [Arrays](https://www.tutorialspoint.com/objective_c/objective_c_arrays.htm) - [X] [Pointers](https://www.tutorialspoint.com/objective_c/objective_c_pointers.htm) - [X] [Strings](https://www.tutorialspoint.com/objective_c/objective_c_strings.htm) - [X] Structures - [X] Preprocessors - [ ] Typedef - [ ] Type Casting - [ ] Log Handling - [ ] Error Handling - [ ] Line Arguments - [X] Classes & Objects - [X] Inheritance - [X] Polymorphism - [X] Data Encapsulation - [ ] Categories - [ ] Posing - [X] Extensions - [X] Protocols - [ ] Dynamic Binding - [ ] Composite Objects - [ ] Foundation Framework - [ ] Fast Enumeration - [ ] Memory Management - [ ] KVC - [ ] KVO - [ ] Toll-free bridging - [ ] `Runtime` - [ ] Method messaging - [ ] NSZombies and KVO implementation - [ ] Swizzling - [x] [`Swift`](Resources/Note_attachments/Practical_knowledge/Languages/Swift/Swift.md) - [X] [The Basics](Resources/Note_attachments/Practical_knowledge/Languages/Swift/Basics.md) - [X] [Basic operators](https://docs.swift.org/swift-book/LanguageGuide/BasicOperators.html) - [X] [Strings and Characters](https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html) - [X] [Collection Types](https://docs.swift.org/swift-book/LanguageGuide/CollectionTypes.html) - [X] [Control Flow](https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html) - [X] [Functions](https://docs.swift.org/swift-book/LanguageGuide/Functions.html) - [X] [Closures](Resources/Note_attachments/Practical_knowledge/Languages/Swift/Closures.md) - [X] [`Enums`](https://docs.swift.org/swift-book/LanguageGuide/Enumerations.html) - [X] [`Structures and Classes`](https://docs.swift.org/swift-book/LanguageGuide/ClassesAndStructures.html) - [X] [Properties](https://docs.swift.org/swift-book/LanguageGuide/Properties.html) - [X] [Methods](https://docs.swift.org/swift-book/LanguageGuide/Methods.html) - [X] [Subscript](https://docs.swift.org/swift-book/LanguageGuide/Subscripts.html) - [X] [Inheritance](https://docs.swift.org/swift-book/LanguageGuide/Inheritance.html) - [X] [`Initialization`](Resources/Note_attachments/Practical_knowledge/Languages/Swift/Initialization.md) - [X] [Deinitialization](https://docs.swift.org/swift-book/LanguageGuide/Deinitialization.html) - [X] [Optional Chaining](https://docs.swift.org/swift-book/LanguageGuide/OptionalChaining.html) - [X] [Error Handling](https://docs.swift.org/swift-book/LanguageGuide/ErrorHandling.html) - [ ] [Concurrency](https://docs.swift.org/swift-book/LanguageGuide/Concurrency.html) - [X] [Type Casting](https://docs.swift.org/swift-book/LanguageGuide/TypeCasting.html) - [X] [Nested Types](https://docs.swift.org/swift-book/LanguageGuide/NestedTypes.html) - [X] [Extensions](https://docs.swift.org/swift-book/LanguageGuide/Extensions.html) - [X] [`Protocols`](Resources/Note_attachments/Practical_knowledge/Languages/Swift/Protocols.md) - [X] [Generics](Resources/Note_attachments/Practical_knowledge/Languages/Swift/Generics.md) - [X] [Opaque Types](https://docs.swift.org/swift-book/LanguageGuide/OpaqueTypes.html) - [X] [Automatic Reference Counting](https://docs.swift.org/swift-book/LanguageGuide/AutomaticReferenceCounting.html) - [X] [Memory Safety](https://docs.swift.org/swift-book/LanguageGuide/MemorySafety.html) - [X] [Access Control](https://docs.swift.org/swift-book/LanguageGuide/AccessControl.html) - [x] [Advanced Operators](https://docs.swift.org/swift-book/LanguageGuide/AdvancedOperators.html) - [x] [Runtime](https://stackoverflow.com/questions/37315295/how-does-ios-swift-runtime-work) - [x] [Method dispatch](Resources/Note_attachments/Practical_knowledge/Languages/Swift/Method_dispatch.md) - [X] [KVO](Resources/Note_attachments/Practical_knowledge/Languages/Swift/KVO.md) - [X] [Swift & Objective-C work together](https://medium.com/flawless-app-stories/swift-objective-c-mixed-languages-app-16b6c9c3e9b0) #### [`Memory management`](Resources/Note_attachments/Practical_knowledge/Memory_management/Memory_management.md) - [X] [`Stack and Heap`](Resources/Note_attachments/Practical_knowledge/Memory_management/Stack_and_Heap.md) - [X] [`Value vs Reference type`](Resources/Note_attachments/Practical_knowledge/Memory_management/Value_vs_Reference_type.md) - [X] [MRC](Resources/Note_attachments/Practical_knowledge/Memory_management/MRC.md) - [X] [`ARC`](Resources/Note_attachments/Practical_knowledge/Memory_management/ARC.md) - [X] [Weak references](Resources/Note_attachments/Practical_knowledge/Memory_management/Weak_references.md) - [X] [`Retain cycles`](Resources/Note_attachments/Practical_knowledge/Memory_management/Retain_cycles.md) - [X] [Garbage collection](Resources/Note_attachments/Practical_knowledge/Memory_management/Garbage_collection.md) - [X] [`Memory leaks`](https://link.medium.com/KaTkGXHuVfb) - [X] [Shallow and deep copying](Resources/Note_attachments/Practical_knowledge/Memory_management/Shallow_and_deep_copying.md) - [X] [Autorelease pool](Resources/Note_attachments/Practical_knowledge/Memory_management/Autorelease_pool.md) #### `Multithreading and concurrency` - [ ] POSIX and NSThreads - [ ] Perform selector family - [ ] [`GCD`](Resources/Note_attachments/Practical_knowledge/Multithreading_And_Concurrency/GCD.md) - [X] [`NSOperation(Queue)`](Resources/Note_attachments/Practical_knowledge/Multithreading_And_Concurrency/NSOperation.md) - [X] [`Runloop`](Resources/Note_attachments/Practical_knowledge/Multithreading_And_Concurrency/Runloop.md) - [X] [`Synchronization`](Resources/Note_attachments/Practical_knowledge/Multithreading_And_Concurrency/Synchronization.md) - [ ] Problems - [ ] Race condition - [ ] Deadlock - [ ] Readers–writers problem #### [SwiftUI](https://github.com/vlondon/awesome-swiftui) #### [`Cocoa Touch`](https://developer.apple.com/library/archive/documentation/General/Conceptual/DevPedia-CocoaCore/Cocoa.html) - [X] [`UIKit`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/UIKit.md) - [X] [`UIApplication`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/UIApplication.md) - [X] [`States`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/States.md) - [X] [UIApplicationDelegate](https://developer.apple.com/documentation/uikit/uiapplicationdelegate) - [X] [`UIView`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/UIView.md) - [X] [`UITableViews`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/UITableViews.md) - [X] [`UICollectionViews`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/UICollectionViews.md) - [ ] Layers - [X] [`Layout`](https://tech.gc.com/demystifying-ios-layout/) - [X] [`Frame-based`](https://nshipster.com/cggeometry/) - [X] [`Autolayout`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/Autolayout.md) - [X] [UIStackView](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/UIStackViews.md) - [ ] Animations - [ ] Transform - [X] [`Navigation`](https://medium.com/bumble-tech/screen-navigation-in-ios-dd99b09228b2) - [ ] [Deep links](https://ilya.puchka.me/deeplinks-no-brainer/) - [ ] [FlowControllers](http://merowing.info/2016/01/improve-your-ios-architecture-with-flowcontrollers/) - [X] [`UIViewController`](https://developer.apple.com/library/archive/featuredarticles/ViewControllerPGforiPhoneOS/) - [X] [`Lifecycle`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/UIKit/UIViewController_Lifecycle.md) - [X] [`Foundation`](https://developer.apple.com/documentation/foundation) - [X] [`Notifications Delegation and Observing`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/Foundation/Notifications_Delegation_Observing.md) - [ ] Collections - [X] [`Networking`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/Foundation/Networking.md) - [X] [`Serialization`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/Foundation/Serialization.md) - [ ] NSCoding - [X] [`Codable`](https://medium.com/hackernoon/swift-codability-d0d232065cad) - [X] [`JSON`](https://www.avanderlee.com/swift/json-parsing-decoding/) - [ ] XML - [ ] Protobuf - [ ] UserNotifications - [ ] Core Location - [ ] Core Motion - [X] [`Work in background mode`](Resources/Note_attachments/Practical_knowledge/Cocoa_Touch/Foundation/WorkInBackgroundMode.md) #### `Software Architecture` - [ ] `Design Patterns` - [ ] [`Cocoa`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Patterns/Cocoa.md) - [ ] Abstract Factory - [ ] Class cluster - [ ] Adapter - [ ] Command Pattern - [ ] Chain of Responsibility - [ ] Decorator - [ ] Delegation - [ ] Categories - [ ] Facade - [ ] Memento - [ ] Observer - [ ] Proxy - [ ] Receptionist - [X] [Singleton]((Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Patterns/Creational/Singleton.md)) - [ ] Template Method - [ ] MVC - [ ] `Architectural` - [X] [`MVC`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Patterns/Architectural/MVC.md) - [X] [`MVVM`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Patterns/Architectural/MVVM.md) - [X] [`MVP`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Patterns/Architectural/MVP.md) - [ ] `Clean architecture` - [ ] VIPER - [ ] RIBs - [ ] Coordinators - [ ] `Creational` - [ ] Factory - [ ] Abstract Factory - [ ] Builder - [ ] Factory Method - [ ] Object Pool - [ ] Prototype - [X] [Singleton]((Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Patterns/Creational/Singleton.md)) - [ ] `Structural` - [ ] Adapter - [ ] Bridge - [ ] Composite - [ ] Decorator - [ ] Facade - [ ] Flyweight - [ ] Proxy - [ ] `Behavioural` - [ ] Command - [ ] Chain of responsibility - [ ] Interpreter - [ ] Iterator - [ ] Mediator - [ ] Memento - [ ] Observer - [ ] State - [ ] Strategy - [ ] Visitor - [ ] Concurrency - [ ] Anti-pattern - [X] [`Design Principles`](https://www.dotnettricks.com/learn/designpatterns/different-types-of-software-design-principles) - [X] [`SOLID`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Principles/SOLID.md) - [X] [`DRY`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Principles/DRY.md) - [X] [`KISS`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Principles/KISS.md) - [X] [`YAGNI`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/Design_Principles/YAGNI.md) - [X] [`Inversion of Control`](https://martinfowler.com/bliki/InversionOfControl.html) - [X] [`Dependency Injection`](Resources/Note_attachments/Practical_knowledge/Software_Architecture/DependencyInjection/SOLID.md) - [ ] [Service Locator](Resources/Note_attachments/Practical_knowledge/Software_Architecture/DependencyInjection/ServiceLocator.md) - [ ] Protocol-Oriented Programming #### `Dependencies management` - [X] [Cocoapods](Resources/Note_attachments/Practical_knowledge/Dependencies_management/Cocoapods.md) - [ ] [Carthage](https://www.raywenderlich.com/7649117-carthage-tutorial-getting-started) - [X] [Swift Package Manager](https://swift.org/package-manager/) #### [`Project structure organization`](Resources/Note_attachments/Practical_knowledge/Project_structure_organisation.md) #### `Version Control Systems` - [X] [`Git`](Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md) - [X] [How to config](https://github.com/Lemonbrush/My-iOS-Dev-Learning-Tracker/blob/main/Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md#configuration) - [X] [How to clone](https://github.com/Lemonbrush/My-iOS-Dev-Learning-Tracker/blob/main/Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md#core-commands) - [X] [How to commit](https://github.com/Lemonbrush/My-iOS-Dev-Learning-Tracker/blob/main/Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md#core-commands) - [X] [How to pull](https://github.com/Lemonbrush/My-iOS-Dev-Learning-Tracker/blob/main/Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md#synchronization-of-changes) - [X] [How to push](https://github.com/Lemonbrush/My-iOS-Dev-Learning-Tracker/blob/main/Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md#synchronization-of-changes) - [X] [How to create/change/delete/merge branches](https://github.com/Lemonbrush/My-iOS-Dev-Learning-Tracker/blob/main/Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md#branches) - [X] [How to log](https://github.com/Lemonbrush/My-iOS-Dev-Learning-Tracker/blob/main/Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md#history) - [X] [How to reflog](https://github.com/Lemonbrush/My-iOS-Dev-Learning-Tracker/blob/main/Resources/Note_attachments/Practical_knowledge/Version_Control_Systems/How_to_GitHub.md#commit-manipulation) - [X] [How to resolve conflicts](https://githowto.com/ru/resolving_conflicts) - [X] [GitFlow](https://proglib.io/p/git-github-gitflow/) #### Debugging - [ ] Instruments - [ ] Best practices - [ ] Checklists #### UX - [ ] [Human Interface Gidelines](https://developer.apple.com/design/human-interface-guidelines/) - [ ] [Custom transitions](https://theswiftdev.com/ios-custom-transition-tutorial-in-swift/) #### [`Caching and Persistency`](Resources/Note_attachments/Practical_knowledge/Caching_and_Persistency/Caching_and_Persistency.md) - [X] [UserDefaults](Resources/Note_attachments/Practical_knowledge/Caching_and_Persistency/UserDefaults.md) - [ ] Saving files to disk (Codable) - [ ] Keychain - [ ] SQLite - [ ] [Core Data](Resources/Note_attachments/Practical_knowledge/Caching_and_Persistency/CoreData.md) - [ ] [Realm](Resources/Note_attachments/Practical_knowledge/Caching_and_Persistency/Realm.md) - [ ] Property Lists - [ ] YAPDatabase #### [`Testing`](Resources/Note_attachments/Practical_knowledge/Testing/Testing.md) - [X] [`FIRST principles`](https://medium.com/@tasdikrahman/f-i-r-s-t-principles-of-testing-1a497acda8d6) - [X] [`Unit Tests`](Resources/Note_attachments/Practical_knowledge/Testing/Unit_tests.md) - [X] [Snapshot Tests](Resources/Note_attachments/Practical_knowledge/Testing/Snapshot_tests.md) - [X] [Functional test](Resources/Note_attachments/Practical_knowledge/Testing/Functional_tests.md) - [X] [UI Tests](Resources/Note_attachments/Practical_knowledge/Testing/UI_tests.md) - [X] [TDD (Test Driven Development)](Resources/Note_attachments/Practical_knowledge/Testing/TDD.md) - [ ] BDD #### Performance optimization - [ ] Increase FPS - [ ] Decrease memory footprint #### Code signing #### Tools - [X] [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment) - [X] [Xcode](Resources/Note_attachments/Practical_knowledge/Tools/XCode.md) - [X] [Interface Builder](https://www.toptal.com/ios/ios-user-interfaces-storyboards-vs-nibs-vs-custom-code) - [X] [Rename project](https://stackoverflow.com/questions/33370175/how-do-i-completely-rename-an-xcode-project-i-e-inclusive-of-folders) - [X] [Delete derived data with Xcode](https://programmingwithswift.com/delete-derived-data-xcode/) - [X] [Swiftlint](https://github.com/realm/SwiftLint) - [ ] [Sourcery](https://github.com/krzysztofzablocki/Sourcery) - [ ] Fastlane - [X] [Charles](https://www.charlesproxy.com) #### Continuous Integration - [ ] Jenkins / CircleCI / Bitrise / Github Actions - [ ] Xcode server #### Security - [ ] Keychain - [ ] Security Transforms API - [ ] Secure Enclave #### tvOS - [ ] Focus interactions #### [WatchKit](https://developer.apple.com/tutorials/swiftui/creating-a-watchos-app) #### [Core ML](Resources/Note_attachments/Practical_knowledge/Machine_Learning/Machine_Learning.md) - [X] [Model conversion](Resources/Note_attachments/Practical_knowledge/Machine_Learning/Model_conversion.md) - [X] [Create ML](Resources/Note_attachments/Practical_knowledge/Machine_Learning/Create_ML.md) #### [Augmented Reality](Resources/Note_attachments/Practical_knowledge/AugmentedReality/AugmentedReality.md) --- ### [`🧠 Computer Science knowledge`](Resources/Note_attachments/Computer_Science_knowledge/Computer_Science_knowledge.md) #### `Algorithms` - [X] `Sorting` - [X] [Merge Sort](https://www.raywenderlich.com/741-swift-algorithm-club-swift-merge-sort) - [X] [Quick Sort](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Quicksort) - [X] [Heap Sort](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Heap%20Sort) - [X] [Counting Sort](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Counting%20Sort) - [ ] `Graph Theory` - [ ] Depth-First Search (DFS) - [ ] Breadth-First Search (BFS) - [ ] Minimum Spanning Tree (MST) - [ ] Trees - [X] `Strings` - [X] [Brute-forse](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Brute-Force%20String%20Search) - [X] [Boyer-Moore](https://www.raywenderlich.com/541-swift-algorithm-club-boyer-moore-string-search-algorithm) - [ ] Greedy - [ ] Dynamic Programming - [ ] Bit Manipulation - [ ] [`Recursion`](https://leetcode.com/explore/learn/card/recursion-i/) - [ ] Game Theory - [ ] NP Complete - [X] [`Big-O notation`](https://github.com/raywenderlich/swift-algorithm-club/blob/master/Big-O%20Notation.markdown) #### [`Abstract Data Types`](Resources/Note_attachments/Computer_Science_knowledge/Abstract_Data_Types/Abstract_data_types.md) - [x] `Arrays` - [x] [`Array`](https://developer.apple.com/documentation/swift/array) - [x] [Array 2D](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Array2D) - [X] `Lists` - [X] [`Singly linked list`](https://itnext.io/linkedlist-in-swift-code-a-linkedlist-data-structure-in-swift-playgrounds-97fe2ed9b8f1) - [x] [Doubly linked list](https://github.com/raywenderlich/swift-algorithm-club/blob/master/Linked%20List/README.markdown) - [X] [Circular linked list](https://redflowerinc.com/doubly-circular-linked-list-in-swift-capable-using-generics/) - [X] `Maps` - [X] [`Map`](https://developer.apple.com/documentation/swift/dictionary) - [X] [Multimap](https://stackoverflow.com/questions/24197186/implementing-a-multimap-in-swift-with-arrays-and-dictionaries) - [X] `Hash tables` - [X] [Hash table](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Hash%20Table) - [X] [`Set`](https://developer.apple.com/documentation/swift/set) - [X] [Hash Set](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Hash%20Set) - [X] [Multiset (Bag)](Resources/Note_attachments/Computer_Science_knowledge/Abstract_Data_Types/Multiset.md) - [X] [`Graphs`](https://www.raywenderlich.com/773-swift-algorithm-club-graphs-with-adjacency-list#toc-anchor-014) - [ ] `Queues` - [X] [`Stack`](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Stack) - [X] [`Queue`](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Queue) - [ ] Priority Queue - [ ] Double-ended priority queue - [ ] Double-ended queue (Deque) - [ ] Ring Buffer - [ ] Trees - [X] [Tree](https://www.raywenderlich.com/1053-swift-algorithm-club-swift-tree-data-structure) - [ ] Binary Tree - [ ] Binary Search Tree (BST) - [X] [Heap](https://github.com/raywenderlich/swift-algorithm-club/tree/master/Heap) #### `System design` - [ ] Problems #### Programming Paradigms - [X] [`Object-Oriented`](Resources/Note_attachments/Computer_Science_knowledge/Programming_Paradigms/Object-Oriented.md) - [ ] Functional - [ ] Functional Reactive Programming Frameworks - [ ] React Native - [ ] RxSwift - [ ] RxRealm, RxDataSources - [ ] Combine --- ### `🥁 Project Management knowledge` #### [`Project Management Metodologies`](Resources/Note_attachments/Project_Management__knowledge/ProjectManagement.md) - [X] [`Kanban`](Resources/Note_attachments/Project_Management__knowledge/Kanban.md) - [ ] [Scrum]() - [ ] [Agile]() - [ ] [Lean]() - [ ] [Waterfall]() - [ ] [Six Sigma]() - [ ] [PMI/PMBOK]() --- ## 😉 Feel free to text me Mail: `aa_rubtsov@mail.ru` Instagram: [**`@lemonbrusher`**](https://www.instagram.com/lemonbrusher/) Twitter: [**`@Lemonbrusher`**](https://twitter.com/Lemonbrusher) ## 🙏 Acknowledgments I was inspired by [Syknapse](https://github.com/Syknapse/My-Learning-Tracker). He does cool things! The tree is almost complete copy of [iOS-Developer-Roadmap](https://github.com/BohdanOrlov/iOS-Developer-Roadmap) --- [**`⬆️ Return to the Tree navigation ⬆️`**](#-ios-developer-skills-tree-navigation)