Skip to main content

New Blog

代码人生:编织技术与生活的博客之旅

面经转 anki 卡组记录分享,需要 anki 卡组的直接点击下列链接下载: anki apkg 文件

  • 面试八股文 集合
  • 转换成 anki 卡片

仓库整理

面试八股文

  • 二级标题混乱 无法直接使用 mdankideck 工具
    • 需要脚本改造 format_markdown.py
    • mdankideck 工具参考 [[anki 导入 markdown 文件调研]]
  • 学习笔记不弄
    • 文章结构不适合转换成 anki card
  • 存在多个一级标题时
    • 第二个往后的所有标题 级别+1
    • E:\tmp\baguwen-wiki\docs\DOM-API-面试题(山月).md
      • 测试 ok
    • 所有二级标题加上一级标题
  • 图片效果
    • 存在部分无图片的情况
    • 1cbecf47a83cbb8e02f34bcd5a92f0a5
  • 无二级标题时
    • 暂无这种情况
  • 去除 参考资料 标题及其内容
    • 二级标题后结构合理 不用管
  • 顺序问题
    • 暂时不解决
python format_markdown.py
pip install markdown-anki-decks
mdankideck .\docs .\anki --prefix "面试八股文::" --sync -delete

format markdown 脚本

#!/usr/bin/env python
# encoding: utf-8
# @Time : 2022/08/07 13:35:52
# @author : zza
# @Email : z740713651@outlook.com
# @File : format_markdown.py

import os
import sys
import shutil
import re

def main():
# remove note files
if not os.path.isdir("study_notes"):
os.mkdir("study_notes")
file_names = os.listdir(".\docs")
for file_name in file_names:
if "学习笔记" in file_name:
print("move to study_notes", file_name)
# mv to study_notes
shutil.move(".\docs\\" + file_name, ".\study_notes")
elif "面试题" not in file_name:
print("无面试题字段", file_name)

# find unformat file
file_names = os.listdir(".\docs")
for file_name in file_names:
if not file_name.endswith(".md"):
continue
context = open(".\docs\\" + file_name, "r", encoding="utf-8").read()
level_one_tiltes = re.findall(r"\n\n# ([^\n]+)\n", context)
# replace \n(#+ [^\n]+)\n to \n#$1\n
if len(level_one_tiltes) != 1:
print("unformat file", file_name)
# format file
original_first_title = level_one_tiltes[0]

# new_context = re.sub(r"\n(#+ [^\n]+)\n", r"\n#\1\n", context)
# 二级变三级
new_context = re.sub(r"\n(#{2,}) ([^\n]+)\n", rf"\n#\1 \2\n", context)
# 一级变二级 并加上主标题
new_context = re.sub(
r"\n# ([^\n]+)\n",
rf"\n## " + original_first_title + r" - \1\n",
new_context,
)
# 一级保持不变
new_context = new_context.replace(
f"## {original_first_title} - {original_first_title}",
f"# {original_first_title}",
)
open(".\docs\\" + file_name, "w", encoding="utf-8").write(new_context)
else:
print("format file", file_name)
# mv to format_files

pass

if __name__ == "__main__":
main()

题库3 min read

最近发现其他人的笔记软件和方法都是很系统化的,感觉自己笔记方案需要进一步升级。从老石谈芯第一次听说到到第二大脑的概念,觉得需要更系统的了解一下。感谢老石谈芯让我知道啥是第二大脑!

已经实践笔记系统半年左右,抽空回顾下自己的方法论。

笔记系统主体程序

我的笔记系统由以下软件构成:

想用vscode第二大脑的小伙伴

可以根着 foam 中文项目 这个来配置:

  • 需要准备一个 github 帐号
  • 把项目 clone 到本地,然后跟着 README 一步一步来就好了

GTD

首先我们回顾下 GTD(Get thing Done) 的工作流程:

收集 -> 处理 -> 组织 -> 检查 -> 行动 -> 回顾

收集

各种生活 | 学习 | 工作事务 -> 清空大脑

  • 稍后阅读
    • 在日常刷手机、b 站、微博的时候,不会把重要的文章精读,我的习惯是增加到 Microsoft To Do 中单独一个待整理事项列表中,有空整理成阅读待办事项,或者抛弃。
  • 集中搜索
    • 搜索目标信息,将有用的资料放到一个 markdown 中,做阅读进度管理与知识总结汇总。

从认知的角度讲,高质量的信息输入渠道的建设是优先级很高的事情,但诡异的是,很多人却对此投入甚少,甚至选择性忽视掉。 -- 马大伟-构建高质量的信息输入渠道

处理

筛选出有效的可付诸行动的事务 -> 识别任务

长的文章会用 [[网页笔记插件]] 做笔记,事后导出成 markdown 放入笔记系统备份。 有用的资料也是放到同一个主题的 markdown 文件中保存,也可以用两个方括号 ([[]]) 做超链接,绑定两个文件。

cat ./note/docs/项目/图片转 mp4.md

---
title: 图片转 mp4
date: 2022-07-26 22:01:49
permalink: /pages/c12b7f3f-d6f1-4a39-abb1-c0fcefc6336d/
tags:
-
categories:
-
article: false
---

# XX 系统

## 待看视频

- [ ] [b 站视频](bilibili.com/xxx)
- [ ] [知乎帖子 A](zhihu.com/xxx)

## 待研究知识点

- 图像视频转换
- [[ffmpeg 使用方法]]
- python 相关的包
- [xxx](github.com/xxx)
- aaa

组织

将事务组织成待办事项/项目/日程表/等待/未来可能做 -> 制定目标

Microsoft todo 中创建一个每日任务列表,里面的都是点了重复属性的任务,方便提醒。

  • 每日任务中的项目不一定每天都要做,也可以是'思考要不要做'的项目。
  • 同样每日任务也可以用一个标记表示 markdown 文件,做一个引导跳转。

检查

每日检查待办事项清单 -> 提醒自己今日要做的事情

在每日早上,在 Microsoft to Do 我的一天 的感叹号中快速添今日待办。可以很快速的批量添加每日任务。

建议弄一个简单的任务作为一天的开始,比如:整理邮箱。

一天结束的时候,我会将 Microsoft to Do 中的待办导出,通过脚本转换成日报存入笔记系统中。 回顾一天的事项。同时不能完成的事情也会写上原因。

行动

执行待办任务 -> 集中精力完成任务

建议将行动笔记、遇到的问题、bug 信息等,通通放入笔记系统。方便以后搜索。

回顾

每周/月回顾 -> 从人生目标/长期目标/中短期目标/近期目标/当前任务的角度审视目标

  • 使用认抽卡-anki 作为回顾管理软件,如何导入请参考 [[anki 导入 markdown 文件调研]]。

  • 建议定期回顾自己的目标。检查自己现在做的事情与自己的愿景(目标)是否一致,及时修正。

  • 愿景


FQA

Github Copilot 代码补全

这个项目网上介绍很多,就不多说了,懂得都懂。

参考 V2 上这个帖子:GitHub Copilot 可以写帮我写中文文章了

读书笔记导出成文 md 文件

之前是没有意识到读书要做笔记,有非常好的句子或者概念可能会发个微博分享一下。

不动笔墨不读书,确实需要系统回顾书本内容,更能转化作者传播的概念。

  • 需要阅读软件支持高亮内容和笔记导出。
  • 多看阅读支持划线与笔记导出。
  • 微信阅读支持划线与笔记导出。
  • 后期可能需要脚本统一转换成特定格式至我的笔记系统。

文件(文章)目录树管理是按名字排序不是任意排序

通过 Foam 实现跳转,常用文件使用了 foam 提供的 tag 服务,

在 VScode 文件浏览器里有 tag 展示窗口,能非常快的找到自己使用的 tag。

贴图考虑要不要弄到谷歌图床上

放弃,万一梯子不好用或者谷歌服务条款变了就 GG。还是决定随着放在项目里随着 git 一起管理。

vscode - Past images插件支持相对于项目目录去设置存储图片的位置,找个僻静的角落让图片慢慢堆积把。

模版问题

Foam 支持模版,需要手动从 notion 里抄一些有用的模版过来。

vscode-snippets 也支持模版么,同样从 notion 里拿就好了(排版问题多用表情,让文字更加鲜活)。

vscode-snippets 参考

看板视图

TODO.md Kanban Board 插件解决,但是还是不是很好用。建议还是一个 markdown 管理长期目标。

目前书籍影视评论还是靠豆瓣去解决。(希望豆瓣能长久运行下去)

用搜索的方式去查找内容

比如我想查找机器学习相关的内容, 打开搜索,然后机器学习,相关的笔记就会展现了。 不需要通过目录的方式去查找笔记。

如果只想单独搜索文件,可以直接打开命令窗口输入文件名(记得把表示命令的 > 去掉)

关于第二大脑

我觉得就是数字化笔记,让笔记可搜索,互相关联,能追根溯源到文章本身。

做笔记本身需要做到以下内容:加入自己想法、假设写给未来的自己、用自己的话去输出。

网上也有说费曼学习法(Concept 概念、Teach 教给别人、Review 回顾、Simplify 简化),我觉得能简化的话,其实会有一定的误导性,能做到前三点就可以了。

在老石谈芯里的 app 推荐中,我理解到以下几点:

  • 把觉得重要的信息(视频,文字)用待办的方式放到有空的时间进行精读。
  • 精读的信息需要有划线记录重点,同时能写下自己想法。(需要 app 支持)
  • 能导出这些想法到自己的笔记系统中。
  • 定期回顾自己的笔记与想法,像背单词一样,多出现几次才能正真成为自己的东西。(每天邮件回顾三条)

老石用的 instapaper 做稍后阅读管理,提炼出重点信息后,通过 readwise 将高亮导出导入到笔记系统中。并通过 readwise 实现定期回顾。

视屏下面的评论有说这类 app 都得翻墙且付费,慢慢找平替把。

总结

  • vscode 使用 foam 插件,使得笔记管理更加简单,更加方便。用非目录的图的方式链接的笔记。
  • 明确了多看阅读,微信阅读记录导出笔记的阅读方式。
  • 万物都可记,在连接数据库和 vscode 本身的搜索能力的帮助下,任何事情都可以记录在‘第二大脑’里。

参考资料

阅读笔记8 min read

  • 找一个更好的网页笔记插件
  • 结论: pagenote + python 脚本整合进笔记系统中。

pagenote

  • 优点
    • 标记方便
  • 缺点
    • 不支持批量导出
    • 格式也不符合markdown规范
#!/usr/bin/env python
# encoding: utf-8
# @Time : 2021/12/24 11:57:31
# @author : zza
# @Email : z740713651@outlook.com
# @File : pagenote_convert.py

import re

from prompt_toolkit.clipboard import pyperclip


def main(header_level: int = 2):
txt_data = pyperclip.pyperclip.paste()
print(re.sub("\n[^(> \* )]", "\n- ", txt_data))
notes = txt_data.split("> * ")
txt_data = "---\n\n".join(notes)
# 移除尾部连接
if "open in [pagenote.cn]" in txt_data:
txt_data, _ = txt_data.split("open in [pagenote.cn]")
# 首部标题改为一级
if header_level == 2:
txt_data = txt_data.replace("## [", "# [")
# 首行空行
txt_data = txt_data.replace("\n", "\n\n", 1)

# 末行加上分隔符
txt_data = txt_data + "---\n"
pyperclip.pyperclip.copy(txt_data)
print(txt_data)


if __name__ == "__main__":
main()

简悦

  • 优点
    • 支持导出 支持划重点
    • 支持备注
    • 能整个网页保存
  • 缺点
    • 写备注不太方便
    • 写了笔记的网页没有汇总
    • 需要进入阅读模式才能写笔记
    • 格式也不符合markdown规范
随笔One min read

  • [[笔记系统]] - markdown to anki
    • mdanki
      • js 写的
      • 导入方便
      • markdown header 识别有问题
    • ankdown
      • python3
      • 使用报错
    • markdown-anki-decks
      • python3
      • 单个文件单个数据库 可以通过命令放入同一组
      • 推荐

markdown-anki-decks 使用指南

  • anki 批量导入插件
  • anki 同步插件
  • 在打开 anki 软件的情况下,输入以下命令,导入 markdown 文件作为抽认卡
    • mdankideck .\note\docs\anki E:\anki --sync --prefix "md::" --delete
    • E:\anki 文件夹作为 anki 文件数据的存放地,删除不影响 anki 使用。
    • --sync 表示自动同步到 anki 软件上 需要 anki 软件打开。
    • --delete 智能删除笔记上已丢失的条目。
    • --prefix "md::"表示在 anki 上用一个名为 md 的库存储,旗下包含多个字库。

cat .\note\docs\anki\tmp.md

# 文章标题

## 二级标题 1 (抽认卡 A 的提示语句)

文章内容 A(抽认卡显示内容 A)

此处若改动文章内容 A,则 anki 中会删除抽认卡 A 并重新导入新的抽认卡 A。

## 二级标题 2 (抽认卡 B 的提示语句)

文章内容 A(抽认卡显示内容 B)

随笔2 min read


写之前的准备事项

这是关于想象如果你可以做任何你想做的事情而不用担心失败,你的生活会是怎样的。

  • I's about imagining what your life could be if you could do anything you wanted without anyfear of failure.

Dream big. Dream without any fear. Write it all down.

您不必与任何人分享它。全心全意地写。然后,每年阅读一次,看看会发生什么。

l love lists, I made a list of everything that l wanted to come true.


在 203_ (请填入当前年+10) 年时 或者 20__ (请填入当前年+5) 年时

宏观上

  • 你的生活是什么样的?

  • :

  • 你在做什么?

  • :

  • 你住在哪里?

  • :

  • 你和谁住在一起?

  • :

  • 你有宠物吗?

  • :

  • 你住在什么样的房子里?

  • :

  • 是公寓吗?

  • :

  • 你在城里吗?

  • :

  • 你在国内吗?

  • :

  • 你的家具是什么样子的?

  • :

  • 你的床是什么样的?

  • :

  • 你的床单是什么样的?

  • :

  • 你穿什么样的衣服?

  • :

  • 你有什么样的头发?

  • :

  • 告诉我你的宠物。告诉我你的另一半。

  • :

  • 你有小孩吗?

  • :

  • 你有车吗?

  • :

  • 你有船吗?

  • :

谈谈你的职业生涯

  • 你想要什么?
  • :
  • 你在读什么?
  • :
  • 你在做什么?
  • :

十年后的普通的一天∶ (那一天对你来说是怎样的?描述这一天的情形) 什么让你兴奋? 你的健康状况如何?

  • 你的一天是什么样子的?
  • 从你醒来的那一刻开始,刷牙,喝咖啡或茶,一直到晚上睡觉。

: 早上,xxx 点闹钟响了。.....


它们是最能肯定生命的散文。他们是如此,充满希望、乐观、幸福和善良,让我觉得人类可以得救。

阅读笔记2 min read

复制的每天都在列计划,却总是完不成咋整(# ̄~ ̄#)的笔记,推荐这个视频和这个up主,是个非常优秀值得学习的明灯。

  • 明确优先级 (人生课题顺序)。
  • 每天都会出现很多突发事件,我们怎样选择? 这关系到 priority ranking
  • 所有事件按照和人生目标有关无关分类。
  • 没有主体性的人很容易被影响。
  • 要留有余白buffer zone —>留下给心情不好的时间反而能够更快修复

制定计划的注意事项

  • 有明确的结束时间
  • 不要用todo list,用有优先级的list (Burner list)重
  • 要的事情不要超过2件,最多三件
  • 这两件事最好是不同领域的(比如说人生目标、工作)
  • 写下要做的事情,并写下做这件事的目的。并把目的融入到最后环节。
  • 将这两件事分层,写action item (e.g.学多少时间,学的时候排除干扰。),而非目标本身。
  • 就算这一件事都没完成,你也清楚自己的可支配时间花在了正确的道路上

公开承诺

  • 和盆友每50分钟通报进度(不聊天)
  • 早中晚一天至少三次∶宣言【现在我要做什么】--> 把自己从烦扰中拉回来

做 Done list --> 反馈、什么做完了


这些确实是清单上的项目。制作一个PowerPoint演示文稿的前十张幻灯片。与供应商进行一次对话。写500字的公司通讯。简单的任务。检查表上的项目。 另外,**记得计算出你一天能完成多少个明确的目标,然后每天都完成这个数量的目标。**如果它出现在你的清单上,你就对自己说了算。要么把它从清单上划掉。要么--当挑战发现比预期的难得多时,把它分解成一个较小的任务,完成这个较小的任务,然后把剩下的任务移到明天的清单上。 如果你完成了今天明确目标清单上的所有任务,这意味着你离你的高难度目标又近了一步,这意味着你正在执行任务,这意味着你的内在驱动力正在做他们的工作。在这个清单上划撕一项,就能得到一点多巴胺;再划掉一项,就能多得到一点多巴胺。一次一个小赢,就是这样的。将小胜叠加在小胜之上-尤其是当其中的几场小胜产生心流时--就是你获得动力的方式。

制定计划的时间

  • 头一天结束工作的时候

培养主体性的方法

  • 【弱点】是宝物。通向幸福的捷径。
  • 对十年后实现梦想的自己做【英雄采访】∶以成功为大前提来做。

内向者的工作方式

  • 每天要有什么都不做的时间,即使非常短暂
  • 还没做完的任务,写下来确切自己打算完成的日期。
  • 检查邮件和电话的时间集中在一起。
  • 减少对于日常小事的选项

finally some random thoughts

  • 照顾好分钟,时钟会照顾好自己
  • 有没有一种选项,只是为了做而做。to do sth in order to do it.
阅读笔记3 min read

  • 提供一些小的服务
  • 收费
  • 欢迎联系 📞

删除百度贴吧历史

  • 对百度贴吧的数据进行批量删除服务 🗑️
  • 联系后加微信 扫二维码远程登录解决
  • 可删除
    • 题帖
    • 回复
    • 关注的吧
    • 关注
    • 粉丝
  • 非常便宜 💸

少量爬取小说

  • 提供小说爬取服务 📚
  • 十到二十本
  • 不保证给的名字的小说都有
  • 找不到的话 不收费
  • 无 ip 池 做不到大批量 见谅

Job 扫描助手

  • 提供一个 12h/次 对 Upwork 的工作机会搜索 💼
  • 会通过 ai 进行您提供的简历的匹配和过滤
  • 针对简历的 ai 过滤搜索
  • 按月收费

自动化脚本程序

  • 提供对 execl 的自动化程序 🤖
    • 自动整理数据 计算 平均 画图 发邮件 等功能
  • 参考
    • 根据销售数据 画比例图 生成报告 📊
    • 按工资表发工资条邮件 📧

基于 python 的后端服务

  • 如果需要定制 app 或者网页 🐍
  • 还需要一个前端(移动端 or 网页端)

基于 tradingView 的量化交易

  • 📈

  • 常规程序开发都可以聊一聊 🗣️
  • 但是请你需求明确
  • 最好把需求写成有写成文档 📝

联系方式 📬

随笔2 min read

  • 这是网盘爬取的部分记录,很多坑,分享一下避免大家采坑。
  • 后续发现网盘有网页版本,在安装能 root 的 Android 模拟器后,放弃通过 app 爬。

Fiddler

教程

  • 电脑管家下的 Fiddler 4.0
    • Fiddler Anywhere 只找到苹果的破解版
  • 允许远程连接
    • 更改 fiddler 端口后要重启软件
  • 手机设置
    • 证书安装
    • 卸载方式
      • 搜索 加密与凭据
      • 用户凭据 找到自己命名的凭据 (fiddler) 点击删除

打开网盘后 无连接

走 fiddler 后,app 打开显示无网络。用 adb 查看日志,找到如下错误:

06-06 19:09:03.624 28223 28223 W System.err: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

是因为,fiddler 装的证书不是根证书,app 不认可。 改为弄根证书需要手机 root,懒得弄了。

装安卓虚拟机

考虑使用安卓模拟器

  • 夜神模拟器
    • hyper-v 冲突
  • bluestacks
  • 天天模拟器
    • 启动不了
    • 安装时蓝屏

卸载某个模拟器后 dll 乱了

无效的 wechatwin.dll 文件 errcode:126, 点击“确定”下载最新版本

  • 微信打不开 怀疑是某个模拟器卸载的时候 把系统的 dll 一起
  • 修复方法参考

按 Win + S 键搜索栏输入 CMD,以管理员身份打开 “命令提示符” 输入命令:

sfc /SCANNOW

等待扫描结束:

Dism /Online /Cleanup-Image /ScanHealth

等进度条走完,再次打开微信,看是否能够正常打开。如果能正常打开,重启电脑再看是否能打开微信,如果重启之后还能正常打开微信等其它软件,说明此问题就修复了。

Hyper-V + Visual Studio 跑 Android 模拟器

参考 用 Xamarin 的模拟器。

安装 Visual Studio 2022 一样可以

  • 打开 SDK 管理器后 提示:
    • Loading SDK component information failed. Please retry
    • 加载 SDK 组件信息失败 请重试
    • must not be an empty string forPath

通过点击:工具 - 选项 - 搜索 Android - Xamarin Android 设置 点击确定后就能找找到位置了。

下载 SDK 需要全局翻墙。

  • 爬完后注意存档位置 方便后续删除
    • C:\Users\xxx\AppData\Local\Xamarin\Mono for Android\Archives

如此,终于有一个能用的,和 hyper-v 不冲突的 Android 模拟器了。

到这里后,发现有网页版本,满足需求,放弃了 app 爬取。


询问大佬们的解决方案

项目3 min read

老方案

save_dir = os.path.join(os.path.expanduser("~"), "Pictures", "wallpaper")
os.makedirs(save_dir, exist_ok=True)

新方案

In [16]: import ctypes
...: from ctypes.wintypes import MAX_PATH
...:
...: dll = ctypes.windll.shell32
...: buf = ctypes.create_unicode_buffer(MAX_PATH + 1)
...: for i in range(100):
...: if dll.SHGetSpecialFolderPathW(None, buf, 0x0000 +i, False):
...: print( 0x0000 +i,buf.value)
...: else:
...: pass
...: # print("Failure!")
...:
0 C:\Users\tmp_user\Desktop
2 C:\Users\tmp_user\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
5 E:\Users\tmp_user\Documents
6 E:\Users\tmp_user\Favorites
7 C:\Users\tmp_user\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
8 C:\Users\tmp_user\AppData\Roaming\Microsoft\Windows\Recent
9 C:\Users\tmp_user\AppData\Roaming\Microsoft\Windows\SendTo
11 C:\Users\tmp_user\AppData\Roaming\Microsoft\Windows\Start Menu
13 E:\Users\tmp_user\Music
14 E:\Users\tmp_user\Videos
16 C:\Users\tmp_user\Desktop
19 C:\Users\tmp_user\AppData\Roaming\Microsoft\Windows\Network Shortcuts
20 C:\WINDOWS\Fonts
21 C:\Users\tmp_user\AppData\Roaming\Microsoft\Windows\Templates
22 C:\ProgramData\Microsoft\Windows\Start Menu
23 C:\ProgramData\Microsoft\Windows\Start Menu\Programs
24 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
25 C:\Users\Public\Desktop
26 C:\Users\tmp_user\AppData\Roaming
27 C:\Users\tmp_user\AppData\Roaming\Microsoft\Windows\Printer Shortcuts
28 C:\Users\tmp_user\AppData\Local
29 C:\Users\tmp_user\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
30 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
31 E:\Users\tmp_user\Favorites
32 C:\Users\tmp_user\AppData\Local\Microsoft\Windows\INetCache
33 C:\Users\tmp_user\AppData\Local\Microsoft\Windows\INetCookies
34 C:\Users\tmp_user\AppData\Local\Microsoft\Windows\History
35 C:\ProgramData
36 C:\WINDOWS
37 C:\WINDOWS\system32
38 C:\Program Files
39 E:\Users\tmp_user\Pictures
40 C:\Users\tmp_user
41 C:\WINDOWS\SysWOW64
42 C:\Program Files (x86)
43 C:\Program Files\Common Files
44 C:\Program Files (x86)\Common Files
45 C:\ProgramData\Microsoft\Windows\Templates
46 C:\Users\Public\Documents
47 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools
48 C:\Users\tmp_user\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Administrative Tools
53 C:\Users\Public\Music
54 C:\Users\Public\Pictures
55 C:\Users\Public\Videos
56 C:\WINDOWS\resources
59 C:\Users\tmp_user\AppData\Local\Microsoft\Windows\Burn\Burn

整合以后

def get_default_save_dir(dir_name:str= "Pictures"):
# windows platform
res_path = os.path.join(os.path.expanduser("~"), dir_name)
if os.name == "nt":
import ctypes
from ctypes.wintypes import MAX_PATH
...:
dll = ctypes.windll.shell32
buf = ctypes.create_unicode_buffer(MAX_PATH + 1)
for i in range(100):
if dll.SHGetSpecialFolderPathW(None, buf, 0x0000 +i, False) and dir_name in buf.value:
return buf.value
return res_path
PythonOne min read

常规升级

  1. 升级 windows11 Windows11InstallationAssistant.exe 这个网站下载升级助手。双击升级。
  2. 升级 wsl,update 时建议全局。wsl --update & wsl --shutdown 目前还没研究出怎么玩 GUI。
  3. 装 wsa
    3.1 add-appxpackage MicrosoftCorporationII.WindowsSubsystemForAndroid_1.7.32815.0_neutral___8wekyb3d8bbwe.Msixbundle(tg 群 有下载)
    3.2 Windows 11 运行安卓子系统安装教程 安装酷安

升级后的一些定制化操作

  1. 个性化 > 任务栏 > 任务栏行为 - 任务栏对齐方式 左
  2. 个性化 > 颜色 > 选择模式 - 自定义 & 选择你的默认 Windows 模式 深色
  3. 重装 PowerToys,新版本建议在 microsoft store 下载。
  4. 删掉 TranslucentTB,从 microsoft store 下载。
  5. 任务栏设置 > 任务栏项 - 关闭聊天, 关闭搜索
  6. 在语言里先增加拼音输入法,然后再删掉拼音输入法,就只有 qq 输入法了。可能会造成闪屏。
  7. 左下角小组件设置一下。

win11 更新后资源管理器不断重启卡死的解决办法

关键词:wsl taskbar all icon flash windows 11 任务栏闪烁

震惊!竟然是 wsl 的锅,解决方法:wsl --shutdown`

根据 帖子,bug 已经在 wslg-issue 里提出,并已经修复。目前有个临时解决方案。

修改 %USERPROFILE%\.wslconfig

[wsl2]
guiApplications=false

然后重启 wsl: wsl --shutdown

解决问题

MicroSoft store 慢

在国内不要开代理,速度就上去了。

win11 右键默认显示更多选项


  • 下载 Windows 11 Classic Context Menu 后,打开则可以看到三个选项,分别对应“经典右键菜单”、“默认右键菜单”和“重启 explorer.exe”。
  • 可以自由切换经典的菜单样式。
随笔2 min read