Unix/Linux 系统的常见目录
一级目录 目录路径 缩写解释 / 全称 用途描述 常见子目录/示例 / Root 根目录,所有其他目录的起点 无 /bin Binaries 基础命令的二进制文件(所有用户必需) ls, cp, mv, cat /boot Boot 系统启动文件(内核、引导加载程序) vmlinuz-*(内核文件)、grub/(GRUB配置)、initramfs /dev Devices 设备文件(物理/虚拟设备接口) sda(磁盘)、tty(终端)、null(空设备)、random(随机数生成器) /etc Etcetera 系统级配置文件(全局配置) passwd(用户账户)、fstab(挂载表)、apt/(APT包管理器配置)、ssh/ /home Home 用户主目录(个人文件和数据) /home/alice(用户 Alice 的目录) /lib Libraries 基础共享库和内核模块(支持 /bin 和 /sbin) libc.so(C标准库)、modules/(内核模块) /media Media 可移动设备挂载点(自动挂载) usb/(U...
Kubernetes 架构演进:从容器到云原生应用平台的故事
本文由 Claude-3.7-Sonnet 生成。 从裸机到容器:应对复杂性的演进 1. 物理服务器时代的困境 最初,应用程序直接部署在物理服务器上,导致: 资源利用率低下(一台服务器只运行一个应用) 环境一致性问题(“在我的机器上能运行”) 应用隔离性差 2. 虚拟机的改进 虚拟化技术出现,每台物理服务器可运行多个虚拟机: 提高了资源利用率 但启动慢、资源占用大 3. 容器(Container)的革命 容器技术解决了关键痛点: 轻量级(共享宿主机OS内核) 快速启动(秒级) 可移植性强(构建一次,到处运行) 资源占用小 但问题出现了: 当容器数量增长,单机管理变得困难,集群管理更是挑战。 Kubernetes组件的逐步演进 1. Pod:为什么不直接使用容器? 容器本身有局限性: 单个容器难以满足应用的协作需求 需要将紧密关联的功能组合在一起 因此诞生了Pod: Pod是最小部署单元,包含一个或多个容器 共享网络命名空间和存储卷 同一Pod中的容器总是在同一节点上运行 适合边车(sidecar)模式,如日志收集、代理容器 多容器Pod的深度实践 当我们需要在...
Go 语言学习
#《Go 语言编程》学习笔记 Herb Sutter 在2003年写的《免费午餐已经结束》,言犹在耳,尽量通过并发来压榨硬件性能是大势所趋。但是并发难写。 并发执行是有执行体的。process、thread 和 coroutine 都是执行体。线程是轻量级进程,协程是轻量级线程。但大多数语言在语法层面上并不支持创建协程,而通过库的方式支持的协程功能也不完善。Go 语言提供的协程叫 Goroutine。Go 语言标准库提供的所有系统调用(syscall)操作,当然也包括所有同步 IO 操作,都会出让 CPU 给其他 goroutine,这让事情变得非常简单(哪里简单了,它自动产生了 yield 吗?)。 执行体间的通信,包括几个方式: 执行体之间的互斥与同步 执行体之间的消息传递 执行体之间存在共享资源时,为保证内存访问逻辑的确定性,需要对访问该共享资源的相关执行体进行互斥。当多个执行体之间的逻辑存在时序上的依赖时,也往往需要在执行体之间进行同步。护持与同步是执行体间最基础的交互方式。 在并发编程模型的选择上,有两个流派,一个是共享内存模型,一个是消息传递模型。多数传统语言选择...
秦晖:21世纪全球化危机
本文原载思想,引自公众号。 2018年4月2日晚,清华大学人文学院历史系教授秦晖在上海喜马拉雅美术馆发表了题为“21世纪的全球化危机”的学术演讲。秦晖教授认为,全球化在西方那里造成了社会不平等的加剧,在中国这里本来应该增加社会平等的一些功能,也没有真正能够落实。这样,全球化在全球都造成了不平等加剧的现象。秦晖教授提醒听众,在全球化进行了一段时间以后,如果我们说,以前中国改革决定的是中国的命运的话,那么现在,中国改革在某种意义上还决定着世界的命运,决定着全球化到底趋向于一种良性的进步,还是趋向于劣币驱逐良币。以下为演讲内容: 今天晚上我们讲的是21世纪的全球化危机,当然也可以说是困境。 从两三年前开始,就是2016年吧,大家就开始感到,有很多异乎寻常的事情发生。第一件事,英国脱欧,这个事情出乎很多人意料。当时的英国保守党政府本来的估计是大家会反对脱欧,但结果在脱欧公投中,脱欧居然就是成为多数的民意。 再就是,美国选出一个既不是传统左派、也不是传统右派的奇葩总统,这也是出乎很多人意料的。而且他上台以后提出的一系列主张也非常令人吃惊,不管是传统的左派还是右派,不管是民主党的主流派还是共...
灵机一动的程序设计
怎样用此列表来排序彼列表 123456789101112131415161718192021222324252627282930313233private List<TagGroup> reorder(Long id, List<TagGroup> entities) { final AccountSettings accountSettings = getAccountSetting( id); final List<Long> tagGroupOrders = accountSettings.getTagGroupOrders(); // 根据 tagGroupOrders 里提供的 tagGroupId 对 entities 排序 if (CollectionUtils.isNotEmpty(tagGroupOrders)) { entities.sort((o1, o2) -> { int index1 = tagGro...
Redis 开发与运维
Redis 特性 Redis 高性能的原因 Redis 的读写性能达到 10w/s,主要基于以下原因: 数据主要放在内存中。 Redis 使用距离 OS “层次更近”的 C 语言实现。 Redis 使用单线程架构,没有很高的 lock contention。 IO 多路复用技术 Redis 的代码实现得优雅而兼顾性能 Redis 的数据结构 Redis 本身是 Remote Dictionary Server 的简称,其中,老的、常见的数据结构有: 字符串 哈希 列表 set(集合) zset(有序集合) 但后来追加了几种新颖的数据机构,包括:bitmap、hyperloglog,更后来更添加了 GEO 地理信息相关的工具。 基于这些数据结构,我们可以实现一些常见的功能: 键过期,可以用来实现缓存,进而实现分布式锁。 发布订阅功能,进而实现消息系统(TODO)。 Lua 脚本功能,可以实现自定义的 Redis 命令(TODO)。 实现简单的事务功能,能在一定程度上实现事务特性。 提供流水线功能,能够让客户端一次性把一批命令一次性上传到 Redis 里,能够合并 IO 并...
大模型相关
大模型发展.xmind RNN的雏形可以追溯到90年代Jeffrey L.Elman的经典文章:Finding Structure in Time(1990) 2013年Google提出的Word2Vec可能是最为人熟知的Embedding技术之一 Encoder-Decoder架构来自论文:Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation(2014) 注意力机制参考论文:Neural Machine Translation by Jointly Learning to Align and Translate(2014) LLM的技术发展和相互关系:Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond(2023) Transformer出自一篇经典论文:Attention Is All You Need(2017) 国外模型的对比可以参考大模型对比网...
雅思英语
英语.xmind
不同时区
纽约时间比加州时间早三个小时, New York is 3 hours ahead of California, 但加州时间并没有变慢。 but it does not make Californiaslow. 有人22岁就毕业了, Someone graduated at the age of 22, 但等了五年才找到好的工作! but waited 5 years before securing a good job! 有人25岁就当上CEO, Someone became a CEO at 25, 却在50岁去世。 and died at 50. 也有人50岁才当上CEO, While another became a CEO at 50, 然后活到90岁。 and lived to 90 years. 有人依然单身, Someone is still single, 同时也有人已婚。 while someone else got married. 奥巴马55岁就退休, Obama retires at 55, 川普70岁才开始当总统。 but Trump starts ...
高级算法设计和分析技术
思维导图 常见算法题 常见算法题.xmind 常用数学公式 公式 名称 说明 ∑i=1ni=n(n+1)2\sum\limits_{i=1}^{n}i=\frac{n(n+1)}{2}i=1∑ni=2n(n+1) 等差数列和 1+2+3+…+n ∑i=1n(2i−1)=n2\sum\limits_{i=1}^{n}(2i-1)=n^{2}i=1∑n(2i−1)=n2 奇数和 1+3+5+…+(2n-1) ∑i=1ni2=n(n+1)(2n+1)6\sum\limits_{i=1}^{n}i^{2}=\frac{n(n+1)(2n+1)}{6}i=1∑ni2=6n(n+1)(2n+1) 平方和 12+22+32+...+n21^{2}+2^{2}+3^{2}+...+n^{2}12+22+32+...+n2 ∑i=1ni3=(n(n+1)2)2\sum\limits_{i=1}^{n}i^{3}=\left(\frac{n(n+1)}{2}\right)^{2}i=1∑ni3=(2n(n+1))2 立方和 等于平方和的平方 ∑i=0n−1...