windows 上的命令行体验

我已经有5年没有用过windows了,再次在windows上搞开发,发现了windows对于开发者来说,友好了不少。 首先是windows terminal, 这个终端做的还不错。 其次是一些常用的命令,比如说ssh, scp等,都已经默认附带了,不用再安装。 还有包管理工具scoop, 命令行提示工具 oh-my-posh, 以及powershell 7 加载一起,基本可以迁移80%左右的linux上的开发环境。 特别要说明一下scoop, 这个包管理工具,我安装了在linux上常用的一些软件。 包括有以下的软件,而且软件的版本都还蛮新的。 0ad 0.0.25b games 7zip 22.00 main curl 7.84.0_4 main curlie 1.6.9 main diff-so-fancy 1.4.3 main duf 0.8.1 main everything gawk 5.1.1 main git 2.37.0.windows.1 main git-aliases 0.3.5 extras git-chglog 0.15.1 main gzip 1.3.12 main hostctl 1.1.2 main hugo 0.101.0 main jq 1.6 main klogg 22.06.0.1289 extras make 4.3 main neofetch 7.1.0 main neovim 0.7.2 main netcat 1.12 main nodejs-lts 16.16.0 main ntop 0.3.4 main procs 0.12.3 main ripgrep 13.0.0 main sudo 0.2020.01.26 main tar 1.23 main 另外一个就是powershell 7了,贴下我的profile配置。 ...

2022-07-09 12:43:14 · 1 min · Eddie Wang

powershell oh-my-posh 加载数据太慢

每次打开新的标签页,Powershell 都会输出下面的代码 Loading personal and system profiles took 3566ms. 时间不固定,有时1s到10s都可能有,时间不固定。 这个加载速度是非常慢的。 然后我打开一个非oh-my-posh的窗口,输入 oh-my-posh debug 看到其中几行日志: 2022/07/09 12:20:23 error: HTTPRequest Get "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/v8.15.0/themes/default.omp.json": context deadline exceeded 2022/07/09 12:20:23 HTTPRequest duration: 5.0072715s, args: https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/v8.15.0/themes/default.omp.json 2022/07/09 12:20:23 downloadConfig duration: 5.0072715s, args: https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/v8.15.0/themes/default.omp.json 2022/07/09 12:20:23 resolveConfigPath duration: 5.0072715s, args: 2022/07/09 12:20:23 Init duration: 5.0072715s, args: 好家伙,原来每次启动,oh-my-posh还去github上下载了一个文件。 因为下载文件而拖慢了整个启动过程。 然后在github issue上倒找:https://github.com/JanDeDobbeleer/oh-my-posh/issues/2251 oh-my-posh init pwsh –config ~/default.omp.json 其中关键一点是启动oh-my-posh的时候,如果不用–config配置默认的文件,oh-my-posh就回去下载默认的配置文件。 所以问题就好解决了。 首先下载https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/v8.15.0/themes/default.omp.json 这个文件,然后再保存到用户的家目录里面。 然后打开terminal, 输入: code $profile 前提是你的电脑上要装过vscode, 然后给默认的profile加上–config参数,试了一下,问题解决。 oh-my-posh init pwsh --config ~/default.omp.json | Invoke-Expression Import-Module PSReadLine New-Alias -Name ll -Value ls if ($host.Name -eq 'ConsoleHost') { Import-Module PSReadLine Set-PSReadLineOption -EditMode Emacs }

2022-07-09 12:31:09 · 1 min · Eddie Wang

windows11 安装 oh my posh

0. 前提条件 系统是windows11 已经安装过powershell 7 安装过vscode编辑器 默认情况下,所有命令均在powershell下执行的 1. 安装 oh my posh 1.2 方式1: 通过代理安装 假如你有socks代理,那么可以用winget安装 打开你的power shell 执行类似下面的命令,来配置代理 $env:all_proxy="socks5://127.0.0.1:1081" 如果没有socks代理,最好不要用winget安装,因为速度太慢。然后执行: winget install JanDeDobbeleer.OhMyPosh -s winget 1.2 方式2: 下载exe,手工安装 再oh-my-posh的release界面 https://github.com/JanDeDobbeleer/oh-my-posh/releases 可以看到很多版本的文件,windows选择install-amd64.exe, 下载完了之后手工点击执行来安装。 https://github.com/JanDeDobbeleer/oh-my-posh/releases/download/v8.13.1/install-amd64.exe 2. 配置 oh-my-posh 在powershell中执行下面的命令,vscode回打开对应的文件。 code $PROFILE 在文件中粘贴如下的内容: oh-my-posh init pwsh | Invoke-Expression 保存文件,然后再次打开windows termial, 输入下面的命令来reload profile . $PROFILE 然后你可以看到终端出现了提示符,有可能有点卡,第一次是有点慢的。但是很多符号可能是乱码,因为是没有配置相关的字体。 3. 字体配置 3.1 安装字体 下载文件 https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/Meslo.zip 解压文件 打开设置,在个性化》字体中,将之前下载好的所有字体,拖动到下面的红框中,字体就会自动安装 3.2 windows termial字体配置 用vscode打开对windows termial的配置json文件,在profiles.default.font中配置如下字体 "font": { "face": "MesloLGM NF" } ...

2022-07-08 13:30:15 · 1 min · Eddie Wang

关于我在闲鱼卖二手这件事

自从我换了新款的惠普战X之后,我的老搭档,2017款的macbook pro, 已经在沙发上躺了很久了。 我拍了拍它的脑袋,对它语重心长的说: 人不能闲着,闲着容易生病,笔记本也是如此。虽然你已经是5年前的mbp了, 但是廉颇老矣,尚能饭否? mbp面无表情,胡子邋遢,朝我瞥了一眼,像是嘲讽,又像是不满,一口气吸掉还剩一点的香烟,有气无力的说:我已经工作五年了,按照国家的法律规定,已经到了退休的年龄,是该享受享受了。 我

2022-07-07 21:34:28 · 1 min · Eddie Wang

最后一篇blog, 是时候说再见了

我最早用过有道,我觉得有道很烂。 后来我开始用印象笔记,我发现印象笔记更烂。不仅界面做的让人觉得侮辱眼睛,即使你开了会员也要看广告。 印象笔记会员被割了韭菜,充到了2026年,但是我最近一两年我基本没有用过印象笔记。 后来我遇到了文档blog界的new school, notion、语雀、飞书, 就完全抛弃了有道和印象笔记的old school。 做任何事情,都需要动机。 写公开博客也是如此。可能有以下原因 提升个人影响力 提高自己的表达能力 知识积累和分享 公开博客需要三方角力,平台方、内容生产者、内容消费者(读者)。 作为内容生产者,我们从选择一个平台是需要很多理由的。可能是UI界面的颜值,可能是一见钟情界面交互。 就像男女的相亲,首先要被外貌吸引,才能有下文。 然而除了那一见钟情的必然是短暂的,除此之外,我发现了另一个重要原因:迁移成本 我以前决定不用印象的时候,印象笔记上还有我将近一千多篇的笔记。虽说印象笔记有导出工具,但是只有当你用的时候,你才能体会导出工具是多坑爹。 假如你一天决定不用这个平台了,你想把所有你产出的内容都迁移出来,你要花费多少成本呢? 很多人都没有考虑过这件事情。 就像温水煮青蛙,只有感觉到烫的时候,青蛙才会准备跳走,但是青蛙还能跳出去吗? 可能他的腿都已经煮熟了吧? 从另外一个方面来说,作为内容生产者,我们要花时间,花精力来写文章,还要花金钱来买平台的会员,然而平台对内容生产者来说,有什么回报呢? 我们只不过是为他人做嫁衣罢了。就像旧时代的长工,只不过在一个大一点的地主家干活了吧。 再见了,语雀。 新的bolg地址: wdd.js.org 我以前没得选,我现在想选择做个自由人

2022-06-30 22:40:56 · 1 min · Eddie Wang

vfs_cache_pressure和min_free_kbytes对cache的影响

环境 kernal Linux 5.15.48-1-MANJARO #1 SMP PREEMPT Thu Jun 16 12:33:56 UTC 2022 x86_64 GNU/Linux docker 20.10.16 初始内存 total used free shared buff/cache available 内存: 30Gi 1.9Gi 19Gi 2.0Mi 9.6Gi 28Gi 交换: 0B 0B 0B 初始配置 sysctl -n vm.min_free_kbytes 67584 sysctl -n vm.vfs_cache_pressure 200 vfs_cache_pressure的对内存的影响 vfs_cache_pressure设置为200, 理论系统倾向于回收内存

2022-06-29 06:57:56 · 1 min · Eddie Wang

manjaro 安装 packettracer

# 将会下载packettracer到当前目录下 yay -G packettracer cd packettracer # Download PacketTracer_731_amd64.deb to this folder makepkg sudo pacman -U packettracer-7.3.1-2-x86_64.pkg.tar.xz 注意,如果下载的packetraacer包不是PacketTracer_731_amd64.deb, 则需要修改PKGBUILD文件中的, souce对应的文件名。 例如我下载的packettracer是Cisco_Packet_Tracer_811_Ubuntu_64bit_cf200f5851.deb source=('local://Cisco_Packet_Tracer_811_Ubuntu_64bit_cf200f5851.deb' 'packettracer.sh') 注意:最新版的packertracer打开后,必须登陆账号才能使用,有点坑。 花费点时间注册了账号后,才能用。 参考 https://forum.manjaro.org/t/how-to-get-cisco-packet-tracer-on-manjaro/25506/5

2022-06-15 18:54:11 · 1 min · Eddie Wang

mysql placeholder的错误使用方式

Error EXTRA *mysql.MySQLError=Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘? ( 然而我仔细看了看sql语句,没有看出来究竟哪里有sql报错。 然而当我把作为placeholder的问号去掉,直接用表的名字,sql是可以直接执行的。我意识到这个可能是和placeholder有关。 搜索了一下,看到一个链接 https://github.com/go-sql-driver/mysql/issues/848 Placeholder can’t be used for table name or column name. It’s MySQL spec. Not bug of this project. 大意是说,placeholder是不能作为表名或者列名的。 在mysql关于prepared文档介绍中,在允许使用prepared的语句里,没有看到create table可以用placeholderhttps://dev.mysql.com/doc/refman/8.0/en/sql-prepared-statements.html prepared语句的优点有以下几个 优化查询速度 防止sql注入 但是也有一些限制 不是所有语句都能用prepared语句。常见的用法应该是作为select where之后的条件,或者INSERT语句之后的值 不支持一个sql中多条查询语句的形式

2022-06-11 23:51:34 · 1 min · Eddie Wang
千与千寻

Hugo博客常见问题以及解决方案

如何在markdown中插入图片 在static 目录中创建 images 目录,然后把图片放到images目录中。 在文章中引用的时候 ![](/images/qianxun.jpeg#center) Warning 我之前创建的文件夹的名字叫做 img, 本地可以正常显示,但是部署之后,就无法显示图片了。 最后我把img改成images才能正常在网页上显示。

2022-05-28 21:08:43 · 1 min · Eddie Wang

Shell 教程技巧

复制文本到剪贴板 sudo apt install xclip vim ~/.zshrc alias copy='xclip -selection clipboard' 这样我们就可以用copy命令来考本文件内容到系统剪贴板了。 copy aaa.txt 判断工作区是否clean if [ -z "$(git status --porcelain)" ]; then # Working directory clean else # Uncommitted changes fi

2022-05-28 12:39:50 · 1 min · Eddie Wang