Kubernetes

免责声明:这篇文章只是在了解 Kubernetes 时的一些笔记记录,非常不全面,如果需要全面了解 Kubernetes 那么还请看书或者文档。 Kubernetes 是什么 Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. Kubernetes 是 Google 开源的容器集群管理系统,为容器化应用提供资源调度,部署运行,服务发现,扩容和缩容等一系列服务。 能够做 Read more ...


Drools Kie 简单使用

Drools 是一个 Java 的商业过程实现,这是 Bob McWhirter 所编写的一个开源项目,由 JBoss 和 Red Hat Inc 支持。 Drools 提供一个核心的 Business Rules Engine(BRE) 和一个网页编写规则的管理系统(Drools Workbench)和 一个 Eclipse IDE 的插件,一同构成完整的 Drools 生态。 Drools 是一个 Java 实现的开源[[规则引擎]] (Rule Engine),或者又被称为 Business Rules Management System(BRM Read more ...

2018-10-25 drools , rules , java , rule-engine , kie , rete , jbpm

Netty 简单实用

Netty 是异步、事件驱动的网络框架,可以用于开发高性能的网络服务器程序。 传统的多线程服务端程序是 Blocking (阻塞的),也就是接受客户端连接,读数据,发送数据是阻塞的,线程必须处理完才能继续下一个请求。而 Netty 的 NIO 采用事件机制,将连接,读,写分开,使用很少的线程就能够异步 IO。Netty 是在 Java NIO 的基础上的一层封装。 Netty 的官方文档和入门手册已经非常详细了,几乎是手把手的实现了 DISCARD ,ECHO 和 TIMESERVER 的例子,把官方的例子实现一遍对 Netty 就会有一点的了解了。 Read more ...

2018-10-24 netty , nio , java , jdk , network , programming

由 libevent 库开始学习 Linux IO 模型

在看 Java 的 Netty 的时候,了解到了 NIO,从 NIO 了解到了 C 语言实现的 libevent 。我们为什么需要这样一个库,他的出现是为了解决什么问题。对于熟悉网络编程,或者多线程的人来说,都会知道一个普遍存在的问题,CPU 要远远快过 IO。所以如果我们要同时处理多个任务,而当前的任务阻塞了 IO,那么理想的状态应该是让 CPU 执行其他任务,而让阻塞 IO 的任务放到后台执行。 libevent 库提供了一种事件响应机制,当事件发生在用户关心的文件描述符上时,通知用户,并且隐藏后台真正使用的方法(select,epoll,kque Read more ...

2018-10-23 libevent , c , nio , non-blocking , epoll

Java 查漏补缺之 jvm

JVM 设计者将 JVM 内存结构划分为多个区域,每个内存区域有各自的用途,负责存储各自的数据类型。有些内存区生命周期和 JVM 一致,也有些和线程生命周期一致,伴随着诞生,伴随着消亡。 Java 源代码文件会被编译为字节码(.class),然后由 JVM 中类加载器加载类字节码,加载完毕后,交给 JVM 执行引擎,整个程序郭晨中 JVM 会使用一段内存空间来存储执行过程中需要用到的数据和信息,这段空间一般被称为 Runtime Data Area,也就是 JVM 内存。 线程共享内存区 允许被所有线程共享访问的内存区,包括堆,方法区,运行时常量池 Read more ...

2018-10-22 java , jvm , gc

Go 语言学习笔记 3:基础类型

和大多数强类型语言一样,Go 也有自己基本的类型系统。Go 语言的类型大致可以分为四大类: basic types 基础类型(basic types)包括 numbers,strings,booleans aggregate types 聚合类型(aggregate types)包括 arrays , structs reference types 引用类型(reference types) 包括不同组,包括 pointers , slices, maps, functions, channels ,他们都是程序变量或者状态的引用 Read more ...

2018-10-19 golang , programming

服务器监控整理

手上的 VPS 多余一台的时候总是想着通过一个统一的界面来监控管理。 需要监控的项 VPS 及服务在线时间 从某地到该 VPS 的 ping 值稳定程度 [[smokeping]] 该 VPS 各项资源的使用情况,包括 CPU,内存,IO,网络带宽使用 之前也有分享过两个很不错的服务器监控程序 nodequery 和 netdata。之后又陆陆续续发现了其他一些不错的监控程序,所以就顺手整理一下。 商业方案,也就是提供服务在线监控,并且如果超过一定使用量向用户收取一定费用的服务: [[SyAgent]] [[EHEH] Read more ...

2018-10-18 server , monitor , collection , linux

由 WebM 格式学习常见的容器和编码格式

因为使用 YouTube 所以接触到了 WebM 格式,这个格式 Google 开源的一个媒体容器格式,常见的文件后缀名是 .webm,他设计的目标是为了给 HTML5 提供视频和音频。Google 发起的 WebM 项目还有一个姊妹项目 WebP 是提供图像编码的。BSD 协议开源。1 编码格式和容器格式 我们平常所见的媒体格式,有 avi,mp3,mp4,mkv 等等,但是这些都是媒体文件容器的扩展,WikiPedia 有一份比较完整的媒体容器列表,在这份列表中我们也能看到其实 webm 格式就是 Matroska 容器的一层“皮”,mkv 格式也 Read more ...

2018-10-17 webm , youtube , google , video , ffmpeg , mp4

读万字访谈后感:软硬件公司的差别

9 月份一次出门在路上看了这篇万字采访,这篇文章主要以 Osterloh (Google 硬件部门 Leader)为脉络梳理了 Google 这几年在 硬件方面的尝试。文章中的观点并不是那么直白,但是看完却有一股气憋在心中不得不抒。作为用 Google 产品这么多年的忠实用户,Galaxy Nexus,Nexus 6 也是陪我度过了很多年,而 Google Glass 当年如何的红火,但是不得不说在 Google 在硬件确实不如其软件行业的发展,现在音箱被 Amazon Echo 压着打,手机不管是 Nexus 还是 Pixel 丝毫无法动摇 iPhon Read more ...

2018-10-16 google , apple , amazon , software , hardware , android

Jupyter 简单使用

Jupyter 是一个为了支持多语言交互式编程的项目, Jupyter Notebook 是一个开源的网络程序,允许用户创建和分享包含代码,视图,方程式,文本的文档。 Notebook documents 是应用产生的文档 Jupyter Notebook App 是一个服务端应用,可以让用户在浏览器编辑和运行 notebook documents Notebook Kernel 是计算引擎,执行 Notebook document 中的代码 Dashboard 控制面板 Jupyter 支持超过 40 中编程语言,可以轻松通过各 Read more ...

2018-10-13 jupyter , python

最近文章

  • 我购买了一个 DJI Mic Mini 最近为了提升移动拍摄时的收音质量,我入手了 DJI Mic Mini。虽然大疆提供了带充电盒的套装,但我只购买了单机版本(发射器+接收器,2 TX 1 RX 版本),因为对于我日常的拍摄需求来说,本体的续航已经完全足够了。
  • Auto Claude:Vibe Kanban 的终极形态?让 AI 并行开发的“指挥中心”来了 在上一篇文章 《Vibe Kanban:当 AI 开始并行协作,我们的开发方式变了》 中,我分享了一种利用 [[Vibe Kanban]] 和 AI Agent 实现并行开发的工作流理念。我们可以利用 Vibe Kanban 来统一管理多个并行任务。
  • Vibe Kanban:当 AI 开始并行协作,我们的开发方式变了 在我之前的视频当中,我介绍过在 Claude Code 中使用子代理(Subagents)机制和 Git Worktree 来实现并行工作流。我们可以创建子代理来并行执行任务,但是 Subagents 的配置和使用都还需要我们在 Claude Code 中等待。那如果我们有完全独立的两个任务要执行呢,我们可以开两个 Claude Code 分别在两个 Claude Code 中提交任务,然后让 Claude Code 完成。此时我们依然会遇到一些问题,比如说两个 Claude Code 的代码可能产生冲突。并且如果我们有超过两个独立任务时,我们在管理 Claude Code 的成本就会指数级上升。
  • 终于还是入手了:Insta360 Go Ultra 初体验 每次想要拍摄,我得从口袋掏出手机,解锁,打开相机应用,切换到视频模式,然后举着它——这个过程在很多稍纵即逝的生活瞬间面前,显得太繁琐了。而且,当你举着手机拍摄时,你其实是在”观察”生活,而不是在”经历”生活。手机太”重”了,不是物理重量,而是心理负担。所以我想使用一个工具,可以帮我记录生活,但又不需要我刻意去”操作”它。于是,在观望了许久之后,我终于入手了这台 Insta360 Go Ultra。在 11.11 在天猫 2350 下单了 Insta360 Go Ultra,后来价格保护还退还了 260 块。
  • 奥卡姆剃刀:为何简单的往往就是最好的 最近我在整理我的 Obsidian 笔记库时,发现了一个有趣的现象。