12_TypeScript
1 ts 与 vue3
ts 与 vue3 的关系
Vue 3 是用 TypeScript 重写的,因此原生支持 TypeScript。
Vue 3 提供了完整的 TypeScript 类型定义,提升了开发体验。
TypeScript 在 Vue 3
中是可选的,开发者可以根据需要选择是否使用。
在当前项目中添加 TypeScript
需要将 *.vue 文件的 <script>
标签修改为 <script lang="ts">。
安装所需的依赖:使用
npm install -D typescript @vue/tsconfig。
2 js 与 ts
2.1 TypeScript 语法更为严谨
必须为变量声明类型
函数的参数和返回值需要添加类型注解
对象的属性必须符合接口定义
2.2 类的区别
JavaScript 没有类型声明
JavaScript 没有访问修饰符(private/public)
JavaScript 无法检查参数类型
JavaScript 只能在运行时发现类型错误
特性
JavaScript
TypeSc ...
HP笔记本_BookPro14锐龙版
1 具体型号
惠普HP
星Book Pro 14 锐龙版 2024 14英寸轻薄笔记本电脑(R7-8845H 32G 1T
2.8K
2 使用体验
手感更好:键盘有点胶感,键帽稍大
显示器色彩亮丽
16:10 的屏幕比例更容易放进包里
14 寸相较 15 寸更轻盈
3 系统选择
如果电脑是新款,建议使用较新的 Ubuntu
版本,否则可能缺少硬件驱动
相较于 22.04 版本,24.04 的安装体验更加顺畅
4 装机
4.1.1 设置 BIOS
按 F10 进入 BIOS
进入启动选项 -> 安全启动模式 -> 禁用
如果未禁用,无法从 USB 启动
如果禁用了,可能无法从本机 Windows 启动
因此在安装过程中需先关闭后重新开启
4.1.2 选择启动盘
按 Esc -> F9 -> 选择从 USB 启动
5 问题与解答
拖尾问题
在 Ubuntu 下拖动窗口时会出现拖影,将显示刷新率从 120Hz 调整为 96Hz
即可。
也可以选择关闭窗口动画:gsettings set org.gnome.desktop.interface enabl ...
git_个人本地开发分支
1 前提条件
由于 Pull Request 流程的限制,我无法直接 push 到主分支
master。因此,每次提交代码时,我需要将更改 push 到远程的
xieyan 分支,由他人 review 后再 merge 到主分支。
我在本地通常使用 VS Code 操作 Git。如果本地分支为
master,远程推送时只能选择 xieyan 分支,每次
commit 和 push 时都会提示我创建分支。
2 操作
2.1 操作分支
在本地创建并切换到个人分支进行开发,然后将更改 push
到远程个人分支,具体步骤如下:
12345git checkout -b xieyan # 创建并切换到 xieyan 分支,当前所有 commit 也将保留在 xieyan 分支上# 进行代码修改git add <文件名> # 添加修改的文件git commit -m '提交说明' # 提交更改git push origin xieyan # 将更改推送到远程 xieyan 分支
2.2 更新本地开发分支
若远程主分支 master 上有了新的更改, ...
使用辅助编程的一些思考
1 引子
最近使用辅助编程比较频繁,也在思考:
它的出现对程序员来说是利大于弊还是弊大于利。
对非程序员来说,有了辅助编程是否就能达到程序员的水平?
目前,辅助编程还不能解决哪些问题呢?
1.1 使用场景
1.1.1 程序员角度
先从程序员的角度看看。
在熟悉的情境下,当我们面对熟悉的问题时,可能会需要编写大量逻辑代码。在这种情况下,机器可以帮助我们自动生成部分代码,从而加速开发过程。
对于不熟悉的架构和语法,机器辅助变成能够生成整体示例和语法正确的代码,从而避免因为语法错误而浪费时间;帮助理解和快速上手,并且更容易理解系统的工作原理。
在调试过程中,对于一些简单的问题,机器可以提供快速的反馈和解决方案,从而节省我们的时间;对于复杂问题可能无法直接解决,但可以提供一些建议思路,来减少查找和定位的过程。公平地说,与之前手动查找问题相比,提效很多。
辅助编程也有一些问题,如多端联调比较困难;如果一些小众工具没有提供文档,辅助编程工具也不知道如何使用。虽然理论上可以通过
Agent 和 RAG 来解决这些问题,但实际实现起来比较麻烦。
1.1.2 非程序员角度
再从非程序员的角度看看,一 ...
CHANGELOG_写法
1 说明
更新说明,GitHub 社区和开源项目中也普遍采用这种方式。
2 创建 CHANGELOG.md
在项目根目录下创建一个 CHANGELOG.md
文件,用于记录所有版本的更新信息。
3 推荐的格式
CHANGELOG.md 的格式可以参考以下模板:
12345678910111213141516171819202122# Changelog## [Unreleased]### Added- 新增的功能或模块### Changed- 对现有功能的改进或变更### Fixed- 修复的 Bug 或问题## [1.0.1] - 2024-11-08### Added- 添加了用户自定义的 `emptyStateText` 支持。### Fixed- 修复了 `SuggestModal` 无法显示自定义消息的问题。## [1.0.0] - 2024-10-01### Added- 初始版本发布,包含核心功能。
4 版本说明规范
版本号:每次更新都在新版本号下添加变更说明,遵循语义化版本规范(SemVer)(例如
1.0.1)。
日期:在版本号旁注明发布日期,方便追溯。
分类:将变 ...
开源项目_语音合成_edge tts
免费使用 Microsoft Edge
项目地址:https://github.com/rany2/edge-tts
1 功能
语音合成支持各种主流语言,并可调节合成速度、音量和音高。我测试了一下,中文
300 字的合成时间约为 3 秒,600 字约为 6 秒。
从效果来看,语气和情感表达比传统技术(相对旧版讯飞)更好,清晰度和准确率也很高。虽然不能定制,但一般用户无需定制,只要合成效果不出戏即可。
2 原理
模拟 edge 浏览器行为,远程调用 microsoft 语音合成服务。
3 安装
1$ pip install edge-tts
4 查看支持的语言和声音
1edge-tts --list-voices
5 合成中文
5.1 命令行调用
1$ edge-tts --text "我正在测试" --write-media hello.mp3 --voice zh-CN-YunxiNeural
5.2 Python 程序调用
12345678import edge_ttsTEXT = "我正在测试"VOICE = "zh-CN-Yun ...
试用_Claude3
1 简介
好消息是,2024 年 3 月 4 日发布了 Claude3,据传比 GPT-4 更好,snooet
版本可以免费试用,坏消息是我们这儿不能用。
在官网注册时,需要选择国家并使用手机接收短信验证码。而在选项中没有中国这个选项。即使成功注册了账号并申请了
API
密钥,免费版本仍需要绑定信用卡才能使用。绑定信用卡也需要接收短信验证,网上说每个手机号只能注册一次,所以似乎也无法短信接收平台。(如果你找到了注册方法,请私信告诉我)
虽然无法通过 API
调用并将其添加到我们的工具中,但可以通过亚马逊云来免费体验一下。
2 Claude3
2.1 三个模型
Claude 3 共发布了三个模型:
Claude 3
Opus:最强大的模型,在高度复杂的任务上提供最先进的性能,并展示流畅性和类似人类的理解。
Claude 3
Sonnet:在智能和速度之间最平衡的模型,是企业工作负载和规模化 AI
部署的绝佳选择
Claude 3
Haiku:最快、最紧凑的模型,旨在实现近乎即时的响应能力和模仿人类交互的无缝
AI 体验
2.2 主要特点
这次升级的主要特点包含:
多语言功能:Cla ...
github自动编译Release版本
1 原理
GitHub Actions
是一个强大的自动化工具,可以帮助你简化开发流程的各种操作。从测试代码到部署应用,它几乎可以自动化开发中的任何任务。
这里使用它来自动发布 Obsidian 插件。当打 TAG
时,它会触发编译并发布新版本。
2 操作
2.1 设置工作流
在 github 项目中创建一个工作流配置文件
12345mkdir .github/workflows/vi .github/workflows/release.ymlgit add .github/workflows/release.ymlgit commit -m 'xxx'git push
yml 中具体内容见:ob
自动发布教程
2.2 本地测试
在本地安装一个与 yml
文件中类似的环境(node-version)。测试无误后,再上传 GitHub
进行编译。请确保 JSON 配置文件完整。
2.3 打标签即可触发工作流
12git tag -a 1.0.0 -m "1.0.0"git push origin 1.0.0
如果标签错误,需要先删除原有标签,然后重 ...
论文阅读_大型语言模型增强强化学习调查
12345678中文标题:Survey on Large Language Model-Enhanced Reinforcement Learning: Concept, Taxonomy, and Methods中文名称: 大型语言模型增强强化学习调查:概念、分类和方法链接: https://arxiv.org/pdf/2404.00282作者: Yuji Cao, Huan Zhao, Yuheng Cheng, Ting Shu, Yue Chen, Guolong Liu, Gaoqi Liang, Junhua Zhao, Jinyue Yan, Yun Li,机构: 香港中文大学日期:2024-03-30引文数量:135长度:正文15页
来自:241011 哲明分享
摘要
目标:
提供对大型语言模型(LLMs)增强强化学习(RL)相关文献的全面综述,明确其与传统
RL 方法的对比,澄清研究范围和未来研究方向。
方法: 基于经典的代理 -
环境互动范式,提出结构化分类法,将 LLMs 在 RL
中的功能系统地划分为信息处理器、奖励设计者、决策者和生成器四个角色。逐一总结方法、 ...
软件版权 License
1 如何选择
GPLv2:允许用户自由地使用、修改和分发。但如果你修改和发布了修改后的版本,必须保持它的开源状态。(允许商用,但如果你分发基于
GPLv2 的修改软件,你必须提供源代码,并以 GPLv2 许可证发布)
GPLv3 与更多许可证兼容,GPLv2 的兼容性较差。允许 GPLv3 代码与 Apache
License 2.0 等许可证一起使用,拓宽了软件的使用范围。
LGPL 是介于完全自由的许可证(如 MIT、BSD)和严格的 GPL
许可证之间的一种折中。它允许闭源软件使用 LGPL 库,同时确保对 LGPL
库本身的修改保持开源。
MIT:非常宽松,允许开发者在任何项目中使用、修改、分发代码,包括在闭源的商业软件中使用,而不需要公开源代码。(允许用于商业用途)
Apache License
2.0:是一种“宽松”的许可证,允许在开源和闭源项目中自由使用、修改和分发代码。你可以将
Apache
许可证的代码整合进商业软件中,而不需要开源你的代码。唯一的要求是保留原始的版权声明和许可证文本。
其它
BSD 系列 (BSD-2, BSD-3): 宽松的许可证,允许闭源使用 ...