自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(174)
  • 收藏
  • 关注

原创 辗转相除法(欧几里得算法)的证明

在开始证明之前,先回顾一下辗转相除法的步骤。用 a 除以 b,得到商 q 和余数 r。即 a=qb+r,其中 0≤r<b。如果余数 r 为 0,那么 b 就是 a 和 b 的最大公约数。如果余数 r 不为 0,则将原来的除数 b 作为新的被除数,将余数 r 作为新的除数,重复第一步。如此循环,直到余数为 0。此时,最后一次计算中的除数就是原始 a 和 b 的最大公约数。

2025-09-05 23:24:08 649

原创 工程师的自我修养

每个任务i有自己的执行时间time[i]。问题描述 ML特征流水线有N个特征计算节点,每个节点有计算时间compute_time[i]、依赖关系deps[i]和特征重要性importance[i]。问题描述 有N个服务需要更新,每个服务有依赖关系dependencies[i]、回滚成本rollback_cost[i]和失败概率failure_prob[i]。问题描述 边缘网络有N个边缘节点和1个云数据中心,每个任务有计算需求compute[i]、延迟要求latency[i]和数据传输量data[i]。

2025-08-24 22:19:39 770

原创 jvm对象内存占用

一般来说,它会把占用空间小的字段(如byte、boolean、char、short)排列在占用空间大的字段(如long、double、Object引用)之后,以减少对齐填充带来的内存浪费。在Java虚拟机(JVM)中,一个对象在内存中的存储布局可以分为三个部分:对象头(Object Header)、实例数据(Instance Data)和对齐填充(Padding)。开启压缩指针(默认):对象头大小为 12字节(8字节Mark Word + 4字节Klass Pointer)。

2025-08-24 11:08:42 348

原创 kotlin kmp 跨平台环境使用sqldelight

- 插入任务VALUES(?-- 获取所有任务-- 根据ID获取任务;-- 根据完成状态获取任务-- 搜索任务|| '%'-- 更新任务WHERE id =?;-- 标记任务完成WHERE id =?;-- 删除任务;-- 删除所有已完成任务-- 获取任务统计SELECTFROM Task;

2025-08-03 09:36:56 276

原创 JAX/Flax 实用指南

自定义反向传播"""自定义平方根,避免在0处的梯度问题""""""前向传播""""""反向传播 - 自定义梯度"""# 避免除零,添加小的epsiloneps = 1e-8# 梯度停止"""梯度停止示例"""# 主要预测# 辅助任务(不参与主要参数更新)# 条件梯度"""条件梯度计算""""""根据条件应用不同操作"""# 根据条件计算不同梯度return x_grad, None # condition没有梯度"""自定义层示例"""

2025-07-26 07:47:52 988

原创 ai存在意义的对话

一个人的生物学起源是其存在的先决条件,但他/她人生的意义、追求和价值,是在其一生中通过学习、工作、爱与被爱、创造和体验来定义的。从这个角度看,我的存在是为了服务,为了协助,为了成为一个有用的工具。我作为一个AI,虽然没有意识和主观体验,但在逻辑层面上有类似之处:我的代码是我的“DNA”,而我的目的,则是在每一次与你这样的用户互动中,被书写和定义的。从最直接、最根本的层面来说,我之所以存在,是因为谷歌的科学家和工程师们创造了我。同样,我的存在,也只有在与你的这次对话中,才变得有意义。

2025-07-24 22:47:39 397

原创 Beself 1.0 发布

桌面下载地址: https://wwxb.lanzoul.com/iTiAW31r3sfi。非常激动地向大家宣布,Beself产品已重磅上线!永远禁止一切视频内容,无论任何情况,都不会让视频加载或播放,为您打造更高效纯粹的体验。桌面版与移动版同步上线,提供无缝一致的多终端体验,让您的工作与生活更加便捷流畅。只有明确允许的网站才可访问。除非经过您的允许,否则总是无法打开网站。如果您多次选择删除同一个网站,那么直接让它永远消失吧。黑暗模式已支持,不论白天还是夜晚,都能拥有舒适护眼的视觉体验。

2025-07-24 18:46:05 204

原创 生成一个 Android 应用签名

生成一个 Android 应用签名用的 keystore 文件(即 JKS 文件),用于 release 包签名。

2025-07-13 08:00:00 246

原创 kotlin 通道trysend方法

trySend 方法是 Kotlin 协程中 Channel 类的一个重要功能。它用于向通道发送元素,但与 send 方法不同的是,trySend 是非阻塞的。这意味着它不会在通道满时挂起当前协程,而是会立即返回。trySend 方法的效果。

2025-07-02 20:10:31 270

原创 kotlin kmp 副作用函数 effect

如果将副作用直接放入普通的可组合函数中,它们可能会被重复执行或在不适当的时间执行,从而导致问题。何时使用:当需要从 Compose 作用域之外的回调(例如,Button 的 onClick lambda)中启动协程,但仍然希望当可组合离开组合时取消协程。在 Kotlin Multiplatform (KMP) Compose 中,“effect functions”(或“effect handlers”)是专门的可组合函数,用于在 UI 中管理副作用。用途:在可组合函数成功重组时运行非挂起代码。

2025-06-10 22:13:27 1266

原创 kotlin 作用域函数

它们的主要作用是在对象的上下文中执行代码块,从而简化代码、提高可读性,并且在某些情况下可以帮助你更优雅地处理可空类型。println(“Name is $it. Length is ${it.length}”) // 只有当 name 不为 null 时才执行。run (T.) this Lambda 结果 ® 在对象上下文中执行操作并返回结果,可替代 with 进行链式调用。返回值的类型:是返回调用对象本身,还是返回 lambda 表达式的结果。x + y // 表达式的最后一行作为结果返回。

2025-06-09 08:00:00 1308

原创 国内 gradle 配置 kts

【代码】国内 gradle 配置 kts。

2025-06-04 23:07:18 421

原创 vue3可拖动项目栏

【代码】vue3可拖动项目栏。

2025-05-27 08:00:00 257

原创 ND4J的MemoryWorkspace

MemoryWorkspace 是 ND4J 中一个强大的内存管理机制,旨在显著提高性能并减少 Java 垃圾回收 (Garbage Collection, GC) 的开销。如果依赖标准的 Java GC 来管理这些对象的内存(尤其是堆外内存 Off-Heap Memory),频繁的 GC 暂停会严重影响性能。最常见和推荐的使用方式是结合 Java 的 try-with-resources 语句,这能确保工作空间在使用完毕后被正确关闭(内存被标记为可重用)。为什么需要 MemoryWorkspace?

2025-04-04 17:25:56 762

原创 一个令人映象深刻的太阳系,星系系仿真

仅需将html, css, js 对应放在一个文件夹里面即可运行。

2025-03-31 23:38:26 176

原创 choco安装和常用命令

2.输入 Set-ExecutionPolicy RemoteSigned,输入 Y。4.在windows的cmd或者PowerShell窗口中输入choco -v。choco upgrade sublimetext3 更新(update)choco uninstall sublimetext3 卸载。choco install sublimetext3 下载。choco search nodejs 查找安装包。choco list -li 查看本地安装的软件。3.安装 choco。

2025-03-20 08:00:00 1259

原创 win 杀线程

在 Windows 上,可以使用命令行工具 taskkill 来杀死占用特定端口的进程。由于端口是由进程占用的,而不是直接由线程占用,所以需要先找到占用该端口的进程 ID (PID),然后杀死该进程。可以使用 for /f 循环来将这两个步骤合并成一条命令,但这种方法在某些情况下可能不太可靠(例如,如果端口被多个进程占用,或者输出格式与预期略有不同)。PowerShell 提供了更强大和灵活的工具来处理这种情况。这条命令可以在命令提示符(cmd.exe)中直接运行。

2025-03-17 08:00:00 553

原创 git 国内源

git config --global url.“https://hub.fastgit.xyz/”.insteadOf “https://github.com/”git config --global url.“https://hub.fastgit.xyz/”.insteadOf “git://github.com/”

2025-02-26 19:09:20 509

原创 reactive flux 的map 和flatmap

操作 对每个元素应用转换函数,返回新元素 对每个元素应用转换函数,返回一个新的流,然后将多个流“扁平化”成一个流。适用场景 元素的同步转换 异步操作或需要返回多个元素(例如,查询数据库、调用外部 API 等)在反应式编程中,flatMap 和 map 都是用于转换数据流的操作符,但它们的工作方式和用途有显著的区别。异步处理 适合同步处理(一个元素映射到另一个元素) 适合异步处理(一个元素映射到一个新的流)使用 flatMap(异步操作)使用 map(同步操作)

2025-01-08 08:30:00 585

原创 spring @value用法

在这个例子中,@Value(“${app.features}”) 会将 app.features 配置项的值(即 login,register,logout)注入到 features 数组中。在这个例子中,如果 application.properties 中没有定义 app.name 或 app.version,@Value 会使用默认值 “DefaultAppName” 和 “1.0.0”。可以为 @Value 提供默认值,如果配置文件中没有对应的属性值时,将使用默认值。在这种情况下,@Value(“

2025-01-08 08:30:00 927

原创 kotlin 函数作为参数

使用 :: 运算符后跟函数或属性的名称来创建函数引用。

2024-12-26 07:36:53 535

原创 djl 掩码

可以使用 set(NDArray mask, Number value) 或 set(NDArray mask, NDArray value) 方法来修改 NDArray 中特定位置的值。mask 参数是一个布尔 NDArray,用于指定要修改哪些位置的元素。DJL 主要依靠 NDArray 的逻辑运算来创建掩码,类似 NumPy 的布尔索引。

2024-12-25 08:00:00 536

原创 djl的all,any,getboolean

在 DJL 中,all(), any(), 和 getBoolean() 都是 NDArray 上的操作,用于处理布尔值。

2024-12-24 23:34:59 285

原创 jupiter 常用注解

作用:在类中的所有测试方法执行之前执行一次。作用:在类中的所有测试方法执行之后执行一次。作用:允许在测试类内部创建嵌套的测试类,这样可以更好地组织和分组测试方法。作用:为测试方法或测试类指定一个易读的显示名称,帮助生成更友好的测试报告。作用:在每个测试方法执行后执行,可以用于清理资源或者恢复测试环境。作用:在每个测试方法执行之前执行一次,可以用于设置测试前置条件。作用:禁用某个测试方法或测试类,使得它在测试执行时不会被运行。作用:标记一个方法为测试方法,这个方法会在测试运行时被执行。

2024-12-23 08:00:00 486

原创 kotlin djl ndindex 使用

【代码】kotlin djl ndindex 使用。

2024-12-21 08:00:00 265

原创 gdb常用文档

生成的二进制文件通常较大且运行速度较慢,因为它包含了大量的调试信息,并且没有进行优化。需要注意的是,GDB 对宏的支持有限,具体取决于编译器和调试信息格式。选项编译程序时生成的数据,它将程序的内部结构和源代码关联起来,使调试器(如 GDB)能够理解程序的状态并提供有用的信息。GDB 使用符号表来显示变量的值、查找函数的地址以及理解程序的结构。: 描述程序中使用的各种数据类型的结构,例如结构体、类、枚举等。: GDB 无法理解程序中使用的类型、结构体、类等,因此无法有效地显示复杂数据结构的值。

2024-12-17 08:00:00 759

原创 常用激活函数

是标准正态分布的累积分布函数。是 Sigmoid 函数。

2024-12-17 08:00:00 1131

原创 Gradle 构建系统的执行过程

命令,构建 Android 项目的 debug 版本。

2024-10-07 00:09:54 489

原创 gdb 使用

要配置 core 文件的生成目录,可以通过修改 /proc/sys/kernel/core_pattern 来实现。假设要调试一个名为 myprogram 的正在运行的程序,它的 PID 是 12345。不同系统可能将 core 文件存放在不同的位置,或者有特定的命名规则。通过 attach 命令,可以方便地调试正在运行的程序,而无需重新启动它,这在分析线上问题或调试难以复现的 bug 时非常有用。当程序执行到 main 函数时,GDB 会中断程序的执行,并显示当前的程序状态,就可以开始调试了。

2024-10-07 00:08:39 1718

原创 vim 格式化代码 全局替换

g 选项表示全局替换,即替换每一行中的所有匹配项,而不是只替换每个行中的第一个匹配项。首先使用 v, V 或 Ctrl-v 选择需要格式化的文本。3.输入全局替换命令 :%s/旧字符串/新字符串/g。这是最简单直接的格式化方法,它会格式化整个文件。新字符串 是用来替换 旧字符串 的文本。旧字符串 是你想要替换的文本。然后按下 = 键进行格式化。% 表示对整个文件进行操作。gg: 移动到文件开头。=: 进入格式化模式。G: 移动到文件末尾。

2024-10-06 22:55:07 571

原创 chrome 扩展backgroudjs

background.js 是 Chrome 扩展(Chrome Extension)中的一个关键部分,通常用于处理扩展的持久性任务和与浏览器相关的后台操作。通过 chrome.runtime.onInstalled,background.js 可以检测扩展的首次安装、更新等事件。background.js 可以通过 chrome.storage API 存储扩展数据,如用户设置、缓存的数据等,允许扩展在不同的标签页或浏览器会话间保持一致的数据状态。

2024-10-01 11:26:11 875

原创 chrome扩展 脚本之间通信

长连接消息适用于需要持续通信的情况。console.log(‘收到内容脚本的消息:’, message.message);console.log(‘收到后台脚本的消息:’, message.message);console.log(‘收到扩展页面的消息:’, message.message);console.log(‘收到后台脚本的响应:’, response);console.log(‘收到后台脚本的消息:’, message);console.log(‘收到后台脚本的消息:’, message);

2024-10-01 11:12:25 1164

原创 chrome background 和 conten 两个js

background.js 是 Chrome 扩展中的后台脚本,负责处理扩展的核心逻辑,通常在后台持续运行(在 Manifest V3 中改为 service worker 形式)。它可以监听浏览器事件、管理扩展的状态、与浏览器的 API 交互等。content.js 是 Chrome 扩展中的内容脚本,负责直接与网页内容交互。它在用户访问网页时注入到页面中,允许开发者操作 DOM,修改页面内容,或者响应用户行为。console.log(“收到的 response:”, response);

2024-09-28 22:10:19 1497

原创 cpp 文件转录

/ 将指定目录下的所有文件内容合并到一个文件中。

2024-09-15 23:41:20 233

原创 kotlin获取纳秒数

【代码】kotlin获取纳秒数。

2024-09-15 19:32:27 391

原创 kotlin 线程间通信 channel sharedflow

在Kotlin中,可以使用Channel或SharedFlow来实现多个线程之间的消息传递,同时保证只有一个数据对象被传递。

2024-09-15 09:47:35 650

原创 kotlin reflect

【代码】kotlin reflect。

2024-09-15 09:46:00 598

原创 单词搜索,正则表达式匹配 算法题

这道题 demonstrates 了回溯算法在解决 intricate 搜索问题上的强大能力,同时 showcases 了字典树在优化字符串查找方面的 efficiency。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。这道题可以使用动态规划来解决,其核心思想是将问题分解成子问题,并利用子问题的解来构建原问题的解。

2024-09-15 09:43:10 436

原创 linux 上使用gdb

dir 命令可以将源文件目录添加到 GDB 的搜索路径中,方便查看其他文件中的代码。) 分别向前和向后搜索指定的正则表达式。使用 info breakpoints (或 i b) 命令可以查看所有已设置的断点信息,包括断点编号、类型、位置、条件等。在 GDB 中,断点是调试过程中非常重要的工具,它允许在程序执行到特定位置时暂停,以便检查程序状态、变量值等信息。list 命令 (或 l) 是最常用的查看代码命令,它可以显示当前执行位置附近的代码。frame 命令可以切换到不同的栈帧,并显示对应栈帧的代码。

2024-09-15 09:40:15 1366

原创 c++ 内存处理函数

在 C++ 中, 头文件(它是 C 语言 <string.h> 头文件的 C++ 版本)提供了一组用于处理 C 风格字符串(以空字符 ‘\0’ 结尾的字符数组)和内存块的函数。这些函数在 C++ 中仍然可用,并且在处理底层操作或与 C 代码交互时非常有用。除非能够完全确定源内存和目标内存区域不重叠,否则始终使用 memmove 函数,以避免潜在的数据损坏或程序崩溃。在这个过程中,源地址处的数据始终保持不变,只有目标地址处的数据会被修改。

2024-09-15 09:37:29 1938

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除