{"id":16796700,"url":"https://github.com/ecmadao/coding-guide","last_synced_at":"2025-05-16T04:00:29.191Z","repository":{"id":53569513,"uuid":"53229568","full_name":"ecmadao/Coding-Guide","owner":"ecmadao","description":"自己随手记录的东西","archived":false,"fork":false,"pushed_at":"2022-07-12T04:03:24.000Z","size":63736,"stargazers_count":1457,"open_issues_count":1,"forks_count":189,"subscribers_count":102,"default_branch":"master","last_synced_at":"2025-04-14T10:39:27.854Z","etag":null,"topics":["blog","coding-guidelines","learning"],"latest_commit_sha":null,"homepage":"","language":"MATLAB","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/ecmadao.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}},"created_at":"2016-03-06T00:10:15.000Z","updated_at":"2025-04-10T15:17:39.000Z","dependencies_parsed_at":"2022-09-13T23:00:34.350Z","dependency_job_id":null,"html_url":"https://github.com/ecmadao/Coding-Guide","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/ecmadao%2FCoding-Guide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecmadao%2FCoding-Guide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecmadao%2FCoding-Guide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecmadao%2FCoding-Guide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ecmadao","download_url":"https://codeload.github.com/ecmadao/Coding-Guide/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254464890,"owners_count":22075570,"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":["blog","coding-guidelines","learning"],"created_at":"2024-10-13T09:19:49.321Z","updated_at":"2025-05-16T04:00:24.142Z","avatar_url":"https://github.com/ecmadao.png","language":"MATLAB","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n**Table of Contents**  *generated with [DocToc](https://github.com/thlorenz/doctoc)*\n\n- [Menu](#menu)\n- [专题](#%E4%B8%93%E9%A2%98)\n  - [JavaScript](#javascript)\n  - [关于项目](#%E5%85%B3%E4%BA%8E%E9%A1%B9%E7%9B%AE)\n  - [关于产品](#%E5%85%B3%E4%BA%8E%E4%BA%A7%E5%93%81)\n  - [Koa2系列教程](#koa2%E7%B3%BB%E5%88%97%E6%95%99%E7%A8%8B)\n  - [Python3系列教程](#python3%E7%B3%BB%E5%88%97%E6%95%99%E7%A8%8B)\n  - [Python进阶](#python%E8%BF%9B%E9%98%B6)\n  - [Ember文档翻译系列(V2.8.0)](#ember%E6%96%87%E6%A1%A3%E7%BF%BB%E8%AF%91%E7%B3%BB%E5%88%97v280)\n  - [算法 \u0026 ML](#%E7%AE%97%E6%B3%95--ml)\n  - [好玩的](#%E5%A5%BD%E7%8E%A9%E7%9A%84)\n  - [源码解读](#%E6%BA%90%E7%A0%81%E8%A7%A3%E8%AF%BB)\n  - [js-bits](#js-bits)\n- [License](#license)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n![Coding-Guide](./image/Coding-Guide.png)\n\n\u003e 个人学习笔记与博文\n\n## Menu\n\n- Tools\n  - Plugin\n    - [css-plugin](./Tools/Plugin/css-plugin.md)\n    - [js-plugin](./Tools/Plugin/js-plugin.md)\n    - [react-plugin](./Tools/Plugin/react-plugin.md)\n    - [python-plugin](./Tools/Plugin/python-plugin.md)\n  - Framework\n    - [css-ui-framework](./Tools/Framework/css-ui-framework.md)\n    - [react-ui-framework](./Tools/Framework/react-ui-framework.md)\n- Notes\n  - [JavaScript](./Notes/JavaScript)\n  - [Python](./Notes/Python)\n  - [html \u0026 css](./Notes/CSS)\n  - [前端工程](./Notes/前端工程)\n  - [NodeJS](./Notes/NodeJS)\n    - [基础](./Notes/NodeJS/基础)\n    - [Express](./Notes/NodeJS/Express)\n    - [KOA](./Notes/NodeJS/KOA)\n  - [React](./Notes/React)\n    - [Redux](./Notes/React/Redux)\n    - [ReactJS](./Notes/React/ReactJS)\n    - [React Native](./Notes/React/ReactNative)\n  - Lua\n  - [算法](https://github.com/ecmadao/algorithms)\n  - [机器学习](https://github.com/ecmadao/ml-in-action)\n  - [Projects](./Notes/Projects)\n  - [译文](./Notes/译文)\n  - [Electron](./Notes/Electron)\n  - [UnitTest](./Notes/UnitTest)\n  - [Elm](./Notes/Elm)\n  - [Ember](./Notes/ember)\n  - [Swift4 \u0026 iOS](./Notes/iOS)\n  - [Ruby](./Notes/Ruby)\n  - [Haskell](./Notes/Haskell)\n\n## 专题\n\n### JavaScript\n\n- [Webpack配置从零到一](./Notes/%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B/Webpack%E9%85%8D%E7%BD%AE%E4%BB%8E%E9%9B%B6%E5%88%B0%E4%B8%80.md)\n- [【译文】用Webpack武装自己](./Notes/%E8%AF%91%E6%96%87/%E3%80%90%E8%AF%91%E6%96%87%E3%80%91%E7%94%A8Webpack%E6%AD%A6%E8%A3%85%E8%87%AA%E5%B7%B1.md)\n- [PostCSS配置指北](./Notes/CSS/PostCSS%E9%85%8D%E7%BD%AE%E6%8C%87%E5%8C%97.md)\n- [【译文】七条可应用于设计的心理学原则](./Notes/%E8%AF%91%E6%96%87/%E3%80%90%E8%AF%91%E6%96%87%E3%80%91%E4%B8%83%E6%9D%A1%E5%8F%AF%E5%BA%94%E7%94%A8%E4%BA%8E%E8%AE%BE%E8%AE%A1%E7%9A%84%E5%BF%83%E7%90%86%E5%AD%A6%E5%8E%9F%E5%88%99.md)\n- [【译文】网页设计中隐藏在色彩之后的情感和心理学](./Notes/%E8%AF%91%E6%96%87/%E3%80%90%E8%AF%91%E6%96%87%E3%80%91%E7%BD%91%E9%A1%B5%E8%AE%BE%E8%AE%A1%E4%B8%AD%E9%9A%90%E8%97%8F%E5%9C%A8%E8%89%B2%E5%BD%A9%E4%B9%8B%E5%90%8E%E7%9A%84%E6%83%85%E6%84%9F%E5%92%8C%E5%BF%83%E7%90%86%E5%AD%A6.md)\n- [手把手撸一个React Timepicker NPM组件](./Notes/React/ReactJS/Write%20a%20React%20Timepicker%20Component%20hand%20by%20hand.md)\n- [Redux入坑进阶-源码解析](./Notes/React/Redux/Redux%E5%85%A5%E5%9D%91%E8%BF%9B%E9%98%B6-%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90.md)\n- [前端单元测试探索](./Notes/UnitTest/%E5%89%8D%E7%AB%AF%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95%E6%8E%A2%E7%B4%A2.md)\n- RxJS\n  - [探索 RxJS - Core Concept](./Notes/RxJS/探索RxJS-CoreConcept.md)\n  - [探索RxJS - 做一个 github 小应用](./Notes/RxJS/探索RxJS-做一个github小应用.md)\n  - [探索 RxJS - Observable](./Notes/RxJS/探索RxJS-Observable.md)\n- [JavaScript 中的数据结构](https://github.com/ecmadao/Coding-Guide/blob/master/Notes/JavaScript/JavaScript%20%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84.md)\n\n### 关于项目\n\n- [极客与团队](./Notes/Projects/极客与团队.md)\n- [The Pragmatic Programmer](https://github.com/ecmadao/Coding-Guide/blob/master/Notes/Projects/The%20Pragmatic%20Programmer.md)\n- [Rework](./Notes/Projects/Rework.md)\n\n### 关于产品\n\n- [Don't Make Me Think](./Notes/Projects/Don-t-Make-Me-Think.md)\n- [【译文】七条可应用于设计的心理学原则](./Notes/%E8%AF%91%E6%96%87/%E3%80%90%E8%AF%91%E6%96%87%E3%80%91%E4%B8%83%E6%9D%A1%E5%8F%AF%E5%BA%94%E7%94%A8%E4%BA%8E%E8%AE%BE%E8%AE%A1%E7%9A%84%E5%BF%83%E7%90%86%E5%AD%A6%E5%8E%9F%E5%88%99.md)\n- [【译文】网页设计中隐藏在色彩之后的情感和心理学](./Notes/%E8%AF%91%E6%96%87/%E3%80%90%E8%AF%91%E6%96%87%E3%80%91%E7%BD%91%E9%A1%B5%E8%AE%BE%E8%AE%A1%E4%B8%AD%E9%9A%90%E8%97%8F%E5%9C%A8%E8%89%B2%E5%BD%A9%E4%B9%8B%E5%90%8E%E7%9A%84%E6%83%85%E6%84%9F%E5%92%8C%E5%BF%83%E7%90%86%E5%AD%A6.md)\n- [【译文】构建积极友好的 UI](https://github.com/ecmadao/Coding-Guide/blob/master/Notes/%E8%AF%91%E6%96%87/%E3%80%90%E8%AF%91%E6%96%87%E3%80%91%E6%9E%84%E5%BB%BA%E7%A7%AF%E6%9E%81%E5%8F%8B%E5%A5%BD%E7%9A%84%20UI.md)\n\n### Koa2系列教程\n\n- [middleware](./Notes/NodeJS/KOA/learn%20koa2--middleware.md)\n- [router](./Notes/NodeJS/KOA/learn%20koa2--router.md)\n- [controller \u0026 template](./Notes/NodeJS/KOA/learn%20koa2--controller%20%26%20template.md)\n- [context](./Notes/NodeJS/KOA/learn%20koa2--context.md)\n- [安全认证](./Notes/NodeJS/KOA/learn%20koa2--%E8%AE%A4%E8%AF%81.md)\n- [model \u0026 mongodb](./Notes/NodeJS/KOA/learn%20koa2--model%20%26%20mongodb.md)\n- [tools](./Notes/NodeJS/KOA/learn%20koa2--tools.md)\n\n扩展：\n\n- [源码与线上DEMO](https://github.com/ecmadao/Learn-Koa2)\n- [Gitbook](https://ecmadao.gitbooks.io/learn-koa2/content/)\n\n### Python3系列教程\n\n- [基础](./Notes/Python/Python%E5%8F%8A%E5%BA%94%E7%94%A8/Python3%E5%8F%8A%E5%BA%94%E7%94%A81-%E5%9F%BA%E7%A1%80.md)\n- [类/库/对象](./Notes/Python/Python%E5%8F%8A%E5%BA%94%E7%94%A8/Python3%E5%8F%8A%E5%BA%94%E7%94%A82-%E7%B1%BB:%E5%BA%93:%E5%AF%B9%E8%B1%A1.md)\n- [数据处理](./Notes/Python/Python%E5%8F%8A%E5%BA%94%E7%94%A8/Python3%E5%8F%8A%E5%BA%94%E7%94%A83-%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86.md)\n- [pymongo](./Notes/Python/Python%E5%8F%8A%E5%BA%94%E7%94%A8/Python3%E5%8F%8A%E5%BA%94%E7%94%A84-pymongo.md)\n- [多线程](./Notes/Python/Python%E5%8F%8A%E5%BA%94%E7%94%A8/Python3%E5%8F%8A%E5%BA%94%E7%94%A85-%E5%A4%9A%E7%BA%BF%E7%A8%8B.md)\n- [UnitTest](./Notes/Python/Python%E5%8F%8A%E5%BA%94%E7%94%A8/Python3%E5%8F%8A%E5%BA%94%E7%94%A86-UnitTest.md)\n- [打包发布自己的库](./Notes/Python/Python%E5%8F%8A%E5%BA%94%E7%94%A8/Python3%E5%8F%8A%E5%BA%94%E7%94%A87-%E6%89%93%E5%8C%85%E5%8F%91%E5%B8%83%E8%87%AA%E5%B7%B1%E7%9A%84%E5%BA%93.md)\n- [命令行工具](./Notes/Python/Python%E5%8F%8A%E5%BA%94%E7%94%A8/Python3%E5%8F%8A%E5%BA%94%E7%94%A88-%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7.md)\n\n扩展：\n\n- [Gitbook](https://ecmadao.gitbooks.io/python3/content/)\n\n### Python进阶\n\n- [Magic Python](./Notes/Python/Python进阶/Magic%20Python.md)\n- [Effective Python](./Notes/Python/Python%E8%BF%9B%E9%98%B6/Effective%20Python.md)\n- [Python Style Guide](./Notes/Python/Python进阶/Python%20Style%20Guide.md)\n- [Python 中的 Collections 库](./Notes/Python/Python%E8%BF%9B%E9%98%B6/Python%20%E4%B8%AD%E7%9A%84%20Collections%20%E5%BA%93.md)\n\n### Ember文档翻译系列(V2.8.0)\n\n- [Tutorial](./Notes/ember/ember%E5%88%9D%E6%8E%A2--tutorial.md)\n- [Ember的核心概念](./Notes/ember/ember%E5%88%9D%E6%8E%A2--Core%20Concept.md)\n- [Ember中的对象](./Notes/ember/Ember%E5%88%9D%E6%8E%A2--Ember%E4%B8%AD%E7%9A%84%E5%AF%B9%E8%B1%A1.md)\n- [Routing](./Notes/ember/Ember%E5%88%9D%E6%AD%A5--Routing.md)\n- [Template](./master/Notes/ember/Ember%E5%88%9D%E6%AD%A5--Template.md)\n- [Component](./Notes/ember/Ember%E5%88%9D%E6%AD%A5--Component.md)\n- [Controller](./Notes/ember/Ember%E5%88%9D%E6%AD%A5--Controller.md)\n- [Model](./Notes/ember/Ember%E5%88%9D%E6%AD%A5--Model.md)\n\n### 算法 \u0026 ML\n\n- [算法](https://github.com/ecmadao/algorithms)\n- [机器学习 - 用 JS 实现](https://github.com/ecmadao/ml-in-action)\n\n### 好玩的\n\n- [Electron](./Notes/Electron/Electron%E3%80%9001%E3%80%91--%E4%B8%BB%E8%BF%9B%E7%A8%8BVS%E6%B8%B2%E6%9F%93%E8%BF%9B%E7%A8%8B%26%E4%B8%8D%E5%90%8C%E9%A1%B5%E9%9D%A2%E9%97%B4%E5%85%B1%E4%BA%AB%E6%95%B0%E6%8D%AE.md)\n\n\u003e 优点：web写法（其实就是前端），一次书写可编译成多平台应用\n\u003e\n\u003e 缺点：打包后体积太大。经验不足的开发者容易把它做成和web没有太大差别，仅仅是外面套了个壳的应用。和原生应用相比，可获取的系统接口还是太少，一般情况下没有太大开发意义，产品易被网页版取代\n\n- [Elm](./Notes/Elm/Think%20in%20Elm.md)\n\n\u003e 优点：Redux鼻祖。纯函数式编程，简洁，漂亮。\n\u003e\n\u003e 缺点：学习和开发、维护成本偏高。很少运用于生产环境\n\n- [React Native](https://github.com/ecmadao/F8App-Analysis)\n\n\u003e 优点：没玩过weex，除此以外RN是我见过的性能最好对React栈前端尤其友好的跨平台框架。生产环境下编译后应用运行速度不会比原生差很大。\n\u003e\n\u003e 缺点：交互弱。属于跨平台框架通病\n\n- [React Times](https://github.com/ecmadao/react-times)\n\n  - [源码](https://github.com/ecmadao/react-times)\n  - [教程](./Notes/React/ReactJS/Write%20a%20React%20Timepicker%20Component%20hand%20by%20hand.md)\n\n\u003e 一个React小时选择组件，支持24小时/12小时制\n\n- [剁手党](https://github.com/ecmadao/Hands-Chopping)\n\n\u003e 【Hands Chopping】【剁手党】Python3编写的爬取淘宝/京东命令行工具。使用xpath + Selenium\n\n- [Alfred TodoList](https://github.com/ecmadao/Alfred-TodoList)\n\n\u003e 基于Mac神器Alfred的一个Todo App，使用Python2编写\n\u003e\n\u003e 优点：Alfred插件可以拿多种脚本语言编写，甚至可以和系统API联动\n\u003e\n\u003e 缺点：可惜的是目前Alfred还不支持Python3，以及对于第三方库的支持也不太友好。\n\n- [cliper-chrome](https://github.com/ecmadao/cliper-chrome)\n- [cliper-backend](https://github.com/ecmadao/cliper-backend)\n- [chrome扩展程序开发](https://github.com/ecmadao/Coding-Guide/blob/master/Notes/%E5%89%8D%E7%AB%AF%E5%B7%A5%E7%A8%8B/Chrome扩展程序开发.md)\n\n\u003e 一个Chrome扩展程序 + 对应的前后端（Koa2 + react），作用是快速保存页面或者页面上选择的文本，用于阅读文章时的摘记和整理\n\u003e\n\u003e 初版已部署上线：[cliper](http://cliper.com.cn)、[cliper chrome extension](https://chrome.google.com/webstore/detail/cliper/biijehenaabpogldekblkfgooifmagbi)\n\n- [github chrome 插件](https://github.com/ecmadao/github-extension)\n\n\u003e 提高 pull request 创建 / code review 体验，在仓库主页展示其大小和相关推荐的开源项目\n\u003e\n\u003e [download in chrome extension store](https://chrome.google.com/webstore/detail/dimfhhiifdbdcjaoijgldompniobhcbd)\n\n### 源码解读\n\n\u003e 大部分位于 github 仓库：[code-analysis](https://github.com/ecmadao/code-analysis)\n\n- [redux 源码解析](./Notes/React/Redux/Redux%E5%85%A5%E5%9D%91%E8%BF%9B%E9%98%B6-%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90.md)\n\n状态管理插件，本质上就是一个函数库\n\n- [blazy 源码解析](https://github.com/ecmadao/code-analysis/blob/master/analysis/blazy.js)\n\n基于jQuery的图片懒加载插件\n\n- [push.js 源码解析](https://github.com/ecmadao/code-analysis/blob/master/analysis/notification/push.js)\n\n一个兼容多平台多种类浏览器的 notification 插件\n\n- [jquery.hotkeys 源码解析](https://github.com/ecmadao/code-analysis/blob/master/analysis/hotkey/jquery.hotkeys.js)\n\n一个依赖于 jQuery 的插件，提供按键监听\n\n- [store.js 源码解析](https://github.com/ecmadao/code-analysis/blob/master/analysis/storage/store.js)\n\n通过封装localStorage API，提供了友好的操作，并兼容IE\n\n- [nprogress 源码解析](https://github.com/ecmadao/code-analysis/blob/master/analysis/nprogress.js)\n\n一个在页面（或特定容器）顶部创建进度条的插件\n\n- [object-assign 源码分析](https://github.com/ecmadao/code-analysis/blob/master/analysis/object-assign.js)\n\n`Object.assign`的`ponyfill`，兼容性很好\n\n### [js-bits](https://github.com/ecmadao/js-bits-cn)\n\n使用代码解释`JavaScript`的概念，翻译自[`vasanthk/js-bits`](https://github.com/vasanthk/js-bits)，已获得作者授权。\n\n## License\n\nApache License 2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fecmadao%2Fcoding-guide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fecmadao%2Fcoding-guide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fecmadao%2Fcoding-guide/lists"}