Linux shell
TLDR: 在多次尝试 zsh之后,2023 还是回到了bash
TLDR: 在多次尝试 zsh之后,2023 还是回到了bash
那么多面经在说引用计数, 循环引用会无法gc,而以我对jvm python等多个有gc语言的了解,js 再怎么也不至于就是个引用计数
否则循环引用早爆了
1 | function foo() { |
chrome performance 点垃圾桶 进行gc, 然后再执行
1 | console.log(wm1); |
https://github.com/CroMarmot/ReactDemo/commits/master
| 功能 | doc |
|---|---|
| Head | https://github.com/CroMarmot/ReactDemo/commit/00dc0b74d4363e3be39433647a63c3fbe8a96d66 |
| Script | https://github.com/CroMarmot/ReactDemo/commit/0cb1c2aac95b276a689bb49e31f7a147d78c159e |
| 静态生成,Link,route,404 | getStaticPaths getStaticProps |
| global css, module css | commit |
| static image | https://github.com/CroMarmot/ReactDemo/commit/0a826c74cef03573ced89c2eb36c70a763401fba |
https://nextjs.org/learn/foundations/
1 | npx create-next-app@latest --ts |
React use Babel to compile JSX
https://zh-hans.reactjs.org/docs/strict-mode.html
识别不安全的生命周期
关于使用过时字符串 ref API 的警告
关于使用废弃的 findDOMNode 方法的警告
检测意外的副作用
检测过时的 context API
确保可复用的状态
1 | import React, { StrictMode } from 'react'; |
我也是用了 spf13-vim + vundle 有七八年了, 之中还用过Pathogen 之类的
这次随着ubuntu $20\to 22$的升级, 有不少之前的插件不支持vim8,不能用了, 虽然根据官网消息,似乎vim9已经出来了
vim8 也有自带的package管理方案:h packages, 看起来需要自己用git维护, 而用vim-plug只需要维护vimrc, 而在8之上还有dein,minpac的插件管理工具
而且还有nvim和vscode+vim键位的一些解决方案
但我有点懒 宁愿多配配 也暂时没想着改习惯
本机是ubuntu, 就没管win和mac的, 其它的看各种工具的官方文档吧
壮着胆子,在Ubuntu 22.10还没发布前,把系统从20.04.5升级到了22.04.1, 以我从12->14,14->16,16->18,18->20多年的经验来看, 这次竟然没问题! 厉害了, 以前每次升级都会炸点东西, 然后最终还是重装式升级, 这次竟然没啥严重的炸掉
然后pip3 install -e .出问题了
先是报没权限,但看报的路径,没往用户目录下写,在写root, 作为一个胆小的人, 向来杜绝777的
翻了半天google和github
看到一个方案:setup.py中加上
1 | import site |
加完以后, 恩 是没有问题了
然后报错
1 | × python setup.py develop did not run successfully. |
又搜,发现的确是setuptools有bug,然后60.0.2修复了
TLDR: setuptools在2023的体验的确比不上新工具hatching
install build
1 | pip install --upgrade build |
提供pyproject.toml文件, 包含build-system section
1 | [build-system] |
带sudo的一定小心, 别选错盘了
bcompare
gparted
io测试
https://linuxreviews.org/HOWTO_Test_Disk_I/O_Performance#Testing_random_4K_reads
大块读
1 | fio --name TEST --eta-newline=5s --filename=temp.file --rw=read --size=2g --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting |
大块写
1 | fio --name TEST --eta-newline=5s --filename=temp.file --rw=write --size=2g --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting |
随机4K读
1 | fio --name TEST --eta-newline=5s --filename=temp.file --rw=randread --size=2g --io_size=10g --blocksize=4k --ioengine=libaio --fsync=1 --iodepth=1 --direct=1 --numjobs=32 --runtime=60 --group_reporting |