wrapper

vue+element 表格formatter数据格式化并且插入html标签

a 夏天 提交于 2020-05-06 03:16:41
前言     vue中 element框架,其中表格组件,我既要行内数据格式化,又要插入html标签    一贯思维,二者不可兼得也 一、element 表格 数据格式化       demo <el-table-column :prop="item.key" v- for ="item in levelName" :label="item.name" :formatter='handleSign'> </el-table-column>    再写 handleSign () 方法 // 处理签到 handleSign(row,cellValue){ let signInId = '' if ( this .deviceSignList){ this .deviceSignList.map((item,index)=> { if (item.signInId == row.signInId){ signInId = "签到" } else { signInId = "未签到" } }) } return signInId },       目的:根据不能的值,相对应处理。一般状态会用的比较多,后台返回来的1,2,3,4 用户是不明白的    运行结果    二、element 表格内容自定义模板       demo <el-table- column label ="姓名"

Flex布局基础知识

最后都变了- 提交于 2020-05-05 21:30:15
Flex布局 今天在学习css的时候,学到了一个新的布局方式:Flex布局(弹性盒布局)。本人认为挺重要的,首写博客来巩固一下自己今天所学的有关Flex布局的知识,并与大家分享,内容如有错误,欢迎大家来给我指点一下。 文章目录 Flex布局 Flex简介 弹性容器 弹性元素 主轴与纵轴 弹性容器样式 弹性元素样式 > 本章节使用的基础代码(开启flex之前) <style> .wrapper { width : 800px ; border : red solid 5px ; } .box1,.box2,.box3 { width : 100px ; height : 100px ; } .box1 { background-color : royalblue ; } .box2 { background-color : yellow ; } .box3 { background-color : salmon ; } </style> <body> <div class= "wrapper" > <div class= "box1" >1</div> <div class= "box2" >2</div> <div class= "box3" >3</div> </div> </body> Flex简介 Flex布局又称弹性盒布局,是css布局中的一个手段

Java中Array与ArrayList的10个区别

会有一股神秘感。 提交于 2020-05-05 21:14:03
Array和ArrayList都是Java中两个重要的数据结构,在Java程序中经常使用。并且ArrayList在内部由Array支持,了解Java中的Array和ArrayList之间的差异对于成为一名优秀的Java开发人员也至关重要。 另一方面 ,ArrayList是Java Collection框架中的一个类,它是作为动态数组引入的。由于数组本质上是静态的,即一旦创建后就无法更改数组的大小,因此,如果需要一个可以调整自身大小的数组,则应使用ArrayList。这是Array和ArrayList之间的根本区别。 它也是Java面试中经常问到的问题之一,如果您正在为下一份工作做准备,那么了解这些详细信息可能真的很有用。 Java中的Array与ArrayList 最好在某些点上对比两者,这更易于理解。因此,让我们看一下可以Array与ArrayList有哪些区别吧。 1、Implementation 数组是基础编程组件或数据结构,但ArrayList是Java Collections框架(一个API)中的类。实际上,ArrayList是使用Java中的数组在内部实现的。因为ArrayList是一个类,所以它拥有类的所有属性,例如,您可以创建对象和调用方法,但是Array是Java中的对象,它不提供任何方法。它只提供一个公开的length属性来为您提供数组的长度,并且它长度是固定的

Nginx + fastcgi + php 的原理与关系

风流意气都作罢 提交于 2020-05-05 14:46:35
CGI:Common Gateway Interface 公共网关接口,web服务器和脚本语言通信的一个标准、接口、协议【协议】 FastCGI:CGI协议的升级版【协议】 PHP-CGI: 实现了CGI接口协议的PHP脚本解析器【程序】 PHP-FPM: 管理和调度php-cgi进程,进而实现了FastCGI接口协议的程序【程序】 问题:CGI对每个请求会parse一遍对应脚本的配置文件(如php.ini), 加载配置和扩展,初始化执行环境,性能非常差,所有有了下面的流程: 那么实现Fastcgi协议的程序,如PHP-FPM是怎么做的呢?首先,Fastcgi会先启一个master进程,解析配置文件,初始化执行环境,然后再启动多个worker进程,这个worker就是php-cgi。当请求过来时,master会传递给一个worker,然后立即可以接受下一个请求。这样就避免了重复的劳动,效率自然是高。而且当worker不够用时,master可以根据配置预先启动几个worker等着,比如20worker,当然空闲worker太多时,也会停掉一些,这样就提高了性能,也节约了资源。这就是fastcgi的对进程的管理。 结合 用户对动态PHP网页访问过程来理解 第一步:用户将http请求发送给nginx服务器 第二步:nginx会根据用户访问的URI和后缀对请求进行判断 1

python装饰器原理和用法总结

孤者浪人 提交于 2020-05-05 12:46:32
原理 装饰器本质也是一个函数, 只不过这个函数需要遵循以下规则: 入参只能有一个,类型为函数。 被装饰的函数将入会被传入这个参数 返回值是必须是一个函数, 届时被调用的时候实际上调用的是返回出来的这个函数,所以返回的函数入参通常是 (*args, **kwargs): 以满足所有函数需要 之后通过@语法糖即可装饰到任意函数上 简单装饰器例子 # 不带参数的装饰器 def pre_do_sth(func): def wrapper(*args, **kwargs): print("Do sth before call one") func(*args, **kwargs) return wrapper @pre_do_sth def echo(msg): print(msg) echo("Hello World") 运行结果 Do sth before call one Hello World 实际上调用的是 wrapper("Hello World") --> echo("Hello World") 带参数的装饰器例子(参数控制的是装饰器的行为) 只需要写一个返回 装饰器(入参只有一个, 返回值是一个函数)函数的函数 同样也能利用@语法糖 # 带参数的装饰器 def pre_do_sth_2(msg): def decorator(func): def wrapper(*args,

Mybatis Plus 使用详解

落花浮王杯 提交于 2020-05-05 01:06:58
Mybatis Plus 是Mybatis的增强插件,对数据库操作Mybatis Plus提供了抽象层次比Mybatis更高的操作方法。 Wrapper是Mybatis Plus里拼接sql的包装类。具体的各种查询功能可以查看 Mybatis Plus 条件构造器官方文档 一、自定义查询字段 EntityWrapper 的setSqlSelect可以定义需要查询的库表字段。但是很多时候我们查询的数据可能来自不同的表,我们这时候可能需要用到子查询,那么这时候该怎么使用EntityWrapper 呢? 答案是直接写在setSqlSelect里面。例 Wrapper<Res> ew = new EntityWrapper<>(); ew.eq("deleted", 0); ew.setSqlSelect("*", "(select name from res_type where id=res_type_id) as res_type_name", "(select name from probe where id=probe_id) as probe_name"); 二、条件查询 一个很常见的场景是查询某字段的时候如果值不为空则查询,否则不查询。Mybatis Plus的拼接sql方法有一个条件拼接。 ew.eq(boolean condition,String column

闭包与装饰器

丶灬走出姿态 提交于 2020-05-04 13:17:57
闭包 主要为装饰器服务,解决函数内变量的作用域问题。 闭包有两个函数构成,分为外部函数和内部函数,内部函数玩长城代码逻辑,外部函数范围内部函数的引用以及所携带的信息(内存占用,变量等),所携带的信息在外部函数执行结束之后消失,而会继续待在所返回的函数引用里面。如果想要删掉该函数所携带的信息,可以使用 del 删掉该引用所留存的信息。 def outer_func(): a = [1, 2, 3, 4] def inner_func(): a[0] += 1 print(a) return inner_func var = outer_func() type(var) >>> function outer_func.<locals>.inner_func at 0x0000029C3E0C4438> # var() == inner_func() var() >>> [2, 2, 3, 4] var() >>> [3, 2 ,3 ,4] del var # delete所携带的信息 var = outer_func() var() >>> [2, 2, 3, 4] 通过这一特性,我们可以实现函数的装饰。 装饰器 函数装饰器 装饰器,顾名思义,就是用来给函数增加某些功能的,一方面可能是需要装饰的函数太多,所以需要装饰函数的功能,另一方面是函数不允许修改源代码,只能封装后添加功能。

JS中给函数参数添加默认值

一笑奈何 提交于 2020-05-04 10:02:15
最近在Codewars上面看到一道很好的题目,要求用JS写一个函数defaultArguments,用来给指定的函数的某些参数添加默认值。举例来说就是: // foo函数有一个参数,名为x var foo_ = defaultArguments(foo, {x:3 }); // foo_是一个函数,调用它会返回foo函数的结果,同时x具有默认值3 下面是一个具体的例子: function add(a, b) { return a+ b;} // 给add函数的参数b添加默认值3 var add_ = defaultArguments(add, {b : 3 }); // 这句代码相当于调用add(2, 3),因此返回5 add_(2); // 5 // 而这句代码由于完整地给出了a、b的值,所以不会用到b的默认值,因此返回12 add_(2, 10); // 12 之所以说这是一个好题目,是因为它和那些单纯考算法的题不同,完成它需要你对JS的很多知识点有相当深入的了解。包括获取函数的形参列表、运行时实参、正则表达式、高阶函数、管道调用等,以及其他一些细小的知识点。 我在刚拿到这个题目时的感觉是无从下手,因为之前没有碰到过类似的题目,完全没有过往的经验可以借鉴。但是经过简单的思考,虽然还有很多问题需要解决,但已经有了一个初步的思路,这个函数的框架大体上应该是这样的: function

go通过swig封装、调用c++共享库的技术总结

社会主义新天地 提交于 2020-05-04 03:47:04
go通过swig封装、调用c++共享库的技术总结 @(知识记录) 1 简介 最近在研究golang,希望能对目前既有的python服务做一些优化,这些服务目前已经占用了6-7台机器。选择golang的原因,是看上其在并发方面更简单的支持,比c++更高的开发效率,以及比python更高的运行效率。 由于现实的原因,我们不太可能将所有模块都用golang重写一遍,有一些公司通用的模块是用C++编译成为.so的方式提供的。因此,如果想要用golang重构服务,调用C++共享库是不可能绕过的问题,也是首要解决的问题。 本文是对golang调用、封装c++共享库的技术总结,共分为四部分。第一部分介绍golang调用c语言接口的基本方法并介绍cgo;第二部分介绍swig的用法;第三部分是一个示例工程,完整模拟现实环境的调用和封装;第四部分对实际问题中的一个.so模块进行封装。 2 go调用c及cgo简介 最初遇到本文问题(go封装c++共享库)时,我在网上搜索到最多的文章,就是go如何调用c代码中的函数。当时的感觉是有点失望,因为都没能一步一步手把手完整解决我的问题。但是现在看来,本节的主题(go调用c代码)是后面所有工具的基础。 2.1 示例代码 首先,放上一段golang示例代码,这段代码来自 cgo官方文档 。 package main // #include <stdio.h> //

Mybatis-Plus学习.,简化你的开发,提升开发效率.

元气小坏坏 提交于 2020-05-03 23:23:42
<!-- TOC --> Mybatis-Plus学习以及实践 简介 参考网址 开发环境 开始开发 - 配置pom.xml - Dao/Service/Entity - 基本方法 - 查询类 - 更新类 分页插件 - pom.xml - 代码示例 生成代码 - pom.xml - 代码 乐观锁插件 - 配置 - 说明 Demo <!-- /TOC --> Mybatis-Plus学习以及实践 简介 即对Mybatis进行了增强,结合了Hiberante的类型,封装了一些单表的操作,可以对进行单表的操作不需要写一些sql,直接上手开发,加快了开发效率,不过同时也会造成访问数据库的代码混杂的情况,有利有弊. 参考网址 官网文档 ,官方文档. 开发环境 Eclipse java8 SpringBoot + maven 开始开发 这里只是配置运行一下简单的Mybatis-plus项目,试验的对象只有一张表,完成对齐的CURD. 初始化一个SpringBoot或者复制SpringBoot项目,初始化的时候可以去springBoot提供的网址进行初始化 Spring Initializr 配置pom.xml <!-- mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus