自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (10)
  • 收藏
  • 关注

原创 鸿蒙是Android套壳么,当然不是,ArkTS还是很有意思的

鸿蒙的开发SDK有2.x和3.x两个大版本。从2.x到3.x是一个巨大的过渡,因为出来了ArkTs,前面的都扔了。如果是之前开发的大项目,那就真巨坑了。

2023-12-03 10:04:44 1338

原创 CString用于构造函数参数的坑

我有时候需要某个模块来处理数据,喜欢直接在构造函数里调用这个类内的方法完成计算,使用的时候直接一个临时构造就完事,不用再构造完以后调用个方法再运行。看着三种调用构造都没啥毛病,但是第一种直接构造临时变量时候就会报错。结果写了几十年代码了。今天突然遇到了这种情况。

2023-05-21 08:34:11 151

原创 javascript 千万别用parseInt转换小数

根据我的观察,parseInt对于小数点后6位以内的,是可以用来做小数取整,但是超过小数点后6位就有问题。但是其实只有 parseInt('11') 是正确的。在运行过程中传递的内容都会变成字符串再做转换。在Typescript时候用parseInt传递非字符串类型就会有报错的,必须要字符串类型。如果有小数取整需求,要用Math.floor,千万别用parseInt。parseInt这个函数是用来转换字符串形式的整数。以上代码会输出什么呢?

2023-03-28 19:29:46 981

原创 Vue TypeScript 使用eval函数的坑

正常情况下,项目里不会用eval函数,但是万一要调用一个全局的js库,就需要用eval做些骚操作,这个时候编译会提示: is strongly discouraged as it poses security risks and may cause issues with minification.警告是可以忽略,刚开始我也没当回事,有风险就有风险,可控,我知道自己写的是啥。但是,今天我改代码的时候遇到了出的问题。就是dev时候正常,但是打包以后,不按照预期执行,编译出来的代码就不是我要的逻辑。

2023-01-23 21:53:09 5522

原创 TypeScript 对象key为number时的坑

首先在js的对象中有一个设定,就是对象的key可以是字符串,也可以是数字。不论key是字符串还是数字,遍历对象key的时候,这个key会变成字符串通过[] 操作符访问key对应值时候,不论是数字还是字符串都转成了 字符串的key 进行访问上一段js代码:输出结果是:可以看到 obj[key] = "xxx" 赋值的时候,确实key是number但是遍历key的时候,打印出的类型是string后面通过key1(string)和key2(number)访问元素,都是可以的改成ts代码如下这段代码就过

2023-01-10 11:02:48 1343

原创 Syntax Error: TypeError: Cannot read properties of null (reading ‘content‘)

vue cli时候,这个问题报的莫名其妙。出现这种情况,我这里遇到了,大概就下面这几种情况:1. import组件或者js重复时候报错2. 函数重名3. async没写function initfun(){ await fun();}应该写成:async function initfun(){ await fun();}...

2022-04-11 08:48:17 8809

原创 script setup 影响methods选项导出函数

以前我们用选项式的methods定义组件的函数,父组件可以直接通过子组件对象访问methods中定义的方法。比如某文件Comp.vue定义了组件,其中包含一个funcomp函数<template><div> comp1</div></template><script>export default { methods: { funcomp() { console.log("xx");

2022-01-01 22:03:54 2211

原创 element-plus Table 表格自定义列模板使用及问题

想要在表格中自定义列内容,是通过在el-table-column中使用slot实现的。比如我现在传入表格的列内容需要格式化字符串再输出,就需要用到这个特性。首先上一段代码,3行两列的数据,我需要在name显示的数据前都加个a字符,为了测试这个过程,我在showname这个函数内打印下调用编号。<template> <el-table :data="tableData" style="width: 100%"> <el-table-column pr

2022-01-01 17:54:54 5335 1

原创 vue3 eslint吐槽记录

版本"vue": "^3.0.0""eslint": "^6.7.2""eslint-plugin-vue": "^7.0.0"空格与Tab问题我上来必然干的事情就是关掉这个 "rules": { "no-mixed-spaces-and-tabs": "off" }这玩意实在太讨厌了,尼玛我网上复制粘贴个代码,或者用编辑器工具格式化一下就会各种报错。明明肉眼看到的都一样,然而还是不一样,你得一个个改,然后改完了看起来代码排版什么的也没变化

2021-12-29 10:29:51 1143 1

原创 字符串json中函数的定义与解析

直接上代码let dat='{"p1":10,"formatter":"((val)=>{console.log(val);})"}';let ss = JSON.parse(dat,function (key, value) { if("formatter" == key ){ return eval(value); } return value;});主要点就是JSON.parse的第二个解析参数,用来对每个解析的对象做处理

2021-11-15 12:59:01 444

原创 【nodejs】waitFor is deprecated

自己用Promise封装一个函数实现就行function waitfun(time) { return new Promise(resolve => { setTimeout(() => { resolve(''); }, time); });}调用:await waitfun(1000);

2021-10-27 16:21:55 182

原创 Python 使用pyecharts生成echarts图像

其实要实现起来官网上有比较详细的说明地址:渲染图片 - pyecharts - A Python Echarts Plotting Library built with love.首先安装包:pip install pyechartspip install snapshot_phantomjs然后代码这样:from pyecharts import options as optsfrom pyecharts.charts import Barfrom pyecharts.r

2021-10-27 15:12:32 2147

原创 windows VC++获取磁盘名称和序列号

DWORD VolumeSerialNumber;//磁盘序列号CString VolumeName;//磁盘名称GetVolumeInformation(_T("F:\\"), VolumeName.GetBuffer(200), 200, &VolumeSerialNumber, NULL, NULL, NULL, NULL);通过windowapiGetVolumeInformation就行

2021-10-19 14:57:50 982

原创 Opencv PNG抠图

我们平时接触的最多的图片格式除了jpg,还有一种就是带透明通道的png图。png这种带透明通道的图像因为有透明度,因此,它可以方便的和背景图像进行叠加和组合。彩色的jpg图像是RGB三通道,而png是ARGB四通道(A就是Alpha,图像处理这块叫透明度)。在opencv中,png也是点阵数据,每个位置在内存中排列为BGRA。比如下面一张png图像,位深是32,也就是说每个位置是4个字节。我们这个图像虽然是png的,但是现在它的透明通道都是255,所以我们可以清楚看到背景不是空的,而是白色。

2021-10-11 08:45:48 1150

原创 Opencv图像数据结构剖析

Opencv加载图像数据后,不管是什么类型的,都会将图像数据转换点阵图放在内存中。存储图像的数据结构中,包含描述图像的宽、高、通道数等信息,最重要的是有一个指针指向一块连续的内存,这块内存放的就是点阵数据,我们在操作数据时候,其实就是对这个点阵做各种运算。数据结构的定义Opencv1中,图像用IplImage结构存储,这个结构还是比较简单清晰的。好像是opencv2吧,引入了cvMat这个结构描述数据,这玩意感觉是个过渡,没用过。后来就cv::Mat了。到opencv4的时候.

2021-10-11 08:45:39 840

原创 Opencv图像显示

OpenCV自带的函数可以弹窗显示图像,在做算法或者测试时候可以用一下,但是集成到产品的时候就需要显示在我们exe的界面上了。绘制到WIN32窗口对于win32程序来说,每个控件其实都是一个窗口。而对于每个窗口,都有一个句柄HWND来指代它。句柄这玩意就是一个数字编号,可以理解为指针,就是资源的内存地址这种。将数据绘制到窗口就是对这个窗口句柄做操作。关键函数就是一个windowsAPI:StretchDIBits。通过窗口句柄我们可以获取窗口宽高和绘图dc,将整个窗口设置黑色,最后通过Stre

2021-10-11 08:45:29 1793

原创 Opencv环境配置

下载可以在Opencv官网下载发布包,opencv4需要C++版本高,可以选择opencv3。我这里就下载Opencv3.4.14的windows版本,注意这里下载后里面包含源码和编译后的lib和dll。所以不用单独下载Sources。下载后解压出来就是这样:创建项目现在的opencv官方给的编译后文件直接就是个opencv_world,这玩意好处就是一个动态库一个lib就搞定,不用整那么多模块,缺点就是动态库体积大。如果想要单独分开的模块,可以自己编译ope..

2021-10-11 08:45:15 2652

原创 线程池的简单思考

在有较多耗时任务,又不能阻塞主体时,线程是一个比较好的选项。但是线程是有开销的,程序、操作系统资源和运算能力有限,所以不能无限制地开线程,通俗来说就是一个人盖房子需要100天,那1000个人盖房子能3小时内完成?所以一般情况下,我们需要一个线程池去调度线程资源。线程池结构非常简单的结构就大概可以这样:线程池负责管理线程资源,当有任务进来时,寻找空闲线程(也可以是根据数量限制去创建线程),如果所有线程都忙,那就返回忙碌状态(返回后可以选择挂起任务或者提示等待重试之类的)。设计一.

2021-10-11 08:44:53 65

原创 什么是tar.gz

在linux系统,我们经常会见到.tar.gz格式的压缩文件,这是一种经过tar协议归档,再进行gz压缩得到的文件。比如我们有一个文件夹dir,里面包含两个文件a.txt、b.txt,两个文件夹dir1、dir2,dir1文件夹内包含c.txt,dir2内包含d.txt和dir3,dir3内包含e.txt。Tar打包在内存中,文件的位置其实是散乱的排列。通过tar协议,我们可以将数据在内存中进行连续排列。排列出来大概就是这样的。不论是文件...

2021-10-10 16:43:16 9533

原创 类与函数关系剖析

类内的函数与类本身关系是什么?类在传递到函数时发生了什么?对类的赋值对象操作时,原对象怎么变化?让我们用简单的代码和说明探讨下这些问题。类内函数简单来说,类的主要作用是封装,把相关的变量和函数做成一个整体。类成员函数和普通函数其实本质上是一样的,都是把一系列的操作方法封装在一起,不同之处是类的成员函数能直接访问类内的成员变量。原因是成员函数隐藏了一个当前类对象。如下一段常规的类定义和使用代码:调用函数后,成员变量自然就变成了11。因为语言的封..

2021-10-10 16:37:37 1603

原创 Http协议简易分析

什么TCP几层模型,什么几次握手就不扯了。让我们从代码层面来解析下http协议,主要就是用socket实现一个客户端的http,通过手动构造socket传输连接数据可以很清晰的明白http的协议内容。GET 请求协议 简单来说就是所有数据都是一行一行的文本(所以才叫文本协议吧),用\r\n换行,最后结束的时候多一个空行。假设我们要发送get请:http://127.0.0.1:1234/ad1/ad2/?name=a&age=1然后其中的headers中包含.

2021-10-10 16:34:14 202

原创 web入坑指南

其实java web这块起步是一个挺繁琐的事情,要想整一个完整的应用,需要的知识点虽然难度不大,但是类别很多。比如配置和理解java环境、maven使用、IDE选择、spring消息路由...这些对于完全野路子想自学的人来说挺麻烦的,我希望可以用尽可能简单的方式讲一讲这个完整的过程。开发工具我们最重要的两个东西就是java和maven。下载结束后随便放哪个目录都可以java我们可以在http://jdk.java.net/java-se-ri/14下载openjd.

2021-10-10 16:29:18 93

原创 VSCode开发环境

我是用visual studio习惯了,以至于其他所有ide都不趁手。现在除了C#和C++所有其他代码我都用VSCode,基本上都是安装一下插件然后简单配置下就行了。安装Go安装go没啥好说的,就是https://studygolang.com/dl这个地址里面直接下载就行。vscode插件安装VSCode直接点击安装就行了工具下载最重要的步骤来了。VSCode调试Go需要工具组件。会在GOPATH这个环境变量所指定的路径(默认为C:\Users\用户名\g..

2021-10-10 16:22:47 133

原创 char与wchar_t字符串

C++里的字符串类型是比较二的,因为有太多表示方法:char*、string、字符串数组、wchar_t*、wstring,今天就来缕一缕这些玩意。char*char* 貌似是C++字符串最基础最核心的。看以下四个字符串声明及输出结果:先说说核心,C里面的字符串就是一连串内存,以内存为0的字节作为结尾。来分析一下代码,其中str1、str3、str4是一个东西(str3区别只是内存在堆上),str2是字面值常量,str5是单纯的字符数组。 常规字符串 对于str1、.

2021-10-10 16:20:24 1844

原创 读懂指针与内存

C和C++最强大的地方在哪里呢?就是指针对内存的操作。有了指针,我们才可以在代码内存里自由飞翔,想玩哪里玩哪里,想变什么变什么。内存首先我们聊聊什么是内存(我们以32位程序模型为例)。对于一个进程来说,内存可以理解成一连串的带编号的存储区域。每个进程都映射一段连续的虚拟内存地址(不是内存的真实物理地址,只是一个编号,物理内存地址可以不连续)。每个格子我们理解为一个字节,也就是一个byte或者说一个unsignedchar。而指针其实就是一个数字,记录的就是内存...

2021-10-10 16:15:40 229

原创 【C#】反射与面向接口的架构

反射是一个很牛逼的特性,在做程序模块架构的时候非常有用,各种框架能把反射玩的飞起(我了解的主要是java web那块很多框架喜欢这么玩)。但很多时候我们写程序确实是用不上的。不过,有些常用场景下我们也可以把玩这个特性,比如获取和操作类的私有成员、用少量代码实现遍历和操作类的所有成员。现在,让我们先说说平时会用到反射的场景,然后再讲讲面向接口编程的风骚操作。遍历成员比如有如下类:我们需要将每个成员变量输出,应该怎么做呢?做起来其实挺简单,很直观,就是把每个变量写一下.

2021-10-10 13:38:58 332

原创 linux搭建git服务

以centeros为例,讲讲如何搭建git服务器。简单来说,其实就是在linux上用git创建一个***.git文件夹,然后客户端的git通过ssh访问这个文件夹而已。然后再高级点就是利用SSH公钥整个免密登录,当然,理论上这玩意其实跟git本身没啥关系。安装git方法很多,简单点就yum install git创建git服务 创建用户 其实随便用一个用户就行,也不用特意新建。但是好像一般都是习惯创建专门账户作为git服务和文件的管理。比如我们创建一个用户名j.

2021-10-10 09:35:49 802

原创 POI设置单元格颜色及枚举颜色对照

设置单元格颜色代码:CellStyle st = workbook.createCellStyle();st.setFillForegroundColor(clr.getIndex());st.setFillPattern(FillPatternType.SOLID_FOREGROUND);cell.setCellStyle(st);以下代码遍历全部颜色并输出对照: Sheet sheet = workbook.createSheet("name"); i

2021-10-09 16:39:20 1169

原创 Windows下编译CMake源码(Opencv源码编译)

有兴趣可以关注我公众号:

2021-05-09 08:43:39 120 1

原创 vscode 开发maven项目(springboot项目)

先装两个插件1.Java Extension Pack2.Maven for Java装完这两玩意之后插件列表是这样的配置JAVA环境记得配置下JAVA_HOME以及path。还有就是我用java11时,vscode运行项目报错了。所以用的java8。配置maven环境插件列表中maven for java点那个齿轮图标进入配置在配置里面选择进入j...

2019-09-16 00:11:48 18305 3

原创 vue项目整合到springboot方法

其实方法很简单的,比直接放到tomacat时需要改动assetsPublicPath还简单。。。直接打包,把dist目录下内容全部拷贝到springboot工程目录下的main\resources\static目录下我这里是thymeleaf,使用的是templates下的模板@Controllerpublic class pageController { ...

2019-07-07 14:56:48 9755 2

原创 android 高德amap开发二(地图操作)

源代码例程:https://github.com/JiYangLin/ANDROID_PRJ_MODULE/tree/master/AMapPrj首先需要获取控制器在mapView初始化后可以获取控制器://初始化地图控制器对象AMap aMap = null;if (aMap == null) aMap = mMapView.getMap();​​...

2019-06-30 23:23:49 562

原创 android 高德amap开发一(地图创建)

源代码例程:https://github.com/JiYangLin/ANDROID_PRJ_MODULE/tree/master/AMapPrj需要注意:地图在虚拟机中运行没有效果第一步key值获取cmd命令行中,进入目录:C:\Users\用户名\.android输入keytool -list -v -keystore debug.keystore,输入密钥库口令...

2019-06-30 23:20:45 1060

原创 WPF DataGrid使用 后台界面修改前台不刷新问题

后台修改前台不刷新可能的原因:1.前台页面没有写Binding2.后台数据定义的字段没有get和set3.数据容器没有使用ObservableCollection4.字段内容修改时没有重置数据源首先简单举例界面代码如下: <DataGrid Name="DG" ItemsSource="{Binding}" AutoGenerateColumns...

2019-06-17 00:08:25 3468

原创 springboot项目搭建(mybatis + thymeleaf)

先整一mysql数据库,数据库testdb中表user包含id和name,用户名和密码都是rooteclipse创建个quickstart项目就行:最终项目目录结构如图:POM<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001...

2019-03-28 00:43:48 535

原创 eclipse搭建javaweb开发环境

jdk配置去oracle官网下载jdk吧,jdk8或者以上都可以。比如我下载的jdk12:(写springboot就别下这个新版本了。。坑)https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html下载zip就行了,不需要下exe的安装包下载以后直接解压到...

2019-03-27 23:25:52 2215 1

原创 windows下mongodb安装与使用

安装包下载首先去官网下载安装包下载链接:https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-4.0.7-signed.msi安装运行安装包,一路下一步就行(不设置密码)管理员模式cmd运行如下命令:mongod.exe --installnet start MongoDB...

2019-03-27 22:20:49 145

原创 spring mvc 实现websocket(服务器主动消息推送)

看了好多网上能搜到的spring mvc实现websocket的教程,总算淌出了坑,搞出来一个比较纯粹的实现websocket的Demo。 项目运行后,可以启动一个页面进行登录,然后在另一个页面中向服务器发送请求,服务器再向登录的页面推送消息。启动页面登录:http://127.0.0.1:8080/jyl/login/jyllogin后是用户名,登录后页面效果如图 再...

2019-02-24 10:08:47 2051 2

原创 C#使用Newtonsoft.Json读写json、读写Base64图像

废话不多说,直接上最精炼的代码:假设json串如下:{    "key1": "val1",    "key2": {        "obj1": ["a", "b", "c"],        "obj2": 12.3    }}  解析:JObject jsonObj = (JObject)JsonConve

2018-10-28 19:57:35 3330 1

原创 WPF DataGridComboBoxColumn使用(绝对良心版)

要在DataGrid中使用ComboBox,当然想到了用DataGridComboBoxColumn。 本来以为挺简单,结果网上看到的教程都是各种莫名其妙。然后我在这些个博客中逐个尝试,浪费了大量时间,非常窝火。。更过分的是看到一个博客内容写一些根本不能用的残缺内容,然后下面包含代码下载,竟然还要30个积分!!!! 最后我在微软官网找到了答案,这里我精简下DataGridCombo...

2018-10-11 07:41:16 19565 10

方便对比Excel文件【或csv、txt】内容一致性,生成对比报告

改代码一不小心就会计算结果误差错误,想想还是需要个对比excel结果的工具。用的C#【.net framework 4.8】。在适当场景下,还是能用上这玩意的

2023-06-04

mfc skinsharp.zip

mfc skinsharp动态库,皮肤,皮肤制作工具,及代码使用(无需lib文件)

2019-07-27

springboot简单结构搭建

简单的mybatis工程,整合了mybatis,另外简单的使用thymeleaf进行了界面交互。麻雀虽小,五脏俱全。

2019-03-28

websocket使用实例(spring mvc)

spring mvc的websocket使用实例(实现服务器向登录客户端推送消息) maven项目 使用方法见内部使用说明

2019-02-24

极简ssm框架工程

这个工程包含了ssm框架的基础结构和功能,麻雀虽小五脏俱全。相信很适合用来快速学习和掌握ssm的框架结构。 忘了在资源里描述:程序起来以后,访问http://127.0.0.1:8080/abc/home就可以运行相应框架代码,看到效果

2018-07-16

jsforum修正版(maven webapp项目 )

花了些时间研究了下jsforum代码,把原始的代码整合了下,做成了maven的webapp项目。代码方面主要是改了servlet连接、资源路径、字段错误、sql语句执行错误、导出新的sql文件。整体上我运行了下,没有问题。

2018-07-14

caffe mnist数据源+完整训练+调用代码

包含了mnist的png图像数据源,使用脚本一步调用完成数据列表生成、数据转换、训练,另包含选择图像进行识别的python代码。需要修改的地方参照压缩包内的说明文件

2018-05-09

c# 生成word

使用C#生成word文件的代码示例【包含生成wold所必须的两个类库】

2018-03-22

用户环境变量注册工具

如果已知很多环境变量,每次换机器都是相同配置,环境变量配置窗口操作觉得麻烦,可以考虑这个直接注册。 只需要在reg.txt中按行写入:环境变量名=环境变量值

2017-12-23

mfc 自定义按钮图像(源代码)

基于控件绑定CButton,自定义按钮的显示图像(源代码),代码很少,很简单。

2017-12-17

Zip压缩包暴力破解工具(源码及使用说明)

zip压缩文件破解。 从1位到20位逐位递增尝试破解(可在源码中直接修改)。 随着位数增加,耗时呈指数增长。 具体操作见说明文档。

2017-12-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除