天道酬勤,学无止境

博客

【Apache NIFI 翻译】1-Apache NiFi Overview 概览

【Apache NIFI 翻译】1-Apache NiFi Overview 概览 原文地址:http://nifi.apache.org/docs.html What is Apache NiFi? ​ 简单的说,NiFi就是为了解决不同系统间数据自动流通问题而建立的。虽然dataflow这个术语在各种场景都有被使用,但我们在这里使用它来表示不同系统间的自动化的可管理的信息流。自企业拥有多个系统开始,一些系统会有数据生成,一些系统要消费数据,而不同系统之间数据的流通问题就出现了。这些问题出现的相应的解决方案已经被广泛的研究和讨论,其中企业集成eip就是一个全面且易于使用的方案。 dataflow要面临的一些挑战包括: Systems fail 网络故障,磁盘故障,软件崩溃,人为事故。 Data access exceeds capacity to consume 有时,给定的数据源可能会超过处理链或交付链的某些部分的处理能力,而只需要一个环节出现问题,整个流程都会受到影响。 Boundary conditions are mere suggestions 总是会得到太大、太小、太快、太慢、损坏、错误或格式错误的数据。 What is noise one day becomes signal the next 现实业务或需求变更快,设计新的数据处理流程或者修改已有的流程必必须要迅速

2021-06-28 14:13:37   

SpringBoot个人博客从无到有项目搭建——实战综合介绍

SpringBoot个人博客项目搭建 博客Github源码:https://github.com/lindaifeng/QingFengInn-blog 个人博客主页:http://www.qingfenginn.top/ 一、项目简介: 1.1 前言 曾几何时,浏览着别人一个个好好看的个人博客的时候,也憧憬着要是有一个属于自己的个人博客网站就好了。 随着技术的提升自己也想用Spring boot 搭建一个属于自己的博客系统,刚好前段时间学习了李仁密大神的小而美个人博客项目课受益匪浅。于是琢磨着搭建一款属于自己的博客网站一定非常棒。 于是参考了oneStar博主的博客项目,乘热打铁巩固所学习的内容,好让自己熟悉这类项目开发的基本流程。于是有了下面这款"清峰小栈"个人博客项目。 本SpringBoot个人博客项目已开源在我的Github上,感兴趣的可以去了解一下,制作不易可以给个star适当鼓励一下。 来不及多说上图: 1.2 技术选型 下面我将分模块对本项目进行讲解。 工具名称开发工具IDEA语言JDK1.8、HTML、css、js模板引擎Themleaf数据库Mysql5.6项目框架SpringBootORMMybatis项目构建Maven运行环境阿里云Unbuntu7 二、前端页面介绍 本博客前端采用的是Semintic

2021-06-28 14:13:32   

六、深入理解JDK1.8中HashMap哈希冲突解决方案

导读 前面文章一、深入理解-Java集合初篇 中我们对Java的集合体系进行一个简单的分析介绍,上两篇文章二、Jdk1.7和1.8中HashMap数据结构及源码分析 、三、JDK1.7和1.8HashMap数据结构及源码分析-续 中我们分别对JDK1.7和JDK1.8中HashMap的数据结构、主要声明变量、构造函数、HashMap的put操作方法做了深入的讲解和源码分析。 四、深入理解Java中的HashMap「网易面试快答」文章中主要针对面试中常见的面试问题进行简单解答。 五、深入理解JDK1.7中HashMap哈希冲突解决方案对JDK1.7中HashMap的哈希冲突及减少哈希冲突的解决方案做详细的介绍,并通过源码加深大家的理解。 本篇文章我们将要对JDK1.8中HashMap的哈希冲突及减少哈希冲突的解决方案做详细的介绍,并通过源码加深大家的理解。 如果大家在面试中针对Java集合或者Java中的HashMap大家还有什么疑问或者其他问题,可以评论区告诉我。 简单介绍 JDK1.7—》哈希表,链表 JDK1.8—》哈希表,链表,红黑树— JDK1.8之后,当链表长度超过8使用红黑树。 非线程安全 0.75的负载因子,扩容必须为原来的两倍。 默认大小为16,传入的初始大小必须为2的幂次方的值,如果不为也会变为2的幂次方的值。 根据HashCode存储数据。 JDK1

2021-06-28 14:13:27   

[蓝桥杯2019初赛]字串数字

[蓝桥杯2019初赛]字串数字 记于2020年9/29 这道题说白了就是26进制转化为十进制,一开始我还纠结怎么分块,题目也没讲,我以为题目错了,但是读了几遍。发现就是一个进制转化。注意数据类型要long long不然会爆。 答案:3725573269 #include<bits/stdc++.h> long long f[100]; using namespace std; typedef long long ll; map<char,ll>mp;//map容器 前一个代表下表的类型,后一个代表里面值的类型 ll fastpow(ll a,ll n)//快速幂 { ll base=a; ll res=1; while(n) { if(n&1) { res=res*base; } base=base*base; n>>=1; } return res; } int main() { ll ans=0; char start='A'; //初始化 for(ll i=1;i<=26;i++)//构造mp数组 { mp[start]=i; start=start+1; } string s; s="LANQIAO"; int len=s.length(); for(ll i=0;i<len;i++)//做26转化成10进制的运算 { ans=ans+ mp[s[i]] * fastpow

2021-06-28 14:13:22   

socket | 客户端和服务端bind的区别

转载 socket bind在客户端和服务器端使用的区别_cuishumao的专栏-CSDN博客 socket 客户端也可以使用 bind_BlackNight168的博客-CSDN博客 客户端Client bind (1)bind端口 由进程选择一个端口去连服务器,(如果默认情况下,调用bind函数时,内核指定的端口是同一个,那么调用多个调用了bind()的client程序,会出现端口被占用的错误)注意这里的端口是客户端的端口。 如果不分配,指定端口0, 就表示交给内核去选择一个可用端口。 (2)bind IP地址 相当于为发送出去的IP数据报分配了源IP地址,但交给进程分配IP地址的时候(就是这样写明了bind IP地址的时候)这个IP地址必须是主机的一个接口,不能分配一个不存在的IP。如果不分配就表示由内核根据所用的输出接口来选择源IP地址。 一般情况下客户端是不用调用bind函数的,一切都交给内核搞定! 使用顺序是:WSAStartup->socket->bind->connect->其他 bind 时,只使用一个 socket 对象,通篇使用 服务端Server bind (1)bind端口:基本是必须要做的事情,比如一个服务器启动时(比如freebsd),它会一个一个的捆绑众所周知的端口来提供服务,同样,如果bind了一个端口就表示我这个服务器会在这个端口提供一些

2021-06-28 14:13:16   

QT用Qtimer代替while循环

QT用Qtimer代替while循环 在编写程序时,我想实现一个功能: 点击按钮run,执行循环, 点击按钮suspend,退出循环 最开始的时候,我一想到这个就想直接用while语句来实现,然鹅,在QT中这样做是不对头滴。程序一直在while循环中,根本退不出来。 后来使用timer,完美实现。 connect(timer,&QTimer::timeout,[=](){ ui->supervise_tableWidget_4->setItem(supervise_row_count-1,0,new QTableWidgetItem("3")); } /点击运行按钮 void MainWindow::on_run_Pushbutton_clicked() { timer->start(50); } //点击中止按钮 void MainWindow::on_suspend_Pushbutton_clicked() { timer->stop(); } 感谢各位前辈的经验,让我解决了一个又一个问题。 来源:https://blog.csdn.net/qq_41644888/article/details/108868963

2021-06-28 14:13:10   

java springboot如何简单快速集成Elasticsearch文件检索

前言: ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创建是非常困难的。我们希望搜索解决方案要运行速度快,我们希望能有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP来索引数据,我们希望我们的搜索服务器始终可用,我们希望能够从一台开始并扩展到数百台,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。因此我们利用Elasticsearch来解决所有这些问题以及可能出现的更多其它问题。 1.准备 在微服务集成es之前先安装Elasticsearch 以及可视化工具Kibana;注意安装的版本一定要一致,不能版本不相同。 推荐使用docker安装,如何使用docker以及docker的容器安装请移步其他帖子。 安装移步es安装以及配置. 安装Kibana之后创建索引及类型: 这是相关索引指令: GET /_cat/indices/?v #查询所有索引 DELETE user #删除索引 PUT

2021-06-28 14:13:05   

GMS: Grid-based Motion Statistics forFast, Ultra-robust Feature Correspondence

GMS: Grid-based Motion Statistics forFast, Ultra-robust Feature Correspondence AbstractIntroductionOur approachGrid framework for fast scoringExperimentsConclusion Abstract 文中提出一种新型的特征点匹配的方案,GMS,通过考虑运动的平滑性来提升特征信息的匹配质量,通过将匹配数量转换为匹配质量。 Introduction 文中主要解决的问题是针对特征点的局部区域像素信息存在相似的运行状态,于是通过在待匹配的特征点附近通过检测是否存在匹配簇来判断该特征点的匹配质量是否足够的好。一系列的研究表示非匹配情况下生成足够的相关运动簇概率是很低的,因此通过特征点信息附近的像素判断是否有运动簇是对于区分是否是匹配的一种有效的办法。以往的方案都是通过针对单个特征点信息的提升来提升特征信息匹配的成功率,然而本文通过大量的辅助匹配信息来构建运动簇来获得正确的匹配。 本文主要的贡献有: 一种结合运动平滑性的特征信息的匹配算法;一种网格算法使得算法能够满足实时性;相比已有的几种比较典型的算法,文中提出的方案效果更好。 Related Works 以往大部分经典的算法是通过提升单个特征信息的描述信息来实现精准的特征信息的匹配

2021-06-28 14:12:59   

ToDesk 1.0.0928a 中文版 Mac必备远程控制工具

ToDesk for Mac 是一款免费而流畅的远程协助软件。ToDesk 支持 1080P 高清屏幕控制以及文件传输。通过多区域机房、G级宽带服务器加速以确保您每一次的远程访问稳定、流畅。在安全方面,通讯数据使用 端到端加密,连接密码仅存于您的设备,ToDesk 官方也无法窥探您的桌面以确保您的每次连接都是安全可靠的。 ToDesk 支持多终端:Windows、macOS、Linux (待发布)、iOS、Android (待发布)。 实际测试 (2020/09/28 20:41,基于 1.0.0928a 版本): 优点 相对于同类的远程控制软件(Teamviewer、AnyDesk、向日酷)来说,连接速度非常快,几乎没有等待。 控制一台 3840 * 2160 分辨率的 Windows 电脑,还是很流畅的。 个人用户免费使用,没有任何限制。 缺点 流畅度和 Teamviewer 相比较还是有一些差距,但是不明显 文字聊天、文件传输功能暂不可用 (为了应对 AppStore 审核,后面会支持) ToDesk 1.0.0928a 中文版 Mac必备远程控制工具👈⏬ 来源:https://blog.csdn.net/maczhushou/article/details/108868886

2021-06-28 14:12:49   

jupyter notebook 添加核 (jupyter:ModuleNotFoundError: No module named ‘torch‘)

原文链接:https://blog.csdn.net/ZWX2445205419/article/details/80113472 出现该错误的原因: *没有安装torch环境 *安装了torch模块,没有添加核(kernel) 本文仅针对安装好环境之后添加核,安装torch请参见我另外一篇:"visual Studio+CUDA+pytorch安装" 查看自己现有的核: 1.安装Anaconda环境 2.创建虚拟环境: conda creat -n myenv(自己设定环境名称,一般和要安装的环境同名即可) python=3.6 conda info -e #可以查看虚拟环境 3.安装nb_conda_kernels包 conda install nb_conda_kernels 4.激活环境 conda activate myenv(你的环境名) ☆☆重点来了:如果安装好了环境,看以下步骤即可。确定是否安装好环境可以参看第2步 5.安装ipykernel (myenv)> pip install ipykernel 6.添加核 (myenv)> python -m ipykernel install --name myenv(如果要添加的核是pytorch,直接将name后的myenv修改成pytorch即可) 7.打开jupyter notebook (myenv)>

2021-06-28 14:12:44