自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

超频化石鱼的博客

愿终将不负时光

  • 博客(256)
  • 资源 (9)
  • 收藏
  • 关注

原创 SpringBoot集成Nacos

文章目录介绍安装Nacos独立服务配置管理集成到Spring Boot配置集设置http请求设置使用直接引用导入配置服务管理集成到Spring Boot服务注册保护阈值服务使用其他命名空间集群管理其他配置介绍Naocs官方文档:https://nacos.io/zh-cn/docs/what-is-nacos.html安装Nacos独立服务Nacos需要独立的运行服务。到官方的gi...

2020-01-20 11:31:42 10795 1

原创 Spring Boot中使用Druid替换MyBatis数据库连接池

介绍Druid是阿里使用的数据库连接池,被阿里推崇为Java最好的数据库连接池。不仅可以承担数据库的连接访问工作,还可以提供强大的监控和扩展功能。集成到Spring Bootpom.xml添加依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artif...

2020-01-14 14:15:20 866

原创 Premiere Pro入门

介绍Adobe Premiere Pro,简称PR,是最强大的视频编辑软件。可同时创建多个时间轨道,多个视频素材按层遮挡;可对单个素材添加各种效果,例如放缩、移动、旋转、裁剪等;可插入图片遮挡视频素材,并且支持png透明;可添加字幕;可导出为几乎所有常见格式。打开PR,创建一个新的项目。注意视频渲染和回放中的渲染程序建议选择仅Mercury Playback Engine 软件,否则导出影...

2020-01-08 16:56:53 2153

原创 在java文件中动态调用groovy文件

说明GroovyClassLoader是Java的groovy库提供的类。该类可以动态将Groovy文件解析为class文件,从而可以调用其中的方法。由于Groovy是脚本文件,Java是无法得知其类定义的,因此只能动态得到一个Class文件,而无法得到具体的类定义。如下面的例子,直接在Java代码中使用GMath类是非法的,因为Java并不知道GMath类的定义。故而,只能通过Class....

2020-01-03 09:32:30 1297 1

原创 无涯的技术与成长的迷茫

记得上大学之前,老师会为我们规划好一切:什么时候要高考,在什么时间点应该掌握哪些技能,每天要学什么,作业是什么,什么时候要放假了,一切都清晰明了。忙碌,但也充实。而上了大学后,感受最深的一点就是迷茫,没有方向。再也没有人为自己规划好一个明确的长远目标,然后划分为一个个小节点明确地分散到每天。除了上课外的时间完全自由,想提升,但面对众多的技术方向感觉一团乱麻无从下手。每项技术都好难。或许有循序渐...

2019-12-20 11:25:45 278

原创 Scratch数据类型以及变量和列表

数据类型Scratch有3种数据类型:数字类型布尔类型字符串类型参数凹槽某些积木中带有参数凹槽。参数凹槽有3种:六边形: 布尔类型参数矩形: 字符串类型参数圆角矩形: 数字类型参数然而,对应返回这些类型的功能积木只有2种:六边形: 返回布尔类型/字符串类型圆角矩形: 返回数字类型/字符串类型类型转换一般来说,返回数据的功能积木只能嵌入到指定的凹槽内,而不会搞...

2019-11-04 15:58:03 9595 1

原创 Scratch程序模块化的两种方式

程序模块化的两种方式对于代码程序,往往通过类封装来实现模块化。而scratch并没有类。要实现模块化,有两种方式:使用广播-消息模拟。使用自制积木封装。使用广播-消息模拟可以将一个模块的逻辑放入一个角色中,其触发控制为当接收到(消息1)时。当要调用此模块时,就广播(消息1)并等待。于是这样就顺利模拟出了一个模块。使用自制积木封装对于一个角色,可以为其添加自制积木。自制积木中带...

2019-11-04 15:57:37 2796 2

原创 Scratch的广播与消息

在事件积木中,有一块触发积木叫当接收到(消息1)。对应地,有两块积木:广播(消息1)、广播(消息1)并等待。广播-消息机制就是编程中的全局事件。当一个消息被广播时,所有角色(包含广播者自身)都会接收到该消息。只要一个角色有该消息的接收脚本,即可接收消息并处理。即:当接收到(消息1): 当角色接收到指定的消息时,便触发该脚本。广播(消息1): 向包含自身在内的所有角色发送一个消息。发送完后...

2019-11-04 15:57:02 10919

原创 Scratch的克隆体

克隆体克隆就是将角色本体完全复制一份,包含该角色当前的所有属性,例如造型,位置,颜色,大小等。控制积木中提供了克隆自己积木。在事件积木中,单独提供了一个当作为克隆体启动时的积木。当某个角色被克隆,则其克隆体会触发该事件。故而,对于那些克隆自己的角色,脚本区存在两段独立的代码:一段用于控制本体的逻辑,一段用于控制克隆体的逻辑。二者的触发事件不同。示例:烟花烟花的逻辑实现为:一个火星点在...

2019-11-04 15:56:43 6140

原创 Scratch角色的绘制与中心点

将鼠标移动到界面右下角的角色栏,可以选择/绘制一个角色。点击绘制,左侧会进入造型界面:现在来绘制一个圆形。点击左侧的圆,然后在画布上按住鼠标左键进行绘制。按下点即为圆心。默认是绘制椭圆,可以按住shift来绘制正圆。上方可以调整圆的填充和轮廓。此时一个新的圆形角色就画好了。但还需要注意一个非常重要的属性,就是中心点。点击画布右下角的放大镜来进行放大,可以看到在画布的中心有一个灰色的十...

2019-11-04 15:56:15 4745 1

原创 Scratch的画笔

画笔属于扩展组件,需要先添加扩展,然后才能使用。画笔的绘制逻辑为:落笔移动抬笔整个过程下来,就会按画笔移动的轨迹进行绘画。画笔主要有两种属性:效果:包含颜色/饱和度/亮度/透明度粗细画笔带有一块图章积木。其作用是将当前角色的外观复制一份。注意图章与克隆的区别。克隆会直接复制出一个新角色,而图章则仅仅是改变当前角色的外观,依然是同一个角色。...

2019-11-04 15:54:56 2252

原创 Scratch的方向

Scratch的方向与平面直角坐标系中的方向是不同的。以y轴为中心,正上方为0°。沿顺时针旋转,度数为正数。例如,顺时针旋转,正上方为0°,正右方为90°,正下方为180°,正左方为270°,再次回到正上方为360°。沿逆时针旋转,度数为负数。例如,逆时针旋转,正上方为0°,正左方为-90°,正下方为-180°,正右方为270°,再次回到正上方为-360°。故而,要选取正下方左右各45°的...

2019-11-04 15:54:44 4347

原创 Scratch中的坐标系

Scratch中的坐标系即普通的平面坐标系。其中水平方向为x轴,竖直方向为y轴。x轴与y轴交点为(0,0)点。x轴正方向为水平向右,y轴正方向为竖直向上。舞台默认大小为宽480×高360。其中x轴范围是[-240,240],y轴范围是[-180,180]。Scratch提供了各种背景,其中有坐标系背景。打开选择背景界面,在搜索框中查询: Xy-grid。所有角色的位置都使用该坐标系。...

2019-11-04 15:54:28 8117

原创 Scratch所有积木

Scratch中的默认积木分为9个模块:运动、外观、声音、事件、控制、侦测、运算、变量、自制积木。除默认积木外,还可以导入扩展。文章目录运动: 蓝色积木外观: 紫色积木声音: 淡紫色积木事件: 黄色积木控制: 土黄色积木侦测: 蓝色积木运算: 绿色积木变量: 深黄色积木自制积木: 粉色扩展运动: 蓝色积木运动主要分:向当前方向前进调整方向调整x/y坐标时间内滑行碰到边缘反弹设...

2019-11-04 15:54:12 6459 1

原创 Scrach基本概念与操作

基本概念一个程序最初的触发是由事件(黄色积木)负责的。例如点击播放事件,按下空格事件,当接收到消息等。程序由舞台和角色组成,舞台和角色都可以有多个。Scratch本身提供了许多舞台和角色的素材,可直接使用。每个角色都有自己的脚本代码,由各种积木拼接而成。执行时,会从上而下顺序执行。将某个角色的脚本直接拖动到另一个角色的缩略图中,则该脚本会被复制给另一个角色。角色的外观称为造型。一个角色...

2019-11-04 15:53:50 1618

原创 Scratch注册与工程创建

注册打开官方网站:https://scratch.mit.edu/默认语言是英文,将页面拖动到最下方,可以选择语言,简体中文在列表倒数第二项:然后将页面滚动到最上方,点击加入:输入登录账户、密码、出生年月、邮箱后,即可注册成功。创建注册成功后会跳转到首页,上方有一行工具栏:分别是:创建: 可创建一个新的工程。发现: 可查看其他用户分享的作品。创意: 详细的教程,...

2019-11-04 15:53:23 1198

原创 weex的本地资源路径

在weex中,本地资源路径有四种: 路径标示符 含义 / 工程文件夹 . 当前文件夹 .. 父文件夹 // 最上级根路径 例如,工程如下:在该工程中,共有4个png文件,分别是:...

2019-11-04 15:40:35 2372

原创 Spring Boot的文件上传

Spring Boot的文件上传并不需要单独进行。当前端进行请求时,所要上传的文件作为请求的一个参数即可,与其他类型参数相同。服务端接收时,只需要对这个文件参数使用MultipartFile类型接收即可。由于文件上传的参数无法直接拼接到URL中,所以只能是post请求。如图,用postman来测试,使用post请求,在body中共传入3个参数:photo:图片文件。类型为File,...

2019-11-04 15:40:16 472

原创 js处理csv文件并导出

处理当使用js处理Excel文件时,建议导出为csv,这样就能以纯文本形式进行处理。首先使用<input>与FileReader将csv文件以文本形式加载到一个字符串变量中。设字符串变量为tableStr。首先要将整个字符串按数据行来分割。由于csv文件每行结尾都带有换行符\n,故而可以使用\n做分隔符:var rows = tableStr.split(/[\n]/) // ...

2019-10-30 11:37:41 2404

原创 js实现本地文件的加载与读取

加载本地文件要加载本地文件,需要使用<input>标签:<input type="file" id="file" multiple>如上:type: 必须为file。multiple: 用于同时加载多个文件。这样就会生成一个选择文件按钮,其右侧显示未选择任何文件。点击选择文件,即可弹出一个文件选择窗口。同时该元素还接收拖放,拖动多个文件到选择文件即可...

2019-10-30 11:36:38 4460

原创 修改java的class文件:ASM使用

ASM基础ASM是一个Java字节码操作框架,可用于class文件的修改。其原理是将class文件载入,然后构建成一棵树。然后根据用户自定义的修改类对该树进行加工,加工完成后即可得到修改后的class文件。故而ASM中使用了visitor模式:class文件的结构是固定的,根据其构造出的树作为被访问者,则其节点也是固定的。只需要对每个节点定义一个访问者即可进行指定的修改。由于修改class...

2019-10-30 11:34:49 3350

原创 修改jar中的class:杀戮尖塔修改教程

缘起作为一只程序猿,游戏自然是标配。自从入了杀戮尖塔的坑,几年来陆陆续续玩了几百小时。然而steam上的成就至今没刷完,发牌员和各路小怪次次都在针对我。在第nn{n^n}nn次死于通往进阶20的三层小怪之手后,我感受到了出离的愤怒。于是我决定,用技术怼它。思路杀戮尖塔是用java开发,其主程序是一个.jar文件。现在要修改铁甲战士的基础卡:打击。打击的基础伤害是6,目标是将其修改为60...

2019-10-08 14:02:43 8538 6

原创 修改jar包中的class文件

需求及准备需求现在有一个.jar文件,要修改其中某个文件的代码。准备确保JRE已安装且环境变量已配置。安装Java Decompiler。官方地址为:http://java-decompiler.github.io/选择其中的JD-GUI进行下载。安装winrar。提取class内容并修改打开JD-GUI,将.jar拖进来。JD-GUI会将jar包反编译为j...

2019-10-08 13:36:01 4147 1

原创 provider状态管理

引入provider打开pubspec.yaml,在dependecies下添加provider版本:dependencies: provider: ^3.1.0其中最新版本查看官方更新文档:https://pub.dev/packages/provider#-changelog-tab-创建数据Model原理从provider中取存储值时,会向上寻找最近存储的指定类型值。...

2019-09-16 13:05:13 649

原创 获取MyBatis插入数据的自增长id

spring boot中集成MyBatis来向数据库中插入一个id自增长的数据时,默认返回的是受影响数据的行数。而现在的需求是要获取自增长的id。要解决该问题,需要使用注解:@Options(useGeneratedKeys = true, keyProperty = "属性名")useGeneratedKeys = true的作用是令MyBatis获取自动生成的主键,keyPropert...

2019-08-28 10:24:01 1381

原创 在同一台服务器上启动两个不同端口的Redis

要在同一台服务器上启动两个Redis。Redis默认端口是6379,要再启动一个端口为6389的Redis。两个Redis独立工作互不冲突。根目录下的redis-server.exe会加载默认配置,端口为6379。这个不用修改。第二个Redis只需要创建一个新的配置文件,令exe开启时加载新的配置文件即可。不需要单独复制一份Redis的所有文件。流程进入redis根目录,复制redis....

2019-07-12 18:04:30 4733

原创 在同一个Tomcat下部署多个同名系统

有多个同名war要部署在同一台服务器上。除了部署多个Tomcat,还可以在同一个Tomcat下设置多个Service。流程打开Tomcat/conf/server.xml,选中已有的整个<Service>标签,复制,然后粘贴到后面。对复制的<Service>进行修改:将<Service>的name属性更改为Catalina2。将第一个<Co...

2019-07-12 17:59:06 587

原创 在同一台服务器上部署多个Tomcat

已安装部署了一个Tomat且正常运行。现在要在同一台服务器上部署另一个Tomcat。将安装好的Tomcat文件夹复制到指定位置。这里将文件夹重命名为Tomcat2。修改Tomcat2/conf/server.xml:SHUTDOWN的port为8005,将其改为不冲突的端口。HTTP/1.1的port为8080,将其改为不冲突的端口。AJP/1.3的port为8009,将其改为不冲...

2019-07-12 17:56:54 884

原创 StatelessWidget与StatefulWidget的选择

优先选择StatelessWidget。对于需要Widget自行维护状态,而这个状态又不需要暴露给父Widget的,使用StatefulWidget。其中状态定义在State中,而非StatefulWidget中。父Widget传给子Widget数据,有两种情况:父Widget同时传入数据更新函数。当子Widget操作数据更新时,调用此函数。父Widget必须是StatefulWidge...

2019-05-28 11:18:55 1416

原创 Element复用:StatefulWidget修改和key

在Flutter中,Widget的功能是“描述一个UI元素的配置数据”,即,Widget其实并不是表示最终绘制在设备屏幕上的显示元素,而只是显示元素的一个配置数据。Flutter中真正代表屏幕上显示元素的类是Element。若类比于编程语言,Widget就像是一个抽象类,而Element才是具体的类实例。因此,一个Widget对象可能会对应多个Element对象。渲染流程根据用户代码创建...

2019-05-28 11:18:06 1564

原创 flutter大小单位:dp

手机的屏幕使用点来表示。例如,手机分辨率为720×1280,代表分辨率为720×1280:宽为720个点,高为1280个点。dpi为320:每英寸物理屏幕上的点个数为320个点。160dpi的手机每英寸有160个点,320dpi的手机每英寸有320个点。于是,320dpi的每个点的尺寸是160dpi每个点的一半。即320dpi的设备,每个点的尺寸更小。于是,一个5寸的160dpi手机宽...

2019-03-14 10:37:00 14113 10

原创 在Android Studio中创建Flutter工程

准备工作安装Android Studio,并安装最新版本Android SDK。安装Flutter SDK,并已设置环境变量。推荐安装dev版本。Flutter集成了Dart,因此不需要单独安装dart-sdk。安装Android Studio插件Android Studio需要安装Dart和Flutter两个插件。打开Android Studio,选择File→Settings,...

2019-01-22 13:37:40 4865

原创 Flutter SDK安装

SDK下载安装Flutter集成了Dart,因此不需要单独安装dart-sdk。Flutter的SDK可以从官网下载:https://flutter.io/docs/development/tools/sdk/archive?tab=windows#windows这里列出了4个channel:Stable,Beata,Dev,Master。开发推荐使用dev版本。当前最新Stable版...

2019-01-22 13:30:10 21214

原创 Dart IDEA插件安装及工程创建

安装插件开打IDEA,选择:File→Settings,选择左侧标签plugins,点击右侧下方的Install JetBrains plugin...,在弹出的对话框搜索框中输入dart,等待搜索完成后就会列出Dart插件。选中,点击右侧的Install,等待安装完成。安装完成后,提示重启:创建工程重启完成后,点击File→New→Project,项目列表中就会列出Dart标签:...

2019-01-22 13:28:56 1010

原创 Dart环境安装

dart-sdk安装Dart可以选择在线安装或者压缩包解压。官网提供的在线安装方式需要翻墙,推荐使用Dart语言中文社区的链接:http://www.cndartlang.com/920.html选择一个对应的版本,点击按钮来下载,会弹出一个新的页面。加载非常慢,建议复制弹出页面的链接,粘贴到第三方下载工具中进行下载。下载后,是一个zip压缩包:解压后,是一个dart-sdk的文件夹...

2019-01-22 13:26:54 1022

原创 Spring Boot启动时执行初始化操作

通常,有些操作需要在工程启动时执行,例如某些资源的加载。SpringBoot提供了几种方式来实现该功能:@PostConstruct对于注入到Spring容器中的类,在其成员函数前添加@PostConstruct注解,则在执行Spring beans初始化时,就会执行该函数。但由于该函数执行时,其他Spring beans可能并未初始化完成,因此在该函数中执行的初始化操作应当不依赖于其他Sp...

2019-01-16 11:52:55 14878

原创 Java函数式编程:Lambda表达式和函数式接口

Lambda表达式Java的Lambda表达式形式为:(params) -&amp;amp;gt; { statements };其中:若params只有1个,可以省略():param -&amp;amp;gt; { statements };若params为0个,用()表示无参数:() -&amp;amp;gt; { statements };若代码为一行,则可省略{},无论该行代码是否为表达式:(params) -&amp;amp;gt;

2019-01-11 10:18:54 277

原创 函数式编程

基本概念函数式编程,即使用函数的方式进行编程。这个函数是指数学领域的函数。数学领域的函数本质上是一种对应关系:y = x + 1有x值,便可得到y值。于是这个函数本身表达了x→y的对应关系。函数式编程就是这样的思想:所有的函数都体现了一种映射。常规的命令式编程是思维方式的直观表达。例如,要将一棵二叉树镜像反转:var invertTree(root) { if(root != un...

2018-12-21 11:06:05 253

原创 Vue Baidu Map组件封装:多边形组件和右键菜单

在Vue上进行开发,地图使用了百度提供的Vue Baidu Map。当前版本为v0.21.15。官方文档地址:https://dafrok.github.io/vue-baidu-map/#/zh/index开发需求:在百度地图上动态进行多边形的显示,添加,删除,修改。具体流程:在地图上点右键,弹出菜单:添加多边形。点击菜单项后,进入绘制模式。在绘制模式下,每次鼠标点击百度地图,都会在...

2018-12-19 15:36:01 5113 5

原创 Vue Baidu Map使用

百度地图官方提供的是常规&amp;lt;script&amp;gt;标签引入的方法。要想将百度地图引入Vue中,有两种方式:在index.html中引入js文件;修改webpack.base.conf.js来增加externals属性;在主js中调用Vue.use来全局注册或在单个页面中使用import单独引入。这样,在页面中就可以像常规的页面那样使用百度地图了。需要为容器&amp;lt;div&amp;gt;设置一个id属...

2018-12-11 17:01:54 5900

jdk-8u251-macosx-x64.rar

jdk-8u251-macosx-x64的官方macosx 64位dmg。

2020-06-28

jdk-8u251-windows-x64.rar

jdk-8u251-windows-x64的官方windows 64位安装包。

2020-06-28

jdk-8u241-windows-x64.rar

jdk-8u241-windows-x64的官方安装包,官方下载需要注册且网速较慢。解压后得到jdk-8u241-windows-x64.exe,直接进行安装即可。

2020-03-17

ArcGIS API for JavaScript 3.25版本

ArcGIS API for JavaScript 3.25版本。用于ArcGIS API服务的发布。

2018-07-27

OpenCV图像在MFC中显示

该类可以在MFC中绑定一个static控件,从而将该控件作为OpenCV的IplImage图像显示控件。该类不仅可以以1:1、全窗口、半窗口、动态选择等方式显示IplImage图像,还可以对图像进行平移、放缩,并在信息区同步显示图像坐标系下鼠标所在位置及RGB或灰度值。除此之外还可以在控件上直接进行矩形的绘制操作,会实时显示绘制矩形的信息,并提供了一组接口函数用于获取或清除绘制的矩形。更多的函数功能请具体参考说明文档及源代码。 下载文件中附带源码、说明文档及实例。使用时务必详细阅读说明文档。

2014-01-26

MFC扩展位图按钮 实现不同状态切换 异形按钮 提示等

MFC的CBitmapButton的扩展类,实现了: 按钮正常、按下、弹起、禁用等不同状态图片切换; 鼠标经过按钮时按钮状态图片的改变; 鼠标指针在按钮上时形状的改变; 异形按钮,利用按钮自绘实现了特殊形状按钮; 按钮提示信息,鼠标停留在按钮上会显示提示

2012-10-31

MFC扩展位图按钮类

MFC的CBitmapButton的扩展类,实现了: 按钮正常、按下、弹起、禁用等不同状态图片切换; 鼠标经过按钮时按钮状态图片的改变; 鼠标指针在按钮上时形状的改变; 异形按钮,利用按钮自绘实现了特殊形状按钮; 按钮提示信息,鼠标停留在按钮上会显示提示

2012-10-30

MFC中使用flash按钮并交互

使用flash制作了按钮,然后导入到MFC中使用,并与MFC产生交互。点击界面上不同的flash按钮会弹出响应的提示。注意flash文件的制作要添加fscommand消息,并传出参数以供MFC调用。

2012-05-25

MFC选择位图文件并显示

在MFC中点击一个按钮,然后会弹出文件选择框,从文件选择框中选择一个bmp格式的位图文件并显示出来。

2012-04-19

空空如也

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

TA关注的人

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