需求背景 针对本博客现有的 Gatsby 框架实现代码复制、代码实时查看编辑的功能 技术选型 以下都是采用最后一种方案,由于插件功能不满足,所以对其源码做出改动 代码复制 技术选型 语法 优点 缺点 项目代码自实现 未实现 定制化程度高 实现难度大; 拓展较差 gatsby-remark-code-buttons 不需特定语法,只要是代码块默认具有复制功能 已具有代码复制功能 有多复制一行的 bug; UI 不符合博客主题 代码实时查看编辑 技术选型 语法 优点 缺点 样例页面 iframe… »
入门 Hello, World 我们以现已成为传统的 案例来开始吧 Go 是一门编译型语言,Go 语言的工具链将源代码及其依赖转换成计算机的机器指令(译注:静态编译)。Go 语言提供的工具都通过一个单独的命令 go 调用,go 命令有一系列子命令。最简单的一个子命令就是 run。这个命令编译一个或多个以 .go 结尾的源文件,链接库文件,并运行最终生成的可执行文件(本书使用 表示命令行提示符。) 毫无意外,这个命令会输出: Go 语言原生支持 Unicode… »
高并发架构 消息队列 为什么使用消息队列? 优点 解耦:通过一个 MQ,Pub/Sub 发布订阅消息这么一个模型,A 系统就跟其它系统彻底解耦了。 异步:任务发到消息队列,由消费者异步消费 削峰:任务发到消息队列,由消费者决定消费速度 缺点 系统可用性降低:MQ 挂了如何处理?即如何保证消息队列的高可用? 系统复杂度提高:怎么保证消息没有重复消费?怎么处理消息丢失的情况?怎么保证消息传递的顺序性? 一致性问题:A 系统处理完直接返回成功,发到消息队列后供 B、C、D 消费,如果 B、D 成功、C… »
培养 Pythonic 思维 第 1 条:查询自己使用的 Python 版本 Python 2 于 2020 年 1 月 1 日退场,到这一刻,所有的 bug 修复、安全补丁,以及特性向后移植都会停止。此后,如果你还坚持使用 Python 2,那么会面临很多不利因素,因为它不会再获得正式的维护了。深度依赖 Python 2 代码库的开发者可以考虑用 2to3(Python 预装的工具)与 six 这样的工具过渡到 Python 3。 第 2 条:遵循 PEP… »
测试一 画 3 个带有反光的立方体 测试二 对 3 个带有反光的立方体做响应式处理,要求满足下面条件 窗口任意大小立方体不会被拉伸 不能出现明显的锯齿(块状化) 支持高分屏 测试三 绘制常见的图元 测试四 太阳,地球,月球模拟 测试五 实现坦克多视角切换 测试六 实现常见的不同材质 测试七 多个纹理加载 测试八 实现过滤和 mipmaps… »