- 博客(40)
- 收藏
- 关注
原创 油猴篡改猴脚本开发文档和案例
油猴是网页浏览器的扩展,通过它可以在任何网页中注入 javascript 代码片段,从而实现自己的功能或修改原网页的功能和行为。
2024-12-15 20:08:33
1366
原创 【干货】JWT登录认证方案及在SpringBoot整合使用(全网最清晰的教程)
JWT(JSON Web Token)是一种开放标准 (RFC 7519),它定义了一种紧凑且自包含的方式,用于将信息作为 JSON 对象在各方系统之间安全地传输。此信息是经过数字签名的,因此可以验证和信任。可以使用密钥(使用 HMAC 算法)或使用 RSA 或 ECDSA 的公钥/私钥对 JWT 进行签名。尽管 JWT 可以加密以在各方系统之间提供保密性,但它的主要作用是签名令牌(signed tokens)。签名令牌可以验证其中包含的声明的完整性,而加密令牌则对其他方隐藏这些声明。
2024-11-07 12:53:54
1252
1
原创 Windows7安装.Net提示在不受信任提供程序信任的根证书中终止
近期新安装的Windows7操作系统发现大多数软件都无法联网,浏览器却可以浏览网页。,这才知道导致问题的原因是win7系统的根证书过期导致的,微软也提供了相应的补丁解决这个问题,该补丁实际上就是安装win7可用的2010和2011版根证书。
2024-10-01 19:48:37
1235
原创 PowerShell无法执行yarn命令
目录已经添加path环境变量中,在powershell中执行报错,如下。原因:powershell禁止未签名脚本和来自其他用户的签名脚本运行。全局安装yarn包管理器,且。Nodejs中使用命令。
2024-10-01 19:44:59
524
原创 Electron应用创建和打包
electron-build相比electron-package功能更丰富些,electron-build打包的项目可以同时打包.zip绿色版和.exe安装版,同时还会能配置是否asar打包,打包结果中海油一个未做任何压缩的版本用于查看打包结果是否正确,electron-build通过配置可以在打包时移动文件目录位置,配置跨平台配置打包等等,当然跨平台配置不是electron-build能够交叉打包,而是在对应的平台进行构建打包。当然也可以手动在任何地方创建目录,cmd中。
2024-10-01 19:27:44
3049
原创 Pyenv管理Python版本,conda之外的另一套python版本管理解决方案
Pyenv 是一个 python 解释器管理工具,可以对计算机中的多个 python 版本进行管理和切换。为什么要用 pyenv 管理python呢,用过的 python 人都知道,python 虽然是易用而强大的编程语言,但是 python 解释器却有多个版本,而且兼容性也有所差异,有的Linux计算机甚至同时内置python2.7和python3.8两个解释器。另外有些软件依赖于 python 开发的脚本运行必须指定对应的版本才能运行。
2024-10-01 19:21:14
1408
原创 NVM安装管理node.js版本(简单易懂)
NVM(Node Version Manager)是 node.js 的版本管理器,用 shell 脚本切换机器中不同版本的 nodejs。Nodejs为什么需要多个版本?有经验的开发者可能遇到过,某个依赖包明确nodejs是某个版本,或者不高于某个版本才能工作。例如将npm项目打包exe可执行文件时,打包工具pkg因为没有适配node20版本,只能按要求切换到node18版本使用。这时候如果没有版本管理器,自己得重新下载安装对应nodejs版本。
2024-08-22 20:01:15
1684
1
原创 C/C++指针
指针是用来存储内存地址的数据类型,那么内存地址是什么?计算机软件在运行过程中使用内存进行数据存储,操作系统开辟的每一块内存区域都有相应的内存地址,每块内存区域又可以存储不同的数据,计算机通过内存地址来读取和写入内存区域的数据。当然开辟内存区域存储的内容为何类型,是整数还是字符串需要在定义时明确。指针与普通的常量变量一样,使用前需要先定义,意思是让操作系统开辟内存区域。指针定义后必须立即初始化,否则编译将会报错。初始化可以赋值某个内存地址,当不确定目标类型时可以初始化为空指针。
2024-01-15 10:29:10
1094
1
原创 Python图形化编程开源项目拼码狮Pinmashi
PinMaShi采用electron开发,图形化拖拽式编程有效降低编程难度,对Python编程的初学者非常友好;积木式编程加快Python程序的开发,代码使用积木封装加快编程速度;打通硬件间通信实现计算机和智能设备协同编程,一键在本地机器和远程机器调试运行,是Python程序快速开发的利器。PinMaShi采用模块化构建项目工程,通过模块创建工程能够应用在多种场景,例如windows/linux/macos程序开发,爬虫项目、物联网项目,乐高EV3机器人的远程开发调试等。
2023-05-10 15:25:09
1296
原创 Python图形界面开发——系统资源监视器System-Monitor
Python图形界面程序怎么开发呢?很多人推荐python自带的tkinter自带库,还有pyqt这个这种拖拽式界面开发方案,但是他们开发界面比较难定制界面样式。现在web前端这么多框架用来开发python的图形界面其实不是很好?
2023-05-06 07:36:58
1921
2
原创 C#添加Windows环境变量
某些程序在安装时需要添加安装目录路径到PATH环境变量中才能使用,比如Python、Node等程序,C#要使用这些程序就需要在程序中安装和配置这些程序,首先就是通过C#代码来添加PATH.
2023-04-25 21:12:09
2695
原创 Electron开发生产环境的主进程渲染进程相对路径
Electron因为是集成nodejs,Electron应用在开发时和打包后的相对路径是不同的,在开发时JS文件在项目目录中,Electron打包后项目存放在resources\app目录中,如果程序使用了相对路径这是需要注意的问题。:不管是开发环境还是生产环境获取到的都在js文件所在目录。:不管是开发环境还是生产环境获取到的都在js文件绝对路径。:开发环境是项目目录,生产环境是exe可执行文件目录。:开发环境是项目目录,生产环境是exe可执行文件目录。
2023-03-17 12:14:31
2154
原创 C++多文件编程和cmake构建编译
C++多文件编程是项目工程化的模式,把多个功能拆分到独立的文件再在主入口文件中引用。在编写简短的程序时,通常一个源文件就够用了,所有的方法、函数、类都在一个文件中实现,优点是编译方便只需要g++编译器而不用额外的构建工具,但是当项目工程越来越大时,拆分源文件到独立文件进行开发,这样让程序源码结构更加清晰维护更加方便更利于团队协作。
2023-03-17 12:05:21
1797
原创 Windows没有gpedit.msc组策略管理器怎么解决
因为升级到Windows10 22H2家庭版任务栏增加了“资讯和兴趣”,但是这个东西会导致任务栏频繁卡死,在任务栏没卡死前鼠标右键关闭“资讯和兴趣”就可以解决问题,但是如果要让他永久禁止使用还是得用gpedit.msc策略组管理器来操作。Windows10家庭版默认没有组策略管理器,需要自行安装。文件,鼠标右键”以管理员权限运行“,之后将会自动下载相关程序,安装结束之后WIN+R运行gpedit.msc就能进入组策略管理器了。
2023-01-21 00:18:12
765
原创 Electron使用preload预加载及安全策略
使用 Electron 很重要的一点是要理解 Electron 不是一个 Web 浏览器。它允许您使用熟悉的 Web 技术构建功能丰富的桌面应用程序,但是您的代码具有更强大的功能。JavaScript 可以访问文件系统,用户 shell 等。这允许您构建更高质量的本机应用程序,但是内在的安全风险会随着授予您的代码的额外权力而增加。
2022-10-27 13:41:48
10505
原创 JavaScript异步同步和EvenLoop单线程机制
JavaScript 语言单线程执行,因为 JavaScript 设计的最初目的是更好地操作网页,采用单线程执行避免多线程互斥争夺资源,单线程执行不需要考虑多线程并行处理,让代码更为简单,程序开发速度更快。
2022-10-27 13:05:57
522
原创 Python全局变量跨模块变量定义和使用
在同一个py脚本中,定义在所有函数之外的变量可以理解为全局变量,因为所有函数可以直接访问函数外的变量(但不能访问其他函数的私有变量),这里涉及到变量的作用域,一般分为函数作用域和全局作用域,函数作用域包含在全局作用域中,子作用域可以访问全局作用域的变量,全局作用域不能访问子作用域的变量。
2022-10-26 15:07:52
4962
原创 Conda在各操作系统平台安装配置和使用Python环境(保姆级教程)
Conda是python程序运行环境的管理工具。Python是目前最流行的计算机语言,由于python是胶水语言,功能上的实现依赖第三方包。有的python脚本需要特定版本的依赖包运行,如果直接在电脑上安装该依赖包,可能影响到其他python脚本运行,因此python提出了虚拟环境和公共环境的概念,使用虚拟环境来单独为此python脚本安装依赖包。虚拟环境解决了依赖包安装的问题,那么如果脚本对python解释器版本有要求怎么办呢,conda就是解决为python解释器创建隔离环境的工具。
2022-10-26 14:51:37
9818
原创 Electron调试主进程和渲染进程
主进程因为运行在NodeJS环境中,本身没有显示界面可以直观调试程序,不过按照官方的文档说明,Electron主进程可以利用VSCode进行调试。调试前首先得先创建electron应用(本文省略)。渲染进程因为运行在chromium内核中,因此可以使用chromium开发者工具进行调试,具体在主进程中设置开启开发者工具。Main进程运行过程中的输出将会在VSCode调试控制台看到结果。VSCode打开Electron应用目录,点击左侧“运行和调试”工具,选择。在electron应用根目录创建。
2022-09-22 23:05:56
1881
原创 VSCode头部注释文档函数注释文档
头部注释是对程序和函数的文档注释说明,用于标注程序的基本信息,函数的功能和参数说明等,完善的头部文档标注更利于程序阅读。
2022-09-22 22:47:31
514
原创 Nodejs调用python的几种方案
nodejs可以使用JavaScript进行后端应用开发,同时使用electron可以开发桌面应用,可以说是相当强大。如果要在nodejs中读取本地文件则可以使用fs模块进行,ffi模块可以调用C开发的动态库,也可以实现更多的本地化操作,但是C开发动态库难度比较大成本比较高,这时候可以考虑使用python代替。python可以说是相当简单,它的库非常丰富,几乎可以满足你能想到的需求,因此python代替C库开发是不错的选择,下面介绍几种nodejs调用python的方法。
2022-09-12 16:40:40
15881
7
原创 C++嵌入Python解释器
Python作为可以扩展的编程语言,提供了完整的Python/C API,用于扩展Python程序的功能。一方面是使用API编写Python程序模块在Python脚本中使用,另一方面是在C/C++中嵌入Python,从而实现C/C++调用Python程序。C++嵌入Python解释器就是在c++程序中创建一个python解释器,并通过api让解释器去执行python代码。使用嵌入解释器有配置解释器、初始化、执行语句、加载模块、调用函数等过程,这些过程全部都是python提供的API操作。
2022-09-12 12:05:31
2835
1
原创 C++string与wstring类型转换
在c++开发时有的库函数必须传递wstring宽字符串作为参数,在代码中通过L"wstring"定义宽字符串传递参数这没什么难度,问题是实际过程中需要接收输入string数据,这时候就需要将string转换为wstring。
2022-09-12 10:59:52
7901
2
原创 github新建仓库首次提交代码error: src refspec xxx does not match any error: failed to push some refs to xxx错误解决
github新建仓库首次提交代码error: src refspec xxx does not match any error: failed to push some refs to xxx错误解决
2022-09-09 12:35:09
2881
原创 Python使用Cython+MinGW编译Pyd动态链接库
Python是解释型编程语言,代码可以不经过编译直接被解释器执行,如果直接开源发布py程序,对于某些不应公开的源码来说无疑是不可取的。那么如何安全地发布py程序而又不被反编译呢,经过对比pyd是最合适的发布方式。pyd是python源码经过Cython转换后再编译而来的Windows系统下Python可用的动态链接库,与dll动态链接库文件类似,区别在于pyd库可以被python直接引用,Linux系统下编译结果为so动态链接库。...
2022-08-31 11:17:20
4049
2
原创 VMware安装macOS High Sierra 10.13苹果系统并设置共享文件夹详细教程(图文)
VMware默认不能创建macos系统的虚拟机,但是其本身是支持amcos系统运行的,通过特殊手段可以解除虚拟机的限制。程序映像在VMware安装目录内,VMware默认是没有darwin.iso,这是unlock解锁后增加的映像。共享文件夹,指定Windows下的文件夹,用于Windows系统与虚拟机系统的文件共享。重启系统后,桌面出现了VMware tools映像,双击安装。
2022-08-23 12:15:00
4581
原创 VMware虚拟机安装ubuntu系统并设置共享文件夹详细教程(图文)
VMware虚拟机建议安装VMware15Pro或者16Pro(VMware14Pro在Windows10操作系统下运行无法启动虚拟机)。VMware Tools是VMware虚拟机提供的增强工具,以便能够实现主机和虚拟机之间的文件共享和直接拖拽等功能。
2022-08-22 00:57:10
10887
1
原创 Python使用Pyinstaller打包为exe文件
如果python脚本使用了第三方依赖包,让用户自己安装依赖包显然是不实际的;另外python一般使用虚拟环境隔离,脚本运行进入虚拟环境需要使用命令行,这对普通用户来说有难度。打包为exe文件是为了解决以上问题,exe可以直接在windows系统执行。打包需要包含多个目录,可以在执行打包时生成的“文件名.spec”文件中的pathex添加多个目录,用英文逗号隔开,然后重新打包这个.spec文件。cmd中进度python脚本所在目录,然后使用命令进行打包。-F:表示打包为exe文件。-p:指定打包包含的目录。
2022-08-21 10:15:00
355
原创 Python使用Flask模块创建本地服务器
Flask是一个使用 Python 编写的轻量级 Web 应用框架。Flask和Django是Python中最流行的web开发框架,与Django不同的是,Flask适合开发小型项目,通过服务器提供服务,而Django适合用来开发大型web项目。使用Flask搭建服务器,通过浏览器访问来使用Python功能,Python+Flask搭建服务器代码量少,实现起来相当简单,下面通过demo来介绍如何实现。
2022-08-20 19:20:44
2947
原创 Linux/macOS系统安装NodeJs
包管理器除了nodejs自带的npm外,还有yarn、cnpm第三方包管理器,一般情况下载npm无法正常安装时首先考虑使用yarn,cnpm不应首先考虑,因为其安装的包相比其他包管理器安装的包体积都大。/usr/local目录下创建bin目录,/usr/local/bin目录一旦创建也将成为系统命令搜索路径。注意:每个包管理器都有自己的配置,比如npm的配置文件为.npmrc,yarn配置文件为.yarnrc,他们存放在用户目录~下。-g 全局安装yarn包管理器,因为每个node项目都要用到。
2022-08-20 19:07:16
1457
原创 Windows系统安装Node.Js及环境配置
因为npm历史原因,包下载速度非常慢,甚至因为下载太慢而出错,为了提升包下载速度,用yarn或cnpm代替npm包管理。yarn由facebook提供,下载速度非常快,是nodejs官方推荐的包管理器,且包管理下载速度都优于npm,而cnpm虽然下载速度也快,但是使用cnpm安装包会比其他管理器安装的包体积更大,这是由于文件结构不同的原因,因此推荐使用yarn替代npm。包主要是用npm包管理器进行安装,由于国内下载安装包较慢,这时候就需要修改服务器地址为国内镜像地址。,以便后面调整包管理路径。...
2022-08-13 12:15:00
5972
原创 Linux系统创建程序启动器(桌面快捷方式图标)
目标执行程序可以在任意目录,但是启动器必须在该目录下。在该目录下操作文件需要管理员权限,建议创建好启动器文件后再使用管理员权限拷贝到该目录。以.desktop后缀的文件。管理员权限拷贝文件。.........
2022-08-12 10:15:00
2391
原创 Linux/MacOS系统curl工具使用方法
curl是一个开源的用于数据传输的命令行工具与库,它使用URL语法格式,支持众多传输协议,包括:HTTP、HTTPS、FTP、FTPS、GOPHER、TFTP、SCP、SFTP、SMB、TELNET、DICT、LDAP、LDAPS、FILE、IMAP、SMTP、POP3、RTSP和RTMP。curl库提供了很多强大的功能,你可以利用它来进行HTTP/HTTPS请求、上传/下载文件等,且支持Cookie、认证、代理、限速等。......
2022-08-11 15:30:00
2705
原创 Linux/MacOS系统wget工具使用方法
Wget是Linux/MacOS系统非交互式的网络文件下载工具,支持 HTTP、HTTPS及FTP协议。wget还提供了很多选项,例如下载多个文件、后台下载,使用代理等等,使用非常方便。详细的参数可以在终端中使用wget -h查看wget的参数。curl和wget工具功能类似,在linux和macos都可以使用,但是linux自带wget,curl需要自行安装,macos自带curl,wget需要自行安装。............
2022-08-11 11:15:00
3129
原创 Linux操作系统学习——文件系统之文件与目录管理
从Linux目录结构我们知道,Linux目录是一个树状结构,从/根目录开始,不同的目录挂载在/根目录之下,通过解除挂载移除相应的文件系统。文件与目录管理主要是通过命令行来进行操作,因此我们必须了解文件系统的路径。路径分为绝对路径和相对路径是什么,绝对路径是从/根目录开始到目标目录的完整路径,例如/usr/lib/systemd/system就是一个绝对路径;
2022-08-11 01:39:17
480
原创 Linux操作系统学习——文件系统之文件属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。其中包含的信息有第一列的文件类型和权限、第三列属主、第四列属组和最后一列的文件(目录)名。
2022-08-11 01:35:10
817
原创 Linux操作系统学习——文件系统之目录结构
Linux 是基于文件的操作系统,在 linux 操作系统中万物皆为文件包括目录和各种硬件设备,与 windows 通过提供 API 或者图形化应用程序对系统进行管理有本质区别。基于文件的操作系统优点是通过命令行可以很方便地管理系统和获取系统信息,而不需要任何图形化界面应用软件,甚至在软件开发过程中通过命令行就可以获取到系统信息。...
2022-08-09 23:03:03
1037
原创 Linux操作系统学习——启动过程
Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux内核实现了操作系统的基本功能,我们一般用的是Linux发行版。
2022-08-08 18:38:12
1029
原创 MoreFileRename批量文件改名工具
文件批量改名程序可以为多个文件批量重命名,用户可以通过特定规则为批量文件生成新名称,同时也可以批量指定新名称,从而解决大批量文件重命名难题。一、命名通过“命名规则”生成特定格式文件名,通过数字或字母编号,生成有规则的文件名列表,通过可以更改文件扩展名,改变文件大小写等。二、替换将文件名中字符替换为指定字符。三、删除/添加在文件名前后添加字符,在文件名中指定位置插入字符;删除文件名中特定...
2020-03-04 10:54:03
378
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人