Đaviđ

Đaviđ

Rime:属于自己的输入法

Rime:属于自己的输入法

输入法可以分位系统自带的输入法和第三方输入法。以前自己喜欢用系统自带的输入法,因为更干净,更简洁。但是词库不却不如第三方丰富。而第三方的输入法数搜狗最有名,但是除了广告和隐私的问题之外还会让我感到“臃肿”并且在输入一些特殊字符或符号是缺少便利性。 有许多第三方输入法为了解决搜狗的这些问题而做了创新和改进,但选择,学习和使用不同的输入法是有时间成本的,因此在选择适合自己的输入法之前,明确自己使用输入法的一些核心需求就显得尤为重要。 对于我来说,我希望输入法能够有小鹤双拼的输入方案。为了省去配置系统输入法的过程,我选择了搜狗输入法。在此期间也多次在论坛里看到有人推荐Rime。但是当我第一次试着去了解和使用Rime时,只有一个感受:也太他妈复杂了! 偶然一次看到这篇文章,改变了我对Rime的看法:没想到Rime使用起来能够这么方便!这篇文章也是在使用Rime几个月之后,对那篇文章作者的一篇答谢,让我重新认识并喜欢上了Rime! Rime严格来说并不算是一个输入法,可以理解为一个输入法框架或规范。在不同的平台有不同的实现版本,在macOS上最常见的发行版是鼠须管,在Windows上则是
By Đaviđ
让PuTTY更易用

让PuTTY更易用

工具只是工具 有很多终端工具可供选择,如果你喜欢用XShell,SecureShell和其他一些终端工具当然可以.但是把时间浪费在争论他们之中哪些工具"更好"或者哪些工具"更差"是没有意义的一件事情. 学习新的技能或新的工具是有时间成本的.对于我来说只有当现在的工具无法满足需求时才会转向寻找其他工具. PuTTY是我最早接触和使用的一种终端工具并且能满足现在的需求.虽然PuTTY在文件上传下载需要借助WinSCP来实现.但是习惯已经养成了. PuTTY的问题 对我来说PuTTY最大的问题是高亮问题.好在也有很多习惯使用PuTTY的朋友为了解决这个问题给它预制了一些主题. 你可以在这里找到喜欢的主题(或者叫色彩配置)打开这个GitHub Repo下载对应名称的注册表文件(.reg) 双击注册表文件, 选择"是"就可以应用这个配色. 应用之后新打开的Session就是新的配色方式. DIY一下 配色方式已经有现成的方案可以使用, 另一个问题就是字体大小.默认的字体对我来说有些小. 我们先用文本编辑器(记事本,Notepad++, VSCode等)随便打开一个刚刚下
By Đaviđ
网络升级-编译OpenWrt固件

网络升级-编译OpenWrt固件

OpenWrt是很受欢迎的路由器插件,自己选择使用Lean对原版进行修改的固件,在他的Github仓库上虽然也有编译的步骤,但是往往真的动起手来才会遇到问题。 这里有一份BIGDONGDONG整理好的文档,阅读起来会更友好有些。如果可以直接下载到编译好的固件是最好不过了(第一次编译是真的很耗时)。我不知道自己脑子出了什么毛病要自己去编译一遍(事实上是两遍,第一次失败了)。 有用良好的环境是编译成功的基础。最为关键的两个因素是: 1. 执行编译的机器可以无障碍访问Github(海外服务器最佳) 2. 执行编译的机器磁盘可用空间至少预留30GB 因为编译时要从Github上下载许多组件,也会生成很多中间文件,自己成功编译时占用了27GB的空间。这还是没有加什么额外插件的情况下。 真正编译成功后的镜像也不过200MB 创建一个新用户并添加sudo权限 严格按照Github仓库上的说明:使用Ubuntu 20.04,使用非root用户编译。一般情况下我们购买的VPS默认提供都是root用户登入。因此我们需要新建要给用户,并授予sudo权限。 useradd -m dvd
By Đaviđ
help message的约定俗成

help message的约定俗成

经常使用man手册或者--help参数来显示某个程序(命令)的帮助信息时总会看到类似于下面的内容输出: 不同的命令显示帮助信息的形式都是类似的, 其中最常见的就是括号(brackets)的使用. 虽然帮助信息的自定义属性很强烈, 但是在括号的使用上作者们似乎还是形成了一个约定俗成的规矩: > reference link [https://stackoverflow.com/questions/21503865/how-to-denote-that-a-command-line-argument-is-optional-when-printing-usage] 方括号: [代表可选参数] 尖括号:<代表必要参数> 大括号:{代表默认值} 小括号:(可以是除上述之外的一些其他信息) 这些规矩不仅仅在shell命令上适用, 在看编程语言API时也同样可以参考一下~
By Đaviđ
Linux 文件的属性

Linux 文件的属性

7/100 我被不同的面试官问到了同一个问题2次:"当你发现用rm -rf删除某个文件却删不掉时,你会怎么办?" 我以前从来没有遇到过这样的情况,心里想"真的会有这种情况吗?"第一次没有回答上来时我不以为然,但次二次被问及这个问题我又没回答上来,压力就来到了我这边... 了解了Linux上文件的属性后,我才知道这是怎么一回事. Linux文件的权限和属性 当我们讨论Linux上的文件时我们通常会说它可读可写不可执行,或者赋予xx文件644的权限.这些讨论的都是文件的权限. 文件的属性也许以前只在大部头上潦草看过但从来没当回事,在工作中也几乎没有遇见应用了属性的文件.也一直以为控制文件的方式只有文件的权限. 无法使用rm -rf删除时怎么办? 发现用户已经拥有足够的权限但无法对文件进行删除时应该检查该文件的属性,lsattr命令可以帮我们做到这一点: -l参数可以更友好的为我们展示文件所拥有的属性. Immutable(-i)控制了文件无法被删除被删除: 解决办法也很直接:直接去掉文件的Immutable属性.chattr可以帮助我们做到这一点. chattr +/-
By Đaviđ

优雅的处理日志-logrotate

5/100 对系统管理员或者运维的同学来说,处理日志是很常见的工作,日志里的数据是系统监控,问题诊断,性能分析的重要数据来源.不过随着业务的变化生产的日志体量也越来越庞大,如果不考虑日志的合理存储策略,那么生产系统有一天也会因为空间不足而无法提供服务,造成生产事故. 通常我们要处理日志下意识的反应就是"写一个脚本来处理", 如果你的脚本经验丰富可以很轻松的处理这些问题,那么写一个脚本来处理也许更适合你.但如果对脚本的编写不那么熟悉,那么logrotate这款工具可以帮你轻松的完成任务. 通识概念 logrotate已经在大多数的Linux发行版中自带了,如果你的电脑中没有这个命令可以直接用包管理进行安装: #CentOS yum install logrotate -y #Ubuntu apt install logrotate -y logrotate可以帮你对日志进行切割,归档,删除旧的归档,对日志进行压缩甚至通过电子邮件邮寄日志到你的邮箱. logrotate会读取配置文件,配置文件中存储的就是日志的处理策略./etc/logrotate.conf是主要的配置文
By Đaviđ
为什么计算机要采用二进制?

为什么计算机要采用二进制?

4/100 现在我们都知道计算机采用的是二进制进行数的表示和计算的,但是当时在设计计算机的时候为什么偏偏选择二进制,选择十进制不是更符合人们的阅读和使用习惯吗? 这个问题今天看到了一个合理的解释,但是给出这个解释之前,需要先了解一下“图灵机“ 图灵机 图灵机是图灵在一篇讨论"什么是可计算的"的论文中提出的一个模型.  这个模型包含几个部分: 1. 一个存储装置:一条无限延伸的纸带,被划分为N个格子,每个格子可以存储字母或数字。 image from wikipedia2. 一个修改装置:他自身拥有一个存储自身状态(有限个)的存储器。(比如上图中的q1就是一种状态)并且可以: * 读取/修改存储装置(那条无限的纸带)上的数据 * 沿着存储装置向左或向右移动 * 能够接受一个外部程序(外部指令) 这里有一个依据理论模型实现的机器视频: 如果采用十进制会怎么样 注意到修改装置是由一个能够接受外部指令或外部程序的地方。假如我们设计一个使用十进制的计算机,那么存储装置,也就是那条无限长的纸带上的每个格子就可以有10种情况(0~9),假定修改装置自身拥有3种状态(q1,q2
By Đaviđ
Windows SSH

Windows SSH

涉及到的话题👇 #Windows #权限修改 OpenSSH可以安装 [https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse] 在Windows10以上的系统.Windows Terminal [https://docs.microsoft.com/en-us/windows/terminal/] 也默认集成了OpenSSH. 从Linux上导出私钥后通过Windows Terminal上的SSH进行登录, 运气不好的话就会发现出现了"Permission too open"的错误提示: Picture from here [https://itectec.com/superuser/windows-ssh-permissions-for-private-key-are-too-open/] . 上面的连接里也给出了解决办法. 不论是在Linux上还是在Windows上, ssh-server对密钥的权限要求都是严格的: 密钥应当只允许密
By Đaviđ

GPG-GNU Privacy Guard

敏感文件进行加密可以使用GPG,在安装的时候会发现有gpg和gpg2两个版本。在桌面发行版或者macOS上使用,使用gpg2。 gpg2安装后依然使用gpg命令进行使用,而不是gpg2。 如果要对文件加密,首先要生成密钥对,然后再使用密钥对对文件进行加密。 生成密钥对 gpg --full-gen-key 用户名或邮箱只是作为密钥对的识别符,并不需要真实的邮箱地址。 对文件进行加密 gpg -r <密钥识别符> -e file-need-to-encrypted 然后会生成一个.gpg后缀的加密文件,那个就是加密成功后的文件。 方面记忆命令: -r:recipe(配方,理解为用什么东西,哪一个密钥进行加密) 对加密文件进行解密 gpg -d encypted.gpg 执行后会提示你输入相应密钥的密码。这里不需要指定用什么密钥进行解密。 查看和删除 如果想要看自己生成了哪些密钥对,使用命令 gpg --list-keys 要删除密钥对需要执行两步操作,分别用来删除公钥和私钥。 gpg --delete-keys <密钥对的识别符> #删除公钥 gpg --de
By Đaviđ