• Python 带数字的字符串排序

    当字符串中有数字的时候,想给字符串进行排序,不管用列表的sort()方法,还是sorted()方法,都一想,得到的结果会发现都不是我们想要的。

    举个例子:

    1
    2
    3
    4
    5
    6
    7
    list1 = ['01', '11', '10', '21', '02']
    list2 = ['学生2', '学生1', '学生10', '学生4']

    list1.sort()
    print(list1) # ['01', '02', '10', '11', '21']
    list2.sort()
    print(list2) # ['学生1', '学生10', '学生2', '学生4']
  • Joplin使用群晖NAS作同步存储

    用了多年印象笔记后,已经逐渐放弃了,近n个月/一年来也就还偶尔用用剪藏,做个备份啥的。越来越臃肿的软件,还会卡死,可怕,频率还挺高,可能一天就一次。还有好几年的会员,但不升专业版、连代码块也用不了 ,简直了~

    之前买了群晖NAS,就云同步用用群晖那丑丑的Note Station做做备份,虽然丑,功能很简洁,到也不卡,手机app也可以用。主要还是用Typora这个本地笔记软件了,原来基本上笔记也是用Markdown语言写的,用的Hexo的博客,带搜索功能,相当于很多笔记都直接在博客上搜索了。

    然后有小伙伴找到了这款开源的免费笔记——Joplin,支持多平台,Windows/Linux/MacOS,IOS/Android都支持,那就方便了。

    然后云端同步支持很多种方式,这个真是太棒了!
    比如支持Dropbox、OneDrive,不过考虑到这个的空间也不大,服务器访问也不稳定,就不用了;
    比如支持自建Joplin Server,可以在服务器上自己建,也可以用腾讯云的对象存储;
    还有官方收费版的Joplin Cloud;
    还有就是WebDAV,群晖NAS有WebDAV Server的官方套件,直接安装、配置下就可以用了!

  • Ubuntu设置普通用户也能执行docker命令

    在使用docker命令的时候,是需要在命令前加上sudo的管理员权限的,不然就会没有权限。

    每次要加很烦,之前是直接就切换到root用户来着 。

    如果不想切换到root用户,直接使用当前登录用户,可以用以下

  • Ubuntu安装Docker

    自己装了一台Ubuntu Server,就是为了装个Docker,方便安装一些小的服务。

    Ubuntu安装Docker很简单,官方直接就有文档:
    英文文档:https://docs.docker.com/engine/install/ubuntu/
    中文文档:https://dockerdocs.cn/engine/install/ubuntu/

  • Ubuntu修改主机名(hostnamectl命令)

    安装Ubuntu(刚安装了Ubuntu 20.04LTS)的时候,最后面有设置登录的账号信息,包括用户名、密码,还有Your server’s name这一项,当时就随意跟用户名写成了一样的 。

    然后登录进去后,发现前面显示的就是:用户名@主机名,然后发现都是一样的,就感觉怪怪的,所以想改一下。

  • Ubuntu添加新硬盘

    因为我这台主机本身就装了2块硬盘,一块256G的固态+1T机械硬盘。之前安装Ubuntu的时候,使用了256G的固态硬盘。

    原来装的是windows,2块硬盘都在用的。所以,现在需要把1T的硬盘挂载下。
    本文中使用了root用户,没有用root用户的话,需要sudo记得加上。

    1.查看硬盘信息

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    fdisk -l

    # 新硬盘相关结果如下:
    ---------------------------------------
    ...
    Disk /dev/sda: 931.53 GiB, 1000204886016 bytes, 1953525168 sectors
    Disk model: ST1000DM010-2EP1
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    ---------------------------------------

    记住:/dev/sda

  • Ubuntu安装完显示容量小于硬盘容量

    Ubuntu Server 20.04安装完后(安装笔记:U盘安装Ubuntu Server),发现安装的这块硬盘有256G,但明显只看到100G。因为安装的时候都直接默认了。

    解决方法:

    1.用 lvdisplay 命令查看LVM逻辑卷信息

    可以看到结果中(LV Path记一下,后面会用到):

    LV Path /dev/ubuntu-vg/ubuntu-lv
    LV Size 100.00 GiB

  • U盘安装Ubuntu Server

    想在办公室搞一台Ubuntu Server,然后装上docker后,就可以搭一些小服务了。正好有同事换下来的电脑,配置还可以,8G内存+256G固态的,一个挺小的机箱。

    查了一下,安装也挺方便的,下载系统包,然后用U盘制作个启动盘,再安装就行了。

  • Python使用MQTT举例

    关于MQTT的简介和服务器的搭建,之前已经写了笔记了:Docker搭建MQTT服务器

    用来学习、研究,自己不搭MQTT服务器也行,EMQX有提供免费的在线 MQTT 服务器(还提供证书的下载):
    官网:https://www.emqx.com/zh/mqtt/public-mqtt5-broker

    1
    2
    3
    4
    5
    6
    MQTT 服务器信息
    Broker: broker-cn.emqx.io
    TCP 端口: 1883
    WebSocket 端口: 8083
    SSL/TLS 端口: 8883
    WebSocket Secure 端口: 8084
  • pip安装包时出现'python setup.py egg_info did not run successfully.'

    Python安装flask_mqtt包的时候报错:

    python setup.py egg_info did not run successfully.

    解决方法
    更新 setuptools 和 pip。

    1
    2
    pip install --upgrade setuptools
    python -m pip install --upgrade pip