- 博客(165)
- 资源 (1)
- 收藏
- 关注
原创 GO-学习-07-基本数据类型-byte和rune
ASCII是一种最常见的字符编码方式,它使用一个字节(8位)来表示一个字符,共有128个字符,包括英文字母、数字和一些常见的标点符号。UTF-8编码可以表示几乎所有的字符,包括ASCII字符和几乎所有的国际字符。Go语言中的字符是Unicode字符,使用rune类型表示。Go语言还提供了一些处理字符的内置函数,如strings包中的Contains()、Index()、Split()等,可以更方便地操作字符串中的字符。与ASCII相比,UTF-8具有更广泛的字符表示能力,可以支持全球各种语言的字符。
2024-07-27 23:33:22
364
原创 GO-学习-06-基本数据类型-字符串
普通字符串可以包含转义字符,例如:"Hello\tWorld"表示带有制表符的字符串。而原始字符串包含的内容则会原样输出,不会进行转义处理。Go语言中的字符串是一个字符序列,使用双引号(“”)或反引号(``)来表示。双引号表示普通字符串,反引号表示原始字符串。可以在源码中直接添加非ASCII码字符。
2024-07-27 10:55:24
608
原创 GO-学习-05-基本数据类型-布尔型
3.布尔型无法参与数值运算,也无法与其他类型进行转换。2.Go语言中不允许将整型强制转换为布尔型。bool 只有true 和false。1.布尔类型变量的默认值为false。
2024-07-26 22:31:16
417
原创 GO-学习-04-基本数据类型-浮点型
例如,可以使用math库中的Float64bits函数将浮点数转换为一个整数,然后比较两个整数是否相等来判断两个浮点数是否相等。在Go语言中,float类型的丢失问题一般是由于浮点数的精度问题造成的。由于计算机内存的限制,浮点数无法精确表示所有的实数,因此在进行浮点数的计算时可能会出现一些舍入误差。上面的代码中,我们使用了一个很小的误差范围epsilon来判断a+b和c是否相等,如果两者的差小于epsilon,则认为它们相等。Decimal类型是Go语言中的一个精确计算库,可以避免浮点数计算中的丢失问题。
2024-07-25 23:03:10
426
原创 GO-学习-03-基本数据类型
Go语言的目标是简洁、高效和可靠,其特点包括:静态类型、垃圾回收、编译型、并发编程支持等。Go语言的由来可以追溯到2007年,当时Google的工程师Robert Griesemer、Rob Pike和Ken Thompson开始着手开发一种新的编程语言,目标是创造一种更简单、更高效、更安全的编程语言,以满足Google内部大规模软件开发的需求。根据不同的位数,还包括int8、int16、int32、int64和uint8、uint16、uint32、uint64这些具体的整数类型。
2024-07-25 23:02:48
1002
原创 GO-学习-01-变量
变量名由字母、数字、下划线组成,其中首个字母不能是数字,Go中关键字和保留字不能作为变量名。声明-使用(必须),同一作用域不能重复声明。
2024-07-24 08:27:01
178
原创 DGit的使用
当使用 dGIT 插件在 GitHub 上推送、拉取、访问私有存储库等时,您需要输入 GitHub 个人令牌。2.清理,如果您不在工作区上工作,请将其删除或推送至 GitHub 或 IPFS 以确保安全。复制该令牌并将其粘贴到dGit 的 GitHub 设置部分的CONFIG子部分中。您可以在GitHub 设置 -> 开发者设置中创建具有 REPO 权限的令牌。0.在 GitHub 上创建了一个空的 git repo,私有的或者公开的。通过单击“Stage all”或加号按钮,您可以将文件添加到暂存区。
2024-06-18 16:59:31
366
原创 DGit介绍
众所周知,Git本身就是分布式的,任何的Git仓库备份都是包含该项目所有历史版本的所有的文件,分支,以及提交记录。DGit利用Git的这个特性为每个仓库在三个服务器中保存着三份备份。现在,我们使用DGit,每一个仓库分别独立地存储在我们的文件服务器集群中的三个服务器上。DGit自动地为每个仓库选择宿主服务器,同步备份到各个宿主服务器,并选择一个最佳到服务器来响应每个读请求。假设一个文件服务器需要下线,DGit可以自动地判断哪些仓库的备份少于3份,并且自动创建一个新的备份到其他可用的服务器上。
2024-06-18 16:17:38
432
原创 联邦学习【01】杨强第三章横向联邦学习复现
在一些分布式或异步更新的训练算法中,本地模型通常是在单个机器上训练得到的,而全局模型则是由多个机器上的模型进行聚合得到的。为了将本地模型的参数更新同步到全局模型,需要计算本地模型参数与全局模型参数之间的差异,并将这个差异用于更新全局模型的参数。具体来说,对于本地模型中的每个参数,通过访问全局模型的状态字典model.state_dict()来获取对应参数的数值,然后计算本地模型参数与全局模型参数之间的差异,并将这个差异存储在diff字典中,以参数的名称作为键。batch_size:本地训练每一轮的样本数。
2024-06-02 18:02:53
1090
2
原创 go语言linux安装
解压下载的压缩包,linux建议放在/opt目录下。下载:https://go.dev/dl/我放在/home/ihan/go_sdk下。新建goproject文件夹。
2024-06-02 18:01:21
489
原创 Go module 常用操作
在 $GOPATH 以外的目录创建一个任意目录,然后初始化 go mod init myproject,成功之后会发现目录下会生成一个 go.mod 文件。文献参考:https://blog.csdn.net/wohu1104/article/details/110505489。
2024-05-30 11:32:47
284
原创 Go Modules 使用
go.mod 文件定义了模块的模块路径,它也是用于根目录的导入路径,以及它的依赖性要求。从 Go 1.11 开始,Go 允许在 $GOPATH/src 外的任何目录下使用 go.mod 创建项目(以前所有项目都在src下)。Go 命令行工具只使用 Go Modules,GOPATH不再作为导入目录,但它还是会把下载的依赖储存在 GOPATH/pkg/mod 中,也会把 goinstall的结果放在 GOPATH/bin 中,只移除了 GOPATH/src/。Go 命令行工具从不使用 Go Modules。
2024-05-30 11:27:35
405
原创 Go模块(GO111MODULE=on)
启用Go模块(GO111MODULE=on)后,其具体用途和好处体现在多个方面,尤其是在现代Go项目的开发和维护中。总的来说,启用Go模块支持极大地改善了Go语言的依赖管理和项目组织方式,是现代Go开发实践中的一个重要组成部分。
2024-05-30 10:46:22
580
原创 go语言安装与实现
总的来说,Go语言适用于各种领域的软件开发,特别适合构建高性能、高并发的服务端程序。它的简洁语法、强大的并发支持和高效的执行性能使其成为一个备受开发者喜爱的编程语言。Go语言在Web开发方面也非常强大,有许多成熟的框架和工具可供选择,如Gin、Beego等。同时,Go语言还支持跨平台编译,在不同的操作系统上都可以运行。它的设计目标是提供一种简单、高效、可靠的编程语言,适用于大型软件项目的开发。它还有一套丰富的标准库,提供了许多常用的功能和工具,如网络编程、文件操作、加密解密等。
2024-05-30 10:01:26
1181
原创 python自定义x坐标名称
在这个例子中,我们使用了plot()函数绘制了一条折线图,然后使用xticks()函数设置了x轴坐标的位置和标签。x轴坐标的位置使用了列表x,x轴坐标的标签使用了列表[‘A’, ‘B’, ‘C’, ‘D’, ‘E’]。最后使用show()函数显示图形。运行这段代码,你会看到x轴的坐标名称被自定义成了’A’, ‘B’, ‘C’, ‘D’, ‘E’。你可以根据自己的需求修改这个列表来自定义x轴的坐标名称。
2024-05-11 09:31:39
736
1
原创 window10设置静态IP
或者其他方式进入网络与internet中心。选择手动将刚才的信息方进入即可。点击编辑(点击一个即可)获得网络连接详细信息。
2024-05-10 20:10:57
386
原创 Numpy基础笔记
1.引用import numpy as np多维数组对象1.定义ndarray对象是用来存放同种类型的元素的多维数组,每个元素类型相同,有shape属性,表征每一个维度的数量,有dtype属性,描绘数组的数据类型。2.生成np.array()np.zeros()...
2024-04-18 10:25:31
380
原创 git入门教程学习03
心中有数一、git的基础命令1.版本库(仓库)——Repository2.在已存在目录中初始化仓库 —— git init3.克隆现有的仓库 —— git clone4.在已经准备好的 Git 仓库中编辑一个readme.txt文件,内容如下:5.git log命令6.回退到上一个版本6.恢复到新版本二、总结一、git的基础命令1.版本库(仓库)——Repository可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史
2024-04-18 10:25:00
527
原创 git入门教程学习02
心中有数一、Git的安装二、环境配置一、Git的安装1.在 Windows 上安装 Git 的方法如下:打开 https://git-scm.com/download/win,然后选择相应的版本下载完成后,按照提示进行安装即可。2.Chocolatey 自动安装使用 Git Chocolatey 包。 Chocolatey 官网:https://chocolatey.org安装好 Chocolatey 后,执行如下命令:choco install git.install二、环境配置...
2024-04-13 19:47:38
481
原创 git入门教程学习01
心中有数一、版本控制二、本地版本控制系统三、集中化的版本控制系统(CVCS)四、分布式版本控制系统(DVCS)一、版本控制1.版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。2.版本控制系统发展可以分为 本地版本控制系统、集中式版本控制系统以及分布式版本控制系统三个阶段。二、本地版本控制系统采用某种简单的数据库来记录文件的历次更新差异。最流行的是RCS,RCS 的工作原理是在硬盘上保存补丁集(补丁是指文件修订前后的变化);通过应用所有的补丁,可以重新计算出各个版本的
2024-04-13 19:47:05
222
原创 【03】推荐系统-常用数据集介绍
MovieLens 100K:包含大约10万条用户对电影的评分,涵盖了大约1000部电影。MovieLens 10M:包含大约1000万条用户对电影的评分,涵盖了约1.1万部电影。MovieLens 20M:包含大约2000万条用户对电影的评分,涵盖了约2.7万部电影。MovieLens 1M:包含大约100万条用户对电影的评分,涵盖了大约6000部电影。MovieLens 25M:包含大约2500万条用户对电影的评分,涵盖了约6万部电影。
2024-04-12 15:11:57
434
原创 为什么你选择成为一名程序员
学习氛围好:编程领域有很多优秀的教育资源和社区,可以持续学习和与其他程序员交流。自主性强:作为程序员,可以选择自由职业、远程工作,或者创业等多种工作方式。创造力和影响力:编程能够创造出新产品、解决现实问题,并对社会产生积极影响。职业前景好:程序员是当今社会需求量大且稳定增长的职业之一,就业机会较多。兴趣爱好:对编程和计算机科学有浓厚的兴趣,喜欢解决问题和创造新的东西。薪资待遇好:IT行业的薪资普遍较高,尤其是高级程序员和专家级人才。
2024-04-11 15:07:24
209
原创 矩阵分解【00】
而矩阵分解算法将 m×n 维的矩阵R分解为 m× k 的用户矩阵 U 和 k×n 维的物品矩阵 S 相乘的形式。其中, m 为用户的数量,n为物品的数量,k为隐向量(Latent Factor)的维度。而Funk-SVD完美的解决了SVD的不足,它仅将矩阵分解为两个矩阵,分解的目标是让分解后的两个矩阵乘积得到的评分矩阵和原始矩阵更拟合,也就是说与原始评分的残差最小。2.如图,评分矩阵中,每一行u代表每个用户,每一列s代表每个物品,矩阵中的数字代表着用户对物品的打分。SVD 需要原始的共现矩阵是稠密的。
2024-04-11 09:41:31
332
原创 anaconda命令行创建虚拟环境并为其安装jupyter notebook同时指定jupyter notebook保存位置
python=x.x:可以选择自己想要的版本(例如3.6版本:python=3.6)查看有哪些虚拟环境(一个环境一个版本的python或者其他库)anaconda的安装第三方库名字是conda 也能用pip。我们新建一个jupyternotebook在刚才的虚拟环境中。应该是进入conda的安装路径,但是我们已经添加环境变量。我们现在新建虚拟环境 python版本为你需要的。如果下载很慢,就需要换源(外网太慢,换成国内的)直接点击默认的是默认base的虚拟环境。win+r快捷键 输入cmd。
2024-04-09 21:19:47
1269
原创 Fabric入门【00】简介
(1)记账节点(Committer):所有的peer节点都是记账节点(committer),负责验证排序服务节点区块里的交易,维护状态和Ledger的副本。和基于 Kafka 的排序服务相比,基于 Raft 的排序服务将变得更容易设置和管理,并且它的设计允许遍布全球的组织成为分散的排序服务贡献节点。(3)主节点(Leader):peer节点还可以是主节点(leader peer),能与排序服务节点orderer通信,负责从排序服务节点获取最新的区块并在组织内部同步。主节点在整个组织中只能有一个。
2024-04-09 21:17:10
1022
原创 ubuntu添加固定路由
sudo ip route add 10.xxx.xxx.0/25 via 1.xxx.xxx.xxx(我的是虚拟机)dev ens65 proto static metric122。请注意,这些路由设置只在当前会话中有效。如果您希望在系统重新启动后保留路由设置,您需要将这些设置添加到网络接口配置文件中。以上步骤应该可以在Ubuntu上成功添加新的网卡。请注意,网卡名称可能因不同的硬件配置而异。要在Ubuntu上添加路由,您可以使用route命令。
2024-04-07 11:34:47
938
原创 windows中anaconda下创建新的新的jupyter环境
随后接着输入conda install jupyter就能顺利安装jupyter notebook(pylessonppt)在Anaconda Prompt中输入conda activate pylessonppt。python=x.x:可以选择自己想要的版本(例如3.6版本:python=3.6)打开Anaconda Prompt,输入conda env list。打开Anaconda Prompt,输入conda env list。myenv-name:自己定义的环境名称。
2024-04-05 17:12:56
366
原创 【00】【solidity最新教程】-简介
(1)如果不想让矿工作弊的话,在智能合约中使用随机数会很棘手 (注:在智能合约中使用随机数很难保证节点不作弊, 这是因为智能合约中的随机数一般要依赖计算节点的本地时间得到, 而本地时间是可以被恶意节点伪造的,因此这种方法并不安全。这里的问题不是很严重,因为有限的 gas 也作为 send 的一部分,但仍然暴露了一个缺陷: 以太币 的传输过程中总是可以包含代码执行,所以接收者可以是一个回调进入 withdraw 的合约。除此之外,智能合约的每一次执行都是公开的,而且源代码也通常是容易获得的。
2024-04-05 11:28:32
1089
原创 【03】区块链科普100天-技术研究
而随着信息技术的不断更新与发展,运用区块链技术,就能有效的实现对电网资源的合理保护,给电力能源在网络中的便捷流通提供了方便,减少了对中介机构的依赖,以此也就降低了数据信息遭到窃取的风险,从而就能有效的提高电力企业的竞争优势。(二)区块链构建更完善的社交网络区块链技术的主要特点就是具备去中心化的网络体系,使得用户的所用网络行为不再受到网站系统的监管,这样也就降低了数据信息泄露的风险性。区块链技术的使用,既可以实现对数据信息的高级别保护,而且还能实现数据的共享,以此就给数据间的交流提供了便利。
2024-03-04 15:37:59
523
原创 【02】区块链科普100天-DID分布式数字认证
背景:《网络安全法》,《数字安全法》,《个人信息保护法》 建设数据要素市场。作用:让多方组织在不接触个人隐私的前提下确认个人身份。国内市场发展数字经济的基石。特点:前端匿名,后台实名。
2024-03-04 14:51:46
621
1
原创 【01】区块链科普100天-模块化区块链
这不仅减轻了主链的负担,也为开发者提供了更大的灵活性和创新空间。lgnis是基于Ardor公链的一个子链,母子链架构增强了网络性能,而且提供了更高的灵活性,这种架构不仅增强了网络的性能,而且提供了很高的灵活性,适合快速发展和部署DApp。1.层次架构:传统区块链将所有任务,如交易处理、共识机制、数据存储等集成在单一层中,模块化区块链将这些功能分割成独立的层,实现更高效的处理和升级。2.可拓展性:模块化区块链中,不同功能的隔离提高了整体网络的安全性,即使某一模块出现安全问题,也不会影响整个网络。
2024-02-29 09:29:29
1069
原创 【数据集】-独立同分布
例如,联邦学习中的模型聚合算法可以通过考虑每个客户端的数据分布权重,来平衡不同数据分布之间的差异。总之,数据不独立同分布是联邦学习中的一个常见问题,需要我们采用特殊的方法来处理。传统的机器学习算法通常假设数据是独立同分布的,然而在联邦学习中,模型需要在各个客户端上进行训练,并合并各个客户端的模型权重。这些本地数据集通常是由客户端的用户生成的,因此每个客户端可能具有不同的数据分布。这意味着训练数据集中的样本之间是相互独立的,并且这些样本都是从同一个真实分布中采样得到的。
2024-01-01 12:53:42
685
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人