概述本文总结一下 Hexo 搭建博客的主要流程,能够在日后快速恢复博客环境。 Hexo 的官方文档写的已经很全面了,本文仅将一些注意点列出。 安装 Hexo 的文档参考: 官宣-Hexo 文档 前提安装 Hexo 之前,你的电脑上需要有 Node.js Git 如果是 Mac 用户, 您在编 ...
【转】程序员的核心能力
原文链接:程序员的核心能力 阅读博客时发现的这篇文章,觉得说的挺有道理,转载一下。自己近期也感觉到了一些焦虑感,觉得太多东西要学了,各个技术公众号、论坛,传递出来的这些东西,都让人感觉焦虑!一直在大容量的「被灌输」,自己的主动思考却少之又少,这必然不是成长的长久之道! 程序员要掌握的知识,要具备 ...
JetBrains PyCharm/IDEA 使用技巧总结
工欲善其事必先利其器 基本概念IDEA 没有类似 Eclipse 的工作空间的概念(workspace),最大单元就是 Project。这里可以把 Project 理解为 Eclipse 中的 workspace。Module 可以理解为 Eclipse 中的 project。一个 工程(Pro ...
Linux lvm 分区知识笔记
盘面上可以细分出扇区(Sector)与柱面(Cylinder)两种单位,其中扇区每个为512bytes那么大。
通常所说的”硬盘分区”就是指修改磁盘分区表,它定义了”第n个磁盘块是从第 x个柱面到第y个柱面”.因此,当系统要读取第n个磁盘块时,就是去读硬盘上第x个柱面到第y个柱面的信息.
工作中常用的 Shell 命令及技巧
字符串相关操作
从 URL 截取字段
默认去除url的最后斜线:
1 | url=http://xxx/patch/xxx/xxxx/ |
shell 判断字符串包含
1 | if [[ $tar =~ tar.gz ]];then echo "包含";fi |
字符串切割截取
最近项目中遇到了一个问题,之前一直正常的版本号,突然格式不对,多了不必要的前缀。经过定位,发现之前写的脚本是根据下划线 _
分割,截取最后的一段作为版本号 version。但是使用的语法有点问题,做个笔记。
1 | ${varible##*string} 从左向右截取最后一个string后的字符串 |
示例:有这样的一个字符串:release_eu_1.0.0.202011221152
,它执行上面的截取操作,输出如下:
1 | $ echo ${version##*_} |
所以,工作中遇到的那个问题解决了,应该使用两个 #
的截取方式。不得不感叹,shell 真是强大。
参考:
调试 bash 脚本的技巧
- 加
-x
参数运行 bash 脚本时,会显示执行的语句
1 | # 也可以在 demo.sh 中加上 set -x |
- 设置环境变量,然后通过如上方式运行脚本时,会显示行号
1 | export PS4='+${BASH_SOURCE}:${LINENO}:${FUNCNAME[0]}: ' |
Mac 配置教程-开发篇
将 Mac 日常使用的软件和开发软件区分开,将之前写的 Mac 配置的文章分成了两篇: Mac 配置教程-日常篇 Mac 配置教程-开发篇 支持 NTFS 磁盘阅读文章 Mac 免费支持 NTFS 格式的移动硬盘/U盘 图床这篇文章介绍的 优雅的图床工具,简直完美~ uPic 支持利用 Gi ...
Python 调试模块 ipdb
授人以鱼不如授人以渔,掌握调试方法是学习提升的一个必备条件。前几天因为探索了一下 Python 模块引入路径的问题,看到「翔 Core」用 pdb 调试的很溜,因此,今天研究一下 ipdb好啦。