- 博客(74)
- 收藏
- 关注
原创 Ubuntu Linux 22 云服务器配置备忘
ClientAliveCountMax 10 # 表示服务器发出请求后客户端没有响应的次数达到10次,就自动断开连接。ClientAliveInterval 60 # 表示每60秒发送一次请求,从而保持连接不断线。登录云服务器控制台,开放端口:8888,9999,6666,5555,80,443。生成证书的过程中使用空白的 passphrase。在客户端检查是否存在证书。修改hostname。如果不存在,生成证书。
2024-07-04 15:08:09 429
原创 nodejs操作excel文件实例,读取sheets, 设置cell颜色
本代码是我帮客户做的兼职的实例,涉及用node读取excel文件,遍历sheets,给单元格设置颜色等操作,希望对大家接活有所帮助。
2024-07-02 18:15:33 527
原创 Vue3触摸屏滑动事件(touch, swipe)使用注意事项
使用方法如下,有些特殊的情况下需要加一个disable_touch的开关来阻止swipe和press事件的发生。安装npm包:npm i vue3-touch-events。
2024-06-27 14:56:52 1040
原创 程序设计中对内存分配管理的思考,进程内存、线程内存、共享池、栈、堆
区别在于,malloc分配的是固定数量的内存,而我们需要的内存往往是不确定的,不知道需要多少内存,我们需要一个动态的内存管理器,这通常是我们自己设计的一个内存管理器,比如我在上篇文章中设计的MemChain,共享内存池中就是这样的动态内存分配管理器,能满足任意数量内存的需求,不再需要我们额外考虑内存的分配。,堆内存是不受任何限制的,系统有多少就可以用多少,直到耗尽内存为止,第三种内存就属于堆内存,只是我们设计了一个共享池的机制来预先加载一部分堆内存,并用MemChain方便的管理和使用它。
2024-06-26 12:48:23 390
原创 Linux C语言程序中线程本地存储变量的内存分配和使用
在多线程中,有一种叫线程本地存储(Thread-Local Storage,TLS)的变量,它是每个线程有且只有一份自己的副本,对于这个线程来说,它是全局变量,可被所有函数共用;因为每个线程都有自己的一份内存来存储这些变量,所以线程之间不会相互干扰。TLS变量的内存分配和释放是由操作系统自动管理的,程序员无需手动分配和释放内存。同时,由于每个线程都有自己独立的一份副本,因此TLS变量的读写不需要加锁,可以提高多线程程序的性能。邀请您加入「社区资讯服务」创业微信群,共同探讨打造社区资讯服务的美好未来。
2024-06-26 12:46:29 949
原创 C/C++语言通过动态链表实现按需内存分配和使用(Linux Ubuntu 24.04环境)
以上如有错漏之处,敬请大家指正。1. 分配一块能满足大多数情况下需求的内存,比如80%的情况下都不需要再次分配内存。下面就是一个比较理想的通过动态链表实现按需内存分配和使用的例子,取名MemChain。2. 对另外20%需要较多内存的情况,可以通过动态链表按需追加新的内存块。邀请您加入「社区资讯服务」创业微信群,共同探讨打造社区资讯服务的美好未来。3. 要对总共消耗的内存有一个最大数量限制,比如200M。微信:TobeBuda。
2024-06-25 20:16:08 256
原创 AI写代码测评报告,Mistral, Gemini, Chatgpt, Claude 3.5, Llama 3
在MemChain中设置每次分配内存的最小数量、最大能分配的总内存数量、所有的MemChainBlock已经使用的内存数量、MemChainBlock的个数,记录链表的第一个和最后一个MemChainBlock。接着是gemini, 两个struct的定义也没问题,缺点是因为内容太长,被截断了,输出不完整,另外也是只会说英文。四个AI的回答如下,大家只需要看它们对两个struct的定义就可以了,后面的方法实现太长,也不用仔细看。然后是chatgpt的,遗漏了MemChainBlock中的一个重要的指针;
2024-06-24 17:29:23 741
原创 Linux Ubuntu 24.04制作可用systemctl操控的service
以上如有错漏之处,敬请大家指正。邀请您加入「社区资讯服务」创业微信群,共同探讨打造社区资讯服务的美好未来。目录下创建一个新的然后执行下面的命令让服务生效,查看错误日志。微信:TobeBuda。
2024-06-23 16:25:35 398
原创 两个函数实现C语言日志记录(Linux/Ubuntu 24.04环境)
下面是实现上面日志记录的两个函数,一个函数创建日志文件,另一个函数往日志文件里写一条日志。以上如有错漏之处,敬请大家指正。其中[0.258337]表示距离上一条Log的间隔时间是0秒+258337纳秒。邀请您加入「社区资讯服务」创业微信群,共同探讨打造社区资讯服务的美好未来。微信:TobeBuda。
2024-06-23 15:26:48 277
原创 Vue3图片显示组件,支持多张图片,缩略图,全屏动态加载大图
通过imgs参数传入多张图片,图片路径中包含 /small/ 表示是缩略图,将 /small/ 改为 / 即是该图片的大图。组件首先显示缩略图,然后在mounted事件中js动态加载大图,加载完毕后用大图的内容替换缩略图,实现高清图片的丝滑加载显示。点击图片后进入全屏模式,可浏览整组图片,同样会在后台用Js动态加载大图,实现高清图片的丝滑加载显示。邀请您加入「社区资讯服务」创业微信群,共同探讨打造社区资讯服务的美好未来。以上如有错漏之处,敬请大家指正。微信:TobeBuda。
2024-06-22 17:08:13 1409 1
原创 C语言url decode/encode (Linux Ubuntu环境)
【代码】C语言url decode/encode (Linux Ubuntu环境)
2024-06-21 14:28:14 139
原创 C语言socket HTTP Server hello world程序(Ubuntu Linux 24.04环境)
本程序实现的是一个能返回hello world的http server, 也只能返回hello world,作为C语言http server开发的一个起步阶段。
2024-06-19 14:41:16 231
原创 目前主流的CPU架构、微架构、指令集、学习资料、相关公司
兆芯自主研发的 ZX-C 处理器于 2015 年 4 月量产,28nm 工艺,4 核处理器,主频可达 2.0GHz,并且支持国密算法加密。最初由Intel开发,现在主要由Intel和AMD两家公司推进,广泛用于个人电脑和服务器,是一种复杂指令集(CISC)架构,具有丰富的指令集和强大的功能,是目前应用最广泛的CPU架构,主要用于PC机、服务器和工作站等。华为拥有ARMv8指令集架构永久授权,但并不代表能继续开发处理器,因为从华为研发的处理器来看,都是用的公版ARM,并没有基于指令集架构自研的微架构。
2024-06-18 11:36:53 857 1
原创 C语言socket TCP/IP通讯Server/Client程序(Ubuntu Linux 24.04环境)
1. 当client连上server时,显示连接成功的信息,然后等待client的输入。2. 将client的输入在server端显示。
2024-06-17 20:31:55 596
原创 Ubuntu Linux 24.04 C语言TCP/IP socket编程基础知识
(4)接收到客户socket的请求时,为了不妨碍继续监听其它客户请求的工作,为当前客户创建一个专属的连接socket来处理该客户的请求,读取客户发送来的数据,发送应答数据给客户,操作完毕以后结束与该客户的连接,于此同时,监听socket则仍可以继续监听其它客户的请求,形成多线程并发操作。一个新创建的socket默认是阻塞的,默认的socket发送和接收的超时时长为0,表明永不超时,意味着recv/send会一直等待对方发送和接收数据,这显然是不行的,要设置socket发送和接收超时的时长。
2024-06-16 17:09:43 1062
原创 Linux Ubuntu 24.04 C语言gcc编译过程详解
链接是将本程序的机器码和被调用的库函数的机器码进行连接,形成完整的可执行程序。本程序和库函数的机器码进行连接有两种方式,动态和静态,默认是动态的连接方式,即生成的本程序并不包含库函数的机器码,只是含有指向库函数机器码的地址;打开hello.s会看到汇编代码,它只包含将本程序代码转成的汇编码,不包含被引用的库文件的汇编码,因为头文件里面只有被调用库函数的函数接口,并没有函数的实现代码。 动态库(.so或.sa):程序在运行时去链接库的代码,多个程序共享库的代码,这样就减少了程序的体积,也减少了内存的占用。
2024-06-15 18:40:56 1046
原创 git原理解释,windows 10 / ubuntu 24.04 安装使用 github
安装完毕以后从开始菜单中将git bash固定到任务栏,打开git bash, 即为git的命令行界面。注意添加.gitignore文件忽略不需要上传的本地文件,比如node_modules。首先在github注册账号,创建一个新的空白的repository,比如。在本地文件夹 /d/code/buda 中添加修改文件。安装过程中,除了以下2步,其它步骤使用默认选项。在git的命令行中注册github账号。将空白repository拷贝到本地。然后用下面的命令上传到github。初次上传时会提示输入密码。
2024-06-11 14:57:33 623
原创 Ubuntu Linux LTS 24.04 AMD64 桌面版安装记录
Ubuntu Linux LTS 24.04 AMD64 桌面版安装记录
2024-06-07 20:22:34 1291
原创 Ubuntu Linux 24.04 安装apache2启用https操作记录
Ubuntu Linux 24.04 安装apache2启用https操作记录
2024-06-03 19:29:15 577
原创 Windows Server 2019 DataCenter 配置 IIS https Web Server (for Vue)
Vue生成的静态网页需要对routes进行重定向,可以使用IIS里面的错误页面,将404、403错误重定向到首页url
2024-06-02 20:40:21 662
原创 Ubuntu Linux 24.04 使用certbot生成ssl证书
4. 证书生成成功,位于 /etc/letsencrypt/live/idealand.xyz/邀请您加入「社区互助服务」创业微信群,共同探讨打造社区互助服务的美好未来。2. 如果防火墙开启了,要开放80和443端口用于certbot验证。输入email: jinmin.si@outlook.com。fullchain.pem为公钥,privkey.pem为私钥。1. 将需要生成SSL证书的域名解析到IP地址。# kill 进程号(第二列的数字)域名:idealand.xyz。微信:TobeBuda。
2024-06-01 14:24:13 632 1
原创 微信小程序云开发数据库与前端实时同步更新
使用微信小程序云开发数据库,应该普遍采用的方式是通过watch方法将前端的数据与数据库保持实时的同步更新。
2023-09-13 20:47:27 856
原创 Windows Server 2019安装使用PostgreSQL 15
Windows Server 2019安装使用PostgreSQL 15
2023-08-08 10:30:55 1089
原创 linux中thread local变量过大可能引发Segmentation fault
linux中thread local变量过大可能引发Segmentation fault
2022-12-24 10:32:26 257
原创 Linux Ubuntu22 g++ C/C++语言操作postgresql数据库
Linux Ubuntu22 g++ C/C++语言操作postgresql数据库
2022-12-12 16:42:33 606
原创 windows vs2022 c/c++连接操作postgresql数据库 - 增删改查
windows vs2022 c/c++连接操作postgresql数据库 - 增删改查
2022-10-29 18:19:36 1028
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人