每天学习一个命令:lsof 列出打开的文件

lsof 用于列出当前系统打开的文件 (list open files),在 Linux 中,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以比如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为 lsof 命令需要访问核心内存和各种文件,所以需要 root 用户执行。 简单使用 比如可以使用 lsof 来查看当前系统中 80 端口是否被占用 sudo lso Read more ...

2017-04-02 lsof , linux , file , command

WEB-INF 目录结构

WEB-INF 是 Java EE Web 程序一个特殊的目录,此目录中的资源不会被列入应用程序根目录可直接访问项。客户端不可直接访问 WEB-INF 中的资源。 根据 Servlet 2.4 specification 中的描述,这个不公开的目录虽然不能被外部访问,但是可以被 servlet 代码 getResource 或者 getResourceAsStream 等方法访问,并且可以暴露给 RequestDispatcher。 目录 WEB-INF/web.xml 中保存 web 程序配置文件,XML 格式,描述 servlet 和其他应用组件 Read more ...

2017-04-01 java-web , web , web-inf , spring , spring-mvc

如何找到一首歌的名字

“听歌识曲” 虽然听起来是一个简单的功能,却还依然发展了很多年。在无数的网站评论中看到求求某某片段中的背景音乐,其实绝大部分情况下都可以通过听歌识曲来找到,剩下的也绝大部分可以通过电视,电影的OST找到。所以这篇文章就是介绍下目前市面上我使用过比较好用的一些听歌识曲的应用,这些应用解决了我95%以上,找到喜欢的背景音乐的需求。 授人以鱼不如授人以渔 在电视、综艺、或者大街上听到一首喜欢的背景音乐却不知道歌名的时候,我下意识的会拿出手机来打开网易云音乐,当然这个能够解决一大半的问题,因为经过多年的使用,其实网易的识别还是有些准确的,至少对于绝大 Read more ...

2017-03-24 music , collection , bgm , song

vim config vimrc


2017-03-23

Java 查漏补缺之 BigDecimal

在一些对精度要求特别高的系统中,比如会计,金融,Java 中的 double,float 已经不能满足精度需求,谁也不愿意再付款或者计价的时候出现付费 4.4 而账单只有 4.0 元的错误。所以在 Java 中为了更高精度的计算我们需要用到 java.math.BigDecimal. BigDecimal 需要有两个能力: 指定 scale,也就是小数点后几位 指定舍入模式,当超过精度时如何处理 通常在使用 BigDecimal 时建议使用 传入 String 的构造函数。 BigDecimal bd = new BigDecimal Read more ...

2017-03-22 java , double , float , bigdecimal , jdk

使用 mitmdump 记录 HTTP 流量

之前一篇文章 主要是使用 mitmproxy 进行抓包,但是其实 mitmproxy 自带的 feature 远远不止于抓包,使用 mitmdump 可以自定义脚本来修改 response 返回,或者将请求结果 dump 到本地以便于之后的分析。 之前的那篇文章在 mitmdump 的时候只是简单的介绍了一下功能,并没有展开,所以有了这篇文章。mitmdump 可以理解为 mitmproxy 的命令行版本,他提供了 tcpdump 类似的功能来查看,记录,甚至编程改写 HTTP 流量。 保存流量 开启代理模式,并将所有的请求写入文件 mitmdum Read more ...

2017-03-16 mitmproxy , mitmdump , mitmweb , mitm , charles

推荐网站之快捷键:快捷键 ShortcutWorld Wiki

今天推荐的网站是 ShortcutWorld,同时也是整理笔记的一篇文章。 推荐网站也可以看看之前的推荐,AlternativeTo 可以寻找各种产品的代替品,现在产品关闭的越来越多了,很好用的产品被关闭非常心疼,还有很多通过图片寻找字体等等,都可以参考。而今天要推荐的是收集和整理了很多桌面应用,网页应用快捷键的 Wiki 网站。 官网地址: https://www.shortcutworld.com/ 为什么会知道这个网站的呢?主要是当时寻找 Linux mint 的快捷键搜到了 这个页面 ,然后在这个页面上,竟然发现了看官方文档都没找到的录屏快 Read more ...

2017-03-11 website , 推荐网站 , tool , shortcut

Openwrt 平均负载

Openwrt 在 Luci 后台很显眼的位置有三个不断刷新的数字,其实这个数字是“平均负载”(Load Average)的意思,这是 Linux 操作系统衡量系统负载和稳定性的重要参数。 平均负载 在 Linux 及各种 Linux 衍生版(包括 Openwrt)中,都可以使用如下命令查看系统平均负载。 uptime 命令: root@OpenWrt:/# uptime 21:22:57 up 19:21, load average: 1.30, 2.44, 2.38 top 命令: Mem: 119632K used, 6740K Read more ...

2017-03-10 openwrt , linux , cpu

每天学习一个命令:dig 查询 DNS 解析结果

dig 命令是一个用于询问 DNS 域名服务器的灵活的工具。它执行 DNS 搜索,显示从接受请求的域名服务器返回的答复。 常见用法 查找 www.google.com 的 A 记录 dig www.google.com 输出如下 ; <<>> DiG 9.10.3-P4-Ubuntu <<>> google.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: N Read more ...

2017-03-10 dig , linux , network , dns , command , domain , ip

Openwrt 接口及基本设置

在上一篇中讲了如何刷 Openwrt,这一篇主要讲一些 Openwrt 的东西,以及配置相关的内容。我有一个主路由器,设置分配的局域网地址为 192.168.1.x,给内网中分配的地址也是 192.168.1.x 开头。 但是 Openwrt 默认为 AP 模式,我想要从主路由器 LAN 口连出到新的这个 Openwrt 路由器上,那么便得设置 Openwrt 路由器为 Router 模式以便于级联。 在设置路由器模式之前先来看看这几个接口,否则怎么都不会明白怎么配置的。 br-lan, eth0, eth0.1 Openwrt 的接口名字太多, Read more ...

2017-03-09 openwrt , linux , opkg , router

最近文章

  • 利用 SpecStory 记录每一次和 AI 的对话 今天想给大家介绍一款特别有意思的插件叫做 SpecStory,我们现在会在 VS Code, Cursor 编辑器中使用各种类型的代码辅助工具,也会利用 Cursor 等集成的 IDE 来 vibe coding,但是如果我们每一次都重头开始描述我们想要做的事情,或者每一次都新开一个聊天窗口,AI 大模型大概率会前后表现不一致,虽然我们也可以利用 Cursor Rules 等工具来给 AI 提供一些系统级别的提示词,但是 AI 在回复的过程中也可能跑偏。
  • 让 AI 来编写 Git 提交变更信息 很早之前就看到了 GitHub Copilot 可以在 VS Code 中提交 Git 时自动编写提交 Message,但是实际上我一直没有用起来。正好现在对 Git Message 做一个完整的学习,顺便也了解一下当前的 AI Commits 方案。
  • Uptime Kuma 清理 SQLite 数据库历史数据 大概两年前我自己部署了 Uptime Kuma 来监控我的各项服务在线情况,这两年内一直工作非常稳定,除了偶尔的网络波动带来的误报,基本上没有其他大问题。
  • Longhorn 备份到 S3 兼容存储 在之前的文章当中已经介绍过如何在 K3S 当中使用 Longhorn 作为分布式存储方案,那么本文再记录一下如何将 Longhorn 的备份存储到 S3 兼容的对象存储当中。
  • iOS 发布 Bundle ID 不可用问题 这两天在发布 iOS 应用到 App Store 的时候,在第一步创建 Bundle ID 的地方就卡住了,这是 iOS 开发过程中的一大坑,所以本文记录一下。