logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

探索文件系统:软硬链接的奥秘

本文介绍了文件系统的基本结构和软硬链接机制。文件系统通过inode管理磁盘文件,每个文件有唯一的inode编号,包含属性和数据块信息。磁盘物理结构包括盘片、磁道、扇区等,逻辑上被抽象为线性空间。文章详细解析了ext2文件系统的组成,包括超级块、块组描述符、inode表等。在软硬链接部分,指出软链接是独立文件存储目标路径,硬链接则是目录中新增的inode映射关系,会增加引用计数。特别说明目录文件的硬

文章图片
#数据库#linux#文件系统
自定义协议实现网络计算器

TCP 一旦建立连接,client/server 他们的身份是对等的,可以互发消息,都有发送缓冲区和接收缓冲区,发送数据时 write/send 并没有将数据发送到网络中,只是拷贝到内核发送缓冲区,本质是拷贝函数,发送缓冲区中的数据,发多少,出错了怎么办是由内核决定的,具体比如TCP协议决定。TCP然后通过网络将数据拷贝到对方的接收缓冲区,所以实际上是双方操作系统之间进行通信。而 read/rec

文章图片
#网络#linux#服务器
链表 --- C语言实现

本篇文章来详细介绍一下数据结构中的链表。

文章图片
#链表#c语言#数据结构
使用Docker部署Apache Superset结合内网穿透实现远程访问本地服务

Superset是一款由中国知名科技公司开源的“现代化的企业级BI(商业智能)Web应用程序”,其通过创建和分享dashboard,为数据分析提供了轻量级的数据查询和可视化方案。Superset在数据处理和可视化方面具有强大的功能,能够满足企业级的数据分析需求,并为用户提供直观、灵活的数据探索和展示方式。通过Superset,用户可以轻松地从海量数据中提取有价值的信息,帮助企业做出更加明智的决策。

文章图片
#docker#apache#容器
本地websocket服务端结合cpolar内网穿透实现公网访问

即登录cpolar官网后,点击预留,保留一个固定tcp端口地址,然后将其配置到相应的隧道中即可。这里我们用cpolar内网穿透来映射内网端口,它支持http/https/tcp协议,不限制流量,无需公网ip,也不用设置路由器,操作简单。注意:该隧道选择的是临时tcp地址和端口,24小时内会变化,如需固定tcp地址,可升级为专业套餐做tcp地址固定!cpolar安装成功后,默认会配置两个默认隧道:一

文章图片
#websocket#网络协议#网络
Windows使用VNC Viewer远程桌面Ubuntu【内网穿透】

实现ubuntu 系统桌面级别的远程连接,需要在ubuntu 系统中安装vnc,既然是桌面,前提是需要ubuntu 带有图形化界面,如果没有,可以执行以下命令安装图形化界面sudo reboot #重启即可看到图形界面至此,我们成功实现了使用VNC远程桌面ubuntu:通过cpolar穿透vnc服务5900端口,使用所生成的公网地址,实现在外随时随地远程桌面控制内网的Ubuntu,不需要公网IP,

文章图片
#windows#ubuntu#linux
解决无公网IP的微信公众号开发调试问题,利用内网穿透的实践经验分享

在微信公众号开发中,微信要求开发者需要拥有自己的服务器资源来响应微信发送的token验证,这个服务器只能通过域名访问,不能使用ip地址来进行访问,如果购买服务器,再购买域名,将是一笔比较大的开销,如果能将本地服务暴露出去,再使用域名去访问,不仅能简化配置,还能减少开销,达到快速开发的效果。幸运的是,Cpolar帮您搞定这一点。启动Cpolar并将隧道的URL粘贴到微信公众号对接服务器的URL字段中

文章图片
#tcp/ip#微信#网络协议
C++11:线程库与线程安全问题

目录1.thread类2.mutex类3.LockGuard4.条件变量线程库是操作系统提供的,Linux提供的pthread库,在C++11之前,涉及到多线程问题,都是和平台相关的,比如 Windows 和 Linux 下各有自己的接口,这使得代码的可移植性比较差。C++11中最重要的特性就是对线程进行支持了,使得C++在并行编程时不需要依赖第三方库,而且在原子操作中还引入了原子类的概念。C++

文章图片
#c++#开发语言
Linux:进程池的简单实现

本文介绍了通过进程池和管道实现进程间通信的方法。主要内容包括:1.使用管道创建父子进程间的单向通信信道;2.构建进程池预先创建多个子进程,减少频繁创建进程的开销;3.父进程通过管道向子进程发送任务指令;4.子进程通过重定向标准输入读取任务并执行;5.通过关闭管道写端实现子进程的优雅退出。文章详细说明了管道创建、任务分配、进程回收等关键步骤的实现原理,并分析了文件描述符管理的重要性。这种方法有效提高

文章图片
#linux#服务器#运维 +1
Linux:死锁与生产者消费者模型解析

本文介绍了多线程编程中的两个关键概念:死锁与生产者消费者模型。死锁部分阐述了四个必要条件(互斥、请求保持、不剥夺、循环等待)及避免策略。生产者消费者模型通过互斥与同步机制实现线程间高效数据传输,重点讲解了条件变量(pthread_cond_t)的使用方法及其解决线程竞争问题的原理。最后通过BlockingQueue的完整实现示例,展示了如何构建支持多生产者多消费者的线程安全队列,包含队列操作时的互

文章图片
#linux#运维#服务器 +1
    共 16 条
  • 1
  • 2
  • 请选择