0%

centos7上安装git-lfs的方式,不想win10版本的git,安装时就有lfs的支持,而是需要手动安装

首先到lfs的github上找到对应版本的rpm文件

https://github.com/git-lfs/git-lfs/releases/tag/v2.13.2

如下图位置

centos7安装git-lfs_0

点击下载,然后传到服务器上,使用命令

1
rpm -ivh lfs.rpm

即可完成安装

python导入同级目录的包或者上级目录的包的方式,比如以下的情形

1
2
3
4
5
6
7
8
9
--dir 
| file1.py
| dir1
| d1.py
| __init__.py
| dir2
| d2.py
| __init__.py
| __init__.py

比如d1.py需要导入dir下的file1中的内容可以使用以下的方式

1
2
3
4
import sys
sys.path.append("..")
import file1
from file1 import db

如果是dir1下的d1需要导入d2的内容

1
2
3
import sys
sys.path.append("..")
from dir2.d2 import xxx

pandas同时更新多列满足特定条件的值

1
data.loc[data.field == condition,col1:col2] = value

这里col1:col2需要是连续的多列

由于实验室的项目需要将flutter开发的应用做一个ios的版本,虽然flutter本身是跨平台的,但是需要编译成Ios的应用还是long way to go,

而且由于我使用的电脑是win,而开发ios应用必须要用到mac的环境,每次借电脑也不是那么方便,则在网上看到了一种可以使用github action来编译flutter ios应用的文章(github action牛逼,免费还提供mac环境)。

原文章的链接如下:https://medium.com/@pratheeshrussell/building-a-flutter-ios-app-with-codemagic-and-github-actions-9cd61321119b

作者还提供了另外一个编译ios应用的办法, 使用codemagic,这是一个移动应用CI网站,可以提供一些移动应用的在线编译环境,另外一种就是使用github action,两种方式我都进行了实践,都可以成功将flutter应用打包成ipa文件。

阅读全文 »

使用正则在匹配整个单词时,需要使用圆括号来匹配

比如以下字符串

nihaonihao

想要匹配nihao,则需要使用圆括号来做(nihao),

代码执行的截图如下:

正则的方括号和圆括号_0

原因是因为圆括号把里面的内容当作一个整体,而方括号则表达的是里面的内容都作为可选,即[nihao]的意思是匹配n或者i或者h或者a或者o,而不是nihao

使用python的正则来匹配连续的重复字符,比如

111111111

aaaaaaaaaaaaaaaaaaaaaaa

bbbbbbbbbbb

哈哈哈哈哈哈哈

可以使用以下的代码来匹配

1
re.search("(.)\1{5,}")

(.)这就是匹配任何字符,\1是引用第一个分组,就是(.){5,}的含义是一个字符至少重复五次,但是加上\1的引用,则整体的含义是匹配至少出现6次的重复字符

1
2
3
4
>>> re.search(r"(.)\1{5,}",'aaaaaa') # 6个
<re.Match object; span=(0, 6), match='aaaaaa'>
>>> re.search(r"(.)\1{5,}",'aaaaa')
>>>

前言

github Action是一个github提供的实现持续集成的工具,能够方便的分享和使用他人分享的持续集成的脚本,且github提供一些机器的运行环境来方便的打包运行代码,从而完成我们想要的操作,比方说hexo博客,可以实现推送到指定分支时,就将md编译成html并推送到指定的github page上,当然也可以附加一些其他的内容,比方将所有的md中的图片上传到图床等。

阅读全文 »

使用requets的session设置connection pool来提高连接的服用率,而不用一直开新的连接

核心的代码如下

1
2
3
4
sess = requests.Session() # 构建 connections pool
adapter = requests.adapters.HTTPAdapter(pool_connections=20,pool_maxsize=20) # 分别自定连接池的cache的数量和最大数量
sess.mount("https://",adapter)
sess.mount("http://",adapter)

关于adapters.HTTPAdapter其他参数参见文档地址:
https://requests.readthedocs.io/en/master/api/?highlight=adapters.HTTPAdapter#requests.adapters.HTTPAdapter

最近研究了一些vpn的技术,因为学校的服务器只能在内网环境下访问,之前已经配置过使用内网穿透,然后使用代理技术来访问的方式,但是内网穿透的方式比较麻烦,随着服务的增多需要配置更多的穿透,所以想要使用更加方便的技术来实现,即使用vpn,使用一个公网服务器用vpn技术来组建虚拟局域网,从而实现连接到VPN之后即可访问内网机器。

这里是用的是比较新的wireGuard,较新且性能较高的vpn,以下配置的过程参考了大佬的文章,https://gobomb.github.io/post/wireguard-notes/

目标

整个网络拓扑如下:

wireGuard安装和配置过程_0

想要实现的效果是:在ali上搭建wirdGuard服务,然后使得连入vpn的手机客户端phone能够通过node1访问到内网的服务器node2

阅读全文 »

可以使用setx命令进行设置环境变量,如果需要系统的变量这需要用管理员权限来启动CMD,否则只能设置当前用户的环境变量

1
2
setx PATH /local/share/java/bin;%PATH% # 设置当前用户的环境变量
setx /M EDITOR code # 设置系统的环境变量