自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 unity的学习,准备搞一款mmo小游戏,客户端从零学

如代码所示,简单了解一下。

2023-04-14 23:34:49 2101

原创 C++封装个协程库,基于云风的coroutine

写了一个简易的协程库,取名为fiber。我的fiber库原型是云风大佬的coroutine库github链接,知乎一位大佬对coroutine库的注释github链接。把大佬们的代码读一遍再抄一遍,体验是真的不一样了。下面就写下我对协程库的认识。以下操作需要在Linux系统下进行操作,因为用到Linux提供的ucontext.h头文件。在windows下就用不了了.4个函数和例子的介绍。然后把云风的栈也写下,自己改的也下。这是参考博客...

2021-05-04 00:34:26 1079 4

原创 C++写一个http服务器/web服务器

目录开篇废话正文开篇废话其实这篇文章一直想写,苦于没有时间,想一气呵成写完,在离回家前一天晚上,在上海的小宾馆里面异常兴奋,写一下如何用C++搭建一个简易的http服务器。我相信大部分人都希望渴望一个自己的网站(哪怕在破在破也是自己做的),我当初是就是这么渴望的,记得那是2020年的8月,我查阅的各种资料终于学会了socket,于是迫不及待的写了一个聊天程序,一直在研究如何端口映射。那时候还很傻很天真,来了一个连接就开一根线程,离开就销毁这根线程,那会也知道线程创建和销毁的开销很大,但是一直没有想到其

2021-02-02 18:39:49 264189 18

原创 用python做一个翻译软件,基于简单爬虫和网络编程

声明:我爬取的是百度翻译,然后利用自己熟悉的领域(网络编程)简易封装了一个C/S模型包装成自己的翻译软件,这只是我个人的小玩具把他分享出来。但如果您拿了这份代码,若做了违法乱纪的事情,博主不承担任何责任。我假定您已经阅读了以上须知!目录前言初识百度翻译爬虫基于C/S的模型的爬虫服务器写这个python的demo遇见的问题1、字符串的比较2、不知道变量名的类型3、真的要控制好缩进前言好朋友要写一份python大作业,300行,做什么小demo都可以。还记的大一的时候刚学C和C++也没见过哈希表(pyth

2021-01-17 20:56:11 922 1

原创 C++服务器定时器基于LRU算法思想实现定时器遍历插入调整删除时间复杂度都是O(1)

#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <assert.h>#include <unistd.h>#include <errno.h>#include <string.h>#include <fcntl.h>#include &

2020-10-29 09:14:46 705 2

原创 一些基础数学知识

最近在学服务器随机怪物的移动点位,之前没怎么了解过,数学知识也忘记了,重新学一下,记录一下。

2025-03-12 15:32:28 140

原创 unity recttransform的坐标系

主要记录localposition。

2025-02-06 17:00:00 318

原创 svn/git 只删仓库文件不删除本地

【代码】svn 只删仓库文件不删除本地。

2025-01-04 10:02:13 120

原创 ps学习。

有大量的图要扣,淘宝5-15块扣一个,尽管蛮便宜的,但是架不住量大啊,还是好好ps,也能省一大笔钱。

2024-09-22 00:53:11 296

原创 unity 图片置灰shader

我和chatgpt真强!在 Unity 编辑器中,右键点击 Assets 文件夹,选择 Create -> Shader -> Unlit Shader。shader代码如下,尽管我看的不是很懂,但确实有用再创建一个材质并应用 Shader:右键点击 Assets 文件夹,选择 Create -> Material,创建一个新材质,在材质的 Shader 下拉列表中选择你刚刚创建的shader。

2024-09-15 11:51:16 1068

原创 unity 粒子系统学习

差不多了解了基本的ui面板,学一下粒子系统。

2024-08-07 20:14:43 263

原创 unity 小怪播放动画导致ui抖动

我的血条的canvas是使用World Space模式,然后点位挂载到小怪里的,小怪会自己走来走去,血条ui也是实时更新,z轴和相机平行。一开始大概是长下面这个样子的,一直忙活背包ui的学习,没怎么看战斗,结果今天发现小怪播动画的时候会导致ui抖动,上网搜了搜也没找到相应的文章,gpt给的答案也不是很好做。这个时候我就在想,如果知道了agent.isStopped为true了,就不再更新UI血条的位置,试了一下,完美的解决,不知道是不是最优解,简单的提供一个思路。

2024-08-03 22:13:20 566 1

原创 unity拖拽物品遇到的bug及解决思路

记录一下拖拽实现过程中遇到的bug。

2024-08-03 10:17:33 762

原创 游戏开发规范

不要写死道具id,道具id可能会变的,输出奖励最好有一张表,尽管是再小的案子,也应该是策划进行配置。情景如下假如现在id是1000、1001、1002,完成一个任务有概率随机出三个道具的一个,如果把这三个id放入到数组中,随机数组下标不也很好。数量这些一定是有符号数,而不是无符号数,比如道具数量,用uint的话如果减到溢出了怎么办?指针使用的时候一定判空,数组下标也要判断是否越界,除一个数字的时候一定要判断是否为0,0是不能作为被除数的。以下是针对自己的规范,都是自己在游戏开发中所想的,大概率都是合理的。

2024-08-01 11:13:21 271

原创 unity学习中没想明白的事情

当一个备忘录,有的是还没有时间去深入研究,或者没有从头了解。

2024-07-29 21:34:39 428 2

原创 redis aof写入以及aof重写的源码分析

redis aof写入和重写源码分析

2024-06-16 16:03:45 936

原创 K8S学习总结

通过deployment的方式进行创建。

2024-02-23 23:20:00 807

原创 todolist

目录学习K8S的基础知识重构代码书籍看一看evio库学习学习unity 教程学习一下学习K8S的基础知识重构代码书籍看一看evio库学习学习unity 教程学习一下

2024-02-22 21:25:34 334

原创 web前后端小坑记录

游戏服务器过年这段时间忙完了,好久没看web了,重温一下。发现竟然没有文章记录这些修BUG的过程,记录一下。

2024-02-06 17:09:20 336

原创 redis命令记录

【代码】redis命令记录。

2023-11-19 12:10:02 348

原创 C#使用proto

写多了go代码,被go mod tidy惯坏了,还以为全天下的都很好用呢,结果发现并不是这样。尤其是项目组的proto还是又封了个工具直接就能跑得,导致以为没那么复杂的事情变得复杂了起来。是有两套生成的规则,时间有点晚,没怎么仔细研究,先记录一下。先用nuget装protobuf-net、Google.Protobuf,这两个软件包。

2023-09-06 01:40:44 1339

原创 Rider 中C#单元测试

使用NUnit.Framework这个包,没有的话可以用nuget去搜索下载。简单的进行单元测试,想要单元测试好像还给需要static函数,慢慢学学C#

2023-09-05 23:30:01 1442

原创 深入理解操作系统简单记录

一页就需要一个PTE数组的,有效位1表示在内存中,有效位为0且指向地址为null则说明页在硬盘中,否则在虚拟内存中。虚拟内存不也存放在硬盘吗?chatgpt了一下,大概意思是不同操作系统实现的虚拟内存存放位置可能会不一样。所以这点还是要小记一下。一个内存页是可以被多个虚拟内存指向的,我猜是多进程代码段共用了。

2023-06-27 00:01:45 158

原创 redis 源码记录

正好最近时间富裕,看一看redis源码,简单的记录一下。也有可能说的是不全面的,自行斟酌,只能通过debug来简单的梳理本次测试流程,而不是全量的覆盖的所有测试用例,时不时更新,争取一天学一点点。

2023-05-22 23:37:03 410

原创 blender学习

unity差不多了解之后,研究一下建模软件Blender,以后自己做独立游戏就不在局限于没有美术资源的尴尬中了。团队的最大的优势就是便宜,因为团队就我一个人哈哈哈哈,一人饿不死整个团队也饿不死。现在还需要学会一下建模,以及uv坐标和后续shader进行的一个纹理的渲染。

2023-04-23 22:16:38 2423

原创 mysql 思考

mysql知识总结

2023-02-23 17:50:28 143

原创 go-swagger使用——自动生成web api

大多数人说的是gogetswagger,在早期goget是可以直接生成二进制可执行文件的,我的go版本是1.18,大概是在go1.16出现了goinstall,goget只不过是获得了源码而没有编译生成相应的可执行文件,看别人swaginit的时候,我疯狂报不知道swag是啥,我第一反应是没添加到环境变量中,全局搜swag,发现没有这个可执行文件。还有一点注意的是,很多博客引入的是这个文件,他现在改名了并不是这样import的。附上一个简易版的能跑起来的代码,不含逻辑处理,...

2022-07-17 15:39:31 1441

原创 python文件路径函数

正好最近没什么事情,优化一下项目一个部署的脚本,重温下pythonos.path.dirname(file) # 当前文件所在的目录,等同于shell的,输出只有目录os.path.realpath(file) 会携带脚本名字

2022-06-22 23:17:52 258

原创 ctime 非线程安全

由一个不起眼的时间获取导致debug了一天代码,自己的个人网站后天配置一根线程完美运行,配置多线程就会报误用了地址,我第一个反应就是难道跨线程进行了操作?一直找自己one loop per thread的结构那里出错了,gdb也上了无法复现,除非是高并发的情况的才能复现出来,gdb最终发现了这个错误的堆栈,就是这个平平无奇的的getGMT,这函数一瞅都是栈上的数据还不是线程安全?博主你是不是不懂C++啊?我第一反应看到这里报错,我也很不理解,按照我自己的理解每根线程都有自己的栈,为啥他有问题呢?因为

2022-05-18 16:40:14 540

原创 JetBrains Gateway连接远程项目

真的,为啥写这篇博客,前一阵子赶工程就随便用中文搜了一搜,千篇一律的写在goland配置XXXX。我真是无语了。谷歌一下,goland remote project。不就得到答案了?简单介绍一下吧,可以JetBrains Gateway 2022.1这个来远程项目,像vscode远程项目一样的简单。介绍与下载地址JetBrains Gateway的使用这不简简单单轻轻松松的事情?不想看英文直接看我下面简单介绍,配置一下ssh,然后双击启动,就可以快乐的远程啦......

2022-04-21 22:27:13 2152 2

原创 设计模式学习

李建忠老师讲的,以前B站有,后来被删了,只能上youtube看了添加链接描述以前听过几堂课,代码写的少并没有真正的理解,自己网站前一阵子更新了一波代码突然发现代码之间组合竟然设计的紊乱,所以重新认真的学习一下。记住依赖倒置原则、针对接口编程而不是实现编程,依赖抽象而不是具体实现的细节,比如有一个类需要调用跑车,我们不要真的调用跑车这个类,而是要让代码调用汽车这个类,跑车这个类继承汽车类。这样的好处就是如果添加SUV这个类不需要在重新一遍相似的代码,这样提高复用性。封闭开放原则也是,划分成稳定和变化的因

2022-02-19 14:27:17 228

原创 websocket初体验——打造一个聊天室

最近正好学了学原生JS,暑假实习也是利用nodejs做的项目,自己网站最近也升级了,最近也打算写一个游戏服务端,但苦于没找到合适的客户端,会C++首选是UE4,但为什么没有选呢?其一我的笔记本电脑是轻薄本且我的想法并不是大制作,后在github看到一个H5的球球大作战,一个人的那种,所以萌生了用H5做个简易的游戏客户端,学一学websocket首先确保自己的电脑装了nodejs,websocket就是可以双向通信(客户端和服务端都可以接受数据和发送数据),而不是客户端发送请求,服务端响应,这个on函数可以

2021-12-28 16:07:30 2444

原创 C++生成随机字符串

最近给自己的网站搞一个相册,随机生成图片名字,生成100W个16位的名字,测试没重复,感觉还不错,生成的数字是均匀分布的cppreference#include <random>#include <iostream>#include <unistd.h>#include <unordered_set>using namespace std;char seed[64] = { '0','1','2','3','4','5','6','7','

2021-12-13 20:24:08 3428

原创 mysql加锁机制的理解

使用这个表来举例子吧,我们可以看到只有d这个字段没有索引。没有索引就会全表扫描,全表扫描的意思就是扫描全部主键CREATE TABLE `t` ( `id` int(11) NOT NULL, `c` int(11) DEFAULT NULL, `d` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `c` (`c`)) ENGINE=InnoDB;insert into t values(0,0,0),(5,5,5),(10,10

2021-12-08 16:41:07 718

原创 redis hset hget字典的实现

目录操作命令一些原理知识什么时候扩容?渐进哈希源码操作命令hset key不存在执行创建操作,存在执行更新操作hsetnx key不存在才执行命令hget 获取field上的value值HINCRBY 加上多少数据,当value可以被解释成数字的情况HINCRBYFLOAT增加浮点数hstrlen 统计filed的value的长度hexists key是否存在这个fieldhdel 删除field,想删除key的话还是给用del删除keyhlen 统计key中filed的个数hms

2021-12-06 15:16:39 1993

原创 redis字符串sds源码分析

被天美面试官怼了没有技术深度,确实看源码看的少,趁着毕业前看看redis的源码。操作命令Get、Set、mset、mget后面nx表示不存在key才创建,xx表示key存在才可以修改。mset nx 如果有一个key存在那么这条命令就不对了。strlen获得字符串,时间复杂度是O(1)getrange 获取范围字符串,支持正索引和负索引值setrange,在范围内赋值,如果位数不够0来补齐append 追加新的内容到字符串尾部incrby decrby incr decr incrbyf

2021-12-03 16:41:38 890

原创 深入理解计算机系统第二章

移位当k >= w的时候,移位是k mod w。k可以假设是int类型,32位,w是要移的位数。无符号数都是逻辑移位,有符号数没规定但是编译器都是按照算术移位的,算术移位是什么意思?就是第0位,也可以当成符号位那里,如果是1,那么移多少位后面就都补多少位1.int val = 24;cout << (val << 64) << endl;// 24cout << (val >> 32) << endl; // 24te

2021-11-23 09:40:46 578

原创 路由表启示——我的新伙伴wireshark

这几天学了学wireshark,就用几到了几个语法,不着急学命令,先学抓包的思想,最近看得书《wireshark网络分析就这么简单》,因为对路由表新的理解从而爱上了wireshark,所以就给语法1.ip.addr eq 127.0.0.1 找源/目的ip是127.0.0.1的包2.tcp.port找专门的端口号3.arp icmp http 查找协议路由引发的好玩的东西添加一个路由信息,-host表示这个IP是一台主机。dev后面跟着是那块网卡route add -host 192.168.

2021-11-11 17:14:49 262988

原创 mysql删数据但文件大小不变——第13讲总结

原文链接先查看mysql的innodb_file_per_table是否是打开的,如果是ON那数据就会是一个单独的文件,drop table会释放空间。show variables like '%per_table%';但如果是delete *所有数据,这样不会减小数据占用的空间,会在系统内标记可重用而不会删除数据。数据空间重用也分为记录重用和页重用。记录重用就比较局限,盗一下图。删除R4,页A就多了一个空为,在有300-600之间主键插入就可以重用这个位置了。(注意R4也是标记删除,实际文件大小

2021-11-01 21:24:02 252898

原创 mysql可能慢的原因

原文链接总结一下redo log写满了,要阻塞来清理redo log脏页太多了,需要变成干净页。那什么时候需要变干净页呢?(原文有提到的,这也是我在写博客的时候想问问自己的,又重新看了一遍文章。)当查询的数据不在缓冲区中需要换成一个页,当是干净页就可以直接用了,但如果是脏页就需要把数据刷新到硬盘中,所以当脏页比例过大的时候会造成mysql的速度慢。innodb_io_capacity这个值来表示主机处理硬盘的能力。innodb_max_dirty_pages_pct这个来表示脏页的上限,默认是75%

2021-10-29 21:10:30 253616

空空如也

空空如也

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

TA关注的人

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