<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Leo Zhou</title><description>周昌炬，数据可视化技术负责人。关注 AI 时代的可靠软件工程，实践集中在金融与可视化领域。</description><link>https://zhouchangju.com/</link><language>zh-CN</language><lastBuildDate>Thu, 15 Oct 2026 00:00:00 GMT</lastBuildDate><atom:link href="https://zhouchangju.com/rss.xml" rel="self" type="application/rss+xml"/><item><title>可视化未来的应用方向</title><link>https://zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E6%9C%AA%E6%9D%A5%E7%9A%84%E5%BA%94%E7%94%A8%E6%96%B9%E5%90%91/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E6%9C%AA%E6%9D%A5%E7%9A%84%E5%BA%94%E7%94%A8%E6%96%B9%E5%90%91/</guid><description>现在炒股软件的产品功能已经比较完善了，基本没有什么可做的了，剩下的无非就是两个大方向：</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>可视化领域经验的重要性</title><link>https://zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E9%A2%86%E5%9F%9F%E7%BB%8F%E9%AA%8C%E7%9A%84%E9%87%8D%E8%A6%81%E6%80%A7/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E9%A2%86%E5%9F%9F%E7%BB%8F%E9%AA%8C%E7%9A%84%E9%87%8D%E8%A6%81%E6%80%A7/</guid><description>我们现在在做可视化能力，比如生成 HTML 视频、信息图，发现只靠 AI 自由发挥，很难稳定产出高质量的内容。效果能不能达到要求，很多时候还是要领域专家在过程中不断调整和判断。</description><pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate><category>可视化</category><category>Skill</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>写作Skill的去AI味改造</title><link>https://zhouchangju.com/posts/%E5%86%99%E4%BD%9Cskill%E7%9A%84%E5%8E%BBai%E5%91%B3%E6%94%B9%E9%80%A0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%86%99%E4%BD%9Cskill%E7%9A%84%E5%8E%BBai%E5%91%B3%E6%94%B9%E9%80%A0/</guid><description>我有个专门用来写中文博客的Skill，但是用它写出来的东西，很多一看就是AI写的。今天对它做了一次比较彻底的改造，这里把找到的问题和对应的解决办法记下来。</description><pubDate>Wed, 14 Oct 2026 15:10:00 GMT</pubDate><category>Skill</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何给不同类型的软件制定 AI Workflow</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E7%BB%99%E4%B8%8D%E5%90%8C%E7%B1%BB%E5%9E%8B%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%88%B6%E5%AE%9A-ai-workflow/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E7%BB%99%E4%B8%8D%E5%90%8C%E7%B1%BB%E5%9E%8B%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%88%B6%E5%AE%9A-ai-workflow/</guid><description>不同类型的软件，适合的 AI Workflow 是不一样的，我大致把它们分成两类：内容型的和功能型的。</description><pubDate>Tue, 13 Oct 2026 14:30:00 GMT</pubDate><category>Agent</category><category>AI Coding</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>为什么不同的人对AI能力的体感完全不一样？</title><link>https://zhouchangju.com/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E5%90%8C%E7%9A%84%E4%BA%BA%E5%AF%B9ai%E8%83%BD%E5%8A%9B%E7%9A%84%E4%BD%93%E6%84%9F%E5%AE%8C%E5%85%A8%E4%B8%8D%E4%B8%80%E6%A0%B7/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E5%90%8C%E7%9A%84%E4%BA%BA%E5%AF%B9ai%E8%83%BD%E5%8A%9B%E7%9A%84%E4%BD%93%E6%84%9F%E5%AE%8C%E5%85%A8%E4%B8%8D%E4%B8%80%E6%A0%B7/</guid><description>有人感觉AI已经能替自己干掉大部分工作了，有人觉得确实有用，但是离替代人还差得很远。对于同一个AI，大家的体感可以完全不一样。</description><pubDate>Tue, 13 Oct 2026 14:00:00 GMT</pubDate><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>从模块化走到生成式</title><link>https://zhouchangju.com/posts/%E4%BB%8E%E6%A8%A1%E5%9D%97%E5%8C%96%E8%B5%B0%E5%88%B0%E7%94%9F%E6%88%90%E5%BC%8F/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%BB%8E%E6%A8%A1%E5%9D%97%E5%8C%96%E8%B5%B0%E5%88%B0%E7%94%9F%E6%88%90%E5%BC%8F/</guid><description>公司最近在做 Widget，也就是一些小的功能控件。看完之后我的第一反应是，这其实就是模块化、组件化思路的又一次形态变化。这个理念从软件开发早期就有，只是每过一个阶段，名字和形态会变一变，回到第一性原理上看，讲的还是同一件事。</description><pubDate>Wed, 30 Sep 2026 07:13:09 GMT</pubDate><category>数据可视化</category><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>构建 AI 数字分身</title><link>https://zhouchangju.com/posts/%E6%9E%84%E5%BB%BA-ai-%E6%95%B0%E5%AD%97%E5%88%86%E8%BA%AB/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%9E%84%E5%BB%BA-ai-%E6%95%B0%E5%AD%97%E5%88%86%E8%BA%AB/</guid><description>我比较理想的状态，是之后很多事情都不用我盯着。任务扔进去之后，AI 自己分析、执行、检查、继续往下跑，最好一天 24 小时都可以工作。我只看最后的结果，或者偶尔处理真正需要我的事情。</description><pubDate>Tue, 29 Sep 2026 09:47:50 GMT</pubDate><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>构建远程AI工作流</title><link>https://zhouchangju.com/posts/%E6%9E%84%E5%BB%BA%E8%BF%9C%E7%A8%8Bai%E5%B7%A5%E4%BD%9C%E6%B5%81/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%9E%84%E5%BB%BA%E8%BF%9C%E7%A8%8Bai%E5%B7%A5%E4%BD%9C%E6%B5%81/</guid><description>中秋出去旅游前，我已经预设了一些任务，准备在旅途中远程连接家里的电脑，让 AI 继续做开发。电脑放在家里也是闲着，想着任务提前安排好，出去玩的时候偶尔看一下进度就行。</description><pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate><category>AI Coding</category><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Jev 与可视化</title><link>https://zhouchangju.com/posts/jev-%E4%B8%8E%E5%8F%AF%E8%A7%86%E5%8C%96/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/jev-%E4%B8%8E%E5%8F%AF%E8%A7%86%E5%8C%96/</guid><description>最近 Jev 很火，火到 Reddit 和 X 上到处都是讨论。我第一时间申请了 waitlist，第二天就通过，把它实际用了起来。它和我们熟悉的 GPT、Claude、Gemini 很不一样：不会写文章，不会写代码，甚至不会真正意义上“回答问题”，只干一件事情，判断。</description><pubDate>Sun, 20 Sep 2026 13:49:51 GMT</pubDate><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何选择模型与推理强度</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E9%80%89%E6%8B%A9%E6%A8%A1%E5%9E%8B%E4%B8%8E%E6%8E%A8%E7%90%86%E5%BC%BA%E5%BA%A6/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E9%80%89%E6%8B%A9%E6%A8%A1%E5%9E%8B%E4%B8%8E%E6%8E%A8%E7%90%86%E5%BC%BA%E5%BA%A6/</guid><description>最近在做可视化 Agent，涉及大量开发任务和测试，Token 完全不够用。目前自己买了每月 200 美元的 ChatGPT 套餐，有一个没有周额度限制的 GLM 老套餐，还买了 OpenCode Go，但是感觉还是不够用。尤其是 GPT，虽然已经买到 200 美元，额度还是经不起这样消耗。</description><pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate><category>AI Coding</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI 是养出来的：从 Eval First 谈领域经验</title><link>https://zhouchangju.com/posts/ai-%E6%98%AF%E5%85%BB%E5%87%BA%E6%9D%A5%E7%9A%84%E4%BB%8E-eval-first-%E8%B0%88%E9%A2%86%E5%9F%9F%E7%BB%8F%E9%AA%8C/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai-%E6%98%AF%E5%85%BB%E5%87%BA%E6%9D%A5%E7%9A%84%E4%BB%8E-eval-first-%E8%B0%88%E9%A2%86%E5%9F%9F%E7%BB%8F%E9%AA%8C/</guid><description>前段时间我一直在折腾创意可视化。试过不同模型，也写过一些 Skill，效果总差点意思。模型做出来的东西经常“没毛病，但是也没什么意思”：页面能跑，图也完整，细节处理得挺认真，可你看完还是会觉得，这不就是换了一种画法吗？</description><pubDate>Sun, 13 Sep 2026 14:43:30 GMT</pubDate><category>Skill</category><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何最大化利用你的Token</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%9C%80%E5%A4%A7%E5%8C%96%E5%88%A9%E7%94%A8%E4%BD%A0%E7%9A%84token/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%9C%80%E5%A4%A7%E5%8C%96%E5%88%A9%E7%94%A8%E4%BD%A0%E7%9A%84token/</guid><description>我感觉 AI 现在对我来说，就是一个游戏机，Token 就是游戏币，每天玩得不亦乐乎。只要有一个想法，立刻就能去验证和实现，这种正反馈太强了。</description><pubDate>Fri, 11 Sep 2026 12:52:00 GMT</pubDate><category>AI Coding</category><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何正确使用 GPT 模型的推理强度</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E4%BD%BF%E7%94%A8-gpt-%E6%A8%A1%E5%9E%8B%E7%9A%84%E6%8E%A8%E7%90%86%E5%BC%BA%E5%BA%A6/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E4%BD%BF%E7%94%A8-gpt-%E6%A8%A1%E5%9E%8B%E7%9A%84%E6%8E%A8%E7%90%86%E5%BC%BA%E5%BA%A6/</guid><description>目前我每个月买的是 200 美元的 ChatGPT Pro 套餐，在 Codex 里两三天就把一周额度消耗得差不多了，根本不够用，因此这个使用强度下，除了关注哪个模型更强，还得考虑另一个问题：我目前的使用方式对不对？同一个模型，每次任务到底应该给它多少推理预算？</description><pubDate>Wed, 09 Sep 2026 01:28:54 GMT</pubDate><category>AI Coding</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI时代，产品经理和开发人员的职责区别</title><link>https://zhouchangju.com/posts/ai%E6%97%B6%E4%BB%A3%E4%BA%A7%E5%93%81%E7%BB%8F%E7%90%86%E5%92%8C%E5%BC%80%E5%8F%91%E4%BA%BA%E5%91%98%E7%9A%84%E8%81%8C%E8%B4%A3%E5%8C%BA%E5%88%AB/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai%E6%97%B6%E4%BB%A3%E4%BA%A7%E5%93%81%E7%BB%8F%E7%90%86%E5%92%8C%E5%BC%80%E5%8F%91%E4%BA%BA%E5%91%98%E7%9A%84%E8%81%8C%E8%B4%A3%E5%8C%BA%E5%88%AB/</guid><description>AI 出现之后，一个很有意思的现象是：产品经理越来越能“开发”，开发人员也越来越能“做产品”。</description><pubDate>Mon, 07 Sep 2026 13:51:31 GMT</pubDate><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI时代，真正拉开差距的是领域知识</title><link>https://zhouchangju.com/posts/ai%E6%97%B6%E4%BB%A3%E7%9C%9F%E6%AD%A3%E6%8B%89%E5%BC%80%E5%B7%AE%E8%B7%9D%E7%9A%84%E6%98%AF%E9%A2%86%E5%9F%9F%E7%9F%A5%E8%AF%86/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai%E6%97%B6%E4%BB%A3%E7%9C%9F%E6%AD%A3%E6%8B%89%E5%BC%80%E5%B7%AE%E8%B7%9D%E7%9A%84%E6%98%AF%E9%A2%86%E5%9F%9F%E7%9F%A5%E8%AF%86/</guid><description>AI让构建内容变得前所未有的简单。写代码、做设计、出方案，似乎只要会提需求，人人都能快速产出点什么。但是在这种&quot;实施民主化&quot;的背景下，一个被很多人忽略的事实越来越清楚：领域知识(domain knowledge)才是AI时代的护城河。</description><pubDate>Sun, 06 Sep 2026 09:22:55 GMT</pubDate><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Skill和Agent的区别</title><link>https://zhouchangju.com/posts/skill%E5%92%8Cagent%E7%9A%84%E5%8C%BA%E5%88%AB/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/skill%E5%92%8Cagent%E7%9A%84%E5%8C%BA%E5%88%AB/</guid><description>给同事分配任务时踩了个坑。我说按构建 Agent 的方式去做，结果收上来的交付物全是 Skill。他们觉得做一个 skill 包就算交差了。</description><pubDate>Sat, 05 Sep 2026 10:47:54 GMT</pubDate><category>Agent</category><category>Skill</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>从审美评分到垂直领域专家：AI 视觉评价该怎么做</title><link>https://zhouchangju.com/posts/%E4%BB%8E%E5%AE%A1%E7%BE%8E%E8%AF%84%E5%88%86%E5%88%B0%E5%9E%82%E7%9B%B4%E9%A2%86%E5%9F%9F%E4%B8%93%E5%AE%B6ai-%E8%A7%86%E8%A7%89%E8%AF%84%E4%BB%B7%E8%AF%A5%E6%80%8E%E4%B9%88%E5%81%9A/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%BB%8E%E5%AE%A1%E7%BE%8E%E8%AF%84%E5%88%86%E5%88%B0%E5%9E%82%E7%9B%B4%E9%A2%86%E5%9F%9F%E4%B8%93%E5%AE%B6ai-%E8%A7%86%E8%A7%89%E8%AF%84%E4%BB%B7%E8%AF%A5%E6%80%8E%E4%B9%88%E5%81%9A/</guid><description>最近在带新同事做可视化需求时，遇到了一个问题：他们可以结合 AI 把功能做出来，但是很难判断做出来的东西好不好。</description><pubDate>Sat, 05 Sep 2026 06:06:18 GMT</pubDate><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>演讲的技巧</title><link>https://zhouchangju.com/posts/%E6%BC%94%E8%AE%B2%E7%9A%84%E6%8A%80%E5%B7%A7/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%BC%94%E8%AE%B2%E7%9A%84%E6%8A%80%E5%B7%A7/</guid><description>看到一篇讲“第一次做会议演讲”的文章，作者是 guillheu。文章写得很实在，是亲历者的复盘，不是“十大演讲技巧”式的清单文。</description><pubDate>Fri, 28 Aug 2026 02:09:11 GMT</pubDate><category>沟通</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>从 Demo 到生产：AI Agent 工程真正难在哪里</title><link>https://zhouchangju.com/posts/%E4%BB%8E-demo-%E5%88%B0%E7%94%9F%E4%BA%A7ai-agent-%E5%B7%A5%E7%A8%8B%E7%9C%9F%E6%AD%A3%E9%9A%BE%E5%9C%A8%E5%93%AA%E9%87%8C/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%BB%8E-demo-%E5%88%B0%E7%94%9F%E4%BA%A7ai-agent-%E5%B7%A5%E7%A8%8B%E7%9C%9F%E6%AD%A3%E9%9A%BE%E5%9C%A8%E5%93%AA%E9%87%8C/</guid><description>答辩里介绍了不少 AI 与数据可视化结合的实践。有些能力已经能够稳定生成内容，也开始进入实际使用阶段。</description><pubDate>Thu, 27 Aug 2026 14:08:44 GMT</pubDate><category>程序设计</category><category>Agent</category><category>AI Coding</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Skill、Agent、AI Client 与 Multica：AI 工作流的四层边界</title><link>https://zhouchangju.com/posts/skillagentai-client-%E4%B8%8E-multicaai-%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%9A%84%E5%9B%9B%E5%B1%82%E8%BE%B9%E7%95%8C/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/skillagentai-client-%E4%B8%8E-multicaai-%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%9A%84%E5%9B%9B%E5%B1%82%E8%BE%B9%E7%95%8C/</guid><description>最近我在整理自己的 AI 工作流。Daily brief、Session 分析、代码交付检查、内容生产、知识整理，这些工作都在逐渐用上 Skill 和 Agent。但是流程多了之后，有个问题需要理清楚：哪些工作直接在 AI Client 里做就够了，哪些值得交给固定的 Agent，哪些又需要放进 M</description><pubDate>Mon, 24 Aug 2026 06:23:14 GMT</pubDate><category>Skill</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>沟通的重要性与构建 Agent 的正确思路</title><link>https://zhouchangju.com/posts/%E6%B2%9F%E9%80%9A%E7%9A%84%E9%87%8D%E8%A6%81%E6%80%A7%E4%B8%8E%E6%9E%84%E5%BB%BAagent%E7%9A%84%E6%AD%A3%E7%A1%AE%E6%80%9D%E8%B7%AF/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%B2%9F%E9%80%9A%E7%9A%84%E9%87%8D%E8%A6%81%E6%80%A7%E4%B8%8E%E6%9E%84%E5%BB%BAagent%E7%9A%84%E6%AD%A3%E7%A1%AE%E6%80%9D%E8%B7%AF/</guid><description>现在我们基本要求每个人都能全链路地把事情搞定。但是我们做的很多事情不确定性很强，需要大量探索和调研，还经常涉及自己不熟悉的业务。碰到这种情况，能不能找到合适的业务专家就很关键。</description><pubDate>Thu, 20 Aug 2026 06:36:59 GMT</pubDate><category>随想</category><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI 时代到底应该学什么</title><link>https://zhouchangju.com/posts/ai%E6%97%B6%E4%BB%A3%E5%88%B0%E5%BA%95%E5%BA%94%E8%AF%A5%E5%AD%A6%E4%BB%80%E4%B9%88/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai%E6%97%B6%E4%BB%A3%E5%88%B0%E5%BA%95%E5%BA%94%E8%AF%A5%E5%AD%A6%E4%BB%80%E4%B9%88/</guid><description>今年的热点已经换了好几茬。年初还在聊 Harness，年中变成 Loop Engineering，现在又开始讲 Graph Engineering。名字一个接一个，每个都说自己代表下一代工作方式。</description><pubDate>Sun, 16 Aug 2026 07:41:12 GMT</pubDate><category>随想</category><category>AI Coding</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Lieflat Charts 技术拆解：惊艳的可视化是怎么被工程化出来的</title><link>https://zhouchangju.com/posts/lieflatcharts%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3%E6%83%8A%E8%89%B3%E7%9A%84%E5%8F%AF%E8%A7%86%E5%8C%96%E6%98%AF%E6%80%8E%E4%B9%88%E8%A2%AB%E5%B7%A5%E7%A8%8B%E5%8C%96%E5%87%BA%E6%9D%A5%E7%9A%84/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/lieflatcharts%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3%E6%83%8A%E8%89%B3%E7%9A%84%E5%8F%AF%E8%A7%86%E5%8C%96%E6%98%AF%E6%80%8E%E4%B9%88%E8%A2%AB%E5%B7%A5%E7%A8%8B%E5%8C%96%E5%87%BA%E6%9D%A5%E7%9A%84/</guid><description>最近我在给团队找一套能稳定产出高质量可视化的方案，试到一个开源 skill，叫 Lieflat Charts。同一份数据，不给 Agent 这套 skill，它很容易回到默认蓝、渐变色和拥挤图例。加上之后，出图就像换了一个人。</description><pubDate>Sun, 16 Aug 2026 06:53:14 GMT</pubDate><category>数据可视化</category><category>Skill</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI时代的数据可视化生成方式</title><link>https://zhouchangju.com/posts/ai%E6%97%B6%E4%BB%A3%E7%9A%84%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E7%94%9F%E6%88%90%E6%96%B9%E5%BC%8F/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai%E6%97%B6%E4%BB%A3%E7%9A%84%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E7%94%9F%E6%88%90%E6%96%B9%E5%BC%8F/</guid><description>有了新的业务需求，产品经理先整理需求点，大家讨论大致形式，设计师再出设计稿，最后交给开发编码，做成一个数据可视化组件，然后应用到具体业务里。</description><pubDate>Tue, 11 Aug 2026 13:19:29 GMT</pubDate><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>本地 Whisper 引擎选型</title><link>https://zhouchangju.com/posts/%E6%9C%AC%E5%9C%B0-whisper-%E5%BC%95%E6%93%8E%E9%80%89%E5%9E%8B/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%9C%AC%E5%9C%B0-whisper-%E5%BC%95%E6%93%8E%E9%80%89%E5%9E%8B/</guid><description>我本地一直装着 Whisper 做音频转文字(会议录音、课程音频、口语练习这些)。最近看到 faster-whisper，就拿去问了 AI 哪个更适合我。这个话题前后和两个 AI 讨论了三轮，加上自己实测又翻案一次，过程比结论本身更值得记录。</description><pubDate>Fri, 07 Aug 2026 06:40:00 GMT</pubDate><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>OpenAI、Anthropic、Google 与 DeepSeek，到底有什么不同</title><link>https://zhouchangju.com/posts/openaianthropicgoogle-%E4%B8%8E-deepseek%E5%88%B0%E5%BA%95%E6%9C%89%E4%BB%80%E4%B9%88%E4%B8%8D%E5%90%8C/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/openaianthropicgoogle-%E4%B8%8E-deepseek%E5%88%B0%E5%BA%95%E6%9C%89%E4%BB%80%E4%B9%88%E4%B8%8D%E5%90%8C/</guid><description>我后来又看了一轮这些公司的领导者访谈、官方博客和论文。之前的分析把它们分得太开了。</description><pubDate>Tue, 04 Aug 2026 12:41:13 GMT</pubDate><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>蒸馏投资分析Skill</title><link>https://zhouchangju.com/posts/%E8%92%B8%E9%A6%8F%E6%8A%95%E8%B5%84%E5%88%86%E6%9E%90skill/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%92%B8%E9%A6%8F%E6%8A%95%E8%B5%84%E5%88%86%E6%9E%90skill/</guid><description>做了一个小实验：把一批公开投资文本整理成一个可以被 AI 调用的 Skill。</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate><category>投资</category><category>Skill</category><category>蒸馏</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Skill工程架构</title><link>https://zhouchangju.com/posts/skill%E5%B7%A5%E7%A8%8B%E6%9E%B6%E6%9E%84/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/skill%E5%B7%A5%E7%A8%8B%E6%9E%B6%E6%9E%84/</guid><description>最开始我把 Skill 理解成一种更完整的 Prompt：把流程写清楚，把注意事项补全，再加上一些示例，效果应该就会越来越好。</description><pubDate>Fri, 31 Jul 2026 17:38:05 GMT</pubDate><category>Skill</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>组织就是在设计自己的 RLHF</title><link>https://zhouchangju.com/posts/%E7%BB%84%E7%BB%87%E5%B0%B1%E6%98%AF%E5%9C%A8%E8%AE%BE%E8%AE%A1%E8%87%AA%E5%B7%B1%E7%9A%84rlhf/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E7%BB%84%E7%BB%87%E5%B0%B1%E6%98%AF%E5%9C%A8%E8%AE%BE%E8%AE%A1%E8%87%AA%E5%B7%B1%E7%9A%84rlhf/</guid><description>最近在理解 AI、机器学习、深度学习、强化学习和 RLHF 的关系时，我一开始把它们当成几种并列的技术。后来发现这样理解不对。</description><pubDate>Fri, 31 Jul 2026 10:05:35 GMT</pubDate><category>团队管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Mac 客户端安装包发布流程：签名、Apple 检查与自动更新</title><link>https://zhouchangju.com/posts/mac-%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%AE%89%E8%A3%85%E5%8C%85%E5%8F%91%E5%B8%83%E6%B5%81%E7%A8%8B%E7%AD%BE%E5%90%8Dapple-%E6%A3%80%E6%9F%A5%E4%B8%8E%E8%87%AA%E5%8A%A8%E6%9B%B4%E6%96%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/mac-%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%AE%89%E8%A3%85%E5%8C%85%E5%8F%91%E5%B8%83%E6%B5%81%E7%A8%8B%E7%AD%BE%E5%90%8Dapple-%E6%A3%80%E6%9F%A5%E4%B8%8E%E8%87%AA%E5%8A%A8%E6%9B%B4%E6%96%B0/</guid><description>最近在考虑一个 Mac 桌面客户端的自动更新问题。一开始我以为这件事比较简单：CI 打出一个 DMG，上传到对象存储，再让客户端定时检查版本接口就可以了。</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>程序设计</category><category>项目管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI Coding的Token到底花在哪里</title><link>https://zhouchangju.com/posts/ai-coding%E7%9A%84token%E5%88%B0%E5%BA%95%E8%8A%B1%E5%9C%A8%E5%93%AA%E9%87%8C/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai-coding%E7%9A%84token%E5%88%B0%E5%BA%95%E8%8A%B1%E5%9C%A8%E5%93%AA%E9%87%8C/</guid><description>最近在使用 Codex、Claude Code、Kimi Code 这些工具时，我一直有一个疑问：</description><pubDate>Sun, 26 Jul 2026 15:44:30 GMT</pubDate><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>OPC 时代的分工方式</title><link>https://zhouchangju.com/posts/opc-%E6%97%B6%E4%BB%A3%E7%9A%84%E5%88%86%E5%B7%A5%E6%96%B9%E5%BC%8F/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/opc-%E6%97%B6%E4%BB%A3%E7%9A%84%E5%88%86%E5%B7%A5%E6%96%B9%E5%BC%8F/</guid><description>刚才和产品经理、设计师讨论后续的产品规划，发现大家对“后续怎么做”的理解存在比较大的偏差。这里做个记录。</description><pubDate>Fri, 24 Jul 2026 16:17:00 GMT</pubDate><category>项目管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>读《WorkBuddy如何把Agent做成可用产品》：拿着它对照了一遍我们自己的项目</title><link>https://zhouchangju.com/posts/%E8%AF%BBworkbuddy%E5%A6%82%E4%BD%95%E6%8A%8Aagent%E5%81%9A%E6%88%90%E5%8F%AF%E7%94%A8%E4%BA%A7%E5%93%81/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%AF%BBworkbuddy%E5%A6%82%E4%BD%95%E6%8A%8Aagent%E5%81%9A%E6%88%90%E5%8F%AF%E7%94%A8%E4%BA%A7%E5%93%81/</guid><description>今天看到腾讯技术工程发的一篇文章：从模型到Harness：WorkBuddy如何把Agent做成可用产品，作者 Anne 是 WorkBuddy 团队的策略产品经理，负责研发与办公场景 Agent 的上下文策略。</description><pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate><category>Agent</category><category>Harness</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>OpenCode调用CodeX实现文生图功能</title><link>https://zhouchangju.com/posts/opencode%E8%B0%83%E7%94%A8codex%E5%AE%9E%E7%8E%B0%E6%96%87%E7%94%9F%E5%9B%BE%E5%8A%9F%E8%83%BD/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/opencode%E8%B0%83%E7%94%A8codex%E5%AE%9E%E7%8E%B0%E6%96%87%E7%94%9F%E5%9B%BE%E5%8A%9F%E8%83%BD/</guid><description>给 OpenCode 客户端接一个文生图能力：让用户在对话里直接让 AI 生成图片，图片落到本地工作区，还能在对话里预览。一开始以为这就是一次图片 API 调用，把代码完整梳理了一遍才发现，实际链路要长得多，四个进程接力，模型自己并不直接生图。这里做个记录。</description><pubDate>Tue, 21 Jul 2026 09:48:12 GMT</pubDate><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何构建一套面向真实业务的模型能力评测框架</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%9E%84%E5%BB%BA%E4%B8%80%E5%A5%97%E9%9D%A2%E5%90%91%E7%9C%9F%E5%AE%9E%E4%B8%9A%E5%8A%A1%E7%9A%84%E6%A8%A1%E5%9E%8B%E8%83%BD%E5%8A%9B%E8%AF%84%E6%B5%8B%E6%A1%86%E6%9E%B6/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%9E%84%E5%BB%BA%E4%B8%80%E5%A5%97%E9%9D%A2%E5%90%91%E7%9C%9F%E5%AE%9E%E4%B8%9A%E5%8A%A1%E7%9A%84%E6%A8%A1%E5%9E%8B%E8%83%BD%E5%8A%9B%E8%AF%84%E6%B5%8B%E6%A1%86%E6%9E%B6/</guid><description>Kimi K3 模型发布了，想验证一下它在我们真实的数据可视化业务中到底能做到什么程度。</description><pubDate>Mon, 20 Jul 2026 20:26:58 GMT</pubDate><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI协作生成PPT的难点-需求澄清</title><link>https://zhouchangju.com/posts/ai%E5%8D%8F%E4%BD%9C%E7%94%9F%E6%88%90ppt%E7%9A%84%E9%9A%BE%E7%82%B9-%E9%9C%80%E6%B1%82%E6%BE%84%E6%B8%85/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai%E5%8D%8F%E4%BD%9C%E7%94%9F%E6%88%90ppt%E7%9A%84%E9%9A%BE%E7%82%B9-%E9%9C%80%E6%B1%82%E6%BE%84%E6%B8%85/</guid><description>这次案例本身也整理成了一个可以直接阅读的网页：&lt;a href=&quot;https://t.zhouchangju.com/english/toefl-study/&quot; target=&quot;blank&quot; rel=&quot;noopener noreferrer&quot;&gt;TOEFL 学习复盘网页&lt;/a&gt;。</description><pubDate>Sun, 19 Jul 2026 07:50:36 GMT</pubDate><category>项目管理</category><category>AI Coding</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Vibe Coding近期经验总结</title><link>https://zhouchangju.com/posts/vibe-coding%E8%BF%91%E6%9C%9F%E7%BB%8F%E9%AA%8C%E6%80%BB%E7%BB%93/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/vibe-coding%E8%BF%91%E6%9C%9F%E7%BB%8F%E9%AA%8C%E6%80%BB%E7%BB%93/</guid><description>最近我在用 Vibe Coding 的方式开发叙事可视化工作站。项目目前只完成了一部分功能，还在持续开发，但是这段时间遇到的问题已经非常多了。</description><pubDate>Sat, 18 Jul 2026 18:53:47 GMT</pubDate><category>项目管理</category><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI协作开发中最容易反复犯的七类错误</title><link>https://zhouchangju.com/posts/ai%E5%8D%8F%E4%BD%9C%E5%BC%80%E5%8F%91%E4%B8%AD%E6%9C%80%E5%AE%B9%E6%98%93%E5%8F%8D%E5%A4%8D%E7%8A%AF%E7%9A%84%E4%B8%83%E7%B1%BB%E9%94%99%E8%AF%AF/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai%E5%8D%8F%E4%BD%9C%E5%BC%80%E5%8F%91%E4%B8%AD%E6%9C%80%E5%AE%B9%E6%98%93%E5%8F%8D%E5%A4%8D%E7%8A%AF%E7%9A%84%E4%B8%83%E7%B1%BB%E9%94%99%E8%AF%AF/</guid><description>最近我在用多个 AI Agent 并行推进一个客户端改造项目。</description><pubDate>Sat, 18 Jul 2026 17:18:34 GMT</pubDate><category>项目管理</category><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>读《State of Open Source AI 2026》：模型会越来越便宜，真正应该掌握的是Harness</title><link>https://zhouchangju.com/posts/%E8%AF%BBstate-of-open-source-ai-2026%E6%A8%A1%E5%9E%8B%E4%BC%9A%E8%B6%8A%E6%9D%A5%E8%B6%8A%E4%BE%BF%E5%AE%9C%E7%9C%9F%E6%AD%A3%E5%BA%94%E8%AF%A5%E6%8E%8C%E6%8F%A1%E7%9A%84%E6%98%AFharness/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%AF%BBstate-of-open-source-ai-2026%E6%A8%A1%E5%9E%8B%E4%BC%9A%E8%B6%8A%E6%9D%A5%E8%B6%8A%E4%BE%BF%E5%AE%9C%E7%9C%9F%E6%AD%A3%E5%BA%94%E8%AF%A5%E6%8E%8C%E6%8F%A1%E7%9A%84%E6%98%AFharness/</guid><description>今天看到 Mozilla 发布的 《The State of Open Source AI 2026》。一开始我以为这又是一份讨论开放模型和闭源模型谁更强的报告，但是完整看下来之后，发现它想讨论的不是模型排名。</description><pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate><category>AI Coding</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>基于OpenCode做客户端：选型、边界与升级</title><link>https://zhouchangju.com/posts/%E5%9F%BA%E4%BA%8Eopencode%E5%81%9A%E5%AE%A2%E6%88%B7%E7%AB%AF%E9%80%89%E5%9E%8B%E8%BE%B9%E7%95%8C%E4%B8%8E%E5%8D%87%E7%BA%A7/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%9F%BA%E4%BA%8Eopencode%E5%81%9A%E5%AE%A2%E6%88%B7%E7%AB%AF%E9%80%89%E5%9E%8B%E8%BE%B9%E7%95%8C%E4%B8%8E%E5%8D%87%E7%BA%A7/</guid><description>最近在设计一个 AI 视频创作客户端，需要选一个开源项目作为开发底座。候选有三个：OpenCode、T3 Code 和 Multica。底座选定之后，又接连遇到三个问题：业务代码放哪、上游怎么升级、sidecar 怎样才算接入完成。这篇文章把整个过程做个记录。</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate><category>OpenCode</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何把公司文档里的经验，变成自己项目里的工程约束</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%8A%8A%E5%85%AC%E5%8F%B8%E6%96%87%E6%A1%A3%E9%87%8C%E7%9A%84%E7%BB%8F%E9%AA%8C%E5%8F%98%E6%88%90%E8%87%AA%E5%B7%B1%E9%A1%B9%E7%9B%AE%E9%87%8C%E7%9A%84%E5%B7%A5%E7%A8%8B%E7%BA%A6%E6%9D%9F/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%8A%8A%E5%85%AC%E5%8F%B8%E6%96%87%E6%A1%A3%E9%87%8C%E7%9A%84%E7%BB%8F%E9%AA%8C%E5%8F%98%E6%88%90%E8%87%AA%E5%B7%B1%E9%A1%B9%E7%9B%AE%E9%87%8C%E7%9A%84%E5%B7%A5%E7%A8%8B%E7%BA%A6%E6%9D%9F/</guid><description>之前我调研过一个同类的二次开发项目。一开始我的想法很直接：把它的源码和文档找出来，看看他们怎么做的，哪些架构可以照着用，哪些功能可以直接参考。</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate><category>AI Coding</category><category>工程化</category><category>Skill</category><category>Workflow</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>我们到底在做什么：AI视频客户端其实是一套Harness</title><link>https://zhouchangju.com/posts/%E6%88%91%E4%BB%AC%E5%88%B0%E5%BA%95%E5%9C%A8%E5%81%9A%E4%BB%80%E4%B9%88ai%E8%A7%86%E9%A2%91%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%85%B6%E5%AE%9E%E6%98%AF%E4%B8%80%E5%A5%97harness/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%88%91%E4%BB%AC%E5%88%B0%E5%BA%95%E5%9C%A8%E5%81%9A%E4%BB%80%E4%B9%88ai%E8%A7%86%E9%A2%91%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%85%B6%E5%AE%9E%E6%98%AF%E4%B8%80%E5%A5%97harness/</guid><description>最近在重新拆 AI 视频项目的任务，有两件事让我停下来想一个更基础的问题：我们到底在做什么。</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>让AI自主开发跑起来：先写验收，再拆任务</title><link>https://zhouchangju.com/posts/%E8%AE%A9ai%E8%87%AA%E4%B8%BB%E5%BC%80%E5%8F%91%E8%B7%91%E8%B5%B7%E6%9D%A5%E5%85%88%E5%86%99%E9%AA%8C%E6%94%B6%E5%86%8D%E6%8B%86%E4%BB%BB%E5%8A%A1/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%AE%A9ai%E8%87%AA%E4%B8%BB%E5%BC%80%E5%8F%91%E8%B7%91%E8%B5%B7%E6%9D%A5%E5%85%88%E5%86%99%E9%AA%8C%E6%94%B6%E5%86%8D%E6%8B%86%E4%BB%BB%E5%8A%A1/</guid><description>最近我在尝试把一批开发需求交给多个 AI 执行。这批需求的一部分来自会议录音转写：里面有产品边界、技术方案、人员分工，也有口误、同音字和讨论到一半又被推翻的想法。最直接的做法是把转写总结成任务列表喂给 AI，等它写完再补测试和自测。</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate><category>Agent</category><category>AI Coding</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>基于开源客户端二次开发，UI组件库应该怎么选</title><link>https://zhouchangju.com/posts/%E5%9F%BA%E4%BA%8E%E5%BC%80%E6%BA%90%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BA%8C%E6%AC%A1%E5%BC%80%E5%8F%91ui%E7%BB%84%E4%BB%B6%E5%BA%93%E5%BA%94%E8%AF%A5%E6%80%8E%E4%B9%88%E9%80%89/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%9F%BA%E4%BA%8E%E5%BC%80%E6%BA%90%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BA%8C%E6%AC%A1%E5%BC%80%E5%8F%91ui%E7%BB%84%E4%BB%B6%E5%BA%93%E5%BA%94%E8%AF%A5%E6%80%8E%E4%B9%88%E9%80%89/</guid><description>最近在规划一个基于开源 Agent Runtime 的桌面客户端，UI 开发很快遇到一个具体问题：到底要不要引入第三方组件库？是用 MUI、Ant Design 快速搭页面，还是所有组件都自己写？</description><pubDate>Thu, 16 Jul 2026 00:00:00 GMT</pubDate><category>程序设计</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何对项目进行开源审查</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%AF%B9%E9%A1%B9%E7%9B%AE%E8%BF%9B%E8%A1%8C%E5%BC%80%E6%BA%90%E5%AE%A1%E6%9F%A5/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%AF%B9%E9%A1%B9%E7%9B%AE%E8%BF%9B%E8%A1%8C%E5%BC%80%E6%BA%90%E5%AE%A1%E6%9F%A5/</guid><description>周末我做了一件事：把自己 GitHub 上的 32 个私人项目，逐个过了一遍，判断哪些适合开源。结论是，一个都不能直接发。</description><pubDate>Mon, 13 Jul 2026 07:00:00 GMT</pubDate><category>程序设计</category><category>项目管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI开发流程复盘</title><link>https://zhouchangju.com/posts/ai%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B%E5%A4%8D%E7%9B%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B%E5%A4%8D%E7%9B%98/</guid><description>最近我用一套自己常用的开发套路，从零交付了一个个人项目 Evolution OS(人生进化系统)。整个过程跑下来比较顺。这套流程我觉得可以作为后续做个人新项目的标准套路，这里做个记录。</description><pubDate>Sun, 12 Jul 2026 23:00:00 GMT</pubDate><category>程序设计</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI 提效之后，如何持续找到值得做的需求</title><link>https://zhouchangju.com/posts/ai%E6%8F%90%E6%95%88%E4%B9%8B%E5%90%8E%E5%A6%82%E4%BD%95%E6%8C%81%E7%BB%AD%E6%89%BE%E5%88%B0%E5%80%BC%E5%BE%97%E5%81%9A%E7%9A%84%E9%9C%80%E6%B1%82/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai%E6%8F%90%E6%95%88%E4%B9%8B%E5%90%8E%E5%A6%82%E4%BD%95%E6%8C%81%E7%BB%AD%E6%89%BE%E5%88%B0%E5%80%BC%E5%BE%97%E5%81%9A%E7%9A%84%E9%9C%80%E6%B1%82/</guid><description>最近我在思考一个比较现实的问题：团队使用 AI 工具之后，开发效率确实提高了，但是需求并没有跟着变多。</description><pubDate>Sat, 11 Jul 2026 23:10:00 GMT</pubDate><category>团队管理</category><category>Skill</category><category>项目管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>从会用 AI 到建设自己的 AI 基建</title><link>https://zhouchangju.com/posts/%E4%BB%8E%E4%BC%9A%E7%94%A8ai%E5%88%B0%E5%BB%BA%E8%AE%BE%E8%87%AA%E5%B7%B1%E7%9A%84ai%E5%9F%BA%E5%BB%BA/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%BB%8E%E4%BC%9A%E7%94%A8ai%E5%88%B0%E5%BB%BA%E8%AE%BE%E8%87%AA%E5%B7%B1%E7%9A%84ai%E5%9F%BA%E5%BB%BA/</guid><description>过去一年，很多人对 AI coding 的理解还停留在“让 AI 帮我写代码”。但是拉开差距的地方，已经不在于一次提示词写得多漂亮，而在于能不能把反复发生的工作、隐性的判断经验、验证规则、学习循环攒成可复用的 AI 基建。</description><pubDate>Fri, 10 Jul 2026 22:07:27 GMT</pubDate><category>Skill</category><category>工程化</category><category>AI Coding</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>转正与晋升答辩的Storytelling框架</title><link>https://zhouchangju.com/posts/%E8%BD%AC%E6%AD%A3%E4%B8%8E%E6%99%8B%E5%8D%87%E7%AD%94%E8%BE%A9%E7%9A%84storytelling%E6%A1%86%E6%9E%B6/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%BD%AC%E6%AD%A3%E4%B8%8E%E6%99%8B%E5%8D%87%E7%AD%94%E8%BE%A9%E7%9A%84storytelling%E6%A1%86%E6%9E%B6/</guid><description>在讲框架之前，先想清楚一个问题：领导坐在台下，他到底想听什么？</description><pubDate>Thu, 09 Jul 2026 11:14:42 GMT</pubDate><category>团队管理</category><category>人员管理</category><category>沟通</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>提取博客知识为Skill</title><link>https://zhouchangju.com/posts/%E6%8F%90%E5%8F%96%E5%8D%9A%E5%AE%A2%E7%9F%A5%E8%AF%86%E4%B8%BAskill/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8F%90%E5%8F%96%E5%8D%9A%E5%AE%A2%E7%9F%A5%E8%AF%86%E4%B8%BAskill/</guid><description>按此标准，博客中约 5%(~60 篇) 有 Skill 价值，其中真正高价值、可直接抽取的约 15-20 个。</description><pubDate>Mon, 06 Jul 2026 21:05:04 GMT</pubDate><category>Agent</category><category>Skill</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>OpenCode学习笔记</title><link>https://zhouchangju.com/posts/opencode%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/opencode%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>OpenCode 的配置、踩坑、Agent 设计、Skill 复用，后面都记在这里，不急着写成完整教程。</description><pubDate>Thu, 02 Jul 2026 18:26:32 GMT</pubDate><category>AI Coding</category><category>OpenCode</category><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Rollup升级Rolldown-范式组件库实战</title><link>https://zhouchangju.com/posts/rollup%E5%8D%87%E7%BA%A7rolldown-%E8%8C%83%E5%BC%8F%E7%BB%84%E4%BB%B6%E5%BA%93%E5%AE%9E%E6%88%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/rollup%E5%8D%87%E7%BA%A7rolldown-%E8%8C%83%E5%BC%8F%E7%BB%84%E4%BB%B6%E5%BA%93%E5%AE%9E%E6%88%98/</guid><description>最近在优化一个图表组件库的构建速度。这个项目之前的正式 build 特别慢，慢到每次验证都让人下意识想先去做别的事。</description><pubDate>Sun, 28 Jun 2026 12:07:28 GMT</pubDate><category>程序设计</category><category>JavaScript</category><category>工程化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>评测驱动的刻意练习</title><link>https://zhouchangju.com/posts/%E8%AF%84%E6%B5%8B%E9%A9%B1%E5%8A%A8%E7%9A%84%E5%88%BB%E6%84%8F%E7%BB%83%E4%B9%A0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%AF%84%E6%B5%8B%E9%A9%B1%E5%8A%A8%E7%9A%84%E5%88%BB%E6%84%8F%E7%BB%83%E4%B9%A0/</guid><description>最近在复盘 AI Coding 的 Prompt 质量，过程中发现一个问题：我一开始很容易把结论推得太满。</description><pubDate>Fri, 26 Jun 2026 21:31:39 GMT</pubDate><category>思考</category><category>AI Coding</category><category>English</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>解读 Codex-maxxing for long-running work</title><link>https://zhouchangju.com/posts/%E8%A7%A3%E8%AF%BB-codex-maxxing-for-long-running-work/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%A7%A3%E8%AF%BB-codex-maxxing-for-long-running-work/</guid><description>最近看了一份 OpenAI 的白皮书，标题是 Codex-maxxing for long-running work。一开始我以为它会讲很多具体技巧，比如怎么写 prompt、怎么开线程、怎么安排自动化。但读完之后发现，它真正想讲的不是某个功能，而是一个更大的变化：</description><pubDate>Tue, 23 Jun 2026 22:09:29 GMT</pubDate><category>AI Coding</category><category>Agent</category><category>Workflow</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Loop Engineering</title><link>https://zhouchangju.com/posts/loop-engineering/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/loop-engineering/</guid><description>前阵子在 Ziron 里跑服务端 packet 切片迁移，我把整个流程拆成了一个可以自己循环的系统：每一轮提取一个 packet 组，写 fixture、跑兼容性测试、更新文档、提交、合并，然后读 STATUS.md 里写好的下一个任务，继续下一轮。这就是后来被叫做 Loop Engineering</description><pubDate>Mon, 22 Jun 2026 09:19:01 GMT</pubDate><category>Agent</category><category>AI Coding</category><category>Workflow</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何设计项目AI改造Skill</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E8%AE%BE%E8%AE%A1%E9%A1%B9%E7%9B%AEai%E6%94%B9%E9%80%A0skill/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E8%AE%BE%E8%AE%A1%E9%A1%B9%E7%9B%AEai%E6%94%B9%E9%80%A0skill/</guid><description>最近在 AgentInfra 里做了一个新的 Skill，名字叫 harness-builder。</description><pubDate>Thu, 11 Jun 2026 19:42:50 GMT</pubDate><category>AI Coding</category><category>Agent</category><category>Skill</category><category>工程化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>PI学习笔记</title><link>https://zhouchangju.com/posts/pi%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/pi%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>DeepSeek V4 系列支持 Thinking / Non-Thinking 双模式，thinking 默认 enabled。关闭方式：</description><pubDate>Thu, 11 Jun 2026 00:04:57 GMT</pubDate><category>AI Coding</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何实现长程自动化任务</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E9%95%BF%E7%A8%8B%E8%87%AA%E5%8A%A8%E5%8C%96%E4%BB%BB%E5%8A%A1/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E9%95%BF%E7%A8%8B%E8%87%AA%E5%8A%A8%E5%8C%96%E4%BB%BB%E5%8A%A1/</guid><description>很多人使用 CodeX 或 Claude Code 时，会直接给出类似这样的指令：</description><pubDate>Sat, 06 Jun 2026 21:44:58 GMT</pubDate><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Adversarial Quality Gate</title><link>https://zhouchangju.com/posts/adversarial-quality-gate/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/adversarial-quality-gate/</guid><description>最近看到一个说法：Adversarial Quality Gate。</description><pubDate>Mon, 01 Jun 2026 16:10:17 GMT</pubDate><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Skill自进化调研</title><link>https://zhouchangju.com/posts/skill%E8%87%AA%E8%BF%9B%E5%8C%96%E8%B0%83%E7%A0%94/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/skill%E8%87%AA%E8%BF%9B%E5%8C%96%E8%B0%83%E7%A0%94/</guid><description>Skill 自进化不是“模型自己偷偷训练自己”，更像是“Agent 自动整理、测试、修改自己的操作手册”。</description><pubDate>Fri, 29 May 2026 10:35:14 GMT</pubDate><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>英语学习方法论</title><link>https://zhouchangju.com/posts/%E8%8B%B1%E8%AF%AD%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95%E8%AE%BA/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%8B%B1%E8%AF%AD%E5%AD%A6%E4%B9%A0%E6%96%B9%E6%B3%95%E8%AE%BA/</guid><description>最近这批英语学习记录里，最明显的变化不是我多做了几道题，而是我开始把英语学习拆成几个可以反复运转的模块。</description><pubDate>Wed, 27 May 2026 15:42:13 GMT</pubDate><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>TTS工具开发笔记</title><link>https://zhouchangju.com/posts/tts%E5%B7%A5%E5%85%B7%E5%BC%80%E5%8F%91%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/tts%E5%B7%A5%E5%85%B7%E5%BC%80%E5%8F%91%E7%AC%94%E8%AE%B0/</guid><description>这次本来只是想解决一个很小的问题：给托福听力弱词生成一批质量还可以的音频材料。</description><pubDate>Wed, 27 May 2026 15:38:10 GMT</pubDate><category>AI Coding</category><category>音视频</category><category>Node.js</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何蒸馏我自己的写作风格</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E8%92%B8%E9%A6%8F%E6%88%91%E8%87%AA%E5%B7%B1%E7%9A%84%E5%86%99%E4%BD%9C%E9%A3%8E%E6%A0%BC/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E8%92%B8%E9%A6%8F%E6%88%91%E8%87%AA%E5%B7%B1%E7%9A%84%E5%86%99%E4%BD%9C%E9%A3%8E%E6%A0%BC/</guid><description>最近在折腾一件事：把自己的博客写作风格蒸馏成一个 Skill。</description><pubDate>Wed, 27 May 2026 10:57:32 GMT</pubDate><category>Skill</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Whisper提取文本和切分音频</title><link>https://zhouchangju.com/posts/whisper%E6%8F%90%E5%8F%96%E6%96%87%E6%9C%AC%E5%92%8C%E5%88%87%E5%88%86%E9%9F%B3%E9%A2%91/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/whisper%E6%8F%90%E5%8F%96%E6%96%87%E6%9C%AC%E5%92%8C%E5%88%87%E5%88%86%E9%9F%B3%E9%A2%91/</guid><description>很多口语音频不是一个文件对应一个题目，而是一个文件里面同时包含多个环节。比如先是 Listen and Repeat，后面又接着 Take an interview。如果只是把整段音频丢给 Whisper 转成文本，当然能看懂内容，但这还不够。</description><pubDate>Wed, 27 May 2026 09:10:41 GMT</pubDate><category>音视频</category><category>English</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Pretext深度解析</title><link>https://zhouchangju.com/posts/pretext%E6%B7%B1%E5%BA%A6%E8%A7%A3%E6%9E%90/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/pretext%E6%B7%B1%E5%BA%A6%E8%A7%A3%E6%9E%90/</guid><description>https://github.com/chenglou/pretext !Pretext 学习从隐藏结构到表征的机制</description><pubDate>Wed, 01 Apr 2026 13:27:49 GMT</pubDate><category>思考</category><category>技术拆解</category><category>Three.js</category><category>数据可视化</category><category>架构</category><category>算法</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何沉淀Skill</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%B2%89%E6%B7%80skill/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%B2%89%E6%B7%80skill/</guid><description>我建议你们内部不要只分成“两类”，而是分成下面四类。这样后续盘点项目资产时会清楚很多。</description><pubDate>Mon, 30 Mar 2026 11:07:21 GMT</pubDate><category>数据可视化</category><category>Agent</category><category>JavaScript</category><category>人员管理</category><category>沟通</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI趋势追踪-我们的岗位还能活多久</title><link>https://zhouchangju.com/posts/ai%E8%B6%8B%E5%8A%BF%E8%BF%BD%E8%B8%AA-%E6%88%91%E4%BB%AC%E7%9A%84%E5%B2%97%E4%BD%8D%E8%BF%98%E8%83%BD%E6%B4%BB%E5%A4%9A%E4%B9%85/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai%E8%B6%8B%E5%8A%BF%E8%BF%BD%E8%B8%AA-%E6%88%91%E4%BB%AC%E7%9A%84%E5%B2%97%E4%BD%8D%E8%BF%98%E8%83%BD%E6%B4%BB%E5%A4%9A%E4%B9%85/</guid><description>最近几个月我一直在盯几件跟 AI 有关的事：Claude 的发布节奏、几篇讨论 PM 和开发者岗位会被怎么洗牌的文章、还有 Vibe Design 这类新提法。单独看每一条都像是新闻，但放在一起的时候，它们其实在回答同一个问题——我们这些写代码、做产品的人，岗位还能活多久。</description><pubDate>Thu, 26 Mar 2026 10:48:29 GMT</pubDate><category>Agent</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>OpenClaw背后的哲学</title><link>https://zhouchangju.com/posts/openclaw%E8%83%8C%E5%90%8E%E7%9A%84%E5%93%B2%E5%AD%A6/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/openclaw%E8%83%8C%E5%90%8E%E7%9A%84%E5%93%B2%E5%AD%A6/</guid><description>不夸张地说，OpenClaw 这波热，不是因为它“又是一个更强的聊天机器人”，而是因为它第一次让很多人真切感受到：AI 开始从“回答问题”变成“替你操作世界”。官方把它定义为“运行在你自己设备上的个人 AI 助手”，可以接入你已经在用的沟通渠道；而媒体和官方评论对它的描述也高度一致：它不只是能说，还</description><pubDate>Tue, 24 Mar 2026 13:29:33 GMT</pubDate><category>Agent</category><category>人员管理</category><category>沟通</category><category>程序设计</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Agent技术选型分析</title><link>https://zhouchangju.com/posts/agent%E6%8A%80%E6%9C%AF%E9%80%89%E5%9E%8B%E5%88%86%E6%9E%90/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/agent%E6%8A%80%E6%9C%AF%E9%80%89%E5%9E%8B%E5%88%86%E6%9E%90/</guid><description>Agent 框架选型不能只看谁最火。真正要先问的是：流程有没有分支和重试，任务会不会跑很久，状态要不要恢复，工具和人类审批是不是链路的一部分。</description><pubDate>Mon, 23 Mar 2026 14:53:55 GMT</pubDate><category>Agent</category><category>AI Coding</category><category>数据库</category><category>架构</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>从harness看未来软件工程师的工作职责</title><link>https://zhouchangju.com/posts/%E4%BB%8Eharness%E7%9C%8B%E6%9C%AA%E6%9D%A5%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%B8%88%E7%9A%84%E5%B7%A5%E4%BD%9C%E8%81%8C%E8%B4%A3/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%BB%8Eharness%E7%9C%8B%E6%9C%AA%E6%9D%A5%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E5%B8%88%E7%9A%84%E5%B7%A5%E4%BD%9C%E8%81%8C%E8%B4%A3/</guid><description>我现在更确定的一点是：AI 写得快，不等于系统交付得快。工程师的价值不会只剩“亲手敲代码”，但也不会自动消失，它会更多落在问题定义、执行环境、反馈回路和结果验证上。</description><pubDate>Sun, 22 Mar 2026 12:45:36 GMT</pubDate><category>Agent</category><category>AI Coding</category><category>数据库</category><category>人员管理</category><category>面试</category><category>架构</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>OpenClaw学习笔记</title><link>https://zhouchangju.com/posts/openclaw%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/openclaw%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>如果我希望 OpenClaw 单独开一个受管浏览器，而不是复用当前 Chrome：</description><pubDate>Thu, 12 Feb 2026 10:20:44 GMT</pubDate><category>Agent</category><category>旅行</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>从AniClipart学习梯度下降</title><link>https://zhouchangju.com/posts/%E4%BB%8Eaniclipart%E5%AD%A6%E4%B9%A0%E6%A2%AF%E5%BA%A6%E4%B8%8B%E9%99%8D/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%BB%8Eaniclipart%E5%AD%A6%E4%B9%A0%E6%A2%AF%E5%BA%A6%E4%B8%8B%E9%99%8D/</guid><description>简短答案: PointMLP 不知道目标在哪里！</description><pubDate>Thu, 29 Jan 2026 14:45:22 GMT</pubDate><category>游戏开发</category><category>数据可视化</category><category>算法</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>程序环境下代理不生效的问题</title><link>https://zhouchangju.com/posts/%E7%A8%8B%E5%BA%8F%E7%8E%AF%E5%A2%83%E4%B8%8B%E4%BB%A3%E7%90%86%E4%B8%8D%E7%94%9F%E6%95%88%E7%9A%84%E9%97%AE%E9%A2%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E7%A8%8B%E5%BA%8F%E7%8E%AF%E5%A2%83%E4%B8%8B%E4%BB%A3%E7%90%86%E4%B8%8D%E7%94%9F%E6%95%88%E7%9A%84%E9%97%AE%E9%A2%98/</guid><description>在开发 DeepListener 时，我们遇到了一个极其困扰的问题：</description><pubDate>Sat, 24 Jan 2026 19:39:49 GMT</pubDate><category>Agent</category><category>Linux</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20260125</title><link>https://zhouchangju.com/posts/weekly-summary-20260125/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20260125/</guid><description>这个想法部分正确。但随着时间的推移，我越来越意识到，真正成功的工程师不一定是最优秀的程序员，而是懂得驾驭代码之外一切的人。</description><pubDate>Mon, 19 Jan 2026 20:39:42 GMT</pubDate><category>Weekly Summary</category><category>Agent</category><category>AI Coding</category><category>Python</category><category>人员管理</category><category>沟通</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>浏览器渲染性能优化</title><link>https://zhouchangju.com/posts/%E6%B5%8F%E8%A7%88%E5%99%A8%E6%B8%B2%E6%9F%93%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%B5%8F%E8%A7%88%E5%99%A8%E6%B8%B2%E6%9F%93%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/</guid><description>在高性能前端开发（尤其是涉及 WebGL、大量 DOM 标注的场景）中，理解浏览器的渲染流水线（Rendering Pipeline）是性能优化的基石。本文将结合实战案例，深入探讨如何利用渲染逻辑和 Chrome DevTools 解决页面卡顿问题。</description><pubDate>Sat, 17 Jan 2026 17:16:27 GMT</pubDate><category>思考</category><category>性能</category><category>Three.js</category><category>3D</category><category>数据可视化</category><category>JavaScript</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Prompt-ScrollTelling</title><link>https://zhouchangju.com/posts/prompt-scrolltelling/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/prompt-scrolltelling/</guid><description>网页内容： 1、滚动叙事网页内的文案 2、滚动叙事网页内的图像 3、文案和画面风格、交互参考纽约时报或南华早报网站中叙事可视化内容</description><pubDate>Mon, 12 Jan 2026 21:25:50 GMT</pubDate><category>ECharts</category><category>D3</category><category>数据可视化</category><category>Agent</category><category>AI Coding</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20260111</title><link>https://zhouchangju.com/posts/weekly-summary-20260111/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20260111/</guid><description>这在经济学上称为&quot;不对称收益&quot;（asymmetric returns），就是风险和收益不对称。失败的可能性很大，但只会损失一小笔钱，成功的可能性很小，但是一旦成功，就会获得巨大收益，简单说就是&quot;小亏大赚&quot;。</description><pubDate>Mon, 05 Jan 2026 21:31:29 GMT</pubDate><category>Weekly Summary</category><category>Agent</category><category>AI Coding</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>技术拆解-ChatCut</title><link>https://zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-chatcut/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-chatcut/</guid><description>ChatCut 值得关注的地方，不是“AI 自动剪视频”这个口号，而是它把视频素材先变成可检索、可推理的语义索引。剪辑的核心动作也就从拖时间轴，变成了找素材、组织叙事和生成可编辑的片段序列。</description><pubDate>Mon, 05 Jan 2026 15:51:31 GMT</pubDate><category>Agent</category><category>数据库</category><category>人员管理</category><category>架构</category><category>程序设计</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>技术拆解-Simply-Wall-St</title><link>https://zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-simply-wall-st/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-simply-wall-st/</guid><description>在传统的金融技术（Fintech）领域，数据展示长期被密集的表格、复杂的K线图和枯燥的财务报表所主导。这种“机构级”的界面设计虽然信息密度极高，但对于普通个人投资者而言，存在着巨大的认知门槛。Simply Wall St（以下简称SWS）的出现代表了金融数据可视化的一种范式转移：它不旨在提供毫秒级的</description><pubDate>Sun, 04 Jan 2026 21:08:09 GMT</pubDate><category>ECharts</category><category>D3</category><category>数据可视化</category><category>数据库</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>技术拆解-remotion</title><link>https://zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-remotion/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-remotion/</guid><description>https://github.com/remotion-dev/remotion</description><pubDate>Sun, 04 Jan 2026 16:44:01 GMT</pubDate><category>思考</category><category>技术拆解</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AG-UI</title><link>https://zhouchangju.com/posts/ag-ui/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ag-ui/</guid><description>AG-UI 对我最大的启发，不是又多了一个协议名，而是它把 Agent 和前端 UI 之间的边界讲清楚了：模型怎么想是一层，工具怎么调是一层，运行过程怎么让用户看见、确认和接管，又是另一层。</description><pubDate>Sun, 04 Jan 2026 13:19:56 GMT</pubDate><category>数据可视化</category><category>Agent</category><category>数据库</category><category>人员管理</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>研究员的工作范畴</title><link>https://zhouchangju.com/posts/%E7%A0%94%E7%A9%B6%E5%91%98%E7%9A%84%E5%B7%A5%E4%BD%9C%E8%8C%83%E7%95%B4/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E7%A0%94%E7%A9%B6%E5%91%98%E7%9A%84%E5%B7%A5%E4%BD%9C%E8%8C%83%E7%95%B4/</guid><description>👉 研究员不是只想 idea，而是要能设计实验或原型验证</description><pubDate>Sat, 27 Dec 2025 21:49:52 GMT</pubDate><category>英语学习</category><category>English</category><category>数据可视化</category><category>Agent</category><category>Python</category><category>人员管理</category><category>算法</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>关于VISALL改版的想法</title><link>https://zhouchangju.com/posts/%E5%85%B3%E4%BA%8Evisall%E6%94%B9%E7%89%88%E7%9A%84%E6%83%B3%E6%B3%95/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%85%B3%E4%BA%8Evisall%E6%94%B9%E7%89%88%E7%9A%84%E6%83%B3%E6%B3%95/</guid><description>回溯过往，我们将所有用例（Case）的逻辑都堆砌在 iFinD 的 spec 主题下。例如，单份文件可能包含 5000 多行代码，其中充斥着大量的 if-else 判断。这些逻辑的本质，实际上就是针对不同 Case 进行差异化的主题配置。</description><pubDate>Mon, 22 Dec 2025 21:36:30 GMT</pubDate><category>数据可视化</category><category>人员管理</category><category>架构</category><category>程序设计</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>可视化能力构建</title><link>https://zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E8%83%BD%E5%8A%9B%E6%9E%84%E5%BB%BA/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E8%83%BD%E5%8A%9B%E6%9E%84%E5%BB%BA/</guid><description>第一部分是关于组件能力。我们提供了许多可视化组件，主要落地在公司to B和to C的业务中。业务方通常在我们的平台上进行一站式的可视化配置，完成后以代码形式将这些组件应用到他们的项目中。此外，我们对这些组件进行了上层封装，提供不同主题以适配各业务线，比如海外业务线、首长的业务线、资讯业务线等；同时也</description><pubDate>Wed, 10 Dec 2025 14:02:45 GMT</pubDate><category>思考</category><category>数据可视化</category><category>Agent</category><category>人员管理</category><category>架构</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>MediaPipe学习笔记</title><link>https://zhouchangju.com/posts/mediapipe%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/mediapipe%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>在现代 Web 开发中，交互方式早已不局限于鼠标和键盘。随着计算机视觉技术的进步，特别是 Google MediaPipe 的出现，我们可以在浏览器中以极低的延迟实现人脸追踪、手势识别等高级功能。</description><pubDate>Thu, 04 Dec 2025 16:55:32 GMT</pubDate><category>D3</category><category>Three.js</category><category>3D</category><category>架构</category><category>算法</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>英语语法中的常见概念</title><link>https://zhouchangju.com/posts/%E8%8B%B1%E8%AF%AD%E8%AF%AD%E6%B3%95%E4%B8%AD%E7%9A%84%E5%B8%B8%E8%A7%81%E6%A6%82%E5%BF%B5/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%8B%B1%E8%AF%AD%E8%AF%AD%E6%B3%95%E4%B8%AD%E7%9A%84%E5%B8%B8%E8%A7%81%E6%A6%82%E5%BF%B5/</guid><description>请帮我梳理下，并对这些概念进行合理的分类、说明（包括其英文名称是什么，为什么要叫这个中英文名字)、举例等，方便我快速理解、学习、彻底掌握和应用这些内容。 </description><pubDate>Mon, 24 Nov 2025 13:39:43 GMT</pubDate><category>英语学习</category><category>English</category><category>Agent</category><category>架构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>美国学生如何学习英语</title><link>https://zhouchangju.com/posts/%E7%BE%8E%E5%9B%BD%E5%AD%A6%E7%94%9F%E5%A6%82%E4%BD%95%E5%AD%A6%E4%B9%A0%E8%8B%B1%E8%AF%AD/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E7%BE%8E%E5%9B%BD%E5%AD%A6%E7%94%9F%E5%A6%82%E4%BD%95%E5%AD%A6%E4%B9%A0%E8%8B%B1%E8%AF%AD/</guid><description>美国学生的英语学习方式，和很多非英语国家的“英语课”非常不同，因为：</description><pubDate>Sun, 23 Nov 2025 18:54:08 GMT</pubDate><category>英语学习</category><category>English</category><category>Agent</category><category>沟通</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>什么是Agentic AI</title><link>https://zhouchangju.com/posts/%E4%BB%80%E4%B9%88%E6%98%AFagentic-ai/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%BB%80%E4%B9%88%E6%98%AFagentic-ai/</guid><description>Agentic AI（代理型AI，或译作智能体AI）代表了人工智能发展的一个新阶段，其核心在于强调 AI 系统的自主性、目标导向和行动能力。</description><pubDate>Sun, 23 Nov 2025 09:48:28 GMT</pubDate><category>Agent</category><category>沟通</category><category>算法</category><category>旅行</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>2025年SeeConf参会记录</title><link>https://zhouchangju.com/posts/2025%E5%B9%B4seeconf%E5%8F%82%E4%BC%9A%E8%AE%B0%E5%BD%95/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/2025%E5%B9%B4seeconf%E5%8F%82%E4%BC%9A%E8%AE%B0%E5%BD%95/</guid><description>5 年前，偏右在做 Ant Design，现在他在探索 AI 工程和前端的职责边界。他将在 SEE Conf 2025 分享《AI for Frontend》。</description><pubDate>Sun, 23 Nov 2025 09:12:05 GMT</pubDate><category>3D</category><category>游戏开发</category><category>数据可视化</category><category>Agent</category><category>AI Coding</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Debug-HXKLine在低端机型卡死</title><link>https://zhouchangju.com/posts/debug-hxkline%E5%9C%A8%E4%BD%8E%E7%AB%AF%E6%9C%BA%E5%9E%8B%E5%8D%A1%E6%AD%BB/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/debug-hxkline%E5%9C%A8%E4%BD%8E%E7%AB%AF%E6%9C%BA%E5%9E%8B%E5%8D%A1%E6%AD%BB/</guid><description>如何避免上来就钻入细节，这里有2个技巧： - 先逮着问题反馈方，问10个问题 - 自己反复使用和测试出问题的页面，详见下一个章节 ### 没有明确现象和问题的范围域 &gt;排查问题和架构设计一样，都应该遵循这个原则：自顶向下，逐步求精。</description><pubDate>Fri, 21 Nov 2025 10:28:25 GMT</pubDate><category>思考</category><category>工程化</category><category>数据可视化</category><category>Agent</category><category>架构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>ECharts学习的本质框架</title><link>https://zhouchangju.com/posts/echarts%E5%AD%A6%E4%B9%A0%E7%9A%84%E6%9C%AC%E8%B4%A8%E6%A1%86%E6%9E%B6/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/echarts%E5%AD%A6%E4%B9%A0%E7%9A%84%E6%9C%AC%E8%B4%A8%E6%A1%86%E6%9E%B6/</guid><description>这个文章是将[[元框架-ECharts]]中基于「第一性原理 + 数学建模 + 形式化方法」的框架 简化为可用于团队培训的版本，目标是：不丢核心思想，但让工程师能听懂、能用、能落地、能快速掌握。</description><pubDate>Mon, 17 Nov 2025 17:12:24 GMT</pubDate><category>ECharts</category><category>数据可视化</category><category>人员管理</category><category>架构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>ECharts的配置优先级策略</title><link>https://zhouchangju.com/posts/echarts%E7%9A%84%E9%85%8D%E7%BD%AE%E4%BC%98%E5%85%88%E7%BA%A7%E7%AD%96%E7%95%A5/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/echarts%E7%9A%84%E9%85%8D%E7%BD%AE%E4%BC%98%E5%85%88%E7%BA%A7%E7%AD%96%E7%95%A5/</guid><description>1. General Component Options:</description><pubDate>Mon, 17 Nov 2025 12:21:21 GMT</pubDate><category>ECharts</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>元框架-ECharts</title><link>https://zhouchangju.com/posts/%E5%85%83%E6%A1%86%E6%9E%B6-echarts/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%85%83%E6%A1%86%E6%9E%B6-echarts/</guid><description>你不是在“学习如何配置”，你是在“学习一个用来描述图表的领域特定语言（DSL）的语法和语义”。</description><pubDate>Fri, 14 Nov 2025 09:45:34 GMT</pubDate><category>ECharts</category><category>English</category><category>Three.js</category><category>游戏开发</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Haskell学习笔记</title><link>https://zhouchangju.com/posts/haskell%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/haskell%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>Haskell 是一种纯函数式 (purely functional) 编程语言。</description><pubDate>Fri, 14 Nov 2025 09:11:32 GMT</pubDate><category>程序设计</category><category>ECharts</category><category>数据可视化</category><category>Python</category><category>算法</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何构建可迁移的学习元框架</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%9E%84%E5%BB%BA%E5%8F%AF%E8%BF%81%E7%A7%BB%E7%9A%84%E5%AD%A6%E4%B9%A0%E5%85%83%E6%A1%86%E6%9E%B6/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%9E%84%E5%BB%BA%E5%8F%AF%E8%BF%81%E7%A7%BB%E7%9A%84%E5%AD%A6%E4%B9%A0%E5%85%83%E6%A1%86%E6%9E%B6/</guid><description>需要提炼出核心要素，使其适用于任何领域，无论是技术（如前端框架、数据库、机器学习）还是非技术（如语言学习、乐器、商业分析）场景。</description><pubDate>Fri, 14 Nov 2025 08:52:29 GMT</pubDate><category>英语学习</category><category>English</category><category>ECharts</category><category>数据可视化</category><category>Python</category><category>数据库</category><category>算法</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>技术英语信息来源</title><link>https://zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E8%8B%B1%E8%AF%AD%E4%BF%A1%E6%81%AF%E6%9D%A5%E6%BA%90/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E8%8B%B1%E8%AF%AD%E4%BF%A1%E6%81%AF%E6%9D%A5%E6%BA%90/</guid><description>对于“有哪些知名的英文技术博客网站、论坛？我想通过阅读这些技术博客网站，提升自己的技术英文水平”这一查询，本报告旨在提供一个超越资源罗列的战略性回答。仅仅“阅读”技术博客是实现语言精通的必要非充分条件。真正的精通在于将英语从一种被动接收的“工具”转变为一种主动运用的“核心竞争力”。</description><pubDate>Mon, 10 Nov 2025 10:44:09 GMT</pubDate><category>英语学习</category><category>English</category><category>Unity</category><category>数据可视化</category><category>Docker</category><category>Nginx</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>模板-ECharts业务配置</title><link>https://zhouchangju.com/posts/%E6%A8%A1%E6%9D%BF-echarts%E4%B8%9A%E5%8A%A1%E9%85%8D%E7%BD%AE/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%A8%A1%E6%9D%BF-echarts%E4%B8%9A%E5%8A%A1%E9%85%8D%E7%BD%AE/</guid><description>请从当前项目代码中，抽取可复用的工具函数，加入这个模板代码（visualization-framework）的合适位置中去</description><pubDate>Thu, 06 Nov 2025 15:16:56 GMT</pubDate><category>ECharts</category><category>D3</category><category>数据可视化</category><category>Agent</category><category>架构</category><category>算法</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>datav服务端改造方案</title><link>https://zhouchangju.com/posts/datav%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%94%B9%E9%80%A0%E6%96%B9%E6%A1%88/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/datav%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%94%B9%E9%80%A0%E6%96%B9%E6%A1%88/</guid><description>本文档旨在分析当前后端项目的结构问题，并基于领域驱动设计（DDD）思想，提出三种可行的重构方案，以提高项目的模块化、内聚性和长期可维护性。</description><pubDate>Fri, 31 Oct 2025 11:27:13 GMT</pubDate><category>思考</category><category>数据可视化</category><category>JavaScript</category><category>人员管理</category><category>架构</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>ECharts配置的范式演进-从对象规约到意图驱动的系统性方法论</title><link>https://zhouchangju.com/posts/echarts%E9%85%8D%E7%BD%AE%E7%9A%84%E8%8C%83%E5%BC%8F%E6%BC%94%E8%BF%9B-%E4%BB%8E%E5%AF%B9%E8%B1%A1%E8%A7%84%E7%BA%A6%E5%88%B0%E6%84%8F%E5%9B%BE%E9%A9%B1%E5%8A%A8%E7%9A%84%E7%B3%BB%E7%BB%9F%E6%80%A7%E6%96%B9%E6%B3%95%E8%AE%BA/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/echarts%E9%85%8D%E7%BD%AE%E7%9A%84%E8%8C%83%E5%BC%8F%E6%BC%94%E8%BF%9B-%E4%BB%8E%E5%AF%B9%E8%B1%A1%E8%A7%84%E7%BA%A6%E5%88%B0%E6%84%8F%E5%9B%BE%E9%A9%B1%E5%8A%A8%E7%9A%84%E7%B3%BB%E7%BB%9F%E6%80%A7%E6%96%B9%E6%B3%95%E8%AE%BA/</guid><description>这篇不是抱怨 ECharts 配置项太多。真正的问题是，series、axis、grid、visualMap 这些东西的依赖都藏在一个 JSON 里，复杂图表一多，就像在维护一份隐式场景图。</description><pubDate>Thu, 30 Oct 2025 13:56:49 GMT</pubDate><category>ECharts</category><category>English</category><category>3D</category><category>数据可视化</category><category>Agent</category><category>Python</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何突破前端发展的困境</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E7%AA%81%E7%A0%B4%E5%89%8D%E7%AB%AF%E5%8F%91%E5%B1%95%E7%9A%84%E5%9B%B0%E5%A2%83/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E7%AA%81%E7%A0%B4%E5%89%8D%E7%AB%AF%E5%8F%91%E5%B1%95%E7%9A%84%E5%9B%B0%E5%A2%83/</guid><description>前端不会突然消失，但只会堆页面、追框架的人会越来越被动。更现实的出路，是把业务问题往架构、组件、工具和可衡量价值上推。</description><pubDate>Wed, 29 Oct 2025 09:38:36 GMT</pubDate><category>思考</category><category>未来的路</category><category>Three.js</category><category>3D</category><category>数据可视化</category><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>单向数据流</title><link>https://zhouchangju.com/posts/%E5%8D%95%E5%90%91%E6%95%B0%E6%8D%AE%E6%B5%81/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%8D%95%E5%90%91%E6%95%B0%E6%8D%AE%E6%B5%81/</guid><description>单向数据流（Unidirectional Data Flow, UDF）是一种软件设计模式，其核心思想是数据在应用内的流动是沿着一个单一、可预测的方向进行的。该模式的精确定义是&quot;将单向的变更（one-way mutations）应用于一个不可变的数据状态（immutable data state）&quot;</description><pubDate>Thu, 23 Oct 2025 13:33:47 GMT</pubDate><category>数据可视化</category><category>JavaScript</category><category>数据库</category><category>人员管理</category><category>架构</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>技术拆解-PacificVis2025的状态管理与事件机制</title><link>https://zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-pacificvis2025%E7%9A%84%E7%8A%B6%E6%80%81%E7%AE%A1%E7%90%86%E4%B8%8E%E4%BA%8B%E4%BB%B6%E6%9C%BA%E5%88%B6/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-pacificvis2025%E7%9A%84%E7%8A%B6%E6%80%81%E7%AE%A1%E7%90%86%E4%B8%8E%E4%BA%8B%E4%BB%B6%E6%9C%BA%E5%88%B6/</guid><description>本文档分析了 Pacific Vis 2025 可视化项目中使用的状态管理和事件系统模式，并将其与传统的 Flux/Redux 架构模式进行比较。</description><pubDate>Thu, 23 Oct 2025 10:09:07 GMT</pubDate><category>思考</category><category>技术拆解</category><category>Three.js</category><category>3D</category><category>数据可视化</category><category>架构</category><category>旅行</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>技术拆解-Recharts</title><link>https://zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-recharts/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-recharts/</guid><description>这篇最有价值的地方，是用源码证据把 Recharts 的架构讲清楚：它更像一个 Redux 驱动的可组合声明式图表库，而不是一个可以随手套上“微内核”名词的系统。</description><pubDate>Wed, 22 Oct 2025 13:42:50 GMT</pubDate><category>思考</category><category>技术拆解</category><category>ECharts</category><category>D3</category><category>Three.js</category><category>3D</category><category>游戏开发</category><category>数据可视化</category><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>招聘成本问题与内向型招聘策略</title><link>https://zhouchangju.com/posts/%E6%8B%9B%E8%81%98%E6%88%90%E6%9C%AC%E9%97%AE%E9%A2%98%E4%B8%8E%E5%86%85%E5%90%91%E5%9E%8B%E6%8B%9B%E8%81%98%E7%AD%96%E7%95%A5/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8B%9B%E8%81%98%E6%88%90%E6%9C%AC%E9%97%AE%E9%A2%98%E4%B8%8E%E5%86%85%E5%90%91%E5%9E%8B%E6%8B%9B%E8%81%98%E7%AD%96%E7%95%A5/</guid><description>您提出的关于成本和精力投入的顾虑非常实际，尤其对于一个精干的小团队来说。这确实是推行任何新战略时需要优先考虑的核心问题。让我们来深入探讨这两个方面，并为您提供一套适合小型团队、低成本且高效的执行方案。</description><pubDate>Mon, 20 Oct 2025 00:00:00 GMT</pubDate><category>思考</category><category>人员管理</category><category>面试</category><category>ECharts</category><category>数据可视化</category><category>沟通</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>VISALL和StandardChart主题机制设计</title><link>https://zhouchangju.com/posts/visall%E5%92%8Cstandardchart%E4%B8%BB%E9%A2%98%E6%9C%BA%E5%88%B6%E8%AE%BE%E8%AE%A1/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/visall%E5%92%8Cstandardchart%E4%B8%BB%E9%A2%98%E6%9C%BA%E5%88%B6%E8%AE%BE%E8%AE%A1/</guid><description>可以提供一个default theme，即跨业务线通用的那部分主题。</description><pubDate>Thu, 16 Oct 2025 15:02:31 GMT</pubDate><category>程序设计</category><category>ECharts</category><category>数据可视化</category><category>人员管理</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20251019</title><link>https://zhouchangju.com/posts/weekly-summary-20251019/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20251019/</guid><description>假设你要重构一个大型项目的代码： 1. 1. 第一步：让 Sonnet 4.5 分析整个项目架构，找出问题点，制定重构方案 2. 2. 第二步：让多个 Haiku 4.5 实例并行处理各个模块的具体重构 3. 3. 第三步：再让 Sonnet 4.5 做代码审查 这样一来，复杂的部分由最强的模型把关</description><pubDate>Tue, 14 Oct 2025 09:39:26 GMT</pubDate><category>Weekly Summary</category><category>English</category><category>3D</category><category>游戏开发</category><category>Agent</category><category>AI Coding</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20251005</title><link>https://zhouchangju.com/posts/weekly-summary-20251005/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20251005/</guid><description>1、把文档给AI，不然它根本不知道怎么用ReactFlow https://reactflow.dev/learn 2、自己定义好数据结构，比如组件的数据类型、中间画布的分组 3、最好画个草图 4、基于Unreal Engine的设计风格</description><pubDate>Mon, 29 Sep 2025 10:15:44 GMT</pubDate><category>团队管理</category><category>CodeReview</category><category>Unreal</category><category>项目管理</category><category>人员管理</category><category>沟通</category><category>面试</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>可视化业务开发框架解析</title><link>https://zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E4%B8%9A%E5%8A%A1%E5%BC%80%E5%8F%91%E6%A1%86%E6%9E%B6%E8%A7%A3%E6%9E%90/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E4%B8%9A%E5%8A%A1%E5%BC%80%E5%8F%91%E6%A1%86%E6%9E%B6%E8%A7%A3%E6%9E%90/</guid><description>一般是把2、3、4提出来做个链接，其目的是为了解决查询、管理问题，提高可维护性，可以理解为是一个微型数据库，算是个cache。</description><pubDate>Fri, 26 Sep 2025 14:58:09 GMT</pubDate><category>思考</category><category>程序设计</category><category>3D</category><category>数据可视化</category><category>Agent</category><category>数据库</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>可视化项目架构分析</title><link>https://zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E9%A1%B9%E7%9B%AE%E6%9E%B6%E6%9E%84%E5%88%86%E6%9E%90/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E9%A1%B9%E7%9B%AE%E6%9E%B6%E6%9E%84%E5%88%86%E6%9E%90/</guid><description>常规的前端开发，大家借助 Vue/React 等框架，可以极大的提升开发效率和质量，这些框架本身就融入了前端的架构设计在里面，也就是定义了一套程序设计的原则和约束，因此才能保证非功能需求的质量。</description><pubDate>Thu, 25 Sep 2025 20:47:53 GMT</pubDate><category>思考</category><category>程序设计</category><category>D3</category><category>Three.js</category><category>3D</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>混合架构-基于D3.js的程序设计</title><link>https://zhouchangju.com/posts/%E6%B7%B7%E5%90%88%E6%9E%B6%E6%9E%84-%E5%9F%BA%E4%BA%8Ed3-js%E7%9A%84%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%B7%B7%E5%90%88%E6%9E%B6%E6%9E%84-%E5%9F%BA%E4%BA%8Ed3-js%E7%9A%84%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/</guid><description>这篇是一次 D3 代码整理。原来的时间线代码把数据处理、路径生成、样式设置、事件绑定都塞在一个类里，写第一版很快，但后面加交互、换主题、做测试都会慢下来。</description><pubDate>Wed, 24 Sep 2025 21:18:58 GMT</pubDate><category>程序设计</category><category>D3</category><category>Three.js</category><category>数据可视化</category><category>人员管理</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Mac自动化工具调研：Karabiner-Elements、Raycast与罗技Smart Actions</title><link>https://zhouchangju.com/posts/mac%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%E8%B0%83%E7%A0%94karabiner-elementsraycast%E4%B8%8E%E7%BD%97%E6%8A%80smart-actions/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/mac%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%E8%B0%83%E7%A0%94karabiner-elementsraycast%E4%B8%8E%E7%BD%97%E6%8A%80smart-actions/</guid><description>在追求极致工作流效率的道路上，macOS 的高级用户（Power User）从未停止探索。随着工具的不断演进，我们早已超越了简单的快捷键自定义，进入了一个多层次、可编程的自动化新纪元。在这个生态系统中，Karabiner-Elements 的 Complex Modifications、Raycas</description><pubDate>Wed, 24 Sep 2025 21:08:30 GMT</pubDate><category>游戏开发</category><category>Unity</category><category>Linux</category><category>Docker</category><category>数据库</category><category>项目管理</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Prompt-定制化可视化组件</title><link>https://zhouchangju.com/posts/prompt-%E5%AE%9A%E5%88%B6%E5%8C%96%E5%8F%AF%E8%A7%86%E5%8C%96%E7%BB%84%E4%BB%B6/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/prompt-%E5%AE%9A%E5%88%B6%E5%8C%96%E5%8F%AF%E8%A7%86%E5%8C%96%E7%BB%84%E4%BB%B6/</guid><description>您是一位资深的前端架构师，专门负责设计企业级数据可视化组件。请基于以下完整的架构指导，为用户设计一个高度定制化、可维护、高性能的单体可视化组件。</description><pubDate>Mon, 22 Sep 2025 16:21:31 GMT</pubDate><category>思考</category><category>D3</category><category>数据可视化</category><category>人员管理</category><category>架构</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>IoC容器设计分析</title><link>https://zhouchangju.com/posts/ioc%E5%AE%B9%E5%99%A8%E8%AE%BE%E8%AE%A1%E5%88%86%E6%9E%90/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ioc%E5%AE%B9%E5%99%A8%E8%AE%BE%E8%AE%A1%E5%88%86%E6%9E%90/</guid><description>// 手动连接 this.renderEngine.resourceManager = this.resourceManager; this.interactionHandler.container = this.renderEngine.getContainer(); } } </description><pubDate>Mon, 22 Sep 2025 16:19:30 GMT</pubDate><category>程序设计</category><category>人员管理</category><category>架构</category><category>算法</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>前端裁剪-Clip</title><link>https://zhouchangju.com/posts/%E5%89%8D%E7%AB%AF%E8%A3%81%E5%89%AA-clip/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%89%8D%E7%AB%AF%E8%A3%81%E5%89%AA-clip/</guid><description>本文汇总 Web 前端可用的裁剪技术、实现原理、特点对比、典型应用场景与代码示例，便于在实际需求中快速选型与落地。</description><pubDate>Tue, 16 Sep 2025 19:01:31 GMT</pubDate><category>Three.js</category><category>3D</category><category>数据可视化</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>曲线遮罩裁剪问题复盘</title><link>https://zhouchangju.com/posts/%E6%9B%B2%E7%BA%BF%E9%81%AE%E7%BD%A9%E8%A3%81%E5%89%AA%E9%97%AE%E9%A2%98%E5%A4%8D%E7%9B%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%9B%B2%E7%BA%BF%E9%81%AE%E7%BD%A9%E8%A3%81%E5%89%AA%E9%97%AE%E9%A2%98%E5%A4%8D%E7%9B%98/</guid><description>本文完整记录 iOS/Chrome 下曲线连接与遮罩裁剪失效的问题调查、根因分析、修复方案与关键代码变更，便于后续回溯与参考。</description><pubDate>Tue, 16 Sep 2025 16:43:42 GMT</pubDate><category>JavaScript</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何排查CD环节的问题</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%8E%92%E6%9F%A5cd%E7%8E%AF%E8%8A%82%E7%9A%84%E9%97%AE%E9%A2%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%8E%92%E6%9F%A5cd%E7%8E%AF%E8%8A%82%E7%9A%84%E9%97%AE%E9%A2%98/</guid><description>到这一步，就能看到报错信息了： shell [ ERROR ] Rollup: Missing Export @stencil/core/internal/app-globals (1:7): &quot;default&quot; is not exported by &quot;src/global/global.ts&quot;, </description><pubDate>Mon, 15 Sep 2025 14:52:46 GMT</pubDate><category>Linux</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20250921</title><link>https://zhouchangju.com/posts/weekly-summary-20250921/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20250921/</guid><description>@Abby鹿子野: 我英语高考147，从不学语法。都是整篇整篇背课文，我喜欢背课文，基本上读三四遍我就可以背下来。先读一遍，然后边读心中边翻译。然后再读两遍，再用自己的语句翻译出来，然后再打开课文对照一下。这样几遍下来很长的高中课文我都可以会背。</description><pubDate>Mon, 15 Sep 2025 09:46:05 GMT</pubDate><category>Weekly Summary</category><category>English</category><category>ECharts</category><category>数据可视化</category><category>沟通</category><category>面试</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>数据可视化组件库的架构模式</title><link>https://zhouchangju.com/posts/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E7%BB%84%E4%BB%B6%E5%BA%93%E7%9A%84%E6%9E%B6%E6%9E%84%E6%A8%A1%E5%BC%8F/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E7%BB%84%E4%BB%B6%E5%BA%93%E7%9A%84%E6%9E%B6%E6%9E%84%E6%A8%A1%E5%BC%8F/</guid><description>这篇把问题从“图表怎么画”往前推了一层。做组件库时，真正先决定的是用户是谁、API 长什么样、渲染层怎么抽、扩展机制要不要开放。</description><pubDate>Sat, 13 Sep 2025 19:46:57 GMT</pubDate><category>数据可视化</category><category>架构</category><category>English</category><category>ECharts</category><category>D3</category><category>Three.js</category><category>3D</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>VISALL组件库的微内核架构分析</title><link>https://zhouchangju.com/posts/visall%E7%BB%84%E4%BB%B6%E5%BA%93%E7%9A%84%E5%BE%AE%E5%86%85%E6%A0%B8%E6%9E%B6%E6%9E%84%E5%88%86%E6%9E%90/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/visall%E7%BB%84%E4%BB%B6%E5%BA%93%E7%9A%84%E5%BE%AE%E5%86%85%E6%A0%B8%E6%9E%B6%E6%9E%84%E5%88%86%E6%9E%90/</guid><description>VISALL这个项目本身是基于微内核架构去设计的，但是随着多次版本的迭代，功能越来越多，其架构已经存在一些偏离了,因此准备对其进行系统的分析，找出里面存在的问题，然后我们计划对其进行一次重构。使其更加符合微内核架构的设计理念，以增强其程序质量和可维护性、可扩展性。</description><pubDate>Sat, 13 Sep 2025 18:17:51 GMT</pubDate><category>思考</category><category>技术拆解</category><category>ECharts</category><category>数据可视化</category><category>架构</category><category>程序设计</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>OpenDeepWiki的文档生成策略</title><link>https://zhouchangju.com/posts/opendeepwiki%E7%9A%84%E6%96%87%E6%A1%A3%E7%94%9F%E6%88%90%E7%AD%96%E7%95%A5/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/opendeepwiki%E7%9A%84%E6%96%87%E6%A1%A3%E7%94%9F%E6%88%90%E7%AD%96%E7%95%A5/</guid><description>OpenDeepWiki 是一个基于 .NET 的智能文档生成平台，采用模块化管道架构，主要组件包括：</description><pubDate>Wed, 03 Sep 2025 21:17:30 GMT</pubDate><category>思考</category><category>技术拆解</category><category>数据可视化</category><category>Agent</category><category>Docker</category><category>数据库</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>InversifyJS重构3D项目</title><link>https://zhouchangju.com/posts/inversifyjs%E9%87%8D%E6%9E%843d%E9%A1%B9%E7%9B%AE/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/inversifyjs%E9%87%8D%E6%9E%843d%E9%A1%B9%E7%9B%AE/</guid><description>Pacific Vis 2025 是一个基于 Three.js 的复杂数据可视化项目，用于展示全球女性投资者相关的社会经济数据。随着项目复杂度的增长，我们面临着严重的架构问题：循环依赖、手动依赖管理、模块间耦合度过高等。本文将分享我们引入 InversifyJS 进行重构的真实经验，包括具体的代码对</description><pubDate>Wed, 03 Sep 2025 20:29:13 GMT</pubDate><category>思考</category><category>工程化</category><category>Three.js</category><category>3D</category><category>数据可视化</category><category>人员管理</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>基于AI进行项目重构的工作流</title><link>https://zhouchangju.com/posts/%E5%9F%BA%E4%BA%8Eai%E8%BF%9B%E8%A1%8C%E9%A1%B9%E7%9B%AE%E9%87%8D%E6%9E%84%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%9F%BA%E4%BA%8Eai%E8%BF%9B%E8%A1%8C%E9%A1%B9%E7%9B%AE%E9%87%8D%E6%9E%84%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81/</guid><description>最近我在频繁地进行项目的优化重构操作，在这个过程中积累了一些理解项目和分析项目的经验，这里简单地记录一下作为今后的参考。</description><pubDate>Tue, 02 Sep 2025 17:00:42 GMT</pubDate><category>Workflow</category><category>Agent</category><category>架构</category><category>程序设计</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>架构驱动的软件方法论演进轨迹</title><link>https://zhouchangju.com/posts/%E6%9E%B6%E6%9E%84%E9%A9%B1%E5%8A%A8%E7%9A%84%E8%BD%AF%E4%BB%B6%E6%96%B9%E6%B3%95%E8%AE%BA%E6%BC%94%E8%BF%9B%E8%BD%A8%E8%BF%B9/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%9E%B6%E6%9E%84%E9%A9%B1%E5%8A%A8%E7%9A%84%E8%BD%AF%E4%BB%B6%E6%96%B9%E6%B3%95%E8%AE%BA%E6%BC%94%E8%BF%9B%E8%BD%A8%E8%BF%B9/</guid><description>在软件工程的早期发展阶段，开发过程主要遵循传统的软件开发生命周期（SDLC）模型，如瀑布模型。这些模型通常将设计视为编码之前的一个单一、宏大的阶段 。在这种线性思维下，软件开发被视为一个从需求到设计再到实现的顺序过程。然而，随着软件系统的规模和复杂性呈指数级增长，这种方法的局限性日益凸显。实践表明，</description><pubDate>Sun, 31 Aug 2025 11:48:19 GMT</pubDate><category>数据可视化</category><category>AI Coding</category><category>Linux</category><category>数据库</category><category>项目管理</category><category>人员管理</category><category>沟通</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>通过一个项目掌握Agent开发的全部内容</title><link>https://zhouchangju.com/posts/%E9%80%9A%E8%BF%87%E4%B8%80%E4%B8%AA%E9%A1%B9%E7%9B%AE%E6%8E%8C%E6%8F%A1agent%E5%BC%80%E5%8F%91%E7%9A%84%E5%85%A8%E9%83%A8%E5%86%85%E5%AE%B9/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E9%80%9A%E8%BF%87%E4%B8%80%E4%B8%AA%E9%A1%B9%E7%9B%AE%E6%8E%8C%E6%8F%A1agent%E5%BC%80%E5%8F%91%E7%9A%84%E5%85%A8%E9%83%A8%E5%86%85%E5%AE%B9/</guid><description>目前，Agent 相关的开发已经成为主流趋势，因此出于多方面考虑，我们必须掌握 Agent 开发的流程以及相关的技术细节。</description><pubDate>Sat, 30 Aug 2025 16:10:09 GMT</pubDate><category>Agent</category><category>数据可视化</category><category>架构</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>从J2EE思考可视化的基建该如何建设</title><link>https://zhouchangju.com/posts/%E4%BB%8Ej2ee%E6%80%9D%E8%80%83%E5%8F%AF%E8%A7%86%E5%8C%96%E7%9A%84%E5%9F%BA%E5%BB%BA%E8%AF%A5%E5%A6%82%E4%BD%95%E5%BB%BA%E8%AE%BE/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%BB%8Ej2ee%E6%80%9D%E8%80%83%E5%8F%AF%E8%A7%86%E5%8C%96%E7%9A%84%E5%9F%BA%E5%BB%BA%E8%AF%A5%E5%A6%82%E4%BD%95%E5%BB%BA%E8%AE%BE/</guid><description>在当今数据驱动的时代，可视化系统已成为企业决策和用户体验的核心组成部分。然而，构建一个健壮、可扩展的可视化平台并非易事。本文将借鉴J2EE（Java 2 Platform, Enterprise Edition）的架构思想，探讨如何构建现代化的可视化基础设施。</description><pubDate>Sat, 30 Aug 2025 10:51:56 GMT</pubDate><category>思考</category><category>架构</category><category>ECharts</category><category>D3</category><category>Three.js</category><category>3D</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>资讯可视化-如何提升生成内容的质量</title><link>https://zhouchangju.com/posts/%E8%B5%84%E8%AE%AF%E5%8F%AF%E8%A7%86%E5%8C%96-%E5%A6%82%E4%BD%95%E6%8F%90%E5%8D%87%E7%94%9F%E6%88%90%E5%86%85%E5%AE%B9%E7%9A%84%E8%B4%A8%E9%87%8F/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%B5%84%E8%AE%AF%E5%8F%AF%E8%A7%86%E5%8C%96-%E5%A6%82%E4%BD%95%E6%8F%90%E5%8D%87%E7%94%9F%E6%88%90%E5%86%85%E5%AE%B9%E7%9A%84%E8%B4%A8%E9%87%8F/</guid><description>目前，我们对 prompt 的依赖程度过高，大部分逻辑都通过 prompt 来实现，这一现状带来了大量的不确定性与稳定性问题。对此，我认为较为合理的改进方向应从两个层面着手： 第一，将部分工作从 prompt 转移到工程化层面，尤其是那些具备确定性的工作，比如一些程序化计算流程的管理等； 第二，对于</description><pubDate>Thu, 28 Aug 2025 15:42:21 GMT</pubDate><category>Agent</category><category>数据可视化</category><category>架构</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI Coding-2025年8月</title><link>https://zhouchangju.com/posts/ai-coding-2025%E5%B9%B48%E6%9C%88/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai-coding-2025%E5%B9%B48%E6%9C%88/</guid><description>用 AI 写代码以后，我最大的感受不是“终于不用学习了”，而是更容易误以为自己已经掌握了。代码能跑出来，只说明模型完成了一次生成；需求有没有讲清楚、边界有没有守住、改动能不能验证，还是人的责任。</description><pubDate>Tue, 26 Aug 2025 10:37:09 GMT</pubDate><category>AI Coding</category><category>数据可视化</category><category>Agent</category><category>项目管理</category><category>人员管理</category><category>沟通</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20250831</title><link>https://zhouchangju.com/posts/weekly-summary-20250831/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20250831/</guid><description>https://www.ruanyifeng.com/blog/2025/08/weekly-issue-363.html</description><pubDate>Mon, 25 Aug 2025 09:09:06 GMT</pubDate><category>Weekly Summary</category><category>数据可视化</category><category>架构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>资讯可视化-基于沟通日志的AI复盘</title><link>https://zhouchangju.com/posts/%E8%B5%84%E8%AE%AF%E5%8F%AF%E8%A7%86%E5%8C%96-%E5%9F%BA%E4%BA%8E%E6%B2%9F%E9%80%9A%E6%97%A5%E5%BF%97%E7%9A%84ai%E5%A4%8D%E7%9B%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%B5%84%E8%AE%AF%E5%8F%AF%E8%A7%86%E5%8C%96-%E5%9F%BA%E4%BA%8E%E6%B2%9F%E9%80%9A%E6%97%A5%E5%BF%97%E7%9A%84ai%E5%A4%8D%E7%9B%98/</guid><description>同时，请依据这些问题的严重程度、出现频率等维度做出分析排名；在此基础上形成一份总结表格，并将上述所有分析结果写入本地 Markdown 文件。信息越详细越好，不要丢失任何信息。最后，请再反思文档与已分析的问题，确认是否还有可以补充的内容。 </description><pubDate>Thu, 21 Aug 2025 15:26:48 GMT</pubDate><category>团队管理</category><category>项目管理</category><category>工程化</category><category>Agent</category><category>数据可视化</category><category>人员管理</category><category>沟通</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI时代架构师的核心职责</title><link>https://zhouchangju.com/posts/ai%E6%97%B6%E4%BB%A3%E6%9E%B6%E6%9E%84%E5%B8%88%E7%9A%84%E6%A0%B8%E5%BF%83%E8%81%8C%E8%B4%A3/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai%E6%97%B6%E4%BB%A3%E6%9E%B6%E6%9E%84%E5%B8%88%E7%9A%84%E6%A0%B8%E5%BF%83%E8%81%8C%E8%B4%A3/</guid><description>AI 的普及并未削弱架构师的价值，反而要求其从 &quot;代码编写者&quot; 转向 &quot;全局掌控者&quot;，核心职责主要体现在需求与架构的翻译、质量与效率的守护、团队协作的枢纽这几个方面。</description><pubDate>Thu, 21 Aug 2025 08:25:57 GMT</pubDate><category>思考</category><category>AI Coding</category><category>人员管理</category><category>沟通</category><category>架构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>技术拆解-时间轴曲线组件</title><link>https://zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-%E6%97%B6%E9%97%B4%E8%BD%B4%E6%9B%B2%E7%BA%BF%E7%BB%84%E4%BB%B6/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-%E6%97%B6%E9%97%B4%E8%BD%B4%E6%9B%B2%E7%BA%BF%E7%BB%84%E4%BB%B6/</guid><description>这是一个基于 Stencil 框架的高级时间线组件，实现了蛇形布局和复杂曲线连接效果。组件使用 SVG 遮罩技术、多层渲染架构和渐变色系统，提供了专业级的可视化体验。</description><pubDate>Tue, 19 Aug 2025 21:24:18 GMT</pubDate><category>思考</category><category>技术拆解</category><category>数据可视化</category><category>架构</category><category>算法</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>MetaPrompt</title><link>https://zhouchangju.com/posts/metaprompt/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/metaprompt/</guid><description>简而言之：我要的是一个 元 Prompt —— 用来指导 AI 从已有代码中逆向提取出&quot;原始需求 Prompt&quot;。</description><pubDate>Tue, 19 Aug 2025 21:17:53 GMT</pubDate><category>Agent</category><category>沟通</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>一个思维惯性导致的问题</title><link>https://zhouchangju.com/posts/%E4%B8%80%E4%B8%AA%E6%80%9D%E7%BB%B4%E6%83%AF%E6%80%A7%E5%AF%BC%E8%87%B4%E7%9A%84%E9%97%AE%E9%A2%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%B8%80%E4%B8%AA%E6%80%9D%E7%BB%B4%E6%83%AF%E6%80%A7%E5%AF%BC%E8%87%B4%E7%9A%84%E9%97%AE%E9%A2%98/</guid><description>最近的资讯可视化项目，在将测试页面部署到服务器的过程中，我遇到了一些问题，现在记录下来作为经验总结。</description><pubDate>Tue, 19 Aug 2025 14:38:35 GMT</pubDate><category>思考</category><category>数据可视化</category><category>Linux</category><category>Nginx</category><category>数据库</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI开发中是否应该使用框架</title><link>https://zhouchangju.com/posts/ai%E5%BC%80%E5%8F%91%E4%B8%AD%E6%98%AF%E5%90%A6%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E6%A1%86%E6%9E%B6/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai%E5%BC%80%E5%8F%91%E4%B8%AD%E6%98%AF%E5%90%A6%E5%BA%94%E8%AF%A5%E4%BD%BF%E7%94%A8%E6%A1%86%E6%9E%B6/</guid><description>在 B 站看到一个视频：不要用 AI 框架，作者的观点和观众的评论很有意思，因此我用 AI 将其整理了一下。</description><pubDate>Tue, 19 Aug 2025 11:30:43 GMT</pubDate><category>AI Coding</category><category>Python</category><category>人员管理</category><category>沟通</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>本地依赖分包踩坑经历</title><link>https://zhouchangju.com/posts/%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E5%88%86%E5%8C%85%E8%B8%A9%E5%9D%91%E7%BB%8F%E5%8E%86/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%9C%AC%E5%9C%B0%E4%BE%9D%E8%B5%96%E5%88%86%E5%8C%85%E8%B8%A9%E5%9D%91%E7%BB%8F%E5%8E%86/</guid><description>最近在 HIVIS 可视化组件库项目中，我们遇到了一个典型的本地依赖分包问题。这个问题看似简单，但背后涉及到了现代前端工程化的诸多核心概念：模块解析、构建系统、依赖管理等。</description><pubDate>Tue, 19 Aug 2025 09:41:41 GMT</pubDate><category>思考</category><category>工程化</category><category>数据可视化</category><category>JavaScript</category><category>人员管理</category><category>架构</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>文档驱动开发</title><link>https://zhouchangju.com/posts/%E6%96%87%E6%A1%A3%E9%A9%B1%E5%8A%A8%E5%BC%80%E5%8F%91/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%96%87%E6%A1%A3%E9%A9%B1%E5%8A%A8%E5%BC%80%E5%8F%91/</guid><description>文档驱动开发的核心思想是：No Code - 先用 AI 生成完整的技术文档，再基于文档生成代码。这种方法论源于我在实际项目中的探索和思考。</description><pubDate>Tue, 19 Aug 2025 09:21:37 GMT</pubDate><category>AI Coding</category><category>ECharts</category><category>D3</category><category>游戏开发</category><category>数据可视化</category><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>资讯可视化流程分析</title><link>https://zhouchangju.com/posts/%E8%B5%84%E8%AE%AF%E5%8F%AF%E8%A7%86%E5%8C%96%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%B5%84%E8%AE%AF%E5%8F%AF%E8%A7%86%E5%8C%96%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90/</guid><description>这篇想解决的是一个很具体的阅读问题：用户读资讯时，遇到数字、公司、术语和事件线索，经常要跳出去查。我的方案不是另做一个大而全的 Agent，而是把文章拆成可追踪的 chunk，再把解释、图表和时间线嵌回原文附近。</description><pubDate>Sun, 17 Aug 2025 11:51:38 GMT</pubDate><category>AI Coding</category><category>数据可视化</category><category>Agent</category><category>Java</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>近期关于AI Coding的感想</title><link>https://zhouchangju.com/posts/%E8%BF%91%E6%9C%9F%E5%85%B3%E4%BA%8Eai-coding%E7%9A%84%E6%84%9F%E6%83%B3/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%BF%91%E6%9C%9F%E5%85%B3%E4%BA%8Eai-coding%E7%9A%84%E6%84%9F%E6%83%B3/</guid><description>最近这段时间，我几乎每天都在和各种 AI 编程工具打交道。这个过程有点像是在玩一场大型的&quot;抽卡游戏&quot;，有时候你会抽到 SSR，有时候则是连续的 R 卡。</description><pubDate>Fri, 15 Aug 2025 17:17:16 GMT</pubDate><category>AI Coding</category><category>游戏开发</category><category>Agent</category><category>架构</category><category>程序设计</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何编写测试代码</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E7%BC%96%E5%86%99%E6%B5%8B%E8%AF%95%E4%BB%A3%E7%A0%81/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E7%BC%96%E5%86%99%E6%B5%8B%E8%AF%95%E4%BB%A3%E7%A0%81/</guid><description>项目下的fixed、final等等文件，是否都是之前调试过程中的产物呢？现在调试完成了，是否应该对测试模块下的代码进行一个整体性的梳理，去掉这些 │ Fixed、Final 等等文件，将其编写为整洁的代码呢？ 另外帮我分析一下目前的这个测试模块，其程序设计、技术选型等等是否合理，有没有更好的方案。 </description><pubDate>Tue, 12 Aug 2025 09:42:35 GMT</pubDate><category>程序设计</category><category>架构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>ESM分包</title><link>https://zhouchangju.com/posts/esm%E5%88%86%E5%8C%85/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/esm%E5%88%86%E5%8C%85/</guid><description>我们最近要开发一个组件给业务方使用，网页对于性能有较高的需求。而我们的组件代码量比较大，会导致组件的 CDN 比较大，加载耗时较长。因此我们需要对组件进行分包处理，将原本较大的 CDN 拆分为多个相对较小的 CDN。</description><pubDate>Fri, 08 Aug 2025 17:54:16 GMT</pubDate><category>程序设计</category><category>JavaScript</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何设计一个前端组件库</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E8%AE%BE%E8%AE%A1%E4%B8%80%E4%B8%AA%E5%89%8D%E7%AB%AF%E7%BB%84%E4%BB%B6%E5%BA%93/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E8%AE%BE%E8%AE%A1%E4%B8%80%E4%B8%AA%E5%89%8D%E7%AB%AF%E7%BB%84%E4%BB%B6%E5%BA%93/</guid><description>这篇不是在说“封装几个组件”。我真正想拆的是：一个可视化组件库怎么跨框架使用，怎么同时支持 CDN 和 npm，怎么按需加载，组件销毁时怎么把事件、动画和资源清理干净。</description><pubDate>Thu, 07 Aug 2025 10:45:21 GMT</pubDate><category>程序设计</category><category>ECharts</category><category>D3</category><category>Three.js</category><category>3D</category><category>游戏开发</category><category>数据可视化</category><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何制定前端组件协议</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%88%B6%E5%AE%9A%E5%89%8D%E7%AB%AF%E7%BB%84%E4%BB%B6%E5%8D%8F%E8%AE%AE/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%88%B6%E5%AE%9A%E5%89%8D%E7%AB%AF%E7%BB%84%E4%BB%B6%E5%8D%8F%E8%AE%AE/</guid><description>最近需要开发一个前端组件协议，根据历史经验，协议的制定是非常关键的，一旦设计得不合理，就会埋下巨大的隐患，影响后续组件的可扩展性和可维护性。因此以往这个环节的工作都是比较头疼的，且都由相对资深的开发人员来完成，且制定了也会很慌，总是担心考虑不够周到。</description><pubDate>Wed, 06 Aug 2025 15:59:49 GMT</pubDate><category>程序设计</category><category>JavaScript</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>近期的学习和工作流</title><link>https://zhouchangju.com/posts/%E8%BF%91%E6%9C%9F%E7%9A%84%E5%AD%A6%E4%B9%A0%E5%92%8C%E5%B7%A5%E4%BD%9C%E6%B5%81/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%BF%91%E6%9C%9F%E7%9A%84%E5%AD%A6%E4%B9%A0%E5%92%8C%E5%B7%A5%E4%BD%9C%E6%B5%81/</guid><description>这段时间最大的收获是形成了「早上听 -&gt; DeepResearch 调研 -&gt; 生成可视化网页巩固理解」这条信息获取闭环，以及用多窗口并行写代码来压榨 AI Coding 的效率。代价是同时处理太多线索容易被【打断】后失忆，所以提前一天梳理第二天的工作、保持单一时间线，比单纯堆窗口更重要。</description><pubDate>Fri, 01 Aug 2025 10:13:55 GMT</pubDate><category>数据可视化</category><category>Agent</category><category>AI Coding</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>技术拆解-LangExtract</title><link>https://zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-langextract/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-langextract/</guid><description>LangExtract 是由 Google 开发的一个 Python 库，专门用于使用大型语言模型（LLMs）从非结构化文本中提取结构化信息。该项目提供了一个完整的信息抽取流水线，具有高度的准确性和可扩展性。</description><pubDate>Thu, 31 Jul 2025 13:39:07 GMT</pubDate><category>数据可视化</category><category>Agent</category><category>Python</category><category>架构</category><category>程序设计</category><category>算法</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Chrome插件开发技术选型</title><link>https://zhouchangju.com/posts/chrome%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%91%E6%8A%80%E6%9C%AF%E9%80%89%E5%9E%8B/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/chrome%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%91%E6%8A%80%E6%9C%AF%E9%80%89%E5%9E%8B/</guid><description>在过去的几周里，我和我的团队深度参与了一个 Chrome 插件开发项目，从最初的技术选型到最终的 POC 验证，踩了不少坑，也积累了一些经验。今天我想把这些经验分享给正在考虑 Chrome 插件开发的你。</description><pubDate>Wed, 30 Jul 2025 13:34:04 GMT</pubDate><category>思考</category><category>架构</category><category>数据可视化</category><category>Agent</category><category>AI Coding</category><category>JavaScript</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>技术拆解-如何编写书签管理的Obsidian插件</title><link>https://zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-%E5%A6%82%E4%BD%95%E7%BC%96%E5%86%99%E4%B9%A6%E7%AD%BE%E7%AE%A1%E7%90%86%E7%9A%84obsidian%E6%8F%92%E4%BB%B6/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-%E5%A6%82%E4%BD%95%E7%BC%96%E5%86%99%E4%B9%A6%E7%AD%BE%E7%AE%A1%E7%90%86%E7%9A%84obsidian%E6%8F%92%E4%BB%B6/</guid><description>最近在使用 Obsidian 做笔记管理时，发现一个痛点：虽然 Obsidian 内置的书签功能能收藏重要文件和文件夹，但访问起来不够便捷，特别是当项目文件越来越多的时候。于是我们决定开发一个书签管理插件，通过一个优雅的仪表板界面，让用户能够快速访问收藏的文件夹、笔记和最近打开的文件。</description><pubDate>Mon, 28 Jul 2025 18:22:59 GMT</pubDate><category>思考</category><category>技术拆解</category><category>Unity</category><category>人员管理</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>技术拆解-CozeStudio</title><link>https://zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-cozestudio/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-cozestudio/</guid><description>Coze Studio 最值得看的不是“低代码 Agent 平台”这个标签，而是它怎么把模型、工作流、插件、知识库、数据库和发布管理放到一个工程系统里。它的问题也很典型：Agent 产品一旦从 demo 走向平台，就不只是 prompt 和工具调用，而是领域模型、资源管理、运行时、权限和运维一起上桌</description><pubDate>Mon, 28 Jul 2025 14:47:06 GMT</pubDate><category>Agent</category><category>数据可视化</category><category>AI Coding</category><category>JavaScript</category><category>Docker</category><category>数据库</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI可视化增强分析助手开发实践</title><link>https://zhouchangju.com/posts/ai%E5%8F%AF%E8%A7%86%E5%8C%96%E5%A2%9E%E5%BC%BA%E5%88%86%E6%9E%90%E5%8A%A9%E6%89%8B%E5%BC%80%E5%8F%91%E5%AE%9E%E8%B7%B5/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai%E5%8F%AF%E8%A7%86%E5%8C%96%E5%A2%9E%E5%BC%BA%E5%88%86%E6%9E%90%E5%8A%A9%E6%89%8B%E5%BC%80%E5%8F%91%E5%AE%9E%E8%B7%B5/</guid><description>这篇记录的是一次“把 AI 分析放回阅读现场”的尝试。用户不用复制到别的工具里，选中文本后就在浏览器侧栏里看到分析结果、图表、流程图或者富文本解释。</description><pubDate>Wed, 23 Jul 2025 14:34:26 GMT</pubDate><category>数据可视化</category><category>人员管理</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>更安全的解析function字符串</title><link>https://zhouchangju.com/posts/%E6%9B%B4%E5%AE%89%E5%85%A8%E7%9A%84%E8%A7%A3%E6%9E%90function%E5%AD%97%E7%AC%A6%E4%B8%B2/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%9B%B4%E5%AE%89%E5%85%A8%E7%9A%84%E8%A7%A3%E6%9E%90function%E5%AD%97%E7%AC%A6%E4%B8%B2/</guid><description>在开发基于 AI 的 ECharts 配置修改器时，我遇到一个问题：当 AI 返回包含 JavaScript 函数的图表配置时，这些函数在传输和解析过程中丢失，导致动态配置（如颜色函数、格式化器等）无法正常工作。 关联内容：[[流式输出]]</description><pubDate>Wed, 23 Jul 2025 09:02:13 GMT</pubDate><category>程序设计</category><category>JavaScript</category><category>ECharts</category><category>数据可视化</category><category>Agent</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20250720</title><link>https://zhouchangju.com/posts/weekly-summary-20250720/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20250720/</guid><description>F10的技术选型： https://fellou.ai/eko/docs/getting-started/eko/</description><pubDate>Mon, 14 Jul 2025 19:02:17 GMT</pubDate><category>Weekly Summary</category><category>数据可视化</category><category>Agent</category><category>数据库</category><category>架构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>VISALL改造记录</title><link>https://zhouchangju.com/posts/visall%E6%94%B9%E9%80%A0%E8%AE%B0%E5%BD%95/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/visall%E6%94%B9%E9%80%A0%E8%AE%B0%E5%BD%95/</guid><description>VISALL项目目前配置了npm workspace，但未真正使用pnpm workspace：</description><pubDate>Thu, 03 Jul 2025 19:59:24 GMT</pubDate><category>数据可视化</category><category>JavaScript</category><category>人员管理</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Gemini CLI 使用技巧</title><link>https://zhouchangju.com/posts/gemini-cli-%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/gemini-cli-%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7/</guid><description>这篇是我用 Gemini CLI 一段时间之后攒下的技巧和踩坑记录。不是文档搬运——官方文档能查到的我就不重复了——重点是那些实际用起来才发现的点：什么场景它好用、什么场景它会让你抓狂、以及跟 Claude Code 比起来各自的定位。</description><pubDate>Thu, 03 Jul 2025 19:30:05 GMT</pubDate><category>AI Coding</category><category>Agent</category><category>Linux</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20250705</title><link>https://zhouchangju.com/posts/weekly-summary-20250705/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20250705/</guid><description>文档转PPT https://stackblitz.com/github/slidevjs/new?file=slides.md 帮我基于 /Users/leozhou/git/VISALL/docs/refactor/MCP 下的内容，用 Slidev 这个专门用来用 Markdown 格式生成幻</description><pubDate>Mon, 30 Jun 2025 13:08:48 GMT</pubDate><category>Weekly Summary</category><category>ECharts</category><category>数据可视化</category><category>Agent</category><category>项目管理</category><category>人员管理</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Vibe Coding Experience Summary</title><link>https://zhouchangju.com/posts/vibe-coding-en/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/vibe-coding-en/</guid><description>Recently, in my development work, I have extensively used Vibe Coding, continuously engaging in a demand-feedback-correction cycle with AI IDEs. Durin</description><pubDate>Sat, 28 Jun 2025 16:57:53 GMT</pubDate><category>AI Coding</category><category>ECharts</category><category>Three.js</category><category>数据可视化</category><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Vibe Coding经验总结</title><link>https://zhouchangju.com/posts/vibe-coding%E7%BB%8F%E9%AA%8C%E6%80%BB%E7%BB%93/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/vibe-coding%E7%BB%8F%E9%AA%8C%E6%80%BB%E7%BB%93/</guid><description>最近在开发工作中，我大量使用了 Vibe Coding，不断与 AI IDE 进行需求-反馈-修正的循环交互。在这个过程中，我一直在思考如何能够将 Vibe Coding 的效果发挥到最大。我认为最关键的是需要整理出一套方法论，解决以下两个核心问题：</description><pubDate>Sat, 28 Jun 2025 16:57:53 GMT</pubDate><category>AI Coding</category><category>ECharts</category><category>游戏开发</category><category>数据可视化</category><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Gemini CLI 源码分析</title><link>https://zhouchangju.com/posts/gemini-cli-%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/gemini-cli-%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90/</guid><description>不过目前使用起来，感觉还不达成熟。不过因为是开源的，估计过一段时间会好很多，可以当成一个储备的工具先关注着。 目前的重点，还是借助其源码，学习一下AI CLI的实现思路。</description><pubDate>Fri, 27 Jun 2025 17:16:10 GMT</pubDate><category>思考</category><category>技术拆解</category><category>AI Coding</category><category>Agent</category><category>JavaScript</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>技术拆解-大事标记折线图</title><link>https://zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-%E5%A4%A7%E4%BA%8B%E6%A0%87%E8%AE%B0%E6%8A%98%E7%BA%BF%E5%9B%BE/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-%E5%A4%A7%E4%BA%8B%E6%A0%87%E8%AE%B0%E6%8A%98%E7%BA%BF%E5%9B%BE/</guid><description>// - 自定义标记图元（dvMarker，显示事件详情） </description><pubDate>Thu, 19 Jun 2025 10:10:48 GMT</pubDate><category>思考</category><category>技术拆解</category><category>ECharts</category><category>数据可视化</category><category>架构</category><category>程序设计</category><category>算法</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Unreal-不同版本的特性</title><link>https://zhouchangju.com/posts/unreal-%E4%B8%8D%E5%90%8C%E7%89%88%E6%9C%AC%E7%9A%84%E7%89%B9%E6%80%A7/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/unreal-%E4%B8%8D%E5%90%8C%E7%89%88%E6%9C%AC%E7%9A%84%E7%89%B9%E6%80%A7/</guid><pubDate>Thu, 12 Jun 2025 08:45:10 GMT</pubDate><category>Unreal Engine</category><category>Unreal</category><category>游戏开发</category><category>3D</category><category>数据可视化</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20250615</title><link>https://zhouchangju.com/posts/weekly-summary-20250615/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20250615/</guid><description>最酷的是，这打破了技术壁垒。比如，Claude Code 是用 TypeScript 写的，但我们公司大部分项目用的是 Python。昨天我在 Slack 上看到一个同事，他不懂 TypeScript，但他想修复 Claude Code 的一个问题。于是他直接和 Claude 对话，一个小时内就生成</description><pubDate>Mon, 09 Jun 2025 20:34:33 GMT</pubDate><category>Weekly Summary</category><category>数据可视化</category><category>Agent</category><category>Python</category><category>数据库</category><category>人员管理</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>可视化图表生成MCP</title><link>https://zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E5%9B%BE%E8%A1%A8%E7%94%9F%E6%88%90mcp/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E5%9B%BE%E8%A1%A8%E7%94%9F%E6%88%90mcp/</guid><description>这篇不是在讨论“再做一个图表生成器”，而是在记录一件更实际的事：已有图表能力怎么变成 AI 可以稳定调用的工具。我的判断是，先把成熟 case、schema 和渲染出口整理好，比从零开始训练一个“会画图”的模型更靠谱。</description><pubDate>Wed, 14 May 2025 16:36:30 GMT</pubDate><category>ECharts</category><category>数据可视化</category><category>Agent</category><category>AI Coding</category><category>数据库</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>微信小程序入门</title><link>https://zhouchangju.com/posts/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%85%A5%E9%97%A8/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%85%A5%E9%97%A8/</guid><description>进入小程序注册页填写相关信息 !image.png</description><pubDate>Tue, 08 Apr 2025 00:00:00 GMT</pubDate><category>JavaScript</category><category>程序设计</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20250406</title><link>https://zhouchangju.com/posts/weekly-summary-20250406/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20250406/</guid><description>灵活适配的模型选择 得益于多 Agent 架构，我们可以根据任务的复杂度和模型的特点，灵活选择最适合的模型。例如，对于数据拆分这类相对简单的任务，7B 小模型即可快速输出结果，确保高效执行；而对于更复杂的任务，则可以选择更强大的模型来保证输出质量。</description><pubDate>Tue, 01 Apr 2025 17:17:24 GMT</pubDate><category>Weekly Summary</category><category>Agent</category><category>AI Coding</category><category>项目管理</category><category>人员管理</category><category>架构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>阅后即焚类型的可视化</title><link>https://zhouchangju.com/posts/todo%E9%98%85%E5%90%8E%E5%8D%B3%E7%84%9A%E7%B1%BB%E5%9E%8B%E7%9A%84%E5%8F%AF%E8%A7%86%E5%8C%96/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/todo%E9%98%85%E5%90%8E%E5%8D%B3%E7%84%9A%E7%B1%BB%E5%9E%8B%E7%9A%84%E5%8F%AF%E8%A7%86%E5%8C%96/</guid><description>解决&lt;font color=&quot;#ff0000&quot;&gt;长尾&lt;/font&gt;可视化需求、&lt;font color=&quot;#ff0000&quot;&gt;一次性&lt;/font&gt;需求。 目前AIGC暂时不能解决复杂可视化问题，就先解决简单可视化问题。 展平式的SVG + Claude ## 适用场景 不同的方向，产品规划和技术路线是不</description><pubDate>Fri, 21 Mar 2025 10:14:37 GMT</pubDate><category>数据可视化</category><category>Agent</category><category>JavaScript</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20250323</title><link>https://zhouchangju.com/posts/weekly-summary-20250323/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20250323/</guid><description>这周我的睡眠时间严重不足，每天基本只睡了6个多小时，但令人惊讶的是，我整体精神状态却非常好。白天也不犯困，这主要归功于我感觉正在做的事情对我而言非常有意义——每天都在花时间准备系统架构设计师的考试。</description><pubDate>Tue, 18 Mar 2025 13:30:34 GMT</pubDate><category>Weekly Summary</category><category>English</category><category>数据可视化</category><category>Agent</category><category>人员管理</category><category>沟通</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>2025年D2参会感想</title><link>https://zhouchangju.com/posts/2025%E5%B9%B4d2%E5%8F%82%E4%BC%9A%E6%84%9F%E6%83%B3/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/2025%E5%B9%B4d2%E5%8F%82%E4%BC%9A%E6%84%9F%E6%83%B3/</guid><description>所有工作能够集中在一个IDE内部完成，而不需要跳转到其他地方时，效率会大大提高。例如，之前使用AI工具时，我们通常需要在ChatGPT中对话，然后将返回的结果复制粘贴到其他地方进行后续处理。这种操作方式不可避免地会导致思维被打断，专注力也因此被分散。 相比之下，如果所有工作都能在同一个IDE中完成，</description><pubDate>Sun, 09 Mar 2025 15:48:36 GMT</pubDate><category>工程化</category><category>数据可视化</category><category>AI Coding</category><category>JavaScript</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20250302</title><link>https://zhouchangju.com/posts/weekly-summary-20250302/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20250302/</guid><description>Ant Design X的Vue 版本： https://github.com/wzc520pyfm/ant-design-x-vue</description><pubDate>Wed, 26 Feb 2025 09:13:03 GMT</pubDate><category>Weekly Summary</category><category>数据可视化</category><category>人员管理</category><category>面试</category><category>算法</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>FFCreator学习笔记</title><link>https://zhouchangju.com/posts/ffcreator%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ffcreator%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>一些registry.m.jd.com的包报502，但是没管也能继续跑。 ## 依赖 Node版本：v18 ## 技术拆解</description><pubDate>Mon, 24 Feb 2025 15:15:17 GMT</pubDate><category>思考</category><category>技术拆解</category><category>ECharts</category><category>Three.js</category><category>3D</category><category>数据可视化</category><category>算法</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20250223</title><link>https://zhouchangju.com/posts/weekly-summary-20250223/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20250223/</guid><description>注意，这里的&quot;b&quot;是小写，表示比特位（bit）。平时使用的 MB 和 GB 的&quot;B&quot;是大写，表示字节（Byte），一个字节等于8个比特位。 视频应用对网速的需求最大，Netflix 的 4K 视频，网速要求是每秒 15 Mb，4G 网络下可以同时打开三、四个窗口播放。</description><pubDate>Tue, 18 Feb 2025 10:00:35 GMT</pubDate><category>Weekly Summary</category><category>English</category><category>人员管理</category><category>架构</category><category>旅行</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20250105</title><link>https://zhouchangju.com/posts/weekly-summary-20250105/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20250105/</guid><description>论文： https://github.com/deepseek-ai/DeepSeek-V3/blob/main/DeepSeekV3.pdf 论文中，明确提出了 DeepSeek-V3 仅使用 2048 块 GPU 训练了 2 个月，并且只花费了 557.6 万美金。</description><pubDate>Mon, 30 Dec 2024 17:04:56 GMT</pubDate><category>Weekly Summary</category><category>English</category><category>Agent</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>LLM开发经验</title><link>https://zhouchangju.com/posts/llm%E5%BC%80%E5%8F%91%E7%BB%8F%E9%AA%8C/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/llm%E5%BC%80%E5%8F%91%E7%BB%8F%E9%AA%8C/</guid><description>LLM 适合做的两种事情：抉择+多样性(比如：生成搞笑的风格)。</description><pubDate>Wed, 11 Dec 2024 21:22:26 GMT</pubDate><category>思考</category><category>数据可视化</category><category>Agent</category><category>AI Coding</category><category>算法</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>内网安装LlamaIndexTS无法下载npm包的问题</title><link>https://zhouchangju.com/posts/%E5%86%85%E7%BD%91%E5%AE%89%E8%A3%85llamaindexts%E6%97%A0%E6%B3%95%E4%B8%8B%E8%BD%BDnpm%E5%8C%85%E7%9A%84%E9%97%AE%E9%A2%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%86%85%E7%BD%91%E5%AE%89%E8%A3%85llamaindexts%E6%97%A0%E6%B3%95%E4%B8%8B%E8%BD%BDnpm%E5%8C%85%E7%9A%84%E9%97%AE%E9%A2%98/</guid><description>项目需要用到 RAG，我们选择用 LlamaIndexTS，但是外网功能开发完，在内网准备发布的时候，发现 npm install 报错。</description><pubDate>Tue, 10 Dec 2024 19:53:37 GMT</pubDate><category>程序设计</category><category>JavaScript</category><category>Linux</category><category>Docker</category><category>数据库</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20241208</title><link>https://zhouchangju.com/posts/weekly-summary-20241208/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20241208/</guid><description>https://www.zhihu.com/question/5861691391</description><pubDate>Mon, 02 Dec 2024 10:38:57 GMT</pubDate><category>Weekly Summary</category><category>3D</category><category>人员管理</category><category>架构</category><category>程序设计</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI项目开发总结-叙事可视化</title><link>https://zhouchangju.com/posts/ai%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%E6%80%BB%E7%BB%93-%E5%8F%99%E4%BA%8B%E5%8F%AF%E8%A7%86%E5%8C%96/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%E6%80%BB%E7%BB%93-%E5%8F%99%E4%BA%8B%E5%8F%AF%E8%A7%86%E5%8C%96/</guid><description>比如动画类型。 之前东明的可视化推荐也是这个问题，搞了很多图表，但是场景无法命中。</description><pubDate>Thu, 28 Nov 2024 17:10:23 GMT</pubDate><category>思考</category><category>数据可视化</category><category>Agent</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何编写VSCode的代码片段插件</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E7%BC%96%E5%86%99vscode%E7%9A%84%E4%BB%A3%E7%A0%81%E7%89%87%E6%AE%B5%E6%8F%92%E4%BB%B6/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E7%BC%96%E5%86%99vscode%E7%9A%84%E4%BB%A3%E7%A0%81%E7%89%87%E6%AE%B5%E6%8F%92%E4%BB%B6/</guid><description>要编写并发布一个 VSCode 的代码片段（Code Snippet）插件，你可以遵循以下步骤：</description><pubDate>Wed, 20 Nov 2024 16:41:46 GMT</pubDate><category>JavaScript</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20241110</title><link>https://zhouchangju.com/posts/weekly-summary-20241110/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20241110/</guid><description>Manim：命令式(怎么做) ZRender：声明式(做什么)</description><pubDate>Mon, 04 Nov 2024 08:55:23 GMT</pubDate><category>Weekly Summary</category><category>游戏开发</category><category>数据可视化</category><category>Agent</category><category>人员管理</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>技术拆解-Mermaid</title><link>https://zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-mermaid/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-mermaid/</guid><description>D3.js 可以参考饼图的代码： mermaid/packages/mermaid/src/diagrams/pie/pieRenderer.ts</description><pubDate>Mon, 28 Oct 2024 17:23:46 GMT</pubDate><category>思考</category><category>技术拆解</category><category>D3</category><category>数据可视化</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AIGC组件的拆分粒度</title><link>https://zhouchangju.com/posts/aigc%E7%BB%84%E4%BB%B6%E7%9A%84%E6%8B%86%E5%88%86%E7%B2%92%E5%BA%A6/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/aigc%E7%BB%84%E4%BB%B6%E7%9A%84%E6%8B%86%E5%88%86%E7%B2%92%E5%BA%A6/</guid><description>第二层就是 Tailwind CSS，第四层就是组件了。 越往下走，颗粒度越来越大，约束性变高，自由性不足。</description><pubDate>Mon, 28 Oct 2024 16:37:12 GMT</pubDate><category>ECharts</category><category>D3</category><category>数据可视化</category><category>项目管理</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>可视化开发和前端开发的区别</title><link>https://zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E5%BC%80%E5%8F%91%E5%92%8C%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91%E7%9A%84%E5%8C%BA%E5%88%AB/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E5%BC%80%E5%8F%91%E5%92%8C%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91%E7%9A%84%E5%8C%BA%E5%88%AB/</guid><description>更注重抽象(Core)与扩展性(让业务方可以基于我们提供的 Core 机制，快速扩展自己的个性化需求)</description><pubDate>Fri, 18 Oct 2024 11:10:44 GMT</pubDate><category>团队管理</category><category>数据可视化</category><category>人员管理</category><category>ECharts</category><category>3D</category><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>D3.js-现金流动态瀑布图</title><link>https://zhouchangju.com/posts/d3-js-%E7%8E%B0%E9%87%91%E6%B5%81%E5%8A%A8%E6%80%81%E7%80%91%E5%B8%83%E5%9B%BE/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/d3-js-%E7%8E%B0%E9%87%91%E6%B5%81%E5%8A%A8%E6%80%81%E7%80%91%E5%B8%83%E5%9B%BE/</guid><description>并且y轴的刻度范围是根据当前展示的5个数据来设定的，当前展示的5个数据的最大值和最小值作为y轴的刻度范围。 Y轴的刻度范围也是随着动画的播放而动态变更的。 </description><pubDate>Thu, 17 Oct 2024 09:51:22 GMT</pubDate><category>思考</category><category>D3</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20240915</title><link>https://zhouchangju.com/posts/weekly-summary-20240915/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20240915/</guid><description>单元测试用于验证正确性，Self-play 用于尝试和学习，两者结合，可以实现 AI 可视化配置！ UI 稿/截图-LLM 试错-单元测试验证-LLM 试错-单元测试验证...... 将可视化配置任务转换成一个类似围棋的自我对弈任务，通过强化学习解决。 这个是一个很好的思路，可以尝试一下，有搞头！</description><pubDate>Thu, 12 Sep 2024 13:16:50 GMT</pubDate><category>Weekly Summary</category><category>English</category><category>数据可视化</category><category>Agent</category><category>架构</category><category>算法</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>排查动态柱状图的动画问题</title><link>https://zhouchangju.com/posts/%E6%8E%92%E6%9F%A5%E5%8A%A8%E6%80%81%E6%9F%B1%E7%8A%B6%E5%9B%BE%E7%9A%84%E5%8A%A8%E7%94%BB%E9%97%AE%E9%A2%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8E%92%E6%9F%A5%E5%8A%A8%E6%80%81%E6%9F%B1%E7%8A%B6%E5%9B%BE%E7%9A%84%E5%8A%A8%E7%94%BB%E9%97%AE%E9%A2%98/</guid><description>我们基于 ECharts 的竞赛图 封装了一个动态柱状图组件，用于对多周期数据进行动态展示。这是之前的同事封装的，现在业务上线之后，发现当本周期有新数据出现时，效果非常差：</description><pubDate>Fri, 30 Aug 2024 09:52:05 GMT</pubDate><category>思考</category><category>ECharts</category><category>数据可视化</category><category>程序设计</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>ECharts扩展新的生命周期</title><link>https://zhouchangju.com/posts/echarts%E6%89%A9%E5%B1%95%E6%96%B0%E7%9A%84%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/echarts%E6%89%A9%E5%B1%95%E6%96%B0%E7%9A%84%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F/</guid><description>这篇不是在整理 ECharts 的通用扩展教程，而是记录一次具体需求的实现过程：在不直接修改业务代码的情况下，为 ECharts 扩展出新的生命周期，并在这个过程中处理组件类型识别、坐标系渲染时机和 patch-package 的问题。</description><pubDate>Wed, 14 Aug 2024 20:18:18 GMT</pubDate><category>ECharts</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Weekly Summary(20240714)</title><link>https://zhouchangju.com/posts/weekly-summary-20240714/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20240714/</guid><description>https://www.zhihu.com/question/660384108/answer/3551179520</description><pubDate>Mon, 08 Jul 2024 08:55:44 GMT</pubDate><category>Weekly Summary</category><category>English</category><category>游戏开发</category><category>数据可视化</category><category>Agent</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Weekly Summary(20240623)</title><link>https://zhouchangju.com/posts/weekly-summary-20240623/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20240623/</guid><description>不管是业务领域的程序设计(比如我就是可视化库和功能的领域)，还是诸如写 CSS 这种细节的实施上，最高效的方式都是对你的工作内容进行抽象，形成套路。</description><pubDate>Mon, 17 Jun 2024 08:28:39 GMT</pubDate><category>Weekly Summary</category><category>数据可视化</category><category>人员管理</category><category>沟通</category><category>架构</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Weekly Summary(20240428)</title><link>https://zhouchangju.com/posts/weekly-summary-20240428/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20240428/</guid><description>https://ai.meta.com/blog/meta-llama-3/</description><pubDate>Sun, 28 Apr 2024 13:17:44 GMT</pubDate><category>Weekly Summary</category><category>English</category><category>数据可视化</category><category>面试</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>可视化技术架构升级</title><link>https://zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E6%8A%80%E6%9C%AF%E6%9E%B6%E6%9E%84%E5%8D%87%E7%BA%A7/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E6%8A%80%E6%9C%AF%E6%9E%B6%E6%9E%84%E5%8D%87%E7%BA%A7/</guid><description>现在处于类似jQuery和三大框架之间的那个框架层出不穷的阶段，后面会有一个或者几个牛逼的技术框架来统一整个开发领域，Agent可能会是一个选项。</description><pubDate>Sun, 07 Apr 2024 10:22:07 GMT</pubDate><category>数据可视化</category><category>Agent</category><category>面试</category><category>架构</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>关于AI产品的关键因素的思考</title><link>https://zhouchangju.com/posts/%E5%85%B3%E4%BA%8Eai%E4%BA%A7%E5%93%81%E7%9A%84%E5%85%B3%E9%94%AE%E5%9B%A0%E7%B4%A0%E7%9A%84%E6%80%9D%E8%80%83/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%85%B3%E4%BA%8Eai%E4%BA%A7%E5%93%81%E7%9A%84%E5%85%B3%E9%94%AE%E5%9B%A0%E7%B4%A0%E7%9A%84%E6%80%9D%E8%80%83/</guid><description>这一年，公司在全力推动 AIGC 产品。似乎每个部门都在做，但是真正成功的产品几近于零。</description><pubDate>Sat, 09 Mar 2024 18:25:03 GMT</pubDate><category>数据可视化</category><category>Agent</category><category>人员管理</category><category>算法</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>技术拆解-叙事流程图</title><link>https://zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-%E5%8F%99%E4%BA%8B%E6%B5%81%E7%A8%8B%E5%9B%BE/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-%E5%8F%99%E4%BA%8B%E6%B5%81%E7%A8%8B%E5%9B%BE/</guid><description>抽象出了FlowchartStore这个 store 类，提供数据结构和响应的数据处理方法。</description><pubDate>Wed, 03 Jan 2024 15:05:09 GMT</pubDate><category>思考</category><category>技术拆解</category><category>数据可视化</category><category>JavaScript</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI浪潮下开发模式的变革</title><link>https://zhouchangju.com/posts/ai%E6%B5%AA%E6%BD%AE%E4%B8%8B%E5%BC%80%E5%8F%91%E6%A8%A1%E5%BC%8F%E7%9A%84%E5%8F%98%E9%9D%A9/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai%E6%B5%AA%E6%BD%AE%E4%B8%8B%E5%BC%80%E5%8F%91%E6%A8%A1%E5%BC%8F%E7%9A%84%E5%8F%98%E9%9D%A9/</guid><description>AI 浪潮正在改变软件开发模式，为开发者带来新的机遇和挑战。本文通过实际工作案例讲述了 AI 对个人开发工作的影响，以及 AI 时代下产品开发模式的变革，并分析了大模型时代程序员与 AI 工具的定位，希望能帮助开发人员提前布局，抓住新一轮发展机遇。</description><pubDate>Thu, 28 Dec 2023 10:20:35 GMT</pubDate><category>团队管理</category><category>D3</category><category>Three.js</category><category>3D</category><category>数据可视化</category><category>Agent</category><category>AI Coding</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>技术拆解-3D生长树</title><link>https://zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-3d%E7%94%9F%E9%95%BF%E6%A0%91-shader%E7%89%88/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-3d%E7%94%9F%E9%95%BF%E6%A0%91-shader%E7%89%88/</guid><description>此代码实现了一个 3D 生长树效果，使用 Three.js（7.1 版本）进行 3D 渲染。主要思路分为以下几个部分：</description><pubDate>Tue, 28 Nov 2023 13:36:05 GMT</pubDate><category>思考</category><category>技术拆解</category><category>3D</category><category>Three.js</category><category>算法</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>AI游戏助手</title><link>https://zhouchangju.com/posts/ai%E6%B8%B8%E6%88%8F%E5%8A%A9%E6%89%8B/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/ai%E6%B8%B8%E6%88%8F%E5%8A%A9%E6%89%8B/</guid><description>https://claude.ai/chat/640507fe-f354-48ef-bdcf-f8a6ab4f289a</description><pubDate>Sun, 11 Jun 2023 16:52:51 GMT</pubDate><category>思考</category><category>游戏开发</category><category>Python</category><category>算法</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>技术拆解-贪吃蛇</title><link>https://zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-%E8%B4%AA%E5%90%83%E8%9B%87/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-%E8%B4%AA%E5%90%83%E8%9B%87/</guid><description>self.bordersize = 20 self.displaywidth = self.width + 2 self.bordersize self.displayheight = self.height + 2 self.bordersize + 40</description><pubDate>Sat, 10 Jun 2023 14:50:01 GMT</pubDate><category>思考</category><category>技术拆解</category><category>算法</category><category>游戏开发</category><category>数据可视化</category><category>Agent</category><category>Python</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>LLM学习笔记</title><link>https://zhouchangju.com/posts/llm%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/llm%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>大语言模型（Large Language Models）能够解决的核心问题是自然语言处理中的文本生成和预测。具体来说，其目标是建立一个对给定输入序列概率进行建模的模型，利用该模型来生成具有自然流畅性和连贯性的文本，包括自动摘要、机器翻译、聊天机器人、问答系统等。</description><pubDate>Fri, 28 Apr 2023 09:21:04 GMT</pubDate><category>Agent</category><category>算法</category><category>旅行</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>ChatGPT模板</title><link>https://zhouchangju.com/posts/chatgpt%E6%A8%A1%E6%9D%BF/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/chatgpt%E6%A8%A1%E6%9D%BF/</guid><description>three.js,babylon.js,Cocos3D,Oasis Engine,Unity,Unreal Engine </description><pubDate>Fri, 24 Feb 2023 10:02:11 GMT</pubDate><category>团队管理</category><category>CodeReview</category><category>D3</category><category>Agent</category><category>Python</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>前端的架构设计</title><link>https://zhouchangju.com/posts/%E5%89%8D%E7%AB%AF%E7%9A%84%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%89%8D%E7%AB%AF%E7%9A%84%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/</guid><description>https://www.zhihu.com/question/26646855/answer/68503768</description><pubDate>Fri, 10 Feb 2023 21:18:00 GMT</pubDate><category>思考</category><category>程序设计</category><category>ECharts</category><category>3D</category><category>游戏开发</category><category>数据可视化</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>移动端initial-scale导致图表文字过小的问题</title><link>https://zhouchangju.com/posts/%E7%A7%BB%E5%8A%A8%E7%AB%AFinitial-scale%E5%AF%BC%E8%87%B4%E5%9B%BE%E8%A1%A8%E6%96%87%E5%AD%97%E8%BF%87%E5%B0%8F%E7%9A%84%E9%97%AE%E9%A2%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E7%A7%BB%E5%8A%A8%E7%AB%AFinitial-scale%E5%AF%BC%E8%87%B4%E5%9B%BE%E8%A1%A8%E6%96%87%E5%AD%97%E8%BF%87%E5%B0%8F%E7%9A%84%E9%97%AE%E9%A2%98/</guid><description>投顾部门用到了我们的可视化图表库D3Charts，发现在iOS下文字会变得很小。</description><pubDate>Thu, 02 Feb 2023 16:08:39 GMT</pubDate><category>思考</category><category>程序设计</category><category>数据可视化</category><category>JavaScript</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>3D项目开发流程</title><link>https://zhouchangju.com/posts/3d%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/3d%E9%A1%B9%E7%9B%AE%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B/</guid><description>以这次的3D关系图为例，我发现做的时候比较迷茫，缺乏一个流程指引。</description><pubDate>Tue, 27 Dec 2022 10:22:19 GMT</pubDate><category>团队管理</category><category>项目管理</category><category>程序设计</category><category>Three.js</category><category>3D</category><category>Unity</category><category>游戏开发</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Three.js-3D关系可视化</title><link>https://zhouchangju.com/posts/three-js-3d%E5%85%B3%E7%B3%BB%E5%8F%AF%E8%A7%86%E5%8C%96/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/three-js-3d%E5%85%B3%E7%B3%BB%E5%8F%AF%E8%A7%86%E5%8C%96/</guid><description>这次的文本就是用的CSS2DObject绘制的，事件绑定需要这样处理：</description><pubDate>Wed, 21 Dec 2022 14:34:29 GMT</pubDate><category>Three.js</category><category>3D</category><category>数据可视化</category><category>程序设计</category><category>算法</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Three.js-GPU拾取</title><link>https://zhouchangju.com/posts/three-js-gpu%E6%8B%BE%E5%8F%96/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/three-js-gpu%E6%8B%BE%E5%8F%96/</guid><description>Three.js中常用的处理用户交互的方式，是RayCaster，这是CPU拾取方案。</description><pubDate>Sat, 26 Nov 2022 17:41:47 GMT</pubDate><category>Three.js</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Three.js-WebGLRenderer</title><link>https://zhouchangju.com/posts/three-js-webglrenderer/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/three-js-webglrenderer/</guid><description>Three.js是通过WebGLRenderer渲染场景的，因此只要把WebGLRenderer的每一个概念和属性搞清楚，做出Demo查看其影响范围，就能把如何调试渲染效果给掌握了。</description><pubDate>Sat, 19 Nov 2022 11:29:30 GMT</pubDate><category>Three.js</category><category>算法</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Three.js-汽车产业链</title><link>https://zhouchangju.com/posts/three-js-%E6%B1%BD%E8%BD%A6%E4%BA%A7%E4%B8%9A%E9%93%BE/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/three-js-%E6%B1%BD%E8%BD%A6%E4%BA%A7%E4%B8%9A%E9%93%BE/</guid><description>比如我之前做的质检扫光小飞机、React的汽车Demo里面的发光圆环等，都是起到的这个效果。</description><pubDate>Tue, 15 Nov 2022 08:58:12 GMT</pubDate><category>Three.js</category><category>3D</category><category>Unreal</category><category>Unity</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Three.js-描边</title><link>https://zhouchangju.com/posts/three-js-%E6%8F%8F%E8%BE%B9/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/three-js-%E6%8F%8F%E8%BE%B9/</guid><description>这是我们初始想到的办法，实际上并不合适，性能差，效果也达不到预期。</description><pubDate>Mon, 07 Nov 2022 20:31:32 GMT</pubDate><category>Three.js</category><category>Unity</category><category>数据可视化</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>可视化组件的状态管理</title><link>https://zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E7%BB%84%E4%BB%B6%E7%9A%84%E7%8A%B6%E6%80%81%E7%AE%A1%E7%90%86/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E7%BB%84%E4%BB%B6%E7%9A%84%E7%8A%B6%E6%80%81%E7%AE%A1%E7%90%86/</guid><description>这里的交互指的并不一定是常规的鼠标交互行为，其代表的是我们将一种事物变更为另一种状态的行为，例如一个列表中文本的搜索、筛选高亮，交互则指的是搜索和筛选的这两种用户行为。</description><pubDate>Wed, 19 Oct 2022 13:38:04 GMT</pubDate><category>思考</category><category>数据可视化</category><category>程序设计</category><category>ECharts</category><category>3D</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Vue3学习笔记</title><link>https://zhouchangju.com/posts/vue3%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/vue3%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>写代码也更倾向于函数式编程，减少了状态的随意传递，后续维护性会更好一些。</description><pubDate>Wed, 28 Sep 2022 20:01:53 GMT</pubDate><category>思考</category><category>JavaScript</category><category>Three.js</category><category>3D</category><category>程序设计</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Three.js-体积光</title><link>https://zhouchangju.com/posts/three-js-%E4%BD%93%E7%A7%AF%E5%85%89/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/three-js-%E4%BD%93%E7%A7%AF%E5%85%89/</guid><description>参考自这个文章。</description><pubDate>Wed, 31 Aug 2022 22:19:11 GMT</pubDate><category>Three.js</category><category>算法</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>现代化开发模式</title><link>https://zhouchangju.com/posts/%E7%8E%B0%E4%BB%A3%E5%8C%96%E5%BC%80%E5%8F%91%E6%A8%A1%E5%BC%8F/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E7%8E%B0%E4%BB%A3%E5%8C%96%E5%BC%80%E5%8F%91%E6%A8%A1%E5%BC%8F/</guid><description>之所以问这2个问题，是因为就我观察到，公司目前大部分前端开发人员，都是在做体力活，陷入了无尽的业务开发中。这些低效的工作浪费了大家大量的时间。</description><pubDate>Sat, 27 Aug 2022 12:20:58 GMT</pubDate><category>程序设计</category><category>ECharts</category><category>Three.js</category><category>Unreal</category><category>数据可视化</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>关于可视化技术选型的思考</title><link>https://zhouchangju.com/posts/%E5%85%B3%E4%BA%8E%E5%8F%AF%E8%A7%86%E5%8C%96%E6%8A%80%E6%9C%AF%E9%80%89%E5%9E%8B%E7%9A%84%E6%80%9D%E8%80%83/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%85%B3%E4%BA%8E%E5%8F%AF%E8%A7%86%E5%8C%96%E6%8A%80%E6%9C%AF%E9%80%89%E5%9E%8B%E7%9A%84%E6%80%9D%E8%80%83/</guid><description>最近给海外组做图解财报的3D组件，陆陆续续耗费了我不少时间，但是最终回头来看，这个需求实际上可能只需要1天就能搞出来。究其原因，在于我的技术方案选型上，误入歧途了。</description><pubDate>Wed, 10 Aug 2022 19:24:26 GMT</pubDate><category>数据可视化</category><category>ECharts</category><category>D3</category><category>Three.js</category><category>3D</category><category>程序设计</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>GLSL学习笔记</title><link>https://zhouchangju.com/posts/glsl%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/glsl%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>WebGL只关心两件事：裁剪空间中的坐标值和颜色值。使用WebGL只需要给它提供这两个东西。 你需要提供两个着色器来做这两件事：</description><pubDate>Thu, 07 Jul 2022 19:46:28 GMT</pubDate><category>Three.js</category><category>计算机图形学</category><category>3D</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Three.js-性能优化</title><link>https://zhouchangju.com/posts/three-js-%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/three-js-%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/</guid><description>最近做了一个集群目标策略的3D可视化项目，前面花了2周时间出了个Demo来进行演示，性能极差，在我的i7-12700H+RTX2050的笔记本上，也会出现卡顿。后面这个还要迁移到移动端，性能问题就更严重了，因此借助解决这个需求的性能问题，把Three.js的性能优化方面的内容整理下，方便今后参考。</description><pubDate>Sat, 25 Jun 2022 11:02:10 GMT</pubDate><category>Three.js</category><category>3D</category><category>Unreal</category><category>Unity</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>3D写实风格</title><link>https://zhouchangju.com/posts/3d%E5%86%99%E5%AE%9E%E9%A3%8E%E6%A0%BC/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/3d%E5%86%99%E5%AE%9E%E9%A3%8E%E6%A0%BC/</guid><description>https://www.zhihu.com/question/399445153/answer/1311717764</description><pubDate>Thu, 16 Jun 2022 16:07:27 GMT</pubDate><category>Three.js</category><category>English</category><category>Unreal</category><category>Unity</category><category>游戏开发</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Three.js-Gallery</title><link>https://zhouchangju.com/posts/three-js-gallery/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/three-js-gallery/</guid><description>https://sketchfab.com/3d-models/sci-fi-girl-v02-walkcycle-test-07ac452d75cc47969234b224422ea85d</description><pubDate>Wed, 15 Jun 2022 20:19:26 GMT</pubDate><category>Three.js</category><category>3D</category><category>Unity</category><category>游戏开发</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Weekly Summary(20220619)</title><link>https://zhouchangju.com/posts/weekly-summary-20220619/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20220619/</guid><description>咖啡有个生效过程，如果到了公司才喝，要等到一个小时之后才起效。因此应该起床后就喝。</description><pubDate>Mon, 13 Jun 2022 09:49:50 GMT</pubDate><category>Weekly Summary</category><category>D3</category><category>3D</category><category>游戏开发</category><category>数据可视化</category><category>数据结构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>动态折线图开发问题汇总</title><link>https://zhouchangju.com/posts/%E5%8A%A8%E6%80%81%E6%8A%98%E7%BA%BF%E5%9B%BE%E5%BC%80%E5%8F%91%E9%97%AE%E9%A2%98%E6%B1%87%E6%80%BB/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%8A%A8%E6%80%81%E6%8A%98%E7%BA%BF%E5%9B%BE%E5%BC%80%E5%8F%91%E9%97%AE%E9%A2%98%E6%B1%87%E6%80%BB/</guid><description>最近在给业务方开发动态折线图，期间遇到N多问题，这里做个记录，就当是技术复盘了，避免下次重复踩坑。</description><pubDate>Tue, 29 Mar 2022 21:45:36 GMT</pubDate><category>D3.js</category><category>D3</category><category>ECharts</category><category>Unity</category><category>游戏开发</category><category>数据可视化</category><category>AI Coding</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>一个关于组件配置项的糟糕设计案例</title><link>https://zhouchangju.com/posts/%E4%B8%80%E4%B8%AA%E5%85%B3%E4%BA%8E%E7%BB%84%E4%BB%B6%E9%85%8D%E7%BD%AE%E9%A1%B9%E7%9A%84%E7%B3%9F%E7%B3%95%E8%AE%BE%E8%AE%A1%E6%A1%88%E4%BE%8B/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%B8%80%E4%B8%AA%E5%85%B3%E4%BA%8E%E7%BB%84%E4%BB%B6%E9%85%8D%E7%BD%AE%E9%A1%B9%E7%9A%84%E7%B3%9F%E7%B3%95%E8%AE%BE%E8%AE%A1%E6%A1%88%E4%BE%8B/</guid><description>最近在做范式组件，我写了动态柱状图和折线图，在考虑如何给使用者开放配置项的时候，考虑到如果全部配置都给用户，我感觉他们的理解成本会比较高，因此我想将配置封装为Theme类，只开放设计规范中允许的配置项给用户。</description><pubDate>Fri, 25 Mar 2022 23:40:02 GMT</pubDate><category>程序设计</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>OpenGL学习笔记</title><link>https://zhouchangju.com/posts/opengl%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/opengl%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>名词部分，可以参考WebGL Fundamentals。</description><pubDate>Mon, 21 Mar 2022 12:13:01 GMT</pubDate><category>思考</category><category>计算机图形学</category><category>Three.js</category><category>3D</category><category>游戏开发</category><category>Linux</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>数据可视化的设计方法</title><link>https://zhouchangju.com/posts/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E7%9A%84%E8%AE%BE%E8%AE%A1%E6%96%B9%E6%B3%95/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E7%9A%84%E8%AE%BE%E8%AE%A1%E6%96%B9%E6%B3%95/</guid><description>3、多挖掘数据之间的关联关系，用关系图/桑基图展示单个周期的数据之间的关系(关联、流向、强弱等等)</description><pubDate>Sun, 20 Mar 2022 15:14:38 GMT</pubDate><category>数据可视化</category><category>3D</category><category>Unity</category><category>数据库</category><category>算法</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Unreal-Blueprint</title><link>https://zhouchangju.com/posts/unreal-blueprint/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/unreal-blueprint/</guid><description>https://www.bilibili.com/video/BV11o4y1C7aW?spmidfrom=333.999.0.0</description><pubDate>Mon, 28 Feb 2022 13:05:35 GMT</pubDate><category>Unreal Engine</category><category>Unreal</category><category>游戏开发</category><category>Unity</category><category>数据可视化</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Unreal-学习笔记</title><link>https://zhouchangju.com/posts/unreal-%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/unreal-%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>房大佬说一个月就带着前端团队转UE开发了，这个是很可信的。二者本质上都是一样的。</description><pubDate>Sat, 26 Feb 2022 20:14:07 GMT</pubDate><category>Unreal Engine</category><category>Unreal</category><category>游戏开发</category><category>ECharts</category><category>Three.js</category><category>3D</category><category>Unity</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Weekly Summary(20220220)</title><link>https://zhouchangju.com/posts/weekly-summary-20220220/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20220220/</guid><description>参考资料：https://zhuanlan.zhihu.com/p/87598465</description><pubDate>Mon, 14 Feb 2022 10:30:49 GMT</pubDate><category>Weekly Summary</category><category>数据可视化</category><category>人员管理</category><category>沟通</category><category>算法</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>牛逼的前端是什么样的</title><link>https://zhouchangju.com/posts/%E7%89%9B%E9%80%BC%E7%9A%84%E5%89%8D%E7%AB%AF%E6%98%AF%E4%BB%80%E4%B9%88%E6%A0%B7%E7%9A%84/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E7%89%9B%E9%80%BC%E7%9A%84%E5%89%8D%E7%AB%AF%E6%98%AF%E4%BB%80%E4%B9%88%E6%A0%B7%E7%9A%84/</guid><description>https://2022.stateofjs.com/zh-Hans/</description><pubDate>Mon, 14 Feb 2022 10:29:18 GMT</pubDate><category>思考</category><category>ECharts</category><category>D3</category><category>Three.js</category><category>3D</category><category>Unreal</category><category>游戏开发</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>组件与数据流</title><link>https://zhouchangju.com/posts/%E7%BB%84%E4%BB%B6%E4%B8%8E%E6%95%B0%E6%8D%AE%E6%B5%81/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E7%BB%84%E4%BB%B6%E4%B8%8E%E6%95%B0%E6%8D%AE%E6%B5%81/</guid><description>https://zhuanlan.zhihu.com/p/26426054</description><pubDate>Wed, 19 Jan 2022 19:24:12 GMT</pubDate><category>思考</category><category>工程化</category><category>程序设计</category><category>JavaScript</category><category>数据库</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Unity学习笔记</title><link>https://zhouchangju.com/posts/unity%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/unity%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>另外，Unity界面中的每个功能，都去试一下，比如各个导航栏、操控场景和界面等等，手熟了效率才高。</description><pubDate>Sun, 19 Dec 2021 13:32:56 GMT</pubDate><category>游戏开发</category><category>Unity</category><category>English</category><category>Three.js</category><category>3D</category><category>Unreal</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>WebGL学习笔记</title><link>https://zhouchangju.com/posts/webgl%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/webgl%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>https://www.cnblogs.com/wanbo/p/6754066.html</description><pubDate>Thu, 16 Dec 2021 13:44:13 GMT</pubDate><category>思考</category><category>计算机图形学</category><category>3D</category><category>Three.js</category><category>Unreal</category><category>Unity</category><category>游戏开发</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>技术拆解-3D饼图</title><link>https://zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-3d%E9%A5%BC%E5%9B%BE/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-3d%E9%A5%BC%E5%9B%BE/</guid><description>https://threejs.org/docs/index.html?q=line#manual/en/introduction/Drawing-lines</description><pubDate>Fri, 10 Dec 2021 19:32:08 GMT</pubDate><category>思考</category><category>技术拆解</category><category>数据可视化</category><category>Three.js</category><category>D3</category><category>3D</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Weekly Summary(20211121)</title><link>https://zhouchangju.com/posts/weekly-summary-20211121/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20211121/</guid><description>想要过得不匆忙，就得每天设置个截止条件，也就是当日目标。别没有界限的一直干，效率既低，状态又差。</description><pubDate>Mon, 15 Nov 2021 10:19:09 GMT</pubDate><category>Weekly Summary</category><category>English</category><category>D3</category><category>数据可视化</category><category>人员管理</category><category>沟通</category><category>面试</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Weekly Summary(20211114)</title><link>https://zhouchangju.com/posts/weekly-summary-20211114/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20211114/</guid><description>上周四突发的几个事情，占据了我不少时间，包括更新展示大厅的 PPT、和设计师核对交互细节、新的发布流程(起码 3 小时)等。</description><pubDate>Mon, 08 Nov 2021 21:51:20 GMT</pubDate><category>Weekly Summary</category><category>数据可视化</category><category>人员管理</category><category>沟通</category><category>面试</category><category>架构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何做好F10的数据可视化</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%81%9A%E5%A5%BDf10%E7%9A%84%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%81%9A%E5%A5%BDf10%E7%9A%84%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96/</guid><description>F10有大量的公司财务数据，而非专业人员在查看这些财务数据的时候，是很吃力的，包括概念难以理解、难以从数据中发现规律和逻辑、难以得出结论辅助自己决策等等。</description><pubDate>Sun, 07 Nov 2021 11:29:46 GMT</pubDate><category>数据可视化</category><category>D3</category><category>数据库</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>问题排查复盘-大屏自选股数据错误</title><link>https://zhouchangju.com/posts/%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5%E5%A4%8D%E7%9B%98-%E5%A4%A7%E5%B1%8F%E8%87%AA%E9%80%89%E8%82%A1%E6%95%B0%E6%8D%AE%E9%94%99%E8%AF%AF/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5%E5%A4%8D%E7%9B%98-%E5%A4%A7%E5%B1%8F%E8%87%AA%E9%80%89%E8%82%A1%E6%95%B0%E6%8D%AE%E9%94%99%E8%AF%AF/</guid><description>用户那边展示的 Web 大屏，其中自选股页面的数据显示错误了。这个问题之前也出现过。</description><pubDate>Tue, 02 Nov 2021 08:42:00 GMT</pubDate><category>团队管理</category><category>CodeReview</category><category>数据可视化</category><category>JavaScript</category><category>沟通</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>可视化组件复盘-海外版</title><link>https://zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E7%BB%84%E4%BB%B6%E5%A4%8D%E7%9B%98-%E6%B5%B7%E5%A4%96%E7%89%88/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E7%BB%84%E4%BB%B6%E5%A4%8D%E7%9B%98-%E6%B5%B7%E5%A4%96%E7%89%88/</guid><description>这篇记录的是海外版可视化组件从 10 月 18 日开始开发，到 11 月 1 日交付过程中的一次复盘。中间经历了排期压缩、需求和设计反复、技术方案调整，以及最后的联调和交付问题。</description><pubDate>Tue, 26 Oct 2021 16:53:38 GMT</pubDate><category>数据可视化</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何正确的理解技术</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E7%9A%84%E7%90%86%E8%A7%A3%E6%8A%80%E6%9C%AF/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E7%9A%84%E7%90%86%E8%A7%A3%E6%8A%80%E6%9C%AF/</guid><description>这篇文章的起因是最近我在学 Three.js 的时候发现了一个现象：以前我看 Three.js 的书很懵，很多 3D 和图形学的概念看不懂；最近补了一些计算机图形学的基础知识后，回头再看 Three.js 的最后两章，根本不用调试代码，很快就看过去并理解了。</description><pubDate>Thu, 21 Oct 2021 08:49:44 GMT</pubDate><category>思考</category><category>Three.js</category><category>3D</category><category>游戏开发</category><category>算法</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>可视化组件设计</title><link>https://zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E7%BB%84%E4%BB%B6%E8%AE%BE%E8%AE%A1/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E7%BB%84%E4%BB%B6%E8%AE%BE%E8%AE%A1/</guid><description>应该先画图，有哪几个生命周期，每个阶段应该做什么，不应该做什么，把这个想清楚，形成原则，就是设计了，框架也就出来了。</description><pubDate>Tue, 27 Jul 2021 14:18:32 GMT</pubDate><category>数据可视化</category><category>程序设计</category><category>ECharts</category><category>Three.js</category><category>游戏开发</category><category>架构</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何做好CodeReview</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%81%9A%E5%A5%BDcodereview/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%81%9A%E5%A5%BDcodereview/</guid><description>参考散点图的案例</description><pubDate>Wed, 14 Jul 2021 10:41:58 GMT</pubDate><category>团队管理</category><category>CodeReview</category><category>ECharts</category><category>数据可视化</category><category>人员管理</category><category>沟通</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20210704</title><link>https://zhouchangju.com/posts/weekly-summary-20210704/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20210704/</guid><description>这是今年的感悟，加上最近看了一些演讲视频，就更对这块深有体会了。</description><pubDate>Mon, 28 Jun 2021 08:29:32 GMT</pubDate><category>Weekly Summary</category><category>English</category><category>人员管理</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>智能短视频-组件设计</title><link>https://zhouchangju.com/posts/%E6%99%BA%E8%83%BD%E7%9F%AD%E8%A7%86%E9%A2%91-%E7%BB%84%E4%BB%B6%E8%AE%BE%E8%AE%A1/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%99%BA%E8%83%BD%E7%9F%AD%E8%A7%86%E9%A2%91-%E7%BB%84%E4%BB%B6%E8%AE%BE%E8%AE%A1/</guid><description>比如我们的D3Charts，就是一个组件库；而其他零散的组件，比如动态折线图、柱状图这种，并不算是组件库。</description><pubDate>Fri, 21 May 2021 17:15:34 GMT</pubDate><category>思考</category><category>音视频</category><category>数据可视化</category><category>JavaScript</category><category>程序设计</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>跟月影学可视化</title><link>https://zhouchangju.com/posts/%E8%B7%9F%E6%9C%88%E5%BD%B1%E5%AD%A6%E5%8F%AF%E8%A7%86%E5%8C%96/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%B7%9F%E6%9C%88%E5%BD%B1%E5%AD%A6%E5%8F%AF%E8%A7%86%E5%8C%96/</guid><description>反思：我之前把可视化理解得太狭隘了，没有抓住本质；还是给自己找个老师(陈为、月影)更靠谱。</description><pubDate>Thu, 18 Feb 2021 14:23:16 GMT</pubDate><category>数据可视化</category><category>Three.js</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>按键精灵学习笔记</title><link>https://zhouchangju.com/posts/%E6%8C%89%E9%94%AE%E7%B2%BE%E7%81%B5%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8C%89%E9%94%AE%E7%B2%BE%E7%81%B5%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>按键精灵可以使用各种标准VBS命令，比如数值操作、字符串操作等</description><pubDate>Tue, 16 Feb 2021 21:46:23 GMT</pubDate><category>游戏开发</category><category>Agent</category><category>数据结构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>数据可视化的探索方向</title><link>https://zhouchangju.com/posts/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E7%9A%84%E6%8E%A2%E7%B4%A2%E6%96%B9%E5%90%91/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E7%9A%84%E6%8E%A2%E7%B4%A2%E6%96%B9%E5%90%91/</guid><description>我们团队被定义为A系列团队，即探索型团队，因此我们的年度目标和计划，肯定有很大一部分比重是需要投入到可视化探索中去的。那数据可视化有哪些方向可以探索呢？这是我们必须明确的一个问题。</description><pubDate>Thu, 28 Jan 2021 10:53:09 GMT</pubDate><category>数据可视化</category><category>ECharts</category><category>Three.js</category><category>游戏开发</category><category>人员管理</category><category>沟通</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20210131</title><link>https://zhouchangju.com/posts/weekly-summary-20210131/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20210131/</guid><description>起因是昨晚听了 WZB 的管理分享，然后我意识到，其实绝大部分开发组长都是没啥管理意识的，包括我自己，也是属于有一些意识但是并没有完整的策略模型，很多事情也是了解但是没去做。这就是典型的一个傻子和一堆傻子一起玩，那么这个傻子不可能变成聪明人。</description><pubDate>Mon, 25 Jan 2021 16:02:31 GMT</pubDate><category>Weekly Summary</category><category>游戏开发</category><category>数据可视化</category><category>人员管理</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Weekly Summary(20210124)</title><link>https://zhouchangju.com/posts/weekly-summary-20210124/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20210124/</guid><description>2021 怎么走？还是这样肯定不行，得变更，得跳出舒适圈。</description><pubDate>Mon, 18 Jan 2021 08:29:59 GMT</pubDate><category>Weekly Summary</category><category>3D</category><category>数据可视化</category><category>项目管理</category><category>人员管理</category><category>架构</category><category>数据结构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>2021读书计划</title><link>https://zhouchangju.com/posts/2021%E8%AF%BB%E4%B9%A6%E8%AE%A1%E5%88%92/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/2021%E8%AF%BB%E4%B9%A6%E8%AE%A1%E5%88%92/</guid><description>2020年读的书太少了，读书计划也没有完成。2021继续加油！</description><pubDate>Sat, 09 Jan 2021 09:47:54 GMT</pubDate><category>思考</category><category>English</category><category>ECharts</category><category>D3</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>开发人员工作标准</title><link>https://zhouchangju.com/posts/%E5%BC%80%E5%8F%91%E4%BA%BA%E5%91%98%E5%B7%A5%E4%BD%9C%E6%A0%87%E5%87%86/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%BC%80%E5%8F%91%E4%BA%BA%E5%91%98%E5%B7%A5%E4%BD%9C%E6%A0%87%E5%87%86/</guid><description>presentation: night.css width: 800 height: 600</description><pubDate>Fri, 25 Dec 2020 10:21:09 GMT</pubDate><category>数据可视化</category><category>项目管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>可视化与前端基建和效能的结合</title><link>https://zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E4%B8%8E%E5%89%8D%E7%AB%AF%E5%9F%BA%E5%BB%BA%E5%92%8C%E6%95%88%E8%83%BD%E7%9A%84%E7%BB%93%E5%90%88/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E4%B8%8E%E5%89%8D%E7%AB%AF%E5%9F%BA%E5%BB%BA%E5%92%8C%E6%95%88%E8%83%BD%E7%9A%84%E7%BB%93%E5%90%88/</guid><description>presentation: night.css width: 800 height: 600</description><pubDate>Tue, 22 Dec 2020 15:52:25 GMT</pubDate><category>数据可视化</category><category>JavaScript</category><category>人员管理</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>前端团队的问题到底是什么？</title><link>https://zhouchangju.com/posts/%E5%89%8D%E7%AB%AF%E5%9B%A2%E9%98%9F%E7%9A%84%E9%97%AE%E9%A2%98%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%89%8D%E7%AB%AF%E5%9B%A2%E9%98%9F%E7%9A%84%E9%97%AE%E9%A2%98%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E4%B9%88/</guid><description>现在前端团队都是分散到各个具体业务中的，这就导致信息互通、技术工具的整合推广，都存在问题。前端年初都会列出很多待解决的问题，我们也知道有很多事情应该去做，但是究竟这些问题里面，最影响开发效率、性价比最高的20%内容是什么，其实是没有数据来支撑验证的，因此我们的改进还是稍微有点拍脑袋。 形成对比的就是</description><pubDate>Thu, 17 Dec 2020 09:16:48 GMT</pubDate><category>团队管理</category><category>CodeReview</category><category>数据可视化</category><category>人员管理</category><category>架构</category><category>程序设计</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何写好后端业务代码</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%86%99%E5%A5%BD%E5%90%8E%E7%AB%AF%E4%B8%9A%E5%8A%A1%E4%BB%A3%E7%A0%81/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%86%99%E5%A5%BD%E5%90%8E%E7%AB%AF%E4%B8%9A%E5%8A%A1%E4%BB%A3%E7%A0%81/</guid><description>形成一个自己的程序框架至关重要。程序框架其实就是你抽象自己的设计思路，抽取可复用部分，形成后续项目的基座。里面应该包含了程序目录结构、调试工具、编码规范的约束工具、日志工具、发布工具、常用函数库、常用业务库等等。这样就避免每次你都从头再来一遍，也避免了犯一些低级错误。</description><pubDate>Tue, 27 Oct 2020 08:38:01 GMT</pubDate><category>程序设计</category><category>架构</category><category>数据库</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Puppeteer学习笔记</title><link>https://zhouchangju.com/posts/puppeteer%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/puppeteer%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>比如手机页面，高宽分别放大5倍(实际截屏面积应该是放大了25倍)，9秒的视频，截了近500秒，差不多是50倍的时间，太夸张了。</description><pubDate>Sun, 25 Oct 2020 09:32:35 GMT</pubDate><category>程序设计</category><category>JavaScript</category><category>数据可视化</category><category>Linux</category><category>Docker</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>可视化组件的配置设计思路</title><link>https://zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E7%BB%84%E4%BB%B6%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E8%AE%A1%E6%80%9D%E8%B7%AF/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%8F%AF%E8%A7%86%E5%8C%96%E7%BB%84%E4%BB%B6%E7%9A%84%E9%85%8D%E7%BD%AE%E8%AE%BE%E8%AE%A1%E6%80%9D%E8%B7%AF/</guid><description>刚接触数据可视化的组件开发时，往往会遇到一个问题，就是不知道该如何设计组件对外开放的配置项。我根据最近写组件的一些经验，对配置项的设计做个总结，方便后面参考。</description><pubDate>Sun, 18 Oct 2020 09:36:57 GMT</pubDate><category>数据可视化</category><category>D3</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>D3.js-坐标轴</title><link>https://zhouchangju.com/posts/d3-js-%E5%9D%90%E6%A0%87%E8%BD%B4/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/d3-js-%E5%9D%90%E6%A0%87%E8%BD%B4/</guid><description>按常规思路来看，网格线就是直线/虚线，那么我们只需要计算好位置，然后通过 line 或者 path 画线条即可。不过这里有一个更精妙的方法，就是将刻度长度设置为负数，即反向延长坐标轴的刻度线：</description><pubDate>Fri, 16 Oct 2020 15:49:18 GMT</pubDate><category>D3.js</category><category>D3</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>技术拆解-时间轴折线图</title><link>https://zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-%E6%97%B6%E9%97%B4%E8%BD%B4%E6%8A%98%E7%BA%BF%E5%9B%BE/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%8A%80%E6%9C%AF%E6%8B%86%E8%A7%A3-%E6%97%B6%E9%97%B4%E8%BD%B4%E6%8A%98%E7%BA%BF%E5%9B%BE/</guid><description>http://jira002.iwencai.com:8080/browse/DATAV-2055</description><pubDate>Tue, 13 Oct 2020 18:19:11 GMT</pubDate><category>思考</category><category>技术拆解</category><category>D3</category><category>数据可视化</category><category>ECharts</category><category>数据结构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何在拖动节点时，让连线随之移动</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%8B%96%E5%8A%A8%E8%8A%82%E7%82%B9%E6%97%B6%E8%AE%A9%E8%BF%9E%E7%BA%BF%E9%9A%8F%E4%B9%8B%E7%A7%BB%E5%8A%A8/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%8B%96%E5%8A%A8%E8%8A%82%E7%82%B9%E6%97%B6%E8%AE%A9%E8%BF%9E%E7%BA%BF%E9%9A%8F%E4%B9%8B%E7%A7%BB%E5%8A%A8/</guid><description>这是用 D3.js 做关系图时遇到的一个具体需求：节点可以拖动，拖动后连在这个节点上的线要跟着移动。这里记录的是当时采用的方案，核心是利用 JavaScript 的对象引用传递特性来实现【数据驱动】。</description><pubDate>Thu, 08 Oct 2020 19:06:15 GMT</pubDate><category>D3.js</category><category>D3</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Flutter安装笔记</title><link>https://zhouchangju.com/posts/flutter%E5%AE%89%E8%A3%85%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/flutter%E5%AE%89%E8%A3%85%E7%AC%94%E8%AE%B0/</guid><description>我平时喜欢看小说，但是现在的小说APP广告太多了：启动应用有广告，从其他APP切换回来又有广告，体验很不好。因此我想自己写一个简单的文档阅读APP。考虑到现在Flutter挺火的，就准备用这个试一试。因此这里记录下安装Flutter的过程中遇到的一些问题。</description><pubDate>Wed, 07 Oct 2020 19:34:26 GMT</pubDate><category>思考</category><category>程序设计</category><category>数据可视化</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>动态视频自动生成方案</title><link>https://zhouchangju.com/posts/%E5%8A%A8%E6%80%81%E8%A7%86%E9%A2%91%E8%87%AA%E5%8A%A8%E7%94%9F%E6%88%90%E6%96%B9%E6%A1%88/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%8A%A8%E6%80%81%E8%A7%86%E9%A2%91%E8%87%AA%E5%8A%A8%E7%94%9F%E6%88%90%E6%96%B9%E6%A1%88/</guid><description>https://hanabi.data-viz.cn/index?lang=zh-CN</description><pubDate>Wed, 23 Sep 2020 14:38:06 GMT</pubDate><category>思考</category><category>音视频</category><category>游戏开发</category><category>数据可视化</category><category>Docker</category><category>数据库</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>马良项目的总结</title><link>https://zhouchangju.com/posts/%E9%A9%AC%E8%89%AF%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%80%BB%E7%BB%93/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E9%A9%AC%E8%89%AF%E9%A1%B9%E7%9B%AE%E7%9A%84%E6%80%BB%E7%BB%93/</guid><description>docker、可视化搭建、sequelize、TypeScript、老项目的熟悉等等。</description><pubDate>Fri, 11 Sep 2020 16:23:22 GMT</pubDate><category>团队管理</category><category>CodeReview</category><category>数据可视化</category><category>Linux</category><category>Docker</category><category>数据库</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Docker安装无头浏览器Puppeteer</title><link>https://zhouchangju.com/posts/docker%E5%AE%89%E8%A3%85%E6%97%A0%E5%A4%B4%E6%B5%8F%E8%A7%88%E5%99%A8puppeteer/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/docker%E5%AE%89%E8%A3%85%E6%97%A0%E5%A4%B4%E6%B5%8F%E8%A7%88%E5%99%A8puppeteer/</guid><description>注意：如果是在项目下，通过 Dockerfile 安装 Puppeteer，请务必在 Dockerfile 执行 npm install 之前，添加如下这一行，否则会因为内网无法下载 chrome 而导致 Puppeteer 安装失败：</description><pubDate>Tue, 08 Sep 2020 22:13:36 GMT</pubDate><category>程序设计</category><category>Docker</category><category>JavaScript</category><category>Linux</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>制作Node项目的docker镜像</title><link>https://zhouchangju.com/posts/%E5%88%B6%E4%BD%9Cnode%E9%A1%B9%E7%9B%AE%E7%9A%84docker%E9%95%9C%E5%83%8F/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%88%B6%E4%BD%9Cnode%E9%A1%B9%E7%9B%AE%E7%9A%84docker%E9%95%9C%E5%83%8F/</guid><description>最近一个项目需要在服务端用到无头浏览器puppeteer，这个工具对于node版本有一定要求，而我们目前的线上node镜像是8.9版本的，无法支持该无头浏览器，因此需要升级node，重新制作镜像。</description><pubDate>Fri, 04 Sep 2020 15:16:02 GMT</pubDate><category>思考</category><category>Node.js</category><category>Docker</category><category>JavaScript</category><category>Python</category><category>Linux</category><category>Nginx</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>制作基于CentOS7的Node镜像</title><link>https://zhouchangju.com/posts/%E5%88%B6%E4%BD%9C%E5%9F%BA%E4%BA%8Ecentos7%E7%9A%84node%E9%95%9C%E5%83%8F/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%88%B6%E4%BD%9C%E5%9F%BA%E4%BA%8Ecentos7%E7%9A%84node%E9%95%9C%E5%83%8F/</guid><description>前几天基于CentOS6.9的镜像安装无头浏览器Puppeteer，装上后问题很多，无法成功运行，装好这个依赖发现又缺少那个依赖，依赖全部装完后又提示版本不兼容。最终我还是选择放弃CentOS6，改为升级到CentOS7来构建Puppeteer的镜像。</description><pubDate>Fri, 04 Sep 2020 15:16:02 GMT</pubDate><category>思考</category><category>Node.js</category><category>Docker</category><category>JavaScript</category><category>Linux</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>从零初始化你的服务端环境</title><link>https://zhouchangju.com/posts/%E4%BB%8E%E9%9B%B6%E5%88%9D%E5%A7%8B%E5%8C%96%E4%BD%A0%E7%9A%84%E6%9C%8D%E5%8A%A1%E7%AB%AF%E7%8E%AF%E5%A2%83/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%BB%8E%E9%9B%B6%E5%88%9D%E5%A7%8B%E5%8C%96%E4%BD%A0%E7%9A%84%E6%9C%8D%E5%8A%A1%E7%AB%AF%E7%8E%AF%E5%A2%83/</guid><description>注意：为了避免权限问题，这里我选择了以管理员身份运行VitualBox软件。</description><pubDate>Sat, 22 Aug 2020 14:00:05 GMT</pubDate><category>程序设计</category><category>Docker</category><category>Linux</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Weekly Summary(20200816)</title><link>https://zhouchangju.com/posts/weekly-summary-20200816/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20200816/</guid><description>最近一时兴起想买个笔记本，结果筛选的过程中一发不可收拾，每天都会花费不少时间去查看笔记本信息，但是直到现在，我也没有明确定下来买什么笔记本。我之所以花时间去查看这些信息，是希望能够以较低的价格买到适合我的笔记本，但是如果算一下我耗费在这上面的时间，其价值已经远远超过能给我节省的钱了。虽然这个过程能让</description><pubDate>Wed, 12 Aug 2020 16:58:18 GMT</pubDate><category>Weekly Summary</category><category>English</category><category>D3</category><category>数据可视化</category><category>人员管理</category><category>沟通</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Weekly Summary(20200719)</title><link>https://zhouchangju.com/posts/weekly-summary-20200719/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20200719/</guid><description>我喜欢做简单的、收益又不错的、正向反馈快的；这样筛选下来，只剩下业务开发了。</description><pubDate>Mon, 13 Jul 2020 08:58:08 GMT</pubDate><category>Weekly Summary</category><category>ECharts</category><category>D3</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>工作乐趣的丢失</title><link>https://zhouchangju.com/posts/%E5%B7%A5%E4%BD%9C%E4%B9%90%E8%B6%A3%E7%9A%84%E4%B8%A2%E5%A4%B1/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%B7%A5%E4%BD%9C%E4%B9%90%E8%B6%A3%E7%9A%84%E4%B8%A2%E5%A4%B1/</guid><description>我工作已经有九年半了，在此期间，也经历了国内互联网行业的各种变更。总体的感觉，大家在工作中的乐趣正一点点的丢失。造成这个问题的原因有很多，我按照自己的想法总结了下：</description><pubDate>Mon, 13 Jul 2020 08:03:43 GMT</pubDate><category>思考</category><category>数据可视化</category><category>数据库</category><category>人员管理</category><category>面试</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>数据可视化的TOP10需求</title><link>https://zhouchangju.com/posts/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E7%9A%84top10%E9%9C%80%E6%B1%82/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E7%9A%84top10%E9%9C%80%E6%B1%82/</guid><description>这里的TOP10需求，是我们整个组的，不一定就是可视化相关的需求，因此提效方面的内容也是可以加进来的。</description><pubDate>Fri, 10 Jul 2020 19:48:42 GMT</pubDate><category>思考</category><category>数据可视化</category><category>3D</category><category>游戏开发</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>关于2020上半年工作汇报的思考</title><link>https://zhouchangju.com/posts/%E5%85%B3%E4%BA%8E2020%E4%B8%8A%E5%8D%8A%E5%B9%B4%E5%B7%A5%E4%BD%9C%E6%B1%87%E6%8A%A5%E7%9A%84%E6%80%9D%E8%80%83/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%85%B3%E4%BA%8E2020%E4%B8%8A%E5%8D%8A%E5%B9%B4%E5%B7%A5%E4%BD%9C%E6%B1%87%E6%8A%A5%E7%9A%84%E6%80%9D%E8%80%83/</guid><description>给基金团队带来多少帮助？ 给资讯团队带来了多少帮助？ 给 F10 带来了多少帮助？ 他们本来开发一个项目要多久，现在由于我的加入，需要多久？</description><pubDate>Mon, 06 Jul 2020 23:01:43 GMT</pubDate><category>思考</category><category>数据可视化</category><category>3D</category><category>人员管理</category><category>沟通</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20200712</title><link>https://zhouchangju.com/posts/weekly-summary-20200712/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20200712/</guid><description>明确业务方向-&gt;明确需要什么样的人-&gt;明确需要多少人-&gt;明确招聘需求-&gt;干就是了！</description><pubDate>Mon, 06 Jul 2020 08:24:32 GMT</pubDate><category>Weekly Summary</category><category>3D</category><category>数据可视化</category><category>人员管理</category><category>沟通</category><category>数据结构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>数据可视化上半年总结与下半年计划</title><link>https://zhouchangju.com/posts/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E4%B8%8A%E5%8D%8A%E5%B9%B4%E6%80%BB%E7%BB%93%E4%B8%8E%E4%B8%8B%E5%8D%8A%E5%B9%B4%E8%AE%A1%E5%88%92/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E4%B8%8A%E5%8D%8A%E5%B9%B4%E6%80%BB%E7%BB%93%E4%B8%8E%E4%B8%8B%E5%8D%8A%E5%B9%B4%E8%AE%A1%E5%88%92/</guid><description>这个是最大的问题。方向不确定，感觉我们组就像浮萍一样，随波逐流，每一天都战战兢兢，如履薄冰。</description><pubDate>Tue, 16 Jun 2020 19:09:18 GMT</pubDate><category>未来的路</category><category>ECharts</category><category>D3</category><category>Three.js</category><category>数据可视化</category><category>人员管理</category><category>沟通</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何写好代码-抽取流程</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%86%99%E5%A5%BD%E4%BB%A3%E7%A0%81-%E6%8A%BD%E5%8F%96%E6%B5%81%E7%A8%8B/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%86%99%E5%A5%BD%E4%BB%A3%E7%A0%81-%E6%8A%BD%E5%8F%96%E6%B5%81%E7%A8%8B/</guid><description>之前写了一段解析网页的代码，现在回头重构，发现烂得不行。这里选取一段关于流程的做个分析改进。</description><pubDate>Thu, 11 Jun 2020 11:38:26 GMT</pubDate><category>程序设计</category><category>JavaScript</category><category>数据可视化</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>从拓扑图案例来分析如何写可视化组件</title><link>https://zhouchangju.com/posts/%E4%BB%8E%E6%8B%93%E6%89%91%E5%9B%BE%E6%A1%88%E4%BE%8B%E6%9D%A5%E5%88%86%E6%9E%90%E5%A6%82%E4%BD%95%E5%86%99%E5%8F%AF%E8%A7%86%E5%8C%96%E7%BB%84%E4%BB%B6/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%BB%8E%E6%8B%93%E6%89%91%E5%9B%BE%E6%A1%88%E4%BE%8B%E6%9D%A5%E5%88%86%E6%9E%90%E5%A6%82%E4%BD%95%E5%86%99%E5%8F%AF%E8%A7%86%E5%8C%96%E7%BB%84%E4%BB%B6/</guid><description>我准备今后每一周都给自己一个技术方面的尝试主题，来提升自己的技术能力。</description><pubDate>Tue, 09 Jun 2020 08:38:46 GMT</pubDate><category>数据可视化</category><category>English</category><category>D3</category><category>程序设计</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>统计PDF的词频</title><link>https://zhouchangju.com/posts/%E7%BB%9F%E8%AE%A1pdf%E7%9A%84%E8%AF%8D%E9%A2%91/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E7%BB%9F%E8%AE%A1pdf%E7%9A%84%E8%AF%8D%E9%A2%91/</guid><description>可视化领域，有一本非常经典的书籍《The Grammar of Graphics》，一直都想仔细读一下。但是这本书似乎没有中译本，只有英文版。就我目前这么烂的英文阅读水平，啃起来绝对很吃力。因此我想先统计下这本书里面的单词词频，找到高频的生词，我先通过比如扇贝单词等APP将这些生词背下来，这样看书的</description><pubDate>Fri, 05 Jun 2020 08:29:47 GMT</pubDate><category>程序设计</category><category>English</category><category>数据可视化</category><category>Java</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>D3Charts-日历图的实现原理</title><link>https://zhouchangju.com/posts/d3charts-%E6%97%A5%E5%8E%86%E5%9B%BE/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/d3charts-%E6%97%A5%E5%8E%86%E5%9B%BE/</guid><description>component下的calendar的代码，并没有实现散点图的功能。</description><pubDate>Wed, 27 May 2020 15:40:28 GMT</pubDate><category>思考</category><category>D3Charts</category><category>数据可视化</category><category>沟通</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>近期英语学习的总结</title><link>https://zhouchangju.com/posts/%E8%BF%91%E6%9C%9F%E8%8B%B1%E8%AF%AD%E5%AD%A6%E4%B9%A0%E7%9A%84%E6%80%BB%E7%BB%93/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%BF%91%E6%9C%9F%E8%8B%B1%E8%AF%AD%E5%AD%A6%E4%B9%A0%E7%9A%84%E6%80%BB%E7%BB%93/</guid><description>好久没有学习英语了，翻了下扇贝打卡日历，发现上一次坚持学习，是截止到2020.1.24，也就是去年的除夕这一天。其实去年后面几个月的学习，已经是马虎了事，每天打个卡而已，并没有真正收获什么。现在距离我的小目标(2021.02.14)，时间越来越近了，现在必须得重新将英语学习拾起来了。</description><pubDate>Wed, 20 May 2020 08:45:13 GMT</pubDate><category>英语学习</category><category>English</category><category>D3</category><category>数据可视化</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>weekly-summary-20200517</title><link>https://zhouchangju.com/posts/weekly-summary-20200517/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20200517/</guid><description>我现在已经属于触底反弹期间了，但是如果我不将自己的主动性调起来，那么肯定是反弹不上来的。</description><pubDate>Mon, 11 May 2020 11:22:09 GMT</pubDate><category>Weekly Summary</category><category>游戏开发</category><category>数据可视化</category><category>沟通</category><category>程序设计</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>为什么拓扑图项目的进度管理做得这么烂</title><link>https://zhouchangju.com/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%8B%93%E6%89%91%E5%9B%BE%E9%A1%B9%E7%9B%AE%E7%9A%84%E8%BF%9B%E5%BA%A6%E7%AE%A1%E7%90%86%E5%81%9A%E5%BE%97%E8%BF%99%E4%B9%88%E7%83%82/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%8B%93%E6%89%91%E5%9B%BE%E9%A1%B9%E7%9B%AE%E7%9A%84%E8%BF%9B%E5%BA%A6%E7%AE%A1%E7%90%86%E5%81%9A%E5%BE%97%E8%BF%99%E4%B9%88%E7%83%82/</guid><description>拓扑可视化平台这个项目的进度让我很不满意，比预期的时间整整多了三天。究其原因，在于我的项目管理做得太烂了，基本上没有什么规划可言。</description><pubDate>Wed, 22 Apr 2020 19:20:12 GMT</pubDate><category>团队管理</category><category>项目管理</category><category>数据可视化</category><category>沟通</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Weekly Summary(20200419)</title><link>https://zhouchangju.com/posts/weekly-summary-20200419/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20200419/</guid><description>我们希望上班能带来精神和物质上的收获，希望周末能愉快的和家人一起出游。</description><pubDate>Mon, 13 Apr 2020 10:42:44 GMT</pubDate><category>Weekly Summary</category><category>数据可视化</category><category>数据库</category><category>人员管理</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>疫情地图开发总结</title><link>https://zhouchangju.com/posts/%E7%96%AB%E6%83%85%E5%9C%B0%E5%9B%BE%E5%BC%80%E5%8F%91%E6%80%BB%E7%BB%93/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E7%96%AB%E6%83%85%E5%9C%B0%E5%9B%BE%E5%BC%80%E5%8F%91%E6%80%BB%E7%BB%93/</guid><description>在一知半解的情况下，凭感觉去评估难度、工作量和时间，结果很多细节上的问题都没考虑，估算的时间可能只有真实工作量的三分之一(甚至更少，比如这次我预估半天不到就能搞定，结果搞了整整两天，且第一天还是三个人一起搞)。</description><pubDate>Mon, 13 Apr 2020 10:22:39 GMT</pubDate><category>思考</category><category>ECharts</category><category>D3</category><category>数据可视化</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>平台即服务</title><link>https://zhouchangju.com/posts/%E5%B9%B3%E5%8F%B0%E5%8D%B3%E6%9C%8D%E5%8A%A1/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%B9%B3%E5%8F%B0%E5%8D%B3%E6%9C%8D%E5%8A%A1/</guid><description>这是缘于最近SMM给我提的需求：提供一个通用的拓扑结构，展示不同业务方的数据。经过跟SMM的沟通，我发现他期望的其实不是一个拓扑组件，而是一个涵盖了数据接入标准、存储、可视化呈现的平台。通过平台对外提供服务，服务于公司所有的业务。结合最近在关注的前端平台搭建相关的内容，我突然想到，这个需求不就是一个</description><pubDate>Wed, 08 Apr 2020 18:43:10 GMT</pubDate><category>数据可视化</category><category>沟通</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>什么是架构师</title><link>https://zhouchangju.com/posts/%E4%BB%80%E4%B9%88%E6%98%AF%E6%9E%B6%E6%9E%84%E5%B8%88/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%BB%80%E4%B9%88%E6%98%AF%E6%9E%B6%E6%9E%84%E5%B8%88/</guid><description>架构师(Architect /ˈɑːrkɪtekt/)是很多技术人员的职业发展目标。但是绝大多数人(至少我身边的绝大多数人)，对于架构师的定义、工作职责、能力要求并没有一个很清晰的了解。这也就导致大家的职业规划只是嘴上说说，没有明确的目标和行动策略。</description><pubDate>Wed, 08 Apr 2020 08:18:22 GMT</pubDate><category>程序设计</category><category>架构</category><category>人员管理</category><category>沟通</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Weekly Summary(20200412)</title><link>https://zhouchangju.com/posts/weekly-summary-20200412/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20200412/</guid><description>现在技术更新越来越快，工作压力也与日俱增，再加上自己年龄逐渐增大，这两年考虑这方面的内容比较多。其实这个问题的答案很早就有了，那就是持续学习才能让自己不被淘汰。但是光是学习还不够，你学习的速度、产出的价值还需要能跟得上业界的发展、公司的发展速度，否则就意味着竞争力的下降，最终只是迟一点被淘汰而已。</description><pubDate>Tue, 07 Apr 2020 08:40:13 GMT</pubDate><category>Weekly Summary</category><category>数据可视化</category><category>沟通</category><category>面试</category><category>架构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何编写方案设计文档</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E7%BC%96%E5%86%99%E6%96%B9%E6%A1%88%E8%AE%BE%E8%AE%A1%E6%96%87%E6%A1%A3/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E7%BC%96%E5%86%99%E6%96%B9%E6%A1%88%E8%AE%BE%E8%AE%A1%E6%96%87%E6%A1%A3/</guid><description>我们需要在一开始，就把这三要素给讨论确定下来。这部分内容花费的时间多一点也是很值得的。</description><pubDate>Thu, 26 Mar 2020 11:21:11 GMT</pubDate><category>程序设计</category><category>数据可视化</category><category>数据库</category><category>架构</category><category>算法</category><category>数据结构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Weekly Summary(20200329)</title><link>https://zhouchangju.com/posts/weekly-summary-20200329/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20200329/</guid><description>业务组件的建设和推广，结合结果页，找几个新业务实践下，我们不只是提供可视化组件，这样才能扩大团队规模，才能发展。</description><pubDate>Mon, 23 Mar 2020 10:40:08 GMT</pubDate><category>Weekly Summary</category><category>ECharts</category><category>数据可视化</category><category>人员管理</category><category>面试</category><category>架构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Weekly Summary(20200322)</title><link>https://zhouchangju.com/posts/weekly-summary-20200322/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20200322/</guid><description>因为有所求，希望能快点搞定，早点回家。 这说明我自己想去做的事情，动力还是很足的。</description><pubDate>Tue, 17 Mar 2020 09:26:27 GMT</pubDate><category>Weekly Summary</category><category>3D</category><category>数据可视化</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何快速绘制带动效的定制版流程图</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%BF%AB%E9%80%9F%E7%BB%98%E5%88%B6%E5%B8%A6%E5%8A%A8%E6%95%88%E7%9A%84%E5%AE%9A%E5%88%B6%E7%89%88%E6%B5%81%E7%A8%8B%E5%9B%BE/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%BF%AB%E9%80%9F%E7%BB%98%E5%88%B6%E5%B8%A6%E5%8A%A8%E6%95%88%E7%9A%84%E5%AE%9A%E5%88%B6%E7%89%88%E6%B5%81%E7%A8%8B%E5%9B%BE/</guid><description>上周有个业务组让我们做一个流程图，数据是固定不变的，但是要求流程之间的线条可以动起来。考虑到这个不通用，且我们这边也抽不出人力，因此我让他们自己的开发去学一下，自己写。</description><pubDate>Thu, 12 Mar 2020 14:29:08 GMT</pubDate><category>D3.js</category><category>D3</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Echarts地图使用笔记</title><link>https://zhouchangju.com/posts/echarts%E5%9C%B0%E5%9B%BE%E4%BD%BF%E7%94%A8%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/echarts%E5%9C%B0%E5%9B%BE%E4%BD%BF%E7%94%A8%E7%AC%94%E8%AE%B0/</guid><description>上周末Boss要求做一个全球疫情的项目，产品经理准备通过一个全球地图来展示疫情情况，我们考虑了下，选择了沿用之前全国疫情的技术选型，即ECharts来实现该地图。</description><pubDate>Thu, 12 Mar 2020 13:47:12 GMT</pubDate><category>ECharts</category><category>D3</category><category>数据可视化</category><category>程序设计</category><category>算法</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Weekly Summary(20200315)</title><link>https://zhouchangju.com/posts/weekly-summary-20200315/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20200315/</guid><description>今后如果其他组借我们的人进行业务开发，除非我们真的很空，否则坚决不借人。</description><pubDate>Tue, 10 Mar 2020 11:03:43 GMT</pubDate><category>Weekly Summary</category><category>English</category><category>数据可视化</category><category>人员管理</category><category>沟通</category><category>算法</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Weekly Summary(20200308)</title><link>https://zhouchangju.com/posts/weekly-summary-20200308/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20200308/</guid><description>上周末太忙了，一直在加班，周六周日都搞到凌晨三点多，没有写周总结。这也是因为上周没有注意平时的积累，都放到周末去总结，就导致了这个情况。</description><pubDate>Mon, 09 Mar 2020 13:07:07 GMT</pubDate><category>Weekly Summary</category><category>人员管理</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>2020读书计划</title><link>https://zhouchangju.com/posts/2020%E8%AF%BB%E4%B9%A6%E8%AE%A1%E5%88%92/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/2020%E8%AF%BB%E4%B9%A6%E8%AE%A1%E5%88%92/</guid><description>PS：标题为&lt;span style=&quot;color:red&quot;&gt;红色&lt;/span&gt;的书籍，是我还没看完、但是后面会继续看下去。</description><pubDate>Fri, 28 Feb 2020 11:27:13 GMT</pubDate><category>思考</category><category>English</category><category>ECharts</category><category>D3</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Weekly Summary(20200216)</title><link>https://zhouchangju.com/posts/weekly-summary-20200216/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/weekly-summary-20200216/</guid><description>如何将自己这个项目做好，是我需要投入毕生精力去考虑的事情。</description><pubDate>Sat, 15 Feb 2020 14:46:31 GMT</pubDate><category>Weekly Summary</category><category>3D</category><category>数据可视化</category><category>人员管理</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>关于组件化、可视化的思考</title><link>https://zhouchangju.com/posts/%E5%85%B3%E4%BA%8E%E7%BB%84%E4%BB%B6%E5%8C%96%E5%8F%AF%E8%A7%86%E5%8C%96%E7%9A%84%E6%80%9D%E8%80%83/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%85%B3%E4%BA%8E%E7%BB%84%E4%BB%B6%E5%8C%96%E5%8F%AF%E8%A7%86%E5%8C%96%E7%9A%84%E6%80%9D%E8%80%83/</guid><description>这种一般会组建一个专门的团队，和我们现在类似。该团队对外的输出就是可视化作图组件，比如折线图、柱状图、饼图之类的。</description><pubDate>Sun, 19 Jan 2020 14:24:23 GMT</pubDate><category>数据可视化</category><category>JavaScript</category><category>Docker</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>《阿里巴巴中台战略思想与架构实战》读书笔记</title><link>https://zhouchangju.com/posts/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E4%B8%AD%E5%8F%B0%E6%88%98%E7%95%A5%E6%80%9D%E6%83%B3%E4%B8%8E%E6%9E%B6%E6%9E%84%E5%AE%9E%E6%88%98%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E4%B8%AD%E5%8F%B0%E6%88%98%E7%95%A5%E6%80%9D%E6%83%B3%E4%B8%8E%E6%9E%B6%E6%9E%84%E5%AE%9E%E6%88%98%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/</guid><description>公司在金融市场发展到现在，接下去的路可能是如下三方面(都是营造差异化的竞争力)： 1、中台战略：借助中台，快速试错、大量试错，不因为开发、效率等问题放过任何一个创新点，找到创新点进行突破 2、可视化战略：视觉、交互的升级，公司发展到一定阶段，这部分内容的重要程度会越来越高 3、技术战略：通过AI技术</description><pubDate>Wed, 08 Jan 2020 08:46:30 GMT</pubDate><category>思考</category><category>数据可视化</category><category>数据库</category><category>架构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何按需加载D3.js中的模块</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%8C%89%E9%9C%80%E5%8A%A0%E8%BD%BDd3-js%E4%B8%AD%E7%9A%84%E6%A8%A1%E5%9D%97/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%8C%89%E9%9C%80%E5%8A%A0%E8%BD%BDd3-js%E4%B8%AD%E7%9A%84%E6%A8%A1%E5%9D%97/</guid><description>最近有个组件需求，是用D3.js写的，自己写的代码总共就几KB大小，但是最终打包出来的压缩版JS居然有98KB。考虑到D3是按照模块化编写的，因此我想尝试下通过按需引入模块，来精简最终的JS。</description><pubDate>Fri, 27 Dec 2019 14:52:07 GMT</pubDate><category>数据可视化</category><category>D3</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>近期写总结计划过程中的一些想法</title><link>https://zhouchangju.com/posts/%E8%BF%91%E6%9C%9F%E5%86%99%E6%80%BB%E7%BB%93%E8%AE%A1%E5%88%92%E8%BF%87%E7%A8%8B%E4%B8%AD%E7%9A%84%E4%B8%80%E4%BA%9B%E6%83%B3%E6%B3%95/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%BF%91%E6%9C%9F%E5%86%99%E6%80%BB%E7%BB%93%E8%AE%A1%E5%88%92%E8%BF%87%E7%A8%8B%E4%B8%AD%E7%9A%84%E4%B8%80%E4%BA%9B%E6%83%B3%E6%B3%95/</guid><description>企业最关心的（或者说唯一在乎的）事情，就是增加收入、降低成本。 企业实际上需要的不是程序员，而是能够帮助它们增加收入、降低成本的人。 企业雇佣你，是为了让你帮它们完成某个可以增加收入、降低成本的项目，而不是为了让你追求个人的软件成就。</description><pubDate>Mon, 23 Dec 2019 10:59:46 GMT</pubDate><category>思考</category><category>数据可视化</category><category>人员管理</category><category>沟通</category><category>架构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何播放和存储音频流文件</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%92%AD%E6%94%BE%E5%92%8C%E5%AD%98%E5%82%A8%E9%9F%B3%E9%A2%91%E6%B5%81%E6%96%87%E4%BB%B6/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E6%92%AD%E6%94%BE%E5%92%8C%E5%AD%98%E5%82%A8%E9%9F%B3%E9%A2%91%E6%B5%81%E6%96%87%E4%BB%B6/</guid><description>今天有个需求，想用一下文本转语音的功能。转换接口返回给我们的音频是一个字符串，因此需要做一些转换才能使用。这里记录下。</description><pubDate>Mon, 16 Dec 2019 18:49:40 GMT</pubDate><category>程序设计</category><category>JavaScript</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何将一个非模块化的项目转为模块化项目？</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%B0%86%E4%B8%80%E4%B8%AA%E9%9D%9E%E6%A8%A1%E5%9D%97%E5%8C%96%E7%9A%84%E9%A1%B9%E7%9B%AE%E8%BD%AC%E4%B8%BA%E6%A8%A1%E5%9D%97%E5%8C%96%E9%A1%B9%E7%9B%AE/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%B0%86%E4%B8%80%E4%B8%AA%E9%9D%9E%E6%A8%A1%E5%9D%97%E5%8C%96%E7%9A%84%E9%A1%B9%E7%9B%AE%E8%BD%AC%E4%B8%BA%E6%A8%A1%E5%9D%97%E5%8C%96%E9%A1%B9%E7%9B%AE/</guid><description>最近写一个行业关系图的组件，写的时候我是直接拆分为几个JS文件，然后在html页面中引入这几个文件，没有采用模块化的方法。开发到后期时，准备处理打包相关的事情了，然后就得将这些程序转为模块化的形式。这个过程耗费了我不少时间，因此这里记录下，用于今后参考。</description><pubDate>Sat, 07 Dec 2019 19:06:22 GMT</pubDate><category>程序设计</category><category>ECharts</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>并购重组动画的教训</title><link>https://zhouchangju.com/posts/%E5%B9%B6%E8%B4%AD%E9%87%8D%E7%BB%84%E5%8A%A8%E7%94%BB%E7%9A%84%E6%95%99%E8%AE%AD/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%B9%B6%E8%B4%AD%E9%87%8D%E7%BB%84%E5%8A%A8%E7%94%BB%E7%9A%84%E6%95%99%E8%AE%AD/</guid><description>最近做了一个动画，用于 PC 端的并购重组网页，展示并购重组的过程。今天给 Boss 看了下，结果比较悲剧，被称为是看过的世界上倒数第二烂的设计......</description><pubDate>Thu, 28 Nov 2019 19:15:20 GMT</pubDate><category>数据可视化</category><category>沟通</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何阅读前端代码</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E9%98%85%E8%AF%BB%E5%89%8D%E7%AB%AF%E4%BB%A3%E7%A0%81/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E9%98%85%E8%AF%BB%E5%89%8D%E7%AB%AF%E4%BB%A3%E7%A0%81/</guid><description>在之前的笔记《D3Charts-给legend实现动画分页效果》中，已经提过了自己了解项目时踩过的一些坑：</description><pubDate>Wed, 27 Nov 2019 19:24:05 GMT</pubDate><category>程序设计</category><category>JavaScript</category><category>数据可视化</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何画出优秀的架构图</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E7%94%BB%E5%87%BA%E4%BC%98%E7%A7%80%E7%9A%84%E6%9E%B6%E6%9E%84%E5%9B%BE/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E7%94%BB%E5%87%BA%E4%BC%98%E7%A7%80%E7%9A%84%E6%9E%B6%E6%9E%84%E5%9B%BE/</guid><description>Office的PPT在画图时其实是很强大的，这个已经能够满足常规需求了，因此直接选择PPT作为画图工具即可。</description><pubDate>Wed, 27 Nov 2019 10:35:37 GMT</pubDate><category>程序设计</category><category>架构</category><category>数据可视化</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Chrome扩展开发笔记</title><link>https://zhouchangju.com/posts/chrome%E6%89%A9%E5%B1%95%E5%BC%80%E5%8F%91%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/chrome%E6%89%A9%E5%B1%95%E5%BC%80%E5%8F%91%E7%AC%94%E8%AE%B0/</guid><description>又到招聘季了(其实秋招已经过了...)。今年我们组照例没有意外的分到了0个秋招的实习生(其实分到了一个，结果第一天分给我，第二天这位同学就说不来了)。没办法，只能自己散招了。</description><pubDate>Mon, 25 Nov 2019 19:41:03 GMT</pubDate><category>程序设计</category><category>JavaScript</category><category>数据可视化</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>关系图的现状</title><link>https://zhouchangju.com/posts/%E5%85%B3%E7%B3%BB%E5%9B%BE%E7%9A%84%E7%8E%B0%E7%8A%B6/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%85%B3%E7%B3%BB%E5%9B%BE%E7%9A%84%E7%8E%B0%E7%8A%B6/</guid><description>随着数据的暴增以及数据搜集技术的发展，目前各个公司都积累了很多的数据。从这些数据中挖掘信息，进而发展出产品，或者分析用户信息，对用户进行画像，类似这样的需求越来越多。</description><pubDate>Fri, 22 Nov 2019 08:58:44 GMT</pubDate><category>数据可视化</category><category>D3</category><category>算法</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何用D3.js画一个可交互的关系图</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E7%94%A8d3-js%E7%94%BB%E4%B8%80%E4%B8%AA%E5%8F%AF%E4%BA%A4%E4%BA%92%E7%9A%84%E5%85%B3%E7%B3%BB%E5%9B%BE/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E7%94%A8d3-js%E7%94%BB%E4%B8%80%E4%B8%AA%E5%8F%AF%E4%BA%A4%E4%BA%92%E7%9A%84%E5%85%B3%E7%B3%BB%E5%9B%BE/</guid><description>1、每个节点都是可以拖动的，且拖动的时候，与该节点关联的线条、箭头，都要随之同步移动；</description><pubDate>Wed, 20 Nov 2019 11:13:29 GMT</pubDate><category>数据可视化</category><category>D3</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>2019读书计划</title><link>https://zhouchangju.com/posts/2019%E8%AF%BB%E4%B9%A6%E8%AE%A1%E5%88%92/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/2019%E8%AF%BB%E4%B9%A6%E8%AE%A1%E5%88%92/</guid><description>工作这么多年，一直都没有读书计划。今年因为一些工作上的原因，迫切的感觉到了读书的重要性，因此这里列下我的读书情况，等到年末回头再检验下。</description><pubDate>Tue, 08 Oct 2019 19:24:49 GMT</pubDate><category>思考</category><category>English</category><category>ECharts</category><category>D3</category><category>Three.js</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>对数</title><link>https://zhouchangju.com/posts/%E5%AF%B9%E6%95%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%AF%B9%E6%95%B0/</guid><description>最近有一个需求，要展示某人整个人生阶段中，每一年的支出数据。假设这个人的支出信息如下(为了简化理解和作图，只罗列5年数据)：</description><pubDate>Fri, 27 Sep 2019 11:11:51 GMT</pubDate><category>思考</category><category>算法</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>数据驱动</title><link>https://zhouchangju.com/posts/%E6%95%B0%E6%8D%AE%E9%A9%B1%E5%8A%A8/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%95%B0%E6%8D%AE%E9%A9%B1%E5%8A%A8/</guid><description>数据可视化是数据驱动的领域，不过我发现不仅仅是数据可视化，在很多其他场景，也应用到了数据驱动的理念。</description><pubDate>Wed, 25 Sep 2019 15:12:01 GMT</pubDate><category>程序设计</category><category>ECharts</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>用D3.js实现一个图形的套路</title><link>https://zhouchangju.com/posts/%E7%94%A8d3-js%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E5%9B%BE%E5%BD%A2%E7%9A%84%E5%A5%97%E8%B7%AF/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E7%94%A8d3-js%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E5%9B%BE%E5%BD%A2%E7%9A%84%E5%A5%97%E8%B7%AF/</guid><description>现在接到一个可视化的图形需求，我会比较慌，思考了下，是因为我在具体实现上，还没形成自己的编码套路，导致无法快速对图形进行技术上的拆解。</description><pubDate>Wed, 18 Sep 2019 19:29:11 GMT</pubDate><category>数据可视化</category><category>D3</category><category>沟通</category><category>程序设计</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>ZRender学习笔记</title><link>https://zhouchangju.com/posts/zrender%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/zrender%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>注意，HTML 引入 dist 下的文件；如果遇到 TS 报错，设置@ts-ignore 即可。</description><pubDate>Tue, 17 Sep 2019 10:24:13 GMT</pubDate><category>ECharts</category><category>D3</category><category>Three.js</category><category>数据可视化</category><category>算法</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>一周总结20190830</title><link>https://zhouchangju.com/posts/%E4%B8%80%E5%91%A8%E6%80%BB%E7%BB%9320190830/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%B8%80%E5%91%A8%E6%80%BB%E7%BB%9320190830/</guid><description>你坚信的、不会因为别人的言论改变的、十匹马都拉不回来的，才是目标。</description><pubDate>Tue, 27 Aug 2019 08:56:14 GMT</pubDate><category>Weekly Summary</category><category>English</category><category>D3</category><category>游戏开发</category><category>数据可视化</category><category>Docker</category><category>人员管理</category><category>沟通</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>一周总结20190816</title><link>https://zhouchangju.com/posts/%E4%B8%80%E5%91%A8%E6%80%BB%E7%BB%9320190816/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%B8%80%E5%91%A8%E6%80%BB%E7%BB%9320190816/</guid><description>不管是数据新闻也好、大屏也好、组件也好，如果仍然仅仅只是停留在开发的思维上，是没法做成的，因为这些东西都是需要有用户量、有收益，才能体现价值的，所以不光要做出产品，更要去宣传和推广。</description><pubDate>Thu, 15 Aug 2019 11:14:04 GMT</pubDate><category>Weekly Summary</category><category>English</category><category>D3</category><category>数据可视化</category><category>人员管理</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>NodeJS项目首次发布流程</title><link>https://zhouchangju.com/posts/nodejs%E9%A1%B9%E7%9B%AE%E9%A6%96%E6%AC%A1%E5%8F%91%E5%B8%83%E6%B5%81%E7%A8%8B/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/nodejs%E9%A1%B9%E7%9B%AE%E9%A6%96%E6%AC%A1%E5%8F%91%E5%B8%83%E6%B5%81%E7%A8%8B/</guid><description>修改相关服务器的 /usr/local/nginx/conf/ai.conf 配置</description><pubDate>Wed, 31 Jul 2019 22:53:09 GMT</pubDate><category>程序设计</category><category>JavaScript</category><category>Node.js</category><category>Linux</category><category>Nginx</category><category>数据库</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>PM2使用笔记</title><link>https://zhouchangju.com/posts/pm2%E4%BD%BF%E7%94%A8%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/pm2%E4%BD%BF%E7%94%A8%E7%AC%94%E8%AE%B0/</guid><description>let common = { &quot;apps&quot;:[ { &quot;name&quot;:&quot;你的项目名称&quot;, &quot;script&quot;:&quot;./app.js&quot;, &quot;instances&quot;:&quot;max&quot;, &quot;execmode&quot;:&quot;cluster&quot;, &quot;errorfile&quot;:&quot;/usr/local/node/logs/域名前缀/项目名称/项</description><pubDate>Wed, 31 Jul 2019 22:48:10 GMT</pubDate><category>程序设计</category><category>JavaScript</category><category>Node.js</category><category>Nginx</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>一周总结20190728</title><link>https://zhouchangju.com/posts/%E4%B8%80%E5%91%A8%E6%80%BB%E7%BB%9320190728/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%B8%80%E5%91%A8%E6%80%BB%E7%BB%9320190728/</guid><description>20190722-20190728的周总结</description><pubDate>Sun, 28 Jul 2019 19:20:32 GMT</pubDate><category>Weekly Summary</category><category>English</category><category>数据可视化</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>FreeCodeCamp学习笔记</title><link>https://zhouchangju.com/posts/freecodecamp%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/freecodecamp%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>记录我通过FreeCodeCamp学习前端技能的一些经历和感想。</description><pubDate>Sat, 13 Jul 2019 18:06:06 GMT</pubDate><category>思考</category><category>JavaScript</category><category>D3</category><category>数据可视化</category><category>程序设计</category><category>算法</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>CSS学习笔记</title><link>https://zhouchangju.com/posts/css%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/css%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>记录一些常用的CSS技巧</description><pubDate>Sat, 13 Jul 2019 17:19:33 GMT</pubDate><category>思考</category><category>3D</category><category>数据可视化</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>我的压力来自何方</title><link>https://zhouchangju.com/posts/%E6%88%91%E7%9A%84%E5%8E%8B%E5%8A%9B%E6%9D%A5%E8%87%AA%E4%BD%95%E6%96%B9/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%88%91%E7%9A%84%E5%8E%8B%E5%8A%9B%E6%9D%A5%E8%87%AA%E4%BD%95%E6%96%B9/</guid><description>今年上半年是我工作以来，甚至可以说是有生以来，压力最大的半年。</description><pubDate>Fri, 05 Jul 2019 14:47:22 GMT</pubDate><category>未来的路</category><category>English</category><category>3D</category><category>数据可视化</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>未来哪些人会被淘汰、四件事情、为什么要招研究生以上的人</title><link>https://zhouchangju.com/posts/%E6%9C%AA%E6%9D%A5%E5%93%AA%E4%BA%9B%E4%BA%BA%E4%BC%9A%E8%A2%AB%E6%B7%98%E6%B1%B0%E5%9B%9B%E4%BB%B6%E4%BA%8B%E6%83%85%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E6%8B%9B%E7%A0%94%E7%A9%B6%E7%94%9F%E4%BB%A5%E4%B8%8A%E7%9A%84%E4%BA%BA/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%9C%AA%E6%9D%A5%E5%93%AA%E4%BA%9B%E4%BA%BA%E4%BC%9A%E8%A2%AB%E6%B7%98%E6%B1%B0%E5%9B%9B%E4%BB%B6%E4%BA%8B%E6%83%85%E4%B8%BA%E4%BB%80%E4%B9%88%E8%A6%81%E6%8B%9B%E7%A0%94%E7%A9%B6%E7%94%9F%E4%BB%A5%E4%B8%8A%E7%9A%84%E4%BA%BA/</guid><description>这里的“淘汰”，可能并不是指无法生存，而是指无法自己掌握主动性，只能随波逐流的人；一旦你所处的环境发生变化，很可能就会对你造成非常大的打击(比如失业)。</description><pubDate>Sat, 01 Jun 2019 22:43:06 GMT</pubDate><category>未来的路</category><category>English</category><category>数据可视化</category><category>项目管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>vis.js学习笔记</title><link>https://zhouchangju.com/posts/vis-js%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/vis-js%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/</guid><description>vis.js包含了很多类型的图形，我这次主要是使用其network类型的可视化图形。</description><pubDate>Tue, 18 Dec 2018 09:55:00 GMT</pubDate><category>数据可视化</category><category>算法</category><category>数据结构</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>多数据源事务操作中主从读写错误的问题</title><link>https://zhouchangju.com/posts/%E5%A4%9A%E6%95%B0%E6%8D%AE%E6%BA%90%E4%BA%8B%E5%8A%A1%E6%93%8D%E4%BD%9C%E4%B8%AD%E4%B8%BB%E4%BB%8E%E8%AF%BB%E5%86%99%E9%94%99%E8%AF%AF%E7%9A%84%E9%97%AE%E9%A2%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A4%9A%E6%95%B0%E6%8D%AE%E6%BA%90%E4%BA%8B%E5%8A%A1%E6%93%8D%E4%BD%9C%E4%B8%AD%E4%B8%BB%E4%BB%8E%E8%AF%BB%E5%86%99%E9%94%99%E8%AF%AF%E7%9A%84%E9%97%AE%E9%A2%98/</guid><description>​ 近日同事开发的一个项目出现了主从数据库切换异常的问题，由于大家都是新接触数据库的主从配置，许多基本的配置都是从他人的博客中摘抄而来，难免出现一些意外，这个问题就是在这样的环境下产生的。</description><pubDate>Fri, 30 Nov 2018 20:33:46 GMT</pubDate><category>程序设计</category><category>Java</category><category>数据库</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>20181031-Java项目发布注意事项及遇到的问题</title><link>https://zhouchangju.com/posts/java%E9%A1%B9%E7%9B%AE%E5%8F%91%E5%B8%83%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9%E5%8F%8A%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/java%E9%A1%B9%E7%9B%AE%E5%8F%91%E5%B8%83%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9%E5%8F%8A%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98/</guid><description>如果需要的话，要进行数据评估，将当前需要的容量、今后可能增长的容量，都评估好发给运维</description><pubDate>Thu, 01 Nov 2018 08:15:16 GMT</pubDate><category>程序设计</category><category>Java</category><category>Docker</category><category>Nginx</category><category>数据库</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Mybatis主从读写分离</title><link>https://zhouchangju.com/posts/mybatis%E4%B8%BB%E4%BB%8E%E8%AF%BB%E5%86%99%E5%88%86%E7%A6%BB/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/mybatis%E4%B8%BB%E4%BB%8E%E8%AF%BB%E5%86%99%E5%88%86%E7%A6%BB/</guid><description>参考自这篇文章：https://www.cnblogs.com/cjsblog/p/9712457.html</description><pubDate>Sat, 20 Oct 2018 17:31:39 GMT</pubDate><category>程序设计</category><category>Java</category><category>数据库</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>SpringBoot项目部署中遇到的问题</title><link>https://zhouchangju.com/posts/springboot%E9%A1%B9%E7%9B%AE%E9%83%A8%E7%BD%B2%E4%B8%AD%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/springboot%E9%A1%B9%E7%9B%AE%E9%83%A8%E7%BD%B2%E4%B8%AD%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98/</guid><description>因为一个tomcat下部署多个应用，一旦某个应用要发布，就得全部引用都重启一次，特别麻烦。</description><pubDate>Thu, 27 Sep 2018 18:42:43 GMT</pubDate><category>程序设计</category><category>Java</category><category>Docker</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>《管理自己》读书笔记</title><link>https://zhouchangju.com/posts/%E7%AE%A1%E7%90%86%E8%87%AA%E5%B7%B1%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E7%AE%A1%E7%90%86%E8%87%AA%E5%B7%B1%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/</guid><description>这是我最近看到的一篇文章，里面的内容恰好和我当前遇到的问题契合度很高，看完感触颇多。</description><pubDate>Wed, 19 Sep 2018 08:26:01 GMT</pubDate><category>思考</category><category>English</category><category>人员管理</category><category>沟通</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>kafka常用命令与常见问题</title><link>https://zhouchangju.com/posts/kafka%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E4%B8%8E%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/kafka%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E4%B8%8E%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98/</guid><description>单机启动zookeeper： nohup bin/zookeeper-server-start.sh config/zookeeper.properties &gt; zookeeper-run.log 2&gt;&amp;1 &amp;</description><pubDate>Tue, 28 Aug 2018 12:13:58 GMT</pubDate><category>程序设计</category><category>数据库</category><category>JavaScript</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>一个HashSet导致的排序问题</title><link>https://zhouchangju.com/posts/%E4%B8%80%E4%B8%AAhashset%E5%AF%BC%E8%87%B4%E7%9A%84%E6%8E%92%E5%BA%8F%E9%97%AE%E9%A2%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E4%B8%80%E4%B8%AAhashset%E5%AF%BC%E8%87%B4%E7%9A%84%E6%8E%92%E5%BA%8F%E9%97%AE%E9%A2%98/</guid><description>有一个对外提供指标组信息的接口，返回内容为包含多个指标组信息的数组。接口要求返回的指标组，必须按照数据库中的权重字段(weight)的值排序。</description><pubDate>Mon, 27 Aug 2018 08:21:39 GMT</pubDate><category>程序设计</category><category>Java</category><category>数据库</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>用jmeter对websocket应用进行性能测试</title><link>https://zhouchangju.com/posts/%E7%94%A8jmeter%E5%AF%B9websocket%E5%BA%94%E7%94%A8%E8%BF%9B%E8%A1%8C%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E7%94%A8jmeter%E5%AF%B9websocket%E5%BA%94%E7%94%A8%E8%BF%9B%E8%A1%8C%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95/</guid><description>https://blog.csdn.net/ifrozen/article/details/53127542</description><pubDate>Thu, 23 Aug 2018 08:48:24 GMT</pubDate><category>程序设计</category><category>Nginx</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Java部署运维问题</title><link>https://zhouchangju.com/posts/java%E9%83%A8%E7%BD%B2%E8%BF%90%E7%BB%B4%E9%97%AE%E9%A2%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/java%E9%83%A8%E7%BD%B2%E8%BF%90%E7%BB%B4%E9%97%AE%E9%A2%98/</guid><description>可以的，只是会报个错，这应该是之前的线程报的错误，不影响新部署的程序的使用：</description><pubDate>Thu, 16 Aug 2018 22:37:57 GMT</pubDate><category>程序设计</category><category>Java</category><category>3D</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Java中多层级一对多关系的处理</title><link>https://zhouchangju.com/posts/java%E4%B8%AD%E5%A4%9A%E5%B1%82%E7%BA%A7%E4%B8%80%E5%AF%B9%E5%A4%9A%E5%85%B3%E7%B3%BB%E7%9A%84%E5%A4%84%E7%90%86/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/java%E4%B8%AD%E5%A4%9A%E5%B1%82%E7%BA%A7%E4%B8%80%E5%AF%B9%E5%A4%9A%E5%85%B3%E7%B3%BB%E7%9A%84%E5%A4%84%E7%90%86/</guid><description>有一个业务的数据库结构，包含很多一对多关系，大致类似下图的result属性的结构：</description><pubDate>Wed, 15 Aug 2018 14:20:49 GMT</pubDate><category>程序设计</category><category>Java</category><category>数据库</category><category>数据结构</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何做成个人计划</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%81%9A%E6%88%90%E4%B8%AA%E4%BA%BA%E8%AE%A1%E5%88%92/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E5%81%9A%E6%88%90%E4%B8%AA%E4%BA%BA%E8%AE%A1%E5%88%92/</guid><description>能够给你带来能力上的提升，能够让你更加自信，能够让你拥有更多的机会。</description><pubDate>Mon, 13 Aug 2018 07:55:12 GMT</pubDate><category>未来的路</category><category>English</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>如何保证提测质量</title><link>https://zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E4%BF%9D%E8%AF%81%E6%8F%90%E6%B5%8B%E8%B4%A8%E9%87%8F/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E5%A6%82%E4%BD%95%E4%BF%9D%E8%AF%81%E6%8F%90%E6%B5%8B%E8%B4%A8%E9%87%8F/</guid><description>近期我们有多个项目都存在延期问题，提测质量反复被测试部门同事吐槽。昨晚测试跟我们分享了下如何进行自测，也对目前存在的一些问题进行了讨论，这里做个记录。</description><pubDate>Wed, 08 Aug 2018 14:27:59 GMT</pubDate><category>团队管理</category><category>项目管理</category><category>人员管理</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Java调用Shell命令</title><link>https://zhouchangju.com/posts/java%E8%B0%83%E7%94%A8shell%E5%91%BD%E4%BB%A4/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/java%E8%B0%83%E7%94%A8shell%E5%91%BD%E4%BB%A4/</guid><description>项目中经常会出现一些场景，需要我们通过Java程序去调用Shell命令，比如获取服务器的某些信息、调用PHP脚本、调用某个软件等等。</description><pubDate>Wed, 08 Aug 2018 08:23:44 GMT</pubDate><category>程序设计</category><category>Java</category><category>Linux</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>Java编写的Web应用在不同部署方式下的差异</title><link>https://zhouchangju.com/posts/java%E7%BC%96%E5%86%99%E7%9A%84web%E5%BA%94%E7%94%A8%E5%9C%A8%E4%B8%8D%E5%90%8C%E9%83%A8%E7%BD%B2%E6%96%B9%E5%BC%8F%E4%B8%8B%E7%9A%84%E5%B7%AE%E5%BC%82/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/java%E7%BC%96%E5%86%99%E7%9A%84web%E5%BA%94%E7%94%A8%E5%9C%A8%E4%B8%8D%E5%90%8C%E9%83%A8%E7%BD%B2%E6%96%B9%E5%BC%8F%E4%B8%8B%E7%9A%84%E5%B7%AE%E5%BC%82/</guid><description>项目开发结束，马上就要部署上线了。而Java Web应用的部署方式有很多，为了合理的利用资源，我们想先对每种方式进行测试，然后选择最优的作为我们的方案。因此我让组里的实习生YWD同学做了一些测试工作。</description><pubDate>Thu, 02 Aug 2018 08:33:37 GMT</pubDate><category>程序设计</category><category>Java</category><category>数据库</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>通过XHProf排查PHP代码的性能问题</title><link>https://zhouchangju.com/posts/%E9%80%9A%E8%BF%87xhprof%E6%8E%92%E6%9F%A5php%E4%BB%A3%E7%A0%81%E7%9A%84%E6%80%A7%E8%83%BD%E9%97%AE%E9%A2%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E9%80%9A%E8%BF%87xhprof%E6%8E%92%E6%9F%A5php%E4%BB%A3%E7%A0%81%E7%9A%84%E6%80%A7%E8%83%BD%E9%97%AE%E9%A2%98/</guid><description>昨天头儿反馈wiki系统不能用了，晚上我用请求日志里面比较慢的请求重试了下，请求起来都比较快；从zabbix监控和数据库的日志来看，问题时段也没有发现异常，暂时无法定位具体原因。</description><pubDate>Thu, 26 Jul 2018 12:10:41 GMT</pubDate><category>思考</category><category>程序设计</category><category>Linux</category><category>数据库</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>近期项目管理总结</title><link>https://zhouchangju.com/posts/%E8%BF%91%E6%9C%9F%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86%E6%80%BB%E7%BB%93/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%BF%91%E6%9C%9F%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86%E6%80%BB%E7%BB%93/</guid><description>今天晚上是管理例会，轮到L同事主持，主题是“如何提升开发人员测试意识”。会上提到了目前我们组在项目开发中出现的一些问题，也引发了我自己对于近期项目管理的反思，这里记录一下，作为接下来的改进方向。</description><pubDate>Thu, 19 Jul 2018 21:06:32 GMT</pubDate><category>团队管理</category><category>项目管理</category><category>人员管理</category><category>沟通</category><category>未来的路</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>PHP5加载文件耗费CPU和内存过高的问题</title><link>https://zhouchangju.com/posts/php5%E5%8A%A0%E8%BD%BD%E6%96%87%E4%BB%B6%E8%80%97%E8%B4%B9cpu%E5%92%8C%E5%86%85%E5%AD%98%E8%BF%87%E9%AB%98%E7%9A%84%E9%97%AE%E9%A2%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/php5%E5%8A%A0%E8%BD%BD%E6%96%87%E4%BB%B6%E8%80%97%E8%B4%B9cpu%E5%92%8C%E5%86%85%E5%AD%98%E8%BF%87%E9%AB%98%E7%9A%84%E9%97%AE%E9%A2%98/</guid><description>经过检查，排除了1和3，最终发现有两个问题： 1.指标评测会将请求结果先写入本地文件，然后再读取本地文件解析入库，这些本地文件最大的达到了37M 2.程序存在BUG，当计算没有完成时，会不停的重复解析本地文件，执行数据库读写操作 ## 解决方案 死循环问题好解决，修复程序就可以了 本地文件的解析，不</description><pubDate>Fri, 25 Mar 2016 16:52:29 GMT</pubDate><category>思考</category><category>程序设计</category><category>数据库</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>服务器高负载问题</title><link>https://zhouchangju.com/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%AB%98%E8%B4%9F%E8%BD%BD%E9%97%AE%E9%A2%98/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%AB%98%E8%B4%9F%E8%BD%BD%E9%97%AE%E9%A2%98/</guid><description>比如9:50左右，1分钟Load Average达到11： shell root 16214 2.9 0.2 35456 22932 ? S 09:44 0:05 php /var/www/html/cate/cron/gjzg/OriginalData/../autoScriptIndex.php</description><pubDate>Wed, 09 Dec 2015 15:50:24 GMT</pubDate><category>程序设计</category><category>Linux</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>近期的产品性能问题及解决方案</title><link>https://zhouchangju.com/posts/%E8%BF%91%E6%9C%9F%E7%9A%84%E4%BA%A7%E5%93%81%E6%80%A7%E8%83%BD%E9%97%AE%E9%A2%98%E5%8F%8A%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E8%BF%91%E6%9C%9F%E7%9A%84%E4%BA%A7%E5%93%81%E6%80%A7%E8%83%BD%E9%97%AE%E9%A2%98%E5%8F%8A%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/</guid><description>解决： 1.首页开启GZIP 2.将定时刷新的请求进行拆分 </description><pubDate>Fri, 27 Mar 2015 17:37:42 GMT</pubDate><category>思考</category><category>性能</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>网站流量统计与问题排查</title><link>https://zhouchangju.com/posts/%E7%BD%91%E7%AB%99%E6%B5%81%E9%87%8F%E7%BB%9F%E8%AE%A1%E4%B8%8E%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E7%BD%91%E7%AB%99%E6%B5%81%E9%87%8F%E7%BB%9F%E8%AE%A1%E4%B8%8E%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5/</guid><description>当时没有先猜原因，而是先从 nginx 访问日志里确认到底是谁在吃流量，再按类型处理：能压缩的压缩，能缓存的缓存，返回了冗余数据的就减少返回内容。下面记的是当时实际遇到的问题、解决步骤和用到的排查命令。</description><pubDate>Wed, 18 Mar 2015 09:01:53 GMT</pubDate><category>思考</category><category>程序设计</category><category>Linux</category><category>Nginx</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item><item><title>阅读代码的一些问题和方法</title><link>https://zhouchangju.com/posts/%E9%98%85%E8%AF%BB%E4%BB%A3%E7%A0%81%E7%9A%84%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98%E5%92%8C%E6%96%B9%E6%B3%95/</link><guid isPermaLink="true">https://blog.zhouchangju.com/posts/%E9%98%85%E8%AF%BB%E4%BB%A3%E7%A0%81%E7%9A%84%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98%E5%92%8C%E6%96%B9%E6%B3%95/</guid><description>接下来因为一些原因，可能需要自己大量阅读代码，这里总结一下之前阅读代码时遇到的问题，以及一些方法。 ## 问题 ### 一开始就往代码细节上钻 越是复杂的项目，这样做越是悲剧，你可能花费大量时间从代码上层层往下钻，结果却发现对于整体的功能根本无法掌握，最后迷失在源码中，给自己带来压力。 因为复杂的项</description><pubDate>Sun, 23 Mar 2014 14:52:14 GMT</pubDate><category>团队管理</category><category>CodeReview</category><author>leozhou.tech@gmail.com (Leo Zhou)</author></item></channel></rss>