{"id":24600155,"url":"https://github.com/real-jacket/deep-in-js","last_synced_at":"2025-04-30T18:24:40.149Z","repository":{"id":39009720,"uuid":"207060741","full_name":"real-jacket/Deep-in-JS","owner":"real-jacket","description":"深入学习Js 及其它 api ","archived":false,"fork":false,"pushed_at":"2024-09-07T07:22:14.000Z","size":2449,"stargazers_count":7,"open_issues_count":53,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T18:44:00.261Z","etag":null,"topics":["javascript","node","react","vue","webpack"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/real-jacket.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-08T04:18:51.000Z","updated_at":"2024-09-07T07:22:17.000Z","dependencies_parsed_at":"2024-01-20T21:27:21.230Z","dependency_job_id":"ae49a04b-9619-4441-8363-b3ebe5fc5101","html_url":"https://github.com/real-jacket/Deep-in-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/real-jacket%2FDeep-in-JS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/real-jacket%2FDeep-in-JS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/real-jacket%2FDeep-in-JS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/real-jacket%2FDeep-in-JS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/real-jacket","download_url":"https://codeload.github.com/real-jacket/Deep-in-JS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251759198,"owners_count":21639185,"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":["javascript","node","react","vue","webpack"],"created_at":"2025-01-24T13:19:05.985Z","updated_at":"2025-04-30T18:24:40.096Z","avatar_url":"https://github.com/real-jacket.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deep-in-JS\n\n## 宗旨\n\n这是一个以实践为主的仓库，主要在于各种手写实现常见的 JS 相关 API，或者相关项目的最佳实践。\n\n## 目录\n\n### JS 手写系列\n\n- [x] [手写 call、apply、bind](\"./handle-methods/this.js\")\n- [x] [new、instance 实现](\"./handle-methods/new.js\")\n- [x] [实现深拷贝](\"./handle-methods/deepClone\")\n- [x] [实现防抖节流](\"./handle-methods/debounce-throttle.js\")\n- [x] [promise 简易版实现](\"./handle-methods/promise\")\n\n### 一些常见 API 实现\n\n- [x] [flat 数组拍平](\"./handle-methods/fl\")\n- [x] [promise 的相关 API](\"./handle-methods/promise\")\n  - [x] promise.all 实现\n  - [x] promise.any 实现\n  - [x] promise.settle 实现\n\n### 常见设计模式\n\n- [x] [发布订阅/手写 eventHub](\"./handle-methods/eventhub\")\n- [x] [观察者模式](\"./design-patterns/observer.js\")\n- [ ] 单列模式\n- [x] [职责链模式](\"./design-patterns/chain-of-responsibility.js\")\n\n### 常见框架原理实现\n\n这部分重在理解其基本原理，只是一个简单的版本，后续会优化独立出来\n\n- [x] [vue 双向绑定](\"./vue/two-way-binding\")\n- [x] [简易 koa](\"./koa\")\n- [x] [简易 redux](\"./redux\")\n- [x] [简易 router](\"./router\")\n- [x] [实现一个简单的 react](\"./react/mini-react\")\n- [ ] [webpack 相关](\"./webpack\")\n  - [x] 编译器实现\n  - [ ] 打包器实现\n\n### 一些场景实现\n\n- [x] [promise 实现一个限流器](\"./handle-methods/promise/src\")\n\n## 收集的一些场景设计面试题\n\n这部分对应题目均在 `interview-question` 目录下\n\n- [字节](\"./interview-question/bytedance\")\n  - [x] 返回服务器计算求和所花费的最事件\n  - [x] 输出字符串中出现频率最高的字符\n\n## 常见工具的使用\n\n- [x] webpack/react 使用\n- [x] lerna 使用\n- [x] rollup 使用\n- [ ] vite 使用\n\n## 未来计划\n\n未来除来拓宽上述相关之外，还会加大在 Node 端的实现，比如下述：\n\n- [ ] next ssr 项目最佳实践\n- [ ] 大文件上传\n- [x] 文件流转存服务（node-file-stream-archived）\n- [ ] 文件系统，实现一个 tree 命令\n- [ ] 实现一个完整的 CLI\n- [ ] 实现一个 CI/CD 服务器\n- [ ] 实现一个负载均衡服务\n- [ ] 实现一个消息中间件\n\n这些内容主要以后端相关知识为主，后期大概率会独立出一个仓库进行整理与记录\n\n## 期待\n\n后期整理完后，会利用 vuepress 搭建一个博客静态网站，方便大家学习与讨论\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freal-jacket%2Fdeep-in-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freal-jacket%2Fdeep-in-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freal-jacket%2Fdeep-in-js/lists"}