Skip to main content

黑洞资源笔记

  1. 本文档是你在现代项目和大多数现代示例代码中经常遇到的 JavaScript 备忘单。

    本指南的目的不是从头开始教你 JavaScript,而是帮助具有基本知识的开发人员,他们可能因为使用的 JavaScript 概念而难以熟悉现代代码库(或者比如说学习 React)。

    这里介绍的大部分概念都来自 JavaScript 语言更新(ES2015,通常称为 ES6)。可以在此处找到此更新添加的新功能

    Modern JavaScript Cheatsheet
  2. etcd在kubernetes集群中,作为一个核心的存储组件,具有举足轻重的地位。

    本书分为三个部分: 理论介绍、源码实战、应用运维。

    第一章介绍分布式系统的一些核心概念,包括分布式系统CAP理论,分布式系统网络通信,分布式存储一致性等一系列的概念。 当然,为了避免文字枯燥的表达,作者将尽量采用图表的方式解释。

    第二章主要描述etcd本身的架构。 在解析etcd架构的时候,我会结合后续源码,从整体架构到其中每一个组件的核心功能,进行更为深入,细致的拆分。 目的是争取能将整个架构拆解到大家都能实现的地步。 在前两章的基础上。

    第三章讲解etcd的部署,通过单机以及多机两种部署方式,实际感受下etcd的魅力所在,也为后面的章节做好铺垫。

    第四章可以说是最重心的一章。 因为这一章,我们直面go语言,直面etcd源码,通过etcd提供的代码,来利用raft算法实现一个简单版本的分布式kv存储数据库。然后在这个基础上,进一步对etcd进行拆解,直达etcd内部,包括raft协议的实现,mvcc多版本并发控制, 内存B-tree索引,boltdb数据持久化,watch机制,分布式事务等一系列的核心概念。

    在整个过程中,作者通过将各个模块拆分的方式,讲解每一个模块的用法以及实现, 包括写一个实用的程序代码,以及为各个模块写单元测试。 理解了源码,相信对于etcd的应用案例也就了然于胸了。

    第五章重点介绍使用案例,包括分布式队列,分布式锁,分布式kv,配置中心等。

    第六章简单讲解下日常的运维与监控问题

    最后一章作为总结。

    etcd源码剖析 | #电子书
  3. 深入分析Linux内核源码

    本书共分13章,对Linux 内核2.4版的源代码进行了较全面的分析,既包括对中断机制、进程调度、内存管理、进程间通信、虚拟文件系统、设备驱动程序及网络子系统的分析,也包括对Linux 整体结构的把握、Linux的启动过程的分析及Linux独具特色的模块机制的分析与应用等。其中重点剖析了Linux内核中最基础的部分:进程管理、内存管理及文件管理。

    本书对于那些准备进入Linux 操作系统内部,阅读Linux 内核源代码以及在内核级进行程序开发的读者具有非常高的参考价值。同时,操作系统实现者、系统程序员、Linux应用开发人员、嵌入式系统开发人员、系统管理员、在校的大学生和研究生及对Linux感兴趣的用户均可在阅读本书中受益。

    作者陈莉君老师二十多年来专注Linux内核研究,业余时间主办的Linux内核之旅网站,为Linux爱好者默默提供着无私的帮助,值得一提的是,把自己2002年撰写的《深入分析Linux内核源代码》一书,因为绝版而全文公布于网络,这为嵌入式开发者和Linux内核爱好者提供了触手可得的资料。

    传送门 | #电子书 #Linux
  4. 架构笔记:分布式系统的谬误 | 详文

    分布式系统的谬误是 L Peter Deutsch 和 Sun Microsystems 的其他人提出的一组断言,描述了分布式应用程序新手总是做出的错误假设。
  5. lsyncd,一个linux下的文件同步辅助工具

    Lsyncd 监视本地目录树事件监视器接口(inotify 或 fsevents)。它在几秒钟内聚合和组合事件,然后生成一个(或多个)进程以同步更改。默认情况下这是rsync。因此,Lsyncd 是一种轻量级的实时镜像解决方案,它相对容易安装,不需要新的文件系统或块设备,也不会影响本地文件系统的性能。

    Rsync+ssh 是一种高级操作配置,它使用 SSH 操作文件和目录直接在目标上移动,而不是通过网络重新传输移动目标。

    通过配置文件可以实现细粒度的定制。自定义操作配置甚至可以在从 shell 脚本到用Lua 语言编写的代码的级联层中从头开始编写。这样就可以实现简单、强大和灵活的配置。

    简单来说,lsyncd可以兼听linux的文件增删改事件来决定什么时候同步文件,默认基于rsync来做底层同步。

    lsyncd | 手册 | #工具
  6. 深入剖析Kafka | 博文

    Kafka是一个分布式的基于发布、订阅的消息系统,具有着高吞吐、高容错、高可靠以及高性能等特性,主要用于应用解耦、流量削峰、异步消息等场景。

    为了让大家更加深入的了解Kafka内部实现原理,文中将会从主题与日志开始介绍消息的存储、删除以及检索,然后介绍其副本机制的实现原理,最后介绍生产与消费的实现原理以便更合理的应用于实际业务。
  7. 为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,作者在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。

    线上阅读 | #电子书
  8. GitHub 上一款免费开源的安全平台,集威胁预防、漏洞检测、风险响应、安全监控于一身。

    不仅如此,该开源平台还提供了搜索引擎和数据可视化工具,让用户可以更为直观的浏览、配置项目的安全监控信息。

    Wazuh
  9. NAS媒体库资源归集整理工具

    功能:
    1、资源检索
    PT站聚合RSS订阅,实现资源自动追新。

    通过微信、Telegram或者WEB界面聚合检索下载,最新热门资源一键搜索或者订阅。

    在豆瓣中标记,后台自动检索,未出全的自动加入RSS追更。

    2、媒体识别和重命名
    监控下载软件,下载完成后自动识别真实名称,硬链接到媒体库并重命名。

    对目录进行监控,文件变化时自动识别媒体信息硬链接到媒体库并重命名。

    支持国产剧集,支持动漫,改名后Emby/Jellyfin/Plex 100%搜刮。

    3、消息服务
    支持ServerChan、微信、Telegram、Bark等图文消息通知,直接在手机上控制。

    4、其它
    自动签到、Emby/Jellyfin播放状态通知等等。

    nas-tools | Docker | 群晖套件 | WIKI | 配置文件模板 | #工具
  10. AI 尝试将 Python 代码转换为 C++。

    [Alexander] 创建了codex_py2cpp作为试验Codex的一种方式,Codex是一种旨在将自然语言翻译成代码的 AI。然而,[Alexander] 的想法略有不同,并创造codex_py2cpp了一种将 Python 自动转换为 C++ 的想法的方式。它并不是真的打算创建健壮的代码转换,但就实验而言,它非常简洁。

    该程序通过读取 Python 脚本作为输入文件来工作,设置一些参数,然后向 OpenAI 的 Codex API 发出请求以进行转换。然后它会尝试编译结果。如果编译成功,那么希望生成的可执行文件实际上与输入文件的工作方式相同。如果不?嗯,学习也很有趣。如果你试一试,也许从简单开始,不要扔太多曲线球。

    Codex 是一个有趣的想法,这不是我们看到的第一个以这种方式使用机器学习概念的实验。我们已经看到了一个基于口头描述生成 Linux 命令的项目,我们自己的 [Maya Posch] 仔细研究了GitHub Copilot,这是一个充满希望和概念的项目,但是——至少在当时——远不如此当谈到实际的实用性或实用性时。