Skip to main content

黑洞资源笔记

  1. MongoDB全方位知识图谱 | 详文

    MongoDB是一个强大的分布式存储引擎,天然支持高可用、分布式和灵活设计。MongoDB的一个很重要的设计理念是:服务端只关注底层核心能力的输出,至于怎么用,就尽可能的将工作交个客户端去决策。这也就是MongoDB灵活性的保证,但是灵活性带来的代价就是使用成本的提升。

    与MySql相比,想要用好MongoDB,减少在项目中出问题,用户需要掌握的东西更多。本文致力于全方位的介绍MongoDB的理论和应用知识,目标是让大家可以通过阅读这篇文章之后能够掌握MongoDB的常用知识,具备在实际项目中高效应用MongoDB的能力。

    本文既有MongoDB基础知识也有相对深入的进阶知识,同时适用于对MonogDB感兴趣的初学者或者希望对MongoDB有更深入了解的业务开发者

    本文是作者在学习和使用MongoDB过程中总结的MongoDB知识图谱,从以下3个方面来介绍MongoDB相关知识:

    基础知识:主要介绍MongoDB的重要特性,No Schema、高可用、分布式扩展等特性,以及支撑这些特性的相关设计

    应用接入:主要介绍MongoDB的一些测试数据、接入方式、spring-data-mongo应用以及使用Mongo的一些注意事项。

    进阶知识:主要介绍MongoDB的一些核心功能的设计实现,包括WiredTiger存储引擎介绍、Page/Chunk等数据结构、一致性/高可用保证、索引等相关知识。
  2. 讲一个诈骗程序员的案例

    程序员都喜欢注册域名,如果注册域名并在公安注册后,过几年域名到期了(大概率),这个时候有专门的流氓公司

    他们会抢注域名,然后在这个域名下放一些热门盗版电影(不涉黄),这个时候他们的另一个公司(拥有电影版权的公司)出来取证了

    接下来就是去法院告你盗版要求赔偿,在公安那里这个域名的所有人还是你(或贵司)从法律流程上来说完美无缺,你一定会输掉官司,这个时候流氓公司就等着你和解割地赔款

    他们有专门的团队把整个过程流程化、低成本化

    如果你们有废弃的域名记得注销ICP备案,如果是大厂更要记得这事,大厂赔得更多

    如图赔了10万吧

    本条内容源于网络
  3. milli:Rust写的高性能搜索引擎Meilisearch核心

    它包含一个可以管理一个且只有一个索引的库。Meilisearch自己管理着多索引。Milli无法将更新存储在一个商店中:这是上面其他东西的工作,这就是为什么它一次只能处理一个更新

    此外还包含了用于快速调试引擎的板条箱,板条箱中有基准benchmarks。

    milli
  4. 正则表达式实例搜集,通过实例来学习正则表达式

    实例搜集整理来自于《一些正则表达式随记》,通过一个单独仓库专门整理这些正则实例,提供一个实例网站,方便正则实例验证和查询。也方便添加新的正则实例大家共同维护

    如果有一些基础知识,通过实例理解,将会更快速入门,写出自己的正则。如果对基础还不是很了解,你可以通过《Learn regex the easy way》去学习基础知识,这个仓库教程被翻译成十几种语言了,包含了中文翻译,它通过极其简单的实例,帮助你理解正则基础语法规则。

    RegExp Example | Github | #正则表达式
  5. 因成本调整,今天起,电子书业务将退出会员付费范畴,会员免费提供。

    目前读秀1.0-5.0正在上传Google Drive,5.0在更新中。
  6. 40000字Matplotlib实操指南 | 详文

    Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。
  7. 本站教授的是现在广泛使用于网站布局领域的CSS基础。

    我们假设你已经掌握了CSS的选择器、属性和值。并且你可能已经对布局有一定了解,即使亲自去写的话还是会很苦恼。如果你想要从头开始学习HTML和CSS,那么你可以看下这篇教程。不然的话,让我们看看我们是否可以让你在下一个项目少一些烦恼。

    学习CSS布局 | #教程
  8. Golang 编译器代码浅析

    本书主要目的是让读者在源码层面熟悉 Go 编译器的实现,因此会以代码讲解为主。但编译器的实现涉及到非常多的细节处理,本文会尽量避免大段的贴代码来对其进行分析(实际上也是不可行的),而是建议读者将文章当着一个参考,自己动手去源码中进行探索。因此每个主题的文章基本会按照如下结构进行组织:
    1. 该模块的简介,需要涉及到的理论知识复习。例如词法、语法分析中涉及到很多形式语言与自动机的知识,文章都会先尽可能少地温习一下相关知识
    2. 核心数据结构介绍,意在搭建该模块的骨架
    3. 核心逻辑介绍,意在了解该模块实现的主体算法思路
    4. 特殊案例分析,详细分析典型案例的处理流程

    另外作者还开了两个坑《Linux核心概念详解》和《极简计算机结构介绍》,也写了一些内容不过还不太完整。

    文档 0. Golang 编译器代码浅析 | Golang 编译器代码浅析
  9. 《Go语言定制指南》(原名:Go语法树入门/开源免费图书/Go语言进阶/掌握抽象语法树/Go语言AST/凹语言)

    Go语法树是Go语言源文件的另一种语义等价的表现形式。而Go语言自带的go fmt和go doc等命令都是在Go语法树的基础之上分析工具。因此将Go语言程序作为输入数据,让我们语法树这个维度重新审视Go语言程序,我们将得到创建Go语言本身的技术。

    Go语法树由标准库的go/ast包定义,它是在go/token包定义的词法基础之上抽象的语法树结构。本书简单介绍语法树相关包的使用。

    如果想从头实现一个玩具Go语言可以参考《从头实现µGo语言

    在线阅读 | Github | #电子书 | #Go语言