乡间小别

乡间小别
花犯
青山两岸炊烟晕,客念千层愁绪洒。
水黛衣单雨欲来,澜白橹断风初起。
1
2
3
4
5
6
注释:
此诗以离乡返校之际,与家友亲朋送别于湘江为背景。“晕”与“洒”为水墨画技法,前两句乐景衬哀情,
两岸的人家已升起袅袅炊烟,而我为了赶车不得不提前出发,与亲朋告别,半年后在可再见。后两句为虚实结
合,由实景写向想象的虚景。前一句写实,江面成暗青色,是因为天逐渐阴沉,不久将要下雨,而我此时衣服
正单。后一句虚实结合,波澜起伏,白浪翻滚,是因为起风了,此刻我的桨已断,我怎么安全地在水面航行。
“黛”与“白”色彩对比强烈,“雨欲来”和“风初起”化自何松的《相送》,既暗示前途未谱,又充满哲理。

自由人,既是天使也是恶魔

自由人,既是天使也是恶魔

——读《月亮与六便士》和《刀锋》后感

​ 自由,其含义为“从束缚中解放”。而现代社会的发展,虽然让人们在物质方面得到了优渥的享受,但也带来了功利主义、实用主义和从众心理的束缚,人们陷入物质生活与精神生活发展不平等的困境。毛姆以其敏锐的洞察和犀利的文笔,在《月亮与六便士》和《刀锋》中,展现了对人性的思考,对自由的呐喊。

​ 两本书的主人公思特里克兰德和拉里,都特立独行,不为世俗他人的眼光所约束,不被社会制定的道德和秩序所掣肘,对优渥的物质生活视若敝屣,甘于贫苦的生活,仅仅只需要满足生存的最低限度,却对内心的追求奋不顾身,都是追寻人生意义路上不屈的斗士,是真正意义上的自由人。

​ 《月亮与六便士》的主人公思特里克兰德,不惑之年抛家弃子,自比溺水之人,通过画画来挣扎,来摆脱意志的奴役,来追求那模糊的精神理念。他生前窘迫不堪,六个月之久每天只靠一顿面包、一瓶牛奶过活,但又极端冷漠、自私,对给予帮助和救助的人恶语相向,极尽侮辱嘲讽之能事,将人们的善意和女人当作工具,来帮助自己实现追求。他生后却又因其天才和独树一帜的画作名声大振。他是自由人,但我认为,他在追求自由的途中,灵魂早已被原始的、肉欲的恶魔所替代。在他的身上,我见到了,那人性最深处、最幽暗、蒙昧的、血腥的远古时代诞生的恶意。他虽然伟大,但也渺小、卑微。

阅读更多...

Vim常用命令

符号含义

1
2
3
4
5
6
$ # 行尾,或者最后一行的行尾
% # 整个文件
H # 屏幕第一行
M # 屏幕中间
L # 屏幕最后一行
G # 最后一行

移动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 上下左右移动n
n + h/j/k/l

# 上下翻一页
Ctrl + b/f

# 上下翻半页
Ctrl + u/d

# 右移n个字符
n + <space>

# 下移n行
n + <Enter>

# 移动到第一行
gg

# 设置/取消行号
:set nu
:set nonu
阅读更多...

服务器配置selenium

安装chrome浏览器

1
2
3
4
5
6
7
8
# 下载安装包
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

# 安装chrome
$ sudo dpkg -i google-chrome-stable_current_amd64.deb

# 检查版本
$ google-chrome --version

安装chromedriver

1
2
3
4
5
6
7
8
9
10
11
12
13
# chromedriver地址
https://registry.npmmirror.com/binary.html?path=chrome-for-testing

# 下载驱动
wget https://storage.googleapis.com/chrome-for-testing-public/123.0.6312.86/linux64/chrome-linux64.zip

# 解压
$ unzip chromedriver-linux64.zip

# 移动位置(也可以不移,添加到环境变量或者程序中指定位置)
cd chromedriver-linux64
mv chromedriver /usr/bin

无头模式网页加载不出/过慢

  • 更新selenium库
    使用conda安装的selenium库版本比较老,使用pip安装和更新
阅读更多...

docker快速入门

Docker安装Mysql

  • Docker基础命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 启动
    $ sudo systemctl start docker
    $ service docker start

    # 停止
    $ systemctl stop docker

    # 重启
    $ systemctl restart docker
  • 查询mysql

    1
    $ docker search mysql
  • 拉取mysql镜像

    1
    2
    3
    4
    # 默认最新
    $ docker pull mysql
    # 指定版本
    $ sudo docker pull mysql:5.7
  • 查看镜像

    1
    $ docker images

Docker使用Mysql

阅读更多...

linux发送邮件

安装

mail一般都会在服务器上安装好,如果没有预装则可以通过安装mailutils来使用,以ubuntu为例:

1
$ sudo apt install mailutils

配置

首先编辑配置文件,mail配置文件地址为/etc/mail.rc,如果只是希望自己使用,那么可以将配置文件存在~/mailrc

1
$ vim /etc/mail.rc

然后添加发件人配置,以网易企业邮箱为例,按下G(大写)翻到文件最后,增加以下几行:

1
2
3
4
5
6
7
8
9
10
11
# 设置发送身份
set from=1462796248@qq.com
# 设置发送服务器
set smtp=smtp.qq.com
# 设置账号
set smtp-auth-user=1462796248@qq.com
# 授权码
set smtp-auth-password=bgfkarfnbfpvgaib
set smtp-auth=login
set ssl-verify=ignore

之后就可以用以下命令发送邮件:

1
mail -v -s “主题” 收件人

回车后开始输入邮件内容,以Ctrl + D结束输入。

多账户

如果需要配置多个发件账户,则用以下形式:

1
2
3
4
5
6
7
8
9
10
11
account cn163 {
set from=admin<admin@wenjinyu.me>
set smtp=smtps://smtp.ym.163.com:994
set smtp-auth-user=admin@wenjinyu.me
set smtp-auth-password=*******
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb/
}
account gmail {
...
}

此时发送邮件时可以选择特定发件账户:

1
mail -v -s “主题” -A cn163 收件人
阅读更多...

服务器搭建记录

安装docker

使用 APT 安装

由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书。

1
2
3
4
5
6
7
8
$ sudo apt-get update

$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release

鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。

为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。

1
2
3
4
5
$ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg


# 官方源
# $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

然后,我们需要向 sources.list 中添加 Docker 软件源

1
2
3
4
5
6
7
8
9
解释$ echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


# 官方源
# $ echo \
# "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
# $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

以上命令会添加稳定版本的 Docker APT 镜像源,如果需要测试版本的 Docker 请将 stable 改为 test。

安装 Docker

更新 apt 软件包缓存,并安装 docker-ce

1
2
3
$ sudo apt-get update

$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

启动 Docker

1
2
$ sudo systemctl enable docker
$ sudo systemctl start docker
阅读更多...

ros基础学习笔记

ROS基础学习笔记

本文参考赵虚左的视频和笔记而成,原文链接:Introduction · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程

ROS概述

ROS文件系统

ROS文件系统级指的是在硬盘上ROS源代码的组织形式,其结构大致可以如下图所示:

img

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
WorkSpace --- 自定义的工作空间

|--- build:编译空间,用于存放CMake和catkin的缓存信息、配置信息和其他中间文件。

|--- devel:开发空间,用于存放编译后生成的目标文件,包括头文件、动态&静态链接库、可执行文件等。

|--- src: 源码

|-- package:功能包(ROS基本单元)包含多个节点、库与配置文件,包名所有字母小写,只能由字母、数字与下划线组成

|-- CMakeLists.txt 配置编译规则,比如源文件、依赖项、目标文件

|-- package.xml 包信息,比如:包名、版本、作者、依赖项...(以前版本是 manifest.xml)

|-- scripts 存储python文件

|-- src 存储C++源文件

|-- include 头文件

|-- msg 消息通信格式文件

|-- srv 服务通信格式文件

|-- action 动作格式文件

|-- launch 可一次性运行多个节点

|-- config 配置信息

|-- CMakeLists.txt: 编译的基本配置
Copy

ROS 文件系统中部分目录和文件前面编程中已经有所涉及,比如功能包的创建、src目录下cpp文件的编写、scripts目录下python文件的编写、launch目录下launch文件的编写,并且也配置了 package.xml 与 CMakeLists.txt 文件。其他目录下的内容后面教程将会再行介绍,当前我们主要介绍: package.xml 与 CMakeLists.txt 这两个配置文件。

阅读更多...
  • Copyrights © 2023-2025 John Doe
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信