- 博客(48)
- 收藏
- 关注
原创 【SQLite】逆天!SQLite创表语句居然可以不给列声明类型,想插什么都可以!
【代码】【SQLite】逆天!SQLite创表语句居然可以不给列声明类型,想插什么都可以!
2025-11-19 16:28:07
80
原创 【C#】有点迷惑人的——类型赋值/is多态——大解析!
/ 🚨 注意:这里没有强转!❌ animal is Dog → False(通常)假设Dog:Animal。
2025-11-13 09:31:02
99
原创 【C#-sqlSugar-sqlite】在Windows从源码编译构建System.Data.SQLite.dll的方法
实际上,微软的C#/.NET提供了一个虚函数套,叫做System.Data(里面包含抽象类DbConnection等等),希望各个数据库都可以适配它,这样大家用C#的时候就会比较统一,那么果不其然sqlite官方真的就适配了它。sqlSugar从git上拉下来就能编译、跑测试,非常方便。但是,如果你想了解原理,从源码编译System.Data.SQLite是必不可少的,否则的话open()这种地方调试都进不去。编译时会有一些坑,比如vs版本问题,强制签名什么的,我也不是很懂,总之把我能跑的贴在这里。
2025-11-11 19:13:19
413
原创 【sqlite3】sqlite3默认DDL和DML都自动提交,BEGIN的时候,DDL和DML语句都不会自动提交!
不像达梦或Oracle,它们默认DML不会自动提交,而DDL无论何时都会自动提交,哪怕在BEGIN中!(在事务中执行DDL,会导致整个事务直接提交)
2025-11-11 17:54:41
106
原创 【IntarkDB】Ninja真的有用!!!
rl+kv,设置了-j4,清空后从头开始编译。Ninja编译时间:7m37.426s。make编译时间:18m13.724s。
2025-10-24 17:42:14
92
原创 【sqlite】WAL初探
DELETE/TRUNCATE/PERSIST:类似的,都是journal模式,把原始内容先备份出来,再往.db里面写。支持高并发读取,一个线程在写入时,其他线程可以无阻塞地读取(读取器看到的是写入开始前的快照)。写入是“追加”到WAL文件末尾,这通常比随机写入主数据库文件更快,尤其是在HDD上。时,只有设置WAL会持久化,其它的都会在下一次打开db时变回DELETE。可以看到db-wal/db-shm的生命周期比db-journal要长的。db-wal/db-shm与db-journal的生命周期对比。
2025-10-22 14:44:20
537
原创 【sqlite】我删除了整张表,.db文件却更大了???(神奇的可重用页面)
删除整张表并提交,数据库并没有变小,反而还是很大,这是因为删除仅仅是将页面标记为可重用,而没有真正的删除。
2025-10-17 11:34:18
227
原创 【linux动态库】RUNPATH 只影响直接依赖,不传递!
我们有时会修改debug目录名称,比如debug-rl-kv,此时可执行程序就跑不了了。libintarkdb.so (RUNPATH还没变!libgmssl.so.3 (所以找不到!RUNPATH 只影响直接依赖,不传递!
2025-10-17 11:19:35
98
原创 【sqlite】xxx.db-journal是什么?
sqlite是单文件数据库,但仅凭一个文件是做不到“先写日志,后入库,断电依然可恢复”的。可以发现journal随着insert创建,一旦提交,journal就被删除。
2025-10-15 17:52:46
461
原创 【sqlite】BEGIN TRANSACTION没用?NONONO!简简单单使插入效率提高100倍!!!
而直接执行一条 INSERT 语句时,SQLite 会默认将这条语句包装在一个短暂的、隐式的事务中。无事务插入: 664579 个质数,耗时: 2970537 毫秒。有事务插入: 664579 个质数,耗时: 6837 毫秒。找到 664579 个质数,筛法耗时: 6609 毫秒。实验如下,插入664579条数据,分别记录不带。数据库中实际存储的质数数量: 664579。数据库中实际存储的质数数量: 664579。=== 测试不带事务的插入 ====== 测试带事务的插入 ===和带的情况下的耗时。
2025-10-15 15:37:32
76
原创 【openGauss-embedded】当一个数据库已被一个cli打开,另一个就无法再打开
创建intarkdb.lck后,会尝试给其加锁。用cli打开数据库时会创建intarkdb.lck。加锁不成功(返回-1),就认为数据库正在被占用。关闭cli不会删除intarkdb.lck。
2025-10-13 11:21:43
90
原创 【sqlite】一条简单插入的页面变化
nPayload等于nByte + nZero(自动补零的数量),这里后者为0,前者则等于nHdr+nData。这里我注意到插入-32768的时候uu是按照32767计算的,而插入-128的时候依旧是-128。nData则分别是10、13、11.相加最终就得到了16, 19, 17。每一条的最前面是1字节的nPayload和6字节的Hdr(头部)。详见操作符MakeRecord,这3条的nHdr都是6。
2025-10-10 18:11:41
438
原创 Katago的b6c96全解析,下围棋的卷积神经网络是什么样的
该网络可以在仅visits=1,也就是计算量低到不能再低,仅靠原始策略,在任何计算设备几乎都能秒出的情况下,战胜业余2段棋手。|9,10,11,12,13|本来是之前5手棋的one-hot编码,但这里由于不保留历史的原因,全部为空。| 7 | 为某种循环劫准备的,实际这里留空,我不太懂superKo和koRecap的区别,先留坑。| 15 | 1回合前,自己和对手的所有允许被征死的棋子。| 16 | 2回合前,自己和对手的所有允许被征死的棋子。| 14 | 本回合,自己和对手的所有允许被征死的棋子。
2025-09-28 00:47:46
342
原创 【Rust嵌入式键值对数据库redb】第一课 第一次写入
2、多个线程begin_write试图同时写时,会阻塞。redb是一个单写入多读取的数据库。因此,程序员首先得确保同一时间仅开启一个写入线程。[线程1] 第一个写事务开始,睡 5 秒…至于上锁和阻塞是如何实现的,我们下节课继续。[线程2] 第二个写事务获得锁,开始写入。[线程2] 尝试开始第二个写事务…[线程1] 第一个写事务提交完成。[线程2] 第二个写事务提交完成。
2025-08-19 14:40:46
210
原创 katago编译、理解,持续更新
由于最开始没有model,因此会使用random策略,此时会消耗CPU,而不是GPU。以R5 3600 六核十二线程CPU为例,运行5局游戏共用了2分18秒。再安装libzip,不然无法产生训练数据。打开.sln,编译好之后,需要把。在这里找到opencl的安装包。添加C:\vcpkg到环境变量。OK,终于可以cmake了。复制到x86/下,不然。
2025-03-17 00:55:16
393
原创 笔记本电脑键盘按键时鼠标左键会短暂卡顿失灵1秒1s的解决方法,键盘鼠标不能同时按下,适用于win10,win11,vs code,记事本
按下 Windows 键 + R,输入“regedit”,然后转到:HKEY_CURRENT_USER > Software > Microsoft > Windows > CurrentVersion > PrecisionTouchPad,然后在窗口右侧搜索“AAPThreshold”,双击它或右键单击它并单击修改。这是为了防止键盘打字时误触鼠标,windows进行的设置,我用起来太难受了。网上包括微软官方东拉西扯什么电量什么驱动扯淡真的恶心。改完后打字容易碰到触摸板,建议关闭触摸板。
2025-02-25 16:42:17
1159
原创 【katago】各model/visit/s大混战
model-s-maxVisitsmatch with under段位g170-b6c96-s17539w-500v?b6c96-s6111w-500v?b6c96-s4999w-500v?b6c96-s3993w-500v68.5-31.5b15c192-s2264w-500v75-25b10c128-s1605w-500v75.5-24.5b6c96-s1210w-10000v56-44业余3段b15c192-s
2024-12-10 23:25:04
415
原创 【以EIGEN单线程b6c96模型maxVisits=5举例】katago analysis 求解过程
之后,其它线程接到命令,同样是asyncbot.cpp的AsyncBot::internalSearchThreadLoop(),开始干活。asyncbot.cpp的AsyncBot::genMoveSynchronous会唤醒其它线程去干活。5秒后(DEBUG版)搜索结束,获取答案,343,也是C3。当收到json请求后,更多搜索内核,下回分解。
2024-12-02 01:49:13
241
原创 【prime】sieve prime all algorithm/machine compare 各找素数算法/语言/硬件大比拼
AMD R5 5500U 2.1GHz 12线程。
2024-11-25 01:21:38
175
原创 【AI显卡训练】Manjaro + AMD RX 5700 + ROCm + Pytorch + OpenCL + Katago
最后在python前面加上,防止遇到rocBLAS error: Cannot read /opt/rocm/lib/rocblas/library/TensileLibrary.dat: Illegal seek for GPU arch : gfx1010。这样就开始训练了,我目前用b4c32,batch_size=8,其他用默认设置,看看训几天能不能出个能玩的模型。之前用4090训了7个小时,迭代了12代,那个模型一直在倒数一二路下棋。安装opencl,这个在gate守门员会用,训练是不用的。
2024-11-03 01:13:45
900
原创 Ubuntu20.04+CUDA12.5+TensorRT10.2.0
【代码】Ubuntu20.04+CUDA12.5+TensorRT10.2.0。
2024-10-31 21:36:24
225
原创 笔记本电脑加内存内存扩容?一行cmd代码查看你的电脑最大支持多大的内存
然后插槽式的不是焊在主板上的就可以升级了。据说是从主板bios中读出来的。结果/1024/1024。
2024-07-09 10:39:35
569
原创 【RISCV】人生的第一个riscv程序,运行于benshushu
环境是先用QEMU装一个Ubuntu20.04,然后再按照《RISC-V体系结构编程与实践》安装benshushu。输出62,而不是12345678910,是因为返回码只认最低的一个字节。这个程序直接返回,什么也不做。先生成.o,再生成可执行文件。
2024-07-07 21:16:36
204
原创 【点云】源代码编译安装PDAL(Ubuntu)
1、依赖包,其中有我们熟悉的老朋友laszip和geotiff。3、利用CMake构建适应平台的Makefile。2、拉取代码,做准备。4、安装,过程比较久。
2024-07-05 16:53:02
721
原创 【Manjaro】向日葵只能在xorg上使用的问题
如果输出是 wayland,表示你当前的 GNOME 会话是基于 Wayland 的。查看输出: 上述命令会输出当前会话的类型,可能是 x11 或 wayland。如果输出是 x11,表示你当前的 GNOME 会话是基于 Xorg 的。打开终端: 使用快捷键 Ctrl + Alt + T 打开终端。
2024-07-02 00:25:13
563
原创 【Manjaro】三步搞定网络没问题但安装软件依然404的问题
这将自动选择最快的镜像源并更新 /etc/pacman.d/mirrorlist 文件。这会清除所有未安装软件包的缓存,以确保使用的是最新的软件包信息。-Sy:同步软件包数据库。执行系统和软件包升级。-u:执行升级操作。
2024-07-01 23:46:40
311
原创 【c-linux】linux系统,在c中写机器码,存到数组里,然后直接运行它
原帖:https://stackoverflow.com/questions/18476002/execute-binary-machine-code-from-c。难点在于栈中的数据,操作系统是拒绝执行的,如果强制转换成函数指针执行,会发生段错误,core dumped。因此该博主用mmap把这一段机器码放到可以执行的区域。
2024-07-01 16:11:20
298
原创 【Transformer】llama2.c探秘
从那天起,男孩和牛成了最好的朋友。男孩抓住球的绳子,牛帮助他把球扔出去,男孩笑着玩耍。他们在农场里非常开心地生活在一起。一天,这头牛看到一个小男孩。牛想帮助男孩,让他开心。于是,牛走向男孩,把球给了他。从前,在一个农场上有一座大红色的谷仓。谷仓里住着许多动物,有一头牛、一只猪和一只鸡。这头牛非常可靠,总是尽力帮助她的朋友们。非常容易运行,现在,让我们一起探秘吧。
2024-06-17 14:43:20
189
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅