{"id":21861760,"url":"https://github.com/betty200744/ultimate-js","last_synced_at":"2025-04-14T19:40:31.646Z","repository":{"id":40047576,"uuid":"284842160","full_name":"betty200744/ultimate-js","owner":"betty200744","description":"This repo contains my notes on working with Node.js and computer systems.","archived":false,"fork":false,"pushed_at":"2023-01-06T13:22:08.000Z","size":8058,"stargazers_count":8,"open_issues_count":21,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T08:02:27.296Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/betty200744.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-04T01:02:42.000Z","updated_at":"2023-11-29T20:00:09.000Z","dependencies_parsed_at":"2023-02-06T04:15:24.743Z","dependency_job_id":null,"html_url":"https://github.com/betty200744/ultimate-js","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/betty200744%2Fultimate-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/betty200744%2Fultimate-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/betty200744%2Fultimate-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/betty200744%2Fultimate-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/betty200744","download_url":"https://codeload.github.com/betty200744/ultimate-js/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248947976,"owners_count":21187782,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-28T03:12:35.361Z","updated_at":"2025-04-14T19:40:31.620Z","avatar_url":"https://github.com/betty200744.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nultimate-js is my node work with Node.js\n\n![Alt text](./system.png)\n\n- **network** \n![](./img/network_osi_model_protocols.png)\n- **os linux**\n![]()\n   - [ipc | InterProcess Communication | shared mem| signal | pipe | message queue | sockets]()\n   \n- **docker**\n  - []()\n- **databases**\n  - [PostgreSQL](https://github.com/betty200744/ultimate-postgresql-mysql)\n  - [MongoDB](https://github.com/betty200744/ultimate-postgresql-mysql)\n  - [MySQL](https://github.com/betty200744/ultimate-postgresql-mysql)\n  - [redis](https://github.com/betty200744/ultimate-postgresql-mysql)\n- **APIs**\n  - [rest]()  \n  - [graphql]()  \n  - [grpc]()  \n  - [Authentication]()  \n  - [express_ts](https://github.com/expressjs/express) | [code](awesome/express_ts/server.ts)\n  - [koa_ts](https://koajs.com/#introduction) | [code](awesome/koa_ts/server.ts)\n  - [koa](https://koajs.com/#introduction) | [code](awesome/koa/koa_server.js)\n  - [egg]()\n  \n- **Docs**  \n  - [elasticsearch](./docs/elasticsearch.md) \n  - [kafka](./docs/kafka.md) \n  - [rabbitmq](./docs/rabbitmq.md) \n  - [nsq](./docs/queue.md)\n  - [cloud](./docs/cloud.md)\n  - [docker](./docs/docker.md)\n  - [mocha](./docs/mocha.md)  \n  \n- **Crypto** \n  - [Crypto]()  \n- **javascript**\n  - [declarations](./javascript/declarations/declarations.js) | [variables hoisting](./javascript/declarations/variable_hoisting.js) | block-scope  \n  - [function declaration | function express | function hoisting](javascript/function/function_declarate.js)\n  - [types | Boolean | null | undefined | Number | Bigint | String](./javascript/types/types.js)   \n  - [type conversion](./javascript/types/type_conversion.js)\n  - [control flow](./javascript/control_flow) | [if_else](./javascript/control_flow/if_else.js) | [switch](./javascript/control_flow/switch.js)\n  - [iterations](./javascript/iterations) | [for | for in | for of](./javascript/iterations/for.js)  | [do-while](./javascript/iterations/do_while.js) \n  - [break](./javascript/terminates_statement/terminates.js) | [continue](./javascript/terminates_statement/terminates.js)\n  - [try_catch_finally](./javascript/exception_handling/try_catch_finally.js)\n  - [function](./javascript/function) | [declaration](./javascript/function/function_declarate.js) | [nested | closures](./javascript/function/function_nested_closures.js) \n  - function methods | [call](./javascript/function/function_methods_call.js) | [bind](./javascript/function/function_methods_bind.js) | [apply](./javascript/function/function_methods_apply.js)\n  - function properties | [arguments | constructor| caller ](./javascript/function/function_properties.js)\n  - [build-in-function | eval | parseInt | parseFloat | decodeURL](./javascript/build_in_functions/build_in_function.js)\n  - **express_operators**\n     - [unary | delete | typeof | in | instance of ](./javascript/expressions_operators/unary_ternary.js) | [ternary](./javascript/expressions_operators/unary_ternary.js)\n     - todo[this](./javascript/expressions_operators/this.js)\n     - todo[left-hand-side | new | super](./javascript/expressions_operators/new_super.js)\n  -  **strings**\n     - d\n  -  **array**\n     - [create | access | populate | length | iterating](./javascript/array/create_access.js)\n     - [array methods | concat | push | pop | shift |slice | splice | reverse | sort | indexOf](./javascript/array/array_methods_operator.js)\n     - [array methods | map | reduce | filter | forEach| every | some ](./javascript/array/array_methods_iterating.js)\n     - [multi-dimensional array](./javascript/array/2d_object_array.js)\n  -  **map** \n     - map method | [new | set | get | has | delete | keys | values | entries](./javascript/map/map.js)\n     - map iterating[forEach | for of](./javascript/map/map.js)\n  -  **set** \n     - set method | [add | has | delete ](./javascript/set/set.js)\n     - set iterating | [forEach | for of](./javascript/set/set.js)\n  -  **objects** \n     -  [create object](./javascript/objects/create_objects.js)\n     -  [enumerate object](./javascript/objects/enumerate_objects.js)\n     -  [object_methods](./javascript/objects/objects_methods.js)\n     -  [object_inheritance](./javascript/objects/objects_inheritance.js)\n     -  [function vs class vs java](./javascript/objects/function_vs_class_vs_java.js)\n  -  **async**  \n     -  [callback](./javascript/async/callback/callback.js)\n     -  [promise](./javascript/async/promise/promise.js) | [create promise](./javascript/async/promise/create_promise.js)\n     -  [Generator](./javascript/async/Generator/generator.js)\n     -  [async/await](./javascript/async/async_await/async_await.js)    \n- **Es6**\n   - [scoping and without hoisting](./es6/scoped.js)\n   - [arrow functions](./es6/arrow_functions/arrow_function.js)\n   - [default parameter](es6/parameter/default_parameter.js)\n   - [rest parameter](./es6/parameter/rest_parameter.js)\n   - [spread operator](./es6/parameter/rest_parameter.js)\n   - [template literals](./es6/template_literal.js)\n   - [shorthand property](es6/object_properties/shorthand_property.js)\n   - [Computed Property Name](es6/object_properties/computed_property_name.js)\n   - [method property](./es6/build_in_methods/build_in_methods.js)   \n   - [destructuring assignment](./es6/destructuring/destructuring.js)\n   - [Promise](./javascript/async/promise/promise.js)\n   - [Generators](./javascript/async/Generator/generator.js)\n   - [export](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/export) |[import](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/import)\n   - [class](./es6/classes) | [class definition](./es6/classes/class_definition.js) | [class inheritance](./es6/classes/class_inheritance.js)\n   - [Proxy](./es6/proxy/proxy.js)\n   \n- **design patterns**  [design patterns](https://loredanacirstea.github.io/es6-design-patterns/#builder)\n  - Creational\n    - Simple Factory: [wiki](https://en.wikipedia.org/wiki/Factory_(object-oriented_programming)) \n    - *Abstract factory: [wiki](https://en.wikipedia.org/wiki/Abstract_factory_pattern) | [code](design-patterns/creational/abstract_factory/abstract_factory.js) | [best practices]()\n    - *Builder: [wiki](https://en.wikipedia.org/wiki/Builder_pattern) | [code1](design-patterns/creational/builder/builder.js) | [best practices orm query build]() \n    - Factory method: [wiki](https://en.wikipedia.org/wiki/Factory_method_pattern) | [code](design-patterns/creational/factory_method/factory_method.js) | [best practices]()\n    - *Prototype: [wiki](https://en.wikipedia.org/wiki/Prototype_pattern) | [code](./design-patterns/creational/prototype/prototype.js) | [best practices]() \n    - *Singleton: [wiki](https://en.wikipedia.org/wiki/Singleton_pattern) | [code](./design-patterns/creational/singleton/singleton.js) | [best practices]() \n  - Structual\n    - Adapter(wrapper): [wiki](https://en.wikipedia.org/wiki/Adapter_pattern) | [code](./design-patterns/structual/adapter/adapter.js) | [best practices]() \n    - *Bridge: [wiki](https://en.wikipedia.org/wiki/Bridge_pattern) | [code](./design-patterns/structual/bridge/bridge.js) | [best practices]() \n    - Composite: [wiki](https://en.wikipedia.org/wiki/Composite_pattern) | [code](./design-patterns/structual/composite/composite.js) | [best practices]() \n    - *Decorator: [wiki](https://en.wikipedia.org/wiki/Decorator_pattern) | [code](./design-patterns/structual/decorator/decorator.js) | [best practices]() \n    - Facade: [wiki](https://en.wikipedia.org/wiki/Facade_pattern) | [code](./design-patterns/structual/facade/facade.js) | [best practices]() \n    - Flyweight: todo[wiki](https://en.wikipedia.org/wiki/Flyweight_pattern) | [code](./design-patterns/structual/flyweight/flyweight.js) | [best practices]() \n    - Proxy: todo[wiki](https://en.wikipedia.org/wiki/Proxy_pattern) | [code](./design-patterns/structual/proxy/proxy.js) | [best practices]() \n  - Behavioral\n    - *Chain of responsibility(middleware): [wiki](https://en.wikipedia.org/wiki/Chain-of-responsibility_pattern) | [code](./design-patterns/behavioral/chain_of_responsibility/chain_of_responsibility.js) | [best practices]() \n    - Command: todo [wiki](https://en.wikipedia.org/wiki/Command_pattern) | [code]() | [best practices]() \n    - *Interpreter: todo[wiki](https://en.wikipedia.org/wiki/Interpreter_pattern) | [code]() | [best practices]() \n    - *Iterator: [wiki](https://en.wikipedia.org/wiki/Iterator_pattern) | [code]() | [best practices]() \n    - Mediator: todo[wiki](https://en.wikipedia.org/wiki/Mediator_pattern) | [code]() | [best practices]() \n    - Memento: todo[wiki](https://en.wikipedia.org/wiki/Memento_pattern) | [code]() | [best practices]() \n    - Observer: todo[wiki](https://en.wikipedia.org/wiki/Observer_pattern) | [code]() | [best practices]() \n    - State: todo[wiki](https://en.wikipedia.org/wiki/State_pattern) | [code]() | [best practices]() \n    - *Strategy: [wiki](https://en.wikipedia.org/wiki/Strategy_pattern) | [code](./design-patterns/behavioral/strategy/strategy.js) | [best practices]() \n    - Template method : todo[wiki](https://en.wikipedia.org/wiki/Template_method_pattern) | [code]() | [best practices]() \n    - Visitor: todo[wiki](https://en.wikipedia.org/wiki/Visitor_pattern) | [code]() | [best practices]() \n\n- **typescript**\n   - [doc](./typescript/typescript.md)\n   - **Basic Types**\n      - [boolean | number | string | array | tuple | enum | any | null | undefined | type aliases](typescript/basic_types/basic_type.ts)\n      - [type_assertions](typescript/basic_types/type_assertions.ts)\n   - **interfaces**\n      - [properties | optional | readonly | excess](./typescript/interfaces/interface_properties.ts)\n      - [function types](./typescript/interfaces/interface_function_types.ts)\n      - [implements_interface](./typescript/interfaces/class_implements_interface.ts)\n      - [extents_interface](./typescript/interfaces/interface_extends_interface.ts)\n      - [hybrid_types](./typescript/interfaces/interface_hybrid_types.ts)\n      - [keyof](./typescript/interfaces/interface_hybrid_types.ts)\n   - **functions**\n      - [function_type_and_inferring](./typescript/functions/function_type_and_inferring_type.ts)\n      - [option | default | rest parameters](./typescript/functions/option_default_rest_parameters.ts)\n   - **unions and intersection types**\n      - [unions types](./typescript/unions_and_intersection_types/union_types.ts)\n      - [intersection types](./typescript/unions_and_intersection_types/intersection_types.ts)\n   - **classes**\n      - [classes extends](./typescript/classes/class_extends_class.ts)\n      - [public | private | protected](./typescript/classes/public_private_protected.ts)\n      - [readonly | static](./typescript/classes/public_private_protected.ts)\n      - [constructor | parameter properties ](./typescript/classes/public_private_protected.ts)\n   - **Enums**\n      - [number enum | string enum](./typescript/enums/enums.ts)\n      - [iterator enum](./typescript/enums/enums_iterator.test.ts)\n   - **generic**\n      - [function | parameters | response](./typescript/generics/generics_function.ts)\n      - [interface](./typescript/generics/generics_interface.ts)\n      - [classes](./typescript/generics/generics_classes.ts)\n      - [class_types](./typescript/generics/class_types_in_generics.ts)\n      - [generics_type_extends_types](./typescript/generics/generics_types_extends_types.ts)\n   - **advanced types**\n      - [type_guards](./typescript/advanced_types/type_guards.ts)\n   - **utility types**\n      - Partial\u003cType\u003e\n   - **decorators**\n      - [decorator function](./typescript/decorators/decorator_function.ts)\n      - [decorator factory](./typescript/decorators/decorator_function.ts)\n      - [class decorators | observe | modify | replace class definition](./typescript/decorators/class_decorators.ts)\n      - [method decorators | observe | modify |  replace method definition](./typescript/decorators/method_decorators.ts)\n      - [property decorators](./typescript/decorators/property_decorators.ts)\n      - [parameter decorators](./typescript/decorators/parameter_decorators.ts)\n      - [accessor decorators](./typescript/decorators/accessor_decorators.ts)\n   - **modules**\n      - [export](./typescript/modules/export)\n      - [import](./typescript/modules/import) \n- **Node.js**\n   - [nvm](https://github.com/nvm-sh/nvm)\n   - [npm](https://www.npmjs.com/)\n   - [npx](https://www.npmjs.com/package/npx)\n   - [n](https://github.com/tj/n)\n  \n- **Algorithms** [Algorithms]()\n   - Data Structures\n     - [Linked List](http://en.wikipedia.org/wiki/Linked_list)\n     - [Singly Linked List](algorithm/data-structures/singly-linked-list/singlyLinkedList.ts)  |  [(wiki)](https://en.wikipedia.org/wiki/Linked_list#Singly_linked_list)\n     - [Doubly linked list](./algorithm/data-structures/double-linked-list/doubleLinkedList.ts)  |  [(wiki)](https://en.wikipedia.org/wiki/Doubly_linked_list)\n     - [Queue](./algorithm/data-structures/queue/queue.test.ts)  | [(wiki)](http://en.wikipedia.org/wiki/Queue_%28abstract_data_type%29)\n     - [Stack](./algorithm/data-structures/stack/stack.test.ts)  | [(wiki)](http://en.wikipedia.org/wiki/Stack_%28abstract_data_type%29)\n     - [Hash Tables](./algorithm/data-structures/hash-table/hashTable.ts)  | [(wiki)](http://en.wikipedia.org/wiki/Hash_table)      \n     - [Heap](./algorithm/data-structures/heap/heap.ts)  | [(wiki)](http://en.wikipedia.org/wiki/Heap_%28data_structure%29)\n     - [Max Heap](./algorithm/data-structures/heap/maxHeap.ts)  | [(wiki)](http://en.wikipedia.org/wiki/Heap_%28data_structure%29)\n     - [Min Heap](./algorithm/data-structures/heap/minHeap.ts)  | [(wiki)](http://en.wikipedia.org/wiki/Heap_%28data_structure%29)\n     - [Binary Tree](./algorithm/data-structures/tree/binaryTreeNode.ts) |  [(wiki)](http://en.wikipedia.org/wiki/Binary_tree)\n     - [Binary Search Tree](./algorithm/data-structures/tree/binarySearchTree.ts) | [Binary Search Tree Node](./algorithm/data-structures/tree/binarySearchTreeNode.ts)  |  [(wiki)](https://en.wikipedia.org/wiki/Binary_search_tree) | [(mit)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-videos/MIT6_006F11_lec05.pdf)\n     - [AVL Tree | height balanced binary search tree ](https://github.com/trekhleb/javascript-algorithms/tree/929b210b8e02cd77bdc3575a4e897ad24ad64ad3/src/data-structures/tree/avl-tree)  | [code](./algorithm/data-structures/tree/avlTree.ts)|  [(wiki)](https://en.wikipedia.org/wiki/AVL_tree) | [(mit)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-videos/MIT6_006F11_lec06.pdf) \n     - [Fenwick Tree  | Binary Indexed Tree ]() |  [(wiki)]() | [(mit)]()\n     - [Red-Black Tree ]() |  [(wiki)]() | [(mit)]()\n     - [Graph]()[(wiki)](http://en.wikipedia.org/wiki/Graph_%28abstract_data_type)\n     - [Matrix]()  | [(wiki)](http://en.wikipedia.org/wiki/Matrix_(mathematics))\n   - [Sorting algorithms](https://en.wikipedia.org/wiki/Sorting_algorithm)\n     - [Bubble Sort](./algorithm/sorting-algorithms/bubbleSort.ts) | [(wiki)](http://en.wikipedia.org/wiki/Bubble_sort)\n     - [Selection Sort](./algorithm/sorting-algorithms/selectionSort.ts) [(mit notes)]() | [(wiki)](http://en.wikipedia.org/wiki/Selection_sort)\n     - [Insertion Sort](./algorithm/sorting-algorithms/insertionSort.ts)[(mit notes)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-videos/MIT6_006F11_lec03.pdf) | [(wiki)](http://en.wikipedia.org/wiki/Insertion_sort)\n     - [Heap Sort](./algorithm/sorting-algorithms/heapSort.ts) [(mit notes)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-videos/MIT6_006F11_lec04.pdf) | [(wiki)](http://en.wikipedia.org/wiki/Heapsort)\n     - [Merge Sort](./algorithm/sorting-algorithms/mergeSort.ts) [(mit notes)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/lecture-videos/MIT6_006F11_lec03.pdf) | [(wiki)](http://en.wikipedia.org/wiki/Merge_sort)\n     - [Quick Sort](./algorithm/sorting-algorithms/quickSort.ts)[(mit notes)]() | [(wiki)](http://en.wikipedia.org/wiki/Quicksort)     \n     - [Shell Sort](./algorithm/sorting-algorithms/shellSort.ts)[(mit notes)]() | [(wiki)](http://en.wikipedia.org/wiki/Shellsort)\n   - Graph algorithms\n     - Searching:\n       - [Depth First Search]()  |  [(wiki)](http://en.wikipedia.org/wiki/Depth-first_search)\n       - [Breadth First Search]()  |  [(wiki)](http://en.wikipedia.org/wiki/Breadth-first_search)\n       - [Binary Search](./algorithm/search-algorithms/binarySearch.ts) | [(wiki)](http://en.wikipedia.org/wiki/Binary_search_algorithm)\n       - [Linear Search](./algorithm/search-algorithms/linearSearch.ts) | [(wiki)](http://en.wikipedia.org/wiki/Binary_search_algorithm)\n       - [Binary Search Recursive](./algorithm/search-algorithms/binarySearchRecursive.ts) | [(wiki)](http://en.wikipedia.org/wiki/Binary_search_algorithm)\n   - hortest path:\n     - [Dijkstra]()  | [(wiki)](http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm)\n   - Sorting:\n     - [Topological Sort]()  |  [(wiki)](http://en.wikipedia.org/wiki/Topological_sorting)\n   - Maths algorithms\n     - [Binary GCD algorithm]()  |  [(wiki)](https://en.wikipedia.org/wiki/Binary_GCD_algorithm)\n     - [Closest pairs]()  | [(wiki)](http://en.wikipedia.org/wiki/Closest_pair_of_points_problem)\n     - [FastPower]()  | [(wiki)](http://en.wikipedia.org/wiki/Exponentiation_by_squaring)\n     - [Fibonacci]()  | [(wiki)](http://en.wikipedia.org/wiki/Fibonacci_number)\n     - [Fisher-Yates Shuffle-yates]()  |  [(wiki)](http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle)\n     - [Erastothenes Sieve]()  |  [(wiki)](https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes)\n     - [Extented GCD algorithm]()  |  [(wiki)](http://en.wikipedia.org/wiki/Extended_Euclidean_algorithm)\n     - [Karatsuba's Multiplication]()  |  [(wiki)](http://en.wikipedia.org/wiki/Karatsuba_algorithm)\n     - [Newton's Squarenewton-sqrt]()  |  [(wiki)](http://en.wikipedia.org/wiki/Newton%27s_method)\n     - [Permutations Count]()\n     - [Strassen's matrixstrassen]() |  [(wiki)](http://en.wikipedia.org/wiki/Strassen_algorithm)\n- **awesome**\n  - [external services](./docs/external_services.md)\n  - [async-file]()\n  - [typeorm]()\n  - [ramda]()\n  - [amqplib]()\n  - [bcryptjs]()\n  - [jsonwebtoken]()\n  - [protobufjs]()\n  - [deno]()\n  - [inversity](https://github.com/inversify/InversifyJS)\n  - [passport](https://github.com/jaredhanson/passport)\n\n  ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbetty200744%2Fultimate-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbetty200744%2Fultimate-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbetty200744%2Fultimate-js/lists"}