自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 带你玩转vue——DOM节点v-if判断导致的生命周期问题

vue页面在生成过程中,会先加载页面中的DOM元素,如果我们在页面中使用v-if的判断条件,vue在页面加载的时候是不会生成该DOM节点的,如果我们在v-if条件判断的节点上使用this.$refs,则会出现该DOM没有被注册的情况,此时我们需要使用this.forceUpdate();在v-if语句判断生效后重新加载页面DOM节点 。...

2021-09-21 09:15:22 1005

原创 带你玩转vue——简约清晰的vue封装axios(ajax)方法

前言局部刷新技术技术的出现与应用大大推动了web工程的成熟与发展。其中以ajax与axios最为突出,但是不管是哪种方式,我们每次发起请求都会重复对http参数进行设置,并对请求后的数据进行异常数据处理等,作为一名优秀的面向对象的软件攻城狮怎么能够容忍,所以笔者遍访各大网站与前同事、同学总结出一套简单明了的封装方式!项目结构如下图所示,名称为demo的演示项目其中utils中存放的即是封装的axios组件代码鉴赏1、首先在store中声明baseUrl,用于存放请求路径的公共部分,同时声明一个

2020-12-03 16:37:24 277

原创 设计模式及适用场景

一、命令模式定义:命令将一个请求封装为一个对象,从而使得可以使用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及可撤销的操作。适用情况:1、抽象出待执行的动作以参数化某对象,此模式是过程语言中的回调机制的一个面向对象的替代方法;2、在不同的时刻指定、排列和执行请求;3、支持取消操作;4、支持修改日志,这样当系统崩溃时,这些修改可以重新被做一遍;5、用构建在原语操作上的高层操作构造一个系统;二、责任链模式定义:责任链是多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的

2020-10-19 18:56:53 379

原创 二叉树深度优先遍历

在二叉树的深度优先遍历中分为前序遍历、中序遍历和后序遍历,其中根据前序遍历和中序遍历或后序遍历和中序遍历可以推算出完整的二叉树。三种遍历方式为:前序遍历:根节点->左子树->右子树中序遍历:左子树->根节点->右子树后序遍历:左子树->右子树->根节点由上述三种遍历方式可知中序遍历最为重要,因为中序遍历可以确定哪些节点在根节点的左侧,哪些节点在根节点的右侧。首先根据前序或后序遍历找到根节点,然后根据中序遍历将其他节点分配到根节点两侧,以此方式使用递归的方式可以

2020-10-13 16:54:49 355

原创 数据库关系(1)

例题:给定关系R(U,Fr) 其中属性集U={A,B,C,D},函数依赖集Fr={A->BC,B->D};关系S(U,Fs),其中属性集U={A,C,E},函数依赖集Fs={A->C,C->E},R和S的主键分别为();关于Fr和Fs的叙述正确的是();以上为题干,先不看答案,数据库关系的考题一般是两问,第一问考主键,第二问考依赖关系;主键:若满足该属性即可遍历全图,就是使用该属性可以推出其他属性,首先看Fr中A->BC,A可以推出BC,此处亦可写为 A->B,A-&

2020-10-13 16:00:39 876

原创 共享锁与排它锁

在多用户共享的系统中,多用户对同一数据进行操作可能会带来数据不一致的情况,因此在并发操作中需要加锁操作,以此控制事务的并发执行。共享锁:从名字可以看出,该锁可共享,写操作肯定不可共享,一共享数据就被写乱了,便没有“锁”可言了,所以共享锁为读操作“共享”,即本锁加上之后不可再进行写操作,但是可以读,也可称为只读锁。排它锁:排它锁就比较霸道了,只要我加上这个锁,其他操作均不可进行,为啥呢?因为我要对该数据进行修改了,既然我要修改必然不能让别人再来修改,也必然不能加只读锁,因为加上只读锁,我就无法进行写操作了

2020-10-12 08:12:40 394

原创 哈夫曼树,哈夫曼编码

一、哈夫曼树(最优二叉树)定义:给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。首先搞清楚基本术语:1、路径和路径长度在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。在哈夫曼树中,只需要关注根节点与叶子节点之间的路径即可。

2020-08-28 17:00:09 441

原创 标准与知识产权

1、商标法规定:同一天申请的,初步审定并公告使用在先的。驳回其他人的申请,均未使用或无法证明的,各自协商,不愿协商或者协商不成的,抽签决定,不抽签的,视为放弃。2、专利权:专利的发明创造是无形的,必须经过专利机关审查确定,未审批之前任何一项发明创造都不得成为专利,两个以上申请人就同样的发明申请专利的,谁先申请授予谁,同日申请的应当在收到国务院专利行政部门的通知后自行协商确定申请人。总结:谁先申请谁获得,同日申请协商协定3、...

2020-08-27 09:32:10 146

原创 进程管理PV操作

含义:PV操作是一种实现进程互斥与同步的有效方法。PV操作与信号量的处理相关,P表示通过的意思,V表示释放。具体定义:P(S):①将信号量S的值减1,即S=S-1;②如果S30,则该进程继续执行;否则该进程置为等待状态,排入等待队列。V(S):①将信号量S的值加1,即S=S+1;②如果S>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。考点:释放、等待真题:分析:首先,有顾客和收银员两进程,所以这个应该有同步的关系,要协作完成工作。顾客进程的主要工作是进入超市,在进

2020-08-26 17:01:59 1347

原创 死锁

进程管理–死锁含义:所谓死锁,就是进程推进顺序不当或者同类资源分配不当导致无法继续运行的现象。考点:n个进程互斥并发执行,每个进程需要r个资源,计算可以避免死锁现象的最少资源m公式:m = n * (r - 1) + 1举例:若在系统中有6个互斥并发进程,每个进程需要2个资源,那么使系统不发生死锁的资源的最少数目为多少?其中 n = 6;r = 2;m = n * (r - 1) + 1 = 6 * (2 - 1) + 1 = 7所以,需要最少的资源数数为7真题:系统中有R类资源m个,现有

2020-08-26 13:59:03 4481

原创 浮点数

1.浮点数的定义:浮点数,是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。2.浮点数的表示:其中S是符号位,P是阶码(或者E),M是尾数。其中,阶码的长度决定浮点表示的范围,尾数长度决定浮点表示的精度3.浮点数的加减运算(掌握步骤就行):两个浮点数相加时,首先要进行对阶。设两个浮点数 X=M2Ex ,Y=My2Ey实现X±Y要用如下5步完成:(1)对阶(阶码)操作:小阶向大阶看齐。对阶:小阶向大阶(小数向大数)对齐,同时将尾数右移N位。(N为阶差)。(2)进

2020-08-26 13:56:30 1549

原创 最短路径问题(迪杰斯特拉)算法

定义所谓最短路径问题是指:如果从图中某一顶点(源点)到达另一顶点(终点)的路径可能不止一条,如何找到一条路径使得沿此路径上各边的权值总和(称为路径长度)达到最小。Dijkstra(迪杰斯特拉)算法他的算法思想是按路径长度递增的次序一步一步并入来求取,是贪心算法的一个应用,用来解决单源点到其余顶点的最短路径问题。Dijkstra(迪杰斯特拉)算法示例:第1步:初始化距离,其实指与D直接连接的点的距离。dis[c]代表D到C点的最短距离,因而初始dis[C]=3,dis[E]=4,dis[D]=0,

2020-08-26 13:53:04 1223

原创 页面置换算法

页面置换算法:1、 最佳置换算法:这是一种理想化的算法,既选择哪些是永不使用或者最长时间内不会被访问的页面置换出去。这种方法性能好,但是难于实现。例题:假定系统为进程p1分配了3个物理块,该进程访问页面的顺序为“0,7,6,5,7,4,7,3,5,4,7,4,5,6,5,7,6,0,7,6”,利用最佳置换算法的结果如图所示,图中x标识产生缺页终端,求缺页次数、页面只换次数和缺页率根据题意,系统为进程分配了3个物理块,开始为空,所以前三次访问均产生缺页中断,第4次访问时需要找到一个物理块进行清除,根据

2020-08-26 13:50:04 396

原创 使用注释AOP实现接口访问次数限制

前言在日常开发工作中,我们常有接口会暴露出来,虽然我们增加了各种检验和拦截可以拦截大多数恶意访问,但是你不能保证对接方的猿子不会造出一个死循环来访问你的接口,尤其是我们的程序作为一个平台使用的时候,别人的一个误操作可能会造成服务器宕机,到时候成千上万的客户都会受到影响,所以在这种对接过程中一定要对对方的接口访问次数进行限制!这种方式可以理解为微服务中的服务降级!安排栗子新建一个注释类:@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUN

2020-05-20 15:27:27 1123 1

原创 小记——为什么@Transactional会失效?

1、使用@Transactional的方法必须是public修饰的。2、使用@Transactional的方法不能再同类的其他方法中调用。3、使用@Transactional只会对运行时异常回滚,IOException、SQLException及我们自定义的异常不会触发回滚。重点是第三条,许多时候我们会自定义一下exception,这时候如何保证事务回滚呢?如下:@Transactional...

2020-05-08 16:29:07 426 1

原创 带你玩转vue——高效封装axios

前言作为一名一入坑就使用java的猿子,本着万物皆可对象的原则,研究出如何将axios封装成更简单实用的“对象”。之前本猿子就非常讨厌ajax又臭又长的执行函数,和其他地方整齐的代码一比较,感觉low爆了,所以有了下面滴故事。。。栗子使用过vue的猿子都知道它的兼容性非常好,我们可以将很多第三方插件或者自己的方法注册到vue中,就像之前说的它就像一个脚手架!首先我们需要在项目中安装axi...

2020-05-06 19:01:40 249

原创 使用反射完成mybatis-plus自动装配查询条件

先上DO代码:@Data@TableName("dict")public class DictDo { @TableId(type=IdType.AUTO) private String id; @TableField("`key`") private String key; private String value; private String memo;}此处使用了l...

2020-05-06 15:25:31 2199 1

原创 带你玩转vue——简单高效的vue.config.js配置

通用的vue.config.js配置module.exports = { publicPath: './', devServer: { port: 7004, disableHostCheck: true }, assetsDir:'static', indexPath:"index.html", // lintOnSave: false, run...

2020-04-02 15:11:09 2745

原创 Error getting generated key or setting result to parameter object.必须执行该语句才能获得结果。

错误详情:org.springframework.jdbc.UncategorizedSQLException: Error getting generated key or setting result to parameter object. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须执行该语句才能获得结果。; un...

2020-02-10 16:31:44 6971

原创 mybatis下SqlServer的分页的最优解

在mysql中有limit函数,oracle中有默认的rownum字段,那么SqlServer如何进行分页呢?最方便的方法:使用 ROW_NUMBER() 函数,如下所示select * from ( select ROW_NUMBER() OVER(Order by id ) AS RowId,* from t_ICItemCustom) t where RowId between ...

2020-02-07 10:57:39 1449

原创 NB物联网之天翼物联(7)——一次性通过电信NB平台自助测试

自助测试的重要性电信平台的自助测试并不只是你自己拿来调试使用,它还涉及之后的测试报告,而测试报告格式如果不规范很容易就被驳回!因为电信测试平台的审批工作是在上午和下午的固定时间段内完成的,一般一旦被驳回就要再等一天,而电信对测试报告的要求又非常严格,所以很容易就一等好几天,下面我们来看一下自助测试格式到底有多少要求?我们又需要注意哪些点才能一次通过!一、设备注册如果你非常随意地填写了注册信息...

2019-12-10 20:26:18 883

原创 NB物联网之天翼物联(6)——移动电信NB的区别与兼容开发

前言电信是最早开通NB业务的运营商,两年前我们公司就已经着手NB表具的开发工作,当时联通和移动的NB业务还没有开展,自然没有考虑兼容的问题,现在下定决心重新做一套肯定是要做一套兼容的程序!那么,收发机制完全不同的移动NB和电信NB怎样才能实现兼容呢?找到不同点:移动是直接向平台发送16进制字符串,平台将其自动转为16进制码流向表具发送16进制码流,如下图所示16进制字符串16进制码流应用移...

2019-12-03 22:05:27 1614 5

原创 电信NB开发实战

前言为了帮助大家快速实现电信NB平台的对接,楼主特地整理了一套Java对接华为/电信NB物联网平台的实战教程!欢迎大家留言参与讨论和提问!第一篇:快速了解电信NB平台各种名词概念第二篇:配置文件profile的定义与使用第三篇:了解编解码插件的两种形式及实现方式第四篇:清晰完成编解码插件周围参数配置第五票:编解码插件结构了解、编写及兼容性问题思考...

2019-12-02 21:23:33 644

原创 NB物联网之天翼物联(5)——编写编解码插件

前言之前的两篇将编解码插件的外围配置都已经交代明白,本篇将为大家讲解编解码插件的组成以及如何编写编解码插件!ProtocolAdapterImpl 中的 encode And decode在上一篇结尾,我们注意到一个细节,就是我们在配置文件中配置了一个路径,这个路径是一个java文件的路径,这时候我们就要注意了!这个文件一定不一般!!这个文件就是ProtocolAdapterImpl.ja...

2019-12-02 21:10:52 1000

原创 NB物联网之天翼物联(4)——配置编解码插件

前言前面为大家介绍了编辑码插件的大体结构,本篇为大家详解怎么配置编解码插件上传包的参数!第23条“婚约”编解码插件上传位置上一篇结尾我们说了如果进行插件开发,必须先了解上传插件包的结构和要求,何为“上传包”?首先,这个“上传包”就在我们下载的demo文件中:它指的是把我们写好的编解码插件打成一个jar包,然后再写一个配置文件,这个配置文件的内容与这个jar包相关,与你当前所处的电...

2019-12-01 20:56:43 1267

原创 NB物联网之天翼物联(3)——初窥编解码插件(java开发物联网)

前言电信的编解码插件本意上是可以让我们的开发更加灵活,但是你好歹把文档写明白啊。。。同时在正常的生产中我们的产品不可能只使用电信的模块,有时甚至是客户要求使用移动还是电信的模块,所以兼容性给我们的体验非常直观!我们先不考虑兼容性问题,先把流程走通吧还是!编解码插件的两种形式1、线上编辑当大家刚看到线上编辑的时候内心一定非常激动,想咋改咋改,而且看上去非常直观,但是当你真正看到这个页面时估计...

2019-11-30 16:49:52 1305

原创 NB物联网之天翼物联(2)——profile定义与使用

前言前面大体讲了电信NB平台的一些概念,本篇就来接触一下电信NB的核心配置,profile与编解码插件。profile 就是配置文件嘛!编解码插件就是编解我们与设备通讯使用的十六进制码流的东西。profile的定义每一个service包含属性和命令两部分属性对应的是上传的数据,我们定义好规则之后,上传的16进制码流会根据我们定义的规则拆分到指定的service的 属性列表 中的 属性...

2019-11-30 16:02:09 2983 3

原创 NB物联网之天翼物联(1)——电信NB平台到底有什么

前言本人目前任职于一家仪表企业,最近接到了NB物联网表的项目。做下笔记,以便后续使用,同时发现网上关于NB对接平台的资料太少,于是将踩得坑跟大家分享!我们起先做的移动NB表,异常之顺利,平台的接口比较符合程序员的思路,而且没有太多复杂的概念,一时兴起,向领导保证了非常短的工期,没想到做到电信的时候一脸懵逼!我是谁?我在哪里?我要干啥?故事开始的地方电信的NB平台是外包于华为做的,总共有两个...

2019-11-30 14:23:15 4186 1

原创 程序员晋级之路——初识AOP

前言何为AOP?AOP就是面向切面的编程。何为面向切面的编程?就像高速公路的省界收费站一样,每条进出我们省的高速都会在省界上设立一个收费站,那么省界就是一个切面,收费站就是我们的处理方案,我们需要做的是定义省界这个面和在面上的收费站的功能。应用场景在项目完成之后,交付之前我们一般会对程序进行压力测试,在测试中怎么更加精准的定位系统运行的瓶颈呢?这时候你需要AOP!在项目做异常处理时,我们...

2019-11-13 21:13:39 157

原创 带你玩转vue——vuex的概述

前言我们学会了使用vue工程化前端工程,那么我们就要思考何为工程?我认为工程就应该是一个整体,盖一栋大楼就是一个工程,上楼我们有上楼的工具——电梯,用电我们有输送电力的工具——电缆。总之,我们在大楼里享受的所有服务都有专门为之配套的设备,他们搭配在同一个框架上形成一个工程,同样我们的前端工程也有各种各样的工具搭建在我们vue-cli上!而vuex是其中最重要的工具之一,它盘活了整个vue项目,使...

2019-11-11 19:59:44 208

原创 带你玩转vue——前端工程搭建

在正式搭建项目之前我们首先要认识一下vue-cli:vue-cli就是vue的脚手架,顾名思义就是它的上面可以搭载很多工具,当你需要其中一个工具对工程进行构建时只需要将它安装到脚手架上,然后使用命令调用它,而你并不需要知道他是怎么运行的,这样我们在项目构建中就可以更加得心应手,当有一天你的脚手架拆除的时候,展露出来的就是你精美的作品了!需要注意的是vue-cli有两个相差比较大的版本,2.x和...

2019-10-05 09:45:32 740

原创 带你玩转vue——开发环境配置

何为node.jsnode.js是编译和管理vue项目的重要工具,它能使用JavaScript来实现动态网页的开发,实现和java servlet类似的功能,同时其包含有多种包管理工具,其中包括我们要用的npm!准备工作需要下载node.js的安装包,下载地址安装不需要特殊操作只需要一直下一步就ok了。安装完成后在cmd窗口运行 npm --version和 node --versio...

2019-10-05 08:14:32 706

原创 程序员晋级之路——mysql性能优化之数据库分区实战

前言笔者的上一个项目一切都在有条不紊的推进,直到通过了层层测试来到上线的那一天,实施小哥兴奋地挥舞着刚买到机票的手机,没想到真正的考验正在一步步逼近。我们本次的项目是为了给我们的用户进行软件升级(因为种种历史原因,原软件代码已经无法维护),自带四百万账单数据,当数据入库完成的那一刻,大家全都安静了,账单结算根本跑不动!!!大量历史数据将查询更改操作无限拖慢,没有办法大家只能使用一些应急技巧,好...

2019-09-30 20:23:34 1252

原创 带你玩转vue——开发工具的选择

在开发中我们发现后端代码偏向逻辑性,而前端代码更偏向视图性,所以选择一个好的前端开发工具是让你对前端开发保持热情的重要元素!在使用了三四种开发工具并进行反复的挣扎后,博主最终选择了vscode,究其原因不过两点:1、体量很小,功能简洁,使用简单。2、有很合适的vue插件,不管是高亮还是格式化全都不在话下,让你的代码可以一眼看到尾,用乔衫的话说~~“那不得起飞喽啊!”下面附上下载地址:点我下载,...

2019-05-18 17:16:51 4983

原创 带你玩转vue——为什么选择vue

在使用vue之前我做过两年的前端开发工作,对比使用前后我发现同样的功能我的代码更加整洁、代码量更少、功能实现更加优雅。代码量少是因为我们的操作对象从原来的dom节点转变为数据。如果你没有使用过vue你可能不能理解在一个js文件中可以不使用一个元素选择器。所有的attr、removeAttr、addClass、removeClass等等操作dom的方法全部都不必使用,我们在乎的只是有没有数据,有什...

2019-05-18 16:39:07 250 1

原创 利用java反射解决Mybatis Pagehelper插件联表查询分页不准确的问题

前言反射可以获取任何一个已知名称的类中定义的属性,不论它是公有还是私有。使用反射你会发现原来java可以如此灵活,你不用再无穷无尽地写循环、定义变量,它会让你的代码简洁大方,耦合性更低。我本身刚刚接触到反射,希望通过一个分页功能的实现和大家一起去学习应用反射,在编程的不归路上越走越远。使用框架与结构的定义首先我们在后端的项目中使用的mybatis+springboot的框架全新的界面设...

2019-03-13 17:44:00 1451 1

原创 程序员晋级之路——java对象定义技巧使你的mybatis更具可读性

前言作为一名在三四线城市艰难生存了3年的程序员,我会将日常工作中学到的看到的和大家一起分享,一起成长,希望我们的晋级之路完章的时候我们都可以成长为自己期待的样子!其实所谓的对象定义技巧是我在公司外包出去的一个springmvc项目中发现的。如果说这个外包项目有任何一丢丢可取指出,我觉着就是对象定义的方式了!实体结构我们在mybatis中肯定会定义select语句、insert语句、upda...

2019-03-11 14:11:21 254

api-client-1.0.0.jar

电信nb平台sdk,用于NB物联网平台与电信NB平台进行交互的SDK,使用起来更加简单,可自动管理平台token

2019-11-30

空空如也

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

TA关注的人

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