博客文章

  • 网站屏蔽国内IP访问的方法

    使用 Nginx + MaxMind + GeoIP 方案

  • Windows端口转发

    背景

  • 操作Aurora VPN客户端的Python包

    背景

  • 记一个weditor在windows上的安装错误

    weditor是用于Android元素定位的Python软件包。

  • Python协程笔记

    参考

    笔记

    • Python的协程是通过Generator实现的,协程是遵循某些规则的生成器;
    • 运行一个协程,asyncio 提供三种机制:
      • asyncio.run()
      • await 等待一个协程
      • asyncio.create_task() 函数用来并发运行作为 asyncio任务的多个协程
    • 一个对象如果可以使用await语句,它就是一个可等待对象
    • 可等待对象有三种类型
      • 协程
      • 任务
        • 任务被用来并行的调度协程
        • 当一个协程通过 asyncio.create_task() 等函数被封装为一个任务,该协程会被自动调度执行
      • Future
        • Future是一种特殊的低层级可等待对象,表示一个异步操作的最终结果。
    • 休眠 coroutine asyncio.sleep(delay, result=None)
      • 如果指定了result,则当协程完成时将其返回给调用者
    • 并发运行任务 awaitable asyncio.gather(*aws, return_exceptions=False)
      • 并发 运行aws序列中的可等待对象。
      • 如果aws中某个可等待对象是协程,会自动作为一个任务调度
    • asyncio.gatherasyncio.wait 区别
      • asyncio.gather 返回一个list, 结果和输入协程的顺序一致
      • asyncio.wait 返回两个值,第一项表示完成的任务列表 (done),第二项表示等待 (Future) 完成的任务列表 (pending)
      • asyncio.wait 支持一个接收参数return_when,在默认情况下,asyncio.wait会等待全部任务完成 (return_when=’ALL_COMPLETED’),它还支持 FIRST_COMPLETED(第一个协程完成就返回)和 FIRST_EXCEPTION(出现第一个异常就返回)
    • asyncio.create_task 就是用的 loop.create_task

  • 安装Arch Linux

    概念

  • 使用clip.exe将wsl的输出重定向到Windows剪贴板

    Windows 有个 clip 命令,可以把命令行的输出重定向到 Windows 剪贴板。

  • Windows安装和设置Python开发环境

    安装Python

  • 用命令行安装Windows11系统

    说明

  • 推荐windows系统使用winget.run

    winget.run

  • 硬改了樱桃ML4100 CYA键位

    缺少键帽太丑了,索性把轴拆了,Ctrl 键硬改到 Caps Lock

  • 樱桃ML4100 USB CYA维修记录

    键盘正常使用着突然 OL 键失灵了,我以为键按下去卡住了,试着活动了一下键帽,发现按键没有异常,猜想可能是轴体坏了,等到周末拆开看一下。

  • Let’s Encrypt和Certbot的使用

    Let’s Encrypt是免费颁发TLS证书的机构(CA)。支持使用 ACME 协议 的软件获取证书。

  • 软技能:代码之外的生存指南(异步图书) 笔记本

  • Github仓库代码发布到packagist.org方法

    有两种方法可以把Github仓库代码发布到packagist.org上,一是,使用Github账号授权登录packagist.org,然后commit github仓库地址;一是,是从packagist.org获取webhook地址和token,然后设置github仓库的webhook。

subscribe via RSS