{"id":13494649,"url":"https://github.com/hujiulong/blog","last_synced_at":"2025-06-10T09:07:10.472Z","repository":{"id":38752871,"uuid":"95351276","full_name":"hujiulong/blog","owner":"hujiulong","description":":open_book:","archived":false,"fork":false,"pushed_at":"2020-01-14T05:35:28.000Z","size":284,"stargazers_count":1455,"open_issues_count":9,"forks_count":129,"subscribers_count":164,"default_branch":"master","last_synced_at":"2025-03-28T14:37:38.329Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"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/hujiulong.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":"2017-06-25T09:51:52.000Z","updated_at":"2025-01-29T00:06:24.000Z","dependencies_parsed_at":"2022-07-09T05:00:18.773Z","dependency_job_id":null,"html_url":"https://github.com/hujiulong/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/hujiulong%2Fblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hujiulong%2Fblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hujiulong%2Fblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hujiulong%2Fblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hujiulong","download_url":"https://codeload.github.com/hujiulong/blog/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hujiulong%2Fblog/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259043767,"owners_count":22797162,"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":[],"created_at":"2024-07-31T19:01:26.842Z","updated_at":"2025-06-10T09:07:10.440Z","avatar_url":"https://github.com/hujiulong.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"# Blog\n[![996.icu](https://img.shields.io/badge/link-996.icu-red.svg)](https://996.icu)\n\n我的技术博客，不定时更新\n\n收藏点star，订阅点watch\n\n## 最新文章\n* 2020-01-14 - [使用Vue 3.0做JSX(TSX)风格的组件开发](https://github.com/hujiulong/blog/issues/11)\n\n## 目录\n\n### React\n\n* [从零开始实现一个React（四）：异步的setState](https://github.com/hujiulong/blog/issues/7)\n* [从零开始实现一个React（三）：diff算法](https://github.com/hujiulong/blog/issues/6)\n* [从零开始实现一个React（二）：组件和生命周期](https://github.com/hujiulong/blog/issues/5)\n* [从零开始实现一个React（一）：JSX和虚拟DOM](https://github.com/hujiulong/blog/issues/4)\n\n### Vue\n\n* [使用Vue 3.0做JSX(TSX)风格的组件开发](https://github.com/hujiulong/blog/issues/11)\n\n### 图形\n\n* [在canvas中模拟光照效果——光照下颜色的计算](https://github.com/hujiulong/blog/issues/2)\n* [用canvas绘制一个曲线动画——深入理解贝塞尔曲线](https://github.com/hujiulong/blog/issues/1)\n\n### 其他\n* [通过分析AST自动重构three.js的老旧代码](https://github.com/hujiulong/blog/issues/10)\n* [无聊系列：怎样给文件命名显得比较专业](https://github.com/hujiulong/blog/issues/3)\n\n## LICENSE\n[CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.zh)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhujiulong%2Fblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhujiulong%2Fblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhujiulong%2Fblog/lists"}