自僱

自僱

15 篇文章
常用软件推荐记录(2025/8/22更新) 自僱
折腾笔记

常用软件推荐记录(2025/8/22更新)

本文分享了一份个人软件工具清单,主要包括开源和免费软件,部分为学习版。涵盖了浏览器、社交、笔记、编程、抓包、音乐、截图、翻译、安全等多个类别,提供了软件下载地址和使用建议。推荐的工具包括Google Chrome、VSCode、OBS Studio、Bitwarden等,强调支持正版的重要性。文章还提到了一些安卓应用和其他实用工具,旨在帮助用户提升工作和生活效率。
自僱 6 分钟阅读
Ansible自动化部署芋道项目 自僱
运维

Ansible自动化部署芋道项目

Ansible 是一个简单的 IT 自动化系统,适用于配置管理、应用部署等。通过准备四台 Ubuntu 24.04 虚拟机并配置静态 IP,可以实现复杂操作如零停机时间的滚动更新。安装 Ansible 需配置软件源、安装 Python 和 pip,并创建 SSH 密钥以便无密码登录。最后,创建 Ansible 目录和配置文件,测试连接成功后即可进行项目部署,涉及构建前后端项目、中间件和运行服务等角色。
自僱 14 分钟阅读
master高可用集群——多master单node(Kubeadm) 自僱
运维

master高可用集群——多master单node(Kubeadm)

本文介绍了在集群中安装Kubernetes及其组件的步骤,包括控制节点和工作节点的配置。控制节点(192.168.254.10和192.168.254.11)安装了apiserver、kubectl等组件,工作节点(192.168.254.20)则安装了kubelet和kube-proxy等。为实现高可用性,使用nginx和keepalived进行负载均衡,配置了相关的nginx和keepalived脚本及配置文件。最后,强调了启动顺序:先启动nginx,再启动keepalived。
自僱 85 分钟阅读
halo博客+webhook插件+n8n+pushplus实现消息推送 自僱
折腾笔记

halo博客+webhook插件+n8n+pushplus实现消息推送

本文介绍了如何在Halo博客中设置Webhook并使用n8n自动化工作流。首先,安装Webhook插件并获取n8n的token。然后,在n8n中创建工作流,添加Webhook节点并配置HTTP方法和认证。接着,编写Python代码处理不同事件类型(如新文章、新评论等),并通过HTTP请求发送消息到PushPlus。最后,测试工作流并上线,确保一切正常运行。此外,还提供了n8n中文包的安装和配置步骤。
自僱 5 分钟阅读
初始化k8s集群环境 自僱
运维

初始化k8s集群环境

本文介绍了如何在Linux系统中配置静态IP、主机名、无密码SSH访问、关闭swap分区、修改内核参数以启用IP转发及关闭防火墙。首先,修改网卡配置文件,将BOOTPROTO设置为static,并添加IP地址、网关等信息。然后,使用ssh-keygen生成SSH密钥并拷贝到其他节点,实现无密码登录。接着,关闭swap分区并修改/etc/fstab以永久关闭。最后,配置内核参数和防火墙设置,以确保Kubernetes集群的正常运行。
自僱 7 分钟阅读
docker开启包转发和内核参数 自僱
运维

docker开启包转发和内核参数

引入br_netfilter 模块 ‍ 首先引入br_netfilter 模块,该模块将桥接流量转发到iptables 。 [root@openEuler ~]# modprobe br_netfilter 可以使用下面的命令验证是否成功引入br_netfilter 模块。 lsmod | grep br_netfilter 如果出现结果则说明该模块已成功导入。 重启机器后加载br_netfilter 模块 由于模块会在服务器重启后失效,所以需要写个Shell脚本实现系统启动时加载内核模块。 新建/etc/rc.sysinit 文件,然后编写Shell脚本 #!/bin/bash for file in /etc/sysconfig/modules/*.modules do [ -x $file ] && $file done 这段脚本代码首先遍历/etc/sysconfig/
自僱 2 分钟阅读
pve安装HomeAssistant 自僱
折腾笔记

pve安装HomeAssistant

本文介绍了在PVE中部署Home Assistant的步骤。首先,下载并解压Home Assistant镜像,配置虚拟机时选择合适的VM ID、名称、操作系统和硬件设置。建议使用传统BIOS,后续可改为UEFI。上传解压后的.qcow2文件并导入,配置启动顺序。启动虚拟机后,通过浏览器访问并手动设置IP、DNS和网关,以便于管理。最后,保存并应用网络配置。
自僱 5 分钟阅读
C++ 操作文本文件 自僱
编程

C++ 操作文本文件

操作文本文件需包含头文件`#include <fstream>`。写文件步骤包括创建输出流对象、打开文件、写入数据和关闭文件。打开模式可选择覆盖或追加内容,需判断文件是否成功打开。读文件步骤包括创建输入流对象、打开文件、读取数据和关闭文件,读取方式可使用`getline`、`>>`运算符或字符串流。对于二进制文件,操作步骤类似,需注意文件路径和打开模式。
自僱 10 分钟阅读
拷贝构造函数&浅拷贝与深拷贝 自僱
编程

拷贝构造函数&浅拷贝与深拷贝

拷贝构造函数是用于复制对象的构造函数,通常只有一个参数,类型为本类的引用。若未自定义,编译器会生成默认拷贝构造函数。浅拷贝仅复制指针成员,导致多个对象指向同一内存,可能引发错误;而深拷贝则创建独立的对象,确保内存不共享。示例中展示了如何实现拷贝构造函数以支持深拷贝,避免浅拷贝带来的问题。
自僱 4 分钟阅读
结构体内存对齐 自僱
编程

结构体内存对齐

为什么存在内存对齐 1.平台原因(移植原因) 不是所有的硬件都能任意访问任意地址上的任意数据的,某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出异常 2.性能原因 数据结构(尤其是栈)应该尽可能的在自然边界上对齐,为了访问未对齐的内存,CPU需要访问内存2次;访问对齐后的内存,CPU只需要访问内存1次。 在Windows的VS中默认对齐值为8 Linux中(GCC编译器)默认对齐值为4 在内存中我们一般读取数据不是按内存来读取,一般都是按内存块来读取。 未对齐的情况下,当需要访问int类型的数据时,需要CPU访问2次内存块(内存块1和内存块2) 对齐的情况下,当访问int类型的数据时,只需要CPU访问1次内存块(内存块2)即可 是一种空间换时间的做法 结构体内存对齐规则 * 第一个成员在结构体变量偏移量为0的地址 * 有效对齐值为Min(编译器默认对齐值,结构体中成员数据类型中占用内存最大值) * 其他成员要对齐到Min(有效对齐值,该成员数据类型的内存大小)的整数倍 * ⚠结构体总大小为有效对齐值的整数倍 * 如果嵌套结构体,有效
自僱 5 分钟阅读
结构体、共同体和枚举 自僱
编程

结构体、共同体和枚举

结构体是用户自定义的数据类型,可以将多种数据合并描述一个对象。定义结构体的语法为`struct 结构体名 { 成员数据类型 成员名; ... };`。结构体成员可以是任意数据类型,并可包含函数。创建结构体变量时可赋初值,使用`.`或`->`访问成员。结构体支持动态内存分配,使用指针时需注意内存管理。结构体数组和嵌套结构体也被广泛使用。使用时需注意内存对齐和初始化。
自僱 10 分钟阅读