<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Coding on 云烟阁</title><link>https://liangtian.me/categories/coding/</link><description>Recent content in Coding on 云烟阁</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Fri, 25 Mar 2022 09:54:15 +0800</lastBuildDate><atom:link href="https://liangtian.me/categories/coding/index.xml" rel="self" type="application/rss+xml"/><item><title>golang Channel用法和源码分析 二</title><link>https://liangtian.me/post/go-channel2/</link><pubDate>Fri, 25 Mar 2022 09:54:15 +0800</pubDate><guid>https://liangtian.me/post/go-channel2/</guid><description>&lt;p&gt;本篇文章我们一起了解下golang Channel的常见问题和用法。&lt;/p&gt;</description></item><item><title>golang Channel用法和源码分析 一</title><link>https://liangtian.me/post/go-channel/</link><pubDate>Thu, 24 Mar 2022 09:54:15 +0800</pubDate><guid>https://liangtian.me/post/go-channel/</guid><description>&lt;p&gt;本篇文章我们一起了解下golang里面channel的用法，和它的源码分析。&lt;/p&gt;</description></item><item><title>golang Map用法和源码分析</title><link>https://liangtian.me/post/go-map/</link><pubDate>Wed, 23 Mar 2022 11:32:08 +0800</pubDate><guid>https://liangtian.me/post/go-map/</guid><description>&lt;p&gt;本文从源码角度学习 golang map的一些操作，和对应的源码分析。&lt;/p&gt;</description></item><item><title>golang 几种负载均衡算法（随机，加权随机，轮询，一致性哈希）</title><link>https://liangtian.me/post/go-loadbalance-algorithm/</link><pubDate>Sun, 20 Mar 2022 14:20:15 +0800</pubDate><guid>https://liangtian.me/post/go-loadbalance-algorithm/</guid><description>&lt;p&gt;本篇我们详细讲解一些常用的负载均衡算法。&lt;/p&gt;</description></item><item><title>golang Slice的创建、添加、删除等操作和源码分析</title><link>https://liangtian.me/post/go-slice/</link><pubDate>Sun, 20 Mar 2022 13:48:24 +0800</pubDate><guid>https://liangtian.me/post/go-slice/</guid><description>&lt;p&gt;本文从源码角度学习 golang slice 的创建、删除、扩容，深拷贝和slice的源码实现。&lt;/p&gt;</description></item><item><title>golang ReverseProxy源码分析</title><link>https://liangtian.me/post/go-reverseproxy/</link><pubDate>Sun, 20 Mar 2022 13:15:02 +0800</pubDate><guid>https://liangtian.me/post/go-reverseproxy/</guid><description>&lt;p&gt;ReverseProxy是golang自带的简单网络Daili工具，仅适合自己测试用，不过麻雀虽小五脏俱全，功能还是挺多的。今天我们一起分析下这个工具的源码。&lt;/p&gt;</description></item><item><title>nsq - 一条消息的生命周期（一)</title><link>https://liangtian.me/post/nsq-life1/</link><pubDate>Tue, 15 Mar 2022 13:15:02 +0800</pubDate><guid>https://liangtian.me/post/nsq-life1/</guid><description>&lt;p&gt;本篇我们带着大家一起走完一遍nsq的生命周期。&lt;/p&gt;</description></item><item><title>nsq 源码 diskQueue 讲解</title><link>https://liangtian.me/post/nsq-diskqueue/</link><pubDate>Tue, 15 Mar 2022 10:15:02 +0800</pubDate><guid>https://liangtian.me/post/nsq-diskqueue/</guid><description>&lt;p&gt;&lt;code&gt;diskQueue是backendQueue&lt;/code&gt;接口的一个实现。&lt;code&gt;backendQueue&lt;/code&gt;的作用是在实现在内存go channel缓冲区满的情况下对消息的处理的对象。 除了diskQueue外还有&lt;code&gt;dummyBackendQueue&lt;/code&gt;实现了&lt;code&gt;backendQueue&lt;/code&gt;接口。&lt;/p&gt;</description></item><item><title>nsq Topic</title><link>https://liangtian.me/post/nsq-topic/</link><pubDate>Mon, 14 Mar 2022 20:15:02 +0800</pubDate><guid>https://liangtian.me/post/nsq-topic/</guid><description>&lt;p&gt;与Topic相关的代码主要位于nsqd/topic.go中。&lt;/p&gt;
&lt;p&gt;上一篇文字我们讲解了下nsq的启动流程。对nsq的整体框架有了一个大概的了解。本篇文章就是由大到小。对于topic这一部分进行详尽的讲解。&lt;/p&gt;</description></item><item><title>nsq 启动流程讲解</title><link>https://liangtian.me/post/nsq-2/</link><pubDate>Wed, 02 Mar 2022 20:15:02 +0800</pubDate><guid>https://liangtian.me/post/nsq-2/</guid><description>&lt;p&gt;这篇文章我们就正式的开始分析nsq的代码了，上一篇给大家介绍了下nsq的特性和功能。再分析代码的同时，大家可以比对着我写的nsq精注版代码一遍看一遍调试。这样的效果更佳。&lt;/p&gt;</description></item><item><title>nsq 初识</title><link>https://liangtian.me/post/nsq-1/</link><pubDate>Tue, 01 Mar 2022 20:15:02 +0800</pubDate><guid>https://liangtian.me/post/nsq-1/</guid><description>&lt;p&gt;NSQ 最初是由 bitly 公司开源出来的一款简单易用的分布式消息中间件，它可用于大规模系统中的实时消息服务，并且每天能够处理数亿级别的消息。&lt;/p&gt;</description></item><item><title>golang Http server包分析 二 源码解析</title><link>https://liangtian.me/post/golang-http-2/</link><pubDate>Tue, 01 Mar 2022 10:49:52 +0800</pubDate><guid>https://liangtian.me/post/golang-http-2/</guid><description>&lt;p&gt;该文章是分析golang http-server包的系列文章，本篇是第二篇，核心帮助大家深入http-server包的逻辑。明白http包是如何运转的，如何解析http协议。&lt;/p&gt;</description></item><item><title>golang Http server包分析 一 初识</title><link>https://liangtian.me/post/golang-http-1/</link><pubDate>Sun, 27 Feb 2022 10:49:52 +0800</pubDate><guid>https://liangtian.me/post/golang-http-1/</guid><description>&lt;p&gt; 该文章是分析golanghttp包的系列文章，本篇是第一篇，核心帮助大家了解和熟悉golang http包的整体逻辑。希望大家看完后能有所收货，有问题可以在博客留言板和我留言。&lt;/p&gt;</description></item><item><title>golang 自定义类型和类型别名(type)</title><link>https://liangtian.me/post/golang-astype/</link><pubDate>Tue, 09 Nov 2021 10:49:52 +0800</pubDate><guid>https://liangtian.me/post/golang-astype/</guid><description>&lt;p&gt;区分开自定义类型和类型别名之间的不同，在什么场景下用自定义类型，什么场景下用类型别名。&lt;/p&gt;</description></item><item><title>性能压测工具 wrk 使用</title><link>https://liangtian.me/post/wrk/</link><pubDate>Mon, 12 Oct 2020 11:40:02 +0800</pubDate><guid>https://liangtian.me/post/wrk/</guid><description>&lt;p&gt;wrk 是一款针对 Http 协议的基准测试工具，它能够在单机多核 CPU 的条件下，使用系统自带的高性能 I/O 机制，如 epoll，kqueue 等，通过多线程和事件模式，对目标机器产生大量的负载。&lt;/p&gt;</description></item><item><title>golang switch的用法</title><link>https://liangtian.me/post/go-switch/</link><pubDate>Mon, 14 Sep 2020 09:52:55 +0800</pubDate><guid>https://liangtian.me/post/go-switch/</guid><description>&lt;p&gt;最近一直在写go, switch说实话用的不算多。但是今天用了下发现go的switch可真不太一样啊。&lt;/p&gt;</description></item><item><title>golang select的用法</title><link>https://liangtian.me/post/go-select/</link><pubDate>Mon, 07 Sep 2020 11:32:11 +0800</pubDate><guid>https://liangtian.me/post/go-select/</guid><description>&lt;p&gt;golang的select与channel配合使用。它用于等待一个或者多个channel的输出。本篇我们重点讲下select的用法。&lt;/p&gt;</description></item><item><title>golang 中的init函数</title><link>https://liangtian.me/post/go-init/</link><pubDate>Sun, 16 Aug 2020 11:32:04 +0800</pubDate><guid>https://liangtian.me/post/go-init/</guid><description>&lt;p&gt;go语言中init函数用于包(package)的初始化，该函数是go语言的一个重要特性，&lt;/p&gt;</description></item><item><title>golang Json用法</title><link>https://liangtian.me/post/go-json/</link><pubDate>Wed, 15 Jul 2020 11:32:08 +0800</pubDate><guid>https://liangtian.me/post/go-json/</guid><description>&lt;p&gt;本篇文章我们一起了解下golang里面json的用法。&lt;/p&gt;</description></item><item><title>golang unsafe.Pointer用法</title><link>https://liangtian.me/post/go-unsafe-pointer/</link><pubDate>Mon, 15 Jun 2020 11:32:27 +0800</pubDate><guid>https://liangtian.me/post/go-unsafe-pointer/</guid><description>&lt;p&gt;unsafe 是关注 Go 程序操作类型安全的包。，使用它要格外小心； unsafe 可以特别危险，但它也可以特别有效。例如，当处理系统调用时，Go 的结构体必须和 C 的结构体拥有相同的内存结构，这时你可能除了使用 unsafe 以外，别无选择。&lt;/p&gt;</description></item></channel></rss>