https://cdn.programmer.work/icon/avatar.jpg

Shawn's blog

分享我的知识、经验、生活与感悟

文章内容可能过时、有瑕疵、有误、甚至和主流价值观相违背

编写 Python 程序的 10 个典型错误

0X00 开头

最近买了本书,叫做《100个Go语言典型错误》,发现这样的总结很有意思。决定自己也写一个,不过以我的水平写本书还是有点离谱了,但是写一篇博客还是没什么问题的,所以就有了这篇文章。

一种简单的 Linux 内存不足抢救方案

0X00 正文

前几天尝试用自己的服务器通过 docker 启一个新服务,没注意这个服务需要的内存比较大(我的服务器只有 2G 内存),导致 docker compose up -d 命令敲下去不到一分钟服务器直接卡死了……

苹果里的虫子:macOS 的几个臭毛病

0X00 叠甲

开局先叠甲,我到现在为止用过一台 Mac mini,一台 Intel 的 MacBook Pro 和一台 M2 Max 的 MacBook Pro,自费购买 MacBook 花费超过 3W 元,累计使用超过 5 年,是个不折不扣的 macOS 用户。我认可很多 MacBook 和 macOS 的设计理念,如果我现在只能保留一台电脑,那极大可能我会选择一台 MacBook Pro。

如何高质量地接入 AI

0X00 没有什么意义但我就是想写的前言

有一说一现在的大模型发展太快了,最开始我列这个大纲的时候是把 deepseek 作为「凑合能用但超级便宜」的一个国产替代品来介绍的,没想到过了个年它直接翻身了,现在甚至能打 GPT-4o。所以我决定现在立刻马上把这篇文章写完,否则没准又杀出来个什么模型,会导致我永远写不完了 🤣

2024 年度总结

0X00 碎碎念

数数看这已经是我的第六篇年度总结了,每当回过头去看之前的总结就感觉写这些也还挺有意义的。虽然写日记对我来说太困难了,但是写「年记」好像还行,甚至有点乐在其中 🤔

2024 年的自建 NAS 不专业不完全手册

0X00 你需要一台 NAS 吗

不知怎么的,在移动互联网疯狂发展的今天,反而慢慢开始兴起了自建网络服务这种复古风潮。最近这些年身边的朋友同事越来越多聊到 NAS 了,甚至 B 站上出现了一小撮 NAS 区 UP 主(没错,你知道我说的是谁)。就更不说现在淘宝咸鱼上大量的 NAS 专用机箱,甚至是 3D 打印的定制化版本了。

假数据制造机:Python 中的 Faker 库

0X00 来骗,来偷袭

这次来介绍一个来骗来偷袭的 Python 库:Faker。我们平时经常会跟数据库、跟 csv 这些东西打交道。尤其是当你设计一个数据库表的时候,开发和测试环境中只有空荡荡一个表,没有测试数据就很尴尬。

Linux 文本三剑客 grep/awk/sed 入门手册

0X00 前言

不知道为什么,当三个好用的工具在一起的时候就会被称作:三剑客;四个好用的工具在一起的时候就会被叫做四大天王 🤔。

算了,这不重要。

这篇文章的目的是带不了解这三个工具的朋友们简单上手使用它们,默认各位是掌握了 Linux 的基本用法的,其中也会出现有关正则的内容。如果你不懂正则的话建议跳过正则的部分,并且看完这篇文章马上就去学。另外,不要因为正则看起来有点像通配符就按通配符的操作进行下去。

写给新手的 iptables 使用说明

0X00 基础知识

常用 Linux 的各位估计都知道 iptablesfirewalldufw 这三个工具吧,或者还知道 netfilter 这个内核组件。但是他们究竟是什么关系呢?从关系上来讲,可以将他们分成三层:最底层是 Linux 的安全框架 netfilter,上面是用来操作 netfilter 的 iptables,再上层是 firewalld 和 ufw。

究竟什么是加密

0X00 什么不是加密

首先要先明确一个问题:我们日常使用非常多的 md5、SHA-1、SHA-256 这些 通通都不是加密 ,这些叫做摘要算法 。一串明文经过加密算法加密之后,是可以再次解密成明文的,但是摘要算法就不行了。

Python 标准库之 collections

0X00 Header

相信各位肯定都对 Python 中的基础、常见数据类型和数据结构比较熟悉了吧,不管是 intfloatstringbool 还是 listtupleset 用起来应该也都是手到擒来了吧。下面我们就来简单了解一下相对高级一些的 Python 内置数据结构,这些数据结构全都在 collections 的标准库中。

2023 年度总结

片头胡诌

要说 2023 年跟前几年比起来有什么最大的变化,那应该就是防疫了吧。连续了三年的疫情或者说防疫,终于在 2023 年到来的时候结束了。本以为到了新的一年能报复性娱乐 一把,但是低头看了看兜里的钱,抬头看了看当前的经济形势,一怒之下就…在床上翻了个身 😮‍💨

写给 git 新手的 6 个小技巧

0X00 header

首先,git 是没有 header 这个命令的:)

平时经常会用到一些 git 的用法,也有遇到过别人来问怎么实现某某操作,但是都太零散了并不成体系,所以这里就简单整理一下不做分类了。希望对不小心通过 Google 搜到该文章的你有所帮助(不会的有人能搜到吧🤣)

Shell 中的文本处理【简】

0X00 前言

在这里介绍 Shell 脚本编程和日常的命令行操作中最常用的 9 个命令,希望对读到这篇文章的你有所帮助~

这是一篇基础得不能再基础的内容,如果你看完还能有两三个收获的话,那就一起来恶补 Linux 知识吧🤣

关于 sudo 命令也许你需要知道的

0X00 介绍

不管对 sudo 的了解具体有多少,至少应该都用过 sudo 命令来临时将自己的非 root 用户提权至 root 了吧。不过 sudo 当然不只是将用户变成 root 的这么一个简单工具了,虽然它确实是将用户临时变更为 root ,但是页还是有不少其他更加细致的配置与选项。

你为什么需要会用 tmux

0X00 简单介绍

想必看到这篇博客的各位肯定会经常工作在 Terminal 中吧,而且对自己稍微好一些的人应该也都会配置一下自己的终端环境,比较常见的就是 Linux 下装个 terminator 或者 macOS 下装一个 iTerm2 这种软件,然后再用 zsh 配合不同的主题和插件完善自己的体验。而且真正用过一段时间终端的人肯定都会有那种一个窗口不够用的情况,那么你可能要用到终端模拟器(terminator/iTerm2)的 tab 功能了,每次都额外开一个新 tab 出来,或者上下左右开始分屏了。

关于端口你需要知道的-迷你版

0X00 基本内容

你应该听人跟你说过类似于「你看 2333 这个端口在没在监听」这句话吧,也应该听过「我可以 ping 通所以肯定不是网络的问题」这种话吧。虽然听的多了,但实际上它漏洞百出。

人生奖杯系统

0X00 介绍

奖杯系统这东西是从 PlayStation 上借鉴过来的,PlayStation 上每个游戏均会设置一些奖杯,当玩家达成奖杯对应条件的时候就会解锁该奖杯,从而给玩家的游玩过程以正反馈。XBox 上也有类似的成就系统,都是用来给玩家正反馈的。

2022 年度总结

年度总结:今年摆烂,完了。

0X00 开篇

不开玩笑,又到了一个年尾巴。本以今年会是轻松的一年,结果却是异常的艰辛😮‍💨 千算万算肯定是算不到 2022 年对生活影响最大的仍是疫情。本以为今年就彻底解决疫情了,但奈何天不遂人愿,一直到今天疫情仍然与你我密切相关。今年我核酸做了一两百次、居家办公一轮又一轮、收集了两个省的黄码、喜提了两周的铁皮围栏隔离,最后几天还是没顶住,至今仍在干咳。

xargs 基本用法

0X00 简单用法

内容比较少,主要是介绍一下 xargs ,直接开始吧~

首先假定各位能够熟练运用基础的管道操作,能够理解 ps aux | grep nginx | awk -F ' ' {print $1} 这样的命令。

我们日常使用管道的时候肯定会用到 ls | grep xxx | grep xxx | rm 这样的操作,想从一堆文件里筛选出自己需要的文件并将其删除/移动/复制等。但其实这样的操作是不行的,因为前面管道传过来的是数据流但是 rm 命令却并不能处理它。如果想实现这种效果就可以用 xargs 将其进行转换了,如下图所示使用 ls | grep bbb | grep "[3-5]" | xargs rm 就可以完成任务。