1W字|40 图|硬核 ES 实战】的更多相关文章

前言 上篇我们讲到了 Elasticsearch 全文检索的原理<别只会搜日志了,求你懂点检索原理吧>,通过在本地搭建一套 ES 服务,以多个案例来分析了 ES 的原理以及基础使用.这次我们来讲下 Spring Boot 中如何整合 ES,以及如何在 Spring Cloud 微服务项目中使用 ES 来实现全文检索. ES 系列文章: 别只会搜日志了,求你懂点检索原理吧 ES 终于可以搜到"悟空哥"了! 通过本实战您可以学到如下知识点: Spring Boot 如何整合 E…
套路--先贴图 demo :  http://www.vvui.net/editor/index.html gitee : https://gitee.com/kevin-huang/Bui-Editor-public 前提 下面的内容忽略ES6.ES6多了一些特性,语法糖,硬核还是内在的经典,本文只讲经典. 吐槽JavaScript  的非主流特性 JavaScript的非主流特点让许多习惯了JAVA.c#等这些现代面向对象风格语言的码农们甚是烦恼.这种怪异的特点,加上天马行空的作用域特性,让…
大家都是程序员,大家都是和计算机打交道的程序员,大家都是和计算机中软件硬件打交道的程序员,大家都是和CPU打交道的程序员,所以,不管你是玩儿硬件的还是做软件的,你的世界都少不了计算机最核心的 - CPU CPU是什么 CPU 的全称是 Central Processing Unit,它是你的电脑中最硬核的组件,这种说法一点不为过.CPU 是能够让你的计算机叫计算机的核心组件,但是它却不能代表你的电脑,CPU 与计算机的关系就相当于大脑和人的关系.它是一种小型的计算机芯片,它嵌入在台式机.笔记本电…
写在前面 在 [冰河技术] 微信公众号中的[Nginx]专题,更新了不少文章,有些读者反馈说,在公众号中刷 历史文章不太方便,有时会忘记自己看到哪一篇了,当打开一篇文章时,似乎之前已经看过了, 但就是不知道具体该看哪一篇了.相信很多小伙伴都会有这样的问题.那怎么办呢?最好的解决 方案就是我把这些文章整理成PDF电子书,免费分享给大家,这样,小伙伴们看起来就方便多 了.希望这本电子书能够给大家带来实质性的帮助. 关于PDF 之前,我写过<深入浅出Java23种设计模式>.<Java8新特新…
本文参考资料:[1] (Strongly Recommend!) Fundamentals and Experiments of Line Scan Camera: http://www.elm-chan.org/works/lcam/report.html[2] 线阵 CCD 的使用方法(以 TCD1304 为例): https://zzi.io/?p=1091 工程地址:https://github.com/divertingPan/Line_Scan_Camera 原文地址:https:/…
天命不足畏,祖宗不足法. --王安石 前言 本文并非标题党,而是实实在在的硬核文章,如果有想要学习Vue3的网友,可以大致的浏览一下本文,总体来说本篇博客涵盖了Vue3中绝大部分内容,包含常用的CompositionAPI(组合式API).其它CompositionAPI以及一些新的特性:Fragment.Teleport.Suspense.provide和inject. 项目搭建 既然是学习Vue3,那么首先应该需要的是如何初始化项目,在这里提供了两种方式供大家参考 方式一:vue-cli脚手…
欢迎关注公众号:bin的技术小屋 大家好,我是bin,又到了每周我们见面的时刻了,我的公众号在1月10号那天发布了第一篇文章<从内核角度看IO模型的演变>,在这篇文章中我们通过图解的方式以一个C10k的问题为主线,从内核角度详细阐述了5种IO模型的演变过程,以及两种IO线程模型的介绍,最后引出了Netty的网络IO线程模型.读者朋友们后台留言都觉得非常的硬核,在大家的支持下这篇文章的目前阅读量为2038,点赞量为80,在看为32.这对于刚刚诞生一个多月的小号来说,是一种莫大的鼓励.在这里bin…
目录 引言 控制反转 读写分离分库分表 理论基础 设计目标 现状调研 设计思路 实现之过五关斩六将 动态对象 动态模型缓存 数据源移植 查询表达式树深度移植 数据合并算法 事务支持 实际使用 展望未来 引言 前方硬核警告:全文干货11000+字,请耐心阅读 遥想去年这个时候,差不多刚刚毕业,如今正式工作差不多一年了.Colder开源快速开发框架从上次版本发布至今差不多有三个月了,Github的星星5个版本框架总共也有近800颗,QQ群从最初的一个人发展到现在的500人(吐槽下,人数上限了,太穷开…
现在的程序员越来越多,大部分的程序员都想着自己能够进入大厂工作,但每个人的能力都是有差距的,所以并不是人人都能跨进BATJ.即使如此,但身在职场的我们一刻也不能懈怠,既然对BATJ好奇,那么就要朝这个目标努力下去.以下是阿里在职P7整理出来的最“硬核”的面试文档,文档内容包含的专题非常多,可以免费分享给大家学习. 由于篇幅有限,以下只展示了这份文档的部分题目内容,题目答案也只展示了截图,可能因为压缩问题看不清楚,所以需要完整版的面试问题及答案的小伙伴,这些资料加入我的Java进阶裙:730863…
本周我想进一步探究可编程逻辑(FPGA)与硬核处理器(HPS)之间互联的结构.我发现了三种主要方式,它们是如何映射并处理通信的,哪些组件需要管控时序并且有访问权限. AXI Bridge 为了能够实现HPS与FPGA之间的通信接口,衍生出了AXI bridge协议.AXI bridge协议能够处理带宽适应和时钟控制,支持HPS与FPGA之间双向的逻辑和数据交互.   HPS到FPGA HPS到FPGA有两种类型:高吞吐量和低吞吐量.高吞吐量的数据带宽可以使32位.64位或128位,它是专门为高带…
前一篇 硬核讲解 Jetpack 之 LifeCycle 使用篇 主要介绍了 LifeCycle 存在的意义,基本和进阶的使用方法.今天话不多说,直接开始撸源码. 本文基于我手里的 android_9.0.0_r45 源码,所有相关源码包括注释都上传到了我的 Github ,可以直接 clone 下来对照文章查看. LifeCycle 三剑客 在正式阅读源码之前,很有必要先介绍几个名词,LifecycleOwner ,LifecycleObserver,Lifecycle . Lifecycle…
Nothing is true. Everything is permitted. 写在前面 先聊聊为什么想到了要用Vuepress来代替原来写在Confluence上的文档. 大意是有个需要其他部门接入的项目,这个项目有个用md写的接入文档,其他部门的人需要看着这个文档才知道怎么接以及哪些东西需要接. 但是有个问题是这个文档长的一匹,有多长呢? 而且这个md文件是放在confluence上的. 本身用confluence阅读md的体验就不好,这个文档能够让你的滚轮滚个足足十多秒,skr~. 你…
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是周五分布式系统的第八篇文章,核心内容是B+树的原理. 今天的文章是上周B树的延伸,所以新关注的或者是有所遗忘的同学建议先从下方链接回顾之前的内容. 硬核挑战--从零开始动手图解B树 B+树的特性 B+树和B树一样都是多路平衡树,也叫多叉树.两者的性质也基本一致,在具体来看详细内容之前,我们先来总体看下B+树的特性,先有个大概的印象. 我个人认为B+树大部分特性都和B树一样,唯一不同的只有以下几点: 所有的数据都存储在叶子节点,中间…
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习的第16篇文章,我们来继续上周KD-Tree的话题. 如果有没有看过上篇文章或者是最新关注的小伙伴,可以点击一下下方的传送门: [硬核]机器学习与数据结构的完美结合--KD-Tree 旋转不可行分析 上周我们实现了KD-Tree建树和查询的核心功能,然后我们留了一个问题,如果我们KD-Tree的数据集发生变化,应该怎么办呢? 最朴素的办法就是重新建树,但是显然我们每次数据发生变动都把整棵树重建显然是不科学的,因为绝大多数数…
1. 前言 随着互联网软件行业快速发展,为了抢占市场先机,企业不得不持续提高软件的交付效率.特别是现在国内越来越多企业已经在逐步引入DevOps研发模式的变迁,在这些背景催促之下,对于企业研发团队所需要具备的持续集成和持续交付(简称CI/CD)能力变得越来越不可或缺. 相信现在不管是开发人员.测试人员或者是运维人员,在求职招聘时,基本上如果是面试的是中高级以上的职位,大多都要求要具备相关CI/CD的项目建设或参与搭建经验. 为了帮助到更多技术读者,从本周起,将以<持续集成实践系列>为主题,分享…
写在前面 在 [冰河技术] 微信公众号中的[互联网工程]专题,更新了不少文章,有些读者反馈说,在公众号中刷 历史文章不太方便,有时会忘记自己看到哪一篇了,当打开一篇文章时,似乎之前已经看过了,但就是不知道具体该看哪一篇了.相信很多小伙伴都会有这样的问题.那怎么办呢?最好的解决方案就是我把这些文章整理成PDF电子书,免费分享给大家,这样,小伙伴们看起来就方便多了.希望这本电子书能够给大家带来实质性的帮助. 关于PDF 之前,我写过<深入浅出Java23种设计模式>.<Java8新特性教程&…
前言 对于结构体的应用太多了,今天这篇文章我主要为大家总结平时关于结构体的一些独特硬核小技巧,对于结构体更多优秀的编程表现,如果你对结构体的基础知识还不具备的话得回头看一下专栏教程或者自己找本书籍学习一下即可哦.   结构体:字面上的意思就是有着层次结构的一种数据形式,所谓的层次结构就是我们在结构体中定义的各种成员了,再白话一点:结构体就是一个数据包,里面可以包含各种各样的数据.对于这句话我们还要深入挖掘一下"各种各样的数据",对于我们编程而言-"一切皆是数据".进…
今天,又是干货满满的一天.这是全网最硬核 JVM 系列的开篇,首先从 TLAB 开始.由于文章很长,每个人阅读习惯不同,所以特此拆成单篇版和多篇版 全网最硬核 JVM TLAB 分析(单篇版不包含额外加菜) 全网最硬核 JVM TLAB 分析 1. 内存分配思想引入 全网最硬核 JVM TLAB 分析 2. TLAB生命周期与带来的问题思考 全网最硬核 JVM TLAB 分析 3. JVM EMA期望算法与TLAB相关JVM启动参数 全网最硬核 JVM TLAB 分析 4. TLAB 基本流程全…
封面:洛小汐 作者:潘潘 2020 年的大疫情,把世界撕成几片. 时至今日,依旧人心惶惶. 很庆幸,身处这安稳国, 兼得一份安稳工. · 东家常讲的一个词:深秋心态 . 大势时,不跟风.起哄, 萧条时,不放弃播种和耕耘的信心, 热时不燥.冷时不弃, 这就是深秋心态. · 大疫情,相信只是大自然的规律, 也恰是我们保持深秋心态的时候, 默默播种和耕耘吧, 今年,世界会慢慢复苏,希望都会来临. 2021年要信心满满 ヾ(◍°∇°◍)ノ゙ 定会收货满满 ~ 上图保存可做朋友圈封面图 ~ 前言 上节我们…
一般游戏中,字体贴图是游戏贴图压缩的一个重点,特别是对于中文的游戏.考虑的字体贴图的特殊性,一般我们输出的字体贴图是不含颜色信息的,所以正常情况下,我们输出的字体贴图RGBA每一个通道都是一样的.这样一来,就存在非常大的浪费.所以我们能够在RGBA四个通道中能够保存不同的字体,这样,我们的贴图的大小能够降低4倍.假设我们想使用ETC压缩的话,我们可还以直接不使用Alpha通道,仅仅在RGB三个通道中存储不同的文字(这样,假设我们要进行ETC压缩的话,不须要对Alpha通道做分离处理了,可是得到的…
作为一家创新驱动的科技公司,袋鼠云每年研发投入达数千万,公司80%员工都是技术人员,袋鼠云产品家族包括企业级一站式数据中台PaaS数栈.交互式数据可视化大屏开发平台Easy[V]等产品也在迅速迭代.在进行产品研发的过程中,技术小哥哥们能文能武,不断提升产品性能和体验的同时,也把这些提升和优化过程记录下来,现录入“袋鼠云研发手记”专栏中,以和业内童鞋们分享交流. 下为“袋鼠云研发手记”专栏第二期,本期作者为袋鼠云数栈引擎团队. 袋鼠云数栈引擎团队 袋鼠云数栈引擎团队拥有多名专家级别,经验丰富的后端…
硬核 zynq和pynq系列的fpga都是双ARM/Cortex-A9构成,这里的ARM处理器为硬核,Cortex-A9部分为FPGA部分.即整体分为两部分:PS/PL.PS部分为A9处理器部分,PL为FPGA可编程逻辑部分. 软核-MicroBlaze NetFPGA-1G-CML-live/NetFPGA-SUME-live 中使用的内核是Kintex-7 device,并没有嵌入A9这样的ARM处理器,而是采用的软核(MicroBlaze),又称之为嵌入式CPU.在SDK环节其开发流程与带…
目前,在FPGA上嵌入ARM硬核的包括Xilinx的zynq系列以及Intel 的CYCLONEV系列. Zynq出来有一定市场,但是这个市场不是传统FPGA的主流市场,而是为了和微处理抢一些控制领域的市场.但是目前在反响上,听说,不如预期,首先对小公司来说,同时熟悉ARM和FPGA的人不多,在大公司来说,由于他们面向的市场对专业分工要求更高,一般都使用FPGA+CPU的方式,对这类Zynq这种新鲜事物还是持保留态度的,观望的比较多. 但随着技术及工具的发展,zynq的使用越来越受到许多公司青睐…
从es将数据导出分两步: 查询大量数据 将数据生成文件并下载 本篇主要是将第二步,第一步在<es实战之查询大量数据>中已讲述. csv vs excel excel2003不能超过65536, excel2007及以上版本支持1048576条数据.excel支持的数据量有限,并且生生成文件的速度比较慢. csv具有支持写入量大,文件较小的优点. 故选择csv作为导出文件类型. 导出文件的几种方式: 将数据从es中查询出来,在这个大前提下,对比导出文件的速度. 由前端处理 直接将数据返回给前端,…
STM32内部含有硬核,对于一些协议(例如:UART,SPI,IIC,CRC等)我们只要调用硬核就可以了,同时我们也可以自己写通信协议. 这些硬核最终肯定是要有引脚输出的,这就是为什么STM32的引脚有复用功能的原因. 以SPI通信协议硬核为例,其硬核连接的引脚是PA4,PA5,PA6,PA7,那么我们如果使用内部硬核就必须使用这几个引脚作为通信引脚 也可以自己编写SPI通信协议,此时的引脚就可以随意定义了. 通常一个引脚有好几种复用功能,在使用硬核时需要我们设置好引脚的寄存器,同时又不影响寄存…
"3D模型体量过大.面数过多.传输展示困难",用户面对这样的3D数据,一定不由得皱起眉头.更便捷.快速处理三维数据,是每个3D用户对高效工作的向往. 在老子云最新上线的单模型轻量化服务里,你可以发现,原来还有这种方式能更快速高效地应用三维! 击破三大痛点轻量三维便捷一点 作为极具创新力的三维技术产品,老子云单模型轻量化向我们展示了全新的模型处理方式. 01全自动!3D处理不再低效 如果你从事的是3D可视化项目开发岗位,处理3D模型肯定是让你最头疼的.想快速推进项目进度,可面对数据量庞大…
前提 并发编程大师Doug Lea在编写JUC(java.util.concurrent)包的时候引入了java.util.concurrent.locks.AbstractQueuedSynchronizer,其实是Abstract Queued Synchronizer,也就是"基于队列实现的抽象同步器",一般我们称之为AQS.其实Doug Lea大神编写AQS是有严谨的理论基础的,他的个人博客上有一篇论文<The java.util.concurrent Synchroni…
原理: Redis集群采用一致性哈希槽的方式将集群中每个主节点都分配一定的哈希槽,对写入的数据进行哈希后分配到某个主节点进行存储. 集群使用公式(CRC16 key)& 16384计算键key数据那个槽. 16384个slot均匀分布在各个节点上. 集群中每个主节点将承担一部分槽点的维护,而槽点中存储着数据,每个主节点都有至少一个从节点用于高可用. 节点通信方式: 开启一个端口 设置的端口号+10000,用于集群之间节点通信交换信息. 每个节点默认每秒10次选择随机5个节点发送ping消息,将自…
一.PassJava 项目简介 PassJava-Learning 项目是 PassJava(佳必过)项目的学习教程.对架构.业务.技术要点进行讲解. PassJava 是一款 Java 面试刷题 的开源系统,可以用零碎时间利用小程序查看常见面试题,夯实 Java 基础. PassJava 项目可以教会你如何搭建 SpringBoot 项目,Spring Cloud 项目 采用流行的技术,如 SpringBoot.MyBatis.Redis. MySql. MongoDB. RabbitMQ.E…
前提 很早之前就打算看一次JUC线程池ThreadPoolExecutor的源码实现,由于近段时间比较忙,一直没有时间整理出源码分析的文章.之前在分析扩展线程池实现可回调的Future时候曾经提到并发大师Doug Lea在设计线程池ThreadPoolExecutor的提交任务的顶层接口Executor只有一个无状态的执行方法: public interface Executor { void execute(Runnable command); } 而ExecutorService提供了很多扩…