一场雷雨,一场放晴比立夏这个固定的节气更能提醒我夏天真的来了。今天天气和心情都很好。
昨晚读《单读》的时候,深深地受到了其收录的采访的逻辑性的震撼。居然可以把问题由浅入深地讲清楚的同时不离题万里,上下文井然有序。这也让我反思起一直以来的读书方法,没有笔记,甚至很少思考,导致留下的大多只是印象,而非有逻辑的知识,实在惭愧。
我发现自己没有办法在经过了学校一天的情绪消耗后好好思考,所以正确的做法或许是多刷些题,只剩三十天了,提起这个数字心里还是会有一点慌张。
昨天经历了情绪危机,我被绿了,这样的情节确实发生在了我身上。努力地告诉自己不值得,没关系的之后还是不能释怀。第一回盲目地仇恨了一个人,实在是太蠢了。不过,全都无所谓了,大概吧。
没有什么能比环境更能决定当下的自己,而我没有改变环境的能力,让自己落得这个下场,可以说是我的高中三年的社交的完全失败啊。也许我不是真的喜欢一个人对着墙打网球,也许我不会成为诗人,没有办法逼自己享受孤独,所以才会无比地期待着脱离这个环境啊。
昨晚读《单读》的时候,深深地受到了其收录的采访的逻辑性的震撼。居然可以把问题由浅入深地讲清楚的同时不离题万里,上下文井然有序。这也让我反思起一直以来的读书方法,没有笔记,甚至很少思考,导致留下的大多只是印象,而非有逻辑的知识,实在惭愧。
我发现自己没有办法在经过了学校一天的情绪消耗后好好思考,所以正确的做法或许是多刷些题,只剩三十天了,提起这个数字心里还是会有一点慌张。
昨天经历了情绪危机,我被绿了,这样的情节确实发生在了我身上。努力地告诉自己不值得,没关系的之后还是不能释怀。第一回盲目地仇恨了一个人,实在是太蠢了。不过,全都无所谓了,大概吧。
没有什么能比环境更能决定当下的自己,而我没有改变环境的能力,让自己落得这个下场,可以说是我的高中三年的社交的完全失败啊。也许我不是真的喜欢一个人对着墙打网球,也许我不会成为诗人,没有办法逼自己享受孤独,所以才会无比地期待着脱离这个环境啊。
Using MDX
Why MDX?
MDX is a special flavor of Markdown that supports embedded JavaScript & JSX syntax. This unlocks the ability to mix JavaScript and UI Components into your Markdown content for things like interactive charts or alerts.
If you have existing content authored in MDX, this integration will hopefully make migrating to Astro a breeze.
Example
Here is how you import and use a UI component inside of MDX.
When you open this page in the browser, you should see the clickable button below.
More Links
● MDX Syntax Documentation
● Astro Usage Documentation
● Note: Client Directives are still required to create interactive components. Otherwise, all components in your MDX will render as static HTML (no JavaScript) by default.
via サン猫の時間漂流
This rendering was automatically generated by Frosti Feed and may have formatting issues. For the best experience, please visit: https://www.saroprock.com/blog/using-mdx/This theme comes with the @astrojs/mdx integration installed and configured in your
astro.config.mjs config file. If you prefer not to use MDX, you can disable support by removing the integration from your config file.Why MDX?
MDX is a special flavor of Markdown that supports embedded JavaScript & JSX syntax. This unlocks the ability to mix JavaScript and UI Components into your Markdown content for things like interactive charts or alerts.
If you have existing content authored in MDX, this integration will hopefully make migrating to Astro a breeze.
Example
Here is how you import and use a UI component inside of MDX.
When you open this page in the browser, you should see the clickable button below.
More Links
● MDX Syntax Documentation
● Astro Usage Documentation
● Note: Client Directives are still required to create interactive components. Otherwise, all components in your MDX will render as static HTML (no JavaScript) by default.
via サン猫の時間漂流
技术狂飙下的冷思考:大模型的“科林格里奇困境”
1980年,英国技术哲学家大卫·科林格里奇在《技术的社会控制》中提出了著名的“科林格里奇困境”,这一困境指出,在技术发展的早期阶段,人们往往难以预测其潜在的社会影响,但此时仍有能力对技术方向进行调整;然而,当技术成熟并广泛渗透社会后,虽然其负面影响已显现,但控制或改变技术的成本会变得极高。这一现象也被称为“技术发展的失控悖论”,而大模型的规模性、通用性和渗透性正在使得这一困境尤为突 出。因此,现在人类面对的挑战是如何在技术创新与社会责任、发展速度与风险控制之间找到动态平衡。而......
READ MORE
via 太隐 (author: Ludwig Wang)
1980年,英国技术哲学家大卫·科林格里奇在《技术的社会控制》中提出了著名的“科林格里奇困境”,这一困境指出,在技术发展的早期阶段,人们往往难以预测其潜在的社会影响,但此时仍有能力对技术方向进行调整;然而,当技术成熟并广泛渗透社会后,虽然其负面影响已显现,但控制或改变技术的成本会变得极高。这一现象也被称为“技术发展的失控悖论”,而大模型的规模性、通用性和渗透性正在使得这一困境尤为突 出。因此,现在人类面对的挑战是如何在技术创新与社会责任、发展速度与风险控制之间找到动态平衡。而......
READ MORE
via 太隐 (author: Ludwig Wang)
现代浏览器插件开发指南
最近又写了一本小书。
这本小书定价 29 元,你可以在 这里 购买 PDF 版本。如果你有特殊需求,也可以购买 Markdown + PDF 版本,价格是 49 元(为了增加盗版成本)。
之所以想写这本书,是因为我在过去一两年开发过不少浏览器插件(如微信读书笔记同步助手 Notepal, 浏览器 AI 助手 SumBuddy, 专注插件 等等标签 等等),积累了不少经验。这几年越来越多人开始做浏览器插件,尤其是在 AI 时代,浏览器插件作为重要的输入入口,能做的事情越来越多。我想可以把这些经验分享出来,让更多人可以开发满足自己需求的插件。
插件开发其实不是一件很难的事,特别是现在出现了一些成熟的框架,比如 Plasmo, WXT, CRXJS 等。这些插件把代码构建、打包过程都封装得很好,开发者只需要关心插件的逻辑即可。
我自己用过 Plasmo 和 WXT, 这本书我会使用 WXT 进行教学。因为经过自己的长期实践,我认为 WXT 比 Plasmo 的设计更加合理,配套的工具更好用。当然每个框架有每个框架的利弊,即使你想使用其它框架,你还是能从这本书收获很多框架以外的知识,因为框架只是辅助。
另外,本书以 Manifest V3 为背景编写,不会讨论 Manifest V2 的内容。如果你不知道两者具体的区别,你也不需要知道(因为我也不知道)。简单来说 V3 比 V2 在安全性上做了更严格的控制,这一点虽然备受争议,但对于大部分的情况不会有太大的影响。
本书在涉及 UI 开发的部分我会使用 React, 这是我自己日常使用的库,对于使用 Vue, Svelte 等其它库的读者,也不需要担心,用什么框架并不是那么重要。并且 WXT 也支持不同的 UI 库。如果你想用其它库,翻看 WXT 的文档即可。
本书的实战中,我不引入任何样式库,因为会增加额外的和插件开发无关的复杂度。请读者不要计较实例的美观性。
读这本书前,我默认读者了解以下技术:
● 了解 JSON 这种数据结构
● 了解基本的 JavaScript/TypeScript, HTML, CSS 知识
● 有能力搭建 Node.js 开发环境
读完这本书后,读者能学习到开发一个浏览器最重要的几个知识点:
● 数据存储
● content script UI 的构建
● 消息传递
这几个知识点贯穿了所有实际场景必需的元素,我在开发自己的插件时,基本是围绕这三个基本的功能展开。至于其它更多的插件 API, 读者应该自己按照需求查看文档使用。
在讲解消息传递的实例中,我用 AI 消息流作为例子讲解,对于需要开发 AI 相关的浏览器插件的读者应该很有启发。
目录
● 概述
● 插件的基本结构 ● manifest ● popup ● content script ● options ● background script
● 插件 API
● 创建插件开发项目
● 基本数据存储:Todo List 实战
● 进阶数据存储 ● 监听数据变动 ● 数据迁移 (Migration)
● Content Script 基本知识 ● 动态注入 content script ● 在 content script 中渲染 UI ● 真实环境中的一些经验
● 消息传递 ● 单次传递 ● 长连接传递 ● 实战: 渲染 AI 消息流
● 多语言支持 ● 插件原生多语言机制 ● 使用 i18next
● 附录 ● 最小权限原则 ● 处理用户登录 ● host permissions ● 定时任务 ● 自动生成不同尺寸的 icon
一些预览
via Randy's Blog
Invalid media:
image
image
image
最近又写了一本小书。
这本小书定价 29 元,你可以在 这里 购买 PDF 版本。如果你有特殊需求,也可以购买 Markdown + PDF 版本,价格是 49 元(为了增加盗版成本)。
这本书篇幅不长,但因为比较小众,所以定价稍高,请读者自行斟酌购买。这是一本关于浏览器插件开发的书。这本书面向的是那些希望开发自己的浏览器插件满足自己需求的,也许你是专业的前端程序员,或是略懂前端代码的后端人员,在 AI 的加持下,大概都能从中受益。
之所以想写这本书,是因为我在过去一两年开发过不少浏览器插件(如微信读书笔记同步助手 Notepal, 浏览器 AI 助手 SumBuddy, 专注插件 等等标签 等等),积累了不少经验。这几年越来越多人开始做浏览器插件,尤其是在 AI 时代,浏览器插件作为重要的输入入口,能做的事情越来越多。我想可以把这些经验分享出来,让更多人可以开发满足自己需求的插件。
插件开发其实不是一件很难的事,特别是现在出现了一些成熟的框架,比如 Plasmo, WXT, CRXJS 等。这些插件把代码构建、打包过程都封装得很好,开发者只需要关心插件的逻辑即可。
我自己用过 Plasmo 和 WXT, 这本书我会使用 WXT 进行教学。因为经过自己的长期实践,我认为 WXT 比 Plasmo 的设计更加合理,配套的工具更好用。当然每个框架有每个框架的利弊,即使你想使用其它框架,你还是能从这本书收获很多框架以外的知识,因为框架只是辅助。
另外,本书以 Manifest V3 为背景编写,不会讨论 Manifest V2 的内容。如果你不知道两者具体的区别,你也不需要知道(因为我也不知道)。简单来说 V3 比 V2 在安全性上做了更严格的控制,这一点虽然备受争议,但对于大部分的情况不会有太大的影响。
本书在涉及 UI 开发的部分我会使用 React, 这是我自己日常使用的库,对于使用 Vue, Svelte 等其它库的读者,也不需要担心,用什么框架并不是那么重要。并且 WXT 也支持不同的 UI 库。如果你想用其它库,翻看 WXT 的文档即可。
本书的实战中,我不引入任何样式库,因为会增加额外的和插件开发无关的复杂度。请读者不要计较实例的美观性。
读这本书前,我默认读者了解以下技术:
● 了解 JSON 这种数据结构
● 了解基本的 JavaScript/TypeScript, HTML, CSS 知识
● 有能力搭建 Node.js 开发环境
读完这本书后,读者能学习到开发一个浏览器最重要的几个知识点:
● 数据存储
● content script UI 的构建
● 消息传递
这几个知识点贯穿了所有实际场景必需的元素,我在开发自己的插件时,基本是围绕这三个基本的功能展开。至于其它更多的插件 API, 读者应该自己按照需求查看文档使用。
在讲解消息传递的实例中,我用 AI 消息流作为例子讲解,对于需要开发 AI 相关的浏览器插件的读者应该很有启发。
目录
● 概述
● 插件的基本结构 ● manifest ● popup ● content script ● options ● background script
● 插件 API
● 创建插件开发项目
● 基本数据存储:Todo List 实战
● 进阶数据存储 ● 监听数据变动 ● 数据迁移 (Migration)
● Content Script 基本知识 ● 动态注入 content script ● 在 content script 中渲染 UI ● 真实环境中的一些经验
● 消息传递 ● 单次传递 ● 长连接传递 ● 实战: 渲染 AI 消息流
● 多语言支持 ● 插件原生多语言机制 ● 使用 i18next
● 附录 ● 最小权限原则 ● 处理用户登录 ● host permissions ● 定时任务 ● 自动生成不同尺寸的 icon
一些预览
via Randy's Blog
Invalid media:
image
image
image