240 发简信
IP属地:江苏
  • 120
    JSConf China 2017 Day One — JavaScript Change The World

    今天有幸参加了 JSConf China 2017 ,作为大会第一天,我来谈谈个人对大会的一些感想。至于大会讲的更加详细的内容可以直接翻到本文末尾,我和另外一个位前端小伙伴一...

  • 120
    JSConf China 2017 Day Two — End And Beginning

    第二天的分享更加偏向 Web 后端。 第一场:Node.js Microservices on Autopilot 开场简单介绍了一下什么是微服务。 微服务有什么帮助 假想步...

  • 120
    Go 初学者成长之路

    📖 开源书籍 🖥 编译器 1. Vim党 Vim党当然是不需要 IDE 的,直接 Vim + Vim-go(或者 Emacs) 2. 文本编辑器 + 插件 目前最常用最火的文...

  • 120
    初探 Go 的编译命令执行过程

    引言 Go 语言这两年在语言排行榜上的上升势头非常猛,Go 语言虽然是静态编译型语言,但是它却拥有脚本化的语法,支持多种编程范式(函数式和面向对象)。Go 语言最最吸引人的地...

  • 120
    高效的多维空间点索引算法 — Geohash 和 Google S2

    引子 每天我们晚上加班回家,可能都会用到滴滴或者共享单车。打开 app 会看到如下的界面: app 界面上会显示出自己附近一个范围内可用的出租车或者共享单车。假设地图上会显示...

  • 120
    深入解析 Go 中 Slice 底层实现

    切片是 Go 中的一种基本的数据结构,使用这种结构可以用来管理数据集合。切片的设计想法是由动态数组概念而来,为了开发者可以更加方便的使一个数据结构可以自动增加和减少。但是切片...

  • 120
    如何设计并实现一个线程安全的 Map ?(上篇)

    Map 是一种很常见的数据结构,用于存储一些无序的键值对。在主流的编程语言中,默认就自带它的实现。C、C++ 中的 STL 就实现了 Map,JavaScript 中也有 M...

  • 120
    如何理解 n 维空间和 n 维时空

    前言 一定有朋友好奇为何笔者会突然发这样一篇看似和技术完全不相干的文章出来。其实这块内容也是笔者在研究时空搜索的时候引申出来的内容。看了一些资料,加深了对 n 维空间和 n ...

  • 120
    如何设计并实现一个线程安全的 Map ?(下篇)

    在上篇中,我们已经讨论过如何去实现一个 Map 了,并且也讨论了诸多优化点。在下篇中,我们将继续讨论如何实现一个线程安全的 Map。说到线程安全,需要从概念开始说起。 线程安...

  • 120
    Google S2 中的四叉树求 LCA 最近公共祖先

    一. 寻找父亲节点和孩子节点 首先需要回顾一下希尔伯特曲线的生成方式,具体代码见笔者上篇文章的分析,在这个分析中,有4个方向比较重要,接下来的分析需要,所以把这4个方向的图搬...

  • 120
    神奇的德布鲁因序列

    数学中存在这样一个序列,它充满魔力,在实际工程中也有一部分的应用。今天就打算分享一下这个序列,它在 Google S2 中是如何使用的以及它在图论中,其他领域中的应用。这个序...