<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>极客兔兔</title><description>把技术文章组织成书的个人技术博客</description><link>https://geektutu.com/</link><item><title>从零实现 GeekAgent —— Day16 插件框架</title><link>https://geektutu.com/post/geekagent-day16.html</link><guid isPermaLink="true">https://geektutu.com/post/geekagent-day16.html</guid><description>7天从零实现Agent教程，用 TypeScript 动手写一个最简单的 Agent/Harness。Day 16 把能力封装成独立插件：plugins/ 目录里放一个子目录加 plugin.ts，主程序启动时自动加载，命令、工具、HTTP 服务都能即插即用。</description><pubDate>Thu, 03 Sep 2026 12:00:00 GMT</pubDate></item><item><title>从零实现 GeekAgent —— Day15 MCP 工具接入</title><link>https://geektutu.com/post/geekagent-day15.html</link><guid isPermaLink="true">https://geektutu.com/post/geekagent-day15.html</guid><description>7天从零实现Agent教程，用 TypeScript 动手写一个最简单的 Agent/Harness。Day 15 接入 MCP：配置文件里声明 server，启动时在 stdio 上跑 JSON-RPC，外部进程提供的工具直接进入模型的工具清单。</description><pubDate>Wed, 02 Sep 2026 10:00:00 GMT</pubDate></item><item><title>从零实现 GeekAgent —— Day14 轻 RAG 知识库</title><link>https://geektutu.com/post/geekagent-day14.html</link><guid isPermaLink="true">https://geektutu.com/post/geekagent-day14.html</guid><description>7天从零实现Agent教程，用 TypeScript 动手写一个最简单的 Agent/Harness。Day 14 复用 Day 13 的切块和 BM25 搜索，实现一个能采集网页与文件、按问题返回相关段落的轻量知识库。</description><pubDate>Tue, 01 Sep 2026 15:00:00 GMT</pubDate></item><item><title>从零实现 GeekAgent —— Day13 主动记忆</title><link>https://geektutu.com/post/geekagent-day13.html</link><guid isPermaLink="true">https://geektutu.com/post/geekagent-day13.html</guid><description>7天从零实现Agent教程，用 TypeScript 动手写一个最简单的 Agent/Harness。Day 13 把长期记忆切成小块，用 BM25 找出相关内容，并在每轮对话前自动放进上下文。</description><pubDate>Tue, 01 Sep 2026 13:00:00 GMT</pubDate></item><item><title>从零实现 GeekAgent —— Day12 代码搜索与网页抓取</title><link>https://geektutu.com/post/geekagent-day12.html</link><guid isPermaLink="true">https://geektutu.com/post/geekagent-day12.html</guid><description>7天从零实现Agent教程，用 TypeScript 动手写一个最简单的 Agent/Harness。Day 12 新增 `search` 和 `fetch`：一个按内容搜索仓库，一个读取网页并转成纯文本。</description><pubDate>Mon, 31 Aug 2026 13:30:00 GMT</pubDate></item><item><title>从零实现 GeekAgent —— Day11 技能系统（Skills）</title><link>https://geektutu.com/post/geekagent-day11.html</link><guid isPermaLink="true">https://geektutu.com/post/geekagent-day11.html</guid><description>7天从零实现Agent教程，用 TypeScript 动手写一个最简单的 Agent/Harness。Day 11 把任务指令和工具打包成技能，支持按需加载、卸载，并控制模型当前能看到哪些工具。</description><pubDate>Sun, 30 Aug 2026 13:30:00 GMT</pubDate></item><item><title>从零实现 GeekAgent —— Day10 项目指令与长期记忆</title><link>https://geektutu.com/post/geekagent-day10.html</link><guid isPermaLink="true">https://geektutu.com/post/geekagent-day10.html</guid><description>7天从零实现Agent教程，用 TypeScript 动手写一个最简单的 Agent/Harness。Day 10 补上两种跨会话信息：AGENTS.md 保存项目规则，memory 保存运行中积累的经验，让新建会话后的模型既知道项目规则，也想得起以前确认过的偏好。</description><pubDate>Sat, 29 Aug 2026 13:30:00 GMT</pubDate></item><item><title>从零实现 GeekAgent —— Day9 任务规划与子 Agent</title><link>https://geektutu.com/post/geekagent-day9.html</link><guid isPermaLink="true">https://geektutu.com/post/geekagent-day9.html</guid><description>7天从零实现Agent教程，用 TypeScript 动手写一个最简单的 Agent/Harness。Day 9 让 Agent 先列清单再动手：加一张由模型维护的 TODO 表，再提供一个隔离上下文的子 Agent。主 Agent 安排顺序，子 Agent 处理边界清楚的小任务，当前进度始终显示在右侧分栏。</description><pubDate>Fri, 28 Aug 2026 13:30:00 GMT</pubDate></item><item><title>从零实现 GeekAgent —— Day8 权限与回滚</title><link>https://geektutu.com/post/geekagent-day8.html</link><guid isPermaLink="true">https://geektutu.com/post/geekagent-day8.html</guid><description>7天从零实现Agent教程，用 TypeScript 动手写一个最简单的 Agent/Harness。Day 8 给工具划边界，也给写入留后路：用 .geekagent/GeekAgent.json 划清权限与目录边界，再给每次文件写入保存最近状态——不该做的操作提前拦住，写错还能用 /undo 恢复。</description><pubDate>Thu, 27 Aug 2026 13:30:00 GMT</pubDate></item><item><title>从零实现 GeekAgent —— Day7 轻量 TUI 与用量面板</title><link>https://geektutu.com/post/geekagent-day7.html</link><guid isPermaLink="true">https://geektutu.com/post/geekagent-day7.html</guid><description>7天从零实现Agent教程，用 TypeScript 动手写一个最简单的 Agent/Harness。Day 7 给终端换一张桌：程序暂时接管整个终端，左侧放消息流，右侧常驻一块用量面板——本轮/累计 tokens 与上下文占用比例一边聊一边看得见，退出后原终端内容恢复。</description><pubDate>Wed, 26 Aug 2026 13:30:00 GMT</pubDate></item><item><title>从零实现 GeekAgent —— Day6 多会话与持久化</title><link>https://geektutu.com/post/geekagent-day6.html</link><guid isPermaLink="true">https://geektutu.com/post/geekagent-day6.html</guid><description>7天从零实现Agent教程，用 TypeScript 动手写一个最简单的 Agent/Harness。Day 6 做两件事：让一个进程内可以同时维护多条互相独立的会话（/new、/sessions、/open），再把整个会话集合连同当前 ID 一次性落成 JSON（/save、/load，退出自动保存）——「聊得长」升级成「分得开、留得住」。</description><pubDate>Tue, 25 Aug 2026 13:30:00 GMT</pubDate></item><item><title>从零实现 GeekAgent —— Day5 历史压缩</title><link>https://geektutu.com/post/geekagent-day5.html</link><guid isPermaLink="true">https://geektutu.com/post/geekagent-day5.html</guid><description>7天从零实现Agent教程，用 TypeScript 动手写一个最简单的 Agent/Harness。Day 5 解决「聊得长、不淡忘」：当 history 数组只增不减、对话越来越长，通过压缩历史来控制上下文规模，让长对话不超出模型上下文窗口。</description><pubDate>Mon, 24 Aug 2026 13:30:00 GMT</pubDate></item><item><title>从零实现 GeekAgent —— Day4 文件工具与注册表</title><link>https://geektutu.com/post/geekagent-day4.html</link><guid isPermaLink="true">https://geektutu.com/post/geekagent-day4.html</guid><description>7天从零实现Agent教程，用 TypeScript 动手写一个最简单的 Agent/Harness。Day 4 把读写都从 shell 里拆出来：读走免确认的专用工具（ls/read/glob），写走展示 diff 再落盘的专用通道（write/patch），并把攒下的工具统一进一个注册表，让模型第一次走通「读→改→验证」的闭环。</description><pubDate>Sun, 23 Aug 2026 13:30:00 GMT</pubDate></item><item><title>从零实现 GeekAgent —— Day3 Bash 工具</title><link>https://geektutu.com/post/geekagent-day3.html</link><guid isPermaLink="true">https://geektutu.com/post/geekagent-day3.html</guid><description>7天从零实现Agent教程，用 TypeScript 动手写一个最简单的 Agent/Harness。Day 3 给模型接上第一个能碰真实机器的工具：在本地执行 shell 命令，并加上超时、输出截断、执行前确认三道护栏，让 Agent 真正「动手」。</description><pubDate>Sat, 22 Aug 2026 13:30:00 GMT</pubDate></item><item><title>从零实现 GeekAgent —— Day2 工具调用循环</title><link>https://geektutu.com/post/geekagent-day2.html</link><guid isPermaLink="true">https://geektutu.com/post/geekagent-day2.html</guid><description>7天从零实现Agent教程，用 TypeScript 动手写一个最简单的 Agent/Harness。Day 2 搭建工具调用循环：模型可以请求 get_current_time，程序执行后把真实时间交回模型，为后续命令与文件工具打下基础。</description><pubDate>Fri, 21 Aug 2026 13:30:00 GMT</pubDate></item><item><title>从零实现 GeekAgent —— Day1 REPL 地基</title><link>https://geektutu.com/post/geekagent-day1.html</link><guid isPermaLink="true">https://geektutu.com/post/geekagent-day1.html</guid><description>7天从零实现Agent教程(days implement agent from scratch tutorial)，用 TypeScript/Node.js 动手写一个最简单的 Agent/Harness，从零实现 REPL 循环与流式多轮对话。本文介绍 REPL 是什么、为什么 Agent 的地基要选它，以及如何用 readline + OpenAI 兼容接口在不到 160 行代码里跑通「能聊」的第一步。</description><pubDate>Thu, 20 Aug 2026 13:30:00 GMT</pubDate></item><item><title>Go sync.Cond</title><link>https://geektutu.com/post/hpg-sync-cond.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-sync-cond.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。sync.Cond 是一个条件锁，也被称为条件变量，常用来一写多读(一个 goroutine 通知多个在等待的 goroutines)的场景。</description><pubDate>Thu, 14 Jan 2021 23:00:00 GMT</pubDate></item><item><title>Go 死码消除与调试(debug)模式</title><link>https://geektutu.com/post/hpg-dead-code-elimination.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-dead-code-elimination.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。本文介绍了编译器在死码消除(Dead code elimination, DCE) 方面的优化，在实际编程中如何利用这一优化提高程序性能。并结合构建标记(build tags) 增加调试模式。</description><pubDate>Mon, 11 Jan 2021 01:00:00 GMT</pubDate></item><item><title>Go sync.Once</title><link>https://geektutu.com/post/hpg-sync-once.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-sync-once.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。sync.Once 是 Golang package 中使方法只执行一次的对象实现，作用与 init 函数类似，但也有所不同。本文还解释了 sync.Once 源码中,done 为什么作为第一个字段。</description><pubDate>Thu, 07 Jan 2021 23:00:00 GMT</pubDate></item><item><title>Go sync.Pool</title><link>https://geektutu.com/post/hpg-sync-pool.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-sync-pool.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。Go 语言标准库中的 sync.Pool 可以建立对象池，复用已有对象，解决内存分配碎片化的问题，有效减轻垃圾回收的压力(Garbage Collection, GC)，在特定场景下可以有效地降低内存占用，提升性能。最后介绍了 sync.Pool 的作用和用法。</description><pubDate>Thu, 31 Dec 2020 23:00:00 GMT</pubDate></item><item><title>Go 逃逸分析</title><link>https://geektutu.com/post/hpg-escape-analysis.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-escape-analysis.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。介绍了 Go 内存分配逃逸分析(escape analysis)的几种典型场景，变量所使用的内存什么时候分配到栈上，什么时候分配到堆上。以及如何利用逃逸分析的原理优化代码的性能，例如传值 VS 传指针。</description><pubDate>Thu, 31 Dec 2020 00:45:00 GMT</pubDate></item><item><title>2020 年终总结</title><link>https://geektutu.com/post/2020.html</link><guid isPermaLink="true">https://geektutu.com/post/2020.html</guid><description>从 2020 年开始，在博客里记录每一年的成长与改变。年初的时候，给自己定了两个目标：工作上升一级，博客浏览量能翻一倍。第一个目标没想到刚过完年，就实现了。第二个目标到年底的时候也基本达成了，月 UV 3w，月 PV 8w。在这里，将过程中的一些经历和感悟记录下来。</description><pubDate>Tue, 29 Dec 2020 17:00:00 GMT</pubDate></item><item><title>Go struct 内存对齐</title><link>https://geektutu.com/post/hpg-struct-alignment.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-struct-alignment.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。本文介绍了结构体(struct)占用的内存空间如何计算，为什么要字节对齐/内存对齐，Go 语言中的大小和对齐保证(size and alignment guarantees)，字节对齐和安全访问(原子访问)的关系，以及如果利用内存对齐的规律减小 struct 内存占用。</description><pubDate>Sun, 27 Dec 2020 23:00:00 GMT</pubDate></item><item><title>Go 空结构体 struct{} 的使用</title><link>https://geektutu.com/post/hpg-empty-struct.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-empty-struct.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。本文介绍了使用空 struct{}/空结构体的优点：不占用内存，且具有良好的语义。</description><pubDate>Fri, 25 Dec 2020 23:00:00 GMT</pubDate></item><item><title>控制协程(goroutine)的并发数量</title><link>https://geektutu.com/post/hpg-concurrency-control.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-concurrency-control.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。本文介绍了 goroutine 协程并发控制，避免并发过高，大量消耗系统资源，导致程序崩溃或卡顿，影响性能。主要通过 2 种方式控制，一是使用 channel 的缓冲区，二是使用第三方协程池，例如 tunny 和 ants。同时介绍了使用 ulimit 和虚拟内存(virtual memory)提高资源上限的技巧。</description><pubDate>Mon, 21 Dec 2020 01:00:00 GMT</pubDate></item><item><title>如何退出协程 goroutine (其他场景)</title><link>https://geektutu.com/post/hpg-exit-goroutine.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-exit-goroutine.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。本文介绍了协程没有正常关闭导致内存泄漏的场景，并介绍了如何借助通道/信道(channel) 优雅地退出协程。</description><pubDate>Tue, 15 Dec 2020 23:00:00 GMT</pubDate></item><item><title>如何退出协程 goroutine (超时场景)</title><link>https://geektutu.com/post/hpg-timeout-goroutine.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-timeout-goroutine.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。本文介绍了 Go 语言中实现超时(timeout)退出时常见的错误，即子协程(goroutine)不能正常关闭，导致内存泄漏。常见的实现超时的方式有 time.After 和 context.WithTimeout。</description><pubDate>Sat, 12 Dec 2020 20:00:00 GMT</pubDate></item><item><title>Go 语言陷阱 - 数组和切片</title><link>https://geektutu.com/post/hpg-gotchas-array-slice.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-gotchas-array-slice.html</guid><description>Go 语言/golang 高性能编程(high performance go)，Go 语言进阶教程，Go 语言陷阱(gotchas)。这篇文章介绍了 Go 语言中数组(Array) 和切片(Slice)的常见陷阱和规避方式。例如数组作为参数，修改参数，原数组不会发生改变。</description><pubDate>Mon, 07 Dec 2020 01:00:00 GMT</pubDate></item><item><title>减小 Go 代码编译后的二进制体积</title><link>https://geektutu.com/post/hpg-reduce-size.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-reduce-size.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。介绍了 2 种方式(编译选项和 UPX 工具) 来减小 Go 代码编译后的二进制文件/可执行文件的体积/大小。</description><pubDate>Sun, 06 Dec 2020 23:00:00 GMT</pubDate></item><item><title>Go Reflect 提高反射性能</title><link>https://geektutu.com/post/hpg-reflect.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-reflect.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。本文介绍了反射的使用场景，并测试了反射的性能，以及某些场景下的替代方式。</description><pubDate>Sun, 06 Dec 2020 01:00:00 GMT</pubDate></item><item><title>读写锁和互斥锁的性能比较</title><link>https://geektutu.com/post/hpg-mutex.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-mutex.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。介绍了读写锁(sync.RWMutex)和互斥锁(sync.Mutex)在不同的读写比情况下的性能开销。</description><pubDate>Sat, 05 Dec 2020 23:00:00 GMT</pubDate></item><item><title>for 和 range 的性能比较</title><link>https://geektutu.com/post/hpg-range.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-range.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。本文比较了普通的 for 循环和 range 在不同场景下的性能，并解释了背后的原理：range 迭代时返回迭代值的拷贝，如果每个迭代值占用内存过大，性能将显著地低于 for，将元素类型改为指针，能够解决这一问题。</description><pubDate>Tue, 01 Dec 2020 23:00:00 GMT</pubDate></item><item><title>切片(slice)性能及陷阱</title><link>https://geektutu.com/post/hpg-slice.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-slice.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。详细介绍了切片(slice) 常用的几种操作 append、copy 等的性能及原理。并且介绍了切片的陷阱，即什么情况下会产生大量内存被占用，而没法释放的情况。</description><pubDate>Mon, 30 Nov 2020 01:00:00 GMT</pubDate></item><item><title>字符串拼接性能及原理</title><link>https://geektutu.com/post/hpg-string-concat.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-string-concat.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。详细介绍了构造字符串/拼接字符串(string concatation) 的 5 种方式：+, strings.Builder, bytes.Buffer, []byte 和 fmt.Sprintf，比较了这 5 种方式的性能，并且深入解释了背后的原理。</description><pubDate>Tue, 24 Nov 2020 01:00:00 GMT</pubDate></item><item><title>pprof 性能分析</title><link>https://geektutu.com/post/hpg-pprof.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-pprof.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。详细介绍如何测试/评估 Go 代码的性能，内容包括使用 testing 库进行基准测试(benchmark)，性能分析(profiling) 编译优化(compiler optimisations)，内存管理(memory management)和垃圾回收(garbage collect)、pprof 等内容。同时也介绍了使用 Go 语言如何写出高性能的程序和应用，包括不限于 Go 语言标准库、第三方库的使用方式和最佳实践。</description><pubDate>Sun, 22 Nov 2020 01:00:00 GMT</pubDate></item><item><title>benchmark 基准测试</title><link>https://geektutu.com/post/hpg-benchmark.html</link><guid isPermaLink="true">https://geektutu.com/post/hpg-benchmark.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。详细介绍如何测试/评估 Go 代码的性能，内容包括使用 testing 库进行基准测试(benchmark)，性能分析(profiling) 编译优化(compiler optimisations)，内存管理(memory management)和垃圾回收(garbage collect)、pprof 等内容。同时也介绍了使用 Go 语言如何写出高性能的程序和应用，包括不限于 Go 语言标准库、第三方库的使用方式和最佳实践。</description><pubDate>Tue, 17 Nov 2020 01:00:00 GMT</pubDate></item><item><title>Go 语言高性能编程</title><link>https://geektutu.com/post/high-performance-go.html</link><guid isPermaLink="true">https://geektutu.com/post/high-performance-go.html</guid><description>Go 语言/golang 高性能编程，Go 语言进阶教程，Go 语言高性能编程(high performance go)。详细介绍如何测试/评估 Go 代码的性能，内容包括使用 testing 库进行基准测试(benchmark)，性能分析(profiling) 编译优化(compiler optimisations)，内存管理(memory management)和垃圾回收(garbage collect)、pprof 等内容。同时也介绍了使用 Go 语言如何写出高性能的程序和应用，包括不限于 Go 语言标准库、第三方库的使用方式和最佳实践。</description><pubDate>Fri, 06 Nov 2020 16:00:00 GMT</pubDate></item><item><title>Go 接口型函数的使用场景</title><link>https://geektutu.com/post/7days-golang-q1.html</link><guid isPermaLink="true">https://geektutu.com/post/7days-golang-q1.html</guid><description>Go 语言/golang 中函数式接口或接口型函数的实现与价值，什么是接口型函数，为什么不直接将函数作为参数，而是封装为一个接口。Go 语言标准库 net/http 中是如何使用接口型函数的。</description><pubDate>Sun, 25 Oct 2020 12:30:00 GMT</pubDate></item><item><title>Python 简明教程</title><link>https://geektutu.com/post/quick-python.html</link><guid isPermaLink="true">https://geektutu.com/post/quick-python.html</guid><description>一篇文章入门 Python/Python3，Python简明教程，Python入门教程，Python中文教程(Python 3 tutorial)。Python 是一个易于学习、功能强大的编程语言，它拥有高效高级的数据结构和一种简单有效的面向对象编程的编程方法。本文介绍了 Python 的安装、基本类型/内置类型(字符串str，整型，数组，字典 dict 等)、控制流(if, for循环, while 等)、复杂类型(类 class, 方法 method 等)，函数式编程，面向对象编程，错误处理(try except finally)，pip 引入第三方依赖，以及如何写单元测试(unit test)等。</description><pubDate>Sat, 17 Oct 2020 12:00:00 GMT</pubDate></item><item><title>Go 语言笔试面试题(代码输出)</title><link>https://geektutu.com/post/qa-golang-c1.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-golang-c1.html</guid><description>Go 语言/golang 笔试题，面试题，基础语法与内部实现原理，包括不限于垃圾回收机制(GC)、面向对象、并发编程等。</description><pubDate>Sat, 10 Oct 2020 23:10:10 GMT</pubDate></item><item><title>动手写RPC框架 - GeeRPC第七天 服务发现与注册中心(registry)</title><link>https://geektutu.com/post/geerpc-day7.html</link><guid isPermaLink="true">https://geektutu.com/post/geerpc-day7.html</guid><description>7天用 Go语言/golang 从零实现 RPC 框架 GeeRPC 教程(7 days implement golang remote procedure call framework from scratch tutorial)，动手写 RPC 框架，参照 golang 标准库 net/rpc 的实现，实现了服务端(server)、支持异步和并发的客户端(client)、消息编码与解码(message encoding and decoding)、服务注册(service register)、支持 TCP/Unix/HTTP 等多种传输协议。第七天实现了一个简单的注册中心(registry)，具备超时移除、接收心跳(heartbeat)等能力，并且实现了一个简单的服务发现(server discovery)模块。</description><pubDate>Thu, 08 Oct 2020 16:00:00 GMT</pubDate></item><item><title>动手写RPC框架 - GeeRPC第六天 负载均衡(load balance)</title><link>https://geektutu.com/post/geerpc-day6.html</link><guid isPermaLink="true">https://geektutu.com/post/geerpc-day6.html</guid><description>7天用 Go语言/golang 从零实现 RPC 框架 GeeRPC 教程(7 days implement golang remote procedure call framework from scratch tutorial)，动手写 RPC 框架，参照 golang 标准库 net/rpc 的实现，实现了服务端(server)、支持异步和并发的客户端(client)、消息编码与解码(message encoding and decoding)、服务注册(service register)、支持 TCP/Unix/HTTP 等多种传输协议。第六天实现了2种简单的负载均衡(load balance)算法，随机选择和 Round Robin 轮询调度算法。</description><pubDate>Thu, 08 Oct 2020 14:00:00 GMT</pubDate></item><item><title>动手写RPC框架 - GeeRPC第五天 支持HTTP协议</title><link>https://geektutu.com/post/geerpc-day5.html</link><guid isPermaLink="true">https://geektutu.com/post/geerpc-day5.html</guid><description>7天用 Go语言/golang 从零实现 RPC 框架 GeeRPC 教程(7 days implement golang remote procedure call framework from scratch tutorial)，动手写 RPC 框架，参照 golang 标准库 net/rpc 的实现，实现了服务端(server)、支持异步和并发的客户端(client)、消息编码与解码(message encoding and decoding)、服务注册(service register)、支持 TCP/Unix/HTTP 等多种传输协议。第五天支持了 HTTP 协议，并且提供了一个简单的 DEBUG 页面。</description><pubDate>Thu, 08 Oct 2020 11:00:00 GMT</pubDate></item><item><title>动手写RPC框架 - GeeRPC第四天 超时处理(timeout)</title><link>https://geektutu.com/post/geerpc-day4.html</link><guid isPermaLink="true">https://geektutu.com/post/geerpc-day4.html</guid><description>7天用 Go语言/golang 从零实现 RPC 框架 GeeRPC 教程(7 days implement golang remote procedure call framework from scratch tutorial)，动手写 RPC 框架，参照 golang 标准库 net/rpc 的实现，实现了服务端(server)、支持异步和并发的客户端(client)、消息编码与解码(message encoding and decoding)、服务注册(service register)、支持 TCP/Unix/HTTP 等多种传输协议。第四天为RPC框架提供了处理超时的能力(timeout processing)。</description><pubDate>Wed, 07 Oct 2020 23:00:00 GMT</pubDate></item><item><title>动手写RPC框架 - GeeRPC第三天 服务注册(service register)</title><link>https://geektutu.com/post/geerpc-day3.html</link><guid isPermaLink="true">https://geektutu.com/post/geerpc-day3.html</guid><description>7天用 Go语言/golang 从零实现 RPC 框架 GeeRPC 教程(7 days implement golang remote procedure call framework from scratch tutorial)，动手写 RPC 框架，参照 golang 标准库 net/rpc 的实现，实现了服务端(server)、支持异步和并发的客户端(client)、消息编码与解码(message encoding and decoding)、服务注册(service register)、支持 TCP/Unix/HTTP 等多种传输协议。第三天实现了服务注册，即将 Go 语言结构体通过反射映射为服务。</description><pubDate>Wed, 07 Oct 2020 19:00:00 GMT</pubDate></item><item><title>动手写RPC框架 - GeeRPC第二天 支持并发与异步的客户端</title><link>https://geektutu.com/post/geerpc-day2.html</link><guid isPermaLink="true">https://geektutu.com/post/geerpc-day2.html</guid><description>7天用 Go语言/golang 从零实现 RPC 框架 GeeRPC 教程(7 days implement golang remote procedure call framework from scratch tutorial)，动手写 RPC 框架，参照 golang 标准库 net/rpc 的实现，实现了服务端(server)、支持异步和并发的客户端(client)、消息编码与解码(message encoding and decoding)、服务注册(service register)、支持 TCP/Unix/HTTP 等多种传输协议。第二天实现了一个支持异步(asynchronous)和并发(concurrent)的客户端。</description><pubDate>Wed, 07 Oct 2020 18:00:00 GMT</pubDate></item><item><title>动手写RPC框架 - GeeRPC第一天 服务端与消息编码</title><link>https://geektutu.com/post/geerpc-day1.html</link><guid isPermaLink="true">https://geektutu.com/post/geerpc-day1.html</guid><description>7天用 Go语言/golang 从零实现 RPC 框架 GeeRPC 教程(7 days implement golang remote procedure call framework from scratch tutorial)，动手写 RPC 框架，参照 golang 标准库 net/rpc 的实现，实现了服务端(server)、支持异步和并发的客户端(client)、消息编码与解码(message encoding and decoding)、服务注册(service register)、支持 TCP/Unix/HTTP 等多种传输协议。第一天实现了一个简单的服务端和消息的编码与解码。</description><pubDate>Tue, 06 Oct 2020 17:00:00 GMT</pubDate></item><item><title>7天用Go从零实现RPC框架GeeRPC</title><link>https://geektutu.com/post/geerpc.html</link><guid isPermaLink="true">https://geektutu.com/post/geerpc.html</guid><description>7天用 Go语言/golang 从零实现 RPC 框架 GeeRPC 教程(7 days implement golang remote procedure call framework from scratch tutorial)，动手写 RPC 框架，参照 golang 标准库 net/rpc 的实现，实现了服务端(server)、支持异步和并发的客户端(client)、消息编码与解码(message encoding and decoding)、服务注册(service register)、支持 TCP/Unix/HTTP 等多种传输协议。并在此基础上新增了协议交换(protocol exchange)、注册中心(registry)、服务发现(service discovery)、负载均衡(load balance)、超时处理(timeout processing)等特性。</description><pubDate>Tue, 06 Oct 2020 16:00:00 GMT</pubDate></item><item><title>Go 语言笔试面试题(并发编程)</title><link>https://geektutu.com/post/qa-golang-3.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-golang-3.html</guid><description>Go 语言/golang 笔试题，面试题，基础语法与内部实现原理，包括不限于垃圾回收机制(GC)、面向对象、并发编程等。</description><pubDate>Sat, 05 Sep 2020 23:10:10 GMT</pubDate></item><item><title>Go 语言笔试面试题(实现原理)</title><link>https://geektutu.com/post/qa-golang-2.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-golang-2.html</guid><description>Go 语言/golang 笔试题，面试题，基础语法与内部实现原理，包括不限于垃圾回收机制(GC)、面向对象、并发编程等。</description><pubDate>Fri, 04 Sep 2020 23:10:10 GMT</pubDate></item><item><title>Go 语言笔试面试题(基础语法)</title><link>https://geektutu.com/post/qa-golang-1.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-golang-1.html</guid><description>Go 语言/golang 笔试题，面试题，基础语法与内部实现原理，包括不限于垃圾回收机制(GC)、面向对象、并发编程等。</description><pubDate>Fri, 04 Sep 2020 22:10:10 GMT</pubDate></item><item><title>Go 语言笔试面试题汇总</title><link>https://geektutu.com/post/qa-golang.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-golang.html</guid><description>Go 语言/golang 笔试题，面试题，基础语法与内部原理/实现，包括不限于垃圾回收机制(GC)、面向对象、并发编程等。</description><pubDate>Fri, 04 Sep 2020 20:10:10 GMT</pubDate></item><item><title>Go Context 并发编程简明教程</title><link>https://geektutu.com/post/quick-go-context.html</link><guid isPermaLink="true">https://geektutu.com/post/quick-go-context.html</guid><description>WaitGroup 和信道(channel)是常见的 2 种并发控制的方式。但是对于复杂的并发场景，Context 上下文是更优雅的控制方式。Context 提供了 WithCancel(取消)、WithValue(传值)、WithTimeout(超时机制)、WithDeadline(截止时间)等4种并发控制的方式。</description><pubDate>Mon, 20 Apr 2020 15:30:00 GMT</pubDate></item><item><title>Go Mmap 文件内存映射简明教程</title><link>https://geektutu.com/post/quick-go-mmap.html</link><guid isPermaLink="true">https://geektutu.com/post/quick-go-mmap.html</guid><description>简单理解，mmap 是一种将文件/设备映射到内存的方法，实现文件的磁盘地址和进程虚拟地址空间中的一段虚拟地址的一一映射关系。也就是说，可以在某个进程中通过操作这一段映射的内存，实现对文件的读写等操作。修改了这一段内存的内容，文件对应位置的内容也会同步修改，而读取这一段内存的内容，相当于读取文件对应位置的内容。</description><pubDate>Mon, 20 Apr 2020 14:30:00 GMT</pubDate></item><item><title>动手写ORM框架 - GeeORM第七天 数据库迁移(Migrate)</title><link>https://geektutu.com/post/geeorm-day7.html</link><guid isPermaLink="true">https://geektutu.com/post/geeorm-day7.html</guid><description>7天用 Go语言/golang 从零实现 ORM 框架 GeeORM 教程(7 days implement golang object relational mapping framework from scratch tutorial)，动手写 ORM 框架，参照 gorm, xorm 的实现。结构体(struct)变更时，数据库表的字段(field)自动迁移(migrate)；仅支持字段新增与删除，不支持字段类型变更。</description><pubDate>Sun, 08 Mar 2020 23:00:00 GMT</pubDate></item><item><title>动手写ORM框架 - GeeORM第六天 支持事务(Transaction)</title><link>https://geektutu.com/post/geeorm-day6.html</link><guid isPermaLink="true">https://geektutu.com/post/geeorm-day6.html</guid><description>7天用 Go语言/golang 从零实现 ORM 框架 GeeORM 教程(7 days implement golang object relational mapping framework from scratch tutorial)，动手写 ORM 框架，参照 gorm, xorm 的实现。介绍数据库中的事务(transaction)；封装事务，用户自定义回调函数实现原子操作。</description><pubDate>Sun, 08 Mar 2020 21:00:00 GMT</pubDate></item><item><title>动手写ORM框架 - GeeORM第五天 实现钩子(Hooks)</title><link>https://geektutu.com/post/geeorm-day5.html</link><guid isPermaLink="true">https://geektutu.com/post/geeorm-day5.html</guid><description>7天用 Go语言/golang 从零实现 ORM 框架 GeeORM 教程(7 days implement golang object relational mapping framework from scratch tutorial)，动手写 ORM 框架，参照 gorm, xorm 的实现。通过反射(reflect)获取结构体绑定的钩子(hooks)，并调用；支持增删查改(CRUD)前后调用钩子。</description><pubDate>Sun, 08 Mar 2020 18:00:00 GMT</pubDate></item><item><title>动手写ORM框架 - GeeORM第四天 链式操作与更新删除</title><link>https://geektutu.com/post/geeorm-day4.html</link><guid isPermaLink="true">https://geektutu.com/post/geeorm-day4.html</guid><description>7天用 Go语言/golang 从零实现 ORM 框架 GeeORM 教程(7 days implement golang object relational mapping framework from scratch tutorial)，动手写 ORM 框架，参照 gorm, xorm 的实现。通过链式(chain)操作，支持查询条件(where, order by, limit 等)的叠加；实现记录的更新(update)、删除(delete)和统计(count)功能。</description><pubDate>Sun, 08 Mar 2020 16:00:00 GMT</pubDate></item><item><title>动手写ORM框架 - GeeORM第三天 记录新增和查询</title><link>https://geektutu.com/post/geeorm-day3.html</link><guid isPermaLink="true">https://geektutu.com/post/geeorm-day3.html</guid><description>7天用 Go语言/golang 从零实现 ORM 框架 GeeORM 教程(7 days implement golang object relational mapping framework from scratch tutorial)，动手写 ORM 框架，参照 gorm, xorm 的实现。实现新增(insert)记录的功能；使用反射(reflect)将数据库的记录转换为对应的结构体实例，实现查询(select)功能。</description><pubDate>Sun, 08 Mar 2020 01:00:00 GMT</pubDate></item><item><title>动手写ORM框架 - GeeORM第二天 对象表结构映射</title><link>https://geektutu.com/post/geeorm-day2.html</link><guid isPermaLink="true">https://geektutu.com/post/geeorm-day2.html</guid><description>7天用 Go语言/golang 从零实现 ORM 框架 GeeORM 教程(7 days implement golang object relational mapping framework from scratch tutorial)，动手写 ORM 框架，参照 gorm, xorm 的实现。使用反射(reflect)获取任意 struct 对象的名称和字段，映射为数据中的表；使用 dialect 隔离不同数据库之间的差异，便于扩展；数据库表的创建(create)、删除(drop)。</description><pubDate>Sun, 08 Mar 2020 00:20:00 GMT</pubDate></item><item><title>动手写ORM框架 - GeeORM第一天 database/sql 基础</title><link>https://geektutu.com/post/geeorm-day1.html</link><guid isPermaLink="true">https://geektutu.com/post/geeorm-day1.html</guid><description>7天用 Go语言/golang 从零实现 ORM 框架 GeeORM 教程(7 days implement golang object relational mapping framework from scratch tutorial)，动手写 ORM 框架，参照 gorm, xorm 的实现。介绍了 SQLite 的基础操作（连接数据库，创建表、增删记录等），使用 Go 标准库 database/sql 操作 SQLite 数据库，包括执行(Exec)，查询(Query, QueryRow)。</description><pubDate>Sat, 07 Mar 2020 23:00:00 GMT</pubDate></item><item><title>SQLite 常用命令</title><link>https://geektutu.com/post/cheat-sheet-sqlite.html</link><guid isPermaLink="true">https://geektutu.com/post/cheat-sheet-sqlite.html</guid><description>SQLite 常见的使用命令。包括数据库的安装与连接，表(table)的创建(create)与删除(delete)，记录的插入(insert)删除(delete)查询(select)改(update)，以及事务(transaction)等操作。</description><pubDate>Mon, 02 Mar 2020 15:51:24 GMT</pubDate></item><item><title>7天用Go从零实现ORM框架GeeORM</title><link>https://geektutu.com/post/geeorm.html</link><guid isPermaLink="true">https://geektutu.com/post/geeorm.html</guid><description>7天用 Go语言/golang 从零实现 ORM 框架 GeeORM 教程(7 days implement golang object relational mapping framework from scratch tutorial)，动手写 ORM 框架，参照 gorm, xorm 的实现。功能包括对象和表结构的相互映射，表的创建删除(table)，记录的增删查改，事务支持(transaction)，数据库迁移(migrate)，钩子(hooks)等。</description><pubDate>Sun, 01 Mar 2020 01:00:00 GMT</pubDate></item><item><title>动手写分布式缓存 - GeeCache第七天 使用 Protobuf 通信</title><link>https://geektutu.com/post/geecache-day7.html</link><guid isPermaLink="true">https://geektutu.com/post/geecache-day7.html</guid><description>7天用 Go语言/golang 从零实现分布式缓存 GeeCache 教程(7 days implement golang distributed cache from scratch tutorial)，动手写分布式缓存，参照 groupcache 的实现。本文介绍了使用 protobuf(protocol buffer) 进行节点间通信，编码报文，提高效率</description><pubDate>Mon, 17 Feb 2020 00:30:00 GMT</pubDate></item><item><title>动手写分布式缓存 - GeeCache第六天 防止缓存击穿</title><link>https://geektutu.com/post/geecache-day6.html</link><guid isPermaLink="true">https://geektutu.com/post/geecache-day6.html</guid><description>7天用 Go语言/golang 从零实现分布式缓存 GeeCache 教程(7 days implement golang distributed cache from scratch tutorial)，动手写分布式缓存，参照 groupcache 的实现。本文介绍了缓存雪崩、缓存击穿与缓存穿透的概念，使用 singleflight 防止缓存击穿，实现与测试。</description><pubDate>Sun, 16 Feb 2020 23:00:00 GMT</pubDate></item><item><title>动手写分布式缓存 - GeeCache第五天 分布式节点</title><link>https://geektutu.com/post/geecache-day5.html</link><guid isPermaLink="true">https://geektutu.com/post/geecache-day5.html</guid><description>7天用 Go语言/golang 从零实现分布式缓存 GeeCache 教程(7 days implement golang distributed cache from scratch tutorial)，动手写分布式缓存，参照 groupcache 的实现。本文介绍了为 GeeCache 添加了注册节点与选择节点的功能，并实现了 HTTP 客户端，与远程节点的服务端通信。</description><pubDate>Sun, 16 Feb 2020 21:30:00 GMT</pubDate></item><item><title>动手写分布式缓存 - GeeCache第四天 一致性哈希(hash)</title><link>https://geektutu.com/post/geecache-day4.html</link><guid isPermaLink="true">https://geektutu.com/post/geecache-day4.html</guid><description>7天用 Go语言/golang 从零实现分布式缓存 GeeCache 教程(7 days implement golang distributed cache from scratch tutorial)，动手写分布式缓存，参照 groupcache 的实现。本文介绍了一致性哈希(consistent hashing)的原理、实现以及相关测试用例，一致性哈希为什么能避免缓存雪崩，虚拟节点为什么能解决数据倾斜的问题。</description><pubDate>Sun, 16 Feb 2020 20:00:00 GMT</pubDate></item><item><title>Go Mock (gomock)简明教程</title><link>https://geektutu.com/post/quick-gomock.html</link><guid isPermaLink="true">https://geektutu.com/post/quick-gomock.html</guid><description>gomock 是Go语言/golang 官方提供的mock库，用于在单元测试(unit tests) 中模拟一些依赖复杂，难以直接调用的场景，比如网络请求、数据库依赖和文件I/O等。本文介绍了 gomock 的使用方法，包括模拟参数(Any, Nil, Not, Eq)和返回值(Do, Return, DoAndReturn)，以及调用次数(Times) 和顺序(InOrder)，如何写可测试可mock的代码。</description><pubDate>Fri, 14 Feb 2020 15:30:10 GMT</pubDate></item><item><title>动手写分布式缓存 - GeeCache第三天 HTTP 服务端</title><link>https://geektutu.com/post/geecache-day3.html</link><guid isPermaLink="true">https://geektutu.com/post/geecache-day3.html</guid><description>7天用 Go语言/golang 从零实现分布式缓存 GeeCache 教程(7 days implement golang distributed cache from scratch tutorial)，动手写分布式缓存，参照 groupcache 的实现。本文介绍了如何使用标准库 http 搭建 HTTP Server，为 GeeCache 单机节点搭建 HTTP 服务，并进行相关的测试。</description><pubDate>Wed, 12 Feb 2020 23:00:00 GMT</pubDate></item><item><title>动手写分布式缓存 - GeeCache第二天 单机并发缓存</title><link>https://geektutu.com/post/geecache-day2.html</link><guid isPermaLink="true">https://geektutu.com/post/geecache-day2.html</guid><description>7天用 Go语言/golang 从零实现分布式缓存 GeeCache 教程(7 days implement golang distributed cache from scratch tutorial)，动手写分布式缓存，参照 groupcache 的实现。本文介绍了 sync.Mutex 互斥锁的使用，并发控制 LRU 缓存。实现 GeeCache 核心数据结构 Group，缓存不存在时，调用回调函数(callback)获取源数据。</description><pubDate>Wed, 12 Feb 2020 22:00:00 GMT</pubDate></item><item><title>动手写分布式缓存 - GeeCache第一天 LRU 缓存淘汰策略</title><link>https://geektutu.com/post/geecache-day1.html</link><guid isPermaLink="true">https://geektutu.com/post/geecache-day1.html</guid><description>7天用 Go语言/golang 从零实现分布式缓存 GeeCache 教程(7 days implement golang distributed cache from scratch tutorial)，动手写分布式缓存，参照 groupcache 的实现。本文介绍了常用的三种缓存淘汰(失效)算法：先进先出(FIFO)，最少使用(LFU) 和 最近最少使用(LRU)，并实现 LRU 算法和相应的测试代码。</description><pubDate>Tue, 11 Feb 2020 22:00:00 GMT</pubDate></item><item><title>Go Test 单元测试简明教程</title><link>https://geektutu.com/post/quick-go-test.html</link><guid isPermaLink="true">https://geektutu.com/post/quick-go-test.html</guid><description>本文介绍了Go语言(golang) 如何写单元测试(unit tests)，详细介绍了标准库 testing 的使用。包括子测试(subtests)，帮助函数(helpers)，setup 和 teardown 机制，网络测试(Network, http) 和基准测试(benchmark)</description><pubDate>Mon, 10 Feb 2020 15:00:00 GMT</pubDate></item><item><title>7天用Go从零实现分布式缓存GeeCache</title><link>https://geektutu.com/post/geecache.html</link><guid isPermaLink="true">https://geektutu.com/post/geecache.html</guid><description>7天用 Go语言/golang 从零实现分布式缓存 GeeCache 教程(7 days implement golang distributed cache from scratch tutorial)，动手写分布式缓存，参照 groupcache 的实现。功能包括单机/分布式缓存，LRU (Least Recently Used) 缓存策略，防止缓存击穿、一致性哈希(Consistent Hash)，protobuf 通信等。</description><pubDate>Sat, 08 Feb 2020 01:00:00 GMT</pubDate></item><item><title>Go WebAssembly (Wasm) 简明教程</title><link>https://geektutu.com/post/quick-go-wasm.html</link><guid isPermaLink="true">https://geektutu.com/post/quick-go-wasm.html</guid><description>本文介绍了如何使用Go 语言(golang)、WebAssembly 和 gopherjs 进行前端开发。包括注册函数，并与浏览器 JavaScript 对象交互，操作 DOM 元素，异步编程与回调函数等。最后介绍了一些进阶的 Demo（游戏，渲染等方面）和相关的项目和文档。</description><pubDate>Thu, 23 Jan 2020 15:25:00 GMT</pubDate></item><item><title>Go RPC &amp; TLS 鉴权简明教程</title><link>https://geektutu.com/post/quick-go-rpc.html</link><guid isPermaLink="true">https://geektutu.com/post/quick-go-rpc.html</guid><description>本文介绍了 Go 语言（Golang）中远程过程调用(Remote Procedure Call, RPC)的使用方式，使用 Golang 标准库 net/rpc，同时介绍了异步调用，以及如何使用 TLS/SSL/HTTPS 实现服务器端和客户端的单向鉴权、双向鉴权。</description><pubDate>Mon, 13 Jan 2020 15:47:00 GMT</pubDate></item><item><title>Go Protobuf 简明教程</title><link>https://geektutu.com/post/quick-go-protobuf.html</link><guid isPermaLink="true">https://geektutu.com/post/quick-go-protobuf.html</guid><description>protobuf 即 Protocol Buffers，是一种轻便高效的结构化数据存储格式，与语言、平台无关，可扩展可序列化。protobuf 性能和效率大幅度优于 JSON、XML 等其他的结构化数据格式。protobuf 是以二进制方式存储的，占用空间小，但也带来了可读性差的缺点。protobuf 在通信协议和数据存储等领域应用广泛。本文介绍的是 Protocol Buffers 3 (protobuf3, proto3) 的安装和基本语法，以及如何在 Go 语言使用。</description><pubDate>Fri, 10 Jan 2020 16:27:00 GMT</pubDate></item><item><title>Go语言动手写Web框架 - Gee第七天 错误恢复(Panic Recover)</title><link>https://geektutu.com/post/gee-day7.html</link><guid isPermaLink="true">https://geektutu.com/post/gee-day7.html</guid><description>7天用 Go语言 从零实现Web框架教程(7 days implement golang web framework from scratch tutorial)，用 Go语言/golang 动手写Web框架，从零实现一个Web框架，以 Gin 为原型从零设计一个Web框架。本文介绍了如何为Web框架增加错误处理机制。</description><pubDate>Thu, 09 Jan 2020 01:00:00 GMT</pubDate></item><item><title>WSL, Git, Mircosoft Terminal 等常用工具配置</title><link>https://geektutu.com/post/awesome-config.html</link><guid isPermaLink="true">https://geektutu.com/post/awesome-config.html</guid><description>记录开发过程中一些工具的常用配置，加速在新环境上的准备效率。工具包括不限于微软 Linux 子系统 Ubuntu (WSL, WSL2), Git, 微软最新发布的命令行神器( Mircosoft Terminal )等。</description><pubDate>Mon, 02 Dec 2019 16:30:00 GMT</pubDate></item><item><title>Rust 简明教程</title><link>https://geektutu.com/post/quick-rust.html</link><guid isPermaLink="true">https://geektutu.com/post/quick-rust.html</guid><description>Rust简明教程，Rust入门教程，Rust 是一门系统编程语言(Systems Programming Language)，兼顾安全(Safety)、性能(Speed)和并发(Concurrency)。包括 Rust 和 Cargo 安装、基本类型(字符串str，整形等)、控制流(if, if let, while let, loop, for循环等)、复杂类型(struct, enum等)，以及错误处理(panic, Result)，Cargo 项目的代码结构，如何测试 Rust 代码等。</description><pubDate>Sun, 24 Nov 2019 15:59:10 GMT</pubDate></item><item><title>Go语言动手写Web框架 - Gee第六天 模板(HTML Template)</title><link>https://geektutu.com/post/gee-day6.html</link><guid isPermaLink="true">https://geektutu.com/post/gee-day6.html</guid><description>7天用 Go语言 从零实现Web框架教程(7 days implement golang web framework from scratch tutorial)，用 Go语言/golang 动手写Web框架，从零实现一个Web框架，以 Gin 为原型从零设计一个Web框架。本文介绍了如何为Web框架添加HTML模板(HTML Template)以及静态文件(Serve Static Files)的功能。</description><pubDate>Sun, 08 Sep 2019 20:10:00 GMT</pubDate></item><item><title>Go语言动手写Web框架 - Gee第五天 中间件Middleware</title><link>https://geektutu.com/post/gee-day5.html</link><guid isPermaLink="true">https://geektutu.com/post/gee-day5.html</guid><description>7天用 Go语言 从零实现Web框架教程(7 days implement golang web framework from scratch tutorial)，用 Go语言/golang 动手写Web框架，从零实现一个Web框架，以 Gin 为原型从零设计一个Web框架。本文介绍了如何为Web框架添加中间件的功能(middlewares)。</description><pubDate>Sun, 01 Sep 2019 20:10:10 GMT</pubDate></item><item><title>百宝箱 - 值得收藏的工具网站</title><link>https://geektutu.com/post/box-tools.html</link><guid isPermaLink="true">https://geektutu.com/post/box-tools.html</guid><description>极客兔兔的百宝箱，都是些珍藏多年的宝贝。包括编程常用的网站，例如在线正则表达式；前端设计常用的网站，例如色彩搭配等。</description><pubDate>Sun, 01 Sep 2019 17:00:10 GMT</pubDate></item><item><title>Go语言动手写Web框架 - Gee第四天 分组控制Group</title><link>https://geektutu.com/post/gee-day4.html</link><guid isPermaLink="true">https://geektutu.com/post/gee-day4.html</guid><description>7天用 Go语言 从零实现Web框架教程(7 days implement golang web framework from scratch tutorial)，用 Go语言/golang 动手写Web框架，从零实现一个Web框架，以 Gin 为原型从零设计一个Web框架。本文介绍了分组控制(Group Control)的意义，以及嵌套分组路由的实现。</description><pubDate>Sun, 01 Sep 2019 15:10:10 GMT</pubDate></item><item><title>Go语言动手写Web框架 - Gee第三天 前缀树路由Router</title><link>https://geektutu.com/post/gee-day3.html</link><guid isPermaLink="true">https://geektutu.com/post/gee-day3.html</guid><description>7天用 Go语言 从零实现Web框架教程(7 days implement golang web framework from scratch tutorial)，用 Go语言/golang 动手写Web框架，从零实现一个Web框架，以 Gin 为原型从零设计一个Web框架。本文介绍了如何用 Trie 前缀树实现路由 Route。支持简单的参数解析和通配符的场景。</description><pubDate>Wed, 28 Aug 2019 00:10:10 GMT</pubDate></item><item><title>博客折腾记(七) - Gitalk Plus</title><link>https://geektutu.com/post/blog-experience-7.html</link><guid isPermaLink="true">https://geektutu.com/post/blog-experience-7.html</guid><description>极客兔兔(Geektutu)的博客折腾记的第七篇，模仿disqus的 SEE ALSO ON &lt;blog&gt; 功能，为静态博客添加“显示本站其他文章评论”的功能，完善内链。</description><pubDate>Fri, 23 Aug 2019 12:00:00 GMT</pubDate></item><item><title>Go语言动手写Web框架 - Gee第二天 上下文Context</title><link>https://geektutu.com/post/gee-day2.html</link><guid isPermaLink="true">https://geektutu.com/post/gee-day2.html</guid><description>7天用 Go语言 从零实现Web框架教程(7 days implement golang web framework from scratch tutorial)，用 Go语言/golang 动手写Web框架，从零实现一个Web框架，以 Gin 为原型从零设计一个Web框架。本文介绍了请求上下文(Context)的设计理念，封装了返回JSON/String/Data/HTML等类型响应的方法。</description><pubDate>Mon, 19 Aug 2019 00:10:10 GMT</pubDate></item><item><title>Go2 新特性简明教程</title><link>https://geektutu.com/post/quick-go2.html</link><guid isPermaLink="true">https://geektutu.com/post/quick-go2.html</guid><description>GO 2 (golang 2) 的变化和新特性，与Go1相比Go2的变化。GO2草案，GO2设计草案。包管理机制(package)、错误处理(Error handling)，错误值(Error values)和泛型(Generics)。GO语言的历史。difference between GO 2 and GO 1.</description><pubDate>Thu, 15 Aug 2019 15:59:10 GMT</pubDate></item><item><title>博客折腾记(六) - 不要为了流量忘记了初心</title><link>https://geektutu.com/post/blog-experience-6.html</link><guid isPermaLink="true">https://geektutu.com/post/blog-experience-6.html</guid><description>极客兔兔(Geektutu)的博客折腾记的第六篇，不要为了流量忘记了初心。</description><pubDate>Tue, 13 Aug 2019 16:16:00 GMT</pubDate></item><item><title>Go语言动手写Web框架 - Gee第一天 http.Handler</title><link>https://geektutu.com/post/gee-day1.html</link><guid isPermaLink="true">https://geektutu.com/post/gee-day1.html</guid><description>7天用 Go语言 从零实现Web框架教程(7 days implement golang web framework from scratch tutorial)，用 Go语言/golang 动手写Web框架，从零实现一个Web框架，以 Gin 为原型从零设计一个Web框架。本文介绍了Go标准库 net/http 和 http.Handler 接口的使用，拦截所有的 HTTP 请求，交给Gee框架处理。</description><pubDate>Mon, 12 Aug 2019 00:10:10 GMT</pubDate></item><item><title>7天用Go从零实现Web框架Gee教程</title><link>https://geektutu.com/post/gee.html</link><guid isPermaLink="true">https://geektutu.com/post/gee.html</guid><description>7天用 Go语言 从零实现Web框架教程(7 days implement golang web framework from scratch tutorial)，用 Go语言/golang 动手写Web框架，从零实现一个Web框架，以 Gin 为原型从零设计一个Web框架。</description><pubDate>Sun, 11 Aug 2019 02:10:10 GMT</pubDate></item><item><title>Go Gin 简明教程</title><link>https://geektutu.com/post/quick-go-gin.html</link><guid isPermaLink="true">https://geektutu.com/post/quick-go-gin.html</guid><description>Gin教程，Gin框架教程，Gin快速入门，Gin中文教程，Gin中文文档，Golang Web Framework Gin Tutorial (Go语言Web框架)。Go安装，环境搭建；热加载(hot reload, live reload)；路由(Route, Router)和分组路由(Group Router)；HTML模板(HTML Template)；中间件(Middleware)。</description><pubDate>Wed, 07 Aug 2019 12:10:10 GMT</pubDate></item><item><title>机器学习笔试面试题 11-20</title><link>https://geektutu.com/post/qa-ml-2.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-ml-2.html</guid><description>机器学习(machine learning)/深度学习(deep learning)/面试笔试题(interview questions)，吴恩达(Andrew Ng)机器学习课程(machine learning course)课后习题，CMU 考试题和答案。</description><pubDate>Tue, 06 Aug 2019 00:10:10 GMT</pubDate></item><item><title>Go 语言简明教程</title><link>https://geektutu.com/post/quick-golang.html</link><guid isPermaLink="true">https://geektutu.com/post/quick-golang.html</guid><description>一篇文章入门Go语言，Go语言(Golang)简明教程，Go语言入门教程，Go语言中文教程(golang tutorial)。Go 是一种静态强类型、编译型、并发型，并具有垃圾回收功能的编程语言。本文介绍了 Go 语言的安装、基本类型(字符串str，整型，数组，切片slice，字典 map 等)、控制流(if, for range, for循环, switch 等)、复杂类型(结构体 struct, 接口 interface，方法 method 等)，并发编程(sync, chan)，错误处理(panic, error)，Go Modules 引入第三方依赖，以及如何写测试代码(Unit Test)等。</description><pubDate>Mon, 05 Aug 2019 17:00:00 GMT</pubDate></item><item><title>机器学习笔试面试题 1-10</title><link>https://geektutu.com/post/qa-ml-1.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-ml-1.html</guid><description>机器学习(machine learning)/深度学习(deep learning)/面试笔试题(interview questions)，吴恩达(Andrew Ng)机器学习课程(machine learning course)课后习题，CMU 考试题和答案。</description><pubDate>Sun, 04 Aug 2019 00:10:10 GMT</pubDate></item><item><title>机器学习笔试面试题汇总</title><link>https://geektutu.com/post/qa-ml.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-ml.html</guid><description>机器学习(machine learning)/深度学习(deep learning)/面试笔试题(interview questions)，吴恩达(Andrew Ng)机器学习课程(machine learning course)课后习题，CMU 考试题和答案。</description><pubDate>Sat, 03 Aug 2019 20:10:10 GMT</pubDate></item><item><title>机器学习面试题 1：如何处理特征向量的缺失值</title><link>https://geektutu.com/post/qa-ml-q1.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-ml-q1.html</guid><pubDate>Thu, 01 Aug 2019 15:35:28 GMT</pubDate></item><item><title>机器学习面试题 10：支持向量机(SVM)中的支持向量是什么意思</title><link>https://geektutu.com/post/qa-ml-q10.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-ml-q10.html</guid><pubDate>Thu, 01 Aug 2019 15:35:28 GMT</pubDate></item><item><title>机器学习面试题 11：精确率(precision)和召回率(recall)</title><link>https://geektutu.com/post/qa-ml-q11.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-ml-q11.html</guid><pubDate>Thu, 01 Aug 2019 15:35:28 GMT</pubDate></item><item><title>机器学习面试题 12：数据挖掘中如何判断关联规则有效性</title><link>https://geektutu.com/post/qa-ml-q12.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-ml-q12.html</guid><pubDate>Thu, 01 Aug 2019 15:35:28 GMT</pubDate></item><item><title>机器学习面试题 13：朴素贝叶斯分类某个类别概率为0怎么办</title><link>https://geektutu.com/post/qa-ml-q13.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-ml-q13.html</guid><pubDate>Thu, 01 Aug 2019 15:35:28 GMT</pubDate></item><item><title>机器学习面试题 14：决策树</title><link>https://geektutu.com/post/qa-ml-q14.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-ml-q14.html</guid><pubDate>Thu, 01 Aug 2019 15:35:28 GMT</pubDate></item><item><title>机器学习面试题 2：请简要说说一个完整机器学习项目的流程</title><link>https://geektutu.com/post/qa-ml-q2.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-ml-q2.html</guid><pubDate>Thu, 01 Aug 2019 15:35:28 GMT</pubDate></item><item><title>机器学习面试题 3：某超市研究销售记录发现买啤酒的人很大概率也会买尿布，这属于数据挖掘的哪类问题?</title><link>https://geektutu.com/post/qa-ml-q3.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-ml-q3.html</guid><pubDate>Thu, 01 Aug 2019 15:35:28 GMT</pubDate></item><item><title>机器学习面试题 4：余弦相似与欧氏距离有什么区别和联系</title><link>https://geektutu.com/post/qa-ml-q4.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-ml-q4.html</guid><pubDate>Thu, 01 Aug 2019 15:35:28 GMT</pubDate></item><item><title>机器学习面试题 5：下面哪个不属于数据的属性类别</title><link>https://geektutu.com/post/qa-ml-q5.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-ml-q5.html</guid><pubDate>Thu, 01 Aug 2019 15:35:28 GMT</pubDate></item><item><title>机器学习面试题 6：监督学习和无监督学习</title><link>https://geektutu.com/post/qa-ml-q6.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-ml-q6.html</guid><pubDate>Thu, 01 Aug 2019 15:35:28 GMT</pubDate></item><item><title>机器学习面试题 7：熵是为消除不确定性所需要获得的信息量，投掷均匀正六面体骰子的熵是</title><link>https://geektutu.com/post/qa-ml-q7.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-ml-q7.html</guid><pubDate>Thu, 01 Aug 2019 15:35:28 GMT</pubDate></item><item><title>机器学习面试题 8：数据清洗与特征处理</title><link>https://geektutu.com/post/qa-ml-q8.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-ml-q8.html</guid><pubDate>Thu, 01 Aug 2019 15:35:28 GMT</pubDate></item><item><title>机器学习面试题 9：猜测这种划分最可能是什么聚类算法的结果</title><link>https://geektutu.com/post/qa-ml-q9.html</link><guid isPermaLink="true">https://geektutu.com/post/qa-ml-q9.html</guid><pubDate>Thu, 01 Aug 2019 15:35:28 GMT</pubDate></item><item><title>TensorFlow 2 中文文档 - RNN LSTM 文本分类</title><link>https://geektutu.com/post/tf2doc-rnn-lstm-text.html</link><guid isPermaLink="true">https://geektutu.com/post/tf2doc-rnn-lstm-text.html</guid><description>TensorFlow2文档，TensorFlow2.0文档，TensorFlow2.0 TF2.0 TensorFlow 2 / 2.0 官方文档中文版，循环神经网络(Recurrent Neural Network, RNN) 和 长短期记忆模型(Long Short-Term Memory，LSTM) 分类 IMDB 。</description><pubDate>Mon, 22 Jul 2019 23:18:10 GMT</pubDate></item><item><title>TensorFlow 2 中文文档 - TFHub 迁移学习</title><link>https://geektutu.com/post/tf2doc-tfhub-image-tl.html</link><guid isPermaLink="true">https://geektutu.com/post/tf2doc-tfhub-image-tl.html</guid><description>TensorFlow2文档，TensorFlow2.0文档，TensorFlow2.0 TF2.0 TensorFlow 2 / 2.0 官方文档中文版，迁移学习(transfer learning)分类 CIFAR-10 。</description><pubDate>Fri, 19 Jul 2019 22:00:10 GMT</pubDate></item><item><title>TensorFlow 2 中文文档 - 卷积神经网络分类 CIFAR-10</title><link>https://geektutu.com/post/tf2doc-cnn-cifar10.html</link><guid isPermaLink="true">https://geektutu.com/post/tf2doc-cnn-cifar10.html</guid><description>TensorFlow2文档，TensorFlow2.0文档，TensorFlow2.0 TF2.0 TensorFlow 2 / 2.0 官方文档中文版，卷积神经网络(Convolutional Neural Networks, CNN)分类 CIFAR-10 。</description><pubDate>Fri, 19 Jul 2019 20:00:10 GMT</pubDate></item><item><title>TensorFlow 2 中文文档 - 保存与加载模型</title><link>https://geektutu.com/post/tf2doc-ml-basic-save-model.html</link><guid isPermaLink="true">https://geektutu.com/post/tf2doc-ml-basic-save-model.html</guid><description>TensorFlow2文档，TensorFlow2.0文档，TensorFlow2.0 TF2.0 TensorFlow 2 / 2.0 官方文档中文版，保存与加载模型 Save and Restore model。</description><pubDate>Sat, 13 Jul 2019 00:05:10 GMT</pubDate></item><item><title>TensorFlow 2 中文文档 - 过拟合与欠拟合</title><link>https://geektutu.com/post/tf2doc-ml-basic-overfit.html</link><guid isPermaLink="true">https://geektutu.com/post/tf2doc-ml-basic-overfit.html</guid><description>TensorFlow2文档，TensorFlow2.0文档，TensorFlow2.0 TF2.0 TensorFlow 2 / 2.0 官方文档中文版，过拟合与欠拟合 Explore overfitting and underfitting，示例使用 IMDB 影评数据集。</description><pubDate>Fri, 12 Jul 2019 01:10:10 GMT</pubDate></item><item><title>TensorFlow 2 中文文档 - 回归预测燃油效率</title><link>https://geektutu.com/post/tf2doc-ml-basic-regression.html</link><guid isPermaLink="true">https://geektutu.com/post/tf2doc-ml-basic-regression.html</guid><description>TensorFlow2文档，TensorFlow2.0文档，TensorFlow2.0 TF2.0 TensorFlow 2 / 2.0 官方文档中文版，Regression 回归，示例使用 Auto MPG 燃油效率数据集。</description><pubDate>Thu, 11 Jul 2019 01:00:10 GMT</pubDate></item><item><title>TensorFlow 2 中文文档 - 特征工程结构化数据分类</title><link>https://geektutu.com/post/tf2doc-ml-basic-structured-data.html</link><guid isPermaLink="true">https://geektutu.com/post/tf2doc-ml-basic-structured-data.html</guid><description>TensorFlow2文档，TensorFlow2.0文档，TensorFlow2.0 TF2.0 TensorFlow 2 / 2.0 官方文档中文版，结构化数据分类 Classify structured data，示例使用心脏病数据集。</description><pubDate>Tue, 09 Jul 2019 23:45:10 GMT</pubDate></item><item><title>TensorFlow 2 中文文档 - IMDB 文本分类</title><link>https://geektutu.com/post/tf2doc-ml-basic-text.html</link><guid isPermaLink="true">https://geektutu.com/post/tf2doc-ml-basic-text.html</guid><description>TensorFlow2文档，TensorFlow2.0文档，TensorFlow2.0 TF2.0 TensorFlow 2 / 2.0 官方文档中文版，文本分类 Classify text，示例使用 IMDB 数据集。</description><pubDate>Tue, 09 Jul 2019 00:40:10 GMT</pubDate></item><item><title>TensorFlow 2 中文文档 - MNIST 图像分类</title><link>https://geektutu.com/post/tf2doc-ml-basic-image.html</link><guid isPermaLink="true">https://geektutu.com/post/tf2doc-ml-basic-image.html</guid><description>TensorFlow2文档，TensorFlow2.0文档，TensorFlow2.0 TF2.0 TensorFlow 2 / 2.0 官方文档中文版，图像分类 Classify images，示例使用 Fashion MNIST 数据集。</description><pubDate>Tue, 09 Jul 2019 00:30:10 GMT</pubDate></item><item><title>TensorFlow 2 / 2.0 中文文档</title><link>https://geektutu.com/post/tf2doc.html</link><guid isPermaLink="true">https://geektutu.com/post/tf2doc.html</guid><description>TensorFlow2文档，TensorFlow2.0文档，TensorFlow2.0 TF2.0 TensorFlow 2 / 2.0 官方文档中文版，有删改，序言，介绍整个文档的构成。</description><pubDate>Tue, 09 Jul 2019 00:10:10 GMT</pubDate></item><item><title>TensorFlow 2.0 (九) - 强化学习 70行代码实战 Policy Gradient</title><link>https://geektutu.com/post/tensorflow2-gym-pg.html</link><guid isPermaLink="true">https://geektutu.com/post/tensorflow2-gym-pg.html</guid><description>TensorFlow2教程，TensorFlow2.0教程，TensorFlow 2.0 入门系列文章，第九篇，使用强化学习算法策略梯度(Policy Gradient)，实战 OpenAI gym CartPole，代码仅70行。</description><pubDate>Sat, 06 Jul 2019 09:30:00 GMT</pubDate></item><item><title>博客折腾记(五) - 友链这件事，没那么简单</title><link>https://geektutu.com/post/blog-experience-5.html</link><guid isPermaLink="true">https://geektutu.com/post/blog-experience-5.html</guid><description>极客兔兔(Geektutu)的博客折腾记的第五篇，介绍对于站点质量评估和高质量外链的一些思考。</description><pubDate>Tue, 02 Jul 2019 16:30:00 GMT</pubDate></item><item><title>博客折腾记(四) - 原创资格是争取来的</title><link>https://geektutu.com/post/blog-experience-4.html</link><guid isPermaLink="true">https://geektutu.com/post/blog-experience-4.html</guid><description>极客兔兔(Geektutu)的博客折腾记的第四篇，介绍原创维权经历，与在 V2EX 发帖的一些总结思考。</description><pubDate>Sun, 30 Jun 2019 03:54:00 GMT</pubDate></item><item><title>TensorFlow 2.0 (八) - 强化学习 DQN 玩转 gym Mountain Car</title><link>https://geektutu.com/post/tensorflow2-gym-dqn.html</link><guid isPermaLink="true">https://geektutu.com/post/tensorflow2-gym-dqn.html</guid><description>TensorFlow2教程，TensorFlow2.0教程，TensorFlow 2.0 入门系列文章，第八篇，强化学习 DQN (Deep Q-Learning) 玩转 OpenAI gym game MountainCar-v0。</description><pubDate>Thu, 27 Jun 2019 16:30:24 GMT</pubDate></item><item><title>TensorFlow 2.0 (七) - 强化学习 Q-Learning 玩转 OpenAI gym</title><link>https://geektutu.com/post/tensorflow2-gym-q-learning.html</link><guid isPermaLink="true">https://geektutu.com/post/tensorflow2-gym-q-learning.html</guid><description>TensorFlow2教程，TensorFlow2.0教程，TensorFlow 2.0 入门系列文章，第七篇，Q-Learning 玩转 OpenAI gym game MountainCar-v0。</description><pubDate>Mon, 24 Jun 2019 16:40:24 GMT</pubDate></item><item><title>博客折腾记(三) - 主题设计、彩蛋与阅读量翻倍</title><link>https://geektutu.com/post/blog-experience-3.html</link><guid isPermaLink="true">https://geektutu.com/post/blog-experience-3.html</guid><description>极客兔兔(Geektutu)的博客折腾记的第三篇，Hexo主题改版与提高人均阅读量的一些思考。</description><pubDate>Sun, 23 Jun 2019 03:48:00 GMT</pubDate></item><item><title>TensorFlow 2.0 (六) - 监督学习玩转 OpenAI gym game</title><link>https://geektutu.com/post/tensorflow2-gym-nn.html</link><guid isPermaLink="true">https://geektutu.com/post/tensorflow2-gym-nn.html</guid><description>TensorFlow2教程，TensorFlow2.0教程，TensorFlow 入门系列文章，第六篇，监督学习玩转 OpenAI gym game。</description><pubDate>Thu, 20 Jun 2019 16:10:20 GMT</pubDate></item><item><title>博客折腾记(二) - 对搜索引擎的理解</title><link>https://geektutu.com/post/blog-experience-2.html</link><guid isPermaLink="true">https://geektutu.com/post/blog-experience-2.html</guid><description>极客兔兔(Geektutu)的博客折腾记的第一篇，介绍博主对原创有价值的理解。</description><pubDate>Mon, 17 Jun 2019 16:10:24 GMT</pubDate></item><item><title>博客折腾记(一) - 极致性能的尝试</title><link>https://geektutu.com/post/blog-experience-1.html</link><guid isPermaLink="true">https://geektutu.com/post/blog-experience-1.html</guid><description>极客兔兔(Geektutu)的博客折腾记的第一篇，介绍了博主从Koa+React到Hexo的切换，以及为达到极致性能的一些尝试。</description><pubDate>Mon, 17 Jun 2019 12:10:00 GMT</pubDate></item><item><title>Pandas 数据处理(三) - Cheat Sheet 中文版</title><link>https://geektutu.com/post/pandas-cheat-sheet-zh-cn.html</link><guid isPermaLink="true">https://geektutu.com/post/pandas-cheat-sheet-zh-cn.html</guid><description>Pandas_Cheat_Sheet_zh_CN.pdf 中文版，Geektutu翻译</description><pubDate>Sat, 15 Jun 2019 16:10:24 GMT</pubDate></item><item><title>TensorFlow 2.0 (五) - mnist手写数字识别(CNN卷积神经网络)</title><link>https://geektutu.com/post/tensorflow2-mnist-cnn.html</link><guid isPermaLink="true">https://geektutu.com/post/tensorflow2-mnist-cnn.html</guid><description>TensorFlow2教程，TensorFlow2.0教程，TensorFlow 2.0 入门系列文章，第五篇，mnist手写数字识别(CNN卷积神经网络)。</description><pubDate>Wed, 12 Jun 2019 16:10:24 GMT</pubDate></item><item><title>TensorFlow入门(四) - mnist手写数字识别(制作h5py训练集)</title><link>https://geektutu.com/post/tensorflow-make-npy-hdf5-data-set.html</link><guid isPermaLink="true">https://geektutu.com/post/tensorflow-make-npy-hdf5-data-set.html</guid><description>TensorFlow 入门系列文章，第四篇，mnist手写数字识别(制作h5py训练集)。</description><pubDate>Mon, 02 Apr 2018 03:51:24 GMT</pubDate></item><item><title>TensorFlow入门(三) - mnist手写数字识别(可视化训练)</title><link>https://geektutu.com/post/tensorflow-mnist-tensorboard-training.html</link><guid isPermaLink="true">https://geektutu.com/post/tensorflow-mnist-tensorboard-training.html</guid><description>TensorFlow 入门系列文章，第三篇，mnist手写数字识别(可视化训练)。</description><pubDate>Thu, 29 Mar 2018 03:51:24 GMT</pubDate></item><item><title>Pandas 数据处理(二) - 筛选数据</title><link>https://geektutu.com/post/pandas-select-data.html</link><guid isPermaLink="true">https://geektutu.com/post/pandas-select-data.html</guid><description>Pandas筛选DataFrame和Series数据的一些实用技巧。</description><pubDate>Wed, 21 Mar 2018 02:51:24 GMT</pubDate></item><item><title>Pandas 数据处理(一) - DataFrame 与 Series</title><link>https://geektutu.com/post/pandas-dataframe-series.html</link><guid isPermaLink="true">https://geektutu.com/post/pandas-dataframe-series.html</guid><description>DataFrame和Series是pandas中最常见的2种数据结构。DataFrame可以理解为Excel中的一张表，Series可以理解为一张Excel表的一行或一列数据。</description><pubDate>Tue, 20 Mar 2018 02:51:24 GMT</pubDate></item><item><title>TensorFlow入门(二) - mnist手写数字识别(模型保存加载)</title><link>https://geektutu.com/post/tensorflow-mnist-save-ckpt.html</link><guid isPermaLink="true">https://geektutu.com/post/tensorflow-mnist-save-ckpt.html</guid><description>TensorFlow 入门系列文章，第二篇，mnist手写数字识别(模型保存加载)。</description><pubDate>Sun, 17 Dec 2017 03:51:24 GMT</pubDate></item><item><title>TensorFlow入门(一) - mnist手写数字识别(网络搭建)</title><link>https://geektutu.com/post/tensorflow-mnist-simplest.html</link><guid isPermaLink="true">https://geektutu.com/post/tensorflow-mnist-simplest.html</guid><description>TensorFlow 入门系列文章，第一篇，mnist手写数字识别(网络搭建)。</description><pubDate>Sat, 09 Dec 2017 03:51:24 GMT</pubDate></item></channel></rss>