唐顺才
码龄4年
  • 249,449
    被访问
  • 204
    原创
  • 7,237
    排名
  • 192
    粉丝
关注
提问 私信

个人简介:我的生涯一片无悔,我想起那天夕阳下的奔跑,那是我逝去的青春。

  • 加入CSDN时间: 2018-01-11
博客简介:

jacky128256的博客

查看详细资料
  • 5
    领奖
    总分 1,121 当月 82
个人成就
  • 博客专家认证
  • 获得143次点赞
  • 内容获得105次评论
  • 获得319次收藏
创作历程
  • 25篇
    2022年
  • 76篇
    2021年
  • 57篇
    2020年
  • 46篇
    2019年
成就勋章
TA的专栏
  • linux 应用开发
    付费
    40篇
  • 网络安全
    付费
    3篇
  • K8s && dockr容器编排
    15篇
  • golang高性能服务器编程
    88篇
  • c++
    6篇
  • 笔记
    5篇
  • gluster
    2篇
  • Fastdfs
    6篇
  • 音视频处理
    4篇
  • python编程
    2篇
  • minio
    1篇
  • ipfs
    1篇
  • Qt设计
  • pcb设计
    1篇
兴趣领域 设置
  • 大数据
    mysqlredis
  • 后端
    架构
  • 服务器
    linux
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

《k8s 源码解析1 ---- 插件机制》

插件定义:用于执行目标明确的独立功能可执行文件,或任务触发。 例如:一个用于压缩日志的shell脚本,其它语言(python、c++、java、golang)可执行文件。插件的实现方式:exec函数组:k8s中插件的实现方式:// 显然,k8s中插件的实现方式有2个接口:查找可执行文件(的绝对路径)、与参数 环境变量一起调用exec函数组// PluginHandler is capable of parsing command line arguments
原创
发布博客 12 小时前 ·
6 阅读 ·
0 点赞 ·
0 评论

我对工业物联网的看法

随着人工成本持续增高、技术逐渐成熟、工业物联网势在必行。 工业物联网的核心在于: 提升生产力、节省成本提升用户体验 以下我的看好的工业物联网项目:1 汽车充电桩:对个人消费者是卖电子设备、对规模商户是卖服务(出租车站、公交车站、停车场)2 电池柜:面向个人消费者租赁市场,潜在因素是电动2轮车电池危险系数高,消费人群无固定充电地点,以租赁市场为发展趋势。 参照台湾省电动车换电池市场。3 机器人:精密制造(汽车、航空制造有现有的成熟方案)、物流仓储(需求广泛,市场潜力巨大:工厂、医院.
原创
发布博客 2022.05.14 ·
167 阅读 ·
0 点赞 ·
0 评论

键盘特殊符号

在代码中写流程图时,需要一些特殊符号,键盘不方便输入,这里用文档记录下来,以方便使用╮╭╯╰►▼▲例如以下代码的注释部分:// Component defines the lifecycle of managed components./// Created ――――――――――――――――――――――►(Stop)―――╮// ╰―(Init)―► Initialized ―――――――►(Stop)――╮│// ╰―(Ru
原创
发布博客 2022.05.11 ·
31 阅读 ·
0 点赞 ·
0 评论

从零实现文件加密、解密(基础原理演示)

有一个做底端嵌入式的朋友请求帮忙做一个加密、解密的功能。 蓝牙一个广播包是32byte,因此不可能用rsa等加密算法。这里用异或进行加密原理:1 ^ 1 = 01 ^ 0 = 10 ^ 1 = 10 ^ 0 = 0上代码:#include <stdio.h>#include <stdlib.h>#include <string.h>// 密钥const unsigned char PUB[32] = { 0x01, 0.
原创
发布博客 2022.05.10 ·
140 阅读 ·
0 点赞 ·
0 评论

《k3s 源码解析6 ---- k3s参数解析》

在使用k8s、k3s的时候没有指定参数,大家注意到除了kubeadm init/join时指定了一些必要的初始化参数(网段、ip、端口等),在运行(kubectl命令)时是不需要指定参数的,当然如果你额外指定参数也是可以的。原因如下:防止记错参数,成熟的组件会帮你把参数写到配置文件中(配置文件往往用json、yaml格式编码,k8s中是用yaml编码)简化使用难度,不可能有人能把几十个参数、参数的顺序记忆在脑海里。配置文件中的参数可以被环境变量、cli输入的参数覆盖掉,保留灵活度 1 配置.
原创
发布博客 2022.05.03 ·
326 阅读 ·
0 点赞 ·
0 评论

《k3s 源码解析5 ----master逻辑源码分析2》

一、k3s server启动入口:暂时写到这里,后续追加。
原创
发布博客 2022.04.30 ·
418 阅读 ·
0 点赞 ·
0 评论

k8s 市场现状闲聊

关于k8s 的运维方式,dashboard与kubectl cli哪个更好:2年前曾经与某做跨境电商的产品经理聊这个问题,我说linux cli是天花板。 而对方用很不屑的语气说你的命令行敲错了怎么办? 说用web界面才是王道。草……昨天,去高新园与一个做游戏的聊天,对方的观点就比较正。 我们一致认为:命令行是运维人员应当追求的,而web界面是给小白鼠用的。不同的人观点不一样,只能选择,不能说服别人去认同你的观点,因为知识体系,工作背景不同。昨天也提到阿里云提供了k8s 一键部署,用起来也很一
原创
发布博客 2022.04.30 ·
907 阅读 ·
0 点赞 ·
0 评论

golang slice去重

以前去面试,某个面试题目如下:数据类型如下:type ele struct { id int lastTime time.Time}请编写函数,对Id重复的元素,只保留lastTime最新的元素。分析:先排序后去重速度会比盲目去重要快,按照id排序后需求去重的数据比较集中,比按照时间戳排序要快。 方案如下:按照id排序在排序后的slice上面放置窗口滑动块,窗口的范围是:id连续相同的元素func RemoveDuplicates(islice []ele, dna int) []
原创
发布博客 2022.04.29 ·
195 阅读 ·
0 点赞 ·
0 评论

《k3s 源码解析4 ---- k3s重要数据结构》

k3s完全兼容k8s,我解释一下是为什么:因为k3s的底层数据结构(写入etcd/mysql/sqlite/dsqlite数据库的格式),是完全照搬k8s的数据结构。api完全兼容。 对外表现相同,底层数据相同,只是实现方式不同(举个例子: 一个爆炒大虾,一个油焖虾)。我认为 k3s/k8s数据结构的3个用途:缓存从api中解析出来的参数,为了后面的处理逻辑更方便的去引用api的参数。方便响应api时,用marshal() 去生成json/protobuf序列化的数据方便写入数据库(et
原创
发布博客 2022.04.25 ·
1268 阅读 ·
0 点赞 ·
0 评论

《k3s 源码解析3 ---- k3s集群搭建》

一、安装说明:主机名要求主机名不能一样,如果主机名一 样,可以通过参数--with-node-id添加一个随机后缀, 或者通过参数--node-name或者环境变量$K3S_NODE_NAME指定主机名操作系统基本上可以跑在所有的Linux系统上,官方支持并测试的系统包括Ubuntu 16.04 (amd64)Ubuntu 18.04 (amd64)Raspbian Buster*硬件资源CPU:1内存:512MB(建议至少1G)磁盘:K3s性能依赖数据库的性能,建议跑在S.
原创
发布博客 2022.04.25 ·
87 阅读 ·
0 点赞 ·
0 评论

《k3s 源码解析2 ----master逻辑源码分析》

一、k3s 源码入口: 二、k3s master入口: 三、配置文件数据结构://pkg/cli/cmds/server.go var ( ServerConfig Server // 从cli、配置文件加载配置参数)type Server struct { ClusterCIDR cli.StringSlice // (networking) IPv4/IPv6 network CIDRs to use for pod IPs (default: 10.42.
原创
发布博客 2022.04.20 ·
874 阅读 ·
0 点赞 ·
0 评论

golang 1.8泛型测试

golang 目前最新版本是1.8.1, 泛型功能测试一把。golang.org 官方例子 main.go内容如下:package mainimport ( "fmt")type Number interface { int64 | float64}func main() { // Initialize a map for the integer values ints := map[string]int64{ "first": 34, "second": 12,.
原创
发布博客 2022.04.19 ·
775 阅读 ·
0 点赞 ·
0 评论

《k3s 源码解析1----源码目录结构》

k3s 是Rancher Labs (知名开源组织) 发布的k8s的一个精简发行版本,内核是k8s,外设是经过魔改的,完全兼容k8s 标准资源定义。相当于debian之与linux,ubuntu之与liinux。k3s 官网地址: 一、k3s定义:K3s - 轻量级 Kubernetes轻量级 Kubernetes。生产就绪,易于安装,内存减半,全部在小于 100 MB 的二进制文件中。非常适合:边缘计算物联网CI持续集成开发arm嵌入式 k8sk8s集群适用的情况为什.
原创
发布博客 2022.04.18 ·
218 阅读 ·
0 点赞 ·
0 评论

基于linux cli( 命令行) 的翻译工具推荐

推荐2个cli翻译工具:1 有道出品的:fy2 谷歌翻译:trans从易用性上来说,fy cli比较美观好用,支持彩色。 从功能上来说,trans支持的语言更多,更强大。fy安装使用:0) 安装apt install fy -y1) 汉译英root@jack-VirtualBox:~/translate-shell# fy 你好吗/var/lib/gems/2.7.0/gems/fy-1.0.1/lib/fy/fanyi.rb:17: warning: URI.escape i
原创
发布博客 2022.04.05 ·
1330 阅读 ·
0 点赞 ·
0 评论

k8s 部署android实例

环境:root@k8s-master:~/work/ingress-controller/1.1.1/test/deployment/android-x86# kubectl get nodes -o wideNAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTI
原创
发布博客 2022.03.13 ·
3505 阅读 ·
0 点赞 ·
0 评论

禁止ubuntu自动更新

ubuntu系统默认会更新一些系统组件,如果不禁止自动更新,则系统会中的垃圾文件会越来越多。禁止系统更新:APT::Periodic::Update-Package-Lists "1";APT::Periodic::Download-Upgradeable-Packages "0";APT::Periodic::AutocleanInterval "0";改为:APT::Periodic::Update-Package-Lists "0";APT::Periodic::Download-.
原创
发布博客 2022.03.12 ·
429 阅读 ·
0 点赞 ·
0 评论

如何扩大ubuntu的ubuntu--vg-ubuntu--lv空间

在使用virtualbox安装ubuntu时,默认被选中了lvm安装根分区,且根分区比较小。因此磁盘不够用。扩大ubuntu的ubuntu–vg-ubuntu–lv空间1 查看根分区空间:root@jack:~# df -hFilesystem Size Used Avail Use% Mounted onudev 948M 0 948M 0% /devtmpfs .
原创
发布博客 2022.03.12 ·
635 阅读 ·
0 点赞 ·
0 评论

helm部署ingress nginx controller

helm是用于ingress nginx controller部署的一个客户端工具,有专用的服务站点和资源仓库。helm官方网站链接一、仓库添加:1 )Add Repository (stable)$ helm repo add nginx-stable https://helm.nginx.com/stable$ helm repo updateAdd Repository (experimental)$ helm repo add nginx-edge https://helm.ng.
原创
发布博客 2022.02.08 ·
150 阅读 ·
0 点赞 ·
0 评论

golang 编译错误:unknown revision xxx

go mod处理第三方依赖包时出现unknown revision xxx错误。原因:github上面的一些开源组件,用的git版本是最新的版本。 而编辑机的git版本比较旧,有的git命令没有,导致下载失败。解决方法:升级git到最新版本(目前是2.35.1)。sudo apt update # 更新源sudo apt install software-properties-common # 安装 PPA 需要的依赖sudo add-apt-repository ppa:git-core/pp
原创
发布博客 2022.01.31 ·
675 阅读 ·
0 点赞 ·
0 评论

golang 网络心跳包设置

socket 心跳:import ( "log" "net" "time" "github.com/felixge/tcpkeepalive")func main() { addr := "0.0.0.0:8080" tcpAddr, err := net.ResolveTCPAddr("tcp", addr) if err != nil { log.Fatalf("net.ResovleTCPAddr fail:%s", addr) } listener, err
原创
发布博客 2022.01.31 ·
85 阅读 ·
0 点赞 ·
0 评论
加载更多