编程笔记

lifelong learning & practice makes perfect

以下摘自对问题”永生是否是一种酷刑”的回答:

思维是指导行为的。小时候曾经有过一次,因上课不听话被老师叫到走廊罚站了整日。

到了晚上奶奶来接我,我说今日站在走廊经历同学走过议论,太丢脸了,不想再去学校了。奶奶笑着告诉我,现在我看是天大的事情,但等长大一些,今天不过是记忆中的一件小事罢了。

“永生是否是一种酷刑”,很像现代年轻人偶尔会陷入的悲观焦虑。有时候一件小事,在当时看来,是足以毁灭自己的,前途没了光明。其实,等你走到未来,发现还有无限可能。

前几天安慰一位妈妈,她说知道不对,但放不下对孩子每次考试成绩的焦虑。

我劝她不妨试着将目标放大,将结果放小去看,或许有用。

目标放大,想象孩子25岁成年工作、结婚的样子。孩子的这一次考试还是否还那么重要?

结果放小,体会你与孩子的每一次学习、玩耍的瞬间,他是不是努力、快乐、感到幸福?

如果你也有不开心的时候,感觉生命无法迈过的时刻,不妨也想象在更长的时间里,在宇宙的维度下,这烦恼不过是一瞬的烟云。认真把握每个精彩的时刻,过好每一个陪伴亲人的瞬间。

不要为没发生的事情而烦恼。“不悔既往,不负当下,不惧未来”,宇宙的安排都是完美的。

类似的句子

  • “The best way to predict the future is to create it.” - Peter Drucker
  • “In the end, we only regret the chances we didn’t take.” - Lewis Carroll
  • “Life is 10% what happens to us and 90% how we react to it.” - Charles R. Swindoll
  • “Worry does not empty tomorrow of its sorrow, it empties today of its strength.” - Corrie ten Boom
  • “The only thing we have to fear is fear itself.” - Franklin D. Roosevelt
  • “千里之行,始于足下。” - 老子
  • “路遥知马力,日久见人心。” - 《元曲选·争报恩》

原文

永生是否是一种酷刑? - 也说的回答: 不要用非永生的大脑,去思考永生后的烦恼。

IndexNow

使用IndexNow可能更加及时推送,也是Bing Webmaster现在推荐的方式

配置

使用github actions定时推送,配置如下,indexnow秘钥存储到github仓库的”Secrets and variables”

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
name: "IndexNow"
on:
schedule:
# Scheduled in UTC.
- cron: '0 0,12 * * *'

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

jobs:
check-and-submit:
runs-on: ubuntu-latest
steps:
- name: indexnow-action
uses: bojieyang/indexnow-action@v2
with:
sitemap-location: "https://programnotes.cn/sitemap.xml"
since: 1
since-unit: "day"
key: ${{ secrets.INDEXNOW_KEY }}

参考

为什么迁移

在商店安装的子系统默认放C盘,磁盘剩余空间不多了

准备和验证

查询已安装的子系统

1
2
3
4
5
6
wsl -l

# 适用于 Linux 的 Windows 子系统分发:
# Ubuntu-24.04 (默认)
# docker-desktop
# docker-desktop-data

查询wsl安装的Ubuntu24磁盘位置, “Ubuntu-24.04”为需要查询的子系统版本

阅读全文 »

安装

使用docekr安装,默认为linux/x86_64

1
2
3
4
5
6
7
8
9
10
11
services:
coredns:
image: coredns/coredns:latest
ports:
- 53:53/udp
restart: always
command: -conf /root/Corefile
volumes:
- ./config:/root
hostname: coredns
container_name: coredns
阅读全文 »

redis为什么快

  1. 数据存储在内存中
    Redis完全基于内存存储数据,大部分请求是纯内存操作,速度极快。
    避免了传统磁盘文件数据存储的磁盘I/O开销。

  2. 高效的数据结构
    Redis有5种数据类型:String、List、Hash、Set、SortedSet。
    不同数据类型使用一个或多个底层数据结构支持,以实现更快的速度。

  3. 单线程架构
    单线程节省了上下文切换和CPU消耗的时间。
    没有竞态条件,无需考虑各种锁问题,避免了死锁导致的性能开销。
    允许使用各种“线程不安全”的命令,如Lpush。
    虽然是单线程,但Redis的其他功能(如持久化、异步删除、集群数据同步)由额外的线程执行。
    单线程易于实现,且CPU不会成为瓶颈,因此采用单线程方案。

阅读全文 »

配置nginx代理

1panel入口需要使命令获取

1
1panel user-info

nginx配置

阅读全文 »

用户配置

对象存储

支持s3协议存储,配置到”File system”下
sftpgo支持virtual folders,但是相同的配置,使用virtual folders时,”私有读写”的bucket无法使用(
只能获取文件列表,下载文件/上传文件均失败),在”Users”中配置到”File system”却可以正常工作

阅读全文 »

背景

项目要求使用国密加密算法保障安全性,go和java需要通过接口互通,请求时使用sm4加密数据,sm2加密sm4秘钥,必将加密数据和加密后的sm4秘钥发送到第三方接口,
响应用相反的方式解密数据.
java 使用hutool里的工具函数实现,go使用”github.com/tjfoc/gmsm”实现.

阅读全文 »