2020

Learning Golang: Hello World!

通过一个例子,快速了解其内置包依赖管理工具、测试工具、显示的异常处理方式等知识。

开源架构解析|视频会议系统 Jitsi Meet

最近 COVID-19 肆虐,视频会议系统受到关注。 本文对近期项目中采用的一款开源系统的架构进行简要分析。 Jitsi Meet 是开源的视频会议系统,基于 WebRTC、React、XMPP 等成熟的开源技术。 它能够独立部署,也可以方便整合到业务系统中。

善用 Bash 大括号展开

Bash 展开 有很多种,常用的 大括号展开 可改善脚本的结构和效率。

Lighthouse 更新网页性能评分算法

刚刚发布的 Lighthouse 6 中,网站性能评分的算法发生了显著变化。 这一变化对搜索引擎优化(SEO)将产生重大影响。

2019

2019 桌面软件开发指北(四) Electron 与 Vue.js

利用流行的前端开发框架来开发桌面应用。

2019 桌面软件开发指北(三) Electron 项目管理

得益于 Node.js 强大的生态圈,开发 Electron 软件时可以利用丰富的第三方软件包来辅助开发流程。

2019 桌面软件开发指北(二) Electron 快速上手

作为快速桌面应用开发的首选,小巧、灵活是 Electron 的核心理念。 实现一个 Hello World 应用仅需编写很少量的代码。

2019 桌面软件开发指北(一) 关于 Electron

大概十年前 Palm webOS 发布的时候,有一种看法认为未来的移动端软件和桌面软件将被 Web 取代。 彼时 Chromium 未满周岁,Node.js 在娘胎里即将出世。 十年间,前者借 Google 之力一统浏览器江山,后者则颠覆了所有前端开发的工程实践。 这两者的结合则是一个划时代的跨平台的桌面软件开发新方式 - Electron。 十年预言成为现实。

2018

2018 剧终以及 2019 新年快乐

从宏观上讲,2018 年是艰难的一年。 从个体角度来看,哪一年不是艰难的呢? So,不要抱怨,保持平常心和好奇心。

Jekyll 模版空白控制

GitHub Pages 使用 Jekyll 时,如果模版逻辑比较多,经常会产生大段的空格和连续的空行。 Liquid 支持空白控制来清除标签两侧的空格。

Live Streaming Technic Comparison

This tech comparison will guide you to the best choice between live-streaming solutions: HLS, DASH, RTMP, RTP/RTSP and WebRTC.

使用 z

z 是一款 shell 辅助工具,方便在常用目录间跳转的操作。

2017

使用 Varnish 实现流媒体直播加速

使用 Varnish 实现 HTTP Live Streaming (HLS) 协议流媒体访问加速。 根据最近做的一个小项目的笔记整理。

新手学绘画 | 快速入门指南

让你立即上手的六组绘画练习!

火狐的超快速 CSS 引擎:Quantum CSS

Quantum 项目是 Firefox 内部组件的重大改写,目标是让 Firefox 更快。  开发者对测试版浏览器 Servo 做组件替换,同时对引擎的其它部分进行改进。  Servo 的第一个主要组件——Quantum CSS 引擎——已经在每日构建版本中测试。 它吸收了四种主流浏览器的最先进创新技术,创造了新的超级引擎。

JavaScript 内存管理和垃圾回收

如何更有效地防止内存泄漏,并使用内存管理和垃圾回收来处理数据。

《Docker 最佳实践》导图

送上最新原创一张适合放在案头查阅的《Docker 最佳实践》导图。 附可以直接下载打印的 PDF 版本。

博客升级了 Bootstrap 4 Beta

耗时两年,Bootstrap 4 终于发布 beta 版本了,也意味着功能基本稳定。 经历 6 次 alpha,增加 6.7 万行代码,也删除了 8 万行代码。整体来说是精简了。 明显感觉更清爽了——无论是配色、布局,还是代码风格。

基础镜像 | 再谈 Docker 瘦身

镜像是 Docker 运维的基本单元。 优化镜像体积,能够: 缩短部署时的下载时间; 提升安全性,因为可供攻击的目标更少; 减少故障恢复时间; 节省存储开销。 正确认识分层和共享 认清与理解 Docker 镜像的层次结构,是进行镜像优化的前提和基础。

多步构建 | Docker 瘦身之旅

软件生命周期管理中,CI/CD 体系引入 Docker 以提升开发效率形成共识; 然而 Docker 构建出的镜像体积太大,成为令人头疼的问题。 解决思路,除了选择较小的基础镜像(base image),在构建过程对新增内容进行选择,也是控制镜像体积的有效途径。 Docker 17.05 引入 多步构建,特别有助于高效构建精简镜像。