HughNian Blog

Thinking more & Doing better

nsearch全文搜索引擎

可以快速搭建你的全文搜索系统

发心 全文搜索系统并不是什么特别新的技术,在网络搜索引擎普及之前就已存在,搜索的概念更是一个我们时刻都会用到的技术,如最基础的数据库模糊查询 到正则匹配,这些都是我们会用于在搜索上的基本技能。然而系统的复杂性,性能的高效性,都不停地促进我们技术的进步与发展,所以才会出现很多知名的 搜索系统如ES、Lucene、Solr等。最早时候接触过Sphinx/coreseek搜索系统,它的出现就是解决...

支持模糊匹配站内全文检索的技术方案

转自黑夜路人博客

全文检索/全文搜索的问题场景: 比如说,有一个问题场景是这样的: 在计算机课程培训体系中,现在有个需求是实现根据用户输入关键字,搜索课程名称和课程简介进行匹配度计算的场景的问题,初步数据量不大。 大概是这样的: 使用场景: 【输入“mysql”关键字,可以匹配这些】: mysql引擎innodb介绍 (完全匹配) mysql介绍 (完全匹配) 正确使用MySQL(完全匹配)...

GraphQL让调用接口变的更丝滑

以后就写一个接口好了

关于GraphQL GraphQL是一种全新的Web接口调用方式,它可以说是一种类似sql语句样的接口查询语句。它诞生的意义在于解决传统REST方式接口的通病。如接口太多,傻傻分不清, 冗余字段太多,找到需要的字段如大海捞针。GraphQL是由Fackbook工程师设计的接口规范,它适用于各种不同语言和环境。 GraphQL的优缺点 优点 首先第一个最大的优点就是,减少请求接口个数,...

npartword分布式中文分词系统

中文分词

缘起 提到分词一直都是一个比较底层的技术,说简单点就是一个分词系统,说复杂的话它也是属于人工智能范畴,确切说是属于NLP自然语言处理范畴。 npw是一个用Golang开发的中文分词系统,里面也用到了NLP的隐马尔可夫模型,维特比算法等,并没有对词汇进行学习处理。我们只是NLP的应用,真正的人工智能NLP 需要模型训练,需要不停的对不同模型的加解码,得出最优解,这就很深了,npw不属于这个范...

可能是说的最分明的IaaS,PaaS,FaaS,SaaS,MicroService,Serverless了

后端的架构总是傻傻分不清

絮语 如果说哪个行业最会起名字,那么互联网和软件行业称第二的话,估计没人敢称第一,比如什么复盘,赋能,组合拳,引爆点,泛用型,强化认知…. 等等这些让你听了是耳濡目旋的,高大上,我完全不知道啥意思。其实在我看来都是新瓶装旧酒,换个马甲,包装了下、或者说就是不说人话,强行装X了。 今天我们来说说同样也是几个高大上的名词,但是他们其实很好理解,但又相互联系,所以经常让人傻傻分不清。 云服务 从...

金陵诗画

我看到的金陵

古时城市的名字从来都充满了诗意与画面感,这里是金陵也是南京,旧时的故都,也是我生活的家乡。 每个人对家乡都有不同的感情,家乡金陵于我就是那种不用多说亦可感受彼此的老友。 诗 登金陵凤凰台 - 李白 凤凰台上凤凰游,凤去台空江自流。 吴宫花草埋幽径,晋代衣冠成古丘。 三山半落青天外,二水中分白鹭洲。 总为浮云能蔽日,长安不见使人愁。 金陵酒肆留别 - 李白 风吹柳花满店香,吴姬压...

Go语言编译模式浅谈

Golang里你不知道的小秘密

buildmode 在刚开始接触Go语言时,就觉得它的编译比C/C++的gcc/g++方便很多,一个简单的go build命令可以完成所有gcc/g++的事情,不过之前的使用都是简单使用,编译成 可执行文件,如果想要编译成动态库什么这里就需要用到buildmode参数,当然这个参数的功能远不止编译成动态库这一项。参数的使用也完全就是go build命令完成, 不得不说Go的方便,ps: go...

还不升级http/2就跟不上时代了

升级http/2让你的网站访问起飞

http/2起飞 第一次听到http/2这个词,是在一些技术社区里大佬闲暇谈资时提起的,当时以为是不是啥类似protobuf协议的东西,后来了解后发现是我想偏了😄。 http/2从字面上看也是和http协议相关的,只是http/1的升级版。http/2协议标准于2015年正式发布,该标准协议有Chrome, Opera, Firefox, Safari, Edge等主流大厂共同制定, 所以h...

Kafka如何做到百万TPS

支持百万级TPS,Kafka是怎么做到的?答案藏在这10张图里

谈到大数据传输都会想到 Kafka,Kafka 号称大数据的杀手锏,在业界有很多成熟的应用场景并且被主流公司认可。这款为大数据而生的消息中间件,以其百万级TPS的吞吐量名声大噪,迅速成为大数据领域的宠儿,在数据采集、传输、存储的过程中发挥着举足轻重的作用。 在业界已经有很多成熟的消息中间件如:RabbitMQ, RocketMQ, ActiveMQ, ZeroMQ,为什么 Kafka 在众...

C语言的函数参数最多可以传多少

x86-64 规定只有6个寄存器来存参数,那 C 函数为什么还能超过6个参数呢?

#include <stdio.h> int test(int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10) { return arg1 + arg2 + arg3 + arg4 + arg5 + arg6 + arg7 +...