├── .gitignore ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (https://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # TypeScript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | 60 | # next.js build output 61 | .next 62 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome Phodal 2 | 3 | > Awesome articles, tools, OS project, design of Phodal - collections in path of Phodal's way for new geek & nerd to quick growth. 4 | 5 | 6 | ## 文章 7 | 8 | ### 练习 9 | 10 | - 2016.7 [关于编程,你的练习是不是有效的?](https://github.com/phodal/articles/issues/19) 11 | - 2017.6 **[演进:在工作的前三年里快速成长(练习篇)](https://www.phodal.com/blog/evolution-how-to-practise/)** 12 | - 2019.2 [练习技术的诀窍](https://www.phodal.com/blog/how-to-make-practise-works/) 13 | - 2018.8 [技术的学习与练习](https://www.phodal.com/blog/how-to-learn-skill/) 14 | - 2014.5 [写作驱动学习](https://www.phodal.com/blog/write-driven-learning/) 15 | - 2016.5 [如何以“正确的姿势”阅读开源软件代码 ](https://github.com/phodal/articles/issues/14) 16 | 17 | ### 软件工程 18 | 19 | - 2018.9 [项目初期的最优技术实践](https://www.phodal.com/blog/short-time-project-best-practise/) 20 | - 2018.1 [开源之美:开源软件开发流程](https://www.phodal.com/blog/how-to-build-a-opensource-project/) 21 | - 2017.6 [技巧 - 如何好一个 Git 提交信息及几种不同的规范](https://www.phodal.com/blog/how-to-write-a-better-git-commit-message/) 22 | - 2017.7 [使用 React Native 重写大型 Ionic 应用后,我们想分享一下这八个经验](https://www.phodal.com/blog/react-native-case-study/) 23 | - 2018.1 [从遗留技术栈升级里,我学到的八件事](https://www.phodal.com/blog/learning-from-blogpost-tech-stack-migrate/) 24 | 25 | ### 职业生涯系列 26 | 27 | - 2017.2 [程序员如何写好简历 && 一份优秀的程序员简历是什么样的?](https://www.phodal.com/blog/how-to-write-a-resume/) 28 | - 2017.4 [天天写业务代码的那些年,我们是如何成长过来的](https://www.phodal.com/blog/howto-learn-technoloty-from-legacy-system-project/) 29 | - 2017.6 [编程热情的维系](https://www.phodal.com/blog/thinking-about-programming-enthusiasm/) 30 | - 2017.9 [说说程序员的核心能力:第一个三年:后台、前端、移动应用,第二个三年呢?](https://www.phodal.com/blog/thinking-about-programmer-core-skills/) 31 | - 2018.4 [初级到资深:程序员的职业生涯思考与可迁移技能培养](https://www.phodal.com/blog/thinking-in-programmer-career-and-common-skills/) 32 | - 2016.7 [两年以来x两年以后](https://github.com/phodal/articles/issues/21) 33 | - 2018.7 [编程人生:毕业到迈入工作的第五年,发生了这些变化](https://www.phodal.com/blog/a-programmer-to-five-years/) 34 | - 2018.12 [程序员的成长焦虑:构建长期职业生涯](https://www.phodal.com/blog/build-a-long-tem-programmer-life-plan/) 35 | - 2016.2 [我的编程之路](https://mp.weixin.qq.com/s/RKHo8oFydYL0KgHbvvOUkA) 36 | - 2016.8 [【前端人生】我的前端学习经验和方法技巧](https://mp.weixin.qq.com/s/j-6zHfOvzG4pJzMXji-lVg) 37 | 38 | ### Tech Lead 系列 39 | 40 | - 2019.1 **[迈向 Tech Lead 之路](https://www.phodal.com/blog/path-to-tech-lead/)** 41 | - 2019.3 [新项目检查清单](https://www.phodal.com/blog/new-project-check-lists/) 42 | - 2019.4 [技术调研的模式](https://www.phodal.com/blog/tech-spike-patterns/) 43 | - 2019.3 [如何优化上线流程——Path to Production](https://www.phodal.com/blog/tech-lead-tools-path-to-production/) 44 | 45 | ### 架构 46 | 47 | - 2018.7 [实施微前端的六种方式](https://github.com/phodal/articles/issues/51) 48 | - 2015.12 [RePractise:前端演进史](http://repractise.phodal.com/) 49 | - ["微" 害架构](https://www.phodal.com/blog/micro-architecture-in-real-world/) 50 | - [如何解构单体前端应用——前端应用的微服务式拆分](https://www.phodal.com/blog/how-to-build-a-microfrontend-framework-mooa/) 51 | - [无代码编程](https://www.phodal.com/blog/low-code-programming/) 52 | - [前后端分离团队的资源浪费](https://www.phodal.com/blog/frontend-backend-seperate-team-is-waste-resources/) 53 | - [构建质量可信的软件系统](https://www.phodal.com/blog/build-trusted-software-system/) 54 | - [管理依赖的 11 个策略](https://www.phodal.com/blog/dependency-management-strategy/) 55 | - [如何创建你的应用脚手架](https://www.phodal.com/blog/how-to-create-application-boilerplate/) 56 | - [整洁前端架构](https://github.com/phodal/clean-frontend) 57 | 58 | **架构拾集**: 59 | 60 | - [【架构拾集】 微前端:微应用化](https://www.phodal.com/blog/architecutre-in-word-design-micro-application-frontend-architecture/) 61 | - [【架构拾集】:移动应用架构设计](https://www.phodal.com/blog/architecture-design-series-design-a-mobile-application-architecture/) 62 | - [【架构拾集】前后端分离演进:不能微服务,那就 BFF 隔离](https://www.phodal.com/blog/architecture-101-bff-for-legacy-system-migrate/) 63 | - [【架构拾集】简易的 Android 混合应用框架的插件架构设计](https://www.phodal.com/blog/phodal-architecture-books-build-android-hybird-plugins-manage/) 64 | - [【架构拾集】移动应用的自动化测试(BDD 方式)](https://www.phodal.com/blog/phodal-architecture-101-mobile-appllication-test-architecture/) 65 | - [【架构拾集】基于混合应用架构的跨平台实时聊天应用](https://www.phodal.com/blog/architecture-design-build-instant-message-application/) 66 | - [【架构拾集】WebView 的JavaScript Bridge 设计](https://www.phodal.com/blog/architecture-books-build-hybird-framework/) 67 | - [跨平台架构模式](https://www.phodal.com/blog/cross-platform-strategy/) 68 | 69 | ### 编码 70 | 71 | - [如何提升 Web 应用的代码质量](https://www.phodal.com/blog/how-to-improve-web-application-quanlity/) 72 | - [五个基本原则,让新手写出 “整洁代码”](https://www.phodal.com/blog/how-to-write-clean-code/) 73 | - [使用 “IDE 重构” 改善代码质量](https://www.phodal.com/blog/beautify-code-ide-refactor/) 74 | 75 | ### 业务 76 | 77 | - [如何在业务代码中提升:创建领域特定语言](https://www.phodal.com/blog/how-to-design-dsl-in-bau-project/) 78 | - [开发一个类似于 xxx 的应用有多难?](https://www.phodal.com/blog/how-to-development-a-xxx-like-application/) 79 | 80 | ### 算法 81 | 82 | - [我是如何为技术博客设计一个推荐系统(上):基于统计与评分](https://www.phodal.com/blog/how-to-design-a-recommend-system-part-1-statistics-rating-up/) 83 | - [如何为技术博客设计一个推荐系统(中):基于 Google 搜索的半自动推荐](https://www.phodal.com/blog/how-to-design-a-recommend-system-part-1-google-based-auto-tag-system/) 84 | 85 | ### 测试 86 | 87 | - 2016.11 [UI测试:一个浏览器跑要8分钟,那么8个浏览器呢?](https://www.phodal.com/blog/one-browser-run-test-in-8mins-how-about-eight-browsers/) 88 | - 2015.12 [基于Virtual DOM与Diff DOM的测试代码生成](https://www.phodal.com/blog/virtual-dom-diff-dom-generate-test/) 89 | - 2017.10 [BDD 框架对比: Cucumber.js vs Robot Framework vs Gauge.js](https://www.phodal.com/blog/how-to-choice-you-bdd-framework-robot-cucumber-gauge/) 90 | - [测试代码的坏味道](https://www.phodal.com/blog/test-bad-smell/) 91 | 92 | ### 系统重构 93 | 94 | - [如何做遗留系统的重构评估](https://www.phodal.com/blog/evaluate-legacy-system/) 95 | - [分层架构重构](https://www.phodal.com/blog/refactor-mvc-architecture-to-ddd/) 96 | - [重构的自动化](https://www.phodal.com/blog/auto-refactor/) 97 | 98 | ### 写作 99 | 100 | - [如何翻译一本计算机书籍?](https://www.phodal.com/blog/how-to-translate-a-technology-book/) 101 | - [程序员怎样才能写出一篇好的博客或者技术文章](https://www.phodal.com/blog/programmer-how-to-write-a-good-article/) 102 | - [写一篇好的技术文章有多难?](https://www.phodal.com/blog/how-to-write-a-good-tech-artilce/) 103 | 104 | ### 个人 105 | 106 | - 2017.2 [2017 年,你应该这样学习 Web 编程 —— 内置索引 + 外置搜索引擎](https://github.com/phodal/articles/issues/37) 107 | - [如何提高影响力](https://www.phodal.com/blog/how-to-improve-impact/) 108 | - [程序员如何艺术的提升技术、影响力&赚钱](https://www.phodal.com/blog/how-to-make-money-and-improve-impact/) 109 | - [程序员如何提高影响力 2.0](https://www.phodal.com/blog/improve-impact-2/) 110 | - [程序员如何提高效率之休息](https://www.phodal.com/blog/how-to-improve-performance-by-better-rest/) 111 | 112 | ### 年度流水系列 113 | 114 | - [2013 节点——技术成长,从比赛到 ThoughtWorks](https://www.phodal.com/blog/my-2013-from-competition-to-thoughtworks/) 115 | - [2014 节点——高速发展的一年:目标和代码](https://www.phodal.com/blog/2014-node-quick-grow-year-tasks-code/) 116 | - [2015 节点——从翻译到浮现式设计](https://www.phodal.com/blog/recap-2015-simple-the-world/) 117 | - [2016 年节点——增长的一年:不只编程](https://www.phodal.com/blog/summary-2016-growth-year-notolny-programming/) 118 | - [2017 年节点——T 型成长,持续学习](https://www.phodal.com/blog/summary-2017-t-talents-continues-growth/) 119 | - [2018 节点:Think Big & Be Long](https://www.phodal.com/blog/summary-2018-think-big-and-be-long/) 120 | - [2019 节点: Love Wife & Change Life](https://www.phodal.com/blog/annual-2019-love-wife-change-life/) 121 | 122 | ## 书 123 | 124 | ### 作者 125 | 126 | - 《前端架构:从入门到微前端》 电子工业出版社 127 | - 《全栈应用开发:精益实践》 电子工业出版社(购买:[亚马逊](https://www.amazon.cn/dp/B0722YJR89)、[当当](http://product.dangdang.com/25077858.html)、[京东](http://item.jd.com/12195442.html)) 128 | - 《自己动手设计物联网》 电子工业出版社(购买:[亚马逊](https://www.amazon.cn/%E5%9B%BE%E4%B9%A6/dp/B01IBZWTWW?ie=UTF8&creative=2384&creativeASIN=B01IBZWTWW&linkCode=df0&ref_=asc_df_B01IBZWTWW2239914&tag=douban-23)、[当当](http://product.dangdang.com/24000878.html?_ddclickunion=P-306226-0-s26841195|ad_type=0|sys_id=1#dd_refer=https%3A%2F%2Fbook.douban.com%2Flink2%2F%3Flowest%3D4250%26pre%3D0%26vendor%3Ddangdang%26srcpage%3Dsubject%26price%3D5020%26pos%3D1%26url%3Dhttp%253a%252f%252funion.dangdang.com%252ftransfer.php%253ffrom%253dp-306226-0-s26841195%2526backurl%253dhttp%253a%252f%252fproduct.dangdang.com%252fproduct.aspx%253fproduct_id%253d24000878%26cntvendor%3D4%26srcsubj%3D26841195%26type%3Dbkbuy%26subject%3D26841195)、[京东](http://item.jd.com/11946585.html)) 129 | 130 | ### 翻译 131 | 132 | - 《物联网实战指南》机械工业出版社(购买:[京东](https://item.jd.com/12037436.html) 、[当当](http://product.dangdang.com/24035320.html)、[亚马逊](https://www.amazon.cn/dp/B01M06CK6R/)) 133 | 134 | - 《Arduino 编程:实现梦想的工具和技术([亚马逊](https://www.amazon.cn/dp/B075VVPN79))》 135 | 136 | ### 电子书 137 | 138 | - 《[Phodal's Idea实战指南](https://github.com/phodal/ideabook)》 139 | - 《[一步步搭建物联网系统](https://github.com/phodal/designiot)》 140 | - 《[GitHub 漫游指南](https://github.com/phodal/github-roam)》 141 | - 《[RePractise](https://github.com/phodal/repractise)》 142 | - 《[Growth: 全栈增长工程师指南](https://github.com/phodal/growth-ebook)》 143 | - 《[Growth: 全栈增长工程师实战](https://github.com/phodal/growth-in-action)》 144 | - 《[我的职业是前端工程师](https://github.com/phodal/fe)》 145 | - 《[Serverless 应用开发指南](https://github.com/phodal/serverless)》 146 | - 《[微前端的那些事儿](https://github.com/phodal/microfrontends)》 147 | - 《[系统重构与迁移指南](https://github.com/phodal/migration)》 148 | - 《[云研发:研发即代码](https://github.com/phodal/cloud-dev)》(草稿) 149 | 150 | 151 | ### 审阅 152 | 153 | - 《[Learning Internet of Things》](https://www.packtpub.com/application-development/learning-internet-things)》(英文版, PACKT出版社)》 154 | - 《[Smart Internet of Things ](https://www.packtpub.com/hardware-and-creative/smart-internet-things-projects)》(英文版,PACKT出版社) 155 | - 《[Angular Services](https://www.packtpub.com/web-development/angular-services)》(英文版,PACKT出版社) 156 | - 《[Getting Started with Angular - Second Edition](https://www.packtpub.com/web-development/getting-started-angular-second-edition)》(英文版,PACKT出版社) 157 | - 《[Building Modern Web Applications Using Angular](https://www.packtpub.com/web-development/building-modern-web-applications-using-angular)》(英文版,PACKT出版社) 158 | - 《[Expert Angular](https://www.packtpub.com/web-development/expert-angular)》(英文版,PACKT出版社) 159 | - 《[Angular 6 by Example - Third Edition](https://www.packtpub.com/web-development/angular-example-third-edition)》(英文版,PACKT出版社) 160 | - 《[Mastering Angular Components - Second Edition](https://www.packtpub.com/web-development/mastering-angular-components-second-edition)》(英文版,PACKT出版社) 161 | - 《[Building Large-Scale Web Applications with Angular](https://www.packtpub.com/web-development/building-large-scale-web-applications-angular)》(英文版,PACKT出版社) 162 | 163 | ## 开源项目 164 | 165 | 详细见:[Ideas](https://github.com/phodal/ideas) 166 | 167 | ### 语言 168 | 169 | - 通用语言元信息转换器 [Chapi](https://github.com/phodal/chapi) 170 | 171 | ### 工具 172 | 173 | - 架构决策记录工具 [ADR](https://github.com/phodal/adr) 174 | - DDD 生成工个 [stepping](https://github.com/phodal/stepping) 175 | - Markdown 编辑器 [Phodit](https://github.com/phodal/phodit) 176 | - Serverless 密码管理工具 [Mopass](https://github.com/phodal/mopass) 177 | - 遗留系统重构工具 [Coca](https://github.com/phodal/coca) 178 | 179 | ### 移动端 180 | 181 | - React Native 混合应用框架 [Dore](https://github.com/phodal/dore) 182 | - Android 应用模板 [Arche](https://github.com/phodal/arche) 183 | 184 | ### 前端 185 | 186 | - Developer 进阶书单 [Booktree](https://github.com/phodal/booktree) 187 | - 技能树 2 [Sherlock](https://github.com/phodal/sherlock) 188 | - 技能树 1 [Skilltree](https://github.com/phodal/skilltree) 189 | - Slide 框架 [Echoesworks](https://github.com/phodal/echoesworks) 190 | - 前端框架 [Lettuce](https://github.com/phodal/lettuce) 191 | - 文档代码化框架:[Ledge Framework](https://github.com/ledge-framework/engine/) 192 | 193 | ### 物联网 194 | 195 | - 多协议物联网系统 [Lan](https://github.com/phodal/lan) 196 | - 最小物联网系统 [IoT](https://github.com/phodal/iot) 197 | - 嵌入式知识总汇 [EKS](https://github.com/phodal/eks) 198 | 199 | ### 文档化 200 | 201 | - DevOps 知识平台[Ledge](https://github.com/phodal/ledge) 202 | 203 | 204 | --------------------------------------------------------------------------------