自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (1)
  • 收藏
  • 关注

原创 Flutter InheritedWidget与setState及局部刷新

数据共享(InheritedWidget)学习笔记:InheritedWidget可以跨组件(同一个InheritedWidget祖先)获取数据,同时InheritedWidget重新build时,会触发所有使用inheritFromWidgetOfExactType获取数据的Widget进行build,原理是在该函数中将这些Widget添加到依赖列表中,build时触发其didChangeD...

2019-12-25 17:55:28 3200

原创 Flutter | 超简单仿微信QQ侧滑菜单组件(改)

文章目录一、明确需求二、实现需求1. 滑动菜单实现使用`SingleChildScrollView`:2. 列表滑动不够距离则菜单再次隐藏,距离足够则完全展示菜单。3. 菜单支持事件处理。4. 菜单样式、个数由使用者传入。5. 除菜单之外部分点击,如其他列表或本列表非菜单部分,则菜单隐藏网上浏览Flutter教程的时候,找到一篇文章,Flutter | 超简单仿微信QQ侧滑菜单组件,研读了全文之...

2019-09-23 18:14:05 856

原创 Flutter弹出菜单

实现的时候碰到的几个问题:实现方式:如果用Navigator路由到新页,可以用PopupRoute自己实现,也可以直接用PageRouteBuilder来自定义,只要opaque设置为false就可以实现透明背景的弹出效果。同时可以方便的将barrierDismissible设置为true实现点击消失。其实PopupRoute其实也就是通过这两个属性来设置的 。如果实现浮窗效果,可以使用...

2019-08-29 20:30:05 1705

原创 Flutter Image

阅读:图片加载原理与缓存Image是一组合容器,将“图片”的来源(ImageProvider)与绘制(RawImage)组合起来展示图片。ImageProvider是一个基类,暴露一个通用解析接口resolve给外部使用,返回ImageStream,可以用来监听解析结果ImageInfo。同时ImageProvider实现了通用的缓存逻辑,典型的面向对象编程思想,提取通用部分做成基类,方便复...

2019-08-21 20:31:26 206

原创 libevent简单使用碰到的问题

base可以重用,但多线程中最好使用独立base,或单base加锁事件event不能重用,每个event监听一个fd,否则事件会乱,出现过tcp事件跑到udp回调中去了;一般tcp都会带个包头,决定后续传输的包体长度,因为tcp是流式,而非udp的包式(udp包是最小单位,读写成功都是指整个包读写成功),应用层的多个包是有可能在底层被合在一个包中发送(粘包),一个包也有可能被拆成不同的包发送...

2019-04-15 18:26:04 557

原创 KKing权限模型

KKing是一个Springboot+Ant-Design-Pro-Vue实现的前后端分离Admin权限管理系统,源码在[Github](https://github.com/fwing1987/KKing),欢迎star

2019-03-20 17:35:04 893 1

原创 Mysql5.7 You can't specify target table 'table' for update in FROM clause

       MySql中不允许在Update/Delete中使用子查询引用操作目标表,怕引起一致性问题,如:mysql> select id,name from t_sys_dept;+----+--------------+| id | name |+----+--------------+| 1 | 总公司 ...

2019-03-02 18:58:46 1937 1

原创 KKing技术选型

       KKing是一个Springboot+Ant-Design-Pro-Vue实现的前后端分离Admin权限管理系统,源码在Github,欢迎star前端       Vue文档比较齐全,入门简单,容易上手。Vue的前端UI框架有几个比较出名的,饿了么的Element UI,TalkingData的iVi...

2019-02-26 19:48:49 720

原创 Docker认知

2018-12-29 20:07:02 252

原创 mysql高可用与redis缓存简记

看到有人讨论redis与mysql一致性的问题,思考一下。1.mysql1.1 单节点mysql    毫无疑问,这种模式只能用来做测试,生产环境再小的公司都不推荐,除非数据没什么重要,没有mysql也能正常提供服务。    提醒一下一定要做好数据备份。1.2 主从mysql&amp

2018-12-24 14:35:53 324

原创 SpringBoot-Shiro-Vue 前后端分离实现权限认证

       所有源码可以在github上找到,文章参考:提供一套基于Spring Boot-Shiro-Vue的权限管理思路.前后端都加以控制,做到按钮/接口级别的权限,做了自己的实现,练了下手。前文见:前后端分离项目中权限控制的思考,以及实现过程中的瞎折腾:SpringBoot+Shiro瞎折腾——不使用Shiro的Filter模式。  &...

2018-11-06 11:14:59 14767 7

原创 SpringBoot+Shiro瞎折腾——不使用Shiro的Filter模式

文章目录一、总结:Subject其实是绑定线程的二、手写实现简单验证1. Shiro配置2.使用三、再总结       想要实现基于SpringBoot+Shiro+Vue的前后端分离技术,网上教程还是不少的,在实现成功后,多问了个问题,就有了这篇文章。问题如标题,如果不使用Shiro提供的Filter模式会怎么样: 前后端分离,如果没用RESTf...

2018-11-05 14:52:32 3560

原创 Shiro基本概念

来源日文单词“城”(读音-xi lao)一、三个基本概念——Subject,SecurityManager,RealmsSubject,通俗讲代表当前用户,不叫User,因为一般User是用来代表一个人的,Subject更加宽泛,如第三方进程,后台用户等,指的是当前与软件进行交互的东西。在需要时,任何位置都可以调用:import org.apache.shiro.subject.Subj...

2018-10-24 14:52:35 484

原创 SpringBoot+Hibernate Repository的简单使用与进阶

#一、简单使用       CrudRepository接口提供了简单的增删改查,只要如下,写一个接口继承,就可以直接使用。public interface UserDao extends CrudRepository<User,Integer&

2018-10-23 20:16:30 3787

原创 SpringBoot+Hibernate配置

SpringBoot开启了自动配置后,Hibernate配置十分简单生成工程时,选择带JPA和MySqlpom.xml中会自动添加两个依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data...

2018-10-23 17:10:43 6738 1

原创 iptables实例

举几个常用的iptables实例,具体分析一下使用。1.防火墙最常用的iptables基本功能防火墙,参见配置一个生产的iptables防火墙规则2.共享上网想要共享上网,必须将不能上网主机的网关设置可以访问外网的主机。我在阿里云上使用专有网络做的试验,弹性计费很便宜,用完别忘了删,要不一直收钱^_^网络拓扑,一共两台主机:一台172.16.147.210,有EIP弹性IP绑定121.43.189

2017-03-01 11:53:44 559

原创 iptables原理与命令简析

首先,需要理解iptables,否则看着网上的各种案例,死记硬背,来个新的需求还是不会。参考: Linux数据包路由原理、Iptables/netfilter入门学习 - .Little Hann 超级详细的iptables介绍一、iptables原理1.挂载点       iptables是Netfilter的应用层表现,用于在应用层为Netfilter的配置表XTables配置各种规则。Ne

2017-02-24 16:27:54 662

原创 SpringMvc+Quartz执行多次的处理

SpringMvc+Quartz执行多次的处理碰到一个小问题,如标题,处理了半天,网上各种资料基本都是说Spring的配置文件因为各种原因被加载两次,但我的配置文件没有配置错误,只是单纯的配置了DispatcherServlet。并且我的Quartz被执行了3次。。。又因为本地没有这种问题,比较tomcat配置后,发现版本不一样,本地使用的tomcat8,服务器用的tomcat7,结果使用最新版本后

2017-01-22 18:37:11 1277

原创 配置一个生产的iptables防火墙规则

注意执行顺序,-A表示Append,是在所有规则之后添加新的规则,iptables是从上往下匹配规则,成功后则不继续匹配,所以建议匹配量最大的规则放在最上面。一、规则配置1.清空原有规则(iptables会有一些初始规则配置)iptables -F #清空所有规则iptables -X #清空用户自定义的空链(iptables -N xx创建)iptables -Z #清空计数2.添加正常

2017-01-16 18:15:03 1036

原创 JavaScript-ES6中的箭头函数(Arrow Function)

定义:ES6中新增的使用符号=>来定义的简单函数如: x=>x+1等于:function(x){ return x+1;}如果没有参数或多个参数,需要使用()(a,b)=>a+b如果函数体有多条语句,需要使用{},此时,返回值需要使用return(a,b)=>{ return a+b;}好处使用简洁,不需要写function等,结构清晰;这种函数没有自己的this,直接将外

2016-11-14 14:47:02 3047 2

原创 理解vue实现原理,实现一个简单的Vue框架

参考: 剖析Vue实现原理 - 如何实现双向绑定mvvm Vue.js源码(1):Hello World的背后 Vue.js官方工程本文所有代码可以在git上找到。       其实对JS我研究不是太深,用过很多次,但只是实现功能就算了。最近JS实在是太火,从前端到后端,应用越来越广泛,各种框架层出不穷,忍不住也想赶一下潮流。        Vue是近年出的一个前端构建数据驱动的web界面的

2016-11-07 14:51:03 68861 12

转载 【转】Javascript是单线程的深入分析

转自:http://www.cnblogs.com/Mainz/p/3552717.html面试的时候发现99%的童鞋不理解为什么JavaScript是单线程的却能让AJAX异步发送和回调请求,还有setTimeout也看起来像是多线程的?还有non-blocking IO, event loop等概念很不清楚。来深入分析一下:首先看下面的代码:12

2016-10-26 11:32:06 590

转载 【转】 Openssl之BIO系列

1.BIO-抽象的IO接口其实包含了很多种接口,用通用的函数接口,主要控制在BIO_METHOD中的不同实现函数控制,我初步估计了一下,大概有14种,包括4种filter型和10种source/sink型。BIO是在底层覆盖了许多类型I/O接口细节的一种应用接口,如果你在程序中使用BIO,那么就可以和SSL、非加密的网络以及文件IO进行透明的连接。有两种不通的BIO接口,一

2016-08-31 10:39:28 3508 1

原创 支付宝回调验证签名失败

回调接口是支持扫码支付方式的回调的,最近业务需要又需要支持移动app的支付方式,回调时却签名验证失败。在排除代码、参数、编码格式等问题后,最终确定是支付宝这两种支付方式回调使用的支付宝公钥不一样导致的(好坑)。记录如下:扫码付,使用的是申请成功自动生成的服务窗应用的密钥移动应用app支付,使用的是合作伙伴密钥,是不同的。如下图:

2016-08-24 14:40:29 22925 1

原创 【Spring学习】Bean生命周期

我理解的Bean生命周期包括两个方面:Bean何时创建,何时销毁Bean从创建到销毁的执行流程一、Bean创建与销毁       Bean的创建时机主要由几个配置项共同来决定,包括:scope属性,决定是Bean是单例模式(singleton)还是多例模式(prototype),默认为单例singleton;lazy-init属性,只对单例模式有效,决定是否延时加载,默认为false,表示

2016-06-21 14:24:37 7727

原创 【Spring学习】Bean的扫描注册

在前面的文章《使用IDEA创建Spring mvc工程及简要分析》中,稍微讲过MVC寻找配置文件的过程,现在在这个基础上,看一下配置文件是如何加载的,着重看一下Bean的扫描注册过程。其实稍微用过Spring的人都知道,Bean可以通过Xml配置文件与注解两种方式来配置,看过本文后可以看到,这两种方式最后调用的都是相同的接口进行Bean的注册,只不过扫描的过程不一样。一、配置文件读取       上

2016-06-05 17:01:10 6764

原创 【Spring学习】IoC与DI

看了两篇讲IoC和DI的文章,实在是讲得太好,有种不知道再怎么写的感觉,终于明白李白为啥说黄鹤楼景色虽好,却因崔颢的题诗在前,无法写诗是啥意思了。两篇文章见下:        Spring的IOC原理[通俗解释一下]        我对IoC/DI的理解        不过,还是尽可能自己也总结一下,毕竟是别人的东西,记得不会太清楚。1.概念       IoC是Inversion of Co

2016-05-19 14:37:13 714

原创 Spring IOC学习计划

太偏门的就不钻牛角尖了,东西太多也学不过来。主要学习一下IOC的设计理念,Spring基本的框架执行流程,以及项目中常用的注解、配置、使用方式等。暂定按下图的计划来学习。过程中也会逐渐补充这个图。现在知识还很少,肯定有不完善甚至错误的地方,以后碰到再来修正。

2016-04-27 16:02:29 812

原创 使用IDEA创建Spring mvc工程及简要分析

需要使用IDEA ultimate版本,才会有Web支持。0.创建工程       File->New->Project…        一路向下,最后创建一个tomcat server,mac上下载解压即可,非常简单,不详细描述。       完成后,idea会自动下载Spring相关lib,同时创建一个示例工程,下面看看idea到底自动做了哪些配置。对了解整个工程结构,web服务和框架的启动流

2016-04-25 16:21:19 14250 3

原创 【微信第三方平台】授权实现及所使用的框架解析

又好久没有写博客,最近主要做了两件事。一个是安卓SDK自动打包、加固、热更新的研究,一个是微信第三方平台的授权。第一个虽然有一定的成果,但还没有完善,后续会将过程和技术记录一下,现在先整理下微信第三方平台的授权。一、语言-PHP       有幸使用了世界上最好的语言,对于一个年长的程序员来说,语言的语法、函数、变量、特性、面向对象等其实就是在使用中渐渐熟悉,也没有太多研究的价值。不过公司项目的PH

2016-03-16 12:00:11 2245

原创 【Android】Service中判断当前是否全屏(状态栏是否隐藏)

业务需要,要在后台Service中判断当前界面是否全屏,感谢Google,帮我找到了一个解决方式:is it possible to detect when any application is in full screen in android?,现将方法研究并记录一下。1.原理       上面的回答中,创建了一个overlay的不可见View,靠在窗口上方,通过调用View.getLocati

2016-03-02 17:05:41 7225 2

原创 java泛型

在知乎在碰到了一篇好文:你见过哪些令你瞠目结舌的 Android 代码技巧?,其中很多答主都提到了一个Java的技巧,利用泛型来减少强制转换的使用,如下: public <T extends View> T $(int id) { return (T) super.findViewById(id);}public <T extends View> T $(View view, int i

2016-03-02 11:04:55 803

原创 [Android]使用HorizontalScrollView实现广告栏Banner及相关原理分析

现在的App中,广告栏Banner的使用还是挺广泛的,用于展示各种广告、活动推荐等。使用HorizontalScrollView可以很简单的实现一个可自动播放、可滑动、可点击的广告栏Banner,这个也可以做为一个例子,来学习自定义控件的制作。相关原理主要包括两个方面: onMeasure、onLayout、onDraw等View、ViewGroup相关布局函数;dispatchTouchEv

2016-02-28 21:20:47 4444 4

原创 Android内存泄露杂记2016-02-26

先记录一下,后续整理Bitmap十分占用内存 使用不当则会内存泄露,包括不限于:static集合如HashMap、ArrayList等,未及时清理失效数据 postDelayed执行匿名Runnable类,引用外部数据匿名监听器Listener引用外部数据close()等清理函数没有执行register的广播监听没有unregister查找泄露位置 使用工具:leakcanary

2016-02-26 17:31:26 613

原创 【cocos3.x+tilemap】制作rpg小游戏(二)遮挡与碰撞

前面制作了地图,现在就可以在工程中使用了。现在只实现了遮挡与碰撞,后续再实现点击屏幕移动、寻路算法、npc交互等。       实现遮挡与碰撞,都需要解决一个核心问题——当前角色到底在哪一块瓦片上,也就是cocos坐标如何转化为TileMap瓦片坐标,这个问题搞了n久,最后实现方法还是很麻烦,如果有人知道有更好的方式,请联系我^_^一、坐标转换参考: Staggered Isometric Map

2016-02-23 17:36:05 5215 1

原创 【cocos3.x+tilemap】制作rpg小游戏(一)地图制作

【cocos3.x+tileMap】制作RPG小游戏(一)地图制作       前面做过一个小的马里奥游戏,现在来实现一个小时候玩过的类似文曲星上《英雄坛说》的小RPG游戏。        与横板的马里奥游戏不同,这个游戏需要实现的东西更多——包括45度斜角地图、2.5D物体遮挡、寻路算法、npc交互等,不过不需要再引入Box2d了,因为只要实现简单的物体碰撞检测就可以了。        现在已

2016-02-23 10:58:56 4843

原创 【cocos3.x+box2d+tileMap】制作马里奥游戏(四)碰撞检测

转载请注明来源:http://blog.csdn.net/pur_e/article/details/50578741       Box2d物理引擎还提供一个很重要的功能:碰撞检测。如马里奥游戏中,需要检测马里奥与怪物、蘑菇、金币等的碰撞,通过判断不同的碰撞点、碰撞对象做出不同的处理。我们要在马里奥中实现的碰撞效果如下:一、理论       Box2d通过设置碰撞监听

2016-01-28 11:16:57 9630

原创 【cocos3.x+box2d+tileMap】制作马里奥游戏(三)创世纪

嘿嘿,标题开得很牛叉,不过事实上也确实如此,我们将在这里创造一个游戏世界,虽然世界很简单,马里奥只能简单感受重力、接受碰撞、左右移动、跳跃,但确实已经是一个小小的世界了!一、载入地图,初始化box2d等       代码中我会加入比较详细的注释,主要还是看代码。bool MarioScene::init(){ if(!Scene::init()){ return

2016-01-25 11:49:35 4115

原创 【cocos3.x+box2d+tileMap】制作马里奥游戏(二) 制作地图

一、概念       tileMap是一个开源的、跨平台的地图制作工具,地图存储为Tmx格式,而cocos则提供对tileMap的原生支持。       相关概念网上资料很多,如: cocos2dx[3.4](25)——瓦片地图TiledMap,推荐初学者先去了解一下,这里主要记录制作过程。二、素材       马里奥网络相关素材很多,不过基本都是低分辨率下的,要想手机中有比较

2016-01-25 10:37:09 6666 1

原创 【cocos3.9+box2d+tileMap】踩过的那些坑

——记念初学box2d踩过的好多坑1.调试Box2d,一定要开启DebugDraw       Box2d物理引擎中的世界是不可见的,所有刚体只会在一个看不见的世界中,遵循设定好的规则自行演变,想要对外部世界产生作用,需要外部世界也就是cocos自己将精灵等的位置、角度与Box2d世界中的刚体做绑定。       所以Box2d的开发者提供了一个DebugDraw的功能,用来显示物理引

2016-01-23 19:11:23 2151

空空如也

空空如也

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

TA关注的人

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