1. 通过 Chrome DevTools Protocol 协议控制浏览器

    之前写过Selenium是怎么指挥浏览器运行的,其中提到过通过CDP(Chrome DevTools Protocol)协议可以直接绕过浏览器驱动来控制浏览器。CDP本质上就是通过WebSocket协议传输JSON格式的命令。

    2025/04/23 计算机网络

  2. Selenium 是怎么指挥浏览器运行的

    写过爬虫或者做自动化测试的相信对Selenium不会陌生,但Selenium 官方只提供少数几种语言的库,使用其它“小众”语言的只能眼馋。既然如此,那就自己琢磨一下能不能搞个类似的吧,毕竟大家都是图灵完备的语言,除了少数一些领域实在没办法或者几乎不可能做到之外,其它的都大差不差。

    2025/04/18 计算机网络

  3. 使用 frp 将本地 web 服务暴露到公网

    使用 frp 的前提条件是有公网IP的服务器,毕竟标题所讲的就是内网穿透。内网穿透,要么买服务,要么就自己搭,frp就是一款高性能的反向代理应用,专注于内网穿透,主打一个免安装,Go语言写的嘛,交叉静态编译就是香。

    2025/04/08 计算机网络

  4. 使用 debian 12 定制自己的操作系统镜像

    2025/03/05 操作系统

  5. 从一个小型编译器一窥编译原理的本质

    编译器可以粗略地分为几个简单的部分:词法分析器、语法分析器、代码生成器。其中语义分析器、代码优化器这些不影响本文示例功能。另外,本文的编译器生成的是字节码,因此还需要一个虚拟机来执行。

    2025/02/27 编译原理