{"id":20114615,"url":"https://github.com/alienzhou/blog","last_synced_at":"2025-04-06T02:11:21.301Z","repository":{"id":37275984,"uuid":"161578772","full_name":"alienzhou/blog","owner":"alienzhou","description":"📖 个人博客，分享一些前端工作学习中的收获，欢迎 ✨，博客地址\u003e\u003e","archived":false,"fork":false,"pushed_at":"2022-12-10T17:00:40.000Z","size":70642,"stargazers_count":424,"open_issues_count":59,"forks_count":24,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-03-30T01:11:12.483Z","etag":null,"topics":["backend","blog","fronend","native"],"latest_commit_sha":null,"homepage":"https://www.alienzhou.com/","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/alienzhou.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":"2018-12-13T03:27:25.000Z","updated_at":"2025-02-21T10:13:51.000Z","dependencies_parsed_at":"2023-01-26T05:30:43.639Z","dependency_job_id":null,"html_url":"https://github.com/alienzhou/blog","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/alienzhou%2Fblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alienzhou%2Fblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alienzhou","download_url":"https://codeload.github.com/alienzhou/blog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247423515,"owners_count":20936626,"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":["backend","blog","fronend","native"],"created_at":"2024-11-13T18:30:51.079Z","updated_at":"2025-04-06T02:11:21.282Z","avatar_url":"https://github.com/alienzhou.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"个人博客 \u003e\u003e https://www.alienzhou.com/\n\n不定期发布一些技术学习的收获，主要聚焦于大前端领域，也会有一些其他内容。欢迎star 🌟\n\n# 目录\n\n\u003c!-- vscode-markdown-toc --\u003e\n1. [最新更新](#)\n2. [综合列表](#-1)\n3. [开源项目学习](#-1)\n4. [自动化工具](#-1)\n5. [CSS 学习](#CSS)\n6. [性能](#-1)\n7. [Webpack进阶](#Webpack)\n8. [CSS模块化](#CSS-1)\n9. [PWA](#PWA)\n10. [知识速览](#-1)\n11. [阅读笔记](#reading)\n12. [排障系列](#troubleshooting)\n13. [Node.js](#nodejs)\n\n\u003c!-- vscode-markdown-toc-config\n\tnumbering=true\n\tautoSave=true\n\t/vscode-markdown-toc-config --\u003e\n\u003c!-- /vscode-markdown-toc --\u003e\n\n##  1. \u003ca name=''\u003e\u003c/a\u003e最新更新\n\n- [Node.js 中 HTTP 请求结束后，误报超时的问题排查](https://github.com/alienzhou/blog/issues/58)（2021.10.22）\n\n##  2. \u003ca name='-1'\u003e\u003c/a\u003e综合列表\n\n- [年终回顾，为你汇总一份「前端技术清单」](https://www.alienzhou.com/2018/11/13/frontend-tech-list/)\n- [✨如何实现一个通用的“划词高亮”在线笔记功能？✨🖍️](https://www.alienzhou.com/2019/04/21/web-note-highlight-in-js/)\n- [前端跨页面通信，你知道哪些方法？](https://www.alienzhou.com/2019/04/01/cross-tab-communication-in-frontend/)\n- [MongoDB高可用__使用Replica Set](https://www.alienzhou.com/2018/05/03/mongodb-replica-set/)\n- [各类“服务器推”技术原理与实例（Polling/COMET/SSE/WebSocket）](https://www.alienzhou.com/2018/06/08/server-push-methods/)\n- [如何在零JS代码情况下实现一个实时聊天功能❓](https://www.alienzhou.com/2019/05/20/css-only-chat/)\n\n##  3. \u003ca name='-1'\u003e\u003c/a\u003e开源项目学习\n\n- [【漫游Github】quicklink：实现原理与给前端的启发](https://www.alienzhou.com/2018/12/25/quicklink-implementation-and-gotcha/)\n- [【漫游Github】如何提升JSON.stringify()的性能？](https://www.alienzhou.com/2019/06/05/how-to-improve-json-stringify-performance/)\n- [【漫游Github】无编译/无服务器，实现浏览器的 CommonJS 模块化](https://www.alienzhou.com/2020/01/10/commonjs-without-build-and-server/)\n\n##  4. \u003ca name='-1'\u003e\u003c/a\u003e自动化工具\n\n- [vue-cli 迁移 vite2 实践小结](https://github.com/alienzhou/blog/issues/45)\n- [替代 webpack？带你了解 snowpack 原理](https://www.alienzhou.com/2020/06/18/how-snowpack-works/)\n- [Gulp.js实践详解__基于Gulp的多页面应用实践指南](https://www.alienzhou.com/2017/10/15/mpa-based-on-gulp-in-action/)\n- [🛠如何快速开发一个自己的项目脚手架？](https://www.alienzhou.com/2019/05/17/how-to-make-your-own-scaffold/)\n\n##  5. \u003ca name='CSS'\u003e\u003c/a\u003eCSS 学习\n\n- [一篇全面的CSS布局学习指南 [译]](https://www.alienzhou.com/2018/07/07/css-layout-guide/)\n- [(S)CSS中实现主题样式的4½种方式 [译]](https://www.alienzhou.com/2018/12/12/css-theming-methods/)\n\n##  6. \u003ca name='-1'\u003e\u003c/a\u003e性能\n\n- [【性能优化指南】带你全面掌握前端性能优化 🚀](https://www.alienzhou.com/2019/08/08/fe-performance-journey/)\n- [【性能优化实践】优化打包策略提升页面加载速度](https://www.alienzhou.com/2018/05/05/optimize-packing-to-speed-up/)\n\n##  7. \u003ca name='Webpack'\u003e\u003c/a\u003eWebpack进阶\n\n- [聊一聊 webpack 的打包优化实践](https://www.alienzhou.com/2020/03/28/improvement-in-webpack/)\n- [【webpack进阶】使用babel避免webpack编译运行时模块依赖](https://www.alienzhou.com/2018/08/19/webpack-babel-transform/)\n- [【webpack进阶】前端运行时的模块化设计与实现](https://www.alienzhou.com/2018/08/27/webpack-module-runtime/)\n- [【webpack进阶】可视化展示webpack内部插件与钩子关系📈](https://www.alienzhou.com/2018/09/30/webpack-plugin-hooks-visualization/)\n- [【webpack进阶】你真的掌握了loader么？- loader十问](https://www.alienzhou.com/2018/10/14/webpack-loader-in-deep/)\n\n##  8. \u003ca name='CSS-1'\u003e\u003c/a\u003eCSS模块化\n\n- [【CSS模块化之路1】使用BEM与命名空间来规范CSS](https://www.alienzhou.com/2018/06/13/css-modular-guide-1/)\n- [【CSS模块化之路2】webpack中的Local Scope](https://www.alienzhou.com/2018/06/15/css-modular-guide-2/)\n- [【CSS模块化之路3】 使用💅styled-components来进行react开发](https://www.alienzhou.com/2018/06/15/css-modular-guide-3/)\n\n##  9. \u003ca name='PWA'\u003e\u003c/a\u003ePWA\n\n- [【PWA学习与实践】(1) 2018，开始你的PWA学习之旅](https://www.alienzhou.com/2018/04/07/pwa-1/)\n- [【PWA学习与实践】(2) 使用Manifest，让你的WebApp更“Native”](https://www.alienzhou.com/2018/04/07/pwa-2/)\n- [【PWA学习与实践】(3) 让你的WebApp离线可用](https://www.alienzhou.com/2018/04/08/pwa-3/)\n- [【PWA学习与实践】(4) 解决FireBase login验证失败问题](https://www.alienzhou.com/2018/04/10/pwa-4/)\n- [【PWA学习与实践】(5)在Web中进行服务端消息推送](https://www.alienzhou.com/2018/04/14/pwa-5/)\n- [【PWA学习与实践】(6) 在Chrome中调试你的PWA](https://www.alienzhou.com/2018/05/01/pwa-6/)\n- [【PWA学习与实践】(7)使用Notification API来进行消息提醒](https://www.alienzhou.com/2018/05/01/pwa-7/)\n- [【PWA学习与实践】(8)使用Service Worker进行后台同步 - Background Sync](https://www.alienzhou.com/2018/05/14/pwa-8/)\n- [【PWA学习与实践】(9)生产环境中PWA实践的问题与解决方案](https://www.alienzhou.com/2018/05/26/pwa-9/)\n- [【PWA学习与实践】(10)使用Resource Hint提升页面加载性能与体验](https://www.alienzhou.com/2018/07/23/pwa-10/)\n\n##  10. \u003ca name='-1'\u003e\u003c/a\u003e知识速览\n\n- [【3分钟速览】前端广播式通信：Broadcast Channel ](https://www.alienzhou.com/2019/04/01/broadcast-channel/)\n- [【3分钟速览】如何“严谨地”判断两个变量是否相同](https://www.alienzhou.com/2020/01/08/a-robust-equality-operation/)\n\n##  11. \u003ca name='reading'\u003e\u003c/a\u003e阅读笔记\n\n- [读《凤凰项目：一个 IT 运维的传奇故事》](https://www.alienzhou.com/2020/02/23/the-phoenix-project/)\n- [读《信息规则：网络经济的策略指导》](https://www.alienzhou.com/2020/03/02/a-strategic-guide-to-the-network-economy/)\n\n##  12. \u003ca name='troubleshooting'\u003e\u003c/a\u003e排障系列\n\n- [DNS 查询导致的 Nodejs 服务疑似“内存泄漏”问题](https://github.com/alienzhou/blog/issues/49)\n- [npm script 执行”丢失“ root 权限的问题](https://github.com/alienzhou/blog/issues/48)\n- [记一次 Node gRPC 静态生成文件引发的问题](https://github.com/alienzhou/blog/issues/47)\n- [Node.js 中 HTTP 请求结束后，误报超时的问题排查](https://github.com/alienzhou/blog/issues/58)\n\n##  13. \u003ca name='nodejs'\u003e\u003c/a\u003eNode.js\n\n- [Nodejs 中的 Active Handle 与 Timer 优化（上）](https://github.com/alienzhou/blog/issues/54)\n- [Nodejs 中的 Active Handle 与 Timer 优化（下）](https://github.com/alienzhou/blog/issues/55)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falienzhou%2Fblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falienzhou%2Fblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falienzhou%2Fblog/lists"}