归档
按年份浏览全部文章。
chatgpt小贴士(六)
这是一个系列文章,主要分享我最近使用 chatgpt 过程中的一些小技巧,每次分享 3 点,希望你能有所收获。
提高 chatgpt 工作效率:我最需要改进的 3 个习惯
我经常先说“帮我看看这个项目”或“优化一下文档”,执行过程中再补充范围、读者、限制和验收要求。这样容易返工,也会让对话越来越长。
chatgpt小贴士(五)
这是一个系列文章,主要分享我最近使用 chatgpt 过程中的一些小技巧,每次分享 3 点,希望你能有所收获。
chatgpt小贴士(四)
这是一个系列文章,主要分享我最近使用 chatgpt 过程中的一些小技巧,每次分享 3 点,希望你能有所收获。
chatgpt小贴士(三)
这是一个系列文章,主要分享我最近使用 chatgpt 过程中的一些小技巧,每次分享 3 点,希望你能有所收获。
chatgpt小贴士(二)
这是一个系列文章,主要分享我最近使用 chatgpt 过程中的一些小技巧,每次分享 3 点,希望你能有所收获。
第一次用 chatgpt 与 codex 完成陌生项目:我的三点复盘
第一次面对不熟悉的代码仓库时,我很容易一边探索,一边调整目标。chatgpt 适合帮我梳理思路、理解概念,codex 则适合读取代码、执行操作并验证结果。
chatgpt小贴士(一)
这是一个系列文章,主要分享我最近使用 chatgpt 过程中的一些小技巧,每次分享 3 点,希望你能有所收获。
最近我是怎么使用 codex 的
最近一段时间,我开始把 codex 从一个“帮我写代码的聊天工具”,变成一个可以持续协助我工作的工程助手。
从评论标注到在线预测:小林的 ai 评论分类项目
这是一篇写给初学者的 ai 业务流程科普。文章不讨论具体系统和基础设施,只用一个完整故事解释:什么是标注、开发、训练、评估、推理和上线。
chatgpt + codex 程序员实用指南
面向程序员和技术团队,介绍 ChatGPT、ChatGPT Work、Codex 桌面端、Codex CLI、IDE 扩展和 Codex Cloud 的区别、用法与协作方式。 本文依据 OpenAI 官方文档重新整理,最后核对日期:2026-08-06。产品处于持续更新中,账号套餐、组织策略和...
警告优化建议
警告优化建议。
etcd raft学习
raft通过leader选举和日志复制来保证一致性。选举靠随机超时和多数投票,保证一任一个leader,日志复制要求过半节点确认才提交,保证数据不丢。
claude code skill学习
claude code 中的 skill 是一种可复用、可调用的程序化任务处理器。当用户输入特定命令或满足触发条件时,skill 会被自动加载并执行预定义的任务。skill 就像是给 claude 配备的"专业技能包",让它能够以一致、可靠的方式处理特定类型的工作,可以理解成是ai工具的sop...
claude code subagent学习
subagent是主 agent 可以调用的独立 ai 实例。与 skill 不同,subagent 拥有独立的对话上下文、独立的工具访问权限,甚至可以运行在不同的隔离环境中。subagent 就像是主 agent 的"助手"或"专家顾问",可以独立处理复杂任务并返回结果。
prometheus查询优化
通过 recording rules 预计算常用查询或聚合表达式,可以将复杂的实时计算转移到后台提前完成,大幅减少查询时遍历的时间序列数量。这不仅能降低 prometheus 的查询负载,还能让 grafana 仪表盘响应更快。合理设置规则也能为后续的降采样和长期存储打下基础。
k8s network policy tips
Network Policy 是 Kubernetes 中实现网络隔离和安全控制的核心机制。本文通过大量实例,帮助你快速掌握 Network Policy 的使用。
技术决策随笔
之前有人问起,如果现在重新设计过去做过的 GPU 调度系统,我会怎么做。当时的回答是:肯定不会从0开始再开发一个调度系统了,时间成本和维护成本都不划算。更好的做法是直接在社区里找一个能满足大致需求的方案,说不定连二次开发都不需要。于是就想随便写点东西,权当总结与思考吧。
智算平台随笔
最近有聊到智算平台,想着借此机会,结合自己知道的一点点,随便写写,不懂的地方就先略过,权当复习总结。
k8s多租户学习
为每个租户创建独立namespace,并创建相应的resourcequota和limitrange限制资源使用。
docker部署llm
gpu驱动版本需要更新,否则vllm不支持 参数需要调整,否则gpu oom 大模型通过国内镜像下载 vllm通过国内镜像下载
clowder tips
假设要部署一个hello-api app,目录结构如下:
使用external-secrets访问azure keyvault
记录oidc issuer url。
使用external-secrets访问aws secrets manager
在安装 external-secrets 并创建 clustersecretstore 后,状态一直不是 ready,日志中出现了以下的错误:
2025年阅读书单
爸爸爸 2025-09-06
使用fluent-bit将k8s日志转发到splunk
使用fluent-bit将k8s日志转发到splunk
在ansible on clouds部署mesh
选择public模式,方便访问aap
2024年阅读书单
aws助理架构师认证备考宝典 2024-01-04
aoc sre tips
密码正确时候,检查CSRF配置。
ansbile eda
事件驱动自动化是一种新型的自动化方式,其核心是响应特定事件的触发条件并执行预定义的操作。例如,在 IT 运营中,当系统检测到宕机事件时,可以自动生成故障单、收集信息甚至重启设备,从而实现完全自动化的闭环操作。
ansbile和awx和rhaap
随着自动化技术在 IT 运维中的普及,Ansible 及其相关项目和产品成为许多组织的首选工具。本文将深入介绍 Ansible、AWX、Tower 和 Red Hat Ansible Automation Platform (RH AAP) 的基本概念、功能及其区别。
cert-manager管理和签发证书
ClusterIssuer 是 cert-manager 中用于定义如何签发证书的全局资源。它可以定义多个颁发证书的方式,如通过 ACME (Let's Encrypt)、自签名证书或内部 CA。
常用网络调试命令
检查一个域名是否能够解析为正确的ip地址,验证本地dns服务器是否工作正常。
在pod中调试和测试playbook
我的playbook是在pod中运行的,因此每次修改playbook后,需要将代码更新到镜像,再将镜像推送到镜像仓库,最后启动pod来测试修改。
aws waf tips
aws waf tips
ansible saas tips
ansible saas tips
使用playbook从dynatrace删除k8s集群
在删除被dynatrace监控的集群时,需要及时将集群从dynatrace删除,以免遇到下面错误:
aws上role和policy学习
在aws中,管理和配置访问权限是保证云资源安全的关键步骤。理解iam的三个核心组件——role、policy和trust policy至关重要。本文将详细介绍这些组件,并通过配置alb的示例来具体说明它们的应用。
在rosa部署alb和waf
在rosa部署alb和waf
flux学习之helmrelease spec
定义需要安装的chart。
如何在kubernetes使用dynatrace收集prometheus指标
需要确保kubernetes集群已经被dynatrace监控,即已经安装了dynatrace组件比如activegate、oneagent等。
配置新mac
chrome dash docker desktop podman desktop iterm mysql workbench qq music redis insight slack visual studio code vmware fusion wechat
github repo添加lint工具
lint工具在软件开发中发挥着重要作用。它们能自动检查源代码中的错误、可疑的构造、风格问题以及可能的bug。这对于保持代码质量、提高代码可读性和维护性至关重要。特别是在团队协作的项目中,lint工具可以帮助维持一致的编码标准,减少代码审查中的常规错误检查工作。本文将介绍如何通过github a...
flux学习之部署flux ui
kubectl kind v0.20.0 docker flux version 2.2.2 $GITHUBUSER $GITHUBTOKEN
flux学习之gitrepository spec
git repo的url。
flux学习之kustomization spec
定义通用的元数据,如标签和注释,会覆盖已存在的元数据。
ingress学习之常用annotations
指定与后端服务的通信协议。如果后端服务配置为只接受https连接,不使用此注解会导致连接失败,因为ingress默认使用http。
在chrome中配置proxy switchyomega
可以添加自己的代理服务器,比如:
在kind中部署metrics-server
你会发现不work,需要在metrics-server的deployment中args部分添加一行- --kubelet-insecure-tls,让kubelet忽略tls证书验证,这样才能正常工作。
flux学习之在kind中部署flux
kubectl kind v0.20.0 docker flux version 2.2.2 $GITHUBUSER $GITHUBTOKEN
flux学习之flux常用命令
启用自动补全功能
自动化学习之基于awx构建自动化系统
automation-learning-building-an-automation-system-based-on-awx
自动化学习之awx rest api
查看api版本信息
自动化学习之使用playbook配置awx
当部署完awx后,一般需要配置awx以运行playbook执行各种自动化任务。参考这篇文章部署awx:https://reborncodinglife.com/2024/01/07/automation-learning-build-an-automation-system-based-on-awx/
使用容器模拟虚拟机作为ssh服务器
在学习ansible时,需要添加一些远程host测试playbook,所以想通过docker模拟一个vm,然后安装ssh服务,方便测试运行playbook。
在kind中通过ingress访问应用
创建ingress选择path为/nginx,访问的时候直接跟上本地ip或者localhost就可以。
mysql学习
mysql学习
2023年阅读书单
深入浅出可观察性 2023-01-13
语义版本控制
语义化版本控制(semantic versioning),通常表示为:主版本号.次版本号.修订号,即 major.minor.patch。下面是每个组成部分的含义和例子:
软件交付流程tips
在这个阶段,产品负责人根据市场研究和用户反馈,撰写出详细的用户故事和需求。例如,对于一个在线购物平台,可能会有这样一个用户故事:作为一位购物者,我希望能通过我的社交媒体账户登录,以便快速进行购物。这个故事会详细描述登录的流程,预期的用户体验以及任何业务规则。产品负责人将这些故事添加到jira等...
常用命令tips
curl命令只需返回状态码
python虚拟环境学习
在python项目开发中,保持环境的独立和清洁是至关重要的。这正是python虚拟环境的用武之地。本文旨在为python初学者提供一个关于虚拟环境的简明指南,帮助你理解其概念、重要性以及如何高效使用它们。
http状态码tips
这类状态码表示请求已被服务器接收,并继续处理。
ansible变量tips
在ansible中,定义和传递变量是一个非常重要的功能,因为它允许你管理和使用不同的配置和环境。以下是ansible中定义和传递变量的主要方式,以及它们的使用示例:
cidr和子网划分
假设我们有一个cidr表示法的地址范围:10.100.0.0/16。这个表示法涵盖了一个ipv4地址范围,其中前16位(10.100)用于标识网络,而后16位可以用于表示不同的主机。cidr通常用于指定较大的ip地址范围,允许划分成多个子网或容纳大量的主机。
微服务最佳实践
微服务架构作为现代软件开发的一个关键趋势,其成功实施依赖于一系列精心设计的最佳实践。这些实践不仅提升了系统的可维护性和可扩展性,还加强了服务间的独立性和灵活性。本文将详细探讨这些最佳实践,并通过具体例子来阐释它们在实际场景中的应用。
常见软件部署策略
在当今迅猛发展的软件行业,软件部署策略扮演着举足轻重的角色。为了让用户体验到最新的软件更新,开发者们设计了多种部署策略。下面将介绍几种常见的软件部署策略。
gateway和load balancer和proxy总结
工作中经常遇到gateway和load balancer和proxy,有时候实在搞不清楚他们之间的区别和使用场景,所以想花点时间查阅下资料,权当学习记录。
ci/cd工作流
工作中一直使用ci/cd自动测试和集成部署,所以想花点时间记录下ci/cd的工作流,权当梳理下知识点。
az-104备考总结
azure的网络安全组(nsg)和其应用的虚拟网络(vnet)必须位于同一个区域,不同区域的nsg和vnet间是无法直接关联的,这是由于数据中心的物理位置和数据延迟等因素决定的,以确保网络性能和安全性
azure dns zone
azure dns zone是azure提供的一项托管服务,用于托管dns域名。dns即“域名系统”,是用于将易于理解的域名转换为机器可理解的ip地址的互联网系统。如果把互联网看作一座巨大的城市,那么dns就像是城市中的路标,而azure dns zone就像是管理这些路标的服务机构。azur...
在aks上部署ansible-automation-platform
aks version: 1.25.5 network type (plugin): kubenet private cluster: enabled application gateway ingress controller: enabled
aap tips
通过api检验hub的健康状态
azure application gateway
azure application gateway是一个专用的应用程序负载均衡器服务。它在应用程序层即第七层提供各种关键功能,帮助用户在创建、配置、管理和监控他们的应用程序流量路由时有着极大的便利。主要有以下的功能:
threat model介绍
threat model是一种结构化的方法,旨在识别和量化在某种环境中的潜在威胁。这是一个重要的方法,可以帮助我们了解并改进系统的安全性。接下来我们将深入了解threat model的目标,流程,以及一些主动控制方法。
az tips
创建一个启用multi-az的ip
azure vnet peering
azure vnet peering是一种用于azure虚拟网络之间互相连接的技术。它可以将两个虚拟网络通过虚拟网络之间的vnet peering,使它们之间可以直接通信,就像它们在同一个虚拟网络中一样。vnet peering允许虚拟机、负载均衡器、应用程序和其他资源之间进行高速和安全的通信。
给aap on azure配置hub-spoke peering
hub: 10.3.0.0/16 spoke:10.2.0.0/16
如何在azure postgresql中触发failed connections指标数据
工作中遇到一个需求,需要定义alert去监控azure postgresql的连接失败次数,但是默认情况下,azure postgresql的这个指标数据是没有值的。所以如果想触发定义的alert,需要想办法触发这指标产生数据,以下是一些可能导致连接失败的常见情况:
降级olm管理的operator版本
工作中遇到一个需求,需要将已经安装的operator版本从2.3降级到2.2,然后运行升级脚本测试,验证脚本可以将operator从2.2升级到2.3。所以花了点时间研究如何降级olm管理的operator。
使用certbot申请和更新letsencrypt证书
在home目录创建.azure.ini文件,替换成你的azure service principal:
常见cronjob时间例子
查看cronjob
在azure vm中安装aap
在azure中创建2个rhel 8.7 vm,一个用于安装controller,一个用于安装hub,并开放相应的端口。具体要求参考:https://access.redhat.com/documentation/en-us/redhatansibleautomationplatform/2.2...
let’s encrypt使用tips
在域名提供商处添加a记录指向public ip,才能通过域名访问web
在azure vm中安装nginx
我创建的是ubuntu,记得打开80和443端口,如果你需要支持https的话。给vm设置相应的域名,如yourvm.eastus.cloudapp.azure.com
dynatrace使用tips
定义alert时可用的特殊变量 {alertcondition}:表示alert的条件,大于(above)或者小于(below) {baseline}:基线的违反值 {dims}:指标的所有维度数据,比如dt.entity.customdevice.name和dt.entity.customd...
ansible playbook使用tips
playbook中定义变量
可观察性平台检查表
最近因为工作需要,调研和使用几个可观察性工具和平台,分别如下:
2022年阅读书单
光速入门prometheus+grafana 2022-01-01
datadog使用tips
检查agent配置
git最佳实践
创建不同的环境分支,比如dev,test,prod。一般使用main分支作为开发分支,对默认分支执行相应的保护策略,防止误操作
automation best practices
一定要有备份的习惯,就算手动修改一个文件,也要先备份再修改
azure使用tips
通过service principle登录
常见授权类型
最近在学习security相关知识,看到一篇介绍授权的文章,觉得讲得挺好,所以总结下分享给大家:
家庭运行手册
进入sre行业半年了,经常会需要处理一些警告事件,然后把经验记录下来形成runbook,翻译过来就是运行手册,最近发现如果我不在家,家里有些事情家人无法处理,所以想着写一个家庭版的runbook,供家人参考。
chrome使用tips
cmd + shift + t:恢复关闭的tab cmd + d:将当前页面添加到书签 cmd + :页面返回或下个页面
red hat随笔(八)
来red hat两年了,想写点文章记录一下在red hat的所见所闻,应该会写成一个系列文章,每次分享3点,这是第八篇,主要分享以下3点:
检查aap的指标数据
获取aap controller管理员密码:
导出和导入aap资源
获取aap controller管理员密码:
red hat随笔(七)
来red hat两年了,想写点文章记录一下在red hat的所见所闻,应该会写成一个系列文章,每次分享3点,这是第七篇,主要分享以下3点:
red hat随笔(六)
来red hat两年了,想写点文章记录一下在red hat的所见所闻,应该会写成一个系列文章,每次分享3点,这是第六篇,主要分享以下3点:
sre随笔(一)
年初换了岗位,从开发转到sre了,之前没有想过做sre,在领导和同事的建议和推荐下(ps:在此感谢他们的关照),自己也想尝试下不同的岗位,所以选择试试sre。算了下已经在sre岗位4个月了,学习和接触到了很多东西,觉得有必要记录下来。
red hat随笔(五)
来red hat两年了,想写点文章记录一下在red hat的所见所闻,应该会写成一个系列文章,每次分享3点,这是第五篇,主要分享以下3点:
red hat随笔(四)
来red hat两年了,想写点文章记录一下在red hat的所见所闻,应该会写成一个系列文章,每次分享3点,这是第四篇,主要分享以下3点:
red hat随笔(三)
来red hat两年了,想写点文章记录一下在red hat的所见所闻,应该会写成一个系列文章,每次分享3点,这是第三篇,主要分享以下3点:
red hat随笔(二)
来red hat两年了,想写点文章记录一下在red hat的所见所闻,应该会写成一个系列文章,每次分享3点,这是第二篇,主要分享以下3点:
red hat随笔(一)
来red hat两年了,想写点文章记录一下在red hat的所见所闻,应该会写成一个系列文章,每次分享3点,这是第一篇,主要分享以下3点:
在argocd中使用vault管理secret
secret如下:
缩写词提示
AAP (Ansible Automation Platform) AKS (Azure Kubernetes Service) ARO (Azure Red Hat OpenShift) EKS (Amazon Elastic Kubernetes Service)
用于监控pod的alerts
最近需要使用prometheus监控kubernetes环境下的一些pod状态,定义了一些alert,分享一下:
prometheus&alertmanager tips
查看warning级别的alert
使用vector收集pod日志并转发到prometheus remote write
ACM Hub:启用了observability service AKS cluster:将AKS导入到ACM
vector使用tips
收集指定的pod日志
argocd使用tips
添加集群
在kubernetes中配置vector收集pod日志
使用helm方式安装vector,这里只安装Agent,Agent主要负责收集kubernetes集群节点上的所有日志。
argocd配置插件
argocd提供了插件功能,方便集成更多个配置管理工具,这里演示如何配置一个插件:
openshift安装vault
将vault的helm repo克隆到本地,并checkout到最新版本v0.18.0:
准入控制器admission controller
准入控制器会在请求通过认证和授权之后、对象被持久化之前拦截到达api服务器的请求。准入控制过程分为两个阶段。第一阶段,运行变更准入控制器。第二阶段,运行验证准入控制器。 再次提醒,某些控制器既是变更准入控制器又是验证准入控制器。如果任何一个阶段的任何控制器拒绝了该请求,则整个请求将立即被拒绝,...
在docker上启用open policy agent
docker可以启用很多插件,这里主要介绍opa插件,用于做策略控制。
ansible使用tips
all表示所有host
云原生之cicd
最近读到一本云原生相关的书,也结合自己在cicd方便的一些经验,分享下在云原生环境中cicd的流程:
云原生之docker
最近读到一本云原生相关的书,也结合自己使用容器的一些经验,分享下在云原生环境中使用容器的一些技巧:
2021年阅读书单
半小时漫画 《三国演义》2021-10-31
scrum master随笔
之前在我们squad担任过一段时间的scrum master,于是想把当scrum master期间的一些职责和想法记录下来,当然不同的组织有不同的scrum文化和方式,这里仅供参考:
kubernetes静态token认证和kubeconfig认证
这里仅创建了一个用户token-user1。
cert-manager签发证书
ca的创建参考:
使用cfssl创建自签名证书
可以通过执行cfssl print-defaults config创建默认的配置文件,然后再修改。
在ingress中启用https
创建一个nginx deployment并修改了默认页面 /usr/share/nginx/html/index.html为hello nginx,这里先通过http方式创建ingress:
kube-bench使用
kube-bench是一个go应用程序,它通过运行cis kubernetes benchmark中记录的规则来检查kubernetes是否安全部署。
go实现https认证
user1作为server端,user2作为client端,即client端需要验证server端证书。
kustomize学习
通过kustomize使用kustomization文件定制kubernetes对象
argocd学习(一)
或者直接通过ocp的operatorhub安装,ocp的gitops实际是通过argocd实现,在operatorhub查找openshift gitops后,按照默认配置安装到ocp:
cka练习(十六)
cka练习(十六)
cka注意事项
设置kubectl
cka练习(十三)
cka/ckad应试指南:从docker到kubernetes完全攻略 ch-7
cka练习(十四)
cka/ckad应试指南:从docker到kubernetes完全攻略 ch-6
cka练习(十五)
cka/ckad应试指南:从docker到kubernetes完全攻略 ch-5
cka练习(十)
cka/ckad应试指南:从docker到kubernetes完全攻略 ch-10
cka练习(十一)
cka/ckad应试指南:从docker到kubernetes完全攻略 ch-9
cka练习(十二)
cka/ckad应试指南:从docker到kubernetes完全攻略 ch-8
centos7安装kubernetes
修改节点名字和/etc/hosts文件:
cka练习(九)
cka/ckad应试指南:从docker到kubernetes完全攻略 ch-11
cka练习(八)
cka/ckad应试指南:从docker到kubernetes完全攻略 ch-12
cka练习(七)
cka/ckad应试指南:从docker到kubernetes完全攻略 ch-15
cka练习(六)
cka/ckad应试指南:从docker到kubernetes完全攻略 ch-13
cka练习(三)
cka练习(三)
cka练习(四)
cka练习(四)
cka练习(五)
cka练习(五)
cka练习(二)
cka练习(二)
cka练习(一)
名字为web 重启策略为always 容器端口80映射到物理机8080 物理机/web目录挂载到容器/usr/share/nginx/html 在容器/usr/share/nginx/html目录中创建index.html,内容为hello docker
在kind中通过nodeport访问应用
在kind中通过nodeport访问应用
sonarscanner扫描go项目
打开浏览器,进入 http://localhost:9000 , 默认用户名和密码是:admin:admin ,初次登录需要修改用户名和密码。
e2e总结(一)
负责维护我们组的e2e,所以记录一下一些想法和建议,方便下次开发e2e参考。
shell命令tips
命令查找
vscode使用tips
多行选择
promql学习(一)
至少包含一个指标名称或者一个标签。
ginkgo学习(一)
ginkgo学习(一)
将namespace-scoped的operator修改成cluster-scoped
在main.go中,manager.New时,将namespace参数修改成空。
通过csr创建kubernetes用户
通过csr创建kubernetes用户
通过rbac给用户配置权限
这里给viewer用户查看default namespace pod的权限,如下:
ocp4.3配置htpasswd用户
ocp4.3配置htpasswd用户
prometheus过滤指标数据
打开prometheus ui: http://localhost:9090/graph 查看指标数据,可以看到goinfo和gogcdurationseconds指标数据都不存在。通过配置metricrelabelconfigs可以将匹配的指标数据丢弃。
在ocp4上运行prometheus
deployment
使用curl命令给prometheus remote write endpoint发送数据
以下代码是我参考prometheus官方给出的remote write adapter修改的:
prometheus remote write filter
以下代码是我参考prometheus官方给出的remote write adapter修改的:
prometheus remote write adapter
以下代码是我参考prometheus官方给出的remote write adapter修改的:
helm使用tips
安装helm
软件工具分享(一)
分享我日常工作中经常使用且觉得不错的软件工具,每次分享3个。
minio的使用
minio是一个对象存储服务。它兼容亚马逊s3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5t不等。
使用grafana访问ocp4.3的prometheus
ocp4.3自带了prometheus和grafana,默认在openshift-monitoring namespace下面,但是用户不能修改openshift-monitoring namespace下的资源,比如你无法修改系统自带的grafana的dashboard。如果你修改了相应的资...
通过nfs方式创建pv/pvc
在/etc/exports中添加一下内容:
docker运行grafana和prometheus
使用docker方式启动prometheus:
ingress方式访问ocp应用
这里需要注意,需要在你的/etc/hosts文件中添加相应的ip和host映射,例如:
在rhels7安装mongodb
这里会分别安装以下包:
route方式访问ocp应用
这里需要注意,如果你是通过手动方式创建route,那么需要在你的/etc/hosts文件中添加相应的ip和host映射,例如:
nodeport方式访问ocp应用
nodeport方式访问ocp应用
在ocp上使用prometheus监控用户应用
在cluster-monitoring-config中添加以下字段:
阅读带来的改变(一)
很久以前就想写一篇文章,记录自己不断阅读带来的改变,之前还想着用这个topic去reading club给大家分享下,最后还是没有去成。今天心血来潮,先分享以下3点:
将go dep转换成go mod
从go.mod中将相应的行删除。
thanos学习(一)
提到thanos,一般会介绍prometheus监控系统,它能够实时查询数百万个指标数据,并提供一套强大的查询语言,用户可以通过该语言从这些指标数据中提取有用的信息,但是大规模prometheus集群会存在一些问题,thanos就是为了解决这些问题而存在:
2019年阅读书单
黑客与画家 2019-01-04
kubernetes网络(二)
纯三层的网络解决方案:flannel的host-gw模式和calico模式。
kubernetes service之cluster ip
deployment和service定义如下:
kubernetes service之node port
deployment和service定义如下:
kubernetes网络(一)
flannel的vxlan模式中,kubernetes借助cni接口,维护了一个类似docker0的网桥,即cni网桥cni0。完成容器的跨主通信。cni网桥只会接管由其创建的容器之间的容器。cni主要功能是kubernetes启动infra容器后,调用相应的cni插件,为infra容器的ne...
容器网络(三)
默认配置下,docker在不同宿主机上创建的容器无法通过ip地址相互访问。而相同宿主机上的容器借助docker0网桥模式可以通过ip相互访问。网桥设备转发数据包的依据,是来自转发数据库(forwarding database FDB),FDB记录了二层数据帧应该通过那个接口设备发送到目的主机,...
容器网络(二)
单机docker的容器是通过docker0网桥(虚拟交换机或者虚拟网桥)实现通信。如下:
容器网络(一)
容器提供了以下4种网络模式:
pod通过vol方式使用secret
在pod中需要使用一些敏感信息,如passwd、token等,一般通过secret将这些敏感信息传递给pod,本文主要介绍如何通过vol方式传递secret给pod使用,传递的secret主要有2个值,id和key,下面是详细步骤:
pod知识汇总
pod知识汇总:
vim命令tips
删除全部
网络学习(一)
协议三要素:
docker命令tips
docker覆盖entrypoint
kubernetes命令tips
kubectl使用指定的配置文件
git命令tips
和上游同步
配置pod的存活探针
存活探针(livenessProbe)主要功能是确定何时重启容器,yaml文件如下:
docker运行shell脚本问题
这里有2个文件,分别是dockerfile和shell脚本,dockerfile的主要功能就是将shell脚本复制到容器中运行,shell脚本只有一个echo语句,表示脚本运行完毕。
pod通过环境变量方式使用secret
在pod中需要使用一些敏感信息,如passwd、apitoken等,一般通过secret将这些敏感信息传递给pod,本文主要介绍如何通过环境变量方式传递secret给pod使用,传递的secret主要有2个值,id和key,下面是详细步骤:
添加configmap数据到卷
这里将configmap挂载到/etc/config目录,然后在容器中运行命令查看该文件内容,最后查看pod的日志,确实输出了文件的内容:
通过kind部署istio
需要提前部署好kind和helm。
travis简介
travis提供的是持续集成服务。只要有新的代码提交,就会自动pull。然后提供一个运行环境,执行测试,完成构建,还能部署到服务器。对一些敏感的信息,提供文字加密后和文件加密功能。
mac常用软件
本文主要记录我经常使用的mac软件,持续更新中。
sublime常用插件
本文主要记录我经常使用的sublime插件,持续更新中。
docker的manifest特性
一直都是在x8664平台下编译docker镜像,最近因为需要在powerpc和z上面编译docker镜像,发现同一个镜像在不同的平台运行,结果竟然不一样,因为按docker的镜像机制,同一个镜像不应该出现不同行为,仔细分析后发现是docker提供了manifest功能,进而支持多平台,用户不需...
git将多次提交合并
执行git log查看提交记录:
helm学习(一)
helm的主要功能是封装kubernetes应用,并对应用进行版本管理、依赖管理、升级回滚,方便部署kubernetes应用。通过helm部署kubernetes应用时,实际是将templates渲染成kubernetes能识别的yaml格式的资源描述文件。helm采用c/s架构,由helm...
mac常用快捷键
本文主要记录我初次使用mac过程中的常用快捷键,持续更新中。
kubernetes生态系统
本文主要简单介绍kubernetes生态系统中的相关软件、组件、特性及缩写,持续更新中,更新的原则就是:我在学习kubernetes过程觉得重要或者记不住。
kubernetes学习之节点组件
最近开始学习kubernetes,于是想把学习到的知识点记录下来,当成自己的学习输出。本文主要介绍kubernetes节点中的相关组件。在kubernetes集群中,存在2种节点,master节点和node节点,master节点主要是管理节点,作为集群管理的入口,负责管理集群。node节点是计...
跳槽随笔
年前就有想换工作的打算,于是在回贵州过春节之前,投了几个简历,过完春节从贵州回西安的第二天,就参加了一个面试,主要是go语言开发,做区块链相关工作,面试过程挺nice,面试的马老师和我还聊到写代码用的ide,我记得马老师说他喜欢atom,我说我钟爱sublime,前后大概一个小时左右,最后是h...
关于集群作业调度系统
进入hpc行业4年多了,一直都是负责集群作业调度系统的开发,最近工作中实现了一个简单的集群作业调度系统。因此想借此机会,将我对集群作业调度系统的一些认知和见解记录下来。
我的阅读时间
之前我发了一篇文章2018年阅读书单,记录我2018年的阅读书籍。经常有人问我哪来那么多时间读书,如何在1天内读完那么多书。所以在这里简单给大家介绍下我的阅读时间。
shell相关知识分享
cdpkg cdpython cdmatching cdsched cdd cdm cds
python技巧分享(十八)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
python技巧分享(十七)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
go语言简介
编译型语言,编译速度快
python技巧分享(十六)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
python技巧分享(十五)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
python技巧分享(十四)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
hdp安装及使用问题汇总(二)
1)某些服务或子服务启动失败时,如果重启所有服务后依然失败,进入Ambari Hosts页面,单独在节点启动服务或子服务试试,如果还是启动失败,进入/var/log目录查看相应服务的日志。
centos安装hadoop
1)如果系统已经安装java,通过以下方式设置java相关环境变量:
hdp安装及使用问题汇总(一)
1)安装HDP时,如果打印如下错误信息:
shell技巧分享(九)
这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
shell技巧分享(八)
这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
centos安装openmpi
通过官方网站提供的下载地址:https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.0.tar.gz,下载3.1版的openmpi,在命令行执行如下命令,会将openmpi-3.1.0.tar.gz文件下载到当前目录:
shell技巧分享(七)
这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
python技巧分享(十三)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
python技巧分享(十二)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
python技巧分享(十一)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
shell技巧分享(六)
这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
shell技巧分享(五)
这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
羽毛球之双打反手发网前小球后的注意事项
上次分享了双打如何反手发网前小球,这次主要分享反手发网前小球后的注意事项。
linux应用如何进行cpu绑定
所谓cpu绑定,其实就是对进程或线程设置相应的cpu亲和力(affinity),确保进程或线程只会在设置了相应标志位的cpu上运行,进而提高应用对cpu的使用效率。如果应用可以在多个cpu上运行,操作系统会在cpu之间频繁切换应用,引起cpu缓存失效,降低缓存的命中率,导致cpu的使用效率下降...
如何通过criu checkpoint/restore应用
criu是linux平台在用户空间实现checkpoint/restore功能的工具软件。通过该工具,可以冻结正在运行的应用程序或者其中的一部分,并将应用程序的执行状态以文件形式保存在磁盘上,然后通过这些快照文件,可以将应用程序从冻结的时间点恢复回来继续运行。借助该软件,可以实现应用的实时迁移...
go技巧分享(三)
这是一个系列文章,主要分享go的使用建议和技巧,每次分享3点,希望你能有所收获。
羽毛球之双打反手发网前小球
最近打球觉得进步不大,貌似到瓶颈期了,需要突破一下,所以想花点时间看看羽毛球教学视频,提高一下自己的球技,于是在网上找了李在福老师的羽毛球双打教学视频,学习每集视频的内容,然后总结分享给大家,我会一直更新,每次分享一个视频学习要点,希望你能有所收获。
广度优先搜索算法(go)
广度优先搜索算法(Breadth First Search,缩写为BFS),又译作宽度优先搜索,或横向优先搜索,是一种图形搜索算法。简单的说,广度优先搜索算法是从根节点开始,沿着树的宽度遍历树的节点。如果所有节点均被访问,则算法中止。借助广度优先搜索算法,可以让你找出两样东西之间的最短距离。
go技巧分享(二)
这是一个系列文章,主要分享go的使用建议和技巧,每次分享3点,希望你能有所收获。
go技巧分享(一)
这是一个系列文章,主要分享go的使用建议和技巧,每次分享3点,希望你能有所收获。
go语言动态库的编译和使用
本文主要介绍go语言动态库的编译和使用方法,以linux平台为例,windows平台步骤一样,具体环境如下:
go语言静态库的编译和使用
本文主要介绍go语言静态库的编译和使用方法,以windows平台为例,linux平台步骤一样,具体环境如下:
shell技巧分享(四)
这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
python技巧分享(十)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
shell技巧分享(三)
这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
shell技巧分享(二)
这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
shell技巧分享(一)
这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
python技巧分享(九)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
centos7安装docker总结
最近工作中需要用到docker,所以决定自己搭建一个docker环境,于是选择在virtualbox上安装centos7虚拟机,并在虚拟机上安装docker,没搭建环境之前,觉得应该很简单,没想到折腾了好长时间。比如安装的centos7版本不支持docker,最后导致重装,所以特此记录下安装步...
python技巧分享(八)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
python技巧分享(七)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
windows安装redis
redis官方网站专门说明了,redis不支持windows平台,但是Microsoft Open Tech开发并维护了一个windows版的redis,如下:
python技巧分享(六)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
tempfile.NamedTemporaryFile创建临时文件在windows没有权限打开
记录下来是因为当时谷歌这个问题时发现,网上也有很多人遇到这个问题,我也因为这个问题导致了一个bug,所以告诫自己以后使用API多仔细看看文档。
python技巧分享(五)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
python技巧分享(四)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
python技巧分享(三)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
python技巧分享(二)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
python技巧分享(一)
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。
coding感想(三)
最近的主要工作就是bug fix,所以借此机会总结下,都是bug fix的相关内容,其实是我工作中遇到的一些小问题,有些道理很简单,但没经历过,也就未必明白。本次主要分享以下5点:
回味2017-Jell
2017年,是我人生经历中最波澜壮阔的一年,甚至有一个“浪”,直接把我的价值观都掀翻,在之前30年来建立的自信在那2个月里全部崩盘,那段日子里,我的世界是灰暗的。
回味2017
不知道用什么作为本文标题,和Jell说,我想记录一下2017年的一些人和事,但是不想写成总结,因为实在不好意思说出“总结”这个词,虎头蛇尾,年初定的好多目标和计划都未实现,着实惭愧。说着说着蹦出“回味”这个词,一想挺好,权当回味一下吧,所以有了回味2017。这里记录的人和事没有什么顺序可言,想...
2017年阅读书单
若为自由故(自由软件之父理查德·斯托曼传) 2017-01-01
coding感想(二)
继coding感想(一)之后,有了这篇coding感想(二),主要是因为最近几天接触了一些比较“生猛”的代码,所以想借助本文总结下,本次分享主要有以下4个方面:
冒泡排序
冒泡排序,顾名思义就是像冒泡一样进行排序,那么是怎么个冒泡法呢?
好书分享(一)
最近突生一个想法,想从我读过的书中,挑一些我觉得很不错的分享给大家。好书就应该分享出来让更多的人知道,让更多的人受益。因为我也是通过别人的分享才知道这些好书,所以我希望自己也能将这份分享传递下去。
go语言坑之并发访问map
go提供了一种叫map的数据结构,可以翻译成映射,对应于其他语言的字典、哈希表。借助map,可以定义一个键和值,然后可以从map中获取、设置和删除这个值,尤其适合数据查找的场景。但是map的使用有一定的限制,如果是在单个协程中读写map,那么不会存在什么问题,如果是多个协程并发访问一个map,...
好好说话之避免反问
最近有幸读了一本叫《好好说话》的书,学习到一些说话的方式和技巧,所以反思了下自己平时的说话方式,觉得有很多地方需要改进。当然,要突然改变自己的说话方式确实不太现实,因为一个人的说话方式很大程度取决于其性格,另外和受教育程度也有很大关系,但是可以慢慢来,一点点改变,一点点适应,尽量避免无效沟通,...
数据结构学习之队列(queue)
最近由于工作原因,需要自己实现一个类似队列的数据结构,所以想写篇文章记录并总结下队列的相关内容,主要有以下4点:
go语言坑之for range
go只提供了一种循环方式,即for循环,在使用时可以像c那样使用,也可以通过for range方式遍历容器类型如数组、切片和映射。但是在使用for range时,如果使用不当,就会出现一些问题,导致程序运行行为不如预期。比如,下面的示例程序将遍历一个切片,并将切片的值当成映射的键和值存入,切片...
go语言坑之list删除所有元素
go提供了一个list包,类似python的list,可以存储任意类型的数据,并提供了相应的API,如下:
关于羽毛球双打站位
在上篇文章《羽毛球随想(一)》中,我对双打站位的理解有点过于狭隘,文中一直强调前后站位,发球人站前面,相应队友站后面。其实不然,双打时一直前后站位一般用于“一强一弱”的双打选手。如果选手之间的技术水平都差不多时,就不推荐一直前后站位了,需要进行轮换,比如由进攻阵势进入防守阵势时,或者由防守阵势...
羽毛球随想(一)
上周末参加球友组织的羽毛球活动,双打时连输2场比赛,有点不爽。当然,输球主要原因在我,失误太多,发球都丢好几分,所以有了此文,算是个小总结吧。从广州归来以后开始正式学习打球,距今也一年有余,每周都至少打球一次,也算有一年多的球龄了,多少还是知道点基本技巧的,先分享以下4个方面。
《黑客与画家》读书笔记之设计篇
2017年,计划再读一遍《黑客与画家》,在这本书中,我最喜欢的一章是第九章 设计者的品味。作者介绍了一个优秀的设计应该具备的一些特性,读完很受用,所以摘录本章部分内容分享给大家。
工作感想(二)
去年8月份,写了一篇工作感想(一),时隔半年有余,也有些想法,特记录于此,主要有以下5点:
plan 2017
2016年写的Plan 2016有些效果,所以有了这篇Plan 2017,计划还是要有的,万一实现了呢。
summary 2016
去年这个时候,为自己的2016年写了一个计划--Plan 2016,一年过去了,所以有了这篇Summary 2016,主要是想看看去年的想法和计划实施了多少,虽说计划赶不上变化快,但是有计划总比没有强。其实,有时候适当的吹吹牛也好,当自己犹豫的时候就会想到自己曾经吹的牛皮,多少还是有点顾忌的。...
如何调试windows的stackdump文件
在windows上,通过cygwin编译的c程序在运行时,若有内存错误也会产生类似linux上的core文件,但是该文件一般是以stackdump为后缀的文本文件,且文件提供的信息有限,只包含了程序coredump时函数调用的栈信息,不能像linux一样使用gdb调试。所以,在windows平...
coding感想(一)
工作一年多了,项目中真正写代码的时间其实并不多,更多时候是在调试代码或者维护已有代码。调试代码或者维护已有代码难免要去读代码,如果是自己写的代码,那么读不懂只能怪自己写得不好,如果是别人写的代码,读不懂也只能怪自己,技不如人呗,开个玩笑而已,读不懂别人的代码说不定不是你的问题,也许是别人写的代...
windows平台使用pyinstaller将python脚本打包成可执行文件
平时工作中,有时候需要将自己写的python脚本在windows运行,但是若windows没有安装python,那么就不能直接运行python脚本。本文介绍一种方法,通过pyinstaller工具将python脚本打包成一个可执行文件,可以直接在windows运行,不管windows是否安装p...
工作中的小技巧分享
本文是为了给dev2做一个knowledge share,分享一些我日常工作中总结的小技巧和工具,主要是一些命令行的改造和定义,因为经常执行某一个命令,如果重复几次以后我就想把命令改造得短一些,方便再次执行以节约时间,所以分享出来希望对大家能有所帮助。
c库函数strncat出现乱字符
最近项目接近尾声,基本都是在fix bug,今天说说一个bug,是由于strncat函数使用不当导致命令行输出有乱字符。虽说只是一个很简单的小问题,但是不弄明白就是大问题。
valgrind使用:检测非法读写内存
本文简单介绍如何通过valgrind检测c语言中的非法读写内存,避免发生不可预测行为。
《重来》读书笔记之招聘篇
本文是《重来》招聘篇的读书笔记,这本书之前就读过一遍,最近在同事的提及下又忍不住的再读一遍,每次读完一遍都想再读一遍,犀利的语言、反常规的观点,绝对让你耳目一新。
valgrind使用:检测内存泄漏
本文简单介绍c开发中的内存泄漏和动态内存分配函数,并使用valgrind分析c程序的内存泄漏问题。
关于买书(Jell版)
买书,是一种行为。某种行为若要执行,必须要搞清楚此行为对己的好处。若好处多多,行之,若毫无好处,否之。通过效益来评判某种行为是否有必要执行,我觉得是最有价值的评判标准。
c库函数getenv引起的core dumped
最近的项目中使用c作为开发语言,由于我之前学习c仅限于看完了几本相关书籍,除了上学期间和找工作时写的一些c程序以及工作中一些关于c的bug fix,在项目中使用c还是第一次,通过这段时间对c的使用,更能体会到下面这句话的含义:
关于买书
我经常给身边的人建议,喜欢什么书或者想看什么书就买,不要犹豫,不要嫌贵,不要舍不得花钱,别人可能倾尽一生写的一本书,你就花几十块钱就买回来了,这么好的事为啥还要犹豫,况且,还能有什么投资比投资自己的大脑划算。书买回来就有可能阅读,读了就会有收获,就会有进步,如果不买回来,基本就不可能看。当然如...
markdown学习
最早接触markdown是在github参与翻译一本开源电子书,在查看别人翻译完的内容时,会发现一些奇怪的字符。比如:
工作感想(一)
工作一年多了,最近刚好也经历一些事,于是想写写工作上的一些收获和感想,算是对自己最近一年工作上的总结吧,主要有以下4点:
关于单元测试(go)
在最近开发过程中,需要每个模块都写单元测试,由于之前开发没有写单元测试的习惯,突然要求写单元测试,还不知道从何入手,于是花了点时间学习如何写单元测试,收获很多,因此本文算是近期学习单元测试的总结,主要有以下4个方面:
毕业一周年记
去年这个时候,再次离开学校进入职场,相比2010年的我,虽也迷茫,但不至于不知道自己能干什么和想干什么。工作单位选择了一家广州大型国企,岗位是软件设计师,不过比较偏底层,需要调板子,其实至今我都不太喜欢调板子,相比更喜欢写代码,可能也是自己一直选择逃避困难,选择相对简单的,这可不是个好习惯。在...
shell相关分享
由于工作原因,每天都会使用shell,难免会有很多重复性的命令操作,于是积累了一些shell别名和函数 ,特此分享,希望你能有所收获!
关于层(layer)
今天谈谈“层”这个字,如果要让我在计算机科学中挑选一个最神奇的字,我会选择“层”字,因为生活中随处可见使用“层”的例子。
程序员如何挑选一个优秀的团队或公司
最近正在看《软件随想录 卷一》,作者分享了一个测试--乔尔测试,用于评价一个团队开发的软件质量,结合之前看过的一本书和我工作的切身体会,我觉得可以往这个测试后面再添加3条,用于程序员找工作时去挑选一些优秀的软件开发团队或者公司,具体条件如下:
go获取机器的mac地址和ip
开发中常需要获取机器的mac地址或者ip,本文通过go获取机器上所有mac地址和ip,详细代码如下:
go获取windows的hostid
在类unix系统中可以通过hostid命令获取到一个十六进制数,称为hostid,在大多数情况下可以作为该机器的唯一标识符。例如在我的ubuntu系统上执行如下:
go从已知列表中查找字符串
最近在开发中遇到一个需求,需要查找某个给定的字符串是否属于有效字符串。例如以下字符串都是有效字符串:
我使用最频繁的10个git命令
现在基本每天都在使用git,但是git的命令特别多,要全部搞懂需要花大量时间去实践学习,由于我使用git只是为了维护我的博客、平时写的一些代码和翻译一些书,用不到git很多的高级功能。因此在使用git过程中发现,使用得最多的命令是以下10个:
go语言接口学习
刚开始学习go语言的时候,看代码中某个类型实现了Error()方法,然后就可以将该类型赋值给error类型。当时还没学习接口,不懂为什么可以这样赋值。学习接口以后,才明白怎么回事。查看go源码,发现内置类型error其实是一个接口类型,并实现了Error()方法,如下:
go语言性能建议
最近为了学习go语言,花了点时间翻译《the way to go》这本书相关章节:
go常见错误总结
最近为了学习go语言,花了点时间翻译《the way to go》这本书相关章节:
go语言strings库总结
最近由于用go做字符串处理,用到了go的strings库,借此对go strings库做个总结,将go strings中所有函数的功能做一个简单的说明,当然,这是一个重复造轮子的过程,因为go语言标准库已经有中文版了。
python i18n实现
本文简单介绍python实现i18n的方法。i18n来源于英文单词internationalization的首末字符i和n,18为中间的字符数,是“国际化”的简称。指让产品(出版物,软件和硬件等)无需做大的改变就能够适应不同的语言和地区的需要,对软件来说,表示在不修改内部代码的情况下,能根据不...
推荐一些好用的微信公众号
微信公众号平台做得挺不错,有些app都不用安装,用户关注了一个公众号,就像安装了一个app一样,直接使用微信公众号接口就可以完成所需功能,确实很强大,给大家推荐几个我一直在用得公众号,希望大家喜欢。
分享一些好用的软件
这里列出一些我认为比较不错的软件,分享出来给大家!欢迎推荐补充!
这十年,关于工作
十年前,我根本就没想到自己会喜欢上coding,变成一个程序员。
我的书单
弗洛伊德与为什么鸭 2026-01-18
关于算法复杂度
本文主要通过介绍如何计算十进制数转换成二进制数后,其二进制数中是1的个数,进而分析算法复杂度相关问题。例如十进制数7,二进制表示为0111,总共有三个1。
plan 2016
花钱如流水,还钱如抽丝啊,上研以来就一直是"负翁",今年务必还清信用卡,合理消费!
inno setup功能函数合集
1 检测系统是否win7
reborn coding life
毕业后,我选择去广州的一家国企,一切都充满未知,充满期待,虽研一结束后一直在一个软件公司实习快一年半,期间除了写论文和答辩基本都在公司实习,公司虽小,但是氛围很适合我这种比较向往自由的人,弹性工作制,电脑联网,不打卡,我的最爱。