Michael翔

因上努力,果上随缘!


  • 首页

  • 标签

  • 分类

  • 归档

  • 利器

  • 阅读

  • 观影

  • 一言

  • 关于

  • 搜索

【转】说说云计算中的地域和可用区概念

发表于 2019-06-01 | 更新于 2025-02-08 | 分类于 Cloud

原文链接: 说说云计算中的地域和可用区概念 亚马逊 AWS 是公共云计算的先驱,一些云计算中重要的产品设计和基础概念可以说都是亚马逊引入的。这其中有两个非常重要的概念:地域(Region)和可用区(AZ:Availabe Zone)。很多第一次接触云计算的同学,光看这两个名字的字面意义,虽然也能 ...

阅读全文 »

利用 Hexo + Github Pages 搭建博客并优化 Next 主题教程

发表于 2019-05-19 | 更新于 2025-02-08 | 分类于 ToolsDaily

概述本文总结一下 Hexo 搭建博客的主要流程,能够在日后快速恢复博客环境。 Hexo 的官方文档写的已经很全面了,本文仅将一些注意点列出。 安装 Hexo 的文档参考: 官宣-Hexo 文档 前提安装 Hexo 之前,你的电脑上需要有 Node.js Git 如果是 Mac 用户, 您在编 ...

阅读全文 »

【转】程序员的核心能力

发表于 2019-05-11 | 更新于 2025-02-08 | 分类于 思考

原文链接:程序员的核心能力 阅读博客时发现的这篇文章,觉得说的挺有道理,转载一下。自己近期也感觉到了一些焦虑感,觉得太多东西要学了,各个技术公众号、论坛,传递出来的这些东西,都让人感觉焦虑!一直在大容量的「被灌输」,自己的主动思考却少之又少,这必然不是成长的长久之道! 程序员要掌握的知识,要具备 ...

阅读全文 »

JetBrains PyCharm/IDEA 使用技巧总结

发表于 2019-05-11 | 更新于 2025-02-08 | 分类于 ToolsDev

工欲善其事必先利其器 基本概念IDEA 没有类似 Eclipse 的工作空间的概念(workspace),最大单元就是 Project。这里可以把 Project 理解为 Eclipse 中的 workspace。Module 可以理解为 Eclipse 中的 project。一个 工程(Pro ...

阅读全文 »

ss+vps+mac

发表于 2019-04-27 | 更新于 2025-02-08 | 分类于 ToolsDaily

Vultr 选择的是日本的节点,发现速度比较不错,油管视频 1080P 无压力!而且,感觉 Vultr 的界面也很清新,用着很方便。

阅读全文 »

Linux lvm 分区知识笔记

发表于 2019-04-23 | 更新于 2025-02-08 | 分类于 Linux

盘面上可以细分出扇区(Sector)与柱面(Cylinder)两种单位,其中扇区每个为512bytes那么大。

通常所说的”硬盘分区”就是指修改磁盘分区表,它定义了”第n个磁盘块是从第 x个柱面到第y个柱面”.因此,当系统要读取第n个磁盘块时,就是去读硬盘上第x个柱面到第y个柱面的信息.

阅读全文 »

笔记-玩转Spring全家桶

发表于 2019-04-18 | 更新于 2025-02-08 | 分类于 Java
阅读全文 »

工作中常用的 Shell 命令及技巧

发表于 2019-04-14 | 更新于 2025-02-08 | 分类于 Linux

字符串相关操作

从 URL 截取字段

默认去除url的最后斜线:

1
2
url=http://xxx/patch/xxx/xxxx/
tar_name=$(echo ${url%*/}|awk -F '/' '{print $NF}')

shell 判断字符串包含

1
if [[ $tar =~ tar.gz ]];then echo "包含";fi
  • Shell判断字符串包含关系的几种方法

字符串切割截取

最近项目中遇到了一个问题,之前一直正常的版本号,突然格式不对,多了不必要的前缀。经过定位,发现之前写的脚本是根据下划线 _ 分割,截取最后的一段作为版本号 version。但是使用的语法有点问题,做个笔记。

1
2
3
4
${varible##*string} 从左向右截取最后一个string后的字符串
${varible#*string} 从左向右截取第一个string后的字符串
${varible%%string*} 从右向左截取最后一个string后的字符串
${varible%string*} 从右向左截取第一个string后的字符串

示例:有这样的一个字符串:release_eu_1.0.0.202011221152,它执行上面的截取操作,输出如下:

1
2
3
4
5
6
7
8
$ echo ${version##*_}
1.0.0.202011221152
$ echo ${version#*_}
eu_1.0.0.202011221152
$ echo ${version%%_*}
release
$ echo ${version%_*}
release_eu

所以,工作中遇到的那个问题解决了,应该使用两个 # 的截取方式。不得不感叹,shell 真是强大。

参考:

  • cnblogs/shell 字符串分割与连接

调试 bash 脚本的技巧

  • 加 -x 参数运行 bash 脚本时,会显示执行的语句
1
2
# 也可以在 demo.sh 中加上 set -x
bash -x demo.sh
  • 设置环境变量,然后通过如上方式运行脚本时,会显示行号
1
export PS4='+${BASH_SOURCE}:${LINENO}:${FUNCNAME[0]}: '
阅读全文 »

Mac 配置教程-开发篇

发表于 2019-04-14 | 更新于 2025-02-08 | 分类于 ToolsDev

将 Mac 日常使用的软件和开发软件区分开,将之前写的 Mac 配置的文章分成了两篇: Mac 配置教程-日常篇 Mac 配置教程-开发篇 支持 NTFS 磁盘阅读文章 Mac 免费支持 NTFS 格式的移动硬盘/U盘 图床这篇文章介绍的 优雅的图床工具,简直完美~ uPic 支持利用 Gi ...

阅读全文 »

Python 模块的加载顺序

发表于 2018-12-15 | 更新于 2025-02-08 | 分类于 Python

阅读全文 »
1…91011…14
Michael翔

Michael翔

DevOps,公众号『Coder魔法院』
134 日志
29 分类
151 标签
RSS
GitHub 微博 博客园 知乎 Twitter Telegram
Creative Commons
关注列表
  • Blog List
  • ZeeCoder
  • ehlxr
  • 卡瓦邦噶-蚂蚁SRE
  • David Dai
  • Sanarous
  • ZhangYong-爱折腾软件
  • Dalaoyang-SpringBoot
  • 无聊小博
  • 低调小熊猫-Java开发
  • 建站日志
0%
© 2015 – 2025 Michael翔