koa学习,附带源码
Koa介绍koa由express原班人马打造核心非常小,想要实现更多功能要依赖中间件基于HTTP服务封装,req,res=>ctx源码核心文件很小,只有500多行,由四个主要文件构成application.js(应用,这是koa的入口文件)/context.js(上下文)/request.js(请求)/response.js(响应)Koa是一个类,纯ES6书写constKoa=require('k
密码学入门(一)——用Python实现对称加密算法
0.前言最开始只是想整理一下密码学课程的作业,后面越写越多,就索性写成一篇入门的介绍。我会把自己对对称加密的理解和一些作业的代码串起来,力图清晰明白地展示出来,文中所有代码都放在我的Github上,如果有错误之处还请轻拍。文章地址:https://gooong.cn/post/crypto...代码地址:https://github.com/Gooong/Cry...1.对称密码基础加密是为了防止
Docker Dockerfile讲解
Dockerfile是一个文本格式的配置文件,用户可以使用Dockerfile快速创建自定义的镜像。我们会先介绍Dockerfile的基本结构及其支持的众多指令,并具体讲解通过执行指令来编写定制镜像的Dockerfile。基本结构Dockerfile由一行行命令语句组成,并且支持已#开头的注释行。一般而言,Dockerfile的内容分为四个部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执
java:利用xpath删除xml中的空节点
java:利用xpath删除xml中的空节点原始xml内容: 1 2 3 b1 4 5 123 6 7 8 9 10 11 可用下面的代码去掉、这二个空节点(注中间有一个空格,不算空节点) 1 @Test 2 public void testDeleteEmptyNode() throws Docum
Java系列:五层架构实现登录注册(IntelliJ idea版)
-IntellijIdea2017创建web项目及tomcat部署实战https://www.cnblogs.com/shindo/p/7272646.html代码实例实体类层packagecom.test.entity;publicclassEmployee{privateintuserid;privateStringusername;privateStringpassword;publicEm
程序员秒懂的30个段子:看到第几个你笑了?
1、问:程序猿最讨厌康熙的哪个儿子?。A.皇长子允禔C.皇八子允禩B.皇三子允祉D.皇十六子允禄答案C皇八子胤禩。因为他是八阿哥(bug)2、程序猿要了3个孩子,分别取名叫Ctrl、Alt和Delete,如果他们不听话,程序猿就只要同时敲他们一下就会好的…3、同事说,他在写“i++”的时候总觉的自己写的是“我艹”,有木有同感??4、《桃花庵·程序猿》写字楼里写字间,写字间中程序猿。程序人员写程序,
SSM:Ioc和AOP使用拓展
Ioc和AOP使用拓展1.构造注入一个元素表示构造方法的一个参数,且使用时不区分顺序,index指定元素,位置从0开始,Type用来指定参数,避免混淆。2.使用P实现空间属性注入P命名空间的特定是使用属性而不是子元素的形式配置Bean的属性,从而简化了Bean的配置,使用传统的子元素配置P:属性名=”属性值”;3.注入不同的数据类型(1.)注入直接量(基本数据类型,字符串)(2.)引用其他Bean
JavaScript实现H5游戏断线自动重连的技术
断线重连的需求尤其是手机上,会因为网络的不稳定或者其他原因,导致用户的socket链接断开。这个时候如果直接让玩家退出游戏,重新登录,无疑是非常影响用户体验的事情。所以根据这个需求,就有需要程序来实现断线后自动重连回去的技术,是用户能够再次快速开始游戏进行战斗。一、断线重连原理原来其实很简单,就是在断线的时候,根据用户的点击(有些时间短的就不用点击,默认是自动重连回来),程序自动识别,是要刷新重新
css3基础之基本选择器
1,属性选择器css3中继承了css2中的一般选择器,并且属性选择器有了通配符的概念1,E[attr^="val"]{//选择元素E且有attr属性,并且属性是以val开头的所有元素;}2,E[attr$="val"]{//选择元素E有属性attr属性,并且属性是以val结尾的所有元素;}3,E[attr*="val"]{//选择元素E有属性attr属性,并且属性包含val的所有元素;}2,结构性
Java探秘之神秘的字符串String(二)
不可变性String可以说是最常用的类型了,即字符串类型,String是常量(final关键词修饰的),他的值不能被创建后更改,因为字符串是不可被改变的,所以可以被用来共享。Java语言为String提供了同基本数据类型相似的操作符(+,+=),这里请注意,由于String是不可被改变的,所以每次操作都会会重新生成一个String类型。1Stringa="a";2System.out.printl
js学习笔记 2-01 基本功
编译和解析vara=0;console.log(a)varb="abc";js是一种客户端的弱类型脚本语言,不需要编译,直接运行时边解析边执行的语言;编译执行:一次性把代码转换成cpu可以看懂的语言,然后整体的一行一行执行;解析执行:一行一行解析,解析一行执行一行
包含块判定及其范围(Containing block)
包含块简介在CSS2.1中,很多框的定位和尺寸的计算,都取决于一个矩形的边界,这个矩形,被称作是包含块(containingblock)。一般来说,(元素)生成的框会扮演它子孙元素包含块的角色;我们称之为:一个(元素的)框为它的子孙节点建造了包含块。包含块是一个相对的概念。hi以上代码为例,DIV和TABLE都是包含块。DIV是TABLE的包含块,同时TABLE又是TD的包含块,不是绝对的。“一个
Java入门第二季——答答租车系统
我写的这个系统注释很详细,应该很适合小白参考,经运行没有任何问题,并且运用了面向对象的三大特性封装、继承和多态(在代码里也都有注释),欢迎参考,也希望大家能提出宝贵的意见,一起学习,共同进步!创建父类Car,子类PassengerCar,Pickup,Truck,详见代码。父类Car:packagecom.imooc;publicclassCar{//描述汽车可能有特征publicStringna
JS中filter函数的使用方法和实例
filter方法用来迭代一个数组,并且按给出的条件过滤出符合的元素。filter方法传入一个回调函数,这个回调函数会携带一个参数,参数为当前迭代的项(我们叫它val)。回调函数返回true的项会保留在数组中,返回false的项会被过滤出数组。使用filter来创建一个新数组,新数组的值是oldArray中值小于6的元素。不许改变原数组oldArray.代码:varoldArray=[1,2,3,4
Nginx:不管正向还是反向我通通代理
关于Nginx,除了用它做正常的Web服务器,还经常用它做网络代理服务器使用;来解决网络访问受限的问题。日常大家讨论最多的就是“正向代理”和"反向代理"。很多人,经常会弄不明白什么是"正向代理",什么又是"反向代理",他们之间到底有什么区别?其实Nginx只有一种代理转发功能。之所以大家经常会说正向代理或者是反向代理是因为站的角度不一样。我们可以想象一下80-90年代,机关大院里面负责收发信件的老
Spring全家桶系列--SpringBoot入门Redis
首先,Redis是什么?Redis是一个开源的,基于内存的键值数据存储,用作数据库,缓存和消息代理。在实现方面,Key-Value存储代表NoSQL空间中最大和最老的成员之一。Redis支持数据结构,如字符串,散列,列表,集和带范围查询的有序集。在springdataredis的框架,可以很容易地编写,通过提供一个抽象的数据存储使用Redis的键值存储的Spring应用程序。非关系型数据库,基于内
后端管理系统开发(二):路由篇
很久很久……以前,我们开始了vue-admin-pro之旅。通过后端管理系统开发(一):登录篇,实现登录功能,我们打开了后台管理系统的大门。本节是路由篇的讲解,不管管理系统如何简单,都少不了路由,所以,学习这一节,很有必要。不过呢,对于我们来说,路由就是菜单。下面开始我们本节——路由篇的学习之旅。1基础读这篇文章的,我相信大多数都是后端开发人员,可能有些学过Vue,也可能没有,所以在之前,我们先一
学完这些终于可以用Kotlin写项目了-Kotlin基础入门
1、为什么使用Kotlin开发Android呢?java被Oracle收购后,谷歌经常被Oracle告侵权,所以谷歌选择了Kotlin作为Android开发的第一语言,在Android官网上说Kotlin是免费且开放的,是由一家特别厉害的公司JetBrains开发的静态编程语言,AndroidStudio也是根据他家的IDEA改的,谷歌也贡献了开源代码Kotlin的优点:富有表现力且极简洁Kotl
学习PDO中的错误与错误处理模式
在PDO的学习过程中,我们经常会在使用事务的时候加上try…catch来进行事务的回滚操作,但是大家有没有注意到默认情况下PDO是如何处理错误语句导致的数据库操作失败问题呢?今天,我们就来学习一下。PDO中的错误与错误处理模式简介PDO提供了三种不同的错误处理方式:PDO::ERRMODE_SILENT,这是PDO默认的处理方式,只是简单地设置错误码,可以使用PDO::errorCode()和PD
C语言程序设计-多项式的合并运算
课程设计题目及要求:多项式的合并运算【问题描述】设计一个实现任意长的多项式进行加减法运算的演示程序。【基本要求】使用链表结构实现。【测试数据】7X500+9X100+2X3+2X2+100与3x3000+35X2000+18X100-2x3+1000输出合并的结果:3x3000+35X2000+7X^500+27X^100+1100。第一部分:引言设计这个程序是为了方便多项式的计算。运用了C语言与