{"id":13537474,"url":"https://github.com/phodal/repractise","last_synced_at":"2026-02-25T01:32:52.583Z","repository":{"id":36294858,"uuid":"40599397","full_name":"phodal/repractise","owner":"phodal","description":"RePractise","archived":false,"fork":false,"pushed_at":"2019-02-05T18:34:12.000Z","size":25698,"stargazers_count":697,"open_issues_count":0,"forks_count":138,"subscribers_count":63,"default_branch":"gh-pages","last_synced_at":"2025-02-23T11:24:41.996Z","etag":null,"topics":["backend","ddd","domain","frontend","github-books","phodal","repractise"],"latest_commit_sha":null,"homepage":"http://repractise.phodal.com","language":"HTML","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/phodal.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":"2015-08-12T12:29:34.000Z","updated_at":"2025-02-21T21:53:43.000Z","dependencies_parsed_at":"2022-09-04T19:10:57.109Z","dependency_job_id":null,"html_url":"https://github.com/phodal/repractise","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/phodal/repractise","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phodal%2Frepractise","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phodal%2Frepractise/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phodal%2Frepractise/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phodal%2Frepractise/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phodal","download_url":"https://codeload.github.com/phodal/repractise/tar.gz/refs/heads/gh-pages","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phodal%2Frepractise/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29807916,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T22:43:48.403Z","status":"ssl_error","status_checked_at":"2026-02-24T22:43:18.536Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["backend","ddd","domain","frontend","github-books","phodal","repractise"],"created_at":"2024-08-01T09:00:59.448Z","updated_at":"2026-02-25T01:32:52.557Z","avatar_url":"https://github.com/phodal.png","language":"HTML","readme":"RePractise\n===\n\n在线阅读： [http://repractise.phodal.com/](http://repractise.phodal.com/)\n\n你是否有过这样的经历：\n\n 1. 创建了一个项目，发现有一些坑，你怎么填都填不好。\n 2. 放置了一段时间，你又回来了\n 3. 于是你用了一个更好的方法来填了这个坑？\n\n\u003e 无论怎样的Coding，都是不断的Practise。想要有所成果，你需要RePractise——总结和diff change，再Practise。\n\n对于工程而言，一个技术都是不断练习出来的。\n\n不同的人对于练习会有不同的方法，有的练习是没有必要的，它并不会增长我们的技术点；有的练习则会将一万小时缩短为一半，或者更短。\n\n(ps:临时广告区，欢迎关注我的微信公众号——首发哦！搜索：phodal，或者扫描下面的二维码)\n\n![Phodal 微信公众号](https://raw.githubusercontent.com/phodal/github-roam/gh-pages/img/qrcode.jpg)\n\n目录\n---------\n\n*   [引言](http://repractise.phodal.com/#引言)\n    *   [Re-Practise](http://repractise.phodal.com/#re-practise)\n    *   [技术与业务](http://repractise.phodal.com/#技术与业务)\n    *   [资讯爆炸](http://repractise.phodal.com/#资讯爆炸)\n    *   [Lost](http://repractise.phodal.com/#lost)\n*   [前端篇: 前端演进史](http://repractise.phodal.com/#前端篇-前端演进史)\n    *   [什么是前端？](http://repractise.phodal.com/#什么是前端)\n    *   [前端演进史](http://repractise.phodal.com/#前端演进史)\n        *   [数据-模板-样式混合](http://repractise.phodal.com/#数据-模板-样式混合)\n        *   [Model-View-Controller](http://repractise.phodal.com/#model-view-controller)\n        *   [从桌面版到移动版](http://repractise.phodal.com/#从桌面版到移动版)\n        *   [APP与过渡期API](http://repractise.phodal.com/#app与过渡期api)\n        *   [过渡期SPA](http://repractise.phodal.com/#过渡期spa)\n        *   [Hybird与ViewModel](http://repractise.phodal.com/#hybird与viewmodel)\n        *   [一次构建，跨平台运行](http://repractise.phodal.com/#一次构建跨平台运行)\n    *   [RePractise](http://repractise.phodal.com/#repractise)\n*   [后台与服务篇](http://repractise.phodal.com/#后台与服务篇)\n    *   [RESTful与服务化](http://repractise.phodal.com/#restful与服务化)\n        *   [设计RESTful API](http://repractise.phodal.com/#设计restful-api)\n        *   [资源](http://repractise.phodal.com/#资源)\n    *   [微服务](http://repractise.phodal.com/#微服务)\n        *   [微内核](http://repractise.phodal.com/#微内核)\n    *   [混合微服务](http://repractise.phodal.com/#混合微服务)\n    *   [其他](http://repractise.phodal.com/#其他)\n*   [前后端篇](http://repractise.phodal.com/#前后端篇)\n    *   [前后端分离](http://repractise.phodal.com/#前后端分离)\n    *   [单页面应用后台渲染](http://repractise.phodal.com/#单页面应用后台渲染)\n        *   [前后台渲染同一模板](http://repractise.phodal.com/#前后台渲染同一模板)\n        *   [PreRender方式](http://repractise.phodal.com/#prerender方式)\n        *   [React](http://repractise.phodal.com/#react)\n*   [从真实世界到前后端](http://repractise.phodal.com/#从真实世界到前后端)\n    *   [从真实世界到前后端](http://repractise.phodal.com/#从真实世界到前后端-1)\n        *   [便利店与售货员](http://repractise.phodal.com/#便利店与售货员)\n        *   [模型、领域、抽象](http://repractise.phodal.com/#模型领域抽象)\n    *   [前后台分离：后台](http://repractise.phodal.com/#前后台分离后台)\n    *   [前后台分离：前端](http://repractise.phodal.com/#前后台分离前端)\n    *   [RePractise](http://repractise.phodal.com/#repractise-1)\n*   [重构篇](http://repractise.phodal.com/#重构篇)\n    *   [网站重构](http://repractise.phodal.com/#网站重构)\n        *   [网站重构目的](http://repractise.phodal.com/#网站重构目的)\n    *   [代码重构](http://repractise.phodal.com/#代码重构)\n    *   [使用工具重构](http://repractise.phodal.com/#使用工具重构)\n    *   [借助工具重构](http://repractise.phodal.com/#借助工具重构)\n        *   [Code Climate](http://repractise.phodal.com/#code-climate)\n    *   [测试驱动开发](http://repractise.phodal.com/#测试驱动开发)\n        *   [一次测试驱动开发的故事](http://repractise.phodal.com/#一次测试驱动开发的故事)\n        *   [说说测试驱动开发](http://repractise.phodal.com/#说说测试驱动开发)\n        *   [思考](http://repractise.phodal.com/#思考)\n*   [架构篇: CMS的重构与演进](http://repractise.phodal.com/#架构篇-cms的重构与演进)\n    *   [动态CMS](http://repractise.phodal.com/#动态cms)\n        *   [CMS简介](http://repractise.phodal.com/#cms简介)\n        *   [CMS架构与Django](http://repractise.phodal.com/#cms架构与django)\n        *   [编辑-发布分离](http://repractise.phodal.com/#编辑-发布分离)\n        *   [基于Github的编辑-发布-开发分离](http://repractise.phodal.com/#基于github的编辑-发布-开发分离)\n        *   [Repractise](http://repractise.phodal.com/#repractise-2)\n    *   [构建基于Git为数据中心的CMS](http://repractise.phodal.com/#构建基于git为数据中心的cms)\n        *   [用户场景](http://repractise.phodal.com/#用户场景)\n    *   [Code: 生成静态页面](http://repractise.phodal.com/#code-生成静态页面)\n    *   [Builder: 构建生成工具](http://repractise.phodal.com/#builder-构建生成工具)\n    *   [Content：JSON格式](http://repractise.phodal.com/#contentjson格式)\n        *   [从Schema到数据库](http://repractise.phodal.com/#从schema到数据库)\n        *   [git作为NoSQL数据库](http://repractise.phodal.com/#git作为nosql数据库)\n    *   [一键发布：编辑器](http://repractise.phodal.com/#一键发布编辑器)\n    *   [移动应用](http://repractise.phodal.com/#移动应用)\n        *   [小结](http://repractise.phodal.com/#小结)\n        *   [其他](http://repractise.phodal.com/#其他-2)\n*   [无栈篇：架构设计](http://repractise.phodal.com/#无栈篇架构设计)\n    *   [博客与技术驱动](http://repractise.phodal.com/#博客与技术驱动)\n        *   [技术组成](http://repractise.phodal.com/#技术组成)\n    *   [Lan与架构设计](http://repractise.phodal.com/#lan与架构设计)\n        *   [物联网层级结构](http://repractise.phodal.com/#物联网层级结构)\n        *   [分层架构](http://repractise.phodal.com/#分层架构)\n        *   [六边形架构](http://repractise.phodal.com/#六边形架构)\n*   [模式篇：设计与架构](http://repractise.phodal.com/#模式篇设计与架构)\n    *   [观察者模式](http://repractise.phodal.com/#观察者模式)\n        *   [Ruby观察者模式](http://repractise.phodal.com/#ruby观察者模式)\n        *   [PUB/SUB](http://repractise.phodal.com/#pubsub)\n    *   [模板方法](http://repractise.phodal.com/#模板方法)\n        *   [从基本的App说起](http://repractise.phodal.com/#从基本的app说起)\n        *   [Template Method](http://repractise.phodal.com/#template-method)\n        *   [Template Method实战](http://repractise.phodal.com/#template-method实战)\n    *   [Pipe and Filters](http://repractise.phodal.com/#pipe-and-filters)\n        *   [Unix Shell](http://repractise.phodal.com/#unix-shell)\n        *   [Pipe and Filter模式](http://repractise.phodal.com/#pipe-and-filter模式)\n        *   [Fluent API](http://repractise.phodal.com/#fluent-api)\n        *   [DSL 表达式生成器](http://repractise.phodal.com/#dsl-表达式生成器)\n        *   [Pipe and Filter模式实战](http://repractise.phodal.com/#pipe-and-filter模式实战)\n*   [数据与模型篇](http://repractise.phodal.com/#数据与模型篇)\n    *   [数据](http://repractise.phodal.com/#数据)\n        *   [数据库](http://repractise.phodal.com/#数据库)\n        *   [数据模型](http://repractise.phodal.com/#数据模型)\n*   [领域篇](http://repractise.phodal.com/#领域篇)\n    *   [DDD](http://repractise.phodal.com/#ddd)\n    *   [DSL](http://repractise.phodal.com/#dsl)\n        *   [DSL示例](http://repractise.phodal.com/#dsl示例)\n\nLicense\n---\n\n\n[![Phodal's Book](http://brand.phodal.com/shields/book-small.svg)](https://www.phodal.com/)    [![Phodal's Idea](http://brand.phodal.com/shields/idea-small.svg)](http://ideas.phodal.com/)\n\n© 2015~2016 [Phodal Huang](https://www.phodal.com). This code is distributed under the Creative Commons Attribution-Noncommercial-No Derivative Works 3.0  License. See `LICENSE` in this directory.\n\n[待我代码编成，娶你为妻可好](http://www.xuntayizhan.com/blog/ji-ke-ai-qing-zhi-er-shi-dai-wo-dai-ma-bian-cheng-qu-ni-wei-qi-ke-hao-wan/)\n","funding_links":[],"categories":["HTML"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphodal%2Frepractise","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphodal%2Frepractise","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphodal%2Frepractise/lists"}