自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 R语言画散点图-饼图-折线图-柱状图-箱线图-等高线图-曲线图-热力图-雷达图-韦恩图(三D)

绘制 3D 折线图可以使用 plotly 或 rgl 等包。plotly 提供了直观的 3D 绘图功能,适合用于交互式图形,而 rgl 则适合用于需要更详细定制的 3D 图形。scatterplot3d 包提供了一种简单的方式来创建3D散点图,虽然功能不如 plotly 和 rgl 强大,但对于基本的3D绘图非常有效。plotly 是一个强大的交互式图形包,能够创建各种复杂的图形,包括类似于3D饼图的效果。plotly 是一个非常强大的交互式图形包,支持多种3D绘图功能,包括3D散点图。

2024-07-21 23:15:01 957

原创 R语言画散点图-饼图-折线图-柱状图-箱线图-直方图-等高线图-曲线图-热力图-雷达图-韦恩图(二D)

R语言绘制直方图是一种展示数据分布的常用图形,它通过将数据范围分成若干个连续的区间,并用矩形的面积来表示在每个区间内数据点的频数或频率,直方图可以直观地了解数据的分布形态,如数据的集中趋势、分散程度和异常值等。要画雷达图(也称为蜘蛛图或极坐标图),可使用fmsb包提供的函数来实现,雷达图适合用于展示多个变量的相对大小或比较不同类别在不同维度上的表现。如果需要画离散的数据点,或想要绘制自定义的曲线,可以使用 plot() 函数配合 lines() 或 points() 函数来实现。

2024-07-19 14:23:25 1485

原创 R语言学习笔记11-读取csv-xlsx-txt-json-pdf-lua格式文件

readxl 包提供了更为现代和高效的方法来读取Excel文件,支持更多的Excel特性 适合处理各种Excel文件格式和大型数据集。xlsx 包提供了一种读取Excel文件的方法,适用于较旧版本的Excel文件(.xlsx格式)read.csv 是R语言中用于读取CSV文件的基本函数,它会将CSV文件读取为一个数据框对象。readr 包提供了更为快速和灵活的CSV读取函数 read_csv 特别适合大型数据集的处理。可使用R语言的 readLines 函数来逐行读取Lua脚本文件的内容。

2024-07-18 10:10:37 889

原创 R语言学习笔记10-向量-矩阵-数组-数据框-列表对比

数据框是R中常用的二维表格型数据结构,类似于数据库中的表格,每列可以是不同类型的数据(例如数值、字符、因子等)列表是一种复合数据结构,可以包含不同类型的数据对象,每个元素可以是向量、矩阵、数据框或其他列表等。矩阵是由相同数据类型的元素按行列组成的二维数据结构。向量是R中最基本的数据结构,可存储相同类型的元素。数组是由相同类型的元素组成的多维数据结构。

2024-07-17 11:10:13 445

原创 R语言学习笔记9-数据过滤-分组-融合

R语言从数据集中提取符合条件的行或列。group_by()函数将数据按group列的值进行了分组,但分组后的数据框grouped_df本身不会直接显示分组的内容。left_join()函数执行了按照ID列的左连接操作,即保留了df1中所有的行,并将df2中匹配的行数据合并到一起。merge()函数按照ID列将df1和df2进行连接,结果包含了所有的ID,并将两个数据框中的数据合并在一起。在data.table中,merge()函数的用法与基础R中的merge类似,但它在处理大数据时有更高的效率。

2024-07-16 11:26:45 1012

原创 R语言学习笔记8-并行计算

在R语言中,通过并行计算可以显著提升处理大数据集或执行耗时任务的效率。R提供了多种并行计算的方法,包括使用基础的parallel包和更高级的foreach和future包。future包提供了一种更为高级和灵活的并行计算方式,它允许异步执行任务,并能够轻松地在本地或远程集群中进行任务调度。foreach包结合doParallel包提供了更加方便的接口来实现并行计算,特别适用于迭代式任务的并行化处理。在上述例子中,foreach()函数用于并行迭代计算,.combine参数指定了如何合并各个迭代的结果。

2024-07-16 10:56:33 347

原创 R语言学习笔记7-列表

R语言中的列表(list)是一种非常常用和灵活的数据结构,它可以包含各种类型的对象,包括向量、矩阵、数据框等,甚至是其他列表。列表在R中的使用非常广泛,特别是在存储和组织复杂数据对象时非常有用。

2024-07-15 10:12:50 612

原创 shell中的sed使用

sed是在Unix和类Unix操作系统上流行的一个强大工具,用于对文本进行处理和转换。主要用于从标准输入或文件中读取文本,根据一系列指令进行处理,然后将结果发送到标准输出。sed最常见的用途之一是在脚本中批量编辑文本数据,尤其是在处理大型文件或需要重复操作的情况下~

2024-07-14 19:33:45 592

原创 R语言学习笔记6-数据框

数据框(DataFrame)是R语言中用于存储和处理表格数据的重要数据结构。由行和列组成,每列可以包含不同类型的数据,但同一列中的数据类型必须相同。数据框中的每一列都有一个列名,用于标识数据的内容。

2024-07-12 10:33:38 1084

原创 R语言学习笔记5-数据结构-多维数组

R语言中的多维数组array是一种用于存储多维数据的数据结构,与矩阵相似但可以具有超过两个维度。

2024-07-10 11:01:46 1119

原创 R语言学习笔记4-数据结构-矩阵

R语言中的矩阵(matrix)是一种二维的数据结构,其中所有的元素必须是同一种数据类型(通常是数值型或字符型),特别适合存储和处理二维数据。

2024-07-09 10:40:06 570

原创 R语言学习笔记3-基本类型篇

1. 数值型(Numeric):用于存储数值数据,可以是整数或浮点数。例如:2, 3.14, -52. 字符型(Character):用于存储文本数据,必须用引号括起来。例如:“Hello, World!3. 逻辑型(Logical):用于存储逻辑值,表示真(True)或假(False)。在 R 中用 TRUE 或 FALSE 表示逻辑值,也可以用 T 或 F 的简写形式4. 因子型(Factor):可表示分类数据,具有预定义的取值范围和顺序。可通过 factor() 函数创建因子变量。

2024-07-08 11:29:31 958

原创 shell-awk语法整理

AWK是一种功能强大的文本处理工具,可根据指定的规则对文本和数据文件进行逐行处理,通过灵活使用模式和动作的组合,可以实现复杂的文本分析和数据处理任务,适合处理各种格式的文本文件和数据流BEGIN:特殊模式块,用于在处理输入数据之前执行初始化操作END:特殊模式块,用于在处理完所有输入数据后执行总结或清理操作BEGINFILE** 和 **ENDFILE:用于在处理每个输入文件前后执行特定操作getline** 模式**:允许在脚本执行过程中手动控制输入行的读取和处理方式。

2024-07-05 11:33:15 1074

原创 R语言学习笔记2-R&RStudio环境配置(Windows版)

默认情况下,R 使用的是 CRAN镜像源,它存放在全球各地的服务器上。选择一个附近地理位置的镜像源可以减少网络延迟,加快下载速度,特别是在中国大陆或其他地区访问国际镜像源时可能会遇到较慢的情况。确保选中 “Add R to system PATH” 选项,这样可以在命令行中方便地使用 R。完成安装后,您可以通过在命令提示符中输入 R 来验证是否成功安装,打开R显示如下界面表示安装成功。一些常用的镜像源包括清华大学镜像、中国科技大学镜像,通常能提供更好的下载速度和稳定性。点击下载链接并运行安装程序。

2024-07-03 11:00:42 687

原创 R语言学习笔记1-介绍与安装(linux版)

R语言是一种非常强大和流行的据分析和统计建模工具。它是一种开源的编程语言和环境,专门设计用于数据处理、统计分析和可视化。

2024-06-28 23:39:49 434

原创 redis类型解析汇总

Redis(Remote Dictionary Server 远程字典服务器)是一个开源的内存数据库,它可以作为缓存、数据库和消息中间件使用Redis 最基本的数据类型,可以存储文本、整数或者二进制数据。支持基本的字符串操作,如设置、获取、追加等。类似于关联数组,适合存储对象。每个哈希可以存储多个字段和对应的值。链表结构,支持从两端压入和弹出元素,适合存储有序的元素集合。可以用于实现队列、栈等数据结构。无序且唯一的元素集合,支持集合间的基本操作(交集、并集等)。

2024-06-21 15:31:12 872

原创 漏斗限流(leaky bucket)

漏斗限流(leaky bucket)是一种流量控制算法,用于限制在网络或系统中通过的数据量或请求速率。通常用于平滑网络流量或请求到达的速率,防止突发流量导致系统负载过高或网络拥塞。

2024-06-16 22:17:14 834

原创 lua中的lfs库介绍

lfs是lua中的一个文件系统库,提供了更多高级的文件和目录操作功能,使得lua可以更方便地进行文件属性获取、目录遍历、路径管理以及文件锁定等操作。

2024-06-14 23:21:13 652

原创 wetab-AI手机版安装教程

随即浏览器自动新建一个页面为WeTab的新标签页,表示你已安装完成

2024-04-30 07:44:04 1031

原创 skynet-skynet_module解析

中定义了 skynet 框架中用于管理模块的相关结构体和函数声明,框架可以灵活地扩展功能,实现高度的模块化。(1).c 的形式命名的,意味着在 skynet 框架中定义 C 模块时,建议使用 service_ 作为文件名的前缀,以便于在 Makefile 中进行统一的编译和链接处理。: 通过将模块的创建、初始化、释放等功能封装在模块管理器中,实现了模块化设计,提高了代码的可维护性和可扩展性。指向skynet模块的指针,用于与该服务相关联的模块管理。服务的句柄,用于标识唯一的服务实例。

2024-04-06 00:06:25 1053 1

原创 【shell常用指令整理】

less test.log | grep trace -C 5 | tail -n 10:查看test.log中所有匹配trace所在行的上下5行(只显示最后10行)less test.log | grep trace -C 5 | head -n 10:查看test.log中所有匹配trace所在行的上下5行(只显示开始10行)grep trace -C 5 test.log | head -n 10: 查看test.log中基于所以匹配到trace所在处上下5行的内容(只显示前10行)

2024-03-23 11:36:22 459

原创 【基于skynet的热更思考】

可以在运行时动态加载 Lua 代码文件,然后调用其中定义的函数,通过修改模块及其函数的upvalue,实现代码的动态注入和执行。这两段核心代码实现了一个动态加载和执行 Lua 代码的功能,通过构建环境表、加载代码并执行,最终返回执行结果。这个函数是实现动态注入功能的关键部分,能够实现在 Skynet 框架中动态加载并执行 Lua代码,完成注入热更脚本。用于调整传入的地址参数,对传入的地址参数进行转换,以保证将热更脚本注入到正确的服务地址。以二进制只读的方式读取文件内容。存放读取到的热更脚本内容。

2024-03-23 10:23:46 790

原创 skynet cluster集群笔记

skynet 是一个基于事件驱动的分布式游戏服务器框架,支持构建高性能、高并发的网络程序。skynet 中的节点是指运行着 skynet 实例的独立服务器。每个节点都有自己的地址和唯一标识符,可以运行不同的服务。节点之间通过网络连接进行通信和协作。在 skynet 中,服务是指运行在节点上的具体功能模块。每个服务都有一个唯一的服务名标识符,可以通过该标识符进行访问和通信。服务可以在同一节点上运行,也可以跨节点部署。skynet 中的集群是指多个节点连接在一起,共同组成一个分布式系统。

2024-03-10 13:28:44 1433 1

原创 skynet-debug console指令集整理

在skynet中,nc调试台是一个用于在运行中的skynet服务和调试器之间建立交互的工具。通过命令行与运行在skynet环境中的服务进行交互和调试,PS: 这里的nc调试台和linux系统中的netcat工具是不同的概念。

2024-01-18 12:03:30 1074

原创 centos7部署redis

如果 redis 已经安装并运行,该命令将打开一个交互式的 redis 命令行终端。可以通过输入 ping 命令来验证 redis 是否响应。如果返回 enabled,则表示 Redis 已成功设置为默认启动。如果返回 disabled,则表示设置未成功。检查 Redis 是否已启动。最后,可以使用以下命令来检查 Redis 服务是否已经设置为默认启动。如果 Redis 正常运行,该命令将返回 PONG。或者,可以尝试重启 Redis 服务。

2023-12-12 22:42:06 523

原创 不重复抽取算法思考

洗牌算法&随机样本算法,实际应用中可以结合上述2种算法实现。

2023-11-29 11:49:39 161

原创 centos7部署MongoDB流程

将dbUser替换为你要创建的数据库用户的用户名,将dbPassword替换为所需的数据库用户密码,将mydatabase替换为目标数据库。将adminUser替换为你想要创建的管理员用户名,将adminPassword替换为所需的管理员密码。将adminUser替换为管理员用户名,将adminPassword替换为管理员密码。将启动MongoDB的Shell,可以在此执行MongoDB命令。如果成功登录,就表示账号创建成功。9. 连接MongoDB。

2023-11-25 23:00:23 1153

原创 虚拟机centos 7安装映射流程

在示例配置中,[global] 部分用于设置全局的 Samba 配置,[shared] 部分定义了一个名为 “share” 的共享目录及其权限设置。你可以根据自己的需求进行修改。编辑 Samba 的主要配置文件 /etc/samba/smb.conf。在配置文件中,你可以根据自己的需求来进行相应的配置。将 username 替换为你想要设置的用户名,按照提示输入密码。启动 Samba 服务并设置其在系统启动时自动启动。设置xshell鼠标功能,便于使用。按默认选择进行下一步即可。

2023-11-18 00:22:22 333 1

原创 服务器监控工具grafana的安装部署流程

点击 “Add data source”(添加数据源)按钮,选择你要监控的数据源类型,如 InfluxDB、Prometheus 等,并按照相应的设置进行配置。在浏览器中输入服务器的 IP 或域名,并指定 Grafana 的默认端口 3000(例如:http://your-server-ip:3000)。根据你的 CentOS 7 系统的架构(32 位或 64 位)选择下载相应的压缩包,一般是以 .tar.gz 或 .zip 格式提供。在页面中找到最新的版本,并根据你的操作系统选择对应的下载文件。

2023-11-17 10:24:12 459 1

原创 进程锁整理

如果有一个自旋锁,任务A获取了自旋锁,开始访问临界资源,在任务A释放自旋锁之前,任务B也想获取该自旋锁,则任务B在原地等待,直到任务A释放自旋锁,任务B在原地等待的时候,就是一个自旋的过程,在这个过程中,任务B没有产生阻塞,还是占用CPU的控制权,即处于忙等待的过程中。信号量是一个多值的锁,如果信号量的值是5,则说明同时最多五个进程可以获得信号量,进而访问临界资源,获得信号量,信号量的值减1,信号量的值减到0,说明信号量已经没有了。信号量——》睡眠锁(阻塞锁)V操作—释放一个信号量。自旋锁——》忙等待锁。

2023-11-07 10:31:24 109

转载 关于 Lua 内存泄漏的检测(转载)

前一阵开始和同事一起优化内存,首先是优化 Lua 内存,因为发现每次战斗完后 Lua 内存非常大,从 3M 左右在经过了10次左右的战斗后,会暴增到近 100M,很明显是有内存泄漏。然后我正式启动该工作,基本思路就是递归遍历内存中所有的数据,表,函数,协程,用户数据,查看未释放和笔误引起的全局变量泄漏;Lua 官方手册(最重要)

2023-10-31 15:33:46 177 1

原创 Navicat Premium过期刷新脚本

【代码】Navicat Premium过期刷新脚本。

2023-10-30 14:10:51 318 1

原创 lua中常见元方法整理

Lua 中的元方法是一组特殊的函数,它们以双下划线开头和结尾(例如 __add、__index、__tostring 等),用于重定义 Lua 中的操作符或操作。通过定义元方法,可以改变 Lua 对象(如表、用户数据等)的行为。通过设置元表的 __metatable 字段为一个表,可以限制对元表的访问和修改。定义对表的新索引操作的行为,当给一个表中不存在的索引赋值时触发。定义对表的索引操作的行为,当访问一个表中不存在的索引时触发。定义对象的迭代器行为,允许使用 pairs 和 ipairs 遍历对象。

2023-10-30 11:35:21 525 1

原创 skynet优化思考

skynet框架的网络模块是基于socket实现的,但socket本身有很多瓶颈,例如上下文切换,内存拷贝等,因此,可以尝试使用更高性能的网络库(如Libuv),以提高网络性能。skynet框架是基于协程的,通信也是通过协程来实现的,在高并发的情况下,网络通信可能会成为瓶颈,可以考虑对通信机制进行优化,比如使用IO多路复用技术等。对于skynet中的actors,怎样合理分配资源的问题也是需要考虑的,可以通过对调度算法进行优化,使其合理使用CPU和内存资源,从而提高框架的性能。使用更高性能的网络库。

2023-10-27 17:18:47 259 1

原创 lua-kcp文件分析-lutil.c

lutil 模块是一个用于 Lua 程序的辅助模块。它包含了一些功能函数,用于执行与操作系统和网络字节序相关的操作。使用来执行一些计时、休眠和网络数据转换的操作,以满足应用程序的需求。

2023-10-26 11:55:19 66

原创 lua-kcp文件分析-latencysm.lua

与 “testkcp” 模块进行集成,以实现延迟模拟的功能。模拟的延迟和丢包情况可以帮助测试和评估 “testkcp” 的性能和可靠性,用于测试和调试网络应用程序的性能和稳定性。testkcp.lua文件分析可见上一篇lua-kcp文件分析-testkcp.lua。

2023-10-26 10:48:00 50

原创 lua-kcp文件分析-testkcp.lua

testkcp.lua为lua-kcp项目的测试脚本入口文件,它主要通过模拟网络和 KCP 实例的收发数据,对比默认/普通/快速三种模式来进行 KCP 的测试,并显示相关的统计信息。

2023-10-26 10:16:01 133

原创 kcp-lua代码组织结构

KCP的 Lua扩展,用于 Lua服务器。

2023-10-25 20:54:31 132 2

原创 KCP-可靠传输协议介绍

通过调用 ikcp_peeksize 函数可以获取已接收但尚未处理的数据包大小,当有可读数据时,可以通过 ikcp_recv 函数从 KCP 实例中接收已解码的数据。在 handle_received_data 函数中,通过调用 KCP 实例的 recv 方法,可以从 KCP 实例中接收到已经解码的完整数据包,并进行进一步的处理。TCP 提供了可靠的传输但延迟较高,UDP 提供了较低的延迟但不可靠,而 KCP结合了两者的优点,在不可靠的网络环境中提供了较低的延迟和较高的可靠性。

2023-10-24 14:59:38 774

原创 网络编程中名词整理

TCP(Transmission Control Protocol):TCP 是传输控制协议,它是一种面向连接的、可靠的、基于字节流的传输协议。HTTPS(Hypertext Transfer Protocol Secure):HTTPS 是安全的超文本传输协议,在 HTTP 的基础上加入了 SSL/TLS 加密机制,用于保护通信过程中的数据安全。UDP(User Datagram Protocol):UDP 是用户数据报协议,它是一种无连接的、不可靠的、基于数据报的传输协议。

2023-10-23 20:19:20 158 1

空空如也

空空如也

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

TA关注的人

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