本文讨论了移动端Web开发中的抓包工具的使用。与普通的响应式页面相比,移动端页面的运行环境受到系统和App的影响,需要单独适配。在真机环境下进行测试时,无法控制内置浏览器的URL,因此可以通过抓包工具进行调试。抓包工具拦截和转发网络请求包,可以实现在真机环境中访问开发页面的目的。常见的抓包工具包括whistle、Fiddler和Charles。本文还介绍了抓包工具的代理功能和反向代理的原理。在手机端安装Bifrost后,可以通过扫码连接电脑端,随后可以收到手机端的请求包信息。手机端还可以设置应用白名单,避免全局代理产生问题。
Docker 里的 shebang 踩坑记
CRLF 中的 \r 会破坏 shebang,导致无法正常找到解释器,就这个小 bug 我找了一天才修好。
初探 Docker - 原理和实践
Docker是一种Go语言编写的容器化隔离的实现,帮助我们快速地将应用打包成容器进行发布和部署,也可以方便地运行他人编写的应用。
一般来说Docker是运行在Unix系统环境上的,本文也是基于Linux环境的。
WebSocket 应用研究
WebSocket 是基于 TCP 的一种新的应用层网络协议。它实现了浏览器与服务器全双工通信,即允许服务器主动发送信息给客户端。因此,在 WebSocket 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输,客户端和服务器之间的数据交换变得更加简单。
Python 编程环境重新构建
在新机器和旧机器上重新配置统一的Python环境和管理方案,使用一个全局最新版Python + Conda管理项目中不同版本Python虚拟环境的方案,同时优化终端速度和体验。
前端工具链之包管理器 - pnpm
pnpm(performant npm)是一个主打快速和省空间的包管理器。它使用改进的非扁平node_modules目录和硬链接和符号链接优化依赖管理过程,个人体验下来比起yarn-v2的PnP机制会遇到的兼容性问题更少,是我现阶段最喜欢的包管理器。
前端工具链之包管理器 - yarn-berry与PnP
这篇文章简要叙述了yarn的版本变更历史,重点阐述了yarn2的PnP机制的设计思路和实际应用,并提出了一些解决相关兼容性问题的方法,方便老项目逐步升级到新版本yarn。
前端工具链之包管理器 - 过去与未来的npm
本篇文章是前端工具链系列文章的开篇之作,本来是打算写一篇很长很长的文章,来详尽阐述2023年的前端工具链的全貌的。但奈何篇幅实在太长,不便发布和阅读,而且有些部分完成度已经较高,但由于其他部分的完成度几乎为0导致这些内容不能发布出来
(可以预见的由于工作原因另一部分可能拖更较久)。最终选择了分段分章节的形式,将每个部分单独提出来说,最终在一个目录中汇总,这样阅读体验更好,每个部分也能说得更详细一点。
本篇主要讲述npm的发展历史(历史渊源和各个版本的改动),组织node_modules方式的变动以及
package.json
的详细介绍(并发布一个自己的npm包);除此之外,还会介绍node官方提出的现代包管理器愿景,并介绍corepack工具(包管理器的管理器)。深入理解 React Hooks
2019年2月,React 16.8更新了一大波重磅内容,其中就包括函数式组件(function component)和Hooks,这一象征着React未来方向的技术。没想到已经四年多过去了,我仍对Hooks的理解处于一个皮毛状态,今天我就来深入研究一下React Hooks,探索Hook机制在前端声明式渲染框架中的具体应用。
本文将从为什么要从类组件转向函数式组件和Hooks谈起,理解Hooks的设计原则和目的;再简单谈谈Hook的原理和实现机制来理解Hooks的规则;最后将实现几个自定义Hook加深对Hooks的理解。
HTML 表单(form)相关知识
自己也做了一段时间前端了,最近做项目的时候才发现自己对表单(form)元素一无所知,当年写登录框都是两个
<input>
直接拼在一起的(笑)。今天就专门来学习一下表单相关的知识。本篇将从最基础的表单知识(如定义和概念)等入手
(毕竟之前也没系统了解过),再理解表单的本质:我们为什么需要表单、如何设计表单、与POST之间的联系等,最后再了解antd中的表单元素<a-form>
的使用与实践。