Swift 快速入门 (上)

本文介绍 Swift 语言的基础内容, 面向已经熟练掌握某项开发语言的开发者, 因此内容力求简洁. "Swift 快速入门" 上篇包括常用的数据类型、控制语句、函数, 以及 Swift 特有的闭包语法. 下篇将介绍 Swift 的结构体、类与继承以及协议等内容.

堆(优先队列)的实现原理

堆(优先队列)是数据结构与算法中非常经典的结构,被广泛应用到计算机科学当中. 例如在堆排和优先级调度中堆便是核心的数据结构. 本文介绍堆的基本实现原理,力求清晰易懂.

Vue3 响应式(4)-Wacth 的实现原理

前几篇文章已经构建了较为完善的响应式系统,并且实现了计算属性 computed 以及调度器、懒执行等特性。这一篇文章就来实现另外一个重要的功能—— watch 监听。

Vue3 响应式(3)-计算属性 computed

上文Vue3 响应式(2)-分支切换、嵌套、和无限递归解决了原有响应式系统的一些问题,实现了较为完善的数据绑定。本文在此基础上实现简单的计算属性功能 computed

Vue3 响应式(2)-分支切换、嵌套、和无限递归

上文Vue3 响应式(1)-基础原理介绍了响应式系统的基本原理并利用 Proxy 进行了简单的实现,能够应对简单的响应式场景。但该系统仍然面临着一些问题,比如当副作用函数中既包含对响应式对象的读取操作也包含设置操作时会使系统进入无限递归的死循环、当代码分支切换时冗余的关联没有被及时清理等问题。本文就来一一介绍这些问题以及解决方法。

Vue3 响应式(1)-基础原理

Vue 之所以能够实现声明式的 UI,是因为 Vue 通过响应式将数据和 UI 进行了绑定,当数据发生变化时 Vue 会自动调用相应的函数来重新渲染受到影响的 UI。本系列文章就来简单分析下 Vue 响应式系统的实现。本文先从响应式的基础原理开始,实现一个简单的响应式系统。

Vue3+Typescript 开发一个图片拼接 PWA

一个简单的长图拼接工具,主要应用了 Vue3 技术栈和 HTML5 的 Canvas 技术。最后包装成 PWA,可以从手机桌面直接访问。本文做一个项目回顾和总结,源码和地址附下:

线上地址: picStitch
源码: hooozen/picStitch

Web性能优化——网络篇

Web 性能优化是一个复杂的问题,往往涉及从需求到维护的软件工程的各个方面。并且根据具体业务的不同也会采取不尽相同的针对性措施。本文主要针对 Web 网络性能,从问题产生的原因以及对应的一些优化措施,对 Web 的性能优化做一些简单的总结和思考。

Hexo 的多主题自动化部署

“对项目进行配置化改造可以提高开发效率,让开发者将精力集中在业务开发中,减少琐碎重复工作对心情的影响。更重要的是,配置化可以减少因人工操作带来的失误,并且利于排查问题。”

记住两个函数轻松处理 Go 语言 OJ 输入

处理操作系统的标准输入输出在 Web 项目开发中并不常用,像 LeetCode 一些现代刷题平台也取消了输入输出的处理,让用户专注于算法的实现。但对于传统的 OJ 平台和算法竞赛,往往需要用户从标准输入中读取指定格式的数据,然后使用标准输出返回答案。如果平时没有经验的话,在比赛或笔试时可能会浪费不必要的时间。本文主要介绍 Go 语言的 fmt.ScanScanner.Scan 函数来应对常见的 OJ 输入。