diff --git a/Skills/Additional.md b/Skills/Additional.md new file mode 100644 index 00000000..3b1971c8 --- /dev/null +++ b/Skills/Additional.md @@ -0,0 +1,96 @@ +## Kotlin Programming Skills + +### Language Fundamentals + +- Variables and Data Types + - val: 🖐️ used + - var: 🖐️ used + - String: 🖐️ used + - Int: 🖐️ used + - Double: 🖐️ used + - Boolean: 🖐️ used + - Nullable types: 🎓 known + - Arrays: 🖐️ used + +- Control Flow + - if: 🖐️ used + - when: 🖐️ used + - for and while loops: 🎓 known + - break and continue: 🎓 known + - return: 🖐️ used + +- Functions + - Function declaration: 🖐️ used + - Default and named parameters: 🎓 known + - Lambda expressions: 🎓 known + - Higher-order functions: 🎓 known + +- Classes and Objects + - Class declaration: 🖐️ used + - Object declaration: 🖐️ used + - Companion objects: 🎓 known + - Inheritance: 🎓 known + - Interfaces: 🖐️ used + - Data classes: 🎓 known + +- Null Safety + - Safe calls (?.): 🖐️ used + - Elvis operator (?:): 🎓 known + - !! operator: 🖐️ used + - Safe casts (as?): 🎓 known + +### Coroutines + +- Basics of Coroutines + - suspend functions: 🎓 known + - launch and async builders: 🎓 known + - CoroutineScope: 🎓 known + +- Coroutine Context + - Dispatchers: 🎓 known + - CoroutineExceptionHandler: 🎓 known + +- Channels + - Send and Receive channels: 🎓 known + - Buffered channels: 🎓 known + - Conflated channels: 🎓 known + +### Standard Library + +- Collections + - List: 🖐️ used + - Set: 🎓 known + - Map: 🖐️ used + - Extension functions: 🎓 known + - Functional operations (map, filter, reduce): 🎓 known + +- I/O Operations + - File operations: 🎓 known + - Input and Output streams: 🎓 known + +- Regex + - Regular expressions in Kotlin: 🎓 known + +### Android Development + +- Views and Layouts + - XML layouts: 🖐️ used + - ViewGroup and View: 🖐️ used + +- Activities and Fragments + - Activity lifecycle: 🎓 known + - Fragment lifecycle: 🎓 known + +- RecyclerView + - Adapter and ViewHolder: 🎓 known + - ItemDecoration: 🎓 known + +- ViewModel and LiveData + - ViewModel architecture: 🎓 known + - LiveData usage: 👂 heard + +### Dependency Management + +- Gradle + - Build scripts: 🎓 known + - Dependency configurations: 🎓 known diff --git a/Skills/Async.md b/Skills/Async.md index d4920e13..6102ef8c 100644 --- a/Skills/Async.md +++ b/Skills/Async.md @@ -3,24 +3,24 @@ - Theory - Event loop: 🎓 known - try..catch: 🎓 known - - Non-blocking: 👂 heard - - Async I/O - - Thread pool - - Pattern Reactor - - CAS operations + - Non-blocking: 🎓 known + - Async I/O: : 🎓 known + - Thread pool: 🎓 known + - Pattern Reactor: 🎓 known + - CAS operations: 🎓 known - epoll - kqueue - - Completion ports - - Event ports + - Completion ports: 🎓 known + - Event ports: 👂 heard - libuv - - Race conditions - - Dead locks - - Live locks - - Concurrent programming: 👂 heard - - Parallel programming: 👂 heard - - Actor Model - - Thread - - Process + - Race conditions: 🎓 known + - Dead locks: 🎓 known + - Live locks: 🎓 known + - Concurrent programming: 🎓 known + - Parallel programming: 🎓 known + - Actor Model: 🎓 known + - Thread: 👂 heard + - Process: 👂 heard - Async contracts - Callbacks: 🎓 known - Callback-last-error-first: 🎓 known @@ -33,31 +33,31 @@ - Async Generator: 🎓 known - Async Iterator: 🎓 known - Event: 🎓 known - - Coroutine - - Goroutine - - Signal - - Stream - - Chain of responsibility - - Middleware - - Locks + - Coroutine: 🎓 known + - Goroutine: 👂 heard + - Signal: 🎓 known + - Stream: 🎓 known + - Chain of responsibility: 👂 heard + - Middleware: 🎓 known + - Locks: 🎓 known - Async adapters and utils - callbackify: 🎓 known - promisify: 🎓 known - - asyncify - - callbacks compose - - async compose + - asyncify: 🎓 known + - callbacks compose: 🎓 known + - async compose: 🎓 known - Async abstractions interfaces - EventEmitter: 🎓 known - Observable/Observer: 🎓 known - - Readable - - Writable - - Transform - - Async Pool - - Async Queue - - Async Collector - - Semaphore - - Mutex - - Spin Lock + - Readable: 🎓 known + - Writable: 🎓 known + - Transform: 🎓 known + - Async Pool: 🎓 known + - Async Queue: 🎓 known + - Async Collector: 🎓 known + - Semaphore: 🎓 known + - Mutex: 👂 heard + - Spin Lock: 🎓 known - JavaScript & Node.js specific - Timers: 🎓 known - setImmediate: 🎓 known @@ -68,7 +68,7 @@ - Promise double resolve - child_process - worker_threads - - Atomics + - Atomics: 👂 heard - High resolution clock - Callback hell - Promise hell diff --git a/Skills/NodeJS.md b/Skills/NodeJS.md index 4b99e862..8b050236 100644 --- a/Skills/NodeJS.md +++ b/Skills/NodeJS.md @@ -20,8 +20,8 @@ - Dependencies: npm, node_modules: 🎓 known - Dependencies: package.json and package lock: 👂 heard - Module-based permissions model - - Isolation with modularity - - Dependency injection + - Isolation with modularity: 🎓 known + - Dependency injection: 🎓 known - DI containers - Coupling and cohesion - Framework agnostic approach @@ -29,7 +29,7 @@ - Command line arguments: 🎓 known - Node.js CLI: 👂 heard - Process-based permissions - - Graceful shutdown + - Graceful shutdown: 🎓 known - Clustering - Watch filesystem changes with --watch - Internal API @@ -62,10 +62,10 @@ - Module node:zlib - Application structure and architecture - Isolation between layer: 🎓 known - - Multilayer approach + - Multilayer approach: 🎓 known - Separation of concerns - Inversion of control - - Dependency injection + - Dependency injection: 🎓 known - GRASP - SOLID - GoF patterns @@ -105,7 +105,7 @@ - DNS - Fetch API - IncomingMessage - - SQL injection + - SQL injection: 🖐️ used - noDelay - keep-alive - ALPN @@ -113,14 +113,14 @@ - SSL certificates - Protocol agnostic approach - Technique and tools - - Native test runner - - Logging - - Application configuring + - Native test runner: 🎓 known + - Logging: 🎓 known + - Application configuring: 🎓 known - Testing: 🎓 known - - CI/CD - - Readable - - Writable - - Transform + - CI/CD: 🎓 known + - Readable: 🎓 known + - Writable: 🎓 known + - Transform: 🎓 known - back pressure - Buffer - Console: 🎓 known @@ -130,8 +130,8 @@ - Availability - Flexibility - Data access - - Data access layer: 👂 heard - - Repository: 👂 heard + - Data access layer: : 🎓 known + - Repository: : 🎓 known - Active record - Query builder - Object-Relational Mapping diff --git a/Skills/Paradigms.md b/Skills/Paradigms.md index 2d93369d..a4889036 100644 --- a/Skills/Paradigms.md +++ b/Skills/Paradigms.md @@ -5,21 +5,21 @@ - Imperative programming: 🎓 known - Structured programming: 🎓 known - Non-structured programming: 👂 heard - - Functional programming: 👂 heard + - Functional programming: : 🎓 known - Prototype-based programming: 🎓 known - - Object-oriented programming: 🎓 known + - Object-oriented programming: 🙋 explained - Object-based programming: 🎓 known - Generic programming: 🎓 known - - Concurrent computing: 👂 heard - - Asyncronous programming: 👂 heard - - Parallel programming: 👂 heard + - Concurrent computing: 🎓 known + - Asyncronous programming: 🎓 known + - Parallel programming: 🎓 known - Reactive programming: 👂 heard - - FRP (Functional-reactive) - - Automata-based programming - - Domain-specific languages + - FRP (Functional-reactive): 👂 heard + - Automata-based programming: 👂 heard + - Domain-specific languages: 👂 heard - Multi-paradigm programming: 🎓 known - - Metaprogramming - - Actor model: 👂 heard + - Metaprogramming: 👂 heard + - Actor model: 🎓 known - OOP basics - constructor: 🖐️ used - new: 🖐️ used @@ -31,36 +31,36 @@ - Private fields: 🎓 known - Field declarations - Inheritance: 🎓 known - - Parent class - - Polymorphism - - Abstract class - - Interface - - Encapsulation - - Hidden class - - Object form - - instance - - Introspection - - Reflection + - Parent class: 🖐️ used + - Polymorphism: 🖐️ used + - Abstract class: 🖐️ used + - Interface: 🖐️ used + - Encapsulation: 🎓 known + - Hidden class: 🎓 known + - Object form: 🎓 known + - instance: 🎓 known + - Introspection: 🎓 known + - Reflection: 🎓 known - Patterns - Singleton: 🎓 known - - Factory Method - - Abstract Factory - - Adapter - - Observer - - Strategy - - Facade - - Proxy - - Chain of Responsibility - - Command - - Iterator - - State - - Bridge - - Builder + - Factory Method: 🎓 known + - Abstract Factory: 🎓 known + - Adapter: 🎓 known + - Observer: 🎓 known + - Strategy: 🎓 known + - Facade: 🎓 known + - Proxy: 🎓 known + - Chain of Responsibility: 👂 heard + - Command: 🎓 known + - Iterator: 🎓 known + - State: 🎓 known + - Bridge: 🎓 known + - Builder: 🎓 known - Prototype: 🎓 known - - Composite - - Decorator - - Flyweight - - Mediator - - Memento - - Template Method - - Visitor + - Composite: 👂 heard + - Decorator: 🎓 known + - Flyweight: 👂 heard + - Mediator: 👂 heard + - Memento: 👂 heard + - Template Method: 🎓 known + - Visitor: 🎓 known