netty系列之:netty中的懒人编码解码器

2021-08-20
阅读 6 分钟
1.6k
netty之所以强大,是因为它内置了很多非常有用的编码解码器,通过使用这些编码解码器可以很方便的搭建出非常强大的应用程序,今天给大家讲讲netty中最基本的内置编码解码器。

netty系列之:内置的Frame detection

2021-08-19
阅读 4 分钟
1.5k
上篇文章我们讲到了netty中怎么自定义编码和解码器,但是自定义实现起来还是挺复杂的,一般没有特殊必要的情况下,大家都希望越简单越好,其难点就是找到ByteBuf中的分割点,将ByteBuf分割成为一个个的可以处理的单元。今天本文讲讲netty中自带的分割处理机制。

netty系列之:自定义编码和解码器要注意的问题

2021-08-18
阅读 5 分钟
2.5k
在之前的系列文章中,我们提到了netty中的channel只接受ByteBuf类型的对象,如果不是ByteBuf对象的话,需要用编码和解码器对其进行转换,今天来聊一下netty自定义的编码和解码器实现中需要注意的问题。

使用账号密码来操作github? NO!

2021-08-17
阅读 3 分钟
3.5k
最近在更新github文件的时候,突然说不让更新了,让我很是困惑,原因是在2021年8月13号之后,github已经不让直接使用账号名密码来登录了,必须使用personal access token。今天给大家讲解一下怎么对这个token进行缓存。

netty系列之:自定义编码解码器

2021-08-16
阅读 4 分钟
1.5k
在之前的netty系列文章中,我们讲到了如何将对象或者String转换成为ByteBuf,通过使用netty自带的encoder和decoder可以实现非常方便的对象和ByteBuf之间的转换,然后就可以向channel中随意写入对象和字符串了。

netty系列之:对聊天进行加密

2021-08-15
阅读 4 分钟
1.1k
在之前的文章中,我们讲到了怎么使用netty建立聊天室,但是这样的简单的聊天室太容易被窃听了,如果想要在里面说点悄悄话是很不安全的,怎么办呢?学过密码学的朋友可能就想到了一个解决办法,聊天的时候对消息加密,处理的时候再对消息解密即可。

netty系列之:使用UDP协议

2021-08-14
阅读 3 分钟
3.6k
在之前的系列文章中,我们到了使用netty做聊天服务器,聊天服务器使用的SocketChannel,也就是说底层的协议使用的是Scoket。今天我们将会给大家介绍如何在netty中使用UDP协议。

netty系列之:文本聊天室

2021-08-13
阅读 4 分钟
1.7k
经过之前的系列文章,我们已经知道了netty的运行原理,还介绍了基本的netty服务搭建流程和消息处理器的写法。今天本文会给大家介绍一个更加复杂的例子,文本聊天室。

netty系列之:自动重连

2021-08-12
阅读 3 分钟
6.1k
我们在使用客户端和服务器端连接的过程中,可能会因为各种问题导致客户端和服务器的连接发生中断,遇到这种情况,一般情况下我们需要使用监控程序去监听客户端和服务器端的连接,如果第一时间发现连接断开了,就需要手动去重连。比较麻烦,今天给大家介绍一种netty中自动重连的方式。

netty系列之:使用POJO替代buf

2021-08-11
阅读 5 分钟
2.6k
在之前的文章中我们提到了,对于NioSocketChannel来说,它不接收最基本的string消息,只接收ByteBuf和FileRegion。但是ByteBuf是以二进制的形式进行处理的,对于程序员来说太不直观了,处理起来也比较麻烦,有没有可能直接处理java简单对象呢?本文将会探讨一下这个问题。

netty系列之:基于流的数据传输

2021-08-10
阅读 4 分钟
4.2k
我们知道由两种数据的传输方式,分别是字符流和字节流,字符流的意思是传输的对象就是字符串,格式已经被设置好了,发送方和接收方按照特定的格式去读取就行了,而字节流是指将数据作为最原始的二进制字节来进行传输。

netty系列之:中国加油

2021-08-09
阅读 6 分钟
2.3k
之前的系列文章中我们学到了netty的基本结构和工作原理,各位小伙伴一定按捺不住心中的喜悦,想要开始手写代码来体验这神奇的netty框架了,刚好最近东京奥运会,我们写一个netty的客户端和服务器为中国加油可好?

netty系列之:Event、Handler和Pipeline

2021-08-07
阅读 7 分钟
4.4k
上一节我们讲解了netty中的Channel,知道了channel是事件处理器和外部联通的桥梁。今天本文将会详细讲解netty的剩下几个非常总要的部分Event、Handler和PipeLine。

netty系列之:netty中的Channel详解

2021-08-06
阅读 5 分钟
2.5k
Channel是连接ByteBuf和Event的桥梁,netty中的Channel提供了统一的API,通过这种统一的API,netty可以轻松的对接多种传输类型,如OIO,NIO等。今天本文将会介绍Channel的使用和Channel相关的一些概念。

netty系列之:netty架构概述

2021-08-05
阅读 3 分钟
2.4k
Netty为什么这么优秀,它在JDK本身的NIO基础上又做了什么改进呢?它的架构和工作流程如何呢?请走进今天的netty系列文章之:netty架构概述。

netty系列之:netty中的ByteBuf详解

2021-08-04
阅读 6 分钟
3.7k
netty中用于进行信息承载和交流的类叫做ByteBuf,从名字可以看出这是Byte的缓存区,那么ByteBuf都有哪些特性呢?一起来看看。

netty系列之:netty初探

2021-08-03
阅读 6 分钟
1.9k
我们常用浏览器来访问web页面得到相关的信息,通常来说使用的都是HTTP或者HTTPS协议,这些协议的本质上都是IO,客户端的请求就是In,服务器的返回就是Out。但是在目前的协议框架中,并不能完全满足我们所有的需求。比如使用HTTP下载大文件,可能需要长连接等待等。我们也知道IO方式有多种多样的,包括同步IO,异步IO,阻...

ECMAScript 2020(ES11)新特性简介

2021-08-02
阅读 4 分钟
4k
简介ES11是ECMA协会在2020年6月发行的一个版本,因为是ECMAScript的第十一个版本,所以也称为ES11.今天我们讲解一下ES11的新特性。ES11引入了9个新特性,我们接下来一一讲解。动态imports在ES11之前,我们可以使用下面的方式进行模块的导入: {代码...} 但是上面的导入方式会有一些问题,首先是效率的问题,所有的module...

NumPy之:多维数组中的线性代数

2021-07-29
阅读 4 分钟
1.9k
简介本文将会以图表的形式为大家讲解怎么在NumPy中进行多维数据的线性代数运算。多维数据的线性代数通常被用在图像处理的图形变换中,本文将会使用一个图像的例子进行说明。图形加载和说明熟悉颜色的朋友应该都知道,一个颜色可以用R,G,B来表示,如果更高级一点,那么还有一个A表示透明度。通常我们用一个四个属性的数...

小师妹学IO系列文章集合-附PDF下载

2021-07-27
阅读 59 分钟
6.8k
java中最最让人激动的部分就是IO和NIO了。IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所有类,他们是从java1.0开始就存在的。NIO叫做new IO,是在java1.4中引入的新一代IO。

架构之:REST和HATEOAS

2021-07-26
阅读 3 分钟
2k
我们知道REST是一种架构方式,它只是指定了六种需要遵循的基本原则,但是它指定的原则都比较宽泛,我们需要一种更加具象的约束条件来指导我们的编码。这就是HATEOAS。

密码学系列之:Merkle–Damgård结构和长度延展攻击

2021-07-23
阅读 3 分钟
2.8k
Merkle–Damgård结构简称为MD结构,主要用在hash算法中抵御碰撞攻击。这个结构是一些优秀的hash算法,比如MD5,SHA-1和SHA-2的基础。今天给大家讲解一下这个MD结构和对他进行的长度延展攻击。

Pandas高级教程之:自定义选项

2021-07-22
阅读 12 分钟
1.8k
pandas有一个option系统可以控制pandas的展示情况,一般来说我们不需要进行修改,但是不排除特殊情况下的修改需求。本文将会详细讲解pandas中的option设置。

Pandas高级教程之:稀疏数据结构

2021-07-20
阅读 3 分钟
2.8k
如果数据中有很多NaN的值,存储起来就会浪费空间。为了解决这个问题,Pandas引入了一种叫做Sparse data的结构,来有效的存储这些NaN的值。

架构之:REST和RESTful

2021-07-15
阅读 3 分钟
2.8k
近几年微服务是如火如荼的在发展,而微服务之间的调用和渐渐的从RPC调用转移到了HTTP调用。于是经常听到有些同事说我们提供微服务并且暴露RESTful接口给别的系统,但是什么是RESTful接口呢?它和REST有什么关系呢?别急,本文将会带你一探究竟。

密码学系列之:memory-bound函数

2021-07-14
阅读 2 分钟
1.6k
memory-bound函数可以称为内存受限函数,它是指完成给定计算问题的时间主要取决于保存工作数据所需的内存量。和之相对应的就是计算受限compute-bound的函数,在计算受限的函数中,计算所需要的计算步骤是其决定因素。

架构之:serverless架构

2021-07-13
阅读 4 分钟
1.7k
不知道什么时候,出现了一个叫做Serverless架构的模式,看这个英语单词Serverless,也就是没有服务的意思。没有服务怎么搭建应用程序呢?

Pandas高级教程之:GroupBy用法

2021-07-12
阅读 10 分钟
2k
pandas中的DF数据类型可以像数据库表格一样进行groupby操作。通常来说groupby操作可以分为三部分:分割数据,应用变换和和合并数据。

Pandas高级教程之:统计方法

2021-07-08
阅读 7 分钟
1.5k
简介数据分析中经常会用到很多统计类的方法,本文将会介绍Pandas中使用到的统计方法。变动百分百Series和DF都有一个pct_change() 方法用来计算数据变动的百分比。这个方法在填充NaN值的时候特别有用。 {代码...} pct_change还有个periods参数,可以指定计算百分比的periods,也就是隔多少个元素来计算: {代码...} Covar...

Pandas高级教程之:plot画图详解

2021-07-07
阅读 12 分钟
5.7k
python中matplotlib是非常重要并且方便的图形化工具,使用matplotlib可以可视化的进行数据分析,今天本文将会详细讲解Pandas中的matplotlib应用。