SSH 太慢?Git HTTPS 多账户管理教程来辣!
之前有写过 一篇文章 讲如何在 Git 中配置 ssh 多密钥管理,达到方便地切换 Git 使用的 ssh 的目的。
但是相信你能明显感觉到 ssh 比 https 慢了许多倍,而 ssh 多密钥管理,只有修改 ssh 里的 host 为你的配置 host 才有效,显然不能在 https 协议的 url 下生效。
不过不用担心,因为咱们遇到的难题其实很早就有人解决过了,今天就让咱来分享一下如何在 Git 上使用 HTTPS 的多账户管理。
Windows由于咱只有 Windows 设备,所以只说 Windows 下的方法吧(如果以后有了别的设备可能会回来填坑?)。
安装在 Windows 下, ...
GitHub Pages 证书过期 Cloudflare SSL 握手失败解决方法
最近突然发现咱的博客打不开了,一个来自 Cloudflare 的大大的 SSL 握手失败糊在咱的脸上。(瞳孔地震)
不是说 Cloudflare 会自动续证书的喵???(小小的眼睛充满大大的疑惑)
两个证书咱直接爬起床打开 Cloudflare,研究了会儿,终于知道是什么情况。
由于咱的博客是部署在 GitHub Pages 上,Cloudflare 只是一层代理,用户访问的时候是访问到的 Cloudflare,实际是 Cloudflare 帮咱们访问了 GitHub Pages,不过 Cloudflare 会做一层缓存。
那么这个过程中其实存在两次访问:用户访问 Cloudflare,Clo ...
jsDelivr 被干 如何拯救你的 blog
干!众所周知最近 jsDelivr 被神秘力量屏蔽了,这可不得了了,因为有许多 blogger 都是直接用的 jsDelivr 的 CDN,而咱用的 butterfly 主题也是默认全部使用 jsDelivr 的 CDN。
先给大家伙康康咱的 blog 寄成什么样了。
简直惨不忍睹。
思!刚开始咱本来打算在 Vercel 上部署一个项目,当作 jsDelivr 的镜像,不定期同步一下,可以通过 Vercel 的链接来访问。
但是想想似乎太麻烦了,一是需要自己写个脚本来更新,二是写完之后还得自己去同步(当然也可以整个 GitHub Actions 来做自动化)。
后来突然想起来咱以前不是 ...
可以判断素数的正则表达式!
敲有意思最近在阮一峰老师的订阅上看到一篇文章,讲了一个特别有意思的验证素数的正则表达式。
^1?$|^(11+?)\1+$
用法刚看到这个正则表达式的时候真的令人惊讶:什么,就这两句就能囊括素数的规律吗?
其实并不是,在判断素数之前,咱们还得将要判断的这个数 $n$ 转换成由 $n$ 个特定字符组成的字符串。什么意思呢?举个栗子:
假设这个 特定字符 是 1 。
要判断 4 是否为素数,就向正则输入 1111 ;要判断 7,则输入 1111111 。
将表达式测试该字符串的结果取反,就表明这个数是否是素数。即:正则匹配成功为合数,匹配失败为素数。
解析没错,这个正则验证的并不是数本身,而 ...
GitHub commit 签名指南
在 GitHub 上,咱们可以对 commit 进行签名。可能会有人跟咱有一样的疑惑,GitHub 在 push 代码的时候,不是已经做过一次验证了吗,为什么还要对 commit 进行签名呢?咱就先来简单地解释一下这个问题。
为什么要签名?一句话概括,commit 签名是用于证明 commit 的来源。下面讲讲 commit 签名与 push 验证的区别。
首先 push 验证在 GitHub 上是使用 ssh 进行验证的,用于验证某一用户对某仓库是否有访问权限(读写等)。这一验证过程只在 push 代码时进行检查。
如果用户对该仓库没有对应权限,就不能 pull/push 代码。而 ssh ...
解决 Android Studio 官网下载超时问题
不知道为什么现在从 Android Studio 官网下载/更新的时候总是会先跳到一个重定向页面,然后根据你的地区选择一个近的节点下载。
有意思的是不管国内 .cn 站点还是国外 .com 站点都有这种现象,而且就算走代理也会给你重定向到国内节点。
于是突发奇想,找到了以前下载 Android Studio 的地址,将 URL 中的版本和文件名的部分给替换成当前想要下载的版本,就可以正常下载了:
如:
https://r4---sn-j5o76n7z.gvt1.com/edgedl/android/studio/install/2021.1.1.23/android-studio-2021. ...
比较优雅地解决 CSS blur 白边问题
在对图片使用 CSS 的 blur 模糊效果的时候,图片旁边会出现白边,原因大概是把图片之外的空白内容也纳入模糊算法之内了。
网络常见解决方案在网上搜索了一圈,主要还是两种说法:
blur 值比较大的时候,将 background-size 设置为 150% 150% ,但是咱试过并不可行,只是将模糊的部分变成了图片的中间的一部分。
blur 值比较小的时候,在模糊的图片背后再添加一个原来的图片。这样会有一个问题就是模糊效果在边缘的时候会变小,而且这种解决方式非常不优雅,需要在两个地方管理同一张图片,对于浏览器的渲染肯定也是不友好的。
可能更优雅的解决方案于是咱借鉴了网上的第一种方案 ...
JavaScript 更改 eval 中的 this
开端最近想实现一个小功能,通过一个字符串在对象上任意访问属性,还要支持表达式计算,前者可以直接通过属性访问器实现,但是要支持表达式计算,就得使上咱们的 eval 函数了。
看解决方案直接拉到文章底部。
然后直接踩坑。
众所周知 Function.prototype.call 和 Function.prototype.apply 方法可以在指定的上下文中调用函数。(JS 中的 this 只与被调用时的上下文有关)
咱马上就想出了代码,大概长这样:
1eval.call(context, expression)
然后发现代码一直达不到效果,一番调试之后发现了其中的大坑。
初探查了一下网上也 ...
Java 浅谈 interrupt
使用 interrupt 替代 stop 等方法在编写多线程程序的时候,难免会碰到需要终止一个线程的情形。但是 Thread.stop() 等一系列方法是 Java 官方不赞成使用的,在一些 IDE 里使用这些方法会报方法被废弃的警告。而官方建议使用的方法是 Thread.interrupt() ,这个方法会通知线程中断,至于线程被通知后怎么做就要咱们自己实现了。
在线程中可以调用 Thread.isInterrupted() 方法来查看自己是否被通知。
下面上一个小 demo。
interrupt 使用123456789101112131415161718192021222324public ...
Git 中 ssh 多密钥管理
很多时候咱们对于不同的仓库需要用到不同的 ssh 密钥,比如区分个人用的 git 和公司用的 git ,或者在不同的 git 托管平台间切换等等情况。
遇到上述情况就需要在切换平台的时候同时切换 ssh 密钥,如果手动切换的话会比较麻烦,不过幸好的是咱们有多密钥管理的方法 ww
方法一:ssh-agent一、准备密钥可以将最常用的那个密钥设置为默认文件名 id_rsa (注意密钥文件都是成对存在的,比如 xxx 和 xxx.pub ,其中无后缀文件为私钥,pub后缀文件为公钥,本文中只会同时提到一个文件,但如果要进行操作请两个文件同时操作)
将其他相对不太常用的密钥设置为其他文件名。
当然你也 ...
联想笔记本浏览器默认首页修改
咱个人不喜欢用任何搜索引擎作为主页,主要是东西太多眼花缭乱,而且打开有一定延迟,显然没有简洁快速的新标签页好。
微软日语输入法使用技巧
在Windows系统中切换输入语言的技巧众所周知,在Windows系统中,切换输入法的快捷键为 Ctrl + Shift 。实际上这个输入法的切换只会在同语言下进行(Win10是这样的机制,印象中Win7似乎不是),也就是说你的系统默认语言是简体中文,安装了日语输入法后使用 Ctrl + Shift并不能切换到日语输入法。
此时需要使用 Alt + Shift 快捷键来切换输入法语言(当然使用鼠标点击语言栏,或者使用 Win + Space 快捷键会列出所有已安装的输入法,在这里可以不限语言地切换输入法)
同理切换到日语输入法后,也是不能使用 Ctrl + Shift 切换回中文输入法的。
微 ...
和弦理论学习笔记
太难了,暂时弃了,如果有愿意教咱的大佬请联系咱!(
Java-多态中成员和静态的特点
最近在肝Java的基础教程,多态真是个令新人头疼的东西...
好不容易理解了多态的方法特点,结果又整出来俩例外?!没错,就是成员和静态...
好不容易理解了多态的方法特点,结果又整出来俩例外?!没错,就是成员和静态...
Eclipse调整控制台和编辑器字体
最近学校专业课学到了eclipse,第一个程序是打印一个DOS菜单,然后发现两个半角和一个全角的宽度不一样,于是需要修改编辑器和控制台的字体才能解决。修改方法如下。