计算器

计算器(calculator)几乎是每台操作系统都会预装的工具。看似简单,背后却涉及一套成熟的表达式求值算法,而具体形态又从命令行、桌面到 Web 各有取舍。日常开发中,能熟练用一行命令算清一个表达式、做一次单位换算或进制转换,往往比反复切到鼠标点击 GUI 更高效。本文先聊一聊命令行里最常驻的 bc,再扩展到全平台的开源桌面/Web 计算器,以及支撑它们的表达式求值原理。

解决 Linux 终端中光标消失的问题

在使用 Linux 终端(Terminal)时,偶尔会遇到一个让人困惑的现象:输入命令时光标(那个用来标识插入位置的小方块或竖线)突然不见了,但键入的字符仍然能正常显示。这种情况几乎都不是系统故障,而是某个程序退出时没有正确恢复终端状态所导致。本文梳理其成因与多种修复手段。

可视化

软件开发与计算机科学教学中,「可视化」是把抽象逻辑转化为可感知图形的有效手段。按照用途,可视化工具大致可分为三类:算法可视化(帮助理解数据结构与算法的执行过程)、调试可视化(帮助分析程序运行状态与调用关系)、数据可视化(用于绘制业务数据、网络拓扑等)。本文按这三类梳理常用工具。

客服系统

客服系统(Customer Service System)是企业用于接待访客、处理咨询、管理工单与维护客户关系的软件平台。早期它仅指嵌在网页右下角的「在线聊天小窗」,随着业务复杂度上升,逐步演变为涵盖网页、App、微信公众号/小程序、企业微信、QQ、邮件、电话语音等通路的「全渠道(Omnichannel)联络中心」。

跨域资源共享 CORS 详解

CORS(Cross-Origin Resource Sharing,跨域资源共享)是一个基于 HTTP 头的安全机制,允许服务器声明浏览器可以从哪些源(origin) 加载自己提供的资源。源由 协议(scheme)、域名(host)和端口(port) 三者共同决定,任一不同即视为跨域。

模板编程语言 Liquid

Liquid 是一门开源的模板语言(template language),由 Shopify 创造并用 Ruby 实现。它是 Shopify 主题(theme)的骨骼,负责把店铺后台的动态内容渲染成浏览器看到的 HTML。自 2006 年起,Liquid 就在 Shopify 的生产环境中使用,如今已被大量 Web 应用所采纳,其中最知名的莫过于 GitHub Pages 默认的静态站点生成器 Jekyll。

内存优化综述

任何一个复杂系统的内存分配与释放策略,其最优解几乎都不是依赖某一种「通用」的分配器,而是按照对象的特性进行分类管理:把不同生命期、不同大小、不同访问模式的对象,交给与之匹配的专用机制来处理。这种「分而治之」的思路贯穿了从内核到应用层的所有高性能内存子系统。