一蓑烟雨,技术人的站点,何必仅仅是技术,还有远方。专注于互联网技术、读书笔记、理财学习、个人知识总结等。目前站点建设中……

    目前主要从事互联网服务端开发工作,擅长Golang、PHP等编程语言开发。

    此网站用于个人知识体系积累,正如荀子所说:

    不积跬步,无以致千里;不积小流,无以成江河。

    网站名取自苏轼的《定风波》:

    莫听穿林打叶声,何妨吟啸且徐行。竹杖芒鞋轻胜马,谁怕? 一蓑烟雨任平生。

    Recent News

    使用 Travis CI 持续集成部署 Hugo 项目到云主机

    首先在 travis-ci 上创建账号新建 ci 任务,就是配置一些 GitHub 仓库,分支等信息,当项目仓库发生变化时 ci 任务能够感知到进行部署,相对简单就不做赘述了

    ES 入门篇 基础概念

    elasticsearch 是面向文档的,文档是所有可搜索数据的最小单位。例如说是一篇文章,一首歌的详细信息,会被序列化成json格式保存在elasticsearch。每个文档都有对应的unique id,一篇文档包含了一系列字段,类似于mysql中的一条记录。

    Go语言源码sync.WaitGroup解读,优雅的协程并发同步原语

    WaitGroup 的含义其实我们可以通过的名称去认识它,wait 就是阻塞等待,group 就是一组协程, 也就是阻塞等待一组 goroutine 的集合执行完成。主 goroutine 调用 Add() 添加以设置要等待的goroutine的数量。 然后每个 goroutines 运行并在完成后调用 Done()。 同时,等待可用于阻塞,直到所有goroutine完成。

    Go语言源码sync.Map解读,一种高性能并发安全的字典类型

    首先来看一个例子,在我们刚开始对写 GO 的代码的过程一定遇到这个错误。通过阅读 Map源码实现知道map是不支持线程安全的,所以一般并发场景下都是 加锁来解决,相对的话性能上就会有一定的损耗。

    NeoVim 打造 Golang 开发环境

    关于neovim是什么,为什么有了vim,又出来个neovim? 可查看 官方文档,NeoVim 科普,21世纪的Vim,如何对比评价vim-8和neovim?,具体使用根据个人喜好,没必要纠结,我使用的是Neovim,Mac下使用homebrew安装neovim,如果使用其他操作系统阅读官方文档安装即可。

    Selected Projects

    I enjoy making things. Here are a selection of projects that I have worked on over the years.