• Kubernetes

      升级 kubernetes 集群 (1.19.x) -> 1.29.x

      Kubernetes 集群的升级是一个重要但相对复杂的过程。以下是一些基本步骤和建议来帮助你成功升级 Kubernetes 集群。请注意,这些步骤可能会根据你的特定环境和 Kubernetes 的部署方式有所不同。

    • Windows 安装 Chocolatey

      Chocolatey 是一个用于 Windows 平台的包管理器,类似于 Linux 上的 apt、yum 或者 macOS 上的 Homebrew。它使得在 Windows 上安装、更新和卸载软件变得更加简单和自动化。

    • Win11 添加定时任务

      在 Windows 11 中,您可以使用 schtasks 创建定时任务。

    • Drools

      Drools 规则引擎可视化探索

      Drools 是一个基于规则的开源业务规则管理系统(BRMS),它提供了一个灵活且强大的规则引擎,用于处理业务规则和逻辑。Drools 支持将业务规则与应用程序代码分离,使业务规则的管理和修改变得更加简单和灵活。

    • Next.js 项目部署

      Next.js 为您提供生产环境所需的所有功能以及最佳的开发体验:包括静态及服务器端融合渲染、 支持 TypeScript、智能化打包、 路由预取等功能 无需任何配置。

    • Macbook Pro

      Macbook Pro 设置定时任务

      如果你想在MacBook Pro上设置定时任务,可以使用内置的工具 "cron" 或 "launchd"。

    • Docker 安装教程

      Docker 是一个开放源代码软件,是一个开放平台,用于开发应用、交付(shipping)应用、运行应用。 Docker允许用户将基础设施(Infrastructure)中的应用单独分割出来,形成更小的颗粒(容器),从而提高交付软件的速度。[1] Docker容器与虚拟机类似,但二者在原理上不同。容器是将操作系统层虚拟化,虚拟机则是虚拟化硬件,因此容器更具有便携性、高效地利用服务器。 容器更多的用于表示 软件的一个标准化单元。由于容器的标准化,因此它可以无视基础设施(Infrastructure)的差异,部署到任何一个地方。另外,Docker也为容器提供更强的业界的隔离兼容。

    • Superset 安装指南

      Apache Superset是一个开源的数据探索和可视化平台,设计上注重视觉吸引力和直观性。它提供了一个界面,用户可以用来探索和可视化数据集,创建和分享仪表板,以及运行数据分析。它支持各种数据库和数据引擎,包括MySQL,Postgres,Redshift,BigQuery,SQLite等。Superset的目标是让数据分析变得更加直观,无需编写复杂的SQL查询。

    • Cloudreve 自用的网盘服务

      Cloudreve 可助你即刻构建出兼备自用或公用的网盘服务,通过多种存储策略的支持、虚拟文件系统等特性实现灵活的文件管理体验。

    • Cilium

      云原生之初探 Cilium

      Cilium 是一个开源项目,提供了 API 驱动的网络、安全和负载均衡功能,用于连接、保护和观察微服务。Cilium 基于 eBPF (扩展的伯克利数据包过滤器) 构建,这是一个在 Linux 内核中运行的强大和灵活的虚拟机,可以用来执行各种网络、安全和观察任务。

    • Traefik

      云原生之初探 traefik

      Traefik 是一个现代的 HTTP 反向代理和负载均衡工具。由于其易于使用和与现代云工具的集成,Traefik 已经成为许多开发者和运维人员的首选反向代理和负载均衡工具。

    • Jaeger

      云原生之初探Jaeger

      Jaeger 是一个开源的分布式追踪(distributed tracing) 系统.

    • MetalLB

      云原生之初探 MetalLB

      MetalLB 是一个为 Kubernetes 提供负载均衡服务的组件。Kubernetes 本身不提供内置的负载均衡器实现,特别是在裸机(非云环境)部署时。因此,当你在这样的环境中运行 Kubernetes,并希望提供外部访问到集群内的服务时,MetalLB 就变得非常有用。

    • Serialize

      序列化测试

      “序列化”是指将数据结构或对象状态转换为一个可以存储或传输的格式的过程。它的主要目的是保存对象的状态,以便可以在稍后重新创建它,或者在网络上共享。当对象被反序列化时,它会恢复到原始状态。 在计算机编程中,序列化和反序列化的应用非常广泛。例如,在分布式系统中,当一个节点想要与另一个节点共享数据对象时,它可以先序列化对象,然后发送,接收端收到后进行反序列化恢复对象。

    • Sonar Qube

      SonarQube is an open source platform for continuous inspection of code quality.

    • Nextjs 中使用 Iconfont 中文字体

      Iconfont.cn 是一个由阿里巴巴提供的图标管理网站,也被称为阿里巴巴矢量图标库。它提供了大量的矢量图标供设计师和开发者下载和使用。用户可以在这个平台上搜索图标,创建自己的图标项目,并将这些图标以字体或 SVG 的形式下载到本地。 此外,Iconfont.cn 还支持图标的在线编辑和存储,用户可以将自己的图标上传到 Iconfont.cn,并在需要时下载和使用。

    • mac 下修改打开文件最大数量

      "too many open files"是一个常见的Linux错误,它表明进程已达到它可以同时打开的文件的最大数量。这个限制包括所有类型的文件,包括网络连接

    • Podman Desktop

      Docker Desktop 的开源替代方案

    • Kong Gateway

      Kong Gateway is a lightweight, fast, and flexible cloud-native API gateway. An API gateway is a reverse proxy that lets you manage, configure, and route requests to your APIs.

    • 时间轮算法

      书山有路勤为径,学海无涯苦作舟

    • octant 安装教程

      Octant是开发人员了解应用程序如何在Kubernetes集群上运行的工具。它旨在成为开发人员工具包的一部分,以获取Kubernetes中发现的洞察力和复杂性。Octant提供了内省工具、集群导航和对象管理以及插件系统的组合,以进一步扩展其功能。

    • k8s 安装 Helm

      Helm 是查找、分享和使用软件构建 Kubernetes 的最优方式。

    • Kubenetes 使用 NFS 创建动态 PV

      Kubernetes 对 Pod 进行调度时,以当时集群中各节点的可用资源作为主要依据,自动选择某一个可用的节点,并将 Pod 分配到该节点上。在这种情况下,Pod 中容器数据的持久化如果存储在所在节点的磁盘上,就会产生不可预知的问题,例如,当 Pod 出现故障,Kubernetes 重新调度之后,Pod 所在的新节点上,并不存在上一次 Pod 运行时所在节点上的数

    • 构建 Kubernetes PV

      PersistentVolume (PV) 和 PersistentVolumeClaim (PVC) 提供了方便的持久化卷:PV 提供网络存储资源,而 PVC 请求存储资源。这样,设置持久化的工作流包括配置底层文件系统或者云数据卷、创建持久性数据卷、最后创建 PVC 来将 Pod 跟数据卷关联起来。PV 和 PVC 可以将 pod 和数据卷解耦,pod 不需要知道确切的文件系统或者支持它的持久化引擎。

    • docker 安装目录迁移

      在安装docker时通常是默认安装的系统盘目录/var/lib/docker,而该目录通常是比较小的,一旦镜像过多就可能出现docker无法运行的情况,这时进行docker目录的迁移就可以很好地解决问题。

    • MySQL 安装教程

      MySQL原本是一个开放源码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被昇阳微系统收购。2009年,甲骨文公司收购昇阳微系统公司,MySQL成为Oracle旗下产品。

    • MAC 配置 FRP 远程访问

      A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.

    • MySQL 磁盘清理

      总共 80G的磁盘, MySQL占据了一大半, 清理任务迫在眉睫

    • Arthas 使用教程

      Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。

    • MyBatis 常见问题

      MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

    • rinetd 端口转发

      Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具。Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址/端口对。尽管rinetd使用非闭锁I/O运行作为一个单一过程,它可能重定向很多连接而不对这台机器增加额外的负担。

    • MAC 自运维

      自运维 Macbook Pro.

    • Github 加速访问

      GitHub是通过Git进行版本控制的软件源代码托管服务平台,由GitHub公司的开发者Chris Wanstrath、P. J. Hyett和汤姆·普雷斯顿·沃纳使用Ruby on Rails编写而成。 GitHub同时提供付费账户和免费账户。这两种账户都可以创建公开或私有的代码仓库,但付费用户拥有更多功能。

    • Spring Boot 自动配置原理

      `Spring Boot` 的核心思想是 "约定大于配置" , 就是用户按照 "约定" 去做一些规范内的事, 那么 `Spring Boot` 就会帮你把剩余的繁琐的配置 "自动配置" 完毕. Spring Boot 帮你做的事情就是自动配置.

    • “懒人“ HTTPS 证书申请指南

      超文本传输安全协议(英语:HyperText Transfer Protocol Secure,缩写:HTTPS;常称为HTTP over TLS、HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换资料的隐私与完整性。这个协议由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上。 历史上,HTTPS连接经常用于万维网上的交易支付和企业信息系统中敏感信息的传输。在2000年代末至2010年代初,HTTPS开始广泛使用,以确保各类型的网页真实,保护账户和保持用户通信,身份和网络浏览的私密性。

    • ByteMD 使用指南

      基于 React + Bytemd 构建自己的编辑器系统 https://github.com/bytedance/bytemd

    • Vercel 部署前端站点

      Vercel是一个用于前端框架和静态站点的平台,旨在与无头内容、商业或数据库集成。 我们提供了一种无摩擦的开发人员体验,以解决棘手的问题:立即部署、自动扩展,以及在全球范围内提供个性化内容。 我们使前端团队能够轻松开发、预览和发布令人愉悦的用户体验,而性能是默认的。

    • Nacos 安装教程

      一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

    • Redis

      Redis on Ubuntu 20.04 LTS

    • Frp 内网穿透

      frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

    • Kubernetes && minikube

      Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。

    • Kafka

      Apache Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。

    • React 引用 monaco editor

      The Monaco Editor is the code editor that powers VS Code. A good page describing the code editor's features is here. It is licensed under the MIT License and supports Classic Edge, Edge, Chrome, Firefox, Safari and Opera. The Monaco editor is not supported in mobile browsers or mobile web frameworks.

    • git

      Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.

    • Maven

      Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。 Maven也可被用于构建和管理各种项目,例如C#,Ruby,Scala和其他语言编写的项目。Maven曾是Jakarta项目的子项目,现为由Apache软件基金会主持的独立Apache项目。

    • zookeeper

      ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed applications. Each time they are implemented there is a lot of work that goes into fixing the bugs and race conditions that are inevitable. Because of the difficulty of implementing these kinds of services, applications initially usually skimp on them, which make them brittle in the presence of change and difficult to manage. Even when done correctly, different implementations of these services lead to management complexity when the applications are deployed.

    • Flume

      Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault tolerant with tunable reliability mechanisms and many failover and recovery mechanisms. It uses a simple extensible data model that allows for online analytic application.

    • Airflow

      Apache Airflow是一个开源工作流管理平台。它于2014年10月在Airbnb开始,作为管理公司日益复杂的工作流程的解决方案。通过创建爱彼迎,Airbnb可以通过编程方式编写和计划其工作流程,并通过内置的爱彼迎用户界面对其进行监控。

    • Nginx

      归纳 Nginx 的 高频使用指南.

    • Consul

      Consul is a software first released in 2014 for DNS-based service discovery and provides distributed Key-value storage, segmentation and configuration. Registered services and nodes can be queried using a DNS interface or an HTTP interface.

    • JavaScript API

      JavaScript 常用功能总结

    • Spring Cloud Eureka

      Eureka is a REST (Representational State Transfer) based service that is primarily used in the AWS cloud for locating services for the purpose of load balancing and failover of middle-tier servers.

    • 服务发现

      微服务架构下服务实例具有动态分配的网络地址,随着服务的自动扩展、故障和发布升级,导致服务实例的网络地址发生动态变更。因此,需要一种机制,支持服务消费者在服务提供者实例地址发生变更时,能够及时感知获取实例最新的地址,即服务发现机制。

    • 深入理解 HTTP REST 协议

      表现层状态转换(英语:Representational State Transfer,缩写:REST)是Roy Thomas Fielding博士于2000年在他的博士论文[1]中提出来的一种万维网软件架构风格,目的是便于不同软件/程序在网络(例如互联网)中互相传递信息。表现层状态转换是根基于超文本传输协议(HTTP)之上而确定的一组约束和属性,是一种设计提供万维网络服务的软件构建风格。符合或兼容于这种架构风格(简称为 REST 或 RESTful)的网络服务,允许客户端发出以统一资源标识符访问和操作网络资源的请求,而与预先定义好的无状态操作集一致化。因此表现层状态转换提供了在互联网络的计算系统之间,彼此资源可交互使用的协作性质(interoperability)。相对于其它种类的网络服务,例如SOAP服务,则是以本身所定义的操作集,来访问网络上的资源。