LOG since 2013
全部文章
377 篇。早年写 iOS 和 Node.js,后来写 Go、分布式和团队管理,现在主要写 AI Coding 和独立开发。按 / 可以直接搜。
202623 篇
- 非 CS 出身的 Lauren Tan,是怎么一步步放手给 agent 的
- 照着铁柱的方案备份之前,先绕开我踩的三个坑
- 一天几百个 PR 有什么意义?我照着 SpaceXAI 工程师 Lauren(@poteto)的九类清单,把自己的活拆了一遍
- How to give each Grok Bot one job
- 刷不完的 AI 资讯,缺的不是更多精选【附 grok bot template】
- Muse 祛魅从我做起,你卡在哪儿?
- Grok Bot 怎么省额度?三步搞定:看清、止损、底座减脂(附可装 Sweeper / 清道夫)
- 从 Lauren 不信规划说起,我用 Grok Bot 搭 Growth Researcher 踩过的坑
- Grok Bot 强在哪,我这几周用下来的判断
- X 上最值得关注的 21 个 Grok Bot 探索者
- X 上最值得关注的 59 个 AI 领袖
- I built a login-ready mini-game with Grok Bot: Claim a face
- Grok Bot 门槛又又又降了!Grok Bot 到底可以做什么,从入门到进阶
- 听的时候全懂,一动笔全废:硅谷徐老师大师课上的 EQ × TQ × IQ
- 0% 是机会,20% 是陷阱:Jeff Dean 离职前那场 YC 访谈里,我抄走了三条判断
- 如何从自己写过的文章里提炼写作风格:我翻了 12 篇旧文,最后只有 2 篇能当骨架
- 先做一个自己每天离不开的 App:我用 Cursor 三个月上架 App Store 的三个一手观察
- 我的 App 被中国区下架后:一次 App Store ICP 备案紧急补办实录及实践指引
- 如何评审一份让听众真正有收获的分享 PPT
- Everyone can build now. Almost no one can judge.
- 从一个念头到上架 Store:我是如何做出 Lock Time 的?
- What My Most-Read Tweets Taught Me About the Twitter Algorithm
- 用 Warp AI 秒杀 Python 依赖问题:从 2 小时到 2 分钟
20256 篇
20222 篇
20217 篇
202027 篇
- 求一个中间位置的优化和改进
- 2020 GTLC 深圳站参会纪要
- 2020 CVTE TECH DAY 参会纪要(下午后端场)
- LINE Music Team 使用了那些第三方库?
- 科普:什么是鸽巢原理?
- git commit 提交历史的一些有趣统计
- go:nosplit 究竟是个啥?有啥用?
- 带着你看 Netflix F1 极速求生之兵法
- Go Release Archive Size up! up! up!
- 带着你看 Netflix F1 极速求生之救赎
- 带着你看 Netflix F1 极速求生之西班牙之王
- Go Modules 踩坑记
- 带着你看 Netflix F1 极速求生之摩拳擦掌
- 强烈推荐:Netflix 极速求生
- 体育爱好 F1 之 2020 奥地利大奖赛
- DigitalOcean 服务器迁移
- 晓年鉴 1969 ~ 2019 by 高晓松
- TiDB DevCon 2020 参会回顾笔记
- git local branch 删除后如何恢复?
- 从 go/issues/24499: image/jpeg: Decode is slow 性能问题说起
- gotip 工具介绍
- Go 语言的发布计划(周期)
- 海明威
- Stay hungry, Stay foolish!
- 科比,再见!再也不见~
- 如何在 remarkup 编辑器(Phabricator)中使得在表格中的文本可以换行?
- 2019 年个人年终总结
201932 篇
- 如何在 remarkup 编辑器(Phabricator)中显示图片?
- 如何判断一些数据是否造假呢?本福特定律
- 什么是博弈论?你对它了解多少?
- TiDB 中的全局唯一 ID
- PingCAP Talent Plan 第四期公开课笔记
- 使用 redis_exporter + Prometheus + Grafana 进行 Redis 的统计监控
- 线性代数之于我们的重要性
- TiDB-Operator 在 GKE 上的实践
- 在 minikube 上使用 TiDB Operator 构建 TiDB 集群(持续更新中)
- 矩阵?何为矩阵?
- Rust 和 Go 在图像处理上的性能之争
- 安装使用 SuperGloo
- 基于 vagrant 和 VirtualBox 在本地构建 k8s 集群和 Istio Service Mesh
- bitmoji 跟 Slack 完美结合
- 开发人员使用 iPad Pro 的最佳实践
- GoLand 如何配置快速移动光标到文件头和文件尾
- Mac 上的 git 图形工具 GitUp 以及移除已经 merge 到 master 的本地开发分支
- minikube 本地安装调试
- 为你的项目创建一个 PR 模板
- 入门 medium 技术博客
- [读论文]理解 Go 在实际使用中的 Bugs
- iterm2 命令行中怎么打开 GoLand 呢?
- 从查看 docker 服务 restart 次数说起->
- 浅析 MySQL 中字符集和校验规则
- Go 中 map 的 deep copy 和 compare
- go mod tidy 报错:verifying ...: checksum mismatch
- ModHeader in Google Chrome
- png 压缩处理介绍
- Sublime Text 3 配合 OmniMarkupPreviewer 插件使用时报错 404
- Go 中的 fmt 格式化
- Trie Tree 原理分析
- Go 语言中 `init()` 函数的初始化顺序
201888 篇
- 50+ 数据结构和算法面试题
- Redis 中的 key 和 value 大小限制以及性能分析
- Go 语言中值 receiver 和指针 receiver 的对比(收集的一些资料)
- MySQL 连接数增长的命令详解
- TiDB Hackathon 2018 之天真贝叶斯学习机
- 如何在 phabricator 中添加或更新 js 或 CSS 文件资源?
- Go test 详解
- 给 Phabricator 增加 Lets Encrypt 证书
- Go type switches 详解
- 如何在一个 Docker 容器中支持多个数据库?
- Docker 客户端(MySQL、Redis)工具
- 基于 Docker 安装 phabricator
- Go 语言的 time 包(简单)
- 推荐效率工具
- drone 的 secret 无法读取
- 在 Mac 电脑中 ssh 读取加载 config.d 目录
- 浅析 Go 中的 defer channel close 的一些情况
- 一步一步迭代实践用 gRPC 和 Kubernetes 构建一个 TTS Server
- 为什么 proto3 移除了 required 和 optional?
- VS Code 中的代码自动补全和自动导入包
- [译]使用 Horizontal Pod Autoscaler 自动缩放 Spring Boot 并在 Kubernetes 上自定义度量标准
- 浅析 gRPC 的负载均衡
- Nginx 中的 proxy_store
- Drone 源码分析之数据库初始化
- Docker 多阶段镜像构建
- Go 开发者快速学习 Rust 教程
- Go 微服务架构开发实践
- Go 语言中的 Type Assertion 与 Type Switch
- 深入理解 Go 语言中的 Interface
- 选型 gRPC 的思考 - gRPC 与 HTTP 性能测试分析
- Drone 源码分析之同步 repos 的策略研讨
- sync.Pool 源码分析及适用场景
- 基于 gogs/gitlab 和 drone 搭建的 CI/CD 平台
- [译]使用 istio 跟踪服务
- 通过 TiKV 入门 Rust
- 在 kubernetes 中运行 istio
- 利用 minikube 在 macOS 上部署一个 Go 程序
- 无比强大的 Alfred Workflow
- [译]用一行 Go 代码实现一个反向代理
- [译]如果你想成为一个有影响力的思想领袖,遵循这三条原则
- 在 AWS 中的 EC2 上通过 Ansible 安装 Docker
- 在 AWS 中构建你自己的 EC2 局域网络环境
- 【译】领导者的时间最好用在哪里?
- 深圳 ArchSummit 全球架构师峰会 day 1
- 2018迅雷全球区块链应用大赛
- 物理主机安装 CentOS 7
- 在 CentOS 7 中安装 Samba
- [转]CentOS 7 完美重置 root 密码(极简步骤)
- 在 CentOS 7 中安装禅道
- Go 程序的持续分析
- 基于 Kubernetes 搭建 MySQL 主从集群
- Linux 中 profile,bashrc,bash_profile,/etc/profile,/etc/profile.d/的区别
- kubernetes ingress 介绍
- kubernetes 部署策略
- 在 k8s 1.10.2 集群上搭建 EFK
- 使用 kubeadm 搭建 kubernetes 1.10.2 集群
- 在 k8s 集群中构建 Go 语言版本的留言板
- Go 语言中下划线的用法分析总结
- 印度尼西亚巴厘岛5日游
- Gitlab 升级
- 再见,小恩爱!
- benchstat 简单介绍
- 研发团队的工程效率实践
- 户外活动之2018年登梧桐山
- 为 Github Pages 自定义域名博客开启 HTTPS
- 不求人!一步一步教你在最新版 iTunes 12.7 上自制 iPhone 手机铃声
- 基于 Go 和 Elasticsearch 构建一个搜索服务
- 了解 Go 语言新版中的缓存处理
- 萌新如何成为 TiDB Contributor
- 萌新如何成为 TiDB Contributor
- cannot take a address of temp params
- 基于 Docker 进行 Golang 开发
- 小白是怎么对 TiDB 进行源码分析的?
- 透彻理解 git
- [译]多线程 go 向导
- [译]探讨有关 `math/rand` 的并发安全
- Golang 之 vgo
- 日志切割 logrotate 之 copytruncate
- [译]如何在 Go 中正确使用 context.Context
- Golang GC 原理分析
- Golang 调度器原理分析
- sync.Once 源码分析
- interface 与 nil 的那些坑
- 负载均衡
- Timeout while executing shell script
- TiDB 和 MySQL 的索引实践
- MySQL 的索引优化实践
- 解决Git fatal错误提示
201772 篇
- 如何在MySQL里面执行表碎片优化?
- 在MySQL PROCESSLIST中的 statistics 是什么?
- 基于 Jaeger 的全链路追踪系统构建实战指南
- Golang 如何进行 cpu 和内存开销分析?
- UDDB 入坑指南
- 如何从 Github 同步你的 fork 仓库
- 一步一步教你用 GitHub+Slack+TravisCI 构建 Go 的自动化持续集成
- 用 IFTTT 搭建属于你自己的跟踪通知系统
- Jaeger 分布式链路跟踪系统
- 基于 Docker 构建 ElasticSearch
- dep 入门指南
- 基于 Docker 构建 Wordpress
- go get 提示 io timeout 的解决之法
- Go 语言反射法则 - The Laws of Reflection
- GitChat 答疑:《BP 神经网络入门:从原理到应用》
- Go 延迟函数 defer 详解
- Golang strconv 包源码剖析
- Linux 怎么用 ps 命令对内存使用量排序?
- Golang 的十二条最佳实践
- logkit 进阶玩法之 Grok 解析 Kafka 数据流
- Pandora 高阶玩法
- Kafka 入门指南
- logkit 进阶玩法
- UDB、UDDB 以及 TokuDB 的使用分析总结
- 使用 Pandora 平台轻松玩转大数据
- TiDB 集群的入门与实战
- Gitlab 血泪迁移升级史
- MySQL 数据库索引列长度限制
- InfluxDB 入门指南
- 记使用proxy_pass时遇到的一个关于路径中传参的一个有趣问题
- 一小时入门 golang QA
- 一小时入门 golang
- 给你的Github项目增加持续集成,基于travis-ci和Coveralls
- Gitlab-ci 配置说明
- gopkg.in/redis.v3 源码分析
- skiplist-跳跃链表
- RocksDB介绍:一个比LevelDB更彪悍的引擎
- level介绍
- 认知,突破,成长
- 限流:漏桶算法和令牌桶算法
- 持续学习
- 睡眠质量
- 思考
- 30天习惯养成计划总结
- 30天习惯养成计划第21天
- 30天习惯养成计划第20天
- 旅行游记
- Linux Shell 算术运算 bc
- 你不知道的哪些缩写
- 30天习惯养成计划第19天
- 30天习惯养成计划第18天
- 30天习惯养成计划第17天
- 习惯养成记之12-阅读
- 习惯养成记之11-编程之法
- 搭建 etcd 集群
- goconvey 入门实战
- 习惯养成记之11-半程总结
- 习惯养成记之10-图解spark mllib
- 习惯养成记之09-图解spark
- 习惯养成记之08-图解spark
- 习惯养成记之07-图解spark之存储原理
- 九峰桃花季·乐昌九峰开心游
- 如何成为开源项目的Contributor
- 习惯养成记之06
- 习惯养成记之05
- 习惯养成记之04
- 习惯养成记之03
- 习惯养成记之02
- 习惯养成记之01
- 习惯养成记之番外篇--如何做得更好
- 习惯养成记-序
- 收获习惯
201655 篇
- 保持成长
- I am back!你在哪里?
- MySQL 怎么写定时存储过程
- 九寨沟黄龙四日游
- 乐观锁
- 版本浅析
- 深圳梧桐山“老虎涧”溯溪登山户外游
- golang net/http close
- git reset, revert, checkout介绍及区别
- 再见科比,再见青春
- Golang之Schedule
- 什么是MapReduce
- Int32的范围
- 我的文章也可以收费了
- 不合理使用SQL语句带来的坑
- 一分经营一分收获
- incorrect frame size
- biangbiang面
- 解决苹果设备的拼写自动检查功能
- 资深架构师告诉你该怎么学习和怎么判断
- 你的时间都去哪儿了?
- 任务调度浅析
- 浮点精度问题终极解决方案
- Golang sqlx
- Golang Reflect分析
- 中文博大精深
- URL编码简析
- Can I add empty directories?
- Golang redis.v3 源代码再分析
- Golang redis.v3源代码分析
- 年会|回南天
- 时间管理系列之二
- 当你遭遇地铁换乘,你会想到什么?
- 被加入运营商黑名单怎么办?
- 深圳下雪啦!!!
- 飞行
- 时间管理系列之一
- go-sql-driver null问题
- 育儿经:新手爸妈的福音育儿经
- 梦想,驱动力(学习活动感悟)
- 安全
- mud游戏
- time
- 万恶的某度
- 万恶的运营商
- 深圳的变脸
- ASCII艺术
- Golang Unicode字符串转义神坑
- 推荐的podcast
- Golang开发之类型转换
- Chrome插件之标签管理
- 数据爬取基础
- 在 Mac 下高效办公
- 深圳前海蛇口自由贸易区
- 代码规范之esformatter
20159 篇
201414 篇
201342 篇
- 我踏上了新路
- 如何在mac上安装cocos2d-x-2.2
- [译]特殊的Xamarin Libgdx 0.9.9预发布版本
- [译]Libgdx和子弹物理RoboVM iOS上通过
- [译]Xamarin的问题和构建变更
- [译]欢迎你的新领地:Gradle
- [译]第一个基于RoboVM/Libgdx应用上架AppStore
- 祝大家中秋节快乐
- [译]是否有快速强制Crash的方法?
- [译]更多RoboVM后台更新
- [译]RoboVM后台更新
- [译]我如何通过GitHub的API在短短的几分钟内发送30万邮件
- [译]Box2D API的改变
- [译]重大的libgdx问题跟踪和Wiki Github迁移
- [译]Nextpeer拥抱GDX,GDX后面拥抱Nextpeer
- Couldnt load shared library
- [译]RoboVM后台在libgdx nighties里的第一次演示
- [译]Libgdx在iOS平台的新特性
- 仿pinterest瀑布流KISSY的Waterfall浏览器兼容问题
- 兼容android2.1以上flash视频播放的完美解决方案
- IE下JS错误“尚未实现”
- 我的博客域名历程
- 个人开发项目
- 第三方登录使用过程中的总结
- 图片查看、gif播放、swf视频播放的开发总结
- 【转】App Store审核宝典
- sina weibo api使用步骤(Java版)
- 【千锋】iOS开发视频教程学习(1-17集)
- SQL四种语言:DDL,DML,DCL,TCL
- 【转】苹果文档导读
- 饭特稀体育产品思考
- 【转】博客工具
- 【转】苹果如何查询文档
- 【转】苹果 Xcode 文档阅读指南
- iOS 开发那些事
- 【转】NodeJS工具搭建博客
- Makrdown(客户端工具)分享
- iOS 单元测试 OCUnit 使用帮助
- Objective-C单例
- iOS 开发工具帮助
- 学习 NodeJS 之旅
- Hello World