Express.js 入门构建 MVC 示例
Express 提供便捷优雅的API 让我们接收请求经过处理后回应,但会发现随着规模庞大起来路径、商业逻辑、资料……等代码都塞在一个 app.js 实在不是一个好做法,于是这篇文章介绍使用MVC 架构替代码进行用途上的切割,以方便维护。
Express 提供便捷优雅的API 让我们接收请求经过处理后回应,但会发现随着规模庞大起来路径、商业逻辑、资料……等代码都塞在一个 app.js 实在不是一个好做法,于是这篇文章介绍使用MVC 架构替代码进行用途上的切割,以方便维护。
近期正在学习后端相关领域,与前端最贴近的框架绝对就是 Express.js 了,很适合目标为全端的工程师。这次实作并不会牵扯到数据库相关的部分,侷限在使用 Express.js 打造一个简单的 in-memory 待办事项后端服务器。
TypeScript 存在一些不太直觉但背后却有合理因素的问题要留意,像是无论传入任何对象进 `Object.keys` 都仍会返回 `string[]` 型别是其中之一,本文探讨背后因素与提供不同方向的解套方法供不同情境使用。
「如何编写 GitHub 个人档案」这个问题其实就像是「开发者怎么制作自己的名片」,毕竟对你感兴趣的人来说 GitHub 个人档案就是第一印象,所以可以斟酌放些「你热爱参与的专案或展示专业」基本不会错。像我有热情持续经营展现技术博客那就放上最大篇幅去介绍,把作品、博客或履历放上。
之前碰到一道有趣的前端 UI 题,发现需要对于前端有较为全面的认知才有办法解出来,并且也可以针对感兴趣的领域延伸提出更更多问题,于是特地纪录一下我的思考解题过程。身为一名前端工程师,你会怎么实作上图的电影院座位选位系统?
实际网页很少遇到特殊的视觉会需要动用到 CSS Grid 的情况,而我近期在制作一些比较特殊视觉的网页布局,事后感觉特别适合作为一个 CSS Grid 的启发教材,于是写下了本篇文章帮助透过真实世界案例更深刻了解 CSS Grid。
CORS (Cross-Origin Resource Sharing) 跨来源资源共享,是一个机制用来决定网页是否能够存取其他来源的资源,能有效防止不同来源之间的不正当资源存取。透过 CORS,可以在保护用户资料的同时,允许合法的跨来源请求。
这次我透过一步一步拆解解题路径来描述如何解题。从基本解到分离资料与逻辑、保持 immutable 以及边缘案例还有文件编写都有涵盖。打印出 1 到 100 的数字、假如数字是 3 的倍数,则打印 Fizz、假如数字是 5 的倍数,则打印 Buzz、假如数字是 3 和 5 的公倍数,则打印 FizzBuzz。
无论如何都不轻易相信用户请求即能最大程度防范 CSRF。最近在碰一些资安的东东,发现自己对于这一块知识都比较薄弱,身为前端工程师资安通常并不是首要关注的职责,但一但有漏洞保证后果不堪设想,于是近期来补足一下这方面的知识。
总结是无论如何都不轻易相信用户输入即能最大程度防范 XSS。最近在碰一些资安的东东,发现自己对这一块知识都比较薄弱,身为前端工程师资安通常并不是首要关注的职责,但一旦有漏洞保证后果不堪设想,于是近期来补足一下这方面的知识。现代齐全的工具与文件帮助下意外执行用户提供的恶意脚本的概率已经大幅降低。
我之所以调查这个主题,是因为目前所在的团队大量使用这种模式,但 Vite 在开发中不进行 Tree Shake,导致每次开发环境都有大量无用代码被打包,严重影响开发体验。因此研究一下这种方法的理念与优缺点以架构更好的项目。
前面写了一篇文章关于 ES6 JavaScript 当中的内建数据结构: Map,这次来谈谈 WeakMap,它又与 Map 有什么不同呢?会发现 WeakMap 相较 `Map` 少了非常多可用的方法,这是因为它们的根本处理数据的方式不同,Map 是强引用,而 WeakMap 是弱引用。
从很早以前就大致知道浏览器开始推出 Web Components 相关 API 与标准,但一直没有机会在实战中使用这项技术。想撰写这篇文章记录是因为随着时间推移发现 Web Components 的应用范围越来越广,因此趁着有空也来了解一下相关知识,并且分析它与现有的解决方案有什么不同。
近期我对自己看待撰写程式这件事有更高的期许,除了最基本的效能、阅读性、扩充性……之外还有一个非常重要的领域就是:测试。不过程式好端端的能动就代表测试没有必要了吗?在我刚工作时实际上做了一段时间的自动化 QA 工程一段时间,不过那时候的我其实也并不明白写测试的原因,就是有程式就拿来自动化测试,并没有想太多。