重叠的抽象几何线条符号

Express.js 入门构建 MVC 示例

Express 提供便捷优雅的API 让我们接收请求经过处理后回应,但会发现随着规模庞大起来路径、商业逻辑、资料……等代码都塞在一个 app.js 实在不是一个好做法,于是这篇文章介绍使用MVC 架构替代码进行用途上的切割,以方便维护。

GitHub Logo 符号

如何编写 GitHub 个人档案

「如何编写 GitHub 个人档案」这个问题其实就像是「开发者怎么制作自己的名片」,毕竟对你感兴趣的人来说 GitHub 个人档案就是第一印象,所以可以斟酌放些「你热爱参与的专案或展示专业」基本不会错。像我有热情持续经营展现技术博客那就放上最大篇幅去介绍,把作品、博客或履历放上。

一个人坐在座位上符号

CSS Grid 与表单实现电影院座位选位系统

之前碰到一道有趣的前端 UI 题,发现需要对于前端有较为全面的认知才有办法解出来,并且也可以针对感兴趣的领域延伸提出更更多问题,于是特地纪录一下我的思考解题过程。身为一名前端工程师,你会怎么实作上图的电影院座位选位系统?

网格符号

CSS Grid 真实案例:凸出的侧栏

实际网页很少遇到特殊的视觉会需要动用到 CSS Grid 的情况,而我近期在制作一些比较特殊视觉的网页布局,事后感觉特别适合作为一个 CSS Grid 的启发教材,于是写下了本篇文章帮助透过真实世界案例更深刻了解 CSS Grid。

盾牌符号

写给网页开发者的 CORS 理解

CORS (Cross-Origin Resource Sharing) 跨来源资源共享,是一个机制用来决定网页是否能够存取其他来源的资源,能有效防止不同来源之间的不正当资源存取。透过 CORS,可以在保护用户资料的同时,允许合法的跨来源请求。

程式文件符號

解决 FizzBuzz 的详细思路

这次我透过一步一步拆解解题路径来描述如何解题。从基本解到分离资料与逻辑、保持 immutable 以及边缘案例还有文件编写都有涵盖。打印出 1 到 100 的数字、假如数字是 3 的倍数,则打印 Fizz、假如数字是 5 的倍数,则打印 Buzz、假如数字是 3 和 5 的公倍数,则打印 FizzBuzz。

盾牌符号

写给网页开发者的 CSRF 理解与防范

无论如何都不轻易相信用户请求即能最大程度防范 CSRF。最近在碰一些资安的东东,发现自己对于这一块知识都比较薄弱,身为前端工程师资安通常并不是首要关注的职责,但一但有漏洞保证后果不堪设想,于是近期来补足一下这方面的知识。

盾牌符号

写给网页开发者的 XSS 理解与防范

总结是无论如何都不轻易相信用户输入即能最大程度防范 XSS。最近在碰一些资安的东东,发现自己对这一块知识都比较薄弱,身为前端工程师资安通常并不是首要关注的职责,但一旦有漏洞保证后果不堪设想,于是近期来补足一下这方面的知识。现代齐全的工具与文件帮助下意外执行用户提供的恶意脚本的概率已经大幅降低。

工具箱符號

如何管理工具函数

近期维护项目时发现有许多通用的函数散乱的分布在项目当中,于是趁有空时整理出一个统一的结构规则以便团队使用。很多时候我们对这些通用工具函数的印象只停留在要抽离到某个文件夹,至于要怎么管理或是维护这些函数就没有太多想法,导致许多乱象产生,像是:过度抽象、意义不明的命名、神级函数。

桶子符号

什么是桶文件(Barrel File)模式?

我之所以调查这个主题,是因为目前所在的团队大量使用这种模式,但 Vite 在开发中不进行 Tree Shake,导致每次开发环境都有大量无用代码被打包,严重影响开发体验。因此研究一下这种方法的理念与优缺点以架构更好的项目。

箱子符号

了解网页组件化的未来:Web Components

从很早以前就大致知道浏览器开始推出 Web Components 相关 API 与标准,但一直没有机会在实战中使用这项技术。想撰写这篇文章记录是因为随着时间推移发现 Web Components 的应用范围越来越广,因此趁着有空也来了解一下相关知识,并且分析它与现有的解决方案有什么不同。

温度计符号

为什么要替软件进行测试?

近期我对自己看待撰写程式这件事有更高的期许,除了最基本的效能、阅读性、扩充性……之外还有一个非常重要的领域就是:测试。不过程式好端端的能动就代表测试没有必要了吗?在我刚工作时实际上做了一段时间的自动化 QA 工程一段时间,不过那时候的我其实也并不明白写测试的原因,就是有程式就拿来自动化测试,并没有想太多。