告别 Word,为什么我选择 Markdown 写作?

自从搭建了这个个人博客,我就彻底爱上了 Markdown 这种轻量级标记语言。

什么是 Markdown?

Markdown 是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。

相比 Word,它的优势在哪里?

  1. 专注于内容
    在 Word 里,我们经常为了排版浪费时间(调字号、调行间距)。而在 Markdown 里,你只需要输入 # 就是标题,输入 * 就是列表,完全不需要鼠标点击,让你沉浸在写作本身。

  2. 格式统一
    无论在哪个编辑器里打开,Markdown 的源文件都是纯文本,不会出现“在这个电脑上排版乱了”的情况。

  3. 代码高亮
    对于程序员来说,Markdown 最棒的功能就是对代码块的支持。

    1
    2
    3
    public static void main(String[] args) {
    System.out.println("Hello, Markdown!");
    }

结语

强烈推荐大家尝试一下 Markdown。不需要复杂的软件,一个记事本就能写。如果你也是技术爱好者,它绝对是你的必备技能。

Python 学习日记:优雅的列表推导式

最近开始系统学习 Python,发现它真的比 C++ 和 Java 简洁太多了。特别是“列表推导式”(List Comprehension)这个特性,简直是提升代码可读性的神器。

什么是列表推导式?

简单来说,就是用一行代码代替传统的 for 循环来生成列表。

场景: 假设我们需要生成一个包含 0 到 9 的平方数的列表。

普通写法:

squares = []
for x in range(10):
    squares.append(x**2)
print(squares)
列表推导式写法:

Python

squares = [x**2 for x in range(10)]
print(squares)
结果是一样的:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]。但是代码量减少了很多,而且阅读起来更符合直觉。

带条件的推导式
比如我们只要偶数的平方:

Python

even_squares = [x**2 for x in range(10) if x % 2 == 0]
总结
Python 的哲学是 "Simple is better than complex"。虽然列表推导式很好用,但也不要写得太复杂,否则反而降低了可读性。继续加油,争取下周把爬虫基础看完!


---

**解释一下原理:**
你把上面这段“乱乱的”带符号的文字放进 `.md` 文件后,Hexo 这个程序会读取这些符号(比如 `###` 和 ````python`),然后自动把它转换成你截图里那种漂亮的网页。

现在试试看,这样能不能生成文件?

Docker 容器化部署初探:为什么我们需要容器?

随着微服务架构的流行,Docker 已经成为了后端开发和运维必须掌握的技能。最近抽空系统了解了一下 Docker 的基础概念,做个简单的总结。

传统虚拟机 vs 容器

在 Docker 出现之前,我们通常使用虚拟机(VM)来隔离环境。

  • 虚拟机: 需要模拟硬件,运行完整的操作系统,启动慢,占用资源多(GB 级别)。
  • 容器(Docker): 共享宿主机的内核,只打包应用代码和依赖库,启动是秒级的,且非常轻量(MB 级别)。

Docker 的三个核心概念

  1. 镜像 (Image)
    类似于“安装包”或者“快照”。它是一个只读的模板,包含了运行程序所需的一切环境。

  2. 容器 (Container)
    镜像运行起来就是容器。如果说镜像是类(Class),容器就是实例(Instance)。容器是可以被启动、停止、删除的。

  3. 仓库 (Repository)
    存放镜像的地方,类似于代码仓库 GitHub。最常用的是 Docker Hub。

常用命令体验

# 拉取一个 nginx 镜像
docker pull nginx:latest

# 运行容器
docker run -d -p 80:80 --name my-nginx nginx

# 查看正在运行的容器
docker ps

Linux 常用基础命令备忘录

最近在整理服务器维护的一些常用命令,把平时用得比较多的记录一下,方便以后查阅。

1. 文件与目录操作

最基础的操作,每天都要用。

  • ls -l: 列出当前目录下的文件详细信息。
  • cd /path/to/directory: 切换目录。
  • mkdir new_folder: 创建一个新目录。
  • rm -rf folder_name: 删除文件夹及其内容(注意:使用时要非常小心!)。
  • cp source_file dest_file: 复制文件。
  • mv old_name new_name: 移动或重命名文件。

2. 系统资源查看

当服务器感觉变慢时,通常会用这些命令排查。

  • top: 实时显示系统进程和资源占用情况(CPU、内存)。
  • df -h: 查看磁盘空间使用情况,-h 是为了让显示更人性化(以 GB/MB 为单位)。
  • free -m: 查看内存使用情况。

3. 网络相关

  • ping www.baidu.com: 测试网络连通性。
  • ifconfigip addr: 查看本机的 IP 地址配置。
  • netstat -ntlp: 查看当前所有监听的端口,排查端口冲突时很有用。

总结

Linux 的命令浩如烟海,不需要背诵所有参数,掌握核心的几十个就能应付大部分场景了。遇到不会的直接 man 一下或者搜文档即可。

本文仅为个人学习记录,如有错误欢迎指正。