工具
micromicrofat
Python | Go | Deep Learning
展开
-
Win 11安装WSL2
最近工作原因需要使用Windows 11操作系统,但又离不开Linux一些工具,遂想到使用WSL2。将会默认安装Ubuntu,当然也可以安装Debain。以管理员身份运行PowerShell。如果你安装有clash,则可以通过。原创 2023-03-11 11:28:43 · 722 阅读 · 0 评论 -
Win双网卡路由设置实现内外网同时访问
最近公司给配了Win11的电脑,需要使用Wifi连接外网,10开头的IP地址使用内网访问。原创 2023-02-25 16:57:19 · 2399 阅读 · 0 评论 -
【Github】小工具清单
https://rahuldkjain.github.io/gh-profile-readme-generator/https://starchart.cc/caarlos0/starcharts原创 2022-10-25 14:40:21 · 205 阅读 · 0 评论 -
【Typora】添加水印
代码】【Typora】添加水印。原创 2022-08-12 17:38:30 · 997 阅读 · 0 评论 -
如何剪裁svg并压缩
想要对其进行编辑,以去掉那些没用的部分。再在导出的时候选择“修剪透明像素”首先将白色的空白进行调整。可以使用svgo进行压缩。可以发现体积减小了60%导出后发现文件非常大。原创 2022-08-06 14:33:16 · 1406 阅读 · 0 评论 -
【VS Code】Version 1.68修复终端排版异常的问题
这是老版本的终端显示效果,可以清晰看到排版有问题,虽然不影响使用,但看着就很不爽新版本完美修复了这个bug注:我这里用了zsh+zim+powerlevel10k的解决方案原创 2022-06-10 22:08:26 · 263 阅读 · 1 评论 -
Mac卸载Pandoc
在用Typora导出word时提示需要安装Pandoc,Pandoc有两种安装方式,第一种是通过安装器安装第二种方式是使用brewbrew install pandoc但如果你使用第一种方式安装了,但想卸载了使用第二种方式安装,该怎么卸载呢?#!/usr/bin/perl# Script to remove all files installed by the macOS pandoc installer# and unregister the package. Modified fro原创 2022-04-29 17:09:24 · 1524 阅读 · 2 评论 -
【VS Code】解决jupyter文件在vs code中显示异常的问题
如果你在vs code中打开jupyter文件出现大量错误如下图所示:可以尝试如下解决方式:command + shift + p加入 "notebook-intellisense.trace.server.verbosity": "Verbose", "notebook-intellisense.logLevel": "Trace"重启参考:https://github.com/microsoft/vscode-jupyter/issues/8374https://githu原创 2022-04-22 17:09:28 · 2438 阅读 · 0 评论 -
【Py】项目代码脱敏脚本
今天要上交代码进行代码审查, 对里面的敏感内容进行脱敏, 思路就是将代码中的字符串全部用星号代替, 并删除所有非代码文件以下就是执行上述过程的脚本import osimport re# 获取所有.py文件all_files = []for root, dirs, files in os.walk('./'): for file in files: if file.endswith('.py'): all_files.append(f'{root}原创 2022-04-14 16:51:35 · 938 阅读 · 0 评论 -
【Py】Python ssh登录服务器并执行容器内的命令并返回结果
import paramikoip = 'xxxxxx'port = 22username = 'root'password = 'xxxxxx'ssh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect(ip, port, username, password)stdin, stdout, stderr = ssh.exec_command('docker原创 2022-02-22 17:26:57 · 3474 阅读 · 1 评论 -
【Jupyter】JupyterHub解决IOPub data rate exceeded
>>> vim /etc/jupyterhub/jupyterhub_config.pyc.Spawner.args = ['--NotebookApp.iopub_data_rate_limit=10000000000000']>>> service jupyterhub restart参考:https://github.com/jupyterhub/jupyterhub/issues/1152#issuecomment-306891792原创 2022-02-13 16:43:58 · 526 阅读 · 0 评论 -
下载Vimeo视频
最近在网上看到一个嵌入式的Vimeo视频,想要下载下来细看,但发现Vimeo下载比油管的略微复杂首先,你搜索后发现与油管不同,及乎没有那种提供在线视频地址解析下载的网站,但Chrome插件商城里有插件可以用,就是下面这两个我先尝试用了中文的那个,毕竟用户比英文那个多了一倍安装后再刷新视频页面,会发现在右上角的喜欢按钮下多了一个下载的按钮,选择分辨率就直接下载了但分辨率最高支持到1080p,不支持2k/4k视频的下载。所以我就又尝试英文那个,发现刷新后并没有自动出现下载的按钮,此时需要手动点一下原创 2022-01-14 11:26:36 · 2103 阅读 · 0 评论 -
【Sentry运维】版本升级
今天发现sentry版本有点低,想对其进行版本升级,由于之前有升级的经历,所以就信心满满的开始操作了>>> git clone https://github.com/getsentry/self-hosted.git>>> git checkout 21.12.0>>> ./install.sh>>> docker-compose up -d切记不要对原来的进行’docker-compose --rmi all’操作,否则在原创 2022-01-13 16:31:06 · 2764 阅读 · 0 评论 -
Mac双网卡路由设置实现内外网同时访问
最近公司的无线网络升级了,将内网从无线网络中剥离,故通过无线网络智能访问外网了。无奈只能通过双网卡的方式同时连接内外网了,具体是:通过无线访问外网,有线访问ip地址以10开头的内网,且无线的优先级高。具体配置如下图:希望通过255.0.0.0子网掩码将10.x.x.x的所有ip地址识别为内网环境,并分流给路由10.8.15.1,从而实现内外网同时访问但奇怪的事情发生了,访问同一个网段的10.8.15.49没问题,但访问10.11.206.141则出现超时(ping ssh均不通)。通过route原创 2021-12-22 16:48:06 · 5299 阅读 · 1 评论 -
使用git_stats对项目历史进行统计
最近在写项目总结,需要根据仓库的提交记录对代码的变更历史进行统计,找到了一个比较简单的工具git_stats,它会根据时间、提交人、提交次数、代码行数等等各个维度生成统计图表,基本能满足我的需要安装我的机器是MacBook,直接使用如下命令即可,Linux没有测试,不过应该可以>>> sudo gem install git_stats使用# 进入项目目录>>> cd project>>> git_stats generate# 将会原创 2021-11-19 14:47:53 · 444 阅读 · 0 评论 -
无外设连接树莓派方案
项目中使用树莓派作为中间件来转发接收到的身份证读卡器数据,由于显示器、键盘、鼠标不方便携带。故需要使用远程桌面通过笔记本进行连接。而远程桌面需要使树莓派与笔记本处于同一局域网内,故还需要通过网线与树莓派连接组成局域网。由于树莓派需要连接互联网,故还需要将笔记本无线网卡的数据与树莓派共享。下面依次介绍Mac和windows上远程树莓派的步骤。MacMac通过wifi与互联网连接,通过网线与树莓派连接,将wifi的互联网与树莓派共享。Mac上的设置如下图所示通过arp -a命令发现局域网中的设备,可原创 2021-08-06 22:16:36 · 318 阅读 · 0 评论 -
【Py】获取Linux硬盘序列号
今天遇到一个场景:为了代码安全,通过在代码中加入对运行时获取到的系统某序列号校验的功能,校验通过后才能继续运行,对代码部署环境进行限制。这样代码部署范围就能限制在某几台设备上。最开始的方案是获取MAC地址:>>> import uuid>>> uuid.UUID(int = uuid.getnode()).hex[-12:]adbd39180019但在容器中MAC地址并非宿主机MAC地址,而且将MAC地址带入容器中比较麻烦,故该方案舍弃。转而通过硬盘序列号:原创 2021-08-04 16:55:12 · 1640 阅读 · 0 评论 -
【Py】关于Python docstring几种主流风格
今天在整理Python文档的时候,发现除了目前在用的如下格式外,还有很多种。就简单整理一下。def foo(bar: str) -> str: """ foo function :param str bar: bar :return: return bar :rtype: str """ return bar目前流行的格式有如下几种,我之前用的属于reST,是目前最广泛的一种方式,是Sphinx原生支持的格式。还有Epytext,原创 2021-07-25 11:21:24 · 2639 阅读 · 0 评论 -
ping/ssh一个网段内的所有ip
今天遇到一个问题,树莓派接上电源,但没有显示器,只能通过ssh连接,而使用之前的ip无法连接,估计是分配的ip变化了。所以目前已知的信息只有10.8.81.x网段,如果一个一个试太麻烦了,我们可以通过shell脚本自动帮我们一个一个ip尝试。ping一行代码for i in {1..254}; do ping -c 2 -W 1 10.8.81.$i; if [ $? -eq 0 ]; then continue >> pingall.log; else echo 'down'; fi;原创 2021-07-23 15:38:19 · 1483 阅读 · 0 评论 -
【Py】使用PyCryptodome进行对称加密
from Crypto.Cipher import AESfrom Crypto.Util.Padding import pad, unpad# 加密与解密所使用的密钥,长度必须是16的倍数key = pad("ThisIs SecretKey2".encode('utf-8'), 16)# 要加密的明文数据,长度必须是16的倍数data = pad("Hello, World123!2".encode('utf-8'), 16)# IV参数,长度必须是16iv = 'This is an原创 2021-07-16 17:16:38 · 697 阅读 · 0 评论 -
Free fake(mock) api service
During your development, you might want to know whether your code was suitable for different kinds of API methods like GET, POST, DELETE, PUT and so on. The tradition way may be writing simple code to construct them in your localhost. But this work may be原创 2021-06-25 09:48:52 · 306 阅读 · 0 评论 -
解决tqdm在windows上重复换行
import timefrom tqdm import tqdmfor i in tqdm(range(3), desc='level_1'): for j in tqdm(range(5), desc='level_2'): time.sleep(0.1)在Mac上没问题:在win10上出现问题:有issue在讨论这个问题,有回复说用tqdm(…, ascii=True)能够解决,但在我的机器上并没有效果我尝试使用另一种方法,虽然没有完全恢复原来的效果,但比上面原创 2021-06-24 15:17:41 · 5024 阅读 · 8 评论 -
【Py】使用Cython加速Python
最近在做Python项目性能优化,发现通过Cython将Pyhton代码转为C语言再编译为可执行文件.so,可大幅提高运行速度。以之前做过的列表拼接为例import datetimedef main(): start_time = datetime.datetime.now() test_list = [] for chunk in range(20000000): test_list.extend([chunk]) end_time = datetim原创 2021-06-23 10:54:38 · 2042 阅读 · 0 评论 -
使用ab进行并发压测SSL read failed (5) - closing connection错误
最近在进行并发压测,在c参数特别大的时候,测试过程中出现SSL read failed (5) - closing connection错误,研究好久没有找到瓶颈,但在换了一台测试服务器后,这个问题没有出现,所以基本可以确定是测试服务器产生的瓶颈。与之前遇到的socket: Too many open files (24)错误一样,在服务端找不到瓶颈时,可以考虑一下是不是客户端的问题。...原创 2021-06-17 11:11:09 · 3870 阅读 · 1 评论 -
WORD转PDF方案对比
最近在写项目文档,需要将WORD导出成PDF。稍微研究了一下几种导出方案,将各种方案的优劣对比一下,希望能帮到更多的人。用到的方案有三种:原生导出PDFCreatorAdobe Acrobat原始WORD文档大小为24.9MB,插图分辨率为200+DPI,且图像选项为“不压缩+高保真”原生导出PDFCreatorPDFCreator为第三方免费软件,下载地址:https://www.pdfforge.org/pdfcreatorAdobe AcrobatAdobe Acro原创 2021-06-16 10:49:58 · 656 阅读 · 0 评论 -
使用ab进行并发压测socket: Too many open files (24)错误
使用ab进行并发压测时100、200并发量都没问题,300以上就报错This is ApacheBench, Version 2.3 <$Revision: 1879490 $>Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking xxxx.原创 2021-06-03 10:18:38 · 2030 阅读 · 0 评论 -
项目中添加远程仓库并merge
这几天项目中遇到一个git场景:项目仓库保存在以下三个地方:GitHubGitLabCoding由于项目是我在开发维护,所以这三个仓库地址一直都是在同一个远程仓库origin下,三处代码时刻保持一致。>>> git remote -vorigin https://github.com/myname/project.git (fetch)origin https://github.com/myname/project.git (push)origin http:/原创 2021-05-29 15:11:55 · 317 阅读 · 0 评论 -
正则工具网站
正则验证https://www.regexpal.com/nginx中可能会用到正则来匹配location,用下面的工具可以很方便的进行验证https://nginx.viraptor.info/原创 2021-04-23 11:41:32 · 796 阅读 · 0 评论 -
Mac配置双网卡使内外网同时访问
公司内外网相互隔离,所以想要使一台电脑同时内外网访问,就需要将两个网络分别连接到电脑的两个网卡上,再设置一下路由表,让某段ip的流量走内网,其他的走外网就可以了之前有介绍再Linux系统上设置双网卡的教程:https://blog.csdn.net/MacwinWin/article/details/100971477但Mac上该怎么设置呢?我的Mac版本是11.2.3 macOS Big Sur首先需要确认一下内外网流量怎么分配,我的策略是外网流量走wifi,内网流量走网线,所以需要将wifi的优原创 2021-04-06 16:27:17 · 3401 阅读 · 0 评论 -
Git学习记录(不定时更新)
>>> git reset --soft 27fecf9>>> git add .>>> git commit -m 'xxxx'>>> git push --force xxxx原创 2021-03-16 18:42:17 · 131 阅读 · 0 评论 -
macOS上使用mitmproxy和安卓模拟器抓包
安装mitmproxy>>> brew install mitmproxy将会安装三个工具:mitmdump mitmproxy mitmwebmitmproxy:命令行界面,用于调试mitmweb:图形界面,用于调试mitmdump:对mitmproxy的封装,无交互界面,用于部署>>> mitmdump --versionMitmproxy: 6.0.2Python: 3.9.2OpenSSL: OpenSSL 1.1.1j 16原创 2021-03-06 15:59:23 · 891 阅读 · 0 评论 -
解决Gitlab不能向master分支push、merge的问题
今天在向gitlab push代码的时候出现:... ! [remote rejected] master -> master (pre-receive hook declined)...这是因为gitlab默认开启了分支保护,以保护master分支不被其他用户随意push、merge,而我本机的user.name不是该项目的maintainer解决办法就是:将user.name改为该分支的maintainer>>> git config --global us原创 2021-03-05 08:21:17 · 5747 阅读 · 1 评论 -
解决tqdm在jupyter中报错ImportError: IProgress not found. Please update jupyter and ipywidgets.
解决方案:>>> pip3 install ipywidgets原创 2021-03-04 15:16:18 · 21030 阅读 · 4 评论 -
docker pull拉取超时的解决办法
最近docker pull镜像的时候非常不稳定,速度慢不说还经常超时失败Pulling xlxdsj_swagger_ui (swaggerapi/swagger-ui:)...latest: Pulling from swaggerapi/swagger-uiba3557a56b15: Pull complete1a18b9f93d41: Pull complete38ceab6c6432: Pull complete6104f3bd82cc: Pull complete750e0e12d7原创 2021-02-23 09:19:22 · 19532 阅读 · 1 评论 -
反编译获取微信小程序源码
获取wxapkg安装安卓模拟器夜神、MuMu等等都可以Mac上推荐MuMu,夜神在Mac上体验好差模拟器开启ROOT权限安装微信安装RE文件管理器在微信中打开目标小程序使用RE文件管理器进入目录:/data/data/com.tencent.mm/MicroMsg/{32位16进制}/appbrand/pkg一般情况下一个小程序对应一个wxapkg文件,将wxapkg文件复制到$MUMU共享文件夹,宿主主机就能获取到wxapkg反编译wxapkg安装nodejsMac:&g原创 2021-02-20 15:07:59 · 1817 阅读 · 0 评论 -
Ubuntu编译安装Python(jupyter升级)
你可能会问为什么要编译安装Python?apt它不香么?apt确实香,但如果你是Ubuntu 18.04,用apt安装Python3.8,你会发现>>> apt install python3.8>>> python3.8 --versionPyhton 3.8.0你没看错,是3.8.0,而目前已经出到3.8.7了。也许你可以添加ppa来安装3.8.7,但那个不是官方的版本。这时就需要编译安装大法了下载源码>>> wget https:/原创 2021-02-20 14:21:32 · 438 阅读 · 0 评论 -
jupyter notebook/jupyterlab无法使用tab键补全代码解决方案
环境:Ubuntu 18.04.5Python 3.8.7jupyterlab 无法使用tab补全代码需要将jedi版本从0.18.0降至0.17.2>>> pip install jedi==0.17.2恢复正常了参考:https://github.com/jupyter/notebook/issues/2435#issuecomment-760361930...原创 2021-02-20 14:10:34 · 3675 阅读 · 1 评论 -
清理CentOS根目录空间
在升级GitLab过程中出现空间不足的错误>>> df -hFilesystem Size Used Avail Use% Mounted ondevtmpfs 16G 0 16G 0% /devtmpfs 16G 12K 16G 1% /dev/shmtmpfs 16G 12M 16G原创 2021-02-19 14:38:21 · 2045 阅读 · 0 评论 -
如何从shutterstock下载无水印图片
shutterstock是一个高质量的创意图片素材库,但是下载的话需要付费,而且价格不菲,预览的话带水印,基本不能用。那还有没有办法优雅地薅帝国主义羊毛?原创 2021-02-02 11:17:12 · 16440 阅读 · 17 评论 -
Ubuntu上安装pip
新安装的Ubuntu没有pip,需要安装它>>> sudo apt install python3-pip但安装的pip版本较低,可以通过如下命令升级>>> python3 -m pip install --upgrade pip但升级后发现默认的pip3还是旧版本打印此时的环境变量发现/home/xiang/.local/bin不再环境变量中将/home/xiang/.local/bin添加到环境变量中>>> vim .zsh.原创 2021-01-23 11:07:26 · 230 阅读 · 0 评论