博文

3、代码发布流程及工具

云原生持续集成与部署(CI/CD)全链路技术栈,覆盖Docker容器化、Kubernetes编排、GitLab CI流水线设计、Argo CD实现GitOps,以及Jenkins的集成。通过Python与Java等项目实战,掌握从代码提交到生产环境分钟级部署的自动化流水线构建,并学习自动扩缩容等DevOps高阶技能 课程持续更新,完整视频查看: https://www.udemy.com/course/cloud-native-continuous-integration-and-deployment-cicd/?couponCode=MT250908G1

2、容器部署的优势

云原生持续集成与部署(CI/CD)全链路技术栈,覆盖Docker容器化、Kubernetes编排、GitLab CI流水线设计、Argo CD实现GitOps,以及Jenkins的集成。通过Python与Java等项目实战,掌握从代码提交到生产环境分钟级部署的自动化流水线构建,并学习自动扩缩容等DevOps高阶技能 课程持续更新,完整视频查看: https://www.udemy.com/course/cloud-native-continuous-integration-and-deployment-cicd/?couponCode=MT250908G1

1、云原生持续集成与部署介绍

云原生持续集成与部署(CI/CD)全链路技术栈,覆盖Docker容器化、Kubernetes编排、GitLab CI流水线设计、Argo CD实现GitOps,以及Jenkins的集成。通过Python与Java等项目实战,掌握从代码提交到生产环境分钟级部署的自动化流水线构建,并学习自动扩缩容等DevOps高阶技能 课程持续更新,完整视频查看: https://www.udemy.com/course/cloud-native-continuous-integration-and-deployment-cicd/?couponCode=MT250908G1

c语言之SQLite数据库开发

一、数据库的安装 // 准备软件包 libsqlite3-0_3.7.2-1ubuntu0.1_i386.deb libsqlite3-dev_3.7.2-1ubuntu0.1_i386.deb sqlite3_3.7.2-1ubuntu0.1_i386.deb // 安装 sudo dpkg -i *.deb 二、 数据库命令 (一)系统命令(以.开头) .exit .quit .table //查看表 .schema //查看表的结构 (二)sql语句(以‘;’结尾) // 1-- 创建一张表 create table stuinfo(id integer, name text, age integer, score float); // 2-- 插入一条记录 insert into stuinfo values(1001, 'zhangsan', 18, 80); insert into stuinfo (id, name, score) values(1002, 'lisi', 90); // 3-- 查看数据库记录 select * from stuinfo; select * from stuinfo where score = 80; select * from stuinfo where score = 80 and name= 'zhangsan'; select * from stuinfo where score = 80 or name='wangwu'; select name,score from stuinfo; //查询指定的字段 select * from stuinfo where score >= 85 and score < 90; // 4-- 删除一条记录 delete from stuinfo where id=1003 and name='zhangsan'; // 5-- 更新一条记录 ...

c语言之Linux网络开发

一、网络编程预备知识 socket IP地址 端口号 字节序 (一)socket 是一个编程接口 是一种特殊的文件描述符 (everything in Unix is a file) 并不仅限于TCP/IP协议 面向连接 (Transmission Control Protocol - TCP/IP) 无连接 (User Datagram Protocol -UDP 和 Inter-network Packet Exchange - IPX) (二)socket类型 1、流式套接字(SOCK_STREAM) 提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复的发送且按发送顺序接收。内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流,无长度限制。 2、数据报套接字(SOCK_DGRAM) 提供无连接服务。数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送,可能乱序接收。 3、原始套接字(SOCK_RAW) 可以对较低层次协议如IP、ICMP直接访问。 (三)socket的位置 (四)IP地址 IP地址是Internet中主机的标识: Internet中的主机要与别的机器通信必须具有一个IP地址 IP地址为32位(IPv4)或者128位(IPv6) 每个数据包都必须携带目的IP地址和源IP地址,路由器依靠此信息为数据包选择路由 表示形式:常用点分形式,如202.38.64.10,最后都会转换为一个32位的无符号整数 (五)端口号 为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理,使用端口号来区别 TCP端口号与UDP端口号独立 端口号一般由IANA (Internet Assigned Numbers Authority) 管理 众所周知端口:1~1023(1~255之间为众所周知端口,256~1023端口通常由UNIX系统占用) 注册端口:1024~49150 动态或私有端口:49151~65535 (六)字节序 不同类型CPU的主机中,内存存储多字节整数序列有两种方法,称为主机字节序(HBO): 小端序(little-endian) - 低序字节存储在低地址 将低字节存储在起始地址,称为“Little-Endi...

c语言之信号机制

一、什么是信号 1、概念 信号是在软件层次上对中断机制的一种模拟,是一种异步通信方式 ,所有信号的产生及处理全部都是由内核完成的。 2、信号的产生 按键产生 系统调用函数产生(比如raise, kill) 硬件异常 命令行产生 (kill) 软件条件(比如被0除,访问非法内存等) 3、信号处理方式 缺省方式 忽略信号 捕捉信号 常用信号 : 信号名 含义 默认操作 SIGHUP 该信号在用户终端关闭时产生,通常是发给和该 终端关联的会话内的所有进程 终止 SIGINT 该信号在用户键入INTR字符(Ctrl-C)时产生,内 核发送此信号送到当前终端的所有前台进程 终止 SIGQUIT 该信号和SIGINT类似,但由QUIT字符(通常是 Ctrl-)来产生 终止 SIGILL 该信号在一个进程企图执行一条非法指令时产生 终止 SIGSEV 该信号在非法访问内存时产生,如野指针、缓 冲区溢出 终止 SIGPIPE 当进程往一个没有读端的管道中写入时产生,代 表“管道断裂” 终止 信号名 含义 默认操作 SIGKILL 该信号用来结束进程,并且不能被捕捉和忽略 终止 SIGSTOP 该信号用于暂停进程,并且不能被捕捉和忽略 暂停进程 SIGTSTP 该信号用于暂停进程,用户可键入SUSP字符( 通常是Ctrl-Z)发出这个信号 暂停进程 SIGCONT 该信号让进程进入运行态 继续运行 SIGALRM 该信号用于通知进程定时器时间已到 终止 SIGUSR1/2 该信号保留给用户程序使用 终止 SIGCHLD 是子进程状态改变发给父进程的。 忽略 信号命令 : kill [-signal] pid killall [-u user | prog] kill -l 查看信号数字编号 信号函数 : int kill(pid_t pid, int signum) 功能:发送信号 参数 pid: > 0:发送信号给指定进程 = 0:发送信号给跟调用kill函数的那个进程处于同一进程组的进程。 < -1: 取绝对值,发送信号给该绝对值所对应的进程组的所有组员。 = -1:发送信号给,有权限发送的所有进程。 si...

c语言之进程间通信

一、进程间通信的方式 进程间通信就是进程和进程之间交换信息。 1、常用通信方式 无名管道(pipe) 有名管道 (fifo) 信号(signal) 共享内存(mmap) 套接字(socket) 2、过时的IPC通信方式 System V IPC 共享内存(share memory) 消息队列(message queue) 信号灯集(semaphore set) 二、无名管道 1、原理 int pipe(int pfd[2]); 成功:0;失败:-1,设置errno pfd[0] 为读描述符 pfd[1] 为写描述符 2、注意事项 只能用于亲缘关系的进程间通信(父子进程,兄弟进程) 管道通信是单工的,一端读,一端写(程序实现设计好)。 数据自己读不能自己写 管道可以用于大于2个进程共享 3、读写特性 读管道 管道中有数据,read返回实际读到的字节数 管道中无数据 管道写端被全部关闭,read返回0 (好像读到文件结尾) 写端没有全部被关闭,read阻塞等待(不久的将来可能有数据递达,此时会让出cpu) 写管道 管道读端全部被关闭, 进程异常终止(也可使用捕捉SIGPIPE信号,使进程不终止) 管道读端没有全部关闭 管道已满,write阻塞。(管道大小64K) 管道未满,write将数据写入,并返回实际写入的字节数 三、有名管道(命名管道) 1、创建管道 #include <sys/types.h> #include <sys/stat.h> int mkfifo(const char *filename, mode_t mode); open(const char *path, O_RDONLY);//1 open(const char *path, O_RDONLY | O_NONBLOCK);//2 open(const char *path, O_WRONLY);//3 open(const char *path, O_WRONLY | O_NONBLOCK);//4 2、特点 有名管道可以使非亲缘的两个进程互相通信 通过路径名来操作,在文件系统中可见,但内容存放在内存中 文件IO来操...

此博客中的热门博文

玩转虚拟机系列之如何搭建虚拟机

玩转虚拟机系列之远程工具

玩转虚拟机系列之如何高效创建虚拟机