自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 收藏
  • 关注

原创 kubuntu 解决 kwallet 弹窗问题

启动 kubuntu 后, 自动弹框要求验证 kwallet 的密码开启 sddm/gdm 登录后自动解锁 kwallet 的功能安装 kwallet-pam 模块修改 kdewallet 的密码, 与当前用户的开机密码保持一致可以直接设为空密码, 快速解决 kwallet 弹窗问题修改 PAM 配置

2024-02-20 09:00:00 748

原创 PyTorch Tensor 形状

查看张量形状 有两种方法查看张量形状:通过属性查看 Tensor.shape 通过方法查看 Tensor.size() 改变张量形状 Tensor.view() Tensor.reshape() 调整维度顺序 矩阵转置 Tensor.t() 交换两个维度 Tensor.transpose(dim0, dim1) 调整维度顺序 Tensor.permute(\*dims) 插入或移除维度 插入大小为 1 的维度 Tensor.unsqueeze(dim) 删除大小为 1 的维度 Tensor.squeeze

2023-10-24 07:30:00 2551 1

原创 PyTorch meshgrid 生成网格坐标

torch.meshgrid(*tensors, indexing=None) 使用输入的 1-D 张量创建网格坐标

2023-09-29 09:00:00 1222

原创 Python shapely 库

基本几何类型包括: 点(Point), 线(LineString), 线环(LinearRing), 多边形(Polygon)LinearRing 是一个封闭的 LineString, 起始点与终止点的坐标相同, 创建方法与 LineString 一致。在几何对象的创建中, 一个坐标元组 (x, y[, z]) 代表一个点, 多个点的组合嵌套可以创建更复杂的几何对象。在创建时, 既可以使用坐标元组作为参数, 也可以使用对应的基本几何对象作为参数。不同类型的基本几何对象也可以组成一个集合对象。

2023-06-28 15:00:00 2533

原创 PyTorch Tensor 创建

本文介绍 PyTorch 如何创建张量类型

2023-05-30 22:33:59 1586

原创 Python 连接 PostgreSQL 数据库

Psycopg 是最受欢迎的用于连接 PostgreSQL 的 Python 驱动库, Psycopg 完全遵守 Python DB API 2.0 规范, 并且是线程安全的, 在底层直接调用 C 库 libpq。

2023-05-25 23:00:00 2015

原创 Python lxml 库与 XPath 语法

lxml 库是 C 库libxml2和libxslt的 Python 绑定, 可处理 XML 和 HTML 文档, 支持 XPath 语法。

2023-05-01 13:25:22 883

原创 Python 多重集合 Counter

Python标准库中的collections.Counter 类实现了多重集合,该类型允许在集合中多次出现同一个元素多重集合Counter实质上是一个字典,键表示具体元素,值表示该元素出现的次数,即该元素在整个集合中的数量除了可以从可迭代对象获取初始元素外,还能以字典的方式创建Counter(键值对中的值为元素个数)操作 加减运算 作为多重集合,自然支持集合运算 其他方法c.elements()所有元素的可迭代对象(包含重复)c.most_common([n])计数最多的前n个元素及其计数

2023-04-02 22:50:01 346

原创 Python 双端队列 deque

Python 标准库 collections 提供了 deque 类型,两端均可以操作,相当于双端队列deque 的底层使用链式存储结构,不需要预留空间,在中间插入或删除元素时不需要移动元素,不具有快速随机访问元素的特点新建双端队列 不指定 maxlen 或 maxlen 为 None 时, 不限制 deque 的长度从队尾(右端)入队或出队 从队首(左端)入队或出队 deque 也属于序列类型, 有许多操作与列表类似 循环右移

2023-04-02 18:48:31 336

原创 Python 类型提示(type hints)

Python 是一门动态语言,变量使用前不需要声明,并且可以指向任何类型的对象; 一方面给开发者带来了便利;另一方面,给 IDE 和代码阅读者带来了困惑,在变量类型未知的情况下,IDE 无法给出补全提示和语法检查Python 从 3.5 版本开始支持"类型提示"(PEP484),允许开发者声明变量的类型类型提示的最大好处是 IDE 可以提供相应类型的补全提示类型提示仅起到提示的功能,对代码的运行没有影响,变量的实际类型可以与类型提示不同类型提示包括:变量类型,函数中的参数类型和返回值类型

2023-04-02 18:42:45 489

原创 kubuntu 解决坚果云退出后重启的问题

在托盘处点击退出坚果云后, 坚果云自动重新启动, 在托盘处再次出现坚果云小图标查看进程列表发现 "python3 /home/jianghuixin/.nutstore/dist/bin/nutstore-pydaemon.py" 命令一直都在, 没有结束坚果云的 GUI 客户端是由 java 封装编写的, 不方便修改, 可以修改 nutstore-pydaemon.py 文件中的代码, 在 `JavaAppWatchDog.run` 函数中禁止客户端重启(源代码文件的 381 行)

2023-03-22 15:23:07 268

原创 ubuntu 使用 CMake 构建 Qt5 项目

Qt 是一个跨平台的 C++ 图形用户界面应用程序框架CMake构建Qt 项目 https://doc.qt.io/qt-5/cmake-get-started.htmlCMakeLists.txtset(CMAKE_PREFIX_PATH /opt/Qt/5.15.2/gcc_64/lib/cmake)find_package(Qt5 COMPONENTS Widgets REQUIRED)Qt 5.15 以后的版本, 模块库也可以写为 Qt::Widgets, 以便兼容 Qt6编译Qt 项目

2023-03-09 22:00:00 1022

原创 ubuntu 使用 adb 工具卸载鸿蒙系统预装软件

打开 USB 调试进入 "设置->关于手机" 连续点击版本号, 直到有提示开启了"开发人员选项"下载 adb 工具连接 PC 与手机adb devices 命令用于查看 PC 所连接的设备卸载百度输入法 卸载华为浏览器, 包名为 "com.huawei.browser" 或者 "com.android.browser" 卸载华为音乐, 包名为 "com.huawei.music" 或者 "package:com.android.mediacenter"

2023-02-10 21:11:46 5007 2

原创 ubuntu 安装 Gitkraken 9.x Pro 版本

GitKraken 是一个非常好用的 Git 图形界面客户端, 并且支持 Linux 平台, 但 6.5.1 版本以后 GitKraken 对私有仓库不再免费开放使用本文介绍一个 ubuntu 安装 GitKraken 9.x Pro 版本的方法2023.04.04 更新: 更换 GitCracken, 支持最新的 9.2.1 版本参考 https://blog.csdn.net/wanzheng_96/article/details/104692476。

2023-01-11 18:00:00 2767

原创 kubuntu 20.04 解决终端中文显示乱码的问题

安装 kubuntu 22.04 系统以及搜狗输入法后, 发现 kconsole 以及 deepin-terminal 均无法正确地输入和显示中文kubuntu 22.04 出厂配置没有使用中文字符集, 导致中文显示乱码只需要在 `~/.profile` 或 `~/.bashrc` 中加入 `export LC_CTYPE="zh_CN.utf8"`, 重启后便可正常输入中文

2022-10-08 16:32:00 1594

原创 ubuntu 22.04 修复 key is stored in legacy trusted.gpg keyring

参考: https://askubuntu.com/questions/1407632/key-is-stored-in-legacy-trusted-gpg-keyring-etc-apt-trusted-gpg。对于已经提示 warning 的 keyring, 可以将其导出至 /etc/apt/trusted.gpg.d/ 目录中, 然后删除 /etc/apt/trusted.gpg 中的该 keyring。命令中只需要 fingerprint 的末尾 8 位, xxx.gpg 可以自定义名称。

2022-10-06 19:15:39 16265 6

原创 在单个 Python 文件中新建 Django 项目

新建 Django 项目时, 通常会使用 `django-admin startproject xxx` 命令, 来生成一个 Django 项目的目录如果想和 Flask 一样, 在单个文件中体验 Django, 或者只是想单独建立一个最小的 Django 项目, 用于测试某个功能本文提供了一个代码样板, 不使用 `django-admin` 命令生成 Django 的项目文件, 直接在单个 Python 源文件中写入 Django 项目的配置, 路由和视图等在命令行启动 Django 服务

2022-10-01 10:00:00 247

原创 Python 字典类型拓展(包括 MappingProxyType 只读字典, defaultdict 缺省字典和 ChainMap)

Python 除了 dict 字典类型, 还有相关的字典扩展类型, 包括MappingProxyType 只读字典, defaultdict 缺省字典和 ChainMapMappingProxyType 为普通字典提供只读视图. 除了无法修改, 只读字典与普通字典的功能一致当字典的键不存在时, defaultdict 使用工厂函数的返回值作为这个键对应的值ChainMap 将多个字典组成一个映射数据结构, 在使用上与字典一致1. 通过键访问值时, 优先返回第一个包含该键的字典的值2. 修改 ...

2022-07-26 17:47:59 829

原创 JavaScript toString() vs String()

toString() 方法, 除了 null 与 undefined 不支持该方法, 其他的数据类型均支持, 对于整数 toString() 还支持转为不同进制的字符串表示String() 转型函数, 支持所有数据类型String() 的转换规则1. 如果待转换的值有 toString() 方法, 则直接调用, 这里无法指定 toString() 的参数, 故整数直接转为 10 进制的字符串形式, 无法指定为其他的进制2. 如果是 null, 返回 "null"3. 如果是 undefined..

2022-07-22 15:46:42 283

原创 VSCode 配置使用 PyLint 语法检查器

1. 首先安装 "Python" 插件2. 安装 `pylint` 语法检查器推荐安装在当前的 Python 环境中3. 启用 `pylint` 语法检查器4. 配置 `pylint` 语法检查器创建 .pylintrc 文件, pylint --generate-rcfile > .pylintrc5. 禁用某些检查项- 代码处添加注释,# pylint: disable=missing-module-docstring- 修改 pylint 的运行参数- 修改 .pylintrc 文件

2022-06-12 22:26:07 8630

原创 PostgreSQL pg_dump 与 pg_restore 命令

pg_dump 备份数据库命令格式pg_dump dbname > bakfile或者pg_dump dbname -f bakfile备份示例备份为文本(即 SQL 文件)# -v 选项显示导出过程pg_dump -v -h 127.0.0.1 -p 5432 -U postgres testdb > db.sql# 后面的示例中均省略 -h -p -U 等数据库连接选项SQL 文件无法使用 pg_restore 恢复, 仅支持 psql 命令直接导入psql

2022-05-13 00:48:23 4164

原创 ubuntu 使用 acme 工具免费申请 SSL 证书

安装 acme 工具安装会完成以下内容:1. 创建安装目录 `~/.acme.sh`, 即 `/root/.acme.sh`2. 创建别名 `alias acme.sh=~/.acme.sh/acme.sh`3. 创建一个定时任务(用于证书的续签)卸载 acme 工具签发 SSL 证书 包含两种方式 使用 HTTP/HTTPS 验证 使用 DNS 手动验证安装证书更新证书

2022-05-09 15:25:31 3398

原创 VSCode 修改界面字体 代码字体 终端字体

界面字体VSCode 默认不支持修改界面字体, 1.73 版本以前的 VSCode 可以安装 "Customize UI" 插件, 在 settings 中配置界面字体, 最新的版本不支持 "Customize UI" 插件, 可以手动修改 VSCode 的 CSS 文件代码字体推荐使用 "JetBrains Mono"终端字体推荐使用 "Cascadia Code"

2022-05-03 16:21:08 16856 13

原创 Python namedtuple 命名元组

namedtuple 是具有名称的元组, 与普通元组一样, namedtuple 也是不可变的序列, 除了支持整数索引访问, namedtuple 还支持点属性的方式访问元素namedtuple 工厂函数创建新类型的同时会自动生成文档字符串以及 __repr__ 方法namedtuple 内置了一些以单下划线开头的属性和方法Python 3.6 还提供一种全新的语法来定义命名元组(typing.NamedTuple)

2022-04-20 00:27:18 311

原创 ubuntu 18.04 升级至 glibc_2.28

ubuntu 18.04 默认的 glibc 版本位 2.27, 在运行最新的 Qt Creator 6.0.2 时会报错qtcreator: /lib/x86_64-linux-gnu/libc.so.6: version `glibc_2.28' not found此时可以选择升级到最新的 ubuntu 20.04, 当然最快的方法是仅升级 glibc下载 glibc-2.28.tar.xz准备编译环境sudo apt install build-essential gawk bison

2022-03-10 23:59:17 28096 8

原创 Python metaclass 元类

在 Python 中, 每一个对象均由某个类进行实例化而创建, 而对象的 __class__ 属性指向了这个类访问 obj.__class__ 等价于调用 type(obj) 函数对于 Python 语言, 一切皆对象, 类也是对象, 而类是由元类实例化而来Python 中默认的元类是 type我们可以继承 type 自定义一个元类, 然后使用该元类来创建类

2022-02-12 15:54:10 631

原创 Go switch 多分支语句

switch 多分支语句可以简化大量的判断(相对于 if 语句)var n = 3switch n {case 1: fmt.Println("大拇指")case 2: fmt.Println("食指")case 3: fmt.Println("中指")case 4: fmt.Println("无名指")case 5: fmt.Println("小拇指")default: fmt.Println("无效数字")}输出中指Go 语言的 switch 语句默认仅执行第一

2021-11-18 16:26:25 457

原创 01-Matplotlib 学习笔记

Matplotlib 是建立在 Numpy 数组基础上支持多平台数据可视化的 Python 库导入 Matplotlib 的简写形式: import matplotlib.pyplot as plt显示图像: plt.show()/%matplotlib 魔法命令两种绘图风格: MATLAB 风格和面向对象风格保存 Matplotlib 图像: plt.savefig()/fig.savefig()

2021-09-29 10:02:24 157

原创 Filebeat 学习笔记

Filebeat 是一个轻量级的日志采集工具, 监听日志的修改, 并将它们传给 Elasticsearch 或 LogstashFilebeat 工作流程如下图所示组成Filebeat 主要包含 inputs 和 harvesters 两大组件inputs 主要负责查找可供读取的资源, 最常见的资源是日志文件, 对应 filebeat 配置中的输入类型 type 为 logfilebeat.inputs:- type: log paths: - /var/log/*.log

2021-09-16 11:04:57 693 2

原创 bash shell 正则表达式

正则表达式是一种字符串匹配模式, Linux 工具可以用它来过滤文本正则表达式引擎正则表达式引擎是一套底层软件, 负责解释正则表达式以及使用它来匹配文本, 正则表达式是通过正则表达式引擎实现的以下是两种 Linux 流行的正则表达式引擎POSIX 基础正则表达式(BRE)引擎POSIX 扩展正则表达式(ERE)引擎大多数 Linux 工具至少符合 POSIX BRE 引擎规范, sed 编辑器仅部分支持 BRE 引擎, gawk 程序则支持 ERE 引擎基本正则表达式纯文本打印多行文

2021-09-06 16:01:41 1748

原创 sed 中引用环境变量

sed 命令使用单引号包裹, 但单引号将 $ 解释为普通字符, 而不是引用变量sed 命令中引用变量需要使用单引号包裹变量引用# 定义环境变量CHAR=Becho -e "A\nBC\nCD" | sed '/C/s/C/'$CHAR'/'ABBBDsed 命令处理所有包含 C 的文本行, 将这些文本行中的 C 替换为 CHAR 变量的值即 B...

2021-08-31 21:28:25 3008

原创 ubuntu 编译 CPython 源码

CPython 是 Python 的一个官方实现, 其他实现有 PyPy, Cython 和 Jython获取 CPython 源码git clone --branch 3.9 https://github.com/python/cpythoncd cpython也可以手动下载压缩包源代码目录结构.├── Doc├── Grammar├── Include├── Lib # Python 编写的标准模块 ├── m4├── Mac├── Misc├

2021-08-28 17:01:16 288

原创 02-Docker 镜像

02-Docker 镜像获取镜像命令格式, “[image]” 表示可以省略命令中的 imagedocker [image] pull NAME[:TAG]定位到一个特定的镜像需要 镜像名称(NAME) 和 镜像标签(TAG), 如果不显式指定 TAG, 则默认使用 latest 标签, 也就是最新版本docker pull ubuntudocker pull ubuntu:20.04当前 ubuntu 的 latest 标签指向 20.04, 所以上面两个命

2021-08-22 15:02:47 160

原创 01-Docker 简介

01-Docker 简介核心概念Docker 是基于 Go 语言实现的开源容器项目镜像Docker 镜像可以理解为一个只读的模板容器容器是从镜像创建的应用实例, 镜像相当于类, 容器就是由该类实例化的对象仓库Docker 仓库集中存放了 Docker 镜像文件, 最大的公开仓库是官方提供的 Docker Hub

2021-08-22 14:59:08 85

原创 Python HTTP request 使用 retry 策略

受服务器和网络影响, 没法保证网络请求一次就能成功, 有时需要多尝试几次Python 的 urllib3 和 requests 均支持 retry, 但它们都不是标准库urllib3 使用 retry测试 URL 为 https://httpbin.org/status/500, 只要访问就返回 500from urllib3.util import Retryfrom urllib3 import PoolManagerurl_500 = 'https://httpbin.org/statu

2021-08-20 14:42:03 3216

原创 PostgreSQL 导入和导出 CSV 文件

PostgreSQL 的 COPY 语句可以完成导入和导出文件的功能(需要相关权限), 此外 psql 的 \copy 命令通过运行 COPY 语句也可实现类似的功能测试数据 tokyo2020.csv,其中第一行为标题,COPY tokyo2020 FROM '/mnt/g/tokyo2020.csv' WITH CSV HEADER;WITH CSV HEADER 指定文件格式为 CSV 且首行为标题如果表结构中包含 id 字段, 而 CSV 文件中没有 id 这一列, 就需要在导入时指定部分列

2021-08-19 23:08:08 12438 1

原创 PostgreSQL 执行 SQL 文件

测试文件 Test.sql, 内容为SELECT random();直接在 shell 界面执行psql -U jianghuixin -d postgres -f /mnt/g/Test.sql在 psql 界面执行postgres=> \i /mnt/g/Test.sql

2021-08-18 11:44:59 658

原创 02-Logstash 输入

Logstash 02插件列表查看所有的输入插件logstash-plugin list --group input直接 logstash-plugin list 会列举所有的 logstash 插件准备工作修改 /usr/share/logstash-7.14.0/config/logstash.yml, 具体路径根据 Logstash 安装目录修改也可以在启动 Logstash 时指定 --config.reload.automatic输入插件Heartbeat input

2021-08-10 17:53:28 445

原创 01-Logstash 首次使用

Logstash 01Logstash 是一个具有实时管道处理能力的开源数据收集引擎, 它可以动态地整合各种来源的数据, 对数据进行处理后输出到指定的多个目的地安装Logstash 默认使用捆绑的 AdoptOpenJDK 11, 可以通过 JAVA_HOME 指定另一个 JDKInstalling from a Downloaded Binary下载二进制压缩包在任意位置解压tar -xzf logstash-7.14.0-linux-x86_64.tar.gzsudo mv logst

2021-08-10 14:31:33 231

原创 PostGIS 安装

安装 PostgreSQL官方文档通过 APT 仓库安装sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -sud

2021-07-24 00:18:29 1098 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除