学习笔记

Netty源码分析 (四)----- ChannelPipeline

目录 pipeline 初始化 pipeline添加节点 检查是否有重复handler 创建节点 添加节点 回调用户方法 pipeline删除节点 找到待删除的节点 调整双向链表指针删除 回调用户函数 总结 正文 netty在服务端端口绑定和新连接建立的过程中会建立相应的channel,而与channel的动作密切相关的是pipeline这个概念,pipeline像是可以看作是一条流水线,原始的原料(字节流)进来,经过加工,最后输出 回到顶部 pipeline 初始化 在上一篇文章中,我们已经知道了创建NioSocketChannel的时候会将netty的核心组件创建出来 ...

新闻类网页正文通用抽取器

项目起源 开发这个项目,源自于我在知网发现了一篇关于自动化抽取新闻类网站正文的算法论文——《基于文本及符号密度的网页正文提取方法》 这篇论文中描述的算法看起来简洁清晰,并且符合逻辑。但由于论文中只讲了算法原理,并没有具体的语言实现,所以我使用 Python 根据论文实现了这个抽取器。并分别使用今日头条、网易新闻、游民星空、观察者网、凤凰网、腾讯新闻、ReadHub、新浪新闻做了测试,发现提取效果非常出色,几乎能够达到100%的准确率。 项目现状 在论文中描述的正文提取基础上,我增加了标题、发布时间和文章作者的自动化探测与提取功能。 ...

这一次,彻底弄懂 Promise 原理

 作者声明本人将迁移至个人公众号「前端Q」及「掘金」平台写文章。博客园的文章将不再及时更新发布。欢迎大家关注公众号「前端Q」及我的掘金主页:https://juejin.im/user/5874526761ff4b006d4fd9a4/posts...

C#开发BIMFACE系列21 服务端API之获取模型数据6:获取单模型的楼层信息

系列目录 【已更新最新开发文章,点击查看详细】 一个文件/模型中可能包含多个楼层信息,获取楼层信息对于前端页面的动态展示非常有帮助。本篇介绍获取一个文件/模型中可能包含多个楼层信息的详细方法。 请求地址:GET https://api.bimface.com/data/v2/files/{fileId}/floors 说明:获取单个模型的所有楼层信息 参数: 请求 path(示例):https://api.bimface.com/data/v2/files/1211223382064960/floors ...

微服务SpringCloud之配置中心和消息总线

 在微服务SpringCloud之Spring Cloud Config配置中心SVN博客中每个client刷新配置信息时需要post请求/actuator/refresh,但客户端越来越多时,,需要每个客户端都执行一遍,这种方案就不太适合了。使用Spring Cloud Bus可以完美解决这一问题。...

MongoDB非关系型数据库开发手册

一:NoSql数据库# 什么是NoSQL?# NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。 NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。 为什么使用NoSQL ?# 今天我们可以通过第三方平台(如:Google,Facebook等)可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了, NoSQL数据库的发展也却能很好的处理这些大的数据。 ...

Oracle数据库之七 多表查询

七、多表查询 ​ 对于查询在之前已经学过了简单查询、限定查询、查询排序,这些都属于 SQL 的标准语句,而上一章的单行函数,主要功能是为了弥补查询的不足。 ​ 而从多表查询开始就正式进入到了复杂查询部分。 7.1、基本语法 多表查询就是在一条查询语句中,从多张表里一起取出所需要的数据。如果要想进行多表查询,直接在 FROM 子句之后跟上多个表即可,语法如下: SELECT [DISTINCT] *|列名称 [AS][列别名],列名称 [AS][列别名],... FROM 表名称1[表别名1],表名称2[表别名2],... ...

面试官: 100万个成员的数组取第一个和最后一个有性能差距吗?

本文首发于微信公众号「程序员面试官」 数组几乎可以是所有软件工程师最常用到的数据结构,正是因为如此,很多开发者对其不够重视. 而面试中经常有这样一类问题: 「100万个成员的数组取第一个和最后一个有性能差距吗?为什么?」 除此之外,我们在平时的业务开发中会经常出现数组一把梭的情况,大多数情况下我们都会用数组的形式进行操作,而有读源码习惯的开发者可能会发现,在一些底层库中,我们可能平时用数组的地方,底层库却选择了另外的数据结构,这又是为什么? 希望大家带着以上的问题我们进行讨论. 什么是数组 ...

创建最简单的exe形式COM组件并在MFC程序调用

来新公司学习接手新项目,拿到代码打开解决方案看到里面竟然有40几个工程,有点吃惊。具体看代码也有很多之前没见过的写法,上了几天火。 有件事就没太搞明白,按照文档的说法上层很多软件都要调用IO服务器,但看程序安装目录,IO服务器其实是一个exe程序,按照我之前的印象,能被别的程序调用的也得是动态库、静态库或者服务。实在想不通exe程序怎么作为接口被别的程序调用的。 结果昨天研究了一天,想通了,这个IO服务器其实就是COM组件。 按照网上的说法:COM component(COM组件)是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术。在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成复杂的应用系统。由此带来的好处是多方面的:可以将系统中的组件用新的替换掉,以便随时进行系统的升级和定制;可以在多个应用系统中重复利用同一个组件;可以方便的将应用系统扩展到网络环境下;COM与语言,平台无关的特性使所有的程序员均可充分发挥自己的才智与专长编写组件模块。 ...

java多线程超详细总结

1、线程概述 几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。 2、线程与进程 进程概述: 几乎所有的操作系统都支持进程的概念,所有运行中的任务通常对应一个进程( Process)。当一个程序进入内存运行时,即变成一个进程。进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位。 进程特征: 1、独立性:进程是系统中独立存在的实体,它可以拥有自己独立的资源,每一个进程都拥有自己私有的地址空间。在没有经过进程本身允许的情况下,一个用户进程不可以直接访问其他进程的地址空间 ...
青岛软件培训

可能你正在寻找一家靠谱的IT培训机构,学习一些专业的软件开发技术,找一份得体的工作。恰巧我们就是一家踏踏实实做教育的IT人才培养机构,我们咨询电话是 0532-85025005,如果你确实对IT感兴趣,我们不妨交流一下。

申请免费试听课程