自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 写代码时遇到的一些工程性问题

aaaaaaaaaaaaaaaaaaaaaaaaaaa

2024-02-17 14:49:02 197

原创 函数模板 函数参数

可以显示得使用 来指明 typename 中的R的含义,也可以通过传入参数让编译器自己意会。但是编译器一会会存在意会错误的情况,因此更建议。1. 函数模板只能在全局中定义,或者是在类中定义。不可以在函数中(例如 main 函数中被定义)我真的麻了,就是欠的债一定一定要补上,不然就会一直一直的恶心你!而且就是这种常见的语法,由于我不会,导致我。2. 举个例子:函数模板的定义和使用。

2024-02-14 21:47:32 419

原创 如何通过DOI搜索到文章

打开下述连接,输入DOI号或者直接键入文章名字就好了。

2024-01-18 20:04:10 1826

原创 解决方案|AttributeError: (module ‘scipy.sparse‘ has no attribute ‘coo_array‘) | 常见下载指定版本库的命令

打算画图,然后发现一直报错:AttributeError: (module ‘scipy.sparse‘ has no attribute ‘coo_array‘)网上说可能是networkx 和scipy 的版本原因,于是我先更新了scipy 原来的scipy是1.6.2 这个版本,更新为 :1.8版本。networkx 一直是 3.1 版本的。指定版本 为1.8版本。

2023-12-23 20:00:05 1422

原创 ubuntu pycharm 死机,如何重启

如图所是,我们看到有多个pycharm的进程正在运行,找到对应的id。通过 `kill -s 9 IDXXX` 结束指定进程。2. 使用 kill -s 9 来杀死进程。1. 找出pycharm 进程的id。ps -ef 是查看当前运行的进程。

2023-12-15 19:32:16 2305

原创 GraphSAGE 到底在训练什么? 图上的Mini-Batch 是怎么训练的 ?

【代码】GraphSAGE 到底在训练什么?图上的Mini-Batch 是怎么训练的?

2023-12-12 21:39:02 2208

原创 python 源码阅读

,但一般情况下,普通字符串表示也可以用于函数的文档字符串。选择使用原始字符串表示主要是考虑到其中可能包含大量特殊字符,使用原始字符串可以方便地避免对特殊字符进行转义。文档字符串是放置在函数定义内部顶部的字符串,用于描述函数的作用、参数、返回值以及其他相关信息。它们通常被用作函数的说明文档,便于其他开发者理解并正确使用该函数。需要注意的是,虽然这里使用了原始字符串表示(的说明,包括函数的功能描述、参数说明等。内的内容提供了对函数。

2023-12-06 20:31:02 654

原创 GCN 到底在训练什么呢?关于全图GNN训练,在聚合什么,训练什么?

但如果我们将该脚本作为模块导入到另一个脚本中,则__name__属性会被设置为模块的名称(例如"example"),语句块中的代码不会被执行。在DGL 中使用一串 True 或 False 组成的 一维tensor 来标识 这个节点到底是属于 train test val 哪一类。当我们直接执行这个脚本时,__name__属性被设置为__main__,因此满足if条件,语句块中的代码被调用。就可以:select_label_tensor = labels[train_mask] 了。

2023-12-04 22:43:05 1267

原创 记录一个傻错误:“error: expected identifier before string constant“

然后我 在类的属性中定义了一个 ofstream 类型的变量,指定了路径,然后就会给我抱着个错误,号和,真够傻的:"error: expected identifier before string constant"就是 : 在类中,类的 无论什么属性 public private 等,都是不可以在定义的时候赋初值 的。

2023-11-21 15:49:54 2034

原创 画图时使用的函数和一些错误处理

出现这个错:"ValueError: shape mismatch: objects cannot be broadcast to a single shape. Mismatch is between arg 0 with shape (0,) and arg 1 with shape (100,)."

2023-11-17 20:05:43 635

原创 dgl 的cuda 版本 环境配置(dgl cuda 版本库无法使用问题解决)

建议使用pip版本的,因为conda版本的命令我试过,没下载成功,因为开不开魔法梯子我都无法在命令行访问到anaconda官网,离谱,,明明刚还用conda下载了dglcu。1. 如果你同时有dgl dglvu-XX.XX 那么,应该只会运行dgl (DGL的CPU版本),因此,你需要把dgl(CPU)版本给卸载了。但是我只卸载CPU版本还不够,我GPU 版本的dglcu依旧不好使,因此吧GPU版本的也得卸载了重新安装。因此,torch 可以下载。

2023-11-15 08:57:43 5429 2

原创 C++源文件的编译过程 & 学习 CMake 文档的前置知识

想要成功将main.cpp编译生成可执行文件,需要使用指令告知 g++ 编译 main.cpp 的时候需要链接上 math.cpp 中的内容(因为main.cpp 中使用了 math.cpp 中定义的函数)2. include file 和 .lib 区别。1. include file 是什么?

2023-11-08 10:56:02 257

原创 cmake 中经常出现的 关键词 scope 中的 三种:PUBLIC PRIVATE INTERFACE

如果 在使用 `target_include_directories() `函数的时候,选择 PUBLIC 选项,那么,当生成B.lib的时候,只需要 `target_link_libraries(但是 我不可以使用 add_library() 来实现这个嘛, add_library() 和 target_include_directories() 有什么去区别?A.lib 依赖 a1.h a2.h ,B.lib 也依赖 a1.h a2.h。

2023-11-07 17:26:13 187

原创 什么是 archive file ,与 object file 的区别

archive file 是指:将这三个object file 文件 合成一个文件,之所以要将三个文件合成一个文件是因为这样更方便拷贝和分发给他人使用(因为此时的 archive file 文件依旧不是一个可执行的目标文件,想要生成一个可执行文件需要将这些object file 和 object file 中涉及的标准库中的头文件也连接起来,才能生成可执行文件。但是大多数情况下,object file 的源文件 是需要链接其他文件的,因此,源文件 编译后 生成的内容无法直接执行。

2023-11-06 16:19:20 997

原创 一个阅读英文文档的记录与思考:

我之前会把他理解为关键字,但是还不太准确,这是一类定义好含义的,在CMAKE 执行阶段会被赋初值(如果我们在CMakeLinks.txt文件中有指定,那么,按我们的set()来,没有指定就有一个默认的初始值),因此,被称作是 settable variable。==》因此,我目前的策略是,遇到这种没见过的用法,在第一次出现的时候,一般tutorial 中都会给出解释,标亮或者记录一下,方便以后回头来进一步理解(因为妄图一次就理解清楚基本是不可能的,暂时先别想了)

2023-10-29 20:31:59 194

原创 cmake 学习记录

开始吧:1. 首先熟悉最基本的几个命令:cmake 与 CMakeLists.txt配套,通过 cmake 命令将 CMakeLinks.txt翻译为能被make命令使用的makefile.txt文件因此,cmake在执行命令的时候,需要 为 包含CMakeLists.txt 的路径make 与 makefile.txt文件配套,是用于编译链接各个.c .o .h 文件的因此,make在执行命令的时候,需要与makefile.txt 在同一路径中补充:(1)cmake 也有通过mak

2023-10-29 19:25:11 265

原创 vscode markdown 使用技巧 -- 如何快速打出一个Tab 或多个空格

【注意】 现在应该是该版本了,上述的把markdown的自动补全功能打开用的json语句会被VSCode自动修改匹配为,不过既然还是自动匹配,那么,markdown的 json还是像步骤那样书写也是可以的,没关系啦。我在使用VSCode,这玩意很好用,但是,有一个缺点是,我想使用Tab来做一些对其,但是我发现在VSCode中,无论是Tab还是多个空格,最终显示出来的都是一个空格。很好的实现,但,我的傻逼Ubuntu实在是下载不了搜狗,因此这种方法对我来说没啥帮助。

2023-10-26 19:13:58 2106

原创 Windows 和 Linux 这2个系统在进行编程实现的时候的一些区别:

很惭愧,学了很多年才意识到,噢,原来这两个系统实现一些功能的时候会使用到不同的库,使用不同的函数。那么,也会延伸出一些问题:比如,如何实现版本的迁移。一个在Linux上运行的代码如何可以比较容易地迁移到Windows平台上运行成功呢?同时我们已知,编译器得一个功能就是匹配不同的运行平台(这里我特指C++ 这两个语言,因为Java 可以全平台通用【这个涉及JDK ,稍后补充一下】)

2023-10-26 17:08:22 1261

原创 sudo apt update 后会出现的一堆问题的解决

在这一步中,你需要把Driver给去掉,否则会报错。(去掉Driver的方法是 再点击一下 Enter)因为已经装了Driver了,所以再次安装会起冲突。我暂时不知道英伟达为什么要把驱动和CUDA捆绑在一起。warning里面关于CUDA driver的内容不用管,说的就是没装NVIDIA driver。去掉之后选Install,稍等一会儿,就能安装成功了。如果有协议,输入accept就行。

2023-10-25 20:13:10 361

原创 安装 fcitx + 搜狗/谷歌输入法 之后导致 死机,重启后黑屏只有鼠标可以移动

首先:ctrl+alt+F6 进入命令行界面,如果进不去就 ctrl+alt+F2。一般的原因就是 : fcitx 导致的问题。方法就是 先卸载搜狗,再卸载fcitx。

2023-10-25 16:52:19 1716 3

原创 GPU 驱动下载记录

1. 我的GPU 是这个:GeForce RTX 2060。

2023-10-18 14:23:38 1461

原创 CPU GPU TPU NPU 的一些概念 和 使用

NVCC(NVIDIA CUDA Compiler):将包含CUDA内核操作的 C/C++ 代码 编译为 可以被GPU处理的机器码,这样我们就可以通过指令来操作GPU这个本来用于图形渲染的硬件了。不同硬件的驱动程序不同:对于GPU来说,有很多厂商都提供GPU硬件,如 英伟达,AMD等,不同厂商的硬件产品对应的驱动不同。CUDA Toolkit 提供了一些 CUDA-C CUDA-C++的编译器(这个编译器就是 NVCC),一些实用库、科学库等,一些 library API 及其示例代码。

2023-10-10 18:51:41 910

原创 英语字典的一些 关键字 解释:

这里的specialized 后面还接了 finance & economics 含义是 在经济和金融的领域,principal 作为一个专业术语,含义是 “本金,可生息资本”

2023-10-09 19:56:37 176

原创 SQL 语句学习总结:

题目 :John Lasseter导演的每部电影每分钟值多少钱,告诉我最高的3个电影名和价值就可以==》定义 val 变量,并在排序的时候直接使用limit 3。

2023-09-02 16:45:02 1515

原创 读写一致 && MySQL&&Redis

延迟等待一小段时间(避免此时的读操作 正在把 之前读到的旧数据写回到Cache的路上,等这个读操作把旧数据写回到cache,然后在删除,这样就避免了,我这边刚删完,写操作就带着旧数据写回到Cache中了,这不白删除了嘛);==》和旁路缓存的区别在于:旁路缓存是全由用户去做的,数据不存在就自己写代码从MySQL中读,load到Redis中;但是读写穿透则是:用户就直接和缓存交互,缓存和数据库的交互有缓存自己处理,不用用户操心。:恶意攻击,访问不存在于数据库中的请求,那Redis中没缓存。

2023-08-24 19:04:49 416 1

原创 【计算机网络】【常考问题总结】

出现 ②数据乱码 这种情况的原因是:A发送了第一个包200字节,B的缓冲区大小是70,因此,B最多收到70字节,此时,由于数据包没有结束,因此没有\0结尾,在读取的时候,就会因没有\0一直读取,越界了也要读取,一直到读到\0才会停止,而这会导致读取到不需要的非法数据,形成乱码。出现 ①数据截断 这种情况的原因是:A发送了第一个包100字节,但是B收到了前50 ,同时B的缓冲区大小是70,因此,B自动给这获得的50字节补充了一个\0 ,接下来再收到A发来的后50字节因为\0的存在,不会被读走。

2023-08-22 13:43:19 1807

原创 【操作系统】虚拟内存相关&分段分页&页面置换算法

虚拟内存是什么?【进程地址空间=虚拟地址空间=C/C++程序地址空间就是那个4G的空间】虚拟内存是操作系统内核为了对进程地址空间进行管理,而设计的一个逻辑意义上的内存空间概念。在程序运行过程中,虚拟内存中需要被访问的部分会被映射到物理内存空间中,CPU 通过将虚拟地址翻译成物理地址,这样才能访问到真实的物理内存,使得程序顺利执行。【比如我们在写完一段C++程序之后都需要采用g++进行编译,这时候编译器采用的地址其实就是虚拟内存空间的地址。

2023-08-20 20:03:22 2005

原创 Java高级 【21小时】听吧

还是陈的课。

2023-08-08 19:44:10 91

原创 Redis 总结【6.0版本的】

Redis的使用:如果源码不编译,是无法实现自动跳转的,Redis在win上编译有点麻烦,我是使用的CentOS环境,Clion编译编译完就可以直接通过shell连接Redis server了server.c 中放的是就是主类 :6000多行左右是入口main()函数位置Redis的使用:通过redis.conf 文件的如下位置 配置 Redis有多少个数据库:select 0 select 1对应就是数据库的序号,16个数据库对应0-15下标。。。。。。。。。。。。。。。。。。。。。。

2023-08-05 20:11:40 1234

原创 mysql 的 操作内容:sql语句,优化策略,锁,一致性等?

一般情况下我们创建的表对应一组存储文件当数据量较大时(一般千万条记录级别以上),MySQL的性能就会开始下降:此时只是单纯的添加索引的话,会发现 影响到了新增和删除的性能。此时 我们将数据分散到不同的表上,单表的索引大小就得到了控制,对索引以及表结构 的 变更会变得很方便和高效。总结一下:当数据量较大(千万级别记录),我们就需要将数据分散到多组存储文件,保证其单个文件的执行效率。

2023-08-04 13:14:01 326

原创 MySQL 的存储引擎 InnoDB的架构(Redolog UndoLog binLog 是如何支持事务的);各种宕机场景解决措施【THIS】【Deal It 23/8/8】

锁、乐观悲观锁 这块 看看第四节视频里面有没有,没有就看看理解一下记录一下,这块重点常考【是吧】一个总结的比较全面的MySQL内容;

2023-08-04 10:17:58 176

原创 容器的简单使用

docker将程序以及程序所有的依赖都打包到docker container,这样你的程序可以在任何环境都会有一致的表现,这里程序运行的依赖也就是容器就好比集装箱,容器所处的操作系统环境就好比货船或港口,,这是当前互联网公司最常见的一个应用场景,一个原因在于容器启动速度非常快,另一个原因在于只要确保一个容器中的程序正确运行,那么你就能确信无论在生产环境部署多少都能正确运行。问题:Docker中是有自己的此时运行的程序的全部环境对吗?,这里的运行时环境指的是程序运行依赖的各种库以及配。

2023-08-02 07:08:51 195

原创 Nginx使用

Tomcat8 默认配置的最大请求数是 150,也就是说同时支持 150 个并发,当然了,也可以将其改大。所以在低并发的情况下,用户可以直接访问tomcat服务器,然后tomcat服务器返回消息给用户。当某个应用拥有 250 个以上并发的时候,应考虑应用服务器的集群。在传统的Web项目中,并发量小,用户使用的少。

2023-08-01 14:58:18 113

原创 Linux 命令学习:

例如使用 /bmrt/blaph/blaph/bmgctl 来启动进程,由于ps aux是用BSD格式来显示结果,所以可能只会显示到 /bmrt/blaph/blap,后面的都被截掉了。这样,如果用 ps aux | grep bmgctl 来过滤该进程,可能就会误伤,获取不到bmgctl进程。,显示出来就是带全路径的进程名,会显示出bmgctl,在 ps -ef | grep bmgctl 命令下。2、aux会截断command列,而-ef不会,当结合grep时这种区别会影响到结果。

2023-08-01 14:27:55 495

原创 HTTP协议 和 HTTPS协议的区别(4点) && HTTPS的缺点 && HTTP如何使用SSL/TLS协议加密过程 && CA证书干啥的

HTTPS上所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥 通过 CA证书 进行了非对称加密传递给 客户端。因此,假设 S 公钥不做加密,在信道中传输,那么很有可能存在一个攻击者 A,发送给 C 一个诈包,假装是 S 公钥,其实是诱饵服务器 AS 的公钥。当 C 收获了 AS 的公钥(却以为是 S 的公钥),C 后续就会使用 AS 公钥对数据进行加密,并在公开信道传输,那么 A 将捕获这些加密包,用 AS 的私钥解密,就截获了 C 本要给 S 发送的内容,而 C 和 S 二人全然不知。

2023-07-31 15:16:18 1634

原创 数据包在网络中传输的过程

从PC1到Server的整个数据包流动过程,PC1执行OSI七层的封装,然后把比特流传到集线器;R1执行OSI下三层的处理后,再把比特流传到路由器R2;R2执行OSI下三层的处理后,再把比特流传到交换机;网络层的设备改变帧的格式,要执行帧的解封装和再封装,但不改变数据包中的源和目的IP地址。数据链路层的设备也不改变帧的格式,但可以根据数据帧中的目的MAC地址进行转发;从这个流动过程中,可以发现数据流在中间设备上主要执行的是OSI下三层的操作。物理层的设备不改变帧的格式,广播式转发。

2023-07-31 08:49:52 1269

原创 客户端服务器通过Socket API通信流程 && 通过源码角度分析 三握手四挥手都过程的状态改变 及 例如accept()connect()具体做了什么

(1)主动端出现大量的FIN_WAIT1时需要注意网络是否畅通、出现大量的FIN_WAIT2需要仔细检查程序为何迟迟收不到对端的FIN(可能是主动方或者被动方的bug)、出现大量的TIME_WAIT需要注意系统的并发量/socket句柄资源/内存使用/端口号资源等。,connect()函数去封装好一个SYN包,并且在该SYN包中也写明了 seq内容、window 大小等一系列后续数据传输的参数信息,并将自己的状态置为 SYN_SEND;至此,TCP连接就建立了,客户端和服务器可以愉快地玩耍了。

2023-07-30 14:35:31 709

原创 OSI 7层模型 && TCP/IP四层模型 && 5层模型都是什么,作用是什么【每层的协议没整理完】

在计算机之间传输文件的协议,可以屏蔽操作系统和文件存储方式 FTP(基于 TCP 协议)[FTP 是一种不安全的协议,因为它在传输过程中不会对数据进行加密。应用层:实现各应用之间信息交换的服务,定义了各个应用传输信息格式,即,定义了传输信息的协议(如Web应用的传输信息协议 HTTP、远程登录协议Telnet、安全的网络传输协议SSH、域名管理系统DNS)UDP(User Datagram Protocol,用户数据协议):提供 无连接 的,尽最大努力 的数据传输服务(不保证数据传输的可靠性),简单高效。

2023-07-28 08:22:12 633

原创 设计模式!启动!

设计模式要干的事情就是。

2023-07-24 13:55:08 311

原创 C++ 的面向对象三个特性 --继承、封装、多态的实现 ===》编译时多态

该函数被C 编译器编译后在库中的名字为_foo, 而C++ 编译器则会产生像_foo_int_int 之类的名字,加上extren”C”后,就相当于告诉编译器,函数foo是个C编译后的函数,在库里应该找的是_foo,而不是_foo_int_int.现在,第二个 val()函数被 const 修饰,那么,其 编译后的函数参数列表中的第一个参数就是 const Number *this ,因此,与 第一个 val() 函数在参数列表中不一致,可以重载。函数重载是指在同一作用域内,可以有一组具有相同函数名,

2023-07-17 15:45:16 233

空空如也

空空如也

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

TA关注的人

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