- 博客(81)
- 资源 (1)
- 收藏
- 关注
原创 【Javascript系列】Terser通过调用API来实现代码的压缩和优化功能
,第二个参数是 Promise 拒绝时的回调函数。,对Terser的功能做了一个初步的探索。原因是minify是一个异步函数,它在被调用后,就直接返回了,返回值是一个Promise对象。,会报错,因为minify还没有执行完压缩和优化的过程(尤其当文件比较大的时候,官方示例中没有提到)MDN文档中对于Promise的说明,同时也有详细参考的例子。如果 有不明白的,随时给我留言,有问必回。函数调用,没有按常规的方式一行一行的直接按顺序调用,而是以。方法,在方法里写入压缩和优化后的代码到min.js文件。
2024-06-03 15:53:49 649
原创 【协议开发系列】梳理关于TCP和UDP两种协议的区别和使用场景
前二天项目上在核对外部对接服务的五元组列表的时候,有一位客户提问对于同样的服务同时支持tcp和udp二种方式,有什么优点和缺点,应该如何选择?这个问题突然让我愣了一下,确实好久没有“温故”了,相关的概念都有些模糊了,于是,我整理了一下相关的知识体系,秉承分享的精神,重新复习记录如下,供各位同学有需要的时候参考。
2024-05-31 10:55:32 596
原创 【Java系列】JPA中实现NatveSql进行多表关联查询
JPA 是一个基于O/R映射的标准规范,定义了标准接口和相关的注解。具体的实现由各厂家自己接接口规范来做,比如本示例中用到的是Hibernate。下面给出相关的配置。
2024-05-29 19:50:28 629 2
原创 【Javascript系列】Terser除了压缩代码之外,还有优化代码的功能
前端开发的小伙伴一定不陌生,经常用这个工具进行代码压缩。有一种说法是Uglify-es的替代品。作为Javascript的解析器和压缩器,已经得到了开发人员的广泛使用。
2024-05-29 13:20:06 595
原创 【解决问题】pyinstaller打包python应用进行快速分发
有同学问我要接口的应用,于是试了一下python打包成exe的过程。其它命令可以参考help详细查看。本示例中用到2个参数。主要使用pyinstaller,可以通过pip安装。用前一篇文章的python文件进行打包。然后是一顿输出猛如虎。直接双击,运行效果如图。
2023-12-29 17:13:30 454
原创 由浅入深C系列八:如何高效使用和处理Json格式的数据
经常使用Java开发的同学可能觉得这个不是个问题,fastjson对于Json格式的数据处理提供了很好的支持。顺着这个思路往下走后,在Json的官网上发现推荐了好几个c的功能库。最近的项目在用c处理后台的数据时,因为好多外部接口都在使用Json格式作为返回的数据结构和数据描述,如何在c中高效使用和处理Json格式的数据就成为了必须要解决的问题。cJson可以直接在使用的地方引用,如下面这样。如果有什么使用上的问题,欢迎留言一起讨论。也可能编译成so文件,作为库来使用。
2023-10-30 07:54:31 420
原创 【解决问题】Win11下如何进行文件的checksum校验(CertUtil)
开源的软件越来越多,镜像也越来越多,如何识别到你获取的副本是未经过篡改的。一般源头会给出文件的checksum值,或者是md5,或者是sha256。本短文就给出一个win11下好用的工具certutil 是作为证书服务的一部分安装的命令行工具。你可以使用 certutil.exe 显示证书颁发机构 (CA) 配置信息、配置证书服务、备份和还原 CA 组件。该计划还验证证书、密钥对和证书链。这个工具很强大,功能也很多,我们只用hashfile这个功能,下文件也只列出这个功能的用法。
2023-10-13 13:00:00 2168 1
原创 【解决问题】在SpringBoot中通过配置Swagger权限解决Swagger未授权访问漏洞
Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。若存在相关的配置缺陷,攻击者可以在未授权的状态下,翻查Swagger接口文档,得到系统功能API接口的详细参数,再构造参数发包,通过回显获取系统大量的敏感信息。在一个项目的实施过程中,客户通过安全检测发现了系统中swagger未进行授权导致调取到了项目上全部的api接口,并在接口中找到了默认的超级用户和密码,并通过修改超级用户密码成功登录到业务系统。以上2个方法选择其一,修改完成后,重启业务系统。
2023-10-08 11:49:48 5970 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 362
原创 由浅入深C系列七:工欲善其事,必先利其器,从一个makefile模板开始
关于makefile的结构,这个网上介绍的文章很多,就不重复了。需要的读者可以参考网上的文章。这里主要介绍几个重要的内置变量。$@ 表示目标文件$ ^ 表示所有的依赖文件$ < 表示第一个依赖文件表示比目标还要新的依赖文件列表以及几个在makefile里用到的默认规则。
2023-08-25 09:49:37 166
原创 【解决问题】远程仓库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 3871
原创 由浅入深C系列六:C中实现字符串trim的功能
一个项目中,需要用c语言实现对字符串中的字定字符进行过滤并从字符串的删除,查询了C语言的基本库,没有发现有这样的函数,于是发挥程序员的主观能力性,自力更生就啥都有了。
2023-08-14 00:42:57 422
原创 由浅入深C系列五:使用libcurl进行基于http get/post模式的C语言交互应用开发
大多数在linux下的开发者,都会用到curl这个命令行工具。对于进行restful api的测试等,非常方便。其实,这个工具还提供了一个C的开发库,可以很方便的在C语言开发环境下完成基于http的请求和响应交互,高效的开发基于http/smtp等的网络应用程序。
2023-08-11 09:41:20 1981 1
原创 【深入算法-预备式-从数学展开】常用数学符号(希腊字母)的拼读方法
希腊字母表大写小写英文注音国际音标注音中文注音Ααalphaalfa阿耳法Ββbetabeta贝塔Γγgammagamma伽马Δδdetadelta德耳塔Εεepsilonepsilon艾普西隆Ζζzetazeta截塔Ηηetaeta艾塔Θθthetaθita西塔Ιιiotaiota约塔Κκkappakappa卡帕∧λlambdalam
2023-08-06 15:59:15 307
原创 【解决问题】Anolis下JDK编译Dragonwell解决configure时X11的报错
Dragonwell JDK在编译时,执行configure遇到的X11环境检查相关的问题,主要是环境上对应的包未安装,检查失败。对应安装如下几个包即可。
2023-07-20 00:47:49 470
原创 由浅入深C系列四:memset/memcpy源码分析,为什么这二个函数的目的字符串在前面,源字符串在后面?
memcpy/memset源码级的实现原理分析。其实真相只有一个:遵循fastcall的原则和调用约定,从右开始不大于4字节的参数放入CPU的ecx,edx,eax寄存器,其余参数从右向左入栈,从汇编实现上来看,也是遵循了这样一个调用约定。
2023-04-14 11:13:12 436
原创 【由浅入深C系列二】通过一个链表开始
要在C语言中使用链表,首先从定义一个链表开始。链表中通常包含节点,如下的代码示例定义了一个包含指向下一个节点指针的,包含一个整型index和16个字节长度字符串name的节点的结构体。通过一个循环,遍历链表中的每个节点,直到达到链表头。遍历过程中打印出:当前指针的地址,下一个节点指针的地址,当前节点的index和name值。mallo函数在stdlib.h文件中,包含这个文件即可以使用这个系统函数。其中,typedef是C语言中的关键字,相当于把这个结构体起了一个简单的名字。
2023-03-29 19:55:59 122
原创 前端开发实例:rollup打包JavaScript class模块的处理过程分析
rollup打包时对JavaScript class模块的处理过程分析。
2022-12-08 21:44:35 513
原创 【解决问题】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 3484
原创 Mysql 8.0 C API连接和获取数据实例(附解决乱码的彩蛋)
使用Mysql的C API,编写一个连接Mysql数据库实例的代码。并解决中文字符乱码问题。
2022-11-19 14:02:18 639
原创 Win11中类似于ps和kill的命令行及使用方法
win11下的ps和kill,通过tasklist和taskkill命令管理nginx启动和停止。
2022-06-02 06:46:18 2345
原创 npm 的 help 中,对update参数输入容错这么强
npm 8.9.0版本的help中,对于update命令,aliases中,还有udpate。这个是对update打太快时出现手误的兼容么? :)哈哈哈,这个也太卷了吧。
2022-05-08 08:23:44 128
原创 使用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 715
原创 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 1896
原创 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 846
原创 解决<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 1182
原创 Win10系统如何删除磁盘上的恢复分区
深夜发文,感叹命令行的强大使用WIndows的图型化的磁盘管理工具,对于恢复分区右键后,只有帮助菜单,无法操作删除。各种查找,没有好的办法,突然想到了命令行工具。于是,以管理员方式打开Cmddiskpart强大到无法用言语表达,直接上命令行。x:>diskpart,进入工具,显示diskpart>diskpart>list disk,显示磁盘列表,有“磁盘 0”,“磁盘 1”等列在下面diskpart>select disk 1,选择第一块磁盘diskpart>
2021-09-01 01:46:49 7717 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 1783 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 842
原创 关于SpringBoot项目@Autowired注入失败问题的解决办法
1、检查相关的class是否被@Componet,@Service,@Repository等注解2、扫描的包在启动类的扫描范围内3、最重要的一条:如果以上检查都符合,还是不能注入的话,一定要检查,最上层的Service是否也是被@Autowired注解。这个是SpringBoot的“脾气”。如果Service是你自己new出来的,那么它也不会管了。如果还是解决不了,可以回复给我共同...
2020-01-16 17:46:28 3337 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 604
原创 操作系统在实模式下的内存地址分配表
操作系统在实模式下的内存地址分配表编号 起始内存地址 结束内存地址 内存大小 说明 1 0xFFFF0 0xFFFFF 16 B BIOS入口地址,jmp far F000:E05B,机器码 EA5BE000F0 跳转到固化在ROM中的自检程序处,对系统硬件(包括内存)进行检查。 https://blog.csdn.n...
2019-09-28 08:53:47 1016
原创 关于form提交时没有input值的问题
在提交form表单时,form里的input怎么也不包含在请求里。找了很多资料,终于发现了原因:<input type="text" name="username" id="username" class="form-control" placeholder="用户名">上面标红的地方,是必须要有的,否则,form提交时,请求中就不会包含这个input...
2019-07-23 17:40:04 3040
原创 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 5029
原创 Python实践第一篇:输出乘法口决表
一直听说Python比较强大,因为工作的关系,也没有机会接触。偶然的机会,要在项目中快速开发一个工具,于是就想起了Python。开篇从Python官方集成的chm文档开始,写了第一个打印乘法口决表的代码,发上来作为kick off的标记。def printmutiplicationtable(n): i=1 while i<=n: j = 1 ...
2018-03-21 00:31:51 708
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人