Generated · Geek Style
不装 Android Studio,手工打出可安装的安卓 APK(从0到1)
一台只有 Java 8 的 Windows,没有 Android Studio、没有 Gradle,也能做出可直接安装的安卓 APK。本文拆解手工打包链路(aapt2 + d8 + apksigner),并复用它做了一个「本地 Markdown 一键发博客」的安卓工具。
手工打包安卓APK踩坑笔记
本机只有 Java 8、没有 Android Studio/Gradle,手工用 aapt2+d8+apksigner 打出可安装安卓 APK 的全流程与 9 个坑。
从单机到集群:分布式爬虫后端架构设计指南
设计一套完整的分布式爬虫系统——任务队列派发、VPS 集群执行、Kafka 数据总线分发、多数据库(MySQL/MongoDB/ES/Doris/Redis)各司其职,包含故障处理和容错设计。
Scrapy 架构深度解析:每个文件在框架中扮演什么角色
以 PDF 批量下载项目为实例,逐文件拆解 Scrapy 项目结构(settings.py、spider、middlewares、pipelines、items),解释引擎-调度器-下载器-爬虫-管道五层架构的协作原理。
用 Scrapy 批量下载网站 PDF:从 14 个索引页到 3176 份文件
从多个 HTML 索引页面出发,递归爬取目标域名下的所有 PDF 文件,最终下载 3176 个 PDF(1.8GB)。详解 Scrapy 爬虫设计思路、Content-Type 过滤、非 HTML 扩展名跳过、JOBDIR 持久化等实战技巧。
从零构建 Google Trends 爬虫 API:单文件架构的工程实践
详解一个基于 Flask + Playwright 的 Google Trends 热搜数据采集服务,涵盖双解析策略降级、指数退避重试、Pending 离线缓存、假成功防御等生产级工程实践。
全异步 Yahoo 热门新闻爬虫:模块化架构与三路数据输出实践
详解一个基于 Python asyncio + Playwright + Kafka 的 Yahoo Trending 新闻爬虫,涵盖双引擎降级策略、7种选择器链、asyncio 与同步 requests 混用方案,以及本地 JSON、Kafka、ODS 三路并行数据输出设计。
Go 错误处理的 8 个反模式(学习整理)
整理自 Go语言中文网 polarisxu 的文章。盘点 Go 里 8 个"看起来在处理、其实在埋雷"的错误处理写法,并给出正确姿势。