使用flow来规范javascript的变量类型

2019-09-12
众所周知, js是弱类型的语言,由此有了很多的优点,也出现了大量由此导致的错误,难以定位.当然有类似于ts之类的语法糖来解决此问题,ts因为是从c#演变而来的,所以入门有一定的门槛,所以我们来一下flow这个更轻巧的工具. 先来看一下flow在vs code中的表现效果: 跟ts的提示类似,它会实时检测所有的包含flow注释的文件,在vscode中需要安装Flow Language Support插件. 如何安装 安装过程可以使用yarn和npm安装,推荐使用yarn,因为安装起来会更快. ya

浅谈bootstrap layer.open中end的使用方法

2019-09-12
遇到一个问题:点击layer弹出层中的按钮之后,完成一系列操作,弹出层自我关闭并在父界面弹出一句提示. 简单查找了一下,发现了layer.open中的end. end - 层销毁后触发的回调 类型:Function,默认:null 无论是确认还是取消,只要层被销毁了,end都会执行,不携带任何参数. 这样,写出了自己的需求 layer.open({ type:2, //弹出层现实的样式 //shade:false, //不显示背景阴影,去掉这个属性则显示 //skin:"layui-layer-

TypeScript中使用getElementXXX()的示例代码

2019-09-12
简述 Angular 1.x版本是用JavaScript编写的,我们在百度Angular经常会搜索到AngularJS,并不是JavaScript的什么衍生版本,就是Angular 1.x.在后续版本中,改用TypeScript来重写了Angular框架.改动较大,所以做了个区分,Angular v1.x就叫AngularJS,v2及后续版本统称为Angular. 查资料和解决方案的时候,经常会搜索到大量的AngularJS内容,注意区分. 在这里提一下Angular的历史,是因为本文是在使用这

详解Python 中sys.stdin.readline()的用法

2019-09-12
之前在Python中输入都是用的input(),但是看到大家都用sys.stdin.readline(),没办法那我也得用. python3中使用sys.stdin.readline()可以实现标准输入,需要调用sys库,sys.stdin是一个标准化输入的方法,其中默认输入的格式是字符串,如果是int,float类型则需要强制转换.如: 例1: import sys print('Plase input your name: ') name = sys.stdin.readline() pri

详解springboot和vue前后端分离开发跨域登陆问题

2019-09-12
前后端分离开发中,一般都会遇到请求跨域问题.而且一般也会遇到登陆失效问题.今天就以springboot和vue为例来看如何解决上述问题 增加过滤器 @WebFilter @Component public class CorsFilter implements Filter { @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException,

解决layui的form里的元素进行动态生成,验证失效的问题

2019-09-12
这问题和使用layTpl动态生成页面问题类似,详细进入https://www.jb51.net/article/170000.htm form有点不同就是需要把需要执行form.render()而不是element.render():进行渲染 var data = jsonData; var getTpl = dialogTemplate.innerHTML, view = document.getElementById('dialogContent'); laytpl(getTpl).rend

Java编程思想中关于并发的总结

2019-09-12
知识点摘抄 1.用并发解决的问题大体上可以分为"速度"和"设计可管理性"两种. 2.并发通常是提高运行在单处理器上的程序的性能. 这听起来有些违背直觉.如果你仔细考虑一下就会发现,在单处理器上运行的并发程序开销确实应该比该程序的所有部分都顺序执行的开销大,因为其中增加了所谓上下文切换的代价(从一个任务切换到另一个任务). 使这个问题变得有些不同的是阻塞.如果程序中的某个任务因为该线程控制之外的某些条件(通常是I/O)而导致不能继续执行,那么我们就说这个任务或线程阻塞

Layui表格行工具事件与数据回填方法

2019-09-12
使用Layui数据表格实现行工具事件与Layui表单弹框与数据回填具体步骤如下: 步骤一:布置行工具栏样式与数据表格初始化,代码如下: <script type="text/html" id="barDemo2"> <a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="compile">编辑</a> <a class

sql脚本函数编写postgresql数据库实现解析

2019-09-12
这篇文章主要介绍了sql脚本函数编写postgresql数据库实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 postgresql创建Long自增函数 CREATE SEQUENCE global_id_sequence; CREATE OR REPLACE FUNCTION seq_id(OUT result bigint) AS $$ DECLARE our_epoch bigint := 1314220021721; seq_id

Java面试基础之TCP连接以及其优化

2019-09-12
前言 作为一个后端程序员,网络连接这块是一个绕不过的砍,当你在做服务器优化的时候,网络优化也是其中一环,那么作为网络连接中最基础的部分-TCP连接你了解吗?今天我们来仔细看看这个部分. TCP建立连接-三次握手 详解 客户端和服务器还未建立连接,但服务器一般处于listen状态 客户端主动建立连接,向服务器发送SYN报文,客户端变为SYN_SENT状态 服务器收到客户端发送的报文,也回了一个SYN报文,包含了一个ack.此时,服务器变为SYN_RCVD状态 客户端收到了服务器发送的SYN报文,确

layui-table表复选框勾选的所有行数据获取的例子

2019-09-12
项目需求,可以用复选框勾选项目进行提交,如下表 <table class="layui-table" lay-data="{url:'******', id:'test3'}" lay-filter="test3"> <thead> <tr> <th lay-data="{type:'checkbox'}">ID</th> <th lay-data="

python列表插入append(), extend(), insert()用法详解

2019-09-12
append(),extend(), insert()都是列表操作中常用的插入函数.其中前两个均接收一个参数,并插入到列表尾部.最后一个接收两个参数,将参数2插入到参数1之前. 本文主要讨论append()和extend()的区别. 这两者都是插入函数,但是不同的是,append()的参数被视为对象,而extend()中的参数则被视为列表 也就是说,append()函数会将所有的参数视为一个列表元素插入到列表尾部,看例子 一.append() 先创建一个空列表吧 >>> empty =

mysql索引使用率监控技巧(值得收藏!)

2019-09-11
概述 在关系数据库中,索引是一种单独的.物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单. mysql中支持hash和btree索引.innodb和myisam只支持btree索引,而memory和heap存储引擎可以支持hash和btree索引 1.查看当前索引使用情况 我们可以通过下面语句查询当前索引使用情况: Handler_read_first 代表读取索引头的次数,如果这个值很高,说明全索引扫描

.net core部署到windows服务上的完整步骤

2019-09-11
前言 Net core 项目部门在Windows有很多种方式,大致有以下几种, dotnet 命令, iis(windowshosts), 一些开源的应用容器(docker ) 基于一些exe 程序,微软官网上案例 Nssm 搭建windows服务 其中优劣对比在这不进行累述.我今天是把它搭建到windows服务上的,这种方式对于我们现有dotnet来说相对美观(一个黑框框,一个看不到),电脑重启可以自动重启. 1.实现 1.1.下载nssm 官网http://www.nssm.cc/,下载地址

Java注解的Retention和RetentionPolicy实例分析

2019-09-11
本文实例讲述了Java注解的Retention和RetentionPolicy.分享给大家供大家参考,具体如下: 一 源码赏析 1 源码 @Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.ANNOTATION_TYPE) public @interface Retention { RetentionPolicy value(); } public enum RetentionPolicy { //此注解类型的信

使用layer.msg 时间设置不起作用的解决方法

2019-09-11
前几天使用layer.msg设置时间后发现不起作用,这里记录一下. 开始出错误的代码: 后面查看文档后得知调用layer.msg后如果有后续操作需要写在function()中: //eg1 layer.msg('只想弱弱提示'); //eg2 layer.msg('有表情地提示', {icon: 6}); //eg3 layer.msg('关闭后想做些什么', function(){ //do something }); //eg layer.msg('同上', { icon: 1, time:

layui点击数据表格添加或删除一行的例子

2019-09-11
数据表格 t2 = { elem: '#test2', data: tableData2, page: false, width: $(parent.window).width()-50, cols: [[ {type:'checkbox',field:'id'}, {field:'cstMoldNo', title: '客户模号',edit:'text'}, {field:'cstProdName', title: '产品名称',edit:'text'}, {field:'material',

PHP通过文件保存和更新信息的方法分析

2019-09-11
本文实例讲述了PHP通过文件保存和更新信息的方法.分享给大家供大家参考,具体如下: 引言 以前在编写一个比赛的机试系统的时候,需要记录和更新考试的截止时间,以前的做法是在数据库中单独建立一个数据表用于保存和更新截止时间.回过头再去看,觉得没有必要单独建立一张表,只需要把时间保存到一个文件中,然后通过修改文件的内容修改考试时间即可. 以前的方案 maybe, a little bit stupid-. 现在的方案 基本思路: $time = addslashes($_POST['time']);

java中最易犯错的特殊字符示例详解

2019-09-11
问题背景 能准确说出下面的java 执行完毕后会打印出什么? System.out.println( String.class.getName()+ ".class"); System.out.println( String.class.getName(). replaceAll(".","/") + ".class"); 相信对于第一行,大部分人不会犯错,打印 java.lang.String.class 我们想使用/去分割

Python socket非阻塞模块应用示例

2019-09-11
本文实例讲述了Python socket非阻塞模块应用.分享给大家供大家参考,具体如下: 一 服务端程序 # 导入模块 import socketserver import random # 定义一个类 class MyServer(socketserver.BaseRequestHandler): # 如果handle方法出现报错,则会进行跳过 # setup方法和finish方法无论如何都会进行执行 # 首先执行setup def setup(self): pass # 然后执行handle