- 博客(77)
- 资源 (1)
- 收藏
- 关注
原创 【解决问题】pyinstaller打包python应用进行快速分发
有同学问我要接口的应用,于是试了一下python打包成exe的过程。其它命令可以参考help详细查看。本示例中用到2个参数。主要使用pyinstaller,可以通过pip安装。用前一篇文章的python文件进行打包。然后是一顿输出猛如虎。直接双击,运行效果如图。
2023-12-29 17:13:30 406
原创 由浅入深C系列八:如何高效使用和处理Json格式的数据
经常使用Java开发的同学可能觉得这个不是个问题,fastjson对于Json格式的数据处理提供了很好的支持。顺着这个思路往下走后,在Json的官网上发现推荐了好几个c的功能库。最近的项目在用c处理后台的数据时,因为好多外部接口都在使用Json格式作为返回的数据结构和数据描述,如何在c中高效使用和处理Json格式的数据就成为了必须要解决的问题。cJson可以直接在使用的地方引用,如下面这样。如果有什么使用上的问题,欢迎留言一起讨论。也可能编译成so文件,作为库来使用。
2023-10-30 07:54:31 349
原创 【解决问题】Win11下如何进行文件的checksum校验(CertUtil)
开源的软件越来越多,镜像也越来越多,如何识别到你获取的副本是未经过篡改的。一般源头会给出文件的checksum值,或者是md5,或者是sha256。本短文就给出一个win11下好用的工具certutil 是作为证书服务的一部分安装的命令行工具。你可以使用 certutil.exe 显示证书颁发机构 (CA) 配置信息、配置证书服务、备份和还原 CA 组件。该计划还验证证书、密钥对和证书链。这个工具很强大,功能也很多,我们只用hashfile这个功能,下文件也只列出这个功能的用法。
2023-10-13 13:00:00 1147 1
原创 【解决问题】在SpringBoot中通过配置Swagger权限解决Swagger未授权访问漏洞
Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。若存在相关的配置缺陷,攻击者可以在未授权的状态下,翻查Swagger接口文档,得到系统功能API接口的详细参数,再构造参数发包,通过回显获取系统大量的敏感信息。在一个项目的实施过程中,客户通过安全检测发现了系统中swagger未进行授权导致调取到了项目上全部的api接口,并在接口中找到了默认的超级用户和密码,并通过修改超级用户密码成功登录到业务系统。以上2个方法选择其一,修改完成后,重启业务系统。
2023-10-08 11:49:48 4221 2
原创 Spring 框架知识点汇总 (持续更新)
对应于使用Controllers注解(Spring MVC控制器Controller部分分发请求所必须的)、数据绑定、@NumberFormatannotation注解、@DateTimeFormat注解、@Valid注解、JAXE读写XML、Jackson读写JSON。服务层组件,用于标注业务层组件,表示定义一个bean,自动根据bean的类名实例化一个首写字母为小写的bean,例如:MyClass实例化为myClass,如果需要自己改名字则:@Service(“mybeanName”)。
2023-10-01 07:51:57 326
原创 由浅入深C系列七:工欲善其事,必先利其器,从一个makefile模板开始
关于makefile的结构,这个网上介绍的文章很多,就不重复了。需要的读者可以参考网上的文章。这里主要介绍几个重要的内置变量。$@ 表示目标文件$ ^ 表示所有的依赖文件$ < 表示第一个依赖文件表示比目标还要新的依赖文件列表以及几个在makefile里用到的默认规则。
2023-08-25 09:49:37 138
原创 【解决问题】远程仓库GitHub/GitLab添加了SSH Key之后依然无法clone的解决办法
在git的安装目录下,找到${GIT_HOME}/etc/ssh目录下的ssh_config文件。打开文件,加入如下内容后,再次git clone即可以成功。在Git远程仓库添加了自己的ssh key到账户下,git clone时,依然报错clone失败,请检查是否没有权限进行clone操作。
2023-08-19 12:11:10 2998
原创 由浅入深C系列六:C中实现字符串trim的功能
一个项目中,需要用c语言实现对字符串中的字定字符进行过滤并从字符串的删除,查询了C语言的基本库,没有发现有这样的函数,于是发挥程序员的主观能力性,自力更生就啥都有了。
2023-08-14 00:42:57 299
原创 由浅入深C系列五:使用libcurl进行基于http get/post模式的C语言交互应用开发
大多数在linux下的开发者,都会用到curl这个命令行工具。对于进行restful api的测试等,非常方便。其实,这个工具还提供了一个C的开发库,可以很方便的在C语言开发环境下完成基于http的请求和响应交互,高效的开发基于http/smtp等的网络应用程序。
2023-08-11 09:41:20 1429 1
原创 【深入算法-预备式-从数学展开】常用数学符号(希腊字母)的拼读方法
希腊字母表大写小写英文注音国际音标注音中文注音Ααalphaalfa阿耳法Ββbetabeta贝塔Γγgammagamma伽马Δδdetadelta德耳塔Εεepsilonepsilon艾普西隆Ζζzetazeta截塔Ηηetaeta艾塔Θθthetaθita西塔Ιιiotaiota约塔Κκkappakappa卡帕∧λlambdalam
2023-08-06 15:59:15 254
原创 【解决问题】Anolis下JDK编译Dragonwell解决configure时X11的报错
Dragonwell JDK在编译时,执行configure遇到的X11环境检查相关的问题,主要是环境上对应的包未安装,检查失败。对应安装如下几个包即可。
2023-07-20 00:47:49 340
原创 由浅入深C系列四:memset/memcpy源码分析,为什么这二个函数的目的字符串在前面,源字符串在后面?
memcpy/memset源码级的实现原理分析。其实真相只有一个:遵循fastcall的原则和调用约定,从右开始不大于4字节的参数放入CPU的ecx,edx,eax寄存器,其余参数从右向左入栈,从汇编实现上来看,也是遵循了这样一个调用约定。
2023-04-14 11:13:12 377
原创 由浅入深C系列二:通过一个链表开始
要在C语言中使用链表,首先从定义一个链表开始。链表中通常包含节点,如下的代码示例定义了一个包含指向下一个节点指针的,包含一个整型index和16个字节长度字符串name的节点的结构体。通过一个循环,遍历链表中的每个节点,直到达到链表头。遍历过程中打印出:当前指针的地址,下一个节点指针的地址,当前节点的index和name值。mallo函数在stdlib.h文件中,包含这个文件即可以使用这个系统函数。其中,typedef是C语言中的关键字,相当于把这个结构体起了一个简单的名字。
2023-03-29 19:55:59 95
原创 前端开发实例:rollup打包JavaScript class模块的处理过程分析
rollup打包时对JavaScript class模块的处理过程分析。
2022-12-08 21:44:35 444
原创 【解决问题】javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher)
问题起源是在本地的一个Java发送邮件的程序,迁移到阿里云服务器上之后无法发送邮件。解决办法update-crypto-policies --set LEGACY具体命令的参考链接:链接: link网络上有不少关于此问题要修改JDK配置文件的解决办法,不过,本人尝试未能生效。通过以上命令修改后,初步分析主要是影响如下文件。文件中的配置项如下所示。其中有关于SSL/TLS算法的配置,TLSv1.1, TLSv1, SSLv3, SSLv2。
2022-12-03 13:31:09 3020
原创 Mysql 8.0 C API连接和获取数据实例(附解决乱码的彩蛋)
使用Mysql的C API,编写一个连接Mysql数据库实例的代码。并解决中文字符乱码问题。
2022-11-19 14:02:18 570
原创 Win11中类似于ps和kill的命令行及使用方法
win11下的ps和kill,通过tasklist和taskkill命令管理nginx启动和停止。
2022-06-02 06:46:18 1701
原创 npm 的 help 中,对update参数输入容错这么强
npm 8.9.0版本的help中,对于update命令,aliases中,还有udpate。这个是对update打太快时出现手误的兼容么? :)哈哈哈,这个也太卷了吧。
2022-05-08 08:23:44 113
原创 使用Java List的sort方法进行排序
使用Java List进行排序场景倒序排列代码场景使用Java中的List进行排序。示例中为按降序排列使用JPA查询的结果。倒序排列代码List<ValueObject> vo = valueObjectRepository.findAll();vo.sort(Comparator.comparing(ValueObject::getEntryDate).reversed());...
2022-02-14 22:57:22 686
原创 Full Calendar增加自适应大小调整的特性及绑定toolbar事件
使用FullCalenda,当左侧siderbar收起的时候,FullCalendar不能随着布局自动适应大小。原因主要是FullCalendar显示星期和日期的2个的width属性被设置成了初始化时的大小。当左侧的sidebar收起时,没有消息通知进行重绘。解决办法是,去除这几个style='width: xxx"的设置,让宽度自适应。代码如下:function autoScaleFullCalendar() { $(".fc-col-header").removeAttr("style");
2021-12-08 09:02:11 1493
原创 jQuery实现自定义模态对话框
这里写自定义目录标题jQuery实现模态对话框在html中加入对话框在js文件中操作关联页面button操作jQuery实现模态对话框关键词:jQuery, data-toogle=“modal” data-target="#id"在html中加入对话框<!--------------------------------- DEFAULT MODAL : ... BEGIN ...-------------------------------><div class="moda
2021-12-02 14:40:51 772
原创 解决<canvas />在页面重绘的问题
在网上找了很多种方法,都没有成功,报错如下:chart.min.js:13 Uncaught Error: Canvas is already in use. Chart with ID '0' must be destroyed before the canvas can be reused.主要的思路是把dom元素删除后,重新添加。html<div class="chart"> <!-- Sales Chart Canvas --> <canva
2021-11-17 01:26:32 1020
原创 Win10系统如何删除磁盘上的恢复分区
深夜发文,感叹命令行的强大使用WIndows的图型化的磁盘管理工具,对于恢复分区右键后,只有帮助菜单,无法操作删除。各种查找,没有好的办法,突然想到了命令行工具。于是,以管理员方式打开Cmddiskpart强大到无法用言语表达,直接上命令行。x:>diskpart,进入工具,显示diskpart>diskpart>list disk,显示磁盘列表,有“磁盘 0”,“磁盘 1”等列在下面diskpart>select disk 1,选择第一块磁盘diskpart>
2021-09-01 01:46:49 6753 2
原创 解决macOS下VSCode->check update无法更新的问题
解决macOS下VSCode->check update无法更新的问题@TOC解决macOS下VSCode->check update无法更新的问题链接:https://github.com/microsoft/vscode/issues/7426#issuecomment-425093469大多是因为在Download目录里的原因。把VSCode移动到Application里之后解决。王...
2020-12-21 21:00:32 1519 3
原创 解决Linux环境下文件中的^M如何去除的问题
在Windows环境下编辑的文件,上传到Linux后会在文件中产生^M。尤其是对sh脚本的运行产生影响。原因:CRLF(\r\n)是Windows环境下的行尾结束符,LF(\n)Linux环境下的行尾结束符,在Linux环境下,无法识别Windows环境下文件的行尾结束符引起。解决办法:1、首先通过命令查看是否存在^Mcat -A <filename>2、通过命令行,...
2020-03-11 10:00:12 802
原创 关于SpringBoot项目@Autowired注入失败问题的解决办法
1、检查相关的class是否被@Componet,@Service,@Repository等注解2、扫描的包在启动类的扫描范围内3、最重要的一条:如果以上检查都符合,还是不能注入的话,一定要检查,最上层的Service是否也是被@Autowired注解。这个是SpringBoot的“脾气”。如果Service是你自己new出来的,那么它也不会管了。如果还是解决不了,可以回复给我共同...
2020-01-16 17:46:28 3220 2
原创 关于apache-tomcat-9.0.30-src编译过程中停止在ecj-4.13.jar问题的解决办法
这是源码包中的一个bug造成,打开build.properties.default,找到如下标红的行,把最后一个/去掉,重新编译。jdt.release=R-4.13-201909161045/# ----- Eclipse JDT, version 4.7 or later -----## See https://cwiki.apache.org/confluence/disp...
2020-01-04 16:58:17 572
原创 操作系统在实模式下的内存地址分配表
操作系统在实模式下的内存地址分配表编号 起始内存地址 结束内存地址 内存大小 说明 1 0xFFFF0 0xFFFFF 16 B BIOS入口地址,jmp far F000:E05B,机器码 EA5BE000F0 跳转到固化在ROM中的自检程序处,对系统硬件(包括内存)进行检查。 https://blog.csdn.n...
2019-09-28 08:53:47 925
原创 关于form提交时没有input值的问题
在提交form表单时,form里的input怎么也不包含在请求里。找了很多资料,终于发现了原因:<input type="text" name="username" id="username" class="form-control" placeholder="用户名">上面标红的地方,是必须要有的,否则,form提交时,请求中就不会包含这个input...
2019-07-23 17:40:04 2969
原创 Python实践第二篇:输出素数(质数)表
坚持本系列一贯的风格,不多废话,直接上代码。def print_prime(n): i = 2 while i < n: if i == 1 or i == 2: print(i, end=' ') i = i+1 continue j = 2 is_pri...
2018-04-06 17:26:32 4995
原创 Python实践第一篇:输出乘法口决表
一直听说Python比较强大,因为工作的关系,也没有机会接触。偶然的机会,要在项目中快速开发一个工具,于是就想起了Python。开篇从Python官方集成的chm文档开始,写了第一个打印乘法口决表的代码,发上来作为kick off的标记。def printmutiplicationtable(n): i=1 while i<=n: j = 1 ...
2018-03-21 00:31:51 681
原创 使用iptables进行NAT配置
背景 服务器出于安全设置原因,通常不直接使用80端口。这时就需要进行NAT,把80端口映射到实际提供web服务的端口。1、添加NAT设置iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 81802、列出路由信息iptables -t nat -vnL PREROUTING --line-number3、删除指
2017-06-09 09:51:09 2950
原创 Java中使用JNI调用本地动态库的方法(图文详解加代码示例)
在Java中,要使用动态库,就要使用到 JNI。首先来看看百度百科对JNI的描述:从Java1.1开始,Java Native Interface(JNI)标准成为Java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。 使用java与本地已编译的代码交互,通常会丧失平
2017-04-21 15:30:46 13412 5
原创 MySQL如何查看和修改最大连接数
1、查看最大连接数: mysql>show variables like ‘%max_connections%’;2、修改最大连接数 1)修改配置文件参数: [mysqld] max_connections=1000 2)修改当前运行时参数: mysql> set global max_connections=1000;
2017-03-22 01:24:59 610
原创 Maven安装JAR到本地仓库
配置好本地的Maven运行环境,打开CMD,执行以下命令。mvn install:install-file -Dfile=ruibaotech-common-0.0.1.jar -DgroupId=cn.ruibaotech -DartifactId=ruibaotech-common -Dversion=0.0.1 -Dpackaging=jar -DgeneratePom=true
2017-01-23 14:56:25 489
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人