netty极简教程(二): nio Buffer的原理及使用
我们知道,netty直接与jdk的原生nio开发的,可以说是jdknio的增强,所以理解jdknio的机制就变得非常重要,接下来将介绍jdk中关于nio的几个非常重要的组件,示例源码:https://github.com/jsbintask22/netty-learningByteBuffer介绍对比jdkbio的写法,在从Socket读取数据的时候,不管是客户端还是服务端,我们通常需要将字节读取
3小时深入理解IOC和依赖入住
基础知识不牢固,遇到问题没人指点,学习动力不足?发现自己的技术知识没有深度,体系化结构思维没有广度?每天做着重复的工作,理解不了项目需求?你是否遇到上面这些问题不用担心!Java全栈试听课,全部节选自全网好评最高的体系课!帮你解决问题!每天一小时,一周时间带你体验体系课部分精华!更有社群陪伴式辅助学习,提升你的硬实力,学习后续体系课更有完整的实战项目教学和配套服务哦!「行动力,往往是一个人最核心的
springboot2.x使用Jsoup防 XSS 攻击
后端应用经常接收各种信息参数,例如评论,回复等文本内容。除了一些场景下面,可以特定接受的富文本标签和属性之外(如:b,ul,li,h1,h2,h3…),需要过滤掉危险的字符和标签,防止xss攻击。一、什么是XSS?看完这个,应该有一个大致的概念。XSS攻击常识及常见的XSS攻击脚本汇总XSS过滤速查表二、准则永远不要相信用户的输入和请求的参数(包括文字、上传等一切内容)参考第1条三、实现做法结合具
机器学习虾扯淡之线性回归No.39
今天晚上,整理了一下线性回归的完整的数学推导过程以及应用。0x00甩定义首先什么是线性回归?就是面包屑嘛,我们跟着一个一个面包屑走,然后duang~~在脑里脑补出一条路,然后预测下一个面包屑的位置。"鲁迅曾经说过:世界上本没有路,走的人多了也就成了路,因为草长不起来。"鲁迅:我没说过这句话。线性回归就是要找出这条笔直的路,来拟合数据,然后预测未来。“JoeJoe老师你这图好丑啊”“你信不信我疼你一
这些喜闻乐见的Java面试知识点,你都掌握了吗?
最近分享了一些有关学习方法和经验的文章,得到了很多读者的反馈,恰巧大家在昨天推文中的投票里一直选择了“Java基础的复习方法”这一项,那么今天我们就谈谈这方面的内容吧。其实对于Java基础的学习,我觉得最好的方法就是理论结合实践,先通过书籍,博客等内容理解基本原理,再通过写一些demo进行实践,做到知其然又知其所以然。前言以下内容出自我的CSDN技术博客专栏,由于内容较多,我在这里只贴一个大概的目
前后端分离 | 关于登录状态那些事
背景登录是一个网站最基础的功能。有人说它很简单,其实不然,登录逻辑很简单,但涉及知识点比较多,如:密码加密、cookie、session、token、JWT等。我们看一下传统的做法,前后端统一在一个服务中:如图所示,逻辑处理和页面放在一个服务中,用户输入用户名、密码后,后台服务在session中设置登录状态,和用户的一些基本信息,然后将响应(Response)返回到浏览器(Browser),并设置
涂鸦一键变逼真照片,我被自己的绘画技巧惊呆了 | 英伟达&朱俊
安妮发自凹非寺量子位出品 平静的水面上,剧变突然出现。一条黑色弧线从半空延伸而下,划过半个圈。继而自己填满,俨然一座岩山,就这样落在水中间。水面漾起波纹。揉揉眼睛,绝不是看花了眼:你看那岩山纹路崎岖,倒影也是清晰可见。第二座、第三座,也接踵而至。透过现象看本质,控制这一切的,都是电脑前那个手握鼠标乱涂鸦的程序员。英伟达程序员の现实扭曲力场,发动!他手握的工具,名叫GauGAN,和印象派大师高更(G
简洁封装okHttp3
封装前okhttp的流程.下面是一个post代码和流程图:private void useOkHttpSendRequest() { OkHttpClient client = new OkHttpClient(); RequestBody body = new FormBody.Builder() .add("bookDescription",mDescript
go语言简单入门--函数和方法
Len和cap方法的区别:果新长度小于容量,将不会更换底层数组,否则更换。容量的用途是在数据拷贝和内存申请的消耗与内存占用之前的权衡。panic函数可以引发运行时恐慌recover函数可以捕获运行时恐慌 注意:偶尔会看到函数没有函数体,例如append,是因为使用了其他语言实现 Go闭包表示方法:funccloser()func()returntype {}后面那个func()returntype
javascript-原型、原型链深入理解
通过阅读本文你会了解到什么是:原型和原型链、普通对象和函数对象、__proto__和prototype、构造函数(constructor)。1、普通对象和函数对象在javascript中万物皆对象,对象分为普通对象和函数对象,可以通过typeof来判断对象是哪一种类型的对象。1.1普通对象typeofobj==='object';//truelet obj1 = {};let obj2 = new
多态的好处 学习笔记
A:多态的好处a:提高了代码的维护性(继承保证)b:提高了代码的扩展性(由多态保证)B:案例演示多态的好处可以当作形式参数,可以接收任意子类对象C:多态的弊端不能使用子类的特有属性和行为。class Demo4_Animal { public static void main(String[] args) { //Cat c1 = new Cat(); //c1.
自制操作系统Antz day11——实现shell(下)命令响应
我已经规范了系统代码风格,类似于按照linux分包,把各部分功能区分开了Antz系统更新地址Linux内核源码分析地址Github项目地址在之前的任务中,我们已经通过直接操作显卡驱动完成了简单的图形化。需要了解之前的部分:直接操作显卡请参考day03简单图形化的实现请参考day09键盘按键中断响应请参考day10Makefile项目目录一.如何实现命令缓存在之前已经完成了键盘的响应工作,但这种响应
let和const
发布自Kindem的博客,欢迎大家转载,但是要注意注明出处。letlet是在ES6加入的新的变量声明方法,let声明变量的方法和var类似:let a = 'hello';var b = 'hello';let的功能是声明一个作用域被限制在块级的变量,而var声明的变量的作用域只能是全局的或者整个函数块的function varTest() { var x = 1; if (true)
数据类型、运算符、流程控制语句
1.JavaScript定义了几种数据类型?哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么?七种数据类型:数值字符串布尔值undefinednull对象ES6新特性:增加新类型:Symbol原始类型:数值、字符串、布尔值复杂类型:对象:狭义的对象、函数、数组、正则表达式特殊类型:undefined、null原始类型和复杂类型的区别:原始类型是最基本的类型,不能再细分复杂类型可以看作
js获取浏览器宽高
(注:获取自适应div等标签的宽高时,可以用 document.getElementId("#id").offsetWidth/offsetHeight;)document.body.clientWidth --> BODY对象宽度(不包括:margin,border)document.body.clientHeight --> BODY对象高度(不包括:margin,border)documen
token验证机制
最近在vue-cli项目实现登录的过程中用到了token验证,在此总结如下1.客户端以用户名与密码为参数请求登录API2.服务端收到登录请求去验证用户名与密码3.验证通过,服务端会生成Token,再把这个Token响应给客户端.4.客户端收到Token,存储到本地,如Cookie,SessionStorage,LocalStorage.我们选择了cookie5.客户端每次向服务器请求API接口时,
程序出现bug是必然出现的情况还是程序猿水平有限导致的?
在不长的计算历史上,还没有人写过没有bug的完美软件,不大可能你会成为第一个做到这一点的人。既然“写长篇出bug正常,发条短信就那么十几个字,错一个都不应该”;那么我们把长篇拆开成若干章,一章只写3000字呢?再把一章拆开成若干段,一段只写数百个字呢?低级bug:100%是程序猿的锅,不仔细看需求文档和设计文档导致实现结果偏离需求,写的时候不认真各种说出来丢人的拼写错误,写新代码不知道考虑对已有代
ajax: jquery get request
//异步请求@人功能functionat(){$.get('some.url.com/controller/action',function(resp){ if(resp!=null){//alert(resp); tt_tips=newTextAreaAutoTips('post_text',{debug:false,data:resp}); } });}window.onload= at
检查用户是否有操作权限
在aspx页面中检查用户拥有访问此页权限之后,即可检查到用户是否拥有相关的操作权限,如“添加”,“编辑”,“更新”,“删除”等操作权限。存储过程: 代码SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDURE [dbo].[usp_CheckOperationAction]( @UsersId int, @PagesId
(译)学习如何构建自动化、跨浏览器的JavaScript单元测试
作者:PhilipWalton译者:Yeaseon原文链接:点此查看译文仅供个人学习,不用于任何形式商业目的,转载请注明原作者、文章来源、翻译作者及链接,版权归原文作者所有。题图我们都知道在多个浏览器中测试我们的代码是多么的重要。至少在我们发布第一个项目的时候,我认为我们在网络开发社区做大部分工作还是相当不错的。我们做的不够好的工作是测试代码时每一次做出的改变。我个人对此感到很惭愧。我已经把“学习