分类目录归档:计算机

/sys/class/backlight变成了空路径

背景

1.archlinux笔记本亮度突然调节不了。

2.查看"/sys/class/backlight/"这个路径,发现里面的文件全都空了。

3.以为是更新系统出现了bug。

4.根据archwiki的提示,修改"/etc/default/grub"里的acpi_backlight无效。

解决

修改"/boot/grub/grub.cfg"(装系统时设定的grub配置文件)

acpi_backlight=vendor

改为

acpi_backlight=native

重启,解决。

Read more (138 views)

django储存数据库连接信息

背景

django需要和mysql数据库连接,但是因为代码开源,如果把密码明文直接放在文本里会非常不安全。

经过试验,找到了django储存数据库连接信息的最佳方式。

解决

直接存在当前机器的环境变量里!

以Linux举例

写入shell配置文件里

我用zsh,就在使用用户下的.zshrc里边加入:

export ALIYUN_RDS_1_PASSWORD="password"
export ALIYUN_RDS_1_NAME="database name"
export ALIYUN_RDS_1_USER="user name"
e

Read more (175 views)

homeassistant deploy: No module named '_sqlite3'.

背景

遇到一个坑:homeassistant部署后提示_sqlite3依赖找不到!

可是libsqlite-dev已经装有。

???

发现

因为Homeassistant最低需要Python3.9起步,raspberryPi国内镜像只有3.7版本(国外镜像慢得出奇就没加入源,也不知道有没有),只能自行编译安装。

官方默认sqlite可以被python调用的,但自己编译的就很孤立。于是configure的时候没有加进去!!!不说这谁能知道!

1.确认已经安装好所需要的依赖:

sudo apt-get install libsqlite3-dev

2.编译的时候加上sqlite的拓展!!!

./

Read more (175 views)

堆排序

2022下半年软考软件设计下午算法题:实现大顶堆排序。

因为复习没到位,导致该题全错!此处补上知识点。

堆排序实现:

1.构建初始大顶堆。

2.最后一个元素与第一个元素交换位置。

3.重排堆。

4.排完后的堆按自下而上插回顺序表。

HeapSort.cpp

#include <iostream>
using namespace std;
#define  MAXSIZE  20    //顺序表的最大长度

//定义顺序表数值结构
typedef struct
{
    int key;
    char *otherinfo;
}ElemType;

//顺序表的存储结构   

Read more (199 views)

关于端口被封

国内访问服务器上的web,一直转圈直到超时,而国外可以直接访问。

IP使用正常,服务器可ssh访问。

拿API Test测试get方法,返回SSL不可用

刚开始以为SSL过期,用certbot重新刷新了ssl证书还是如此。

端口被封八九不离十。

查询地址:https://port.ping.pe

image-20221006141916829

(上图:国内服务器都无法访问443端口,国外服务器可以访问,说明这个ip的这443端口被国内封了。)

结论

混淆代理走443端口,通过流量识别很容易就可以发现,尤其是网站没什么人访问却有很大的单用户的流量时。

更换混淆端口更是此地无银三百两,甚至可能直接封IP。

挨打就要立正!

Read more (328 views)

python操作excel

需求

某网站导出的excel表需要先变换格式才能整合进新表。

每次都要手动:取消单元格合并->筛选->升序排列->删除多余列。

处理前

修改前

处理后

修改后

让程序来做这些枯燥而重复的工作!

考虑到vba只能对单个excel执行,而c++库太少,python有丰富现成的库,所以选择python作为实现语言。

过程:

①读取文件路径作为变量。

②拆分带有合并的单元格。

③A6~AH14范围内,按A6升序排列。

④删除多余列。

⑤保存并退出。

面向过程,当脚本使用。

代码如下:

filename : dataProcess.py

import xlwings as xw
import t

Read more (124 views)

使用aircrack-ng破解wifi密码

免责声明:本文所攻击路由器为本人个人路由器。此网络技术只作研究,请勿用于不正当渗透。

1.停止网络管理的守护进程。

sudo systemctl stop NetworkManager.service wpa_supplicant.service

2.查看网卡名称。

iwconfig

我的网卡名称为wlp1s0。

wifi破解2

3.网卡设成监听模式。

sudo airmon-ng start wlp1s0

如果设备是单网卡,此操作会断开正连接的网络。

wifi破解3

4.扫描附近wifi。

sudo airodump-ng wlp1s0

wifi破解5

记住要破解的wifi的MAC地址和信道CH。

这里MAC地址为:18

Read more (157 views)

GB18030编码转UTF-8

背景

下载了一份源码,当我在linux平台用nvim查看时,英文部分正常,但中文乱码。

由于作者是在windows平台编写的,处于历史原因,windows向后兼容了GBK系列的编码。

而几乎所有linux的/etc/locale.conf文件都使用utf-8。

解决

方法一:修改.nvimrc配置文件,加入以下内容:

set fileencodings=utf8,cp936,gb18030,big5

此方法属于修改文本编辑器,虽然nvim查看显示正常,但属于自欺欺人。编译运行起来还是会乱码。

方法二:将文件编码直接修改成utf-8

进入想要改变的文件的路径

cd path-GB18030-

Read more (170 views)

git status中文显示乱码

问题

因为历史原因,git不能很好支持utf8

当我新增内容到暂存取时,看到git状态为乱码。

git中文乱码

解决

配置~/.gitconfig,往里面追加以下内容:

[core]
        quotepath = false

结果

git中文乱码j解决

Read more (163 views)

mysql修改字符编码方式

背景

记一次mysql因为不同的编码方式无法把两个字段拼凑起来的情况。

报错原因:mysql数据库latin和utf8混编连接

查询数据库编码情况

SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';

改变编码前

解决(把所有编码方式改成utf8mb4)

编辑/etc/mysql/conf.d/mysql.cnf

[client]                                                     

Read more (174 views)