当前位置: 首页 > news >正文

我的动态归纳(便于搜索)

linux dns配置文件是“/etc/resolv.conf”,该配置文件用于配置DNS客户,它包含了主机的域名搜索顺序和DNS/服务器的地址,每一行包括一个关键字和一个或多个空格隔开的参数。
/etc/resolv.conf (不配置就不能域名解析)
可以配置路由器网关或者dns服务器:
nameserver 192.168.0.1
nameserver 114.114.114.114

du -sh 递归看当前目录占用空间大小。
du -sh * 递归看当前目录下各个目录或文件的大小。
df -h 看磁盘总空间,及已用空间。

和我遇到的情况一样, /var/crash应该是系统崩溃记录下来的日志。
操作系统硬件或者软件故障导致操作系统崩溃的日志记录,crash目录里面的大文件也是服务器崩溃的时候产生的主要是提供给系统管理员分析系统崩溃原因用的。
linux /var/crash目录暴增
https://www.modb.pro/db/224470

长见识了,可以这么写。pandas筛选长度
import pandas as pd
def invalid_tweets(tweets: pd.DataFrame) -> pd.DataFrame:
is_valid = tweets[‘content’].str.len() > 15
df = tweets[is_valid]
return df[[‘tweet_id’]]

Zookeeper配置文件端口相关:
#the port at which the clients will connect
clientPort是与客户端连接的端口
clientPort=2181
server.A=B:C:D
尾部新增如上配置。A为一个节点编号,如0或1或2。B为节点ip地址。C为Leader选举端口。D为数据同步端口。
https://www.kancloud.cn/zhangpn/zookeeper/1654670

kafka启动
kafka-server-start.sh $KAFKA_HOME/conf/server.properties &

Zookeeper命令
zkServer.sh start # 启动
zkServer.sh status # 查看状态
zkServer.sh stop # 停止
zkServer.sh restart # 重启

Kafka并不难学!入门、进阶、商业实战 邓杰编著(第二章)

kafka和ZooKeeper安装:
https://www.kancloud.cn/zhangpn/zookeeper/1654670
https://www.kancloud.cn/zhangpn/kafka/1658561

kafka安装:
https://kafka.apache.org/downloads
https://archive.apache.org/dist/kafka/

ZooKeeper安装:
https://zookeeper.apache.org/releases.html#download
https://archive.apache.org/dist/zookeeper/

zookeeper和kafka集群的版本适配
kafka zookeeper
kafka_2.13-2.7.0 zookeeper-3.5.8
kafka_2.13-2.6.x zookeeper-3.5.8
kafka_2.12-2.5.0 zookeeper-3.5.8
kafka_2.12-2.4.0 zookeeper-3.5.6
kafka_2.12-2.3.1 zookeeper-3.4.14
kafka_2.12-2.3.0 zookeeper-3.4.14
kafka_2.12-1.1.1 zookeeper-3.4.10
kafka_2.12-1.1.0 zookeeper-3.4.10
kafka_2.12-1.0.2 zookeeper-3.4.10
kafka_2.12-0.11.0.0 zookeeper-3.4.10
kafka_2.12-0.10.2.2 zookeeper-3.4.9
kafka_2.12-0.10.0.0 zookeeper-3.4.6
kafka_2.12-0.9.0.0 zookeeper-3.4.6
https://zhuanlan.zhihu.com/p/360095145?utm_id=0

zabbix图形化配置mysql报错:发现Database host写 localhost报错,写127.0.0.1就正常:

Please create database manually, and set the configuration parameters for connection to this database. Press “Next step” button when done.
Details Cannot connect to the database.
No such file or directory

启动服务,并开机自启: systemctl enable --now 加服务

HAVING的用法,因为count(*)不能筛选

SELECT DISTINCT version FROM
(SELECT version,COUNT(*) CT FROM test_table GROUP BY version HAVING CT > 20000) T
ORDER BY version DESC LIMIT 2

zcat 查看压缩包里面的内容
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -utest -p test

搭建kafka
https://baijiahao.baidu.com/s?id=1761361346909650797&wfr=spider&for=pc
https://blog.csdn.net/abments/article/details/128993066
https://mikechen.cc/24924.html
https://dgrt.cn/a/2261784.html?action=onClick
https://mikechen.cc/24926.html
搭建kafka:https://mikechen.cc/24924.html

确实好用,df.query
num_list = [2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30]
df = df.query(“time_horizon in @num_list”)

crontab -l crontab -e
每6小时一次定时,覆盖式写入:
0 */6 * * * echo y | cp /home/test.config /data/test.config

不覆盖写入:
cp -n /home/test.config /data/test.config

想了一下,其实是因为用了内网穿透的原因。
mysql 报错 虽然回显是内网ip,但是我们是外网ip连的,不能因为看见是内网ip就断定是运行的内网代码; Access denied for userxxxx@内网IP’ (using password: YES)

查看端口号:
ss -an
netstat -an
lsof -i -P -n

可以使用以下命令来查看 k8s 占用的端口号:kubectl get svc

telnet 192.168.0.100 80 看端口是否开启
Trying 192.168.0.100…
Connected to 192.168.0.100.
Escape character is ‘^]’.
^]
按ctl + ]号进入telnet界面,说明连接成功

https://jingyan.baidu.com/article/63f236285a48180209ab3d4a.html

ifdown 网卡名 ifup 网卡名 好了。虽然
systemctl status network看见网络还是失败,但是网络可以用了。
不知道是不是什么冲突之类的。

https://blog.csdn.net/wuds_158/article/details/131409495

mysql
查看设置最大连接数,与已用最大连接数
show variables like ‘max_connections’;
show global status like ‘Max_used_connections’;
https://blog.csdn.net/LelemamaAnne/article/details/113585805

使用管道给cp传值:
find . -name “*.jar” | xargs -i cp {} /dir

cp后面的{}会被替换成xargs的输入

也可以使用

find . -name “*.jar” | xargs -I {} cp -r {} .

建议使用-I{}来代替 (大写i,不是小写L)
————————————————
版权声明:本文为CSDN博主「yayaqwl」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011517841/article/details/82347228

linux 获取倒数第二行数据
tail -n 2 mysql-bin.index | head -n 1

如何手动清理binlog
1.使用MySQL命令行
在MySQL命令行中,使用PURGE BINARY LOGS语句可以删除所有指定日期前创建的过期binlog日志文件。

例如,为了删除超过7天的binlog日志文件,可以运行以下命令:

PURGE BINARY LOGS BEFORE DATE_SUB(NOW(), INTERVAL 7 DAY);
1
2.按照binlog名称删除
#将mysql-bin.000011之前的日志清理掉
mysql> purge binary logs to ‘mysql-bin.000011’;
Query OK, 0 rows affected (0.01 sec)
1
2
3
3.按照时间删除
#删除2023-03-21 18:08:00之前的binlog日志
mysql> purge binary logs before ‘2023-03-21 18:08:00’;
Query OK, 0 rows affected, 1 warning (0.02 sec)
————————————————
版权声明:本文为CSDN博主「Clang的技术博客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012899618/article/details/129790336

[mysqld]
#设置日志保留天数
expire_logs_days=7
#设置日志文件最大大小
max_binlog_size=100M

用代码实现mysql同步删,mysql的binlog格式一般设置为row,这种格式解析精准。

mysqlbinlog可以指定数据库
mysqlbinlog --database my_test_database --base64-output=decode-rows --verbose mysql-bin.001364 | grep -i -A 10 delete

正则表达式:匹配忽略大小写,加 re.I
s = ‘That’
pat = r’t’
results = re.findall(pat,s,re.I)

正则表达式
获取数字串:re.findall(“mysql-bin.(\d+)”, res)

cp -n 不要覆盖已存在的文件。(不需要交互式输出)

python的subprocess模块来执行linux命令,并获取结果。
python之subprocess模块 : import subprocess
subprocess.getstatusoutput(cmd) 执行cmd命令,返回一个元组(命令执行状态, 命令执行结果输出),其功能类似于commands.getstatusoutput()

https://blog.csdn.net/qq_43331089/article/details/124421661

git clone分支 重命名(git链接后面加 自己的命名,可以重命名来区分不同分支)
git clone --depth=1 -b my_branch_2 http://project1.git project1_my_branch_2
https://baijiahao.baidu.com/s?id=1757643389424134685&wfr=spider&for=pc

mysq查看死锁进程
select * from information_schema.innodb_trx
kill 240727

https://blog.csdn.net/David_jiahuan/article/details/91558816
https://blog.51cto.com/u_12390904/6254246

pycharm 打开文件数量设置默认10个 File --> Settings -->Editor -->General --> Editor Tabs --> Tab limit

sql语句里有单引号或者双引号之类的字符,如果不是必须的可以replace去掉:
str(e).replace(‘"’, ’ ')
sql_update = “”“update 1_test_table set is_ok= “{}” “””.format(
e)

python保存输出到文件:
import sys
f = open(‘test_log.txt’, ‘w’)
sys.stdout = f
print(‘输出输出’)
f.close()

优先级为:内置模块 > 自定义包 > 自定义模块 > 三方安装包
https://blog.csdn.net/UZDW_/article/details/131745636

git回退版本:
场景一:如果想将代码恢复到之前某个提交的版本,且那个版本之后提交的版本都不要了,就可以使用 git rest

原理: git reset的作用是修改HEAD的位置,即将HEAD指向的位置改变为之前存在的某个版本

操作:

  1. 查看版本号:git log,也可以上代码托管网页上查看history,找到需要回滚的目标版本号

  2. 使用“git reset --hard 目标版本号”命令将版本回退

  3. 使用“git push -f”提交更改,此时如果用“git push”会报错,因为我们本地库HEAD指向的版本比远程库的要旧,用“git push -f”强制推上去。

————————————————
版权声明:本文为CSDN博主「泡泡大怪兽」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45032067/article/details/124621305

scrapy设置延时,单位秒
DOWNLOAD_DELAY=2

(pymysql.err.0perationalEmror)(206,"mySQL erver has gone away (ComectionResetEror(10854,“远程主机强迫关闭7一个现有的连接。”, None, 10054,Wone))’ 应该是单次入库太多,我修改了一下max_allowed_packet 就好了。
查看: show global variables like ‘max_allowed_packet’;
设置:set global max_allowed_packet =33554432;

影响范围:

设置太大,会使用更多内存,很容易导致丢包,无法捕捉异常大事物包SQL

设置太小,可能会导致程序报错,备份失败,也会导致频繁的收发网络报,影响系统性能

修改:一般32M足够

[Mysql] >set global max_allowed_packet =33554432;

修改配置文件:

[mysqld]

max_allowed_packet=32M
https://cloud.tencent.com/developer/article/1103836

MySQL 对大小写是否敏感,由 lower_case_table_names 参数来控制,修改此参数需要重启数据库才能生效。

lower_case_table_names = 0:表名区分大小写,且按照用户指定存储。
lower_case_table_names = 1:表不区分大小写,使用小写存储。
lower_case_table_names = 2:表不区分大小写,按照用户指定存储

又遇到一个问题:https://blog.51cto.com/u_15072920/4373675
python中,No module named ‘main.models’; ‘main’ is not a package解决方法:

将相对路径改为绝对路径:

from .bird_base import BirdBase------改为-----> from python_learning.bird_base import BirdBase

mysqldump安装:yum install mysql

对应退出的容器,用 docker start 启动。
docker run 是使用镜像创建新容器。

先编辑一下docker容器里的文件,发现容器没有编辑器:
可以通过 docker cp 解决:

方法:通过copy进行编辑
查看运行的容器:docker ps -a

选择需要编辑容器进行登陆 sudo docker exec -it 容器名 /bin/bash ,通过ls或 whereis 文件名或文件夹 进行查看需要编辑的文件的位置或者文件夹位置在哪

退出该容器内部 exit;

通过 docker cp 容器名:/etc/确认copy的文件或文件夹 /home/拷贝到的外部文件夹 把文件拷贝出来

通过 cd 拷贝到的文件夹位置,可以使用 xftp工具直接对文件夹进行编辑,或通过命令 vi vim 进行编辑

编辑完后,再通过 docker cp /home/拷贝到的外部文件夹 容器名:/etc/确认copy的文件或文件夹 拷贝回去

最后重启一下编辑过文件的容器,然后进行测试有没有生效

一个字段不小心尾部多了个空格,可以用下列sql快速去除空格:
UPDATE 表名 SET 字段名 = REPLACE(字段名, ’ ', ‘’)

https://www.yzktw.com.cn/post/650656.html

pip install 或者 pip2 install 三方库失败,一般是因为包不兼容,要指定就可以了。

https://blog.csdn.net/crazytire/article/details/125964956

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
警告:远程主机标识已更改!
这个报错主要是因为远程主机的ssh公钥发生了变化,两边不一致导致的

删除本地对应ip的在known_hosts相关信息

ssh登陆报错“IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!“问题原因及解决方法

https://huaweicloud.csdn.net/635641f3d3efff3090b5c7c7.html

在python3中,sys.maxint改为sys.maxsize.

‘dict‘ object has no attribute ‘has_key‘

已于 2022-05-08 10:35:30 修改

3378
收藏 2
分类专栏: Python 文章标签: py2 py3
版权
这个问题是py2和py3兼容性的问题

在py2中,判断key是否属于dict的写法可以是:

d={‘name’:‘abc’,‘location’:‘BeiJing’}
if d.has_key(‘location’):
print(d[‘location’])
在py3中,判断key是否属于字典的写法可以是:

d={‘name’:‘abc’,‘location’:‘BeiJing’}
if ‘location’ in d:
print(d[‘location’])
————————————————
版权声明:本文为CSDN博主「upDiff」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dlhlSC/article/details/90299500

scrapy:
https://blog.csdn.net/qq_44907926/article/details/119531324
scrapy官方文档:
https://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.html

scrapy 里面的item转化为dataframe:
df = pd.DataFrame(dict(item2), index=[0])

字典转化为dataframe:
df = pd.DataFrame(mydict, index=[0])

必须先把item转为字典,再转为dataframe。
如果是单条数据,必须加 index=[0], 多条则不用。

想起以前遇到的一个关于 pd.read_excel 的问题:
import pandas as pd
from urllib.request import urlopen

url = “http://xxxxxxxxxx”
#python3要加read,py2不用(这里也是个点)
df = pd.read_excel(urlopen(url).read(),converters={‘字段1’;:str,‘字段2’:str})

如果运行报错就#Install xlrd >= 1.0.0 for Excel support Use pip or conda to
安装版本pip install xlrd==1.1.0就可以了。

原来这个报错和SQLAlchemy版本有关系
这个版本是sqlalchemy版本的是1.4.3的版本, 2.0的版本是不适用的

AttributeError: ‘Engine‘ object has no attribute ‘execute‘

https://blog.csdn.net/Deng872347348/article/details/129898331

pycharm菜单栏消失了,双击shift搜索 'menu’或者’菜单’即可显示菜单栏。
https://www.ycpai.cn/python/icrD9HxH.html

这个方法不错,拿jsonpCallback里面的json:
filter = re.findall(“(jsonpCallback.?().+",response)[0]
filter=re.findall("jQuery.
?((.*?));”, content)[0]

content=response.text.replace(‘\n’,‘’).replace(‘\r’,‘’)
content = response.text.replace(‘\n’, ‘’).replace(‘\r’, ‘’).replace(’ ', ‘’)
filter=re.findall(“jQuery.?((.?));”, content)
正则匹配网页要去掉\n和\r,不然可能会匹配不上。

.* 是贪婪模式,倾向于获取最长的满足条件的字符串;
.* ?是非贪婪模式,倾向于获取最短的能满足条件的字符串。

如果json内部也有小括号的时候,括号内部用.* 贪婪匹配 :
filter=re.findall(“jQuery.?((.));”, content)
filter=re.findall(“jQuery.?((.?));”, content)

linux设置开机自启动:
在/etc/rc.local文件中添加自启动命令
测试了一下,还可以,蛮好用的

docker-compose 用pip安装:

pip install docker-compose

https://www.itbulu.com/python-setuppy-egginfo.html

mysql查询一小时内数据:

SELECT * FROM table_name WHERE date_column > DATE_SUB(NOW(), INTERVAL 1 HOUR);

看了几篇文章,发现这个最好用(就是jenkins任务一直卡着,×不掉的用命令行清理)

1、Manage Jenkins->Script Console(系统管理-工具和动作-脚本命令行)

Jenkins.instance.getItemByFullName(“清洗任务1”).getBuildByNumber(9711).delete();

清洗任务1是job名字,9711是Build号
————————————————
版权声明:本文为CSDN博主「萌翻天」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40308101/article/details/125806891

要停止所有 Docker 容器,您可以运行以下命令:

docker stop$(docker ps -a -q)
1
2
这个命令会停止所有正在运行的容器,并且会忽略已经停止的容器。如果您想要删除这些容器,可以使用以下命令:

docker rm$(docker ps -a -q)

docker一条命令启动、关闭、停止、删除 所有容器

1.docker中 启动所有的容器命令
docker start $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)
2.docker中 停止所有的容器命令
docker stop $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)
3. docker中 删除所有的容器命令
docker rm $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)
4. docker中 删除所有的镜像
docker rmi $(docker images | awk ‘{print $3}’ |tail -n +2)
5. 更新容器为开机自启
docker update --restart=always mysql #设置MySQL为开机自启
6.根据容器的状态,删除Exited状态的所有容器
sudo docker rm $(sudo docker ps -qf status=exited)
docker 出现root也无法停止、删除的问题

解决:

执行命令:
aa-remove-unknown

https://blog.csdn.net/lau_jw/article/details/126598759

原来lanproxy服务端的端口对应等配置信息在这个地方: /root/.lanproxy

又get到一个新知识zfill:

zfill的功能
为字符串定义长度,如不满足,缺少的部分用0填补
zfill的用法
用法:newstr = string.zfill(width)
参数:width新字符串希望的宽度
In [14]: name = ‘insane’
In [15]: new_name = name.zfill(10)
In [16]: print(new_name)
0000insane
————————————————
版权声明:本文为CSDN博主「Insane_Loafer」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_48978908/article/details/119189964

获取汉字首字母拼音
from pypinyin import pinyin as py, Style as py_style

person_name_py = “”.join([x[0] for x in py(‘李小白’, style=py_style.FIRST_LETTER)]).upper()

为什么requests.get(url)得到的response不能使用简洁用法 response.xpath(需要先用etree.HTML()方法过渡),而scrapy中parse方法内却能直接使用response.xpath?

requests和scrapy的response是两个类,requests的没有封装xpath方法

https://zhuanlan.zhihu.com/p/40332579

查看目录总大小
du -sh ./root

du 参数 目录
-h:单位以用户友好方式展示
-c: 统计目录文件大小
-a:显示目录下所有的文件
–time:显示目录文件修改的最后时间
–exclude:排除某个目录
-s:直接显示目录的使用大小
-BK:以KB为单位显示目录大小
-BM:以MB为单位显示目录大小
-BG:以GB为单位显示目录大小
https://baijiahao.baidu.com/s?id=1741054542770174942&wfr=spider&for=pc

docker exec -it my_ginx /bin/bash
failed to create runc console socket: mkdir /tmp/pty179331520: no space left on device: unknown

应该是磁盘空间不够了

清理docker日志,参考这篇文章
https://blog.csdn.net/WLPJLP/article/details/121371788

#!/bin/bash
echo "开始清理docker日志"
#容器的路径 默认的就是下面的,如果是自定义的docker的路径就改自己定的路径
CONTAINER_DIR=/var/lib/docker/containers获取所有的容器日志文件
CONTAINER_LOGS=$(find $CONTAINER_DIR -name "*-json.log")#清理每个容器的日志
for LOG in $CONTAINER_LOGS; doLOG_FILE=${LOG##*/}echo "容器的ID:${LOG_FILE/-json.log/}  清理的日志文件:$LOG_FILE"cat /dev/null >"$LOG"# 也可以使用-> echo "" >"$LOG"
done

————————————————
版权声明:本文为CSDN博主「shareloke」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/WLPJLP/article/details/121371788

https://console.cloud.tencent.com/cns
改域名对应ip。每个子域名都可以对应不同IP

好用,真方便!
https://www.runoob.com/docker/docker-compose.html
docker-compose.yml 配置文件:
使用 Compose 命令构建和运行您的应用
在测试目录中,执行以下命令来启动应用程序:
docker-compose up
如果你想在后台执行该服务可以加上 -d 参数:
docker-compose up -d

zip 命令为压缩命令,压缩后不覆盖源文件,可以压缩目录,一般后缀名为.zip用于压缩文件,其语法格式如下:

zip [选项] 文件名.zip /xxx/路径xxx/文件
1
常用参数选项如下:

-v :可视化操作,显示压缩的执行过程,默认就是可视化
-q : 静默操作,不显示指令执行过程
-r :表示递归打包包含子目录的全部内容
-d :从压缩文件内删除指定的文件
-n :n为一个数字,压缩级别是从 1~9 的数字,-1 代表压缩速度更快,-9 代表压缩效果更好
-e :加密压缩文件
-u :追加文件到zip压缩包中
1
2
3
4
5
6
7
演示示例:

zip -vr etc.zip /etc/ #压缩/etc/目录,压缩文件名为etc.zip
zip -d myfile.zip smart.txt #删除压缩文件中的指定文件
zip -e passwd.zip /etc/passwd #加密压缩,需要输入密码
zip -u passwd.zip mypasww.txt #追加mypasww.txt文件到压缩包中
————————————————
版权声明:本文为CSDN博主「MssGuo」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/MssGuo/article/details/117324818

调整服务器内核参数

① Linux 提供了 tcp_max_tw_buckets 参数,当 TIME_WAIT 的连接数量超过该参数时,新关闭的连接就不再经历 TIME_WAIT 而直接关闭:

[root@kvm-10-115-88-47 ~]# cat /proc/sys/net/ipv4/tcp_max_tw_buckets

1.sort_values()方法

sort_values(by, axis=0, ascending=True, inplace=False, kind=‘quicksort’, na_position=‘last’)

①axis 如果axis=0,那么by=“列名”; 如果axis=1,那么by=“行名”;
②ascending: True则升序,可以是[True,False],即第一字段升序,第二个降序
③inplace: 是否用排序后的数据框替换现有的数据框 ,True,或者False
④kind: 排序方法
⑤na_position : {‘first’, ‘last’}, default ‘last’,默认缺失值排在最后面
————————————————
版权声明:本文为CSDN博主「Clyde_刘」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_51098806/article/details/115264798

Jenkins 时间输出:如何设置打印时间为钟表时间,而不是脚本运行时间
输出界面左边配置:

Timestamps
View as plain text
System clock time
Use browser timezone
Elapsed time
None

mysql对NULL的判断: = 和 != 运算符是不起作用的,必须使用 IS NULL 和 IS NOT NULL

mysql limit用法:
LIMIT 初始位置,记录数
其中,“初始位置”表示从哪条记录开始显示;“记录数”表示显示记录的条数。第一条记录的位置是 0,第二条记录的位置是 1。后面的记录依次类推。
注意:LIMIT 后的两个参数必须都是正整数。
比如:
select * from test limit 2,5
就是从test表里,第三条记录开始取,一共取5条记录

mysql配置文件的server-id是4字节整数,范围从0-4294967295。不能重复,可以设置为ip的末端号。

XtraBackup 环境安装
https://blog.csdn.net/A___LEi/article/details/127661509

[root@centos7 ~]# yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
[root@centos7 ~]# yum -y install percona-xtrabackup-24
[root@centos7 ~]# yum -y install qpress ##innobackupex支持压缩导出,这里安装压缩工具

[root@centos7 ~]# innobackupex -version ###如果出现如下提示表示安装成功,我这里2.4.15
xtrabackup: recognized server arguments: --server-id=11 --datadir=/data/mysql_data --tmpdir=/tmp --log_bin=bin.log --innodb_page_size=8192 --innodb_buffer_pool_size=2G --innodb_io_capacity=4000 --innodb_flush_method=O_DIRECT --innodb_undo_tablespaces=3 --innodb_log_file_size=128M --innodb_log_buffer_size=16777216
innobackupex version 2.4.15 Linux (x86_64) (revision id: 544842a)

使用物理备份恢复数据库
https://cloud.tencent.com/document/product/236/33363

下载并安装 XtraBackup 工具。
MySQL 5.6、5.7 请选择 Percona XtraBackup 2.4.6 及以上的版本,下载地址,安装介绍请参见 Percona XtraBackup 2.4 指引。
MySQL 8.0 请选择 Percona XtraBackup 8.0.22-15 及以上版本,下载地址,安装介绍请参见 Percona XtraBackup 8.0 指引。

pycharm配置add configuration
注意点:
1.打开当前项目,而不是把多个项目在一个窗口打开(注意项目路径)。
2.添加解释器环境的时候,注意选择Script path,而不是Module name。

wget 可以断点续传,真是太好了,某云下载mysql备份文件url链接只生效12小时。下载一半失败了。发现可以续上,省时间了。
只需要使用-c参数,就支持断点续传了。

wget命令格式:wget -c ‘<备份文件下载地址>’ -O <自定义文件名>.xb

发现一件事,xpath的时候,都是从1开始计数的,不是从0计数。
比如说td[1]、td[2]…

linux解压zip文件到特定目录:
unzip -d /temp test.zip

https://blog.csdn.net/weixin_44021888/article/details/126384301

把一个项目里特定几个模块使用setup打包成tar.gz,文件。然后比如说在另一个项目pip install xxx.tar.gz,就可以像安装python三方库一样,使用这个xxx项目的模块。
如何把这个 xxx.tar.gz,在该项目的容器里使用呢。
先把这个文件上传到git项目里。
在该项目的Dockerfile里写入:
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN mkdir -p /usr/src/app
ENV PYTHONPATH=/usr/src/app
WORKDIR /usr/src/app
COPY . /usr/src/app
RUN pip install /usr/src/app/xxx.tar.gz
RUN pip install -r /usr/src/app/requirements.txt

就可以在打包镜像的时候,安装自己的包和python三方库了。

代码没找到指定库,原来没指定就用0号库:“Redis的默认库是0号库。用户在Redis中进行操作时,如果没有指定具体的数据库,那么默认会操作0号库

场景:应该是当for循环正常结束,则才运行else里的语句。反之,当for循环没有正常运行则,不执行else的语句。

长见识了,python 里居然有 for…else语法。
for 临时变量 in 序列:
重复执行的代码

else:
循环正常结束后要执行的代码

Break是终止循环,一旦遇到break就代表循环是非正常结束的,因为break是终止循环这个时候else之后的的代码是不执行的。Continue指的是退出当前一次循环继而继续下一次循环,这样continue循环是正常结束的,else之后的的代码是正常执行的。

参考文章https://blog.csdn.net/weixin_48728769/article/details/123796020

一交换机下接了两个无线路由器,现在交换机的网段是192.168.0.x。
路由器1的网段是192.168.1.x,路由器2的网段是192.168.2.x。
则路由器1与路由器2下的设备,可以访问交换机下的设备(即192.168.0.x网段)。
而交换机下的设备,不能访问路由器1和路由器2下的设备。

列如路由器2下的一windows主机192.168.2.66 可以直接通过ssh连接到交换机下的一Linux服务器192.168.0.77。

该windows主机可以ping通该Linux服务器(即在192.168.2.66机器可以ping通192.168.0.77)

但是在该Linux服务器不能ping通该windows主机(即在192.168.0.77机器不能ping通192.168.2.66)

实际工作中,经常遇到一些需要很长时间才能完成的任务,例如压缩一个40G的目录,或者复制很大的文件。这些操作耗时很长,操作人员一般需要一直等待,直到它执行完毕。否则,可能会因为电脑锁屏、服务器ssh链接断开而导致任务执行失败。

在linux系统里有一个命令,screen,可以很好地解决这个问题。可以通过screen,将执行的命令放到screen后台任务里,screen任务作为一个进程在服务器后台执行。设置好screen任务后,可以退出服务器去做其他事情,等时间差不多了,再来查看放在screen的任务。

一般情况下,只要没有人去kill你的screen任务进程,服务器也没有关机或重启操作,screen任务都会平稳运行。

screen的使用实现了长耗时任务的无人值守,解放了操作者的双手,节省了时间,是IT民工必备的技能之一。

下边简单说下screen的用法
————————————————
版权声明:本文为CSDN博主「CwSunlit」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43557605/article/details/120265864

https://blog.csdn.net/weixin_43557605/article/details/120265864

docker ps -a
看到某个容器没起来,状态 Exited (0) 2 hoours ago
这个时候,一般重启容器就可以了
docker restart 容器id或容器名称

1.dataframe筛选:
df = df[df[‘person_id’]==‘testid1234’]
2.筛选后定位:
gender=df[‘gender’].iloc[0]
因为筛选后,index不是0了,所以要加个iloc[0]来定位。
df[‘gender’][0] 定位不到。

1.axis
lambda和dropna默认都是axis=0,lambda的axis=0是列操作,dropna的axis=0是行操作。
df.apply(lambda x: test_func(x),axis=1)
df=df.dropna()

mysql DATE_FORMAT: 格式化日期

DATE_FORMAT(NOW(),‘%b %d %Y %h:%i %p’)
DATE_FORMAT(NOW(),‘%m-%d-%Y’)
DATE_FORMAT(NOW(),‘%d %b %y’)
DATE_FORMAT(NOW(),‘%d %b %Y %T:%f’)

dataframe筛选案例:

df_w_cal= df_w[df_w[‘statistic_date’]>=dt.datetime.strptime(min_statistic_date,“%Y-%m-%d”).date()]

make 编译
make install 安装
make install PREFIX=/usr/local/share/reids 安装到特定目录
make distclean 清除上次编译(为了下一次干净编译)

make install PREFIX=/usr/local/share/redis

之前使用安装包安装gcc 4.4.7,然后make编译redis 2.8.9的时候报错,猜想是不是gcc版本太低了。(其中cc链接自gcc)
cc: error trying to exec ‘cc1’: execvp: 没有那个文件或目录

手动编译指定版本gcc:
Linux 安装指定版本GCC方法:
https://blog.csdn.net/qq_33438733/article/details/79983141
https://blog.csdn.net/liboyang71/article/details/77152577

直接去/etc/yum.repos.d/CenOS-Base.repo配置yum’源,然后yum install gcc。再编译redis就可以了。
yum安装gcc是4.8.5。
(结论:要么就是gcc版本,要么就是4.4.7那个安装方式没安全。)

rpm -e 包名
rpm卸载软件

mkdir -p /usr/redis/redis-2.8.17/

-p参数,父目录不存在的时候,一并创建父目录

Python报错:
ValueError: unsupported format character ‘?’ (0x5927) at index 134

原因:一般是因为sql语句文本里有百分号%,导致不能识别是输出内容还是特殊符号。
方案:在文本百分号%后面再加个百分号%,就可以了。

向下取整 int() 函数
四舍五入round() 函数
向上取整math.ceil()
分别取整数部分和小数部分math.modf()

这个写法有意思
source_ids = ‘,’.join([“'”+x+“'” for x in df_source_id[‘source_id’].tolist()])

用内网是真的快!!!!

导出mysql文件:
nohup mysqldump --skip-lock-tables -h 192.168.1.2 -P 1314 -utest_user -p’test_password’ test_database test_biao_name >test.sql &

导入sql文件:
inux下mysql导入sql文件方法1
进入linux命令命令行下
mysql -uroot -p 回车 输入密码
source fileName.sql
注意fileName.sql要有路径名,例如:source /home/user/data/fileName.sql

我服了,我发现mysqldump命令加密码的时候,生成的sql文件不能用。。可能和首行的无效输出信息有关系。
交互式命令可以。。。。。

sed -i ‘1,nd’ 文件名 删除文件 1到n行

headers_scrapy = {
‘Content-Type’: ‘application/json’,
‘Authorization’: ‘Basic xxxxxxxxxx’,
“Accept-Language”: “zh-CN,zh;q=0.9”
}

jenkins请求头里Authorization的值是 账号:密码 然后进行base64加密后的结果,可以用来进行当jenkins爬虫的请求头

我傻了,一定不能设置DNS为8.8.8.8,这个是谷歌的DNS服务器,速度太慢了,之前只觉得好记忆,没想到这个是外网的,速度这么慢。。。。

kubectl describe pod pod_name -n namespace 看报错信息

k8s任务一直处于Pending状态,是因为yaml文件里要求资源太高,可以适当降低yaml文件里的资源要求。(request的资源就被该任务锁住了,其他任务不能用)

Warning FailedScheduling default-scheduler 0/5 nodes are available: 1 node(s) had taint {node.kubernetes.io/unreachable: }, that the pod didn’t tolerate, 1 node(s) were unschedulable, 2 Insufficient cpu, 2 Insufficient memory.
Warning FailedScheduling default-scheduler 0/5 nodes are available: 1 node(s) had taint {node.kubernetes.io/unreachable: }, that the pod didn’t tolerate, 1 node(s) were unschedulable, 2 Insufficient cpu, 2 Insufficient memory.
Warning FailedScheduling default-scheduler 0/5 nodes are available: 1 node(s) had taint {node.kubernetes.io/unreachable: }, that the pod didn’t tolerate, 1 node(s) were unschedulable, 2 Insufficient memory, 3 Insufficient cpu.

可能因为网络等原因clone不下来,可以循环50次自动克隆:
for i in {1…50}; do git clone --depth=1 http://xxxxxx.git; done

10天前日期:
dt.datetime.today() - dt.timedelta(10)

安装cv2:
pip install opencv-python

代码里导入cv2:
import cv2

从数据库里找每条基金的最小成立日期:select fund_id, min(statistic_date) statistic_date from fund_nv_data_standard group by fund_id

去除重复数据——drop_duplicates
去除指定单列或多列中的完全重复的项通过drop_duplicates()函数实现,需要利用Pandas包。

其中:

1、subset=[] 表示整个dataframe基于[]内选定列进行数据重复内容识别,可以添加多列数据进行识别。

(1)添加一列列名时表示对选中的单列数据进行重复数据识别,

(2)添加多列时则表示识别多列数据同时重复的情况;

2、keep=‘’ 表示对选中的重复数据操作策略,可选择的参数为’first’、'last’和’False’三种。

(1)'first’表示在识别的重复项中保留按照索引顺序的第一个内容,其余删除,

(2)'last’表示在识别的重复项中保留按照索引顺序的最后一个内容,其余删除,

(3)'False’表示删除所有重复项;

3、inplace= 表示对处理好的dataframe存储策略,可选择参数为False和True

(1)False表示不对原始数据进行去重工作,例如示例代码中data1内容不改变,将处理结果赋予data参数中,

(2)True表示去重工作直接在原始数据中进行操作,例如示例代码中data1中去重操作会直接在data1中进行,data不会被赋值。

data = data1.drop_duplicates(subset=[‘列名1’,‘列名2’], keep=‘first’, inplace= False)
————————————————
版权声明:本文为CSDN博主「羊羊麾下的发电站」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gisaavg/article/details/124516669

confined.
Dataframe 的 set_index 方法可以将一列设置为索引,这样可以更方便地选择和操作数据。例如:

复制
import pandas as pd

df = pd.DataFrame({‘A’: [1, 2, 3], ‘B’: [4, 5, 6]}, index=[‘a’, ‘b’, ‘c’])
df = df.set_index(‘A’)

print(df)

sort_values() 函数说明
pandas库的 sort_values() 函数可以对 Dataframe 的数据集按照某个字段中的数据进行排序。该函数可以指定列数据或行数据进行排序,可以是单个,也可以是多个。

https://blog.csdn.net/BlueWhale52/article/details/119187311?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167832983716800184120140%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=167832983716800184120140&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_click~default-1-119187311-null-null.142v73insert_down3,201v4add_ask,239v2insert_chatgpt&utm_term=dataframe%20sort_values&spm=1018.2226.3001.4187

nginx 报错:nginx: [warn] the “ssl” directive is deprecated, use the “listen … ssl” directive instead
nginx升级版本之后,原来配置的所有ssl的站点全都报警告
解决办法:
在nginx的配置文件中,

将原来的ssl on注释掉或者删除
将原来的listen 443;修改成listen 443 ssl;
注意,两点都需要,如果只是将ssl on注释掉,不修改listen,测试语法的时候,是没有告警,重启nginx也没有问题,但是访问网站的时候会显示网站不是安全链接,即ssl配置没有生效。
————————————————
版权声明:本文为CSDN博主「unreachableO」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44972135/article/details/106621593

https://blog.csdn.net/qq_36908872/article/details/127284896
https://www.jianshu.com/p/ccf365361738

给阿里云服务器(Centos6.8 64位)配置https,安装证书的时候,报错了:

nginx: [emerg] unknown directive “ssl” in /usr/local/nginx/conf/con.d/xxx.conf:8

大概意思是找不到或者,没有安装OpenSSL,但是我whereis openssl,是能找到的,那应该就是没有配置openssl,

然后就重新配置一下:

进入Nginx安装目录:cd /usr/local/src/nginx-1.10.3
./configure --with-http_ssl_module
make
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak,然后输入Y
覆盖旧的:cp objs/nginx /usr/local/nginx/sbin/nginx
测试一下是否成功:/usr/local/nginx/sbin/nginx -t ,如图代表成功
重启Nginx(cd /usr/local/nginx/sbin,./nginx -s reload)
————————————————
版权声明:本文为CSDN博主「闹灬爷」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Maple_abao/article/details/82383004

https:// 走ip显示不安全,走域名显示安全。

查看端口使用
netstat -lntp

docker查看容器完整command的命令:
就是在显示容器列表的命令后面加上–no-trunc,大概是不省略的意思
比如
docker ps -a --no-trunc

https://blog.csdn.net/drnrrwfs/article/details/124173679

防踩坑

防踩坑:出现Docker挂载主机目录访问出现cannot open directory.: Permission denied…
解决办法:在挂载目录后多加一个–privileged=true参数即可。

出现上面问题的原因是:通常情况下Linux系统会把不安全的项禁止掉,目录挂载的操作默认情况下被看作是不安全的行为。即在SELinux里面挂载目录被禁止掉了,如果要开启,我们通常需要使用–privileged=true命令,来扩大容器的权限解决挂载目录没有权限的问题。其实上面这个过程可以理解为:将容器内部的root拥有本地主机的root权限,不然容器内部的root只是外部的一个普通用户。
————————————————
版权声明:本文为CSDN博主「嵌入式技术」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_37926734/article/details/123278466

(解决方案:见116)
SELinux is preventing /bin/touch from write access on the 目录 /home/jenkins_home.

***** 插件 catchall (100. 置信度) 建议 ********************************************

如果你相信 touch应该允许_BASE_PATH write 访问 jenkins_home directory默认情况下。
Then 应该将这个情况作为 bug 报告。
可以生成本地策略模块以允许此访问。
Do
暂时允许此访问权限执行:
ausearch -c ‘touch’ --raw | audit2allow -M my-touch
semodule -i my-touch.pp

报错:Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/containers/json: dial unix /var/run/docker.sock: connect: permission denied。

可能原因一:使用了非root用户启用或连接docker

>>> Docker进程使用Unix Socket而不是TCP端口,而默认情况下,Unix socket属于root用户,因此需要root权限才能访问。
复制代码

sudo groupadd docker #添加docker用户组

sudo gpasswd -a $XXX docker #检测当前用户是否已经在docker用户组中,其中XXX为用户名。

sudo gpasswd -a $USER docker #将当前用户添加至docker用户组

newgrp docker #更新docker用户组

https://www.cnblogs.com/leozhanggg/p/11730189.html

解决方案:

防踩坑:出现Docker挂载主机目录访问出现cannot open directory.: Permission denied…
解决办法:在挂载目录后多加一个–privileged=true参数即可。

出现上面问题的原因是:通常情况下Linux系统会把不安全的项禁止掉,目录挂载的操作默认情况下被看作是不安全的行为。即在SELinux里面挂载目录被禁止掉了,如果要开启,我们通常需要使用–privileged=true命令,来扩大容器的权限解决挂载目录没有权限的问题。其实上面这个过程可以理解为:将容器内部的root拥有本地主机的root权限,不然容器内部的root只是外部的一个普通用户。
————————————————
版权声明:本文为CSDN博主「嵌入式技术」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_37926734/article/details/123278466

Docker docker + selenium + jenkins 并行跑自动化测试

https://testerhome.com/topics/16605

scrapy中关于Splash的使用:
https://blog.csdn.net/Lijuhao_blog/article/details/89070929

为什么要学习Splash?
我们经常使用scrapy框架编写爬虫代码,站在巨人的肩膀上感觉很好,但是一旦遇到网站用JavaScript动态渲染,scrapy就显得有些力不从心了,我们了解的selenium可以完成动态加载,返回浏览器渲染后的页面,今天我们不讲selenium,Scrapy-Splash(是一个Scrapy中支持JavaScript渲染的工具)同样可以完成这件事,下面我们来说说Splash如何与Scrapy进行对接。
————————————————
版权声明:本文为CSDN博主「ljhyigehaoren」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Lijuhao_blog/article/details/89070929

chpasswd命令:真好用

runoob@runoob:~$ cat Dockerfile
FROM centos:6.7
MAINTAINER Fisher “fisher@sudops.com”

RUN /bin/echo ‘root:123456’ |chpasswd
RUN useradd runoob
RUN /bin/echo ‘runoob:123456’ |chpasswd
RUN /bin/echo -e "LANG=“en_US.UTF-8"” >/etc/default/local
EXPOSE 22
EXPOSE 80
CMD /usr/sbin/sshd -D

https://www.runoob.com/docker/docker-image-usage.html

docker 文档:
https://www.runoob.com/docker/docker-tutorial.html

excel表格前面的0如何显示:
1.打开excel表格
首先打开excel表格,在需要的单元格上方单击右键,选择“设置单元格格式”。

2.选择“文本”
在设置单元格格式对话框中,数字分类选择“文本”选项,确定即可在数字前方输入0。

3.完成
或者直接在01前方输入多一个”英文’号“,回车即可成功显示前方的0。

https://jingyan.baidu.com/article/5d6edee2ec6dc4d8eadeeca6.html

linux系统解决boot空间不足

ubuntu:
1、查看当前使用内核版本号
uname -a(完整版)
uname -r(精简版)
2、查看已安装的内核版本号
dpkg --get-selections | grep linux
3、删除内核
apt-get purge …

centos:
1、查看当前使用内核版本号
uname -a(完整版)
uname -r(精简版)
2、查看已安装的内核版本号
rpm -qa | grep kernel
3、删除内核
yum remove …

https://www.likecs.com/show-305926883.html

原文链接:https://www.cnblogs.com/anzerong2012/p/6354436.html

我认为以后装系统,要把/boot分区搞大点,200M实在不够,不然要一直删老内核。。。。。。

centos中如何安装中文输入法?
使用命令 管理员权限运行yum install ibus-libpinyin安装,若提示软件已经是最新版本就不用安装,一般来说,系统都会默认安装了ibus-libpinyin。然后是添加系统设置中添加中文输入法:设置---->Region & Language界面下,点击“+”添加输入法,选中“汉语(中国)” ,回弹出下一个界面然后选择 “汉语(Intelligent Pinyin)”,然后便可以在桌面上方的工具栏中进行输入法切换,也可以使用shift切换。
————————————————
版权声明:本文为CSDN博主「qq_41210639」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41210639/article/details/115263611

不用安装,直接改设置真方便。

Centos7安装无线网卡驱动(No Wi-Fi Adapter Found):

进入QCA9377 目录下,看看有什么版本:

cd /lib/firmware/ath10k/QCA9377/hw1.0/
firmware-5.bin 和 firmware-6.bin 两个版本的固件文件,

若是,则删掉firmware-6.bin,保留firmware-5.bin。

然后重启电脑,wifi设备就又可以正常工作了。

https://www.cnblogs.com/wutou/p/16777165.html

真详细的centos安装教程,但是为什么我的网络设置显示找不到wifi adapter。。。。不知道是不是和驱动有关系。(解决方案:见126)

物理服务器安装CentOS 7操作系统
https://blog.csdn.net/qq_33427869/article/details/126668794

装centos前不能分区,不然显示空间不够,要先删除分区,删除分区可以通过救援模式删。

磁盘分区后提示:sda必须有一个gpt磁盘标签的解决办法。
https://mnews.68idc.cn/jiabenmake/qita/20150108163219.html

选择"Troubleshoot"选项。
选择"Rescue a Centos system",进入到救援系统。
模式下选择"Continue",继续进入系统。
此时,就可以来到CD/DVD提供的文件系统下。而原本的磁盘系统则存放再/mnt/sysimage目录下。等待系统修复完成,就可以通过chroot切换到磁盘系统文件系统下了。

怎么删除原本的分区,因为原本分区跑系统的时候就运行了,现在可以插个u盘救援模式,就可以不管物理机的系统了,相对于一个移动系统直接操作物理机磁盘。

通过蓝牙可以共享网络,长见识了

1.安装centos系统。
如果过程中出现:
Entering emergency mode exit the shell to continue. Type “journalctl” to view system logs.
解决方法:

这时在提示符下输入以下两行命令

cd dev
ls
在出现的几列字符中找到sdb和sdb#,其中#代表某个数字,sdb#表示系统为你正在使用的U盘分配的盘符。(记下这个数字)

输入reboot重启系统,再选择USB启动,
在出现的安装菜单中按tab(如果tab没反应,按e,有提示的,按e键),会在下面出现一列字符。

initrd=initrd.img inst.stage2=hdABEL=CentOS\x207\x20x86_64 quiet

把上面的改为下面的
注意,这个4就是刚刚记的数,如果是其他的数就改为其他的

initrd=initrd.img inst.stage2=hd:/dev/sdb4 quiet

按enter(回车)或者ctrl-x进入启动界面。
————————————————
版权声明:本文为CSDN博主「hell_haita」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hell_haita/article/details/102564387
安装liunx出现Entering emergency mode
https://blog.csdn.net/hell_haita/article/details/102564387

ultraiso官网:
https://cn.ultraiso.net/xiazai.html

制作u盘启动盘:UltralSO 软碟通制作U盘启动盘(图解详细 完美避坑

https://blog.csdn.net/qq_43901693/article/details/95535051?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%88%B6%E4%BD%9Cu%E7%9B%98%E5%90%AF%E5%8A%A8%E7%9B%98&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-1-95535051.142v73insert_down4,201v4add_ask,239v2insert_chatgpt&spm=1018.2226.3001.4187

information_schema!!! 获取表、列信息

import sys
sys.path.appen(r’C:\Users\DELL\Desktop\IndexCalculation’)

python脚本文件加入这两行(路径为具体项目路径),就可以在cmd里跑项目里的脚本了,如果不加这两行,那么有时候导入项目里的包时,会报错,。所以一定要在代码里标识项目路径,然后再在cmd里运行脚本

import sys
sys.path.append(‘…/projectname’)
这样更方便,自动识别项目路径

python包 Sklearn安装:
pip install scikit-learn

https://blog.csdn.net/Xingchen0101/article/details/126332660?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167720747116800186574045%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=167720747116800186574045&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-3-126332660-null-null.142v73insert_down3,201v4add_ask,239v2insert_chatgpt&utm_term=sklearn&spm=1018.2226.3001.4187

#获取所有记录 fetchall–获取所有记录 fetchmany–获取多条记录,需传参 fetchone–获取一条记录

sql_date = “”“select MIN(statistic_date) from fund_month_risk “””

res=engine_2g_base_du().execute(sql_date)
a=res.fetchone()
all=res.fetchall()

https://blog.csdn.net/weixin_43977279/article/details/124083828?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167720295216800225544102%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=167720295216800225544102&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-2-124083828-null-null.142v73insert_down3,201v4add_ask,239v2insert_chatgpt&utm_term=python%20mysql&spm=1018.2226.3001.4187

argv: argumentsvalue 参数值
Python 中也可以使用 sys 的 sys.argv 来获取命令行参数:

sys.argv 是命令行参数列表。

len(sys.argv) 是命令行参数个数。

注:sys.argv[0] 表示脚本名。

#!/usr/bin/python

import sys

print ‘参数个数为:’, len(sys.argv), ‘个参数。’
print ‘参数列表:’, str(sys.argv)
执行以上代码,输出结果为:

$ python test.py arg1 arg2 arg3
参数个数为: 4 个参数。
参数列表: [‘test.py’, ‘arg1’, ‘arg2’, ‘arg3’]

https://www.runoob.com/python/python-command-line-arguments.html

这种写法有意思:

df_bd = pd.DataFrame([infos[‘seriesData0’], infos[‘seriesData1’], infos[‘xAxisData’]],index=[‘return_10k’, ‘d7_return_a’, ‘statistic_date’]).T

pycharm 创建venv虚拟环境

https://www.likecs.com/show-306062469.html
venv环境真好用,apply 应用一下才生效,不要把本机环境搞乱了!!!!

在pycharm的file-setting中选中project,然后点击project interpreter的右侧点击添加按钮。

(2)输入基于哪个python版本创建虚拟环境,环境的路径选择项目路径下,点击ok就可以创建新的虚拟环境。

在项目路径下就有会生成一个venv路径 D:\Project\python\handson-ml-master\venv

项目的依赖库package保存在路径D:\Project\python\handson-ml-master\venv\Lib\site-packages下,是这个项目工程的依赖库。

(2)点击manager resposities,设置新的镜像
(3)设置下载库的网址镜像为豆瓣镜像,原有的镜像太慢会出错

pip install -r requirements.txt 终端输命令时,要先确定现在是虚拟环境,不然有可能影响到本机实际环境。

(venv) F:\test\project_test> (venv)来判断是虚拟环境

pip install -i http://pypi.douban.com/simple/ numpy 单条命令国内源
阿里源更好些

pip install -i http://pypi.douban.com/simple/ -r requirements.txt
pip install pandas==0.24.2 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

要添加信任才能用

https://mirrors.aliyun.com/pypi/simple/ 阿里源

TensorFlow错误:TypeError: init() got an unexpected keyword argument ‘serialized_options’

问题其实很简单,TensorFlow和protobuf的版本不匹配,

我的TensorFlow和protobuf版本:

tensorflow 1.13.0rc1

protobuf 3.1.0
1.
2.
3.
tensorflow 1.13.0rc1需要的是protobuf 3.6.1,所以不匹配,

具体的解决步骤:
pip3 uninstall protobuf

pip3 uninstall tensorflow

pip3 install tensorflow
1.
2.
3.
4.
5.
新的问题
paddlepaddle,百度自主研发,真正源于产业实践,易学易用,安全高效分布式深度学习框架。

paddlepaddle 1.2.1 has requirement protobuf==3.1

很头疼,两个深度学习框架需要的protobuf版本不一样。

所以,自己决定吧。

(支持国产)


©著作权归作者所有:来自51CTO博客作者wx5e46005fc4d21的原创作品,请联系作者获取转载授权,否则将追究法律责任
TensorFlow错误:TypeError: init() got an unexpected keyword argument ‘serialized_options’
https://blog.51cto.com/u_14691718/5141408

https://blog.51cto.com/u_14691718/5141408

tensorflow2.0.0
protobuf
3.6.1
keras==2.3.1
这一对好像可以

tensorflow 1.5 --------------- protobuf 3.4
tensorflow 1.12 --------------- protobuf 3.6
tensorflow 1.10 --------------- protobuf 3.6
tensorflow 1.0.0 --------------- protobuf 3.1
tensorflow 0.12 --------------- protobuf 3.1
tensorflow 0.11 --------------- protobuf 3.0.2

我的联想设备
f12进入boot manager menu。
f2进入bios
小技巧:联想所有的笔记本基本都有boot manager的功能,即可以直接按F12键打开引导管理器,直接选择启动设备,而不需要进入BIOS来设置引导 ,在安装系统的时候这样可以节省时间。

还有就是跑大量指标时,redis与mysql配合使用,来达到既保留了断点功能,而且还可以多台电脑同时读取redis数据,不用像读mysql那样需要分段跑指标,避免了要一直为了平分数量而改sql。reids读一条,弹一条,比mysql快

pd.date_range获取月末日期真的很方便
date_range时间序列–时间切片

pd.date_range(start=‘20220101’, periods=10, freq=‘M’)
#输出
DatetimeIndex([‘2022-01-31’, ‘2022-02-28’, ‘2022-03-31’, ‘2022-04-30’,
‘2022-05-31’, ‘2022-06-30’, ‘2022-07-31’, ‘2022-08-31’,
‘2022-09-30’, ‘2022-10-31’],
dtype=‘datetime64[ns]’, freq=‘M’

————————————————
版权声明:本文为CSDN博主「Python当打之年」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42152811/article/details/124040862

https://blog.csdn.net/weixin_42152811/article/details/124040862?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167694531516800211539571%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=167694531516800211539571&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_click~default-1-124040862-null-null.142v73insert_down2,201v4add_ask,239v2insert_chatgpt&utm_term=date_range&spm=1018.2226.3001.4187

netstat -tunlp | grep 端口号是查看所查询的端口号情况

https://blog.csdn.net/m0_67392182/article/details/124290054?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167662950716782429740730%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=167662950716782429740730&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-2-124290054-null-null.142v73wechat,201v4add_ask,239v2insert_chatgpt&utm_term=linux%E6%9F%A5%E7%9C%8B%E7%AB%AF%E5%8F%A3&spm=1018.2226.3001.4187

disk_unit=$(lsblk |egrep '^(v|s)d[a-z]' |awk '{print $4}' |sed -n '1p' |sed 's/\(.*\)\(.\)$/\2/')
disk_space=$(lsblk |egrep '^(v|s)d[a-z]' |awk '{print $4}'|sed 's/[a-Z]//'|awk '{disk[$1]++} END {for(i in disk){print i}}' |awk '{sum +=$1};END{print sum}')
echo "磁盘总空间为${disk_space}${disk_unit}"linux计算磁盘总空间
https://blog.51cto.com/u_4820306/5424712lsblk |egrep '^(v|s)d[a-z]' |awk '{print $4}'|sed 's/[a-Z]//'|awk '{disk[$1]++} END {for(i in disk){print i}}' |awk '{sum +=$1};END{print sum}'

split()函数介绍:

https://blog.csdn.net/weixin_46655865/article/details/115657910?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167635794916800182134365%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=167635794916800182134365&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-115657910-null-null.142v73control,201v4add_ask,239v1control&utm_term=split%E5%87%BD%E6%95%B0&spm=1018.2226.3001.4187

问题:<twisted.python.failure.Failure OpenSSL.SSL.Error: [(‘SSL routines’, ‘’, ‘unsafe legacy renegotiation disabled’)]>

  1. 没有添加请求头
    只需要添加请求头即可

  2. 版本问题
    需要查看自己两个库的版本pyOpenSSLcryptography

这两个库的版本必须完美卡在一个版本区间
比如 PyOpenSSL如果在21.0.0 以上 即失败
cryptography,如果安装最新也会失败

执行一下命令

pip install cryptography==3.4.8
pip install pyOpenSSL==21.0.0

————————————————
版权声明:本文为CSDN博主「始識」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Zuko_chen/article/details/128125506

pip install cryptography==3.4.8
pip install pyOpenSSL==21.0.0

step over 不进入函数,直接下一步

strftime与strptime

https://blog.csdn.net/Han_torch/article/details/121251202?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167600034516800188592352%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=167600034516800188592352&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-7-121251202-null-null.142v73pc_search_v2,201v4add_ask,239v1insert_chatgpt&utm_term=python%E6%97%B6%E9%97%B4%E6%A0%BC%E5%BC%8F%E8%BD%AC%E6%8D%A2&spm=1018.2226.3001.4187

loc匹配时,index不一定是0,这时候用iloc[0,0]刚好可以匹配上。

bond_list=[[c.split(“,”)[0],self.df_mapping[self.df_mapping[‘bond_name’]==c.split(“,”)[0]].iloc[0,0]], [c.split(“,”)[1],self.df_mapping[self.df_mapping[‘bond_name’]==c.split(“,”)[1]].iloc[0,0]]]

http://t.csdn.cn/dIOHK
http://t.csdn.cn/Xzwbw

原来nan是float类型:
当判断是否为空时,有时候为nan,但是
if not my_value好像不能找出nan值,而且试过 if my_value==np.nan好像也无效。试过以下方式有效,可以记录一下:

1.numpy判断
import numpy as np
nan = float(‘nan’)
print(np.isnan(nan))

2.pandas判断
import pandas as pd
nan = float(‘nan’)
print(pd.isna(nan))

3.math判断
import math
nan = float(‘nan’)
print(math.isnan(nan))
————————————————
版权声明:本文为CSDN博主「羸弱的穷酸书生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zy1620454507/article/details/126950041

Python爬虫:Scrapy的get请求和post请求
原文链接:https://blog.csdn.net/mouday/article/details/83859158

(发现请求时:https能出结果,用http出不了结果,第一次发现还有这种情况)

data = {
“pageNo”: 1,
“pageSize”: 100000,
“nvTp”: “01”
}
requests.post(“url”,data=data,headers=headers)

平时一般data都是要加双引号,但是这个加双引号不行,不能加双引号。
不知道这个是不是就是json格式与表单格式的区别

总结
请求方式 使用方法 headers参数 参数 服务器端接收到参数
get Request - ?name=tom args
post FormRequest 有默认值 formdata={“name”: “Tom”} form
post Request - body=json.dumps({“name”: “Tom”}) data,json
post Request “Content-Type”: “application/x-www-form-urlencoded” body=json.dumps({“name”: “Tom”}) form
post Request “Content-Type”: “application/json”, body=json.dumps({“name”: “Tom”}) data, json
————————————————
版权声明:本文为CSDN博主「彭世瑜」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mouday/article/details/83859158

scipy.optimize.minimize求解有无约束的最小化问题

http://t.csdn.cn/AKRPh

MySQL mysql的sql查询语句中使用is null、is not null

chromedriver国内源网站:
https://registry.npmmirror.com/binary.html?path=chromedriver/

selenium定位加遍历html的div:

#定位出同个路径下所有的 span 信息
data_1 = driver.find_elements(By.XPATH,“//*[@class=‘mu-afte fl’]/ul/li/a/span”)

#定位出同个路径下所有的 num 信息
data_2 = driver.find_elements(By.XPATH,“//*[@class=‘mu-num’]”)

#定位出同个路径下所有的 unit 信息
data_3 = driver.find_elements(By.XPATH,“//*[@class=‘mu-unit’]”)

#进行遍历,并打印出文本信息
for i in range(len(data_1)):
print(data_1[i].text,data_2[i].text,data_3[i].text)

1、由于几个元素所在的位置都是在相同的结构下,所以可以通过定位到一组元素,再通过遍历进行获取

2、遍历的次数是获取的列表数据的长度

3、遍历后需要用 text来获取到文本信息

https://blog.csdn.net/OrangeTreeTest/article/details/124274980?ops_request_misc=&request_id=&biz_id=102&utm_term=selenium%20%E6%80%8E%E6%A0%B7%E8%BF%AD%E4%BB%A3div&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-124274980.142v70control,201v4add_ask&spm=1018.2226.3001.4187

selenium获取cookie后,如何传递给requests?

https://coding.imooc.com/learn/questiondetail/33720.html

利用selenium携带cookies实现免登录:
https://blog.csdn.net/weixin_43821172/article/details/105199481

cookie = browser.get_cookies()
browser.quit()
cookie_dict = {}
for i in cookie:
cookie_dict[i[“name”]] = i[“value”]
print(cookie_dict)

selenium之options模块:

https://blog.csdn.net/zzrs_xssh/article/details/106006939?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167342981416800192284911%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=167342981416800192284911&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-2-106006939-null-null.142v70control,201v4add_ask&utm_term=21-selenium%E4%B9%8Boptions%E6%A8%A1%E5%9D%97&spm=1018.2226.3001.4187

判断是不是日期格式,进而方便下一步区分处理:

def is_valid_date(strdate):
‘’‘判断是否是一个有效的日期字符串’‘’
try:
time.strptime(strdate, “%Y-%m-%d”)
return True
except:
return False

sql性能优化:
SELECT statistic_date from my_table where fund_id=‘000072’ and bianhao_id=‘ece0ef5138aa677f5e4b2a883580e203’
耗时:0.2秒

SELECT statistic_date from my_table where bianhao_id=‘ece0ef5138aa677f5e4b2a883580e203’

耗时:42秒

增加了筛选条件,耗时反而大大减少

使用BytesIO对象,声明流为bytes类型:read_excel报错:
must explicitly set engine if not passing in buffer or path for io。

res = requests.get(url)
BytesIO = pd.io.common.BytesIO
df = pd.read_excel(BytesIO(result.content))

https://blog.csdn.net/MacwinWin/article/details/107611256
https://blog.csdn.net/weixin_40647516/article/details/123783668

datafrme 条件筛选之query: 好用!!!!

可以使用外部的变量
#查询温度在这两个温度之间的数据
high_temperature = 15
low_temperature = 13
1
2
3
df.query(“yWendu<=@high_temperature & yWendu>=@low_temperature”).head()
————————————————
版权声明:本文为CSDN博主「北山啦」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_45176548/article/details/112755795

merge根据某列合并其他列:
pd.merge(left, right, how=‘left’, on=[‘key1’, ‘key2’])

left 左表,合并对象,DataFrame或Series
right 右表,合并对象,DataFrame或Series
how 合并方式,可以是left(左合并), right(右合并), outer(外合并), inner(内合并)
on 基准列 的列名
left_on 左表基准列列名
right_on 右表基准列列名
left_index 左列是否以index为基准,默认False,否
right_index 右列是否以index为基准,默认False,否
————————————————
版权声明:本文为CSDN博主「侯小啾」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_48964486/article/details/123387448

df_ty=df_ty.drop([‘type’,‘stype’],axis=1)
删除多列

删除某列: df=df.drop(‘org_full_name’,axis=1)
axis=1删某列,axis,删除行

dataframe列的重命名
df.rename(columns = {“old_name”: “new_name”}

pandas中如何提取DataFrame的某些列:
http://t.csdn.cn/LeKBa
列:df=df[[‘course2’,‘fruit’]]

df_ty=df_ty.dropna(subset=[‘dimension’, ‘type_code’, ‘type_name’, ‘stype_code’, ‘stype_name’])
某列为空则删除行

缺失值填充:http://t.csdn.cn/5zssD

#使用列1填补列2的缺失值
df[2].fillna(df[0])

fillna默认会返回新对象,但也可以对现有对象进行就地修改:
df.fillna(0, inplace = True)

Python 忽略warning的输出方法:
python -W ignore
这样就可以避免warnings的输出了,但是切记,不要盲目设置取消输出。

Set-Cookie 一天一个小技巧。
http://t.csdn.cn/aOZtD

session = requests.session()应该也可以吧,如果是会话类型

pycharm 替换 快捷键: CTRL + R

r:replace f:find

上月初与本月初日期获取:

last_month=(dt.date.today().replace(day=1)+ dt.timedelta(days=-1)).replace(day=1)
now_month=dt.date.today().replace(day=1)

python 获取本周一日期
import datetime as dt
monday_time = dt.datetime.strftime((dt.date.today()-dt.timedelta(dt.date.today().weekday())), ‘%Y-%m-%d’)

kubectl命令

https://blog.csdn.net/William0318/article/details/117021718

报错:docker: Error response from daemon: endpoint with name xxx already exists in network bridge

第一步,删除容器
docker rm -f xxx(比docker kill xxx更有强制性,如果kill不行就rm -f)

第二步,删除网桥
docker network disconnect --force bridge xxx
(原来不仅要杀容器,还要删除网桥啊!)

https://blog.csdn.net/DaChengXiaoShi/article/details/115173482#:~:text=%E7%AC%AC%E4%BA%8C%E6%AD%A5%EF%BC%8C%E5%88%A0%E9%99%A4,force%20bridge%20xxx

正则表达式
\d+ 表示可以出现1次或是n次数字

. .? 表示可以“.”可以出现一次,也可以不出现

\d* 表示可以出现0次或是n次数字

requests请求报错问题
HTTPSConnectionPool(host=‘fund.chinaamc.com’, port=443): Max retries exceeded with url: /product/fundLishijingzhi.do?fundcode=000041 (Caused by SSLError(SSLError(“bad handshake: Error([(‘SSL routines’, ‘’, ‘wrong signature type’)],)”,),))

https://qa.1r1g.com/sf/ask/4314236881/

import requests
import ssl
from urllib3 import poolmanagerurl = 'https://live.euronext.com/fr/product/equities/FR0000120271-XPAR'class TLSAdapter(requests.adapters.HTTPAdapter):def init_poolmanager(self, connections, maxsize, block=False):"""Create and initialize the urllib3 PoolManager."""ctx = ssl.create_default_context()ctx.set_ciphers('DEFAULT@SECLEVEL=1')self.poolmanager = poolmanager.PoolManager(num_pools=connections,maxsize=maxsize,block=block,ssl_version=ssl.PROTOCOL_TLS,ssl_context=ctx)session = requests.session()
session.mount('https://', TLSAdapter())
res = session.get(url)
print(res)

https://github.com/psf/requests/issues/4775

logstash配置之自动重载配置文件
./bin/logstash -f configfile.conf --config.reload.automatic

https://blog.csdn.net/qq_32292967/article/details/78622647

Logstash 参考指南(关闭Logstash)

https://segmentfault.com/a/1190000016592079?utm_source=tag-newest

canny算子
拼图验证码,找缺口坐标(单图版)

https://blog.csdn.net/qq_41871957/article/details/113920564

Docker 容器常见故障排查及处理

https://blog.csdn.net/qq_41958579/article/details/107927140

k8s

警告失败调度80(x8超过9m53s)默认调度程序0/4个节点可用:1个cpu不足,1个节点有污点{node-role.kubernetes.io/master:},pod无法容忍,2个节点有pod无法忍受的污点。

相关文章:

我的动态归纳(便于搜索)

linux dns配置文件是“/etc/resolv.conf”&#xff0c;该配置文件用于配置DNS客户&#xff0c;它包含了主机的域名搜索顺序和DNS/服务器的地址&#xff0c;每一行包括一个关键字和一个或多个空格隔开的参数。 /etc/resolv.conf &#xff08;不配置就不能域名解析&#xff09; 可…...

langchain ChatGPT AI私有知识库

企业知识库 原理就是把文档变为向量数据库&#xff0c;然后搜索向量数据库&#xff0c;把相似的数据和问题作为prompt&#xff0c; 输入到大模型&#xff0c;再利用GPT强大的自然语言处理、推理和分析等方面的能力将答案返回给用户 什么是langchain? langchain是一个强大的…...

API接口常用数据格式Json,Json的定义和XML的区别

现在程序员还有谁不知道 JSON 吗&#xff1f;无论对于前端还是后端&#xff0c;JSON 都是一种常见的数据格式。那么 JSON 到底是什么呢&#xff1f; JSON 的定义 JSON &#xff08;JavaScript Object Notation&#xff09; &#xff0c;是一种轻量级的数据交换格式。它的使用…...

密码学学习笔记(二十一):SHA-256与HMAC、NMAC、KMAC

SHA-256 SHA-2是广泛应用的哈希函数&#xff0c;并且有不同的版本&#xff0c;这篇博客主要介绍SHA-256。 SHA-256算法满足了哈希函数的三个安全属性&#xff1a; 抗第一原像性 - 无法根据哈希函数的输出恢复其对应的输入。抗第二原像性 - 给定一个输入和它的哈希值&#xf…...

操作系统-笔记-第四章-文件管理

目录 四、第四章——文件管理 1、文件管理——基础概念 &#xff08;1&#xff09;文件结构 &#xff08;2&#xff09;操作系统提供的接口 &#xff08;3&#xff09;总结 2、文件的逻辑结构 &#xff08;1&#xff09;有结构文件&#xff08;类似SQL表文件&#xff09…...

【MiniGUI】文字颜色实现透明度变化

在MiniGUi中&#xff0c;输出文字时有时候希望文字带有透明度信息&#xff0c; 即文字能够透出下面的图像来。 很自然地想到&#xff0c;设置颜色时&#xff0c;将颜色设置为带有透明度的颜色&#xff1a; SelectFont(hdc, mg_font);SetTextColor(hdc, RGBA2Pixel(HDC_SCREEN, …...

css中元素加定位之后到一定距离元素会变小

css中元素加定位之后到一定距离元素会变小 主要原因&#xff1a;元素没有加宽高 .swiperWrapper .active{bottom: 380px;left: 215px;z-index: 10; } .swiperWrapper .next{bottom: 170px;left: 7%;z-index: 20; } .swiperWrapper .prev{bottom: 360px;left: 0%;z-index: 30;…...

Java 语言实现冒泡排序

Java 语言实现冒泡排序 介绍 冒泡排序是一种简单直观的排序算法&#xff0c;它重复地比较相邻的两个元素&#xff0c;如果顺序错误就交换它们&#xff0c;直到没有需要交换的元素为止。冒泡排序的思路是通过每一轮的比较将最大&#xff08;或最小&#xff09;的元素逐渐“冒泡…...

面向对象单选题

下列选项中不属于面向对象的特征的是&#xff08;B&#xff09; A、封装性 B、安全性 C、继承性 D、多态性 在Java中,关于继承&#xff0c;类只支持&#xff08;A&#xff09; A、单继承 B、多继承 C、两个都可以 D、两个都不可以 用于定义成员的访问控制权的一组关键字…...

微服务-Fegin

在之前我们两服务之间调用的时候用的是restTemplate,但是这个方式调用存在很多的问题 String url "http://userservice/user/" order.getUserId(); 代码可读性差&#xff0c;编码体验不统一参数复杂的url难以维护 所以我们大力推出我们今天的主角--Fegin Feign是…...

[oneAPI] 使用字符级 RNN 生成名称

[oneAPI] 使用字符级 RNN 生成名称 oneAPI特殊写法使用字符级 RNN 生成名称Intel Optimization for PyTorch数据下载加载数据并对数据进行处理创建网络训练过程准备训练训练网络 结果 参考资料 比赛&#xff1a;https://marketing.csdn.net/p/f3e44fbfe46c465f4d9d6c23e38e0517…...

【ROS】参数服务器--理论模型与参数操作(C++)

一、概念介绍 参数服务器在ROS中主要用于实现不同节点之间的数据共享。参数服务器相当于是独立于所有节点的一个公共容器&#xff0c;可以将数据存储在该容器中&#xff0c;被不同的节点调用&#xff0c;当然不同的节点也可以往其中存储数据。 作用&#xff1a;存储一些多节点…...

[oneAPI] 基于BERT预训练模型的英文文本蕴含任务

[oneAPI] 基于BERT预训练模型的英文文本蕴含任务 Intel DevCloud for oneAPI 和 Intel Optimization for PyTorch基于BERT预训练模型的英文文本蕴含任务语料介绍数据集构建 模型训练 结果参考资料 比赛&#xff1a;https://marketing.csdn.net/p/f3e44fbfe46c465f4d9d6c23e38e0…...

【洛谷】P1163 银行贷款

原题链接&#xff1a;https://www.luogu.com.cn/problem/P1163 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 这题需要注意的是利率按月累计这句话&#xff0c;也就是相当于“利滚利”。 我们定义sum变量表示贷款原值&#xff0c;money表示每月支付…...

Java版工程行业管理系统源码-专业的工程管理软件-提供一站式服务 em

​ 鸿鹄工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 1. 项目背景 一、随着公司的快速发展&#xff0c;企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性&#xff0c;公司对内部工…...

kafka--技术文档--基本docker中安装<单机>-linux

安装zookeeper 阿丹小科普&#xff1a; Kafka在0.11.0.0版本之后不再依赖Zookeeper&#xff0c;而是使用基于Raft协议的Kafka自身的仲裁机制来替代Zookeeper。具体来说&#xff0c;Kafka 2.8.0版本是第一个不需要Zookeeper就可以运行Kafka的版本&#xff0c;这被称为Kafka Raf…...

回归预测 | MATLAB实现WOA-RF鲸鱼优化算法优化随机森林算法多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现WOA-RF鲸鱼优化算法优化随机森林算法多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现WOA-RF鲸鱼优化算法优化随机森林算法多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一览…...

Linux系统安全——NAT(SNAT、DNAT)

目录 NAT SNAT SNAT实际操作 DNAT DNAT实际操作 NAT NAT: network address translation&#xff0c;支持PREROUTING&#xff0c;INPUT&#xff0c;OUTPUT&#xff0c;POSTROUTING四个链 请求报文&#xff1a;修改源/目标IP&#xff0c; 响应报文&#xff1a;修改源/目标…...

uniapp项目添加人脸识别功能,可用作登录,付款,流程审批前的安全校验

本案例使用了hbuilder插件商城中的活体检验插件&#xff0c;可自行前往作者处下载查看&#xff0c; 效果图如下 此插件需要在manifest.json中勾选 实现流程 1&#xff1a;前往hbuilder插件市场下载插件 2&#xff1a;在页面中导入import face from "/uni_modules/mcc-…...

SpringBoot面试题

Spring Boot的启动流程主要分为以下几个步骤&#xff1a; 加载Spring Boot配置文件&#xff0c;初始化Spring Boot环境和核心组件&#xff0c;如ApplicationContext上下文环境、自动装配机制等。 执行SpringApplication.run()方法&#xff0c;执行所有Spring Boot自动配置的Be…...

Git相关命令

SSH密钥文件 Github里面S设置SH公钥有两者选择方式 账号下的每个仓库都设置一个公钥&#xff0c;因为GitHub官方要求每个仓库的公钥都不能相同&#xff0c;所以每个账号都要搞一个密钥&#xff08;很麻烦&#xff09;给账号分配一个公钥&#xff0c;然后这个公钥就可以在这个…...

《HeadFirst设计模式(第二版)》第八章代码——模板方法模式

代码文件目录&#xff1a; CaffeineBeverage package Chapter8_TemplateMethodPattern;/*** Author 竹心* Date 2023/8/17**/public abstract class CaffeineBeverage {final void prepareRecipe(){boilWater();brew();pourInCup();//这里使用钩子customerWantsCondiments()来…...

RESTful API,以及如何使用它构建 web 应用程序

RESTful API是一种基于HTTP协议的API设计风格&#xff0c;它的核心思想是将资源作为 API 的核心&#xff0c;使用 HTTP 的 GET、POST、PUT、DELETE 等方法对这些资源进行操作&#xff0c;并通过 URL 来定位资源。 RESTful API的特点包括&#xff1a; 资源是 API 的核心使用 H…...

Git+Gitee使用分享

GitGitee快速入门 创建仓库 ​ ​ ​ 初始化本地仓库 验证本地git是否安装好 打开cmd窗口&#xff0c;输入git ​ 这样就OK。 Git 全局设置:(只需要设置一次) 这台电脑如果是第一次使用git&#xff0c;就需要这样初始化一下&#xff0c;这样才知道是谁提交到仓库了。 git confi…...

【3D激光SLAM】LOAM源代码解析--transformMaintenance.cpp

系列文章目录 【3D激光SLAM】LOAM源代码解析–scanRegistration.cpp 【3D激光SLAM】LOAM源代码解析–laserOdometry.cpp 【3D激光SLAM】LOAM源代码解析–laserMapping.cpp 【3D激光SLAM】LOAM源代码解析–transformMaintenance.cpp 写在前面 本系列文章将对LOAM源代码进行讲解…...

DiscuzQ 二开教程(7)——二次开发版本部署文档

DiscuzQ 二开教程&#xff08;7&#xff09;——二次开发版本部署文档 源码&#xff1a;Discuz-Q-V3: 本仓库为Discuz-Q V3.0.211111 版本的二次开发版本&#xff0c;是将DiscuzQ官方仓库进行合并代码&#xff08;All in One&#xff09;整理后的仓库&#xff0c;使用更方便。…...

u盘数据丢失但占内存如何恢复?不要着急,这里有拯救方案

U盘数据丢失但占内存如何恢复&#xff1f;数据丢失是一种让人非常头疼的问题&#xff0c;尤其是当我们的U盘数据丢失了&#xff0c;但内存仍然被占用时&#xff0c;更令人困惑和焦虑。然而&#xff0c;不要慌张&#xff01;在本文中&#xff0c;将为大家介绍一些有效的方法来恢…...

springboot日志文件名称为什么叫logback-spring.xml

如题&#xff0c;为什么springboot日志配置文件叫logback-spring.xml&#xff1f; 在整个项目中搜索 logback-spring.xml 并没有搜索到。 先看一下 org.springframework.boot.context.logging.LoggingApplicationListener#initialize protected void initialize(ConfigurableEn…...

Mysql 开窗函数(窗口函数)

文章目录 全部数据示例1&#xff08;说明&#xff09;开窗函数可以比groupby多查出条件列外的字段&#xff0c;开窗函数主要是为了跟聚合函数一起使用&#xff0c;达到分组统计效果&#xff0c;并且开窗函数的结果集基本都是跟总行数一样示例2示例3示例4错误示例1错误示例2错误…...

计算机视觉之图像特征提取

图像特征提取是计算机视觉中的重要任务&#xff0c;它有助于识别、分类、检测和跟踪对象。以下是一些常用的图像特征提取算法及其简介&#xff1a; 颜色直方图&#xff08;Color Histogram&#xff09;&#xff1a; 简介&#xff1a;颜色直方图表示图像中各种颜色的分布情况。通…...

【面试经典150题】移除元素·JavaScript版

题目来源 大致思路&#xff1a;遍历数组&#xff0c;如果遇到值为val的元素&#xff0c;使用数组最后一个元素替换它。详细过程&#xff1a; /*** param {number[]} nums* param {number} val* return {number}*/ var removeElement function(nums, val) {let i0,nnums.leng…...

Cesium 相机的三种放置方式

文章目录 Cesium 相机的三种放置方式第一种&#xff1a;setView 计算视角1. Cartesian3 方式2. Rectangle 方式 第二种&#xff1a;flyTo第三种&#xff1a;lookAt Cesium 相机的三种放置方式 Cesium 提供了三种方式对相机的位置进行摆放 第一种&#xff1a;setView 计算视角 …...

看了我这篇帖子,你还会觉得制作电子杂志很难吗?

如果你也像我一样笨手笨脚的不会设计排版制作杂志也没关系&#xff0c;用FLBOOK就能在线制作电子杂志&#xff0c;效果极好&#xff01; 工具&#xff1a;FLBOOK 步骤如下&#xff1a; 1.打开FLBOOK在线制作电子杂志平台 2.点击开始创作&#xff0c;有四个创建作品的方式&…...

SRE 与开发的自动化协同 -- 生产环境出现 bug 自动生成异常追踪

简介 生产环境 bug 的定义&#xff1a;RUM 应用和 APM 应用的 error_stack 信息被捕捉后成为 bug。 以 APM 新增错误巡检为例&#xff0c;当出现新错误时&#xff0c;在观测云控制台的「事件」模块下生成新的事件报告&#xff0c;捕捉为 bug。同时利用 Dataflux Func 创建异常…...

【简单认识Docker基本管理】

文章目录 一、Docker概述1、定义2.容器化流行的原因3.Docker和虚拟机的区别4.Docker核心概念 二、安装docker三、镜像管理1.搜索镜像2.下载&#xff08;拉取&#xff09;镜像3.查看已下载镜像4.查看镜像详细信息5.修改镜像标签6.删除镜像7.导出镜像文件和拉取本地镜像文件8.上传…...

设备管理系统是什么?的修设备管理系统有什么功能?

随着计算机技术的迅速发展和移动互联网的商业化和社会化应用&#xff0c;设备的种类和数量急剧增加。如何利用先进的网络技术和快速更新的计算机设备来有效地收集和处理设备信息&#xff0c;建立以信息化为核心的管理体系&#xff0c;减轻管理和业务人员的数据处理负担&#xf…...

Docker安装并配置Pushgateway

Linux下安装Docker请参考&#xff1a;Linux安装Docker 简介 Pushgateway是Prometheus的一个组件&#xff0c;prometheus server默认是通过Exporter主动获取数据&#xff08;默认采取pull拉取数据&#xff09;&#xff0c;Pushgateway则是通过exporter主动方式推送数据到Pushg…...

汽车OTA活动高质量发展的“常”与“新”

伴随着车主的频繁崔更&#xff0c;车企除了卷硬件、拼价格&#xff0c;逐渐将精力转移到汽车全生命周期的常用常新。时至下半年&#xff0c;车企OTA圈愈发热闹&#xff0c;以新势力、新实力为代表新一代车企&#xff0c;OTA运营活动逐渐进入高质量发展期。 所谓高质量&#xf…...

C++信息学奥赛1121:计算矩阵边缘元素之和

题解&#xff1a;i0 or j0 or in-1 or jm-1 or in-1 or jm-1 代码&#xff1a; #include<iostream> // 包含输入输出流库 #include<cmath> // 包含数学函数库 using namespace std; // 使用标准命名空间int main() {int n,m;cin>>n>>m; // 输入…...

Android Selector 的使用

什么是 Selector&#xff1f; Selector 和 Shape 相似&#xff0c;是Drawable资源的一种&#xff0c;可以根据不同的状态&#xff0c;设置不同的图片效果&#xff0c;关键节点 < selector > &#xff0c;例如&#xff1a;我们只需要将Button的 background 属性设置为该dr…...

k8s集群中service的域名解析、pod的域名解析

前言 在k8s集群中&#xff0c;service和pod都可以通过域名的形式进行相互通信&#xff0c;换句话说&#xff0c;在k8s集群内&#xff0c;通过service和pod的域名&#xff0c;可以直接访问内部应用&#xff0c;不必在通过service ip地址进行通信&#xff0c;一般的&#xff0c;…...

Shell 编程快速入门 之 数学计算和函数基础

目录 1. 求两数之和 整数之和 浮点数之和 2. 计算1-100的和 for...in C风格for循环 while...do until...do while和until的区别 关系运算符 break与continue的区别 3. shell函数基础知识 函数定义 函数名 函数体 参数 返回值 return返回值的含义 return与…...

学习php中如何获取pdf文件中的文本内容

学习php中如何获取pdf文件中的文本内容 要使用PHP获取PDF文件中的文本内容&#xff0c;可以使用PDF解析库。以下是一些流行的PDF解析库&#xff1a; pdftotext&#xff1a;它是一个命令行工具&#xff0c;可以将PDF文件转换为文本文件。可以使用PHP exec()函数运行该工具。 FP…...

分布式数据库架构:高可用、高性能的数据存储

在现代信息时代&#xff0c;数据是企业发展的核心。为了支持海量数据的存储、高并发访问以及保证数据的可靠性&#xff0c;分布式数据库架构应运而生。分布式数据库架构是一种将数据存储在多个物理节点上&#xff0c;并通过一系列复杂的协调和管理机制来提供高可用性和高性能的…...

Python工具箱系列(四十)

使用gzip对数据进行压缩 这是python提供的压缩模块&#xff0c;便于用户对数据、文件进行压缩。功能类似于 GNU 应用程序gzip和gunzip。以下代码压缩一段字节流。 import gzip# 压缩一段英文 originstr The World Health Organization officially declared on Saturday that …...

【Hibench 】完成 HDP-Spark 性能测试

&#x1f341; 博主 "开着拖拉机回家"带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——&#x1f390;开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341; 希望本文能够给您带来一定的…...

【C++奇遇记】内存模型

&#x1f3ac; 博客主页&#xff1a;博主链接 &#x1f3a5; 本文由 M malloc 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;LeetCode刷题集 数据库专栏 初阶数据结构 &#x1f3c5; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如…...

Debootstrap 教程

文章目录 Debootstrap 教程安装 debootstrap使用 debootstrap运行 debootstrap进入新的系统结束语 Debootstrap 教程 debootstrap 是一个用于在 Debian-based 系统上创建一个基本的 Debian 系统的工具。它可以用于创建 chroot 环境、容器或者为新的系统安装做准备。 安装 deb…...

MySQL之InnoDB引擎

MySQL之InnoDB引擎 简介逻辑存储结构InnoDB架构内存架构缓冲池LRU List、Free List和Flush List更改缓冲区&#xff08;在5.x版本之前叫做插入缓冲区&#xff09;自适应hash日志缓冲区 磁盘架构System TablespaceFile Per Table TabspaceGeneral TablespceUndo TablespaceTemp …...

API自动化管理: 从繁琐到轻松

在数字化时代&#xff0c;API&#xff08;应用程序编程接口&#xff09;在软件开发中扮演着至关重要的角色。然而&#xff0c;API管理可能会变得十分繁琐&#xff0c;耗费大量时间和资源。那么&#xff0c;如何实现API自动化管理&#xff0c;从而节省时间、提高效率&#xff0c…...