Skip to content

Commit

Permalink
After course (#2)
Browse files Browse the repository at this point in the history
* After course

* Automated skill analysis and report

---------

Co-authored-by: Timur Shemsedinov <[email protected]>
Co-authored-by: Metarhia skill bot <[email protected]>
  • Loading branch information
3 people authored Jan 29, 2024
1 parent 84d9da8 commit 79a1b03
Show file tree
Hide file tree
Showing 8 changed files with 715 additions and 278 deletions.
304 changes: 304 additions & 0 deletions Profile/REPORT.md
Original file line number Diff line number Diff line change
@@ -1 +1,305 @@
## Software engineering self assessment

[![Skills](https://img.shields.io/badge/Self_Assessment-309/485/730-009933?style=flat-square)](https://github.com/bohdanbulakh/SelfAssessment/blob/main/Profile/REPORT.md)

```
[![Skills](https://img.shields.io/badge/Self_Assessment-309/485/730-009933?style=flat-square)](https://github.com/bohdanbulakh/SelfAssessment/blob/main/Profile/REPORT.md)
```

```
<a href="https://github.com/bohdanbulakh/SelfAssessment/blob/main/Profile/REPORT.md"><img alt="Skills" src="https://img.shields.io/badge/Self_Assessment-309/485/730-009933?style=flat-square"></a>
```

## Assessment totals

| Unit | Marked | Of |
| ---- | ------ | -- |
| [Programming](/Skills/Programming.md) | | |
| &nbsp;&nbsp;&nbsp;&nbsp; Concepts | `22` | `30` |
| &nbsp;&nbsp;&nbsp;&nbsp; Syntax and concepts | `32` | `33` |
| &nbsp;&nbsp;&nbsp;&nbsp; Types | `5` | `14` |
| &nbsp;&nbsp;&nbsp;&nbsp; Functions | `20` | `23` |
| &nbsp;&nbsp;&nbsp;&nbsp; Data structures | `23` | `26` |
| &nbsp;&nbsp;&nbsp;&nbsp; Networking | `6` | `9` |
| &nbsp;&nbsp;&nbsp;&nbsp; Process and tools | `15` | `28` |
| &nbsp;&nbsp;&nbsp;&nbsp; Antipatterns | `18` | `30` |
| &nbsp;&nbsp;&nbsp;&nbsp; Runtimes and virtual machines | `1` | `5` |
| &nbsp;&nbsp;&nbsp;&nbsp; Operation systems | `10` | `13` |
| &nbsp;&nbsp;&nbsp;&nbsp; Standards | `4` | `15` |
| [JavaScript](/Skills/JavaScript.md) | | |
| &nbsp;&nbsp;&nbsp;&nbsp; Language | `53` | `57` |
| &nbsp;&nbsp;&nbsp;&nbsp; Statements | `19` | `19` |
| &nbsp;&nbsp;&nbsp;&nbsp; Functions | `10` | `10` |
| &nbsp;&nbsp;&nbsp;&nbsp; Data structures | `7` | `7` |
| &nbsp;&nbsp;&nbsp;&nbsp; Standard classes and namespaces | `9` | `14` |
| &nbsp;&nbsp;&nbsp;&nbsp; Infrastructure | `5` | `6` |
| [Async](/Skills/Async.md) | | |
| &nbsp;&nbsp;&nbsp;&nbsp; Theory | `7` | `20` |
| &nbsp;&nbsp;&nbsp;&nbsp; Async contracts | `6` | `18` |
| &nbsp;&nbsp;&nbsp;&nbsp; Async adapters and utils | `0` | `5` |
| &nbsp;&nbsp;&nbsp;&nbsp; Async abstractions interfaces | `0` | `11` |
| &nbsp;&nbsp;&nbsp;&nbsp; JavaScript & Node.js specific | `1` | `17` |
| &nbsp;&nbsp;&nbsp;&nbsp; Techniques | `0` | `10` |
| [NodeJS](/Skills/NodeJS.md) | | |
| &nbsp;&nbsp;&nbsp;&nbsp; Internals and concepts | `0` | `9` |
| &nbsp;&nbsp;&nbsp;&nbsp; Modularity, layers and dependencies | `4` | `14` |
| &nbsp;&nbsp;&nbsp;&nbsp; Environment | `1` | `6` |
| &nbsp;&nbsp;&nbsp;&nbsp; Internal API | `0` | `26` |
| &nbsp;&nbsp;&nbsp;&nbsp; Network | `0` | `28` |
| &nbsp;&nbsp;&nbsp;&nbsp; Technique and tools | `0` | `12` |
| &nbsp;&nbsp;&nbsp;&nbsp; Data access | `0` | `7` |
| &nbsp;&nbsp;&nbsp;&nbsp; Error handling and debugging | `0` | `14` |
| &nbsp;&nbsp;&nbsp;&nbsp; Integrations and bindings | `0` | `16` |
| [Paradigms](/Skills/Paradigms.md) | | |
| &nbsp;&nbsp;&nbsp;&nbsp; Theory | `10` | `25` |
| &nbsp;&nbsp;&nbsp;&nbsp; OOP basics | `13` | `21` |
| &nbsp;&nbsp;&nbsp;&nbsp; GRASP | `0` | `8` |
| &nbsp;&nbsp;&nbsp;&nbsp; SOLID | `0` | `5` |
| &nbsp;&nbsp;&nbsp;&nbsp; Patterns | `8` | `25` |
| [Architecture](/Skills/Architecture.md) | | |
| &nbsp;&nbsp;&nbsp;&nbsp; Application structure | `0` | `22` |
| &nbsp;&nbsp;&nbsp;&nbsp; Application architecture | `0` | `36` |
| &nbsp;&nbsp;&nbsp;&nbsp; Solution architecture | `0` | `18` |
| &nbsp;&nbsp;&nbsp;&nbsp; Enterprise architecture | `0` | `18` |

## [JavaScript](/Skills/JavaScript.md)


| To start asynchronous programming | actual | ⟢ | required |
| --- | --- | --- | --- |
| `global` | πŸ‘‚ heard | ⟢ | πŸŽ“ known |
| Template literal | πŸ‘‚ heard | ⟢ | πŸ–οΈ used |
| `super` | πŸŽ“ known | ⟢ | πŸ–οΈ used |
| Function expression | πŸŽ“ known | ⟢ | πŸ–οΈ used |
| Mixins | πŸ‘‚ heard | ⟢ | πŸŽ“ known |
| `Object.assign` | πŸ‘‚ heard | ⟢ | πŸŽ“ known |
| `Proxy` | πŸ‘‚ heard | ⟢ | πŸŽ“ known |
| `WeakRef` | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| `FinalizationRegistry` | 🀷 unknown | ⟢ | πŸ‘‚ heard |

Total: you have `63` of `72` skills, `9` to be upgraded, and `28` above needed

| To start Node.js | actual | ⟢ | required |
| --- | --- | --- | --- |
| `BigInt` | πŸŽ“ known | ⟢ | πŸ–οΈ used |
| `Symbol` | πŸŽ“ known | ⟢ | πŸ–οΈ used |
| Generators | πŸ‘‚ heard | ⟢ | πŸ–οΈ used |
| Iterators | πŸŽ“ known | ⟢ | πŸ–οΈ used |
| Async generator | πŸ‘‚ heard | ⟢ | πŸ–οΈ used |
| Async iterator | πŸ‘‚ heard | ⟢ | πŸ–οΈ used |
| Chaining | πŸŽ“ known | ⟢ | πŸ–οΈ used |
| IIFE | πŸŽ“ known | ⟢ | πŸ–οΈ used |
| Async IIFE | πŸ‘‚ heard | ⟢ | πŸ–οΈ used |
| `global` | πŸ‘‚ heard | ⟢ | πŸ–οΈ used |
| `globalThis` | πŸ‘‚ heard | ⟢ | πŸ–οΈ used |
| `yield` | πŸ‘‚ heard | ⟢ | πŸ–οΈ used |
| Template literal | πŸ‘‚ heard | ⟢ | πŸ–οΈ used |
| `super` | πŸŽ“ known | ⟢ | πŸ–οΈ used |
| `static` | πŸ‘‚ heard | ⟢ | πŸ–οΈ used |
| Property descriptors | πŸ‘‚ heard | ⟢ | πŸŽ“ known |
| Sealing properties | 🀷 unknown | ⟢ | πŸŽ“ known |
| Freezing properties | 🀷 unknown | ⟢ | πŸŽ“ known |
| Computed properties | 🀷 unknown | ⟢ | πŸŽ“ known |
| Instance class fields | 🀷 unknown | ⟢ | πŸŽ“ known |
| Static class fields | πŸ‘‚ heard | ⟢ | πŸŽ“ known |
| `for await` | πŸ‘‚ heard | ⟢ | πŸ–οΈ used |
| Function expression | πŸŽ“ known | ⟢ | πŸ–οΈ used |
| Typed arrays | πŸ‘‚ heard | ⟢ | πŸŽ“ known |
| `Object.assign` | πŸ‘‚ heard | ⟢ | πŸŽ“ known |
| `Proxy` | πŸ‘‚ heard | ⟢ | πŸŽ“ known |
| `RegExp` | πŸ‘‚ heard | ⟢ | πŸŽ“ known |
| `Reflect` | 🀷 unknown | ⟢ | πŸŽ“ known |
| `Atomics` | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| `JSON` | πŸŽ“ known | ⟢ | πŸ–οΈ used |
| `WeakRef` | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| `FinalizationRegistry` | 🀷 unknown | ⟢ | πŸ‘‚ heard |

Total: you have `65` of `97` skills, `32` to be upgraded, and `23` above needed

## [Async](/Skills/Async.md)


| For Node.js applied programming | actual | ⟢ | required |
| --- | --- | --- | --- |
| Race conditions | 🀷 unknown | ⟢ | πŸŽ“ known |
| Thread | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| Callback-last-error-first | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Sync generator | 🀷 unknown | ⟢ | πŸŽ“ known |
| Async Generator | 🀷 unknown | ⟢ | πŸŽ“ known |
| Async Iterator | 🀷 unknown | ⟢ | πŸŽ“ known |
| Signal | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Stream | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Locks | 🀷 unknown | ⟢ | πŸŽ“ known |
| callbackify | 🀷 unknown | ⟢ | πŸŽ“ known |
| promisify | 🀷 unknown | ⟢ | πŸŽ“ known |
| asyncify | 🀷 unknown | ⟢ | πŸŽ“ known |
| EventEmitter | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Observable/Observer | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| Readable | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Writable | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Transform | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Async Pool | 🀷 unknown | ⟢ | πŸŽ“ known |
| Async Queue | 🀷 unknown | ⟢ | πŸŽ“ known |
| Async Collector | 🀷 unknown | ⟢ | πŸŽ“ known |
| Semaphore | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| `setImmediate` | 🀷 unknown | ⟢ | πŸ–οΈ used |
| `nextTick` | 🀷 unknown | ⟢ | πŸ–οΈ used |
| AbortController | 🀷 unknown | ⟢ | πŸ–οΈ used |
| AbortSignal | 🀷 unknown | ⟢ | πŸŽ“ known |
| Callback hell | 🀷 unknown | ⟢ | πŸŽ“ known |
| Promise hell | 🀷 unknown | ⟢ | πŸŽ“ known |
| ref() and unref() | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| Error handling in async code | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Better stack traces with return await | 🀷 unknown | ⟢ | πŸ–οΈ used |
| JSON streaming serialization | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| AsyncLocalStorage | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| AsyncResource | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| RxJS library | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| Promise.all | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Promise.allSettled | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Promise.race | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Promise.any | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Web Locks API | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| Revealing constructor | 🀷 unknown | ⟢ | πŸŽ“ known |

Total: you have `10` of `50` skills, `40` to be upgraded, and `1` above needed

| To start Node.js | actual | ⟢ | required |
| --- | --- | --- | --- |
| Callback-last-error-first | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| Async Iterator | 🀷 unknown | ⟢ | πŸŽ“ known |
| Signal | 🀷 unknown | ⟢ | πŸŽ“ known |
| Stream | 🀷 unknown | ⟢ | πŸŽ“ known |
| Locks | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| callbackify | 🀷 unknown | ⟢ | πŸŽ“ known |
| promisify | 🀷 unknown | ⟢ | πŸŽ“ known |
| asyncify | 🀷 unknown | ⟢ | πŸŽ“ known |
| EventEmitter | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Readable | 🀷 unknown | ⟢ | πŸŽ“ known |
| Writable | 🀷 unknown | ⟢ | πŸŽ“ known |
| Transform | 🀷 unknown | ⟢ | πŸŽ“ known |
| Async Pool | 🀷 unknown | ⟢ | πŸŽ“ known |
| Async Queue | 🀷 unknown | ⟢ | πŸŽ“ known |
| Async Collector | 🀷 unknown | ⟢ | πŸŽ“ known |
| `setImmediate` | 🀷 unknown | ⟢ | πŸ–οΈ used |
| `nextTick` | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| AbortController | 🀷 unknown | ⟢ | πŸ–οΈ used |
| AbortSignal | 🀷 unknown | ⟢ | πŸŽ“ known |
| Callback hell | 🀷 unknown | ⟢ | πŸŽ“ known |
| Promise hell | 🀷 unknown | ⟢ | πŸŽ“ known |
| Error handling in async code | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Better stack traces with return await | 🀷 unknown | ⟢ | πŸ–οΈ used |
| JSON streaming serialization | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| Promise.all | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Promise.allSettled | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Promise.race | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Promise.any | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Revealing constructor | 🀷 unknown | ⟢ | πŸ‘‚ heard |

Total: you have `8` of `37` skills, `29` to be upgraded, and `0` above needed

| For Node.js platform/system programming | actual | ⟢ | required |
| --- | --- | --- | --- |
| Event loop | πŸ‘‚ heard | ⟢ | πŸŽ“ known |
| Non-blocking | πŸ‘‚ heard | ⟢ | πŸŽ“ known |
| Thread pool | 🀷 unknown | ⟢ | πŸŽ“ known |
| Pattern Reactor | 🀷 unknown | ⟢ | πŸŽ“ known |
| CAS operations | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| libuv | 🀷 unknown | ⟢ | πŸŽ“ known |
| Race conditions | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Dead locks | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Live locks | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Concurrent programming | πŸ‘‚ heard | ⟢ | πŸŽ“ known |
| Parallel programming | πŸ‘‚ heard | ⟢ | πŸŽ“ known |
| Actor Model | 🀷 unknown | ⟢ | πŸŽ“ known |
| Thread | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Process | πŸ‘‚ heard | ⟢ | πŸ–οΈ used |
| Callback-last-error-first | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Thenable | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Future | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| Deferred | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| Sync generator | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Async Generator | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Async Iterator | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Coroutine | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| Goroutine | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| Signal | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Stream | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Chain of responsibility | πŸ‘‚ heard | ⟢ | πŸ–οΈ used |
| Middleware | πŸ‘‚ heard | ⟢ | πŸ–οΈ used |
| Locks | 🀷 unknown | ⟢ | πŸ–οΈ used |
| callbackify | 🀷 unknown | ⟢ | πŸ–οΈ used |
| promisify | 🀷 unknown | ⟢ | πŸ–οΈ used |
| asyncify | 🀷 unknown | ⟢ | πŸ–οΈ used |
| EventEmitter | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Observable/Observer | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Readable | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Writable | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Transform | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Async Pool | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Async Queue | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Async Collector | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Semaphore | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Mutex | 🀷 unknown | ⟢ | πŸŽ“ known |
| Spin Lock | 🀷 unknown | ⟢ | πŸŽ“ known |
| `setImmediate` | 🀷 unknown | ⟢ | πŸ–οΈ used |
| `nextTick` | 🀷 unknown | ⟢ | πŸ–οΈ used |
| AbortController | 🀷 unknown | ⟢ | πŸ–οΈ used |
| AbortSignal | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Promise unhandled rejection | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Promise double resolve | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Atomics | 🀷 unknown | ⟢ | πŸŽ“ known |
| High resolution clock | 🀷 unknown | ⟢ | πŸŽ“ known |
| Callback hell | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Promise hell | 🀷 unknown | ⟢ | πŸ–οΈ used |
| ref() and unref() | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Error handling in async code | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Better stack traces with return await | 🀷 unknown | ⟢ | πŸ–οΈ used |
| JSON streaming serialization | 🀷 unknown | ⟢ | πŸ–οΈ used |
| AsyncLocalStorage | 🀷 unknown | ⟢ | πŸ–οΈ used |
| AsyncResource | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Async.js library | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| RxJS library | 🀷 unknown | ⟢ | πŸ‘‚ heard |
| Promise.all | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Promise.allSettled | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Promise.race | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Promise.any | 🀷 unknown | ⟢ | πŸ–οΈ used |
| Web Locks API | 🀷 unknown | ⟢ | πŸŽ“ known |
| IPC | 🀷 unknown | ⟢ | πŸŽ“ known |
| Channel API | 🀷 unknown | ⟢ | πŸŽ“ known |
| Revealing constructor | 🀷 unknown | ⟢ | πŸ–οΈ used |

Total: you have `7` of `75` skills, `68` to be upgraded, and `1` above needed

## [NodeJS](/Skills/NodeJS.md)


| API and domain logic developer | actual | ⟢ | required |
| --- | --- | --- | --- |

Total: you have `0` of `0` skills, `0` to be upgraded, and `2` above needed

| Enterprise applications | actual | ⟢ | required |
| --- | --- | --- | --- |

Total: you have `0` of `0` skills, `0` to be upgraded, and `3` above needed

| Real-Time, gamedev, messaging | actual | ⟢ | required |
| --- | --- | --- | --- |

Total: you have `0` of `0` skills, `0` to be upgraded, and `2` above needed

| Web and Frontend | actual | ⟢ | required |
| --- | --- | --- | --- |

Total: you have `0` of `0` skills, `0` to be upgraded, and `2` above needed

| Fullstack development | actual | ⟢ | required |
| --- | --- | --- | --- |

Total: you have `0` of `0` skills, `0` to be upgraded, and `2` above needed

| Platform/system development | actual | ⟢ | required |
| --- | --- | --- | --- |

Total: you have `0` of `0` skills, `0` to be upgraded, and `3` above needed
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Software engineering self assessment

<!--- $BADGE -->
[![Skills](https://img.shields.io/badge/Self_Assessment-309/485/730-009933?style=flat-square)](https://github.com/bohdanbulakh/SelfAssessment/blob/main/Profile/REPORT.md)

This _knowledge assessment_ can be used as an automated tool for **tracking** and **analyzing** an engineer’s **microskills**, for personal use, for reference in your **CV** or profile (github, linkedin, etc.). After filling skills, the system generates a button in `html` and `md` with a link to your fork of the repo. The tool speeds up **interviews** and **certification** for both the applicant and the interviewer: you can check only part of the key knowledge and then sign a commit with a personal GPG key. If you periodically take an assessment, or do it before and after the start of _training_, and store branches or tags with the results of an inventory of microskills at a certain point in time, then it is very convenient to compare the _progress_ you have made during the period of _training_, reading a book, working on a project etc. Currently, assessment has more than **700 microskills** and will be constantly expanded in all areas, languages and technologies (for example `Proxy`, `Promise`, `Future`, `SRP`, `DI`, `Boxing`, `Cohesion`, `Tail call recursion`...) with automatic comparison of them with _roles_ (for example `Node.js API developer`, `Node.js gamedev`, `Frontend`...) the robot generates a report via `Github Actions CI` with recommendations on what needs to be improved. New roles and knowledge areas will be available soon, after which you can rebase your repo on the original one to receive the new report.

Expand Down
28 changes: 14 additions & 14 deletions Skills/Async.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
## Asynchronous programming

- Theory
- Event loop
- `try..catch`
- Non-blocking
- Async I/O
- Event loop: πŸ‘‚ heard
- `try..catch`: πŸ–οΈ used
- Non-blocking: πŸ‘‚ heard
- Async I/O: πŸ–οΈ used
- Thread pool
- Pattern Reactor
- CAS operations
Expand All @@ -16,29 +16,29 @@
- Race conditions
- Dead locks
- Live locks
- Concurrent programming
- Parallel programming
- Concurrent programming: πŸ‘‚ heard
- Parallel programming: πŸ‘‚ heard
- Actor Model
- Thread
- Process
- Process: πŸ‘‚ heard
- Async contracts
- Callbacks
- Callbacks: πŸ–οΈ used
- Callback-last-error-first
- Thenable
- Promise
- Async/await
- Promise: πŸ–οΈ used
- Async/await: πŸ–οΈ used
- Future
- Deferred
- Sync generator
- Async Generator
- Async Iterator
- Event
- Event: πŸ–οΈ used
- Coroutine
- Goroutine
- Signal
- Stream
- Chain of responsibility
- Middleware
- Chain of responsibility: πŸ‘‚ heard
- Middleware: πŸ‘‚ heard
- Locks
- Async adapters and utils
- callbackify
Expand All @@ -59,7 +59,7 @@
- Mutex
- Spin Lock
- JavaScript & Node.js specific
- Timers
- Timers: πŸ–οΈ used
- `setImmediate`
- `nextTick`
- AbortController
Expand Down
Loading

0 comments on commit 79a1b03

Please sign in to comment.