众所周知 Linux 汇总执行命令可以通过如下格式来将结果输出到文件中。 [命令] >> [文件名] 2>&1 其中 > 表示输出到, >> 表示追加到。 在 Shell 脚本中,默认情况下,总是有三个文件处于打开状态,标准输入、标准输出、标准错误,它们分别对应的文件描述符是 0,1,2 ,还有一个特殊文件是 /dev/null ,所有传给它的东西它都丢弃掉。 > 默认为标准输出重定向,与 1> 相同。 2>&1 意思是把 标准错误输出 重定向到 标
目录1 更改档案拥有者2 修改权限3 修改文件日期4 链接文件5 显示日期6 显示日历7 显示文件头部8 显示文件尾部9 显示用户标识10 查看当前登录的用户11 显示都谁登录到机器上12 显示当前终端上的用户名13 寻找文件14 搜索文件中匹配符15 统计文件字数16 显示磁盘空间17 查询档案或目录的磁盘使用空间18 显示进程19 终止进程20 查看自己的IP地址21 查看路由表22 远程登录23 文件传输24 查看自己的电子邮件25 回忆命令26 网上对话27 允许或拒绝接受信息28 给其
目录1 深度学习2 特征向量3 激活函数4 逻辑回归5 损失函数6 成本函数7 梯度下降8 链式法则 吼吼吼,随便记记,支持小红,两个月不学会TTS不成仁 深度学习 神经网络算法通过向前传播与反向传播构成#1 先通过向前传播计算出预测结果和损失 再通过反向传播计算出损失函数关于每一个函数(w,b)的偏导数,并对这些参数进行梯度下降。 然后用新一轮的向前传播计算,反复训练使得预测越来越精准。 特征向量 激活函数 sigmoid(z)函数,用于将数据映射在0,1之间,若不使用激活函数,AI的智力将不
类生命周期及常用运算符追踪器 struct FTracker { FTracker() { std::cout << “FTracker()” << std::endl; } FTracker(const FTracker&) { std::cout << “FTracker(const FTracker&)” << std::endl; } FTracker(FTracker&&) { std::cout <
参考文章 格式 <type>(<scope>): <subject> type 类型 feat – 功能 fix/to – 修复 fix – 产生 diff 并完全修复此 bug 适合于一次提交直接修复问题 to – 只产生 diff 不完全修复此 bug 适合于多次提交 最终修复问题提交时使用 fix docs – 文档 指不涉及代码文件的 如 .md 等文件的更新 style – 格式
函数签名 参考文档:new – delete 即使不包含 标准库 头文件,版本 可替换分配函数 与 可替换解分配函数 也会在每个翻译单元隐式声明。版本 可替换分配函数 与 可替换解分配函数 可以替换:在程序任意位置定义并在任意源文件的用户提供的拥有相同签名的非成员函数都会替换默认版本。它的声明不需要可见。 这意味着我们在替换全局 new/delete 函数时,无需在 .h 中声明,只需要在 .cpp 中定义他们。 对于某个可以替换的函数,如果程序中提供了它的多个替换,或它有带 inl
哔哩哔哩写给所有互联网平台的挑战书 卦者灵风 – Synology VideoStation
权利的游戏 – Synology VideoStation
金银 卦者灵风 – Synology VideoStation
git commit –amend 修改上一个 Commit 。 git push -f 强制推送更新。
中国区技术总监的演讲,这里做一下笔记。
百度云链接 提取码 – iabs
template <typename T> void LOrR(T&) { std::cout << “L” << std::endl; } template <typename T> void LOrR(T&&) { std::cout << “R” << std::endl; } template <typename T> void FuncA(T& Temp) { std::
在实现 TypeTraits 时发现标准库的 std::is_scoped_enum 在 C++23 才会正式实装,于是通过翻 Unreal Engine 4 的源码发现了一个巧妙的替代方案,类似如下的实现: NAMESPACE_PRIVATE_BEGIN uint8(&Resolve(int64))[2]; uint8 Resolve(…); template <typename T> struct TIsEnumConvertibleToInt : TBoolCons
网页全屏显示 – 项目代码
问题 使用 UE4.23(最后一个支持 HTML5 平台的版本) 打包 HTML5 并部署到 Apache 服务器上,基本设置完成后出现错误,页面报错如下。 Uncaught TypeError: Cannot read properties of null (reading ‘toLowerCase’) Uncaught TypeError: Cannot read properties of null (reading ‘toLowerCase’) Uncaught TypeError: C
目录1 资源1.1 通用1.2 动作1.3 AI1.4 蓝图1.5 材质1.6 纹理1.7 杂项1.8 2D1.9 物理1.10 声音1.11 界面2 目录3 蓝图 & C++3.1 编译3.2 变量3.3 函数 & 委托 资源 通用 资源类型 前缀 后缀 Level / Map Level (Persistent) _P Level (Audio) _Audio Level (Lighting) _Lighting Level (Geometry) _Geo Level (Ga
网页全屏显示 – 项目代码
目录1 进入终端2 复制文件3 查看镜像4 制作镜像5 保存镜像6 载入镜像 进入终端 docker exec -it [容器 ID] [解释器] 一般情况下 解释器 为 bash ,如果出现报错可尝试 sh 、 /bin/bash 、 /bin/sh 或 /bin/csh 。 复制文件 docker cp [容器 ID]:[路径] [容器 ID]:[路径] 如果在不写 容器 ID 则表示目标为宿主机。 查看镜像 docker images 制作镜像 docker commit -p [容器 I
问题 众所周知 UE 的 HTML5 平台默认显示如下。 这存在如下几个问题。 Canvas 只在中间显示。 下面有多余的按钮。 解决 将 Canvas 设置为自适应分辨率。 将 Project Settings > Platforms > HTML5 > Canvas Scaling Mode 设置为 Stretch 。 将 Canvas Wrapper 设置为自适应分辨率。 修改 .css 文件中如下一段。 .wrapper { position: relative; margin: 1em
在 C++ 中对应 \x200f ,Alt码 为 8207 的特殊字符。
PS:由于 WP-Editor.md 的 Bug ,脚本中的 $ 符号不显示,需手动添加。 解决方案 cmake_minimum_required (VERSION 3.8) # Main project string(REGEX REPLACE “.*/(.*)” “\\1” CURRENT_FOLDER {CMAKE_CURRENT_SOURCE_DIR}) project ({CURRENT_FOLDER}) message (STATUS “Configuring project: ”
虚幻引擎打包时,将在根目录中创建 BootstrapPackagedGame 启动 EXE 文件,并在 Binaries/Win64 中放置真正的 UE4 游戏 EXE 文件。 它通过以下过程创建: 将 引擎/Binaries/[平台]/BootstrapPackagedGame-[平台]-Shipping.exe 文件复制到根目录 更新 Build/Windows/Application.ico 图标 更新要执行的游戏 EXE 文件相对路径参数 更新游戏的基本参数 BootstrapPacka
class FTestTask { public: FTestTask(const FString& InTaskName) : TaskName(InTaskName) { } TStatId GetStatId() { RETURN_QUICK_DECLARE_CYCLE_STAT(TestTask, STATGROUP_TaskGraphTasks); } ENamedThreads::Type GetDesiredThread() { return ENamedThreads::
成龙历险记 – Synology VideoStation
众所周知,UE 没有提供优先队列这一常用容器。 但是在 TArray 中有一些堆函数,可以实现优先队列的操作。 这里提供一个简单封装,其中 Priority 值越小优先级越高。 template<typename ElementType, typename ArrayAllocator = FDefaultAllocator> class TRFurPriorityQueue { public: FORCEINLINE TRFurPriorityQueue() = default;
目录1 换源2 安装依赖包3 处理 install.sh4 安装5 启动蜜罐 国内原因 Github连接极其卡顿 虚拟机重复安装五六次还未成功。今早终于成功,有感写下这篇教程 环境:Debian 10 设备:华为ECS 2核8G 50M 流量计费 VNC控制台安装 T-Pot 项目链接 换源 Linux一键换源 bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh) apt
目录1 加锁的原则1.1 规则10.1 多线程 进程并行访问共享资源时 一定要加锁保护1.2 规则10.2 锁的职责单一1.3 规则10.3 锁范围尽量小 只锁对应资源操作代码1.4 规则10.4 避免嵌套加锁 如果必须加锁 务必保证不同地方的加锁顺序是一样的1.5 建议10.1 进程间通讯 使用自己保证互斥的系统1.6 建议10.2 可重入函数尽量只使用局部变量和函数参数 少用全局变量 静态变量1.7 建议10.3 锁中避免调用函数 如果必须调用函数 务必保证不会造成死锁1.8 建议10.4
一键跳转至题目 题目描述 机器上有 n 个需要处理的任务,它们构成了一个序列。这些任务被标号为 1 到 n,因此序列的排列为 1 , 2 , 3 \cdots n。这 n 个任务被分成若干批,每批包含相邻的若干任务。从时刻 0 开始,这些任务被分批加工,第 ii 个任务单独完成所需的时间是 T_i 。在每批任务开始前,机器需要启动时间 s,而完成这批任务所需的时间是各个任务需要时间的总和。 注意,同一批任务将在同一时刻完成。 每个任务的费用是它的完成时刻乘以一个费用系数 C_i。请确定一个分组方
目录1 研究背景2 研究内容2.1 框架设计2.2 实现方法与步骤2.3 出现的问题与解决过程2.4 项目创新点3 研究结果3.1 核心代码3.2 实物展示3.3 结论4 参考文献 本文用来水暑假的研究性学习报告 不要认真 摘要 本文给出了朴素 Marching Cubes 算法体素网格体在 Unreal Engine 4 中的实现方案,通过生成一个具有“光滑”表面的球体来演示算法的可行性。 关键词 MarchingCubes UnrealEngine 网格重建 游戏开发 研究背景 《Minec
目录1 研究背景2 研究内容2.1 框架设计2.2 实现方法与步骤2.3 出现的问题与解决过程2.4 项目创新点3 研究结果3.1 实物展示3.2 结果分析3.3 结论4 参考文献 本文用来水暑假的研究性学习报告 摘要 本文给出了一种基于 HFish 的网络威胁捕捉与诱骗系统的简单搭建模式,并通过此系统捕捉了当今互联网上的部分网络攻击,通过这些数据进行简单的整理分析,透漏出网络中的潜在威胁。 关键词 网络安全 黑客攻击 网络攻防 密码破译 研究背景 作为一个小型个人网站的站主,可能并不会感觉到自
目录1 UMaterialExpression2 UMaterialExpressionSphereMask2.1 输入输出引脚定义2.2 参数缺省定义2.3 编译函数实现3 类与函数 引擎: UE4.26.2 构建版本 事情的起因是写体素构建器的时候,想生成个球,就想到抄材质的 SphereMask 节点。 这里以 SphereMask 节点为例,分析材质蓝图节点的定义。 UMaterialExpression 材质节点的 C++ 父类为 UMaterialExpression ,定义在 Ma
问题 在从 UE4.24 升级到 UE4.26 后,想打包安卓,删除了以前的 NDK 然后根据官网指示安装新的 NDK ,在打包时提示打包失败,Log 关键内容如下。 UATHelper: Packaging (Android (Multi:ASTC,DXT,ETC2)): ====2021-08-09 14:35:59====PERFORMING FINAL APK PACKAGE OPERATION=====-armv7====================================
目录1 基本信息2 硬件连接图3 软件框图3.1 小车3.2 控制端4 软件流程图4.1 小车 测速计数 线程4.2 小车 超声 线程4.3 小车 电机 线程4.4 小车 图像采集 线程4.5 小车 UDP 线程4.6 控制端5 实现过程6 关键代码7 创新点8 市场前景9 产品展示 这是 2021年山大未来科学营(夏季)- 人工智能与发明创造未来科学营 的作业 所以看看就行 基本信息 名称:远程智能房间巡逻警报机器人 解决家里/房间长期无人,但是有设备运行或其他需求,需要远程监控。可以方便远程
假设我们有一个带 USTRUCT 宏的结构体,我们希望在蓝图中可以以自己的方式 Make 或者 Break ,这个需求通常是因为我们在结构体里用了 C++ 中不支持反射的成员。 USTRUCT(BlueprintType, Meta = (HasNativeMake, HasNativeBreak)) struct FMeshVertex { GENERATED_BODY() UPROPERTY(EditAnywhere) FVector Position; UPROPERTY(EditAnyw
Он дракон – Synology VideoStation
Establish Battlefield Control, Stand By — 战场控制建立,请等待。 Battle Control Online — 作战控制连线。 Incoming Transmission — 信号输入。 New Objective Received — 收到新的任务目标。 Objective Complete — 任务目标完成。 Mission Accomplished — 任务完成。 Missi
http://transvoxel.org/Lengyel-VoxelTerrain.pdf [pdf id=2509]
ParallelFor 是 UE 内置的支持多线程并行处理任务的 For 循环,在渲染系统中应用得相当普遍。 调用方式 函数签名 void ParallelFor(int32 Num, TFunctionRef<void(int32)> Body, bool bForceSingleThread, bool bPumpRenderingThread = false); void ParallelFor(int32 Num, TFunctionRef<void(int32)>
UFUNCTION() virtual void FunctionName(…) PURE_VIRTUAL(ClassName::FunctionName, … );
CornerCoordOffset[8] – 表示顶点索引到顶点空间位置的映射,如 CornerCoordOffset[0] = (0,0,0) 表示 顶点-0 的位置是 (0,0,0) 。 Triangulation[256][5][3] – 表示三角形拆分,可以通过顶点状态(通过位掩码)拆分三角形,得到三角形对应的边索引,如 Triangulation[2][0][0] = 0 表示 顶点-1 在“内部”其余顶点在“外部”时,第一个三角形的第一个顶点在 边-0 上。
Vertices = { { -50.0f, -50.0f, -50.0f }, { 50.0f, -50.0f, -50.0f }, { 50.0f, 50.0f, -50.0f }, { 50.0f, 50.0f, -50.0f }, { -50.0f, 50.0f, -50.0f }, { -50.0f, -50.0f, -50.0f }, { -50.0f, -50.0f, 50.0f }, { 50.0f, -50.0f, 50.0f }, { 50.0f, 50.0f, 50.0f
目录1 语法1.1 类2 定义类3 定义类成员3.1 返回值3.2 泛型类型3.3 修饰4 定义关系4.1 关系的基数5 类注释6 评论 基于 Mermaid 类图规范编写: Mermaid: Class diagrams “在软件工程中,统一建模语言 (UML) 中的类图是一种静态结构图,它通过显示系统中的类以及它们的属性和操作(或方法)再加上类之间的关系来描述系统的结构。” 维基百科 类图是面向对象建模的主要构建基础。它可以用于应用程序一般结构的概念建模,以及将模型转换为编程语言代码的详细建
目录1 类图1.1 UStaticMesh 类图1.2 UStaticMeshComponent 类图2 流程2.1 动态构建流程2.2 网格应用流程2.3 渲染整合流程 引擎: UE4.26.2 构建版本 StaticMesh 简称 SM ,表示引擎中的 静态网格体 ,在新版本的引擎中, SM 也被允许在运行时构建,渲染一个 SM 需要 SMC 的支持, SMC 使用 静态/动态渲染路径 ,在允许的情况下优先使用 静态渲染路径 ,会缓存所有渲染命令。 类图 UStaticMesh 类图 USt
目录1 类结构1.1 游戏 类图1.2 渲染器 类图1.3 简介2 流程2.1 分段创建流程2.2 渲染整合流程2.3 碰撞构建流程2.4 分段更新流程 引擎: UE4.26.2 构建版本 ProceduralMeshComponent 简称 PMC ,提供一个程序化网格组件,可以通过自定义的三角形制作可渲染网格,使用动态渲染路径,在每帧收集渲染数据,没有任何数据缓存。 类结构 游戏 类图 渲染器 类图 简介 UActorComponent – 所有组件的基类。 USceneComp
众所周知 UE4 把 RTTI 给禁止了,这导致 dynamic_cast 的支持是不完全的,也就是说不支持从基类转换到子类,但是在阅读 TSoftObjectPtr (SoftObjectPtr.h) 代码时却看到: /** * Dereference the soft pointer. * * @return nullptr if this object is gone or the lazy pointer was null, otherwise a valid UObject point
开始记录状态到文件 stat startfile 停止记录状态到文件 stat stopfile 便捷作用域计时器 可以直接使用 QUICK_SCOPE_CYCLE_COUNTER(STAT_ClassName_FunctionName); 声明状态组 DECLARE_STATS_GROUP(TEXT(“Group Name”), STATGROUP_GroupName, STATCAT_Advanced); 声明计数器 DECLARE_DWORD_ACCUMULATOR_STAT(TEXT(“