系统化专题

【Linux系统化学习】守护进程 | 序列化和反序列化

目录 前言 守护进程 会话 进程组 setsid系统调用 守护进程系统调用 再谈协议 序列化和反序列化 Json 前言 上两篇文章我们所编写的服务器,并算不上真正意义上的服务器一般的服务器都是要随时能够访问的,就像我们在任何时间段都可以打开抖音获取视频资源;要想实现只需要将我们的进程变成守护进程(精灵进程)。 守护进程 会话 当我们使用xshell登录我们自己的

【半个月我拿下了软考证】软件设计师高频考点--系统化教学-关系模式

👨‍💻 收录于专栏:软件设计师考点暴击 ⭐🅰️进入狂砍分⭐ ⭐软件设计师高频考点文档, ⭐软件设计师高频考点专栏 ⭐软件设计师高频考点⭐ 🎶(A) 考点1,关系模式 考点: 三个模式相互对应的东西 🎶(D) 考点4,范式 理解记忆 (1)1NF : 属性不能再次分解了,(存在部分依赖和函数冗余,插入异常等问题 (2)

跨越智能建筑桥梁:西门子PLC无缝对接BACnet楼宇自动化系统化

智能楼宇每一个环节的互联互通都至关重要,而PLC(可编程逻辑控制器)作为自动化领域的基石,其与BACnet协议的融合无疑成为了构建智能楼宇神经系统的关键节点。今天,让我们深入探讨如何利用先进的PLC转BACnet协议网关,为楼宇自动化系统注入新的活力。 一座大型商业综合体,内部错综复杂的机电设备如暖通空调、照明系统、安防监控各自为政,而西门子、三菱、信捷等品牌的PLC分布在不同的子系统中,犹

【Linux系统化学习】网络套接字(编写简单的TCP服务端和客户端)

目录 TCP服务端 创建套接字 解决绑定失败问题 填充网络信息 绑定 设置监听状态 接受请求 收取和反馈消息 完整的服务端封装代码 TCP客户端 创建套接字 填充网络信息 发起连接 发送和收取消息 客户端完整代码  一些补充 TCP服务端 初始化服务端 创建套接字 和UDP创建套接字的方式差不多,只不过我们要实现的是TCP第二个参数选用:SOCK_S

【Linux系统化学习】生产者消费者模型(阻塞队列和环形队列)

目录 生产者消费者模型 什么是生产者消费者模型 为什么要使用生产者消费者模型 生产者消费者模型的优点 为什么生产者和生产者要互斥? 为什么消费者和消费者要互斥? 为什么生产者和消费者既是互斥又是同步? 基于BlockingQueue的生产者消费者模型  BlockingQueue 阻塞队列实现 使用阻塞队列实现单生产单消费模型 POSIX信号量 信号量的PV操作 信号量

【Linux系统化学习】死锁 | 线程同步

目录 死锁 死锁的必要条件 避免死锁 线程同步 条件变量 同步概念和竞态条件 条件变量接口 创建和初始化条件变量 等待条件满足 唤醒等待  毁条件变量 为什么 pthread_cond_wait 需要互斥量? 条件变量使用规范 等待条件代码 给条件发送信号代码 死锁 死锁是指在一组线程中的各个线程均占有不会释放的资源,但因互相申请被其他线程所站用不会释放

阿里P8架构师总结的互联网Java架构系统化学习路线

网络应用,最常见的研发语言是Java的和PHP。 后端服务,最常见的研发语言是Java的和C / C ++。 大数据,最常见的研发语言是Java的和Python的。 可以说,Java的是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java的技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。 有不少朋友问,除了掌握Java的语法,还要系统学习哪些的Ja

【Linux系统化学习】线程概念

目录 线程的概念 线程的引出 什么是线程 理解线程比进程更加的轻量化 线程的优点 现成的缺点 线程异常 线程用途 Linux进程VS线程 线程的简单现象 线程的概念 有关操作系统的书籍或者课本都会这样描述线程: 线程是比进程轻量化的一种执行流线程是进程内部的一种执行流 线程的引出 线程的概念让我们先从之前的进程谈起 一个进程的产生,首先要将代码和数

【Linux系统化学习】信号的保存

目录 阻塞信号 信号处理常见方式概览 信号的其他相关概念 在内核中的表示 sigset_t 信号集操作函数 sigprocmask函数 sigpending函数 信号的捕捉 内核如何实现信号的捕捉 sigaction函数 可重入函数 volatile 阻塞信号 信号处理常见方式概览 当信号来临时,进程可以有这三个处理动作: 1. 忽略此信号。 2.

【Linux系统化学习】信号概念和信号的产生

目录 信号的概念 从生活中的例子中感知信号 前台进程和后台进程 前台进程 后台进程 操作系统如何知道用户向键盘写入数据了? 进程如何得知自己收到了信号? 信号捕捉 signal函数 Core Dump(核心转储) 信号产生的方式 通过键盘按键产生信号 kill函数 raise函数 硬件异常产生信号 浮点数异常 非法地址异常  由软件条件产生信号 alarm函数

【Linux系统化学习】深入理解匿名管道(pipe)和命名管道(fifo)

目录 进程间通信 进程间通信目的 进程间通信的方式 管道 System V IPC(本地通信) POSIX IPC(网络通信) 管道 什么是管道 匿名管道 匿名管道的创建 匿名管道的使用 匿名管道的四种情况 匿名管道的五种特性 命名管道 指令级的命名管道 代码级的命名管道 读端 写端 匿名管道与命名管道的区别 进程间通信 从Linux这个专栏开始我

【Linux系统化学习】动静态库 | 软硬链接

目录 硬链接和软链接 硬链接 软链接  动态库和静态库 静态库 静态库的生成 静态库的使用 将库打包和使用 动态库 动态库的生成 动态库的使用  库搜索路径 硬链接和软链接 硬链接 上篇文章我们说到真正找到磁盘上的文件并不是文件名,而是inode。其实在Linux中可以让多个文件名对应同一个inode,这样的方式就是硬链接。 指令:ln  总

【Linux系统化学习】文件重定向

目录 文件内核对象 文件描述符的分配规则  重定向 重定向的概念 dup2系统调用 输出重定向 追加重定向 输入重定向         stderr解析 重定向到同一个文件中 分离常规输出和错输出 文件内核对象 上篇文章中我们介绍到了操作系统中的文件,操作系统为了方便管理进程打开的每个文件都会给每个文件创建一个内核对象(struct file)。但是每个进程可

【Linux系统化学习】缓冲区

目录 缓冲区  一个样例 现象解释 缓冲区存在的位置 缓冲区 在刚开始学习C语言的时候我们就听过缓冲区这个名词,很是晦涩难懂;在Linux下进程退出时也包含缓冲区,因此缓冲区到底是什么?有什么作用? 让我们先从一个小故事说起: 身在西藏上大学的张三有一个在海南的朋友李四,李四马上过生日了张三想要送李四一个键盘;于是张三定了各种交通工具的票,自己带着键盘千里迢迢的跑到海南

如何学习(2):系统化你的知识

早在10+年前,在表哥的婚宴上和姨妈家表姐聊天,当时她抱着还比较小的宝宝。聊得高兴就说到小宝宝应该怎么称呼我,她说不是很清楚,我当前就很肯定地说,应该叫我表舅。 后来我也结婚成家,女儿也出生了,自然也碰到女儿的长辈和同辈,都是我教女儿怎么称呼所有亲戚。 那么,如果你的堂哥、堂姐、表姐抱着小宝宝春节到你家走亲戚,或者你要带自己的小宝宝到亲戚家去玩,你知道大家应该怎样相互称呼吗? 我想信很多人都

零基础学编程怎么入手,中文编程工具构件箱之渐变背景构件用法教程,系统化的编程视频教程上线

零基础学编程怎么入手,中文编程工具构件箱之渐变背景构件用法教程,系统化的编程视频教程上线 一、前言 今天给大家分享的中文编程开发语言工具资料如下:  编程入门视频教程链接 https://edu.csdn.net/course/detail/39036 编程工具及实例源码文件下载可以点击最下方官网卡片——软件下载——常用工具下载——编程工具免费版下载及实例源码下载。  二、渐变背景

零基础学编程从入门到精通,系统化的编程视频教程上线,中文编程开发语言工具构件之缩放控制面板构件用法

一、前言 零基础学编程从入门到精通,系统化的编程视频教程上线,中文编程开发语言工具构件之缩放控制面板构件用法 编程入门视频教程链接 https://edu.csdn.net/course/detail/39036 编程工具及实例源码文件下载可以点击最下方官网卡片——软件下载——常用工具下载——编程工具免费版下载及实例源码下载。 在学习编程的过程中将自己的问题整理出来,我们不定期的作线上或群

【Linux系统化学习】文件描述符fd

目录 基础IO预备知识 C语言文件接口 "w"的方式打开,fputs写入 以"a"的方式打开,fputs写入 使用位图传参 系统调用操作文件 open的使用  第一种形式 第二种形式 write() 文件描述符 文件描述符和进程的关系 默认的三个IO流和文件描述符的关系 基础IO预备知识 在之前的文章中我们提到过:文件 = 内容 + 属性 我们直接给出下

【Linux系统化学习】进程替换

目录 进程程序替换  替换原理 ​编辑替换函数 函数解释 命名理解 函数使用 execl execlp  execv execvp 调用其它程序 进程程序替换  替换原理 用fork创建子进程后执行的是和父进程相同的程序(但有可能执行不同的代码分支),子进程往往要调用一种exec函数以执行另一个程序。当进程调用一种exec函数时,该进程的用户空间代码和数据完

[机缘参悟-129] :一个架构师对人生之苦解决之道的系统化和架构化思考

目录 前言: 第1层:环境层 1.1 环境的分类 1.2 理解环境的运作的基本原理 1.3 主动选择适合自己的愉快的环境 1.4 主动构建适合自己的愉快的环境 第2层:生理层 2.1 生理健康和情绪之间的关系 2.2 学习人的生物、生理、健康的基本知识 2.3 保持生理健康的做法 2.4 学习道家的养生之道 第3层:灵性层 3.1 理解人的灵性(潜意识层) 3.2 通过

能力跃迁体系:如何系统化提升自己的能力

一个人的能力大小决定了他的生存空间大小。能力越大,那么他能支配和获取的资源越多,生存空间也越大。 在社会中,能力越强的人越容易获得资源。在职场中,能力越强的人越容易获得高薪工作。在生活中,能力越强的人越容易获得机会。如果你要想获得更多的资源、薪水和机会,就必须不断地提升自己的能力,成为一个更有能力的人。同时,社会竞争和物质稀缺性也会争夺我们的生存空间,逼迫我们提升能力,从而不被社会淘汰。一个人的成

04.InfluxDB系统化学习-TSDBStore

概述 在《02.InfluxDB系统化学习-InfluxDB初始化》讲述了influxdb数据启动过程中加载的服务,其中在 cmd/influxdb/run/server.go中创建tsdb.NewStore对象时有以下代码: // 初始化存储结构--NewServer(c *Config, buildInfo *BuildInfo)    s.TSDBStore = tsdb.N

04.InfluxDB系统化学习-TSDBStore

概述 在《02.InfluxDB系统化学习-InfluxDB初始化》讲述了influxdb数据启动过程中加载的服务,其中在 cmd/influxdb/run/server.go中创建tsdb.NewStore对象时有以下代码: // 初始化存储结构--NewServer(c *Config, buildInfo *BuildInfo)    s.TSDBStore = tsdb.N

02.InfluxDB系统化学习-InfluxDB初始化

说明 版本信息 InfluxDB v1.7.2 (git: 1.7 76f907b0fada2f16931e37471da695349fcdf8c6) Git地址 https://github.com/influxdata/influxdb 官方文档 https://docs.influxdata.com/influxdb/v1.7/ 安装方式 使用docker安装本地使用:do

02.InfluxDB系统化学习-InfluxDB初始化

说明 版本信息 InfluxDB v1.7.2 (git: 1.7 76f907b0fada2f16931e37471da695349fcdf8c6) Git地址 https://github.com/influxdata/influxdb 官方文档 https://docs.influxdata.com/influxdb/v1.7/ 安装方式 使用docker安装本地使用:do

01.InfluxDB系统化学习-配置文件

### Welcome to the InfluxDB configuration file. # influxdb默认的配置项,如果需要修改则去掉#号,修改后重启即可生效 # The values in this file override the default values used by the system if # a config option is not specified