安卓对指定WiFi禁用IPv6 1. 背景这是笔者之前的家庭网络架构,所有设备集中在宽带网关的二级 NAT 下,同时有一台旁路由设备用于透明代理: 后来由于某些设备有连接公网 IPv6 地址的需求,所以笔者将二级 NAT 改成了无线 AP ,所有设备直连宽带网关以拿到 IPv6 地址: OP 的安卓设备在之前的网络架构中将旁路由作为网关。但在新的网络架构中,由于安卓设备无法设置静态 IPv6 ,所以 IPv6 流量无法经过旁 2022-12-17 #数码
改善室内空气质量-加湿篇 1. 前言在前一篇文章[1]中,笔者通过新风大幅优化了室内PM2.5和CO2指标。冬季的北京空气十分干燥,室外空气湿度可能低至20%。而低湿度的空气被新风源源不断送入室内,让室内空气湿度始终维持在较低的水平。考虑到舒适的室内湿度为40%~60%[2],同时也为了解决低湿度带来的皮肤容易干燥、起床后口鼻不舒服等问题,笔者决定采取手段提升室内湿度。 2. 方案选择室内加湿器是比较直接的选择。笔者了解后 2022-12-10 #监控 #生活
改善室内空气质量-新风篇 1. 背景在上一篇文章[1]中,笔者搭建了一套空气质量监控方案。但随之而来的是持续的告警以及糟糕的空气。最极端的时候,笔者能从监控上观察到超过100的室内PM2.5浓度。 在下决心改善室内空气质量后,摆在笔者面前的有两个选择:空气净化器和新风。两者都可以降低室内PM2.5,但前者只能被动净化流入室内的室外空气(先污染后治理),而后者能主动净化室外空气并送入屋内,除了能降低室内PM2 2022-12-09 #监控 #生活
监控室内空气质量 1. 背景爱否出品的新风消费报告[1]里提到了一个概念:室内空气的四个终极目标是恒温、恒湿、恒净、恒氧。笔者对此深感认同,可惜笔者生活的北京并没有足够宜人的气候[2]: 空气质量指数[3]也堪忧: 更糟糕的是,为了保证室内空气含氧量,笔者的窗户常年是半开的。这就导致室内空气很容易受室外影响,不仅容易积灰,而且往往要等空气质量显著糟糕时笔者才会想到要关窗。 为了能更好地评估室内空气质量,并指导改 2022-12-05 #监控 #生活
用Afterburner和Grafana监控PC性能 背景监控Linux服务器性能已经有比较成熟的解决方案了:笔者用的是node_exporter+Prometheus+Grafana的经典三件套,整体效果令人满意: 整体架构 Grafana面板 同时笔者在使用PC时偶尔还会使用MSI Afterburner(以下简称Afterburner)来观察PC性能: 但Afterburner的监控功能并不易用(特别是在高分辨率下),如果 2022-08-20 #Golang #监控 #生活
Go语言error四问 什么是errorGo语言没有像Java/Python一样提供try&catch这种错误捕获方式,而是要求编码者显示地处理下游的传递的错误、显示地向上游抛出错误,也难怪总是有人吐槽Go在这方面的啰嗦。 1234567891011var file *os.Filevar err errorfile, err = os.Open("something.txt")if 2021-07-17 #Golang
读《流畅的Python》:一等函数 前言一等对象(first-class objects)是指拥有如下特性的程序实体: 在运行时创建 能赋值给变量或数据结构中的元素 能作为参数传给函数 能作为函数的返回结果 Python中的函数拥有这几个特性,所以被称作一等函数(functions as first-class objects,简称first-class functions)。 把函数视作对象12345678910111213& 2020-07-05 #流畅的Python #读书笔记
Python中的函数参数与参数传递 注:本篇文章使用CPython3.6 定位参数、关键字参数在Python中,当定义一个函数时,函数接收的参数叫做为形式参数(parameters),以下简称形参;当调用一个函数时,调用者传递给该函数的值叫做实际参数(arguments),以下简称实参。 根据inspect模块的描述,Python的形参可以分成如下五类: POSITIONAL_OR_KEYWORD,默认类型,可通过定位 2020-07-04 #Python
Python部分内置函数装饰器源码浅析 前言这是这个博客里第一篇带有源码Tag的文章。在过去的一个月,笔者深刻地认识到自己在技术深度方面有很大的不足,所以在未来的学习道路上,笔者会尽量多地阅读开源软件的源代码,并将自己的理解以文章的形式表达出来。如有错漏,请各位读者不吝指教。 注:本篇文章所用环境为CPython3.6 functools.wrapswraps这个内置函数装饰器在笔者的上一篇文章里有过介绍,功能很单纯(拷贝__nam 2020-06-20 #Python #源码
读《流畅的Python》:函数装饰器与闭包 前言 读书笔记这种内容,放在Evernote等笔记软件里似乎要比放在博客里更合适。但其一是笔者还没有找到适合我的笔记同步方案,其二是博客相比笔记软件更能锻炼自身的表达能力(或许吧),其三是将读书笔记放在博客里可以避免在求职的时候被面试官吐槽博客内容太少(笑),所以还是决定将这篇文章放在博客里。 但不管怎样,读书笔记终归是读书笔记,对其他人的作用还是有限,如有读者觉得碍眼烦请无视。 注:本篇文章使 2020-06-19 #流畅的Python #读书笔记