1.Qt源码中的备忘备忘设计模式:撤销/重做框架与备忘录模式
2.备忘录:安装WSL2和VSCode 搭建linux C++(CMake)开发环境
3.备忘录搬运将google的CDN替换为国内的,以提升某些国外网站的录源录源访问速度
4.mitsuba入门和常用函数极精简版备忘录
5.abiword简介
6.[备忘录]python项目下文件夹
Qt源码中的设计模式:撤销/重做框架与备忘录模式
Qt源码中的设计模式:撤销/重做框架与备忘录模式
备忘录模式(Memento Pattern)是一种行为型设计模式,用于保存对象当前状态并在需要时恢复该状态。码z码此模式适用于保存和恢复对象状态的备忘备忘场景。
备忘录模式包含发起人(Originator)、录源录源备忘录(Memento)和负责人(Caretaker)三个参与者。码z码嘉兴频道直播源码发起人负责创建备忘录和恢复状态,备忘备忘备忘录存储发起人的录源录源状态信息,而负责人管理多个备忘录。码z码
以下为C++参考示例:Originator类表示需要保存状态的备忘备忘对象,Memento类用于存储Originator的录源录源状态,Caretaker负责管理多个备忘录。码z码通过操作Originator实现状态修改、备忘备忘保存和恢复。录源录源
备忘录模式与撤销/重做框架结合使用时,码z码主要关注于保存状态和恢复状态。例如,假设用户通过更改QTextEdit的字体和颜色来实现撤销和重做功能。结合备忘录模式,Memento类记录QTextEdit的状态,简化了操作。
在此示例中,MyCommand类执行命令,同时兼任备忘录模式的Originator类和命令模式的Receiver类,QUndoStack类则担任备忘录模式的Caretaker类和命令模式的Invoker类。因此,发布任务的源码备忘录模式和命令模式结合,使得撤销和重做功能实现更为简洁。
总结:通过结合使用命令模式和备忘录模式,Qt提供的撤销/重做框架实现了一个设计良好的撤销/重做类逻辑。掌握设计模式思想,有助于理解源码和编写面向对象程序。在Qt源码和实际开发中,设计模式的结合应用常见。
备忘录:安装WSL2和VSCode 搭建linux C++(CMake)开发环境
如果Microsoft Store无法登录,错误代码0xcf,但可以正常上网,网络连接显示“无法连接到Internet”,有可能是电信的问题。可以连接到手机热点,显示“Internet访问”后,再切换回WIFI。
安装WSL2
参考链接:
安装 WSL
旧版 WSL 的手动安装步骤
设置 WSL 开发环境的最佳做法
如果在“Windows PowerShell”中无法运行“wsl”命令,开始 --- 设置 --- 应用 --- 可选功能 --- 更多Windows功能,开启linux子系统和虚拟机平台。
运行命令“winver”,可以查看系统版本号。
WIN (内部版本 )
自动安装
--install 命令执行以下操作:
若要查看可通过在线商店下载的可用 Linux 发行版列表,请输入:
若要更改安装的发行版,请输入:
将 替换为要安装的发行版的名称。
WIN (内部版本 )
适用于 x 计算机的魔域换球源码 WSL2 Linux 内核更新包
打开 Microsoft Store,并选择你偏好的 Linux 分发版。
配置Ubuntu
清华大学开源软件镜像站 Ubuntu 镜像使用帮助
备份 /etc/apt/sources.list,将该文件替换为清华软件源镜像。
要在 Windows 文件资源管理器 中打开 WSL 项目,请输入:
explorer.exe .
WINDOWS的磁盘挂载在“/mnt”下。可以在WIN中编辑源镜像文件,覆盖原文件:
在 "/etc/wsl.conf" 文件添加,禁用WSL2访问Windows的环境变量。但会无法在WSL端通过"code ." 打开VSC。
安装 Windows 终端
打开 Microsoft Store,搜索“Windows Terminal”。
安装VSCode
CTRL+SHIFT+P 命令
CTRL+SHIFT+X 扩展
CTRL+SHIFT+E 资源浏览器
CTRL+SHIFT+B bulid
设置Linux开发环境
参考链接
开始使用 Visual Studio Code 与适用于 Linux 的 Windows 子系统
Remote development in WSL
Using C++ and WSL in VS Code
Get started with CMake Tools on Linux
更新 Linux,添加 wget (从 web 服务器检索内容) 和 ca 证书 (允许基于 SSL 的应用程序检查 SSL 连接的真实性)
安装C++编译器和调试器
安装CMake,建议版本V3. 以上。
下载安装地址: CMake
安装内存泄漏检测工具
查看GCC版本
通过远程资源管理器打开连接,远程资源管理器 --- WSL目标(远程/隧道SSH)--- 默认发行版(新建远程SSH)--- 在新窗口中连接。
创建CMake工程
打开Linux终端,输入下列命令,创建新的工作目录并用VSC打开。
在VSC命令面板中输入 “CMake: Quick Start”回车,选择GCC版本,输入项目名称,选择 C++项目,可执行文件。
可以输入命令"CMake: Select a Kit",孙鑫随书源码选择编译工具。
在 设置 "cmake.options"中,选择CMake 在状态栏可见。这样可以在状态栏切换"Debug"、"Release"等设置,运行生成/调试/运行等命令。
修改默认bulid路径
源码格式化为Google 风格,快捷键 Shift+Alt+F
Linux SSH登录过慢解决办法
修改 /etc/ssh/sshd_config 配置文件
重启SSH服务
备忘录搬运将google的CDN替换为国内的,以提升某些国外网站的访问速度
众所周知,替换域名即可继续使用Google提供的前端公共库,而通过script标记引用这些资源,网站访问速度可以迅速提升。
许多网站,尤其是国外网站,为了提升访问速度,都采用了Google的CDN。然而,在我国,由于某些原因,全球最快的CDN变成了全球最慢的。
因此,某神开发了这款插件/扩展,将Google的CDN替换为国内的。
手动安装方法:
1. 下载ReplaceGoogleCDN.zip,解压后找到extension子目录。sip录音源码
2. 打开浏览器,进入扩展选项页。
3. 勾选Developer Mode。
4. 选择加载解压缩的扩展,然后定位到刚才解压的文件夹里面的extension目录,确定。
5. 安装完成,取消Developer Mode勾选。
扩展下载:
1. ReplaceGoogleCDN-v3.zip 支持chromium系列的浏览器。
2. ReplaceGoogleCDN-v2.zip 同时支持firefox和chromium系列的浏览器。
3. ReplaceGoogleCDN.zip(全部源码)
mitsuba入门和常用函数极精简版备忘录
在使用mitsuba进行项目开发的过程中,通过本文档,可以快速获取入门知识和掌握常用函数的使用方法,主要针对bsdfs文件夹中的函数和变量。在进行代码修改和场景测试时,遵循简单快速的流程,可显著提高开发效率。
首先,从mitsuba官网或GitHub获取源码、文档以及预编译的可执行文件。在mitsuba的src\bsdfs文件夹中,你可以找到预先定义的材质文件。为了便于快速实验,复制一个材质文件,修改名称,如将plastic_mtest.cpp作为实验代码的起点,进行类名和返回值的定制修改。
接下来,将新编写的材质插件混入到SconScript文件中,执行编译过程。通常情况下,编译流程文档中提供了详细的指导,尽管遇到了依赖下载的延迟问题,但整体流程并不复杂。选择相应的操作系统后,按照文档步骤操作即可完成编译。
编译后,在mitsuba\dist目录下生成新的可执行文件(mtsgui.exe或mitsuba.exe)。使用图形界面工具mtsgui.exe打开场景文件,注意场景文件格式为XML,推荐参阅相关教程了解基础场景文件的构建。
在测试场景的XML文件中,使用特定语句调用自定义材质插件,验证功能是否正常。附录提供了基础的matpreview场景作为参考。
完成基本流程后,深入探索BSDF.cpp中的函数和变量,以理解材质渲染机制。例如,"roughplastic.cpp"、"diffuse.cpp"、"roughdiffuse.cpp"和"phong.cpp"等示例文件展示了不同材质模型的实现方式。查阅对应文档以了解材质参数的使用方法。
在代码结构上,以"plastic.cpp"为例,包含离线渲染部分和实时渲染部分。离线渲染部分影响渲染结果,而实时渲染部分则与图形界面交互,两个部分互不影响。关键函数如Shader类中的evalName和depName,在定义shader文本时起着重要作用。理解它们的用途有助于更高效地定制渲染效果。
在离线部分,BSDF类负责计算光线与物体表面的交互,实现反射、折射等物理过程。理解Spectrum类、BSDFSamplingRecord类以及EMeasure类的用途,有助于构建更复杂的光照模型。掌握光追过程中的关键函数,如光线发射、相交判断、能量计算和方向选择,对于优化渲染效果至关重要。
最后,本文档通过提供基础的场景设定知识,帮助用户在不设置光照时避免意外的光强影响,确保测试环境的准确性。附录中列出了Rendering Resources网站提供的多个mitsuba场景资源,可供进一步学习和实践。
abiword简介
AbiWord是一款功能强大的文字处理工具,与微软Word程序类似,它适用于日常办公文件如文书、信件、报告和备忘录等的处理。这款软件由AbiSource办公套件提供,是开放源代码软件,用户可以免费使用。 AbiWord以其强大且免费的文本处理功能广受用户欢迎。此外,其开放源代码的架构设计使得用户能够轻松地将源代码编译成可在各种操作系统上运行的应用程序。这些操作系统包括支持多种语言版本的操作系统,如Windows、Mac OS和Linux等。 AbiWord的特色之一是其体积小而功能丰富,使得用户能够高效地进行文本编辑、排版和格式化操作。它支持多种文本格式,包括PDF、HTML、XML和RTF等,满足不同用户的需求。 对于需要处理大量文档的用户,AbiWord提供了强大的查找和替换功能,可以帮助用户快速定位和修改文本内容。此外,它还具备自动保存、撤销和重做功能,确保用户在编辑过程中数据安全。 在报告和信件撰写方面,AbiWord提供了丰富的模板和样式选项,帮助用户快速创建专业的文档。用户可以根据需要调整字体、字号、颜色和布局等,以达到最佳的视觉效果。 总的来说,AbiWord以其免费、强大和灵活性成为许多用户首选的文字处理工具。无论您是学生、员工还是自由职业者,AbiWord都能满足您的办公文件处理需求。扩展资料
Abiword 是一款功能完备的高效文字处理软件,能胜任多种文字处理任务,并且可通过各种插件进行扩展。本软件包包含目前可用的多种导入/导出插件,使 AbiWord 能与 ODT、WordPerfect 及其他格式交互。软件包中还含有各种工具插件,使 AbiWord 用户可在 Linux 和 Windows 上(通过 TCP 或 Jabber/XMPP)进行实时协作,并提供翻译和字典支持等。[备忘录]python项目下文件夹
在Python项目中,__pycache__目录用来存储编译后的字节码文件,如.pyc或.pyo文件。Python解释器首次运行.py源文件时,将源代码编译成字节码,保存在该目录下,以提高下次加载程序的速度。此设置优化了程序性能,允许解释器加载已编译的字节码,无需重复编译源代码。此外,该目录还能防止源代码意外修改或篡改,因为字节码文件较难被直接读取或编辑。