Spring Cloud 系列之 ZooKeeper 注册中心

什么是注册中心 服务注册中心是服务实现服务化管理的核心组件,类似于目录服务的作用,主要用来存储服务信息,譬如提供者 url 串、路由信息等。服务注册中心是微服务架构中最基础的设施之一。 注册中心可以说是微服务架构中的“通讯录”,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服 ...

three.js 着色器材质之变量(二)

上一篇郭先生在例子中用到了着色器变量中的uniform和varying。这篇继续结合例子将一下attribute变量,在使用过程中也发现由于three.js的版本迭代,之前的一些属性和参数已经发生了改变,ShaderMaterial也不需要传递attributes属性值,查看源码我们可以看到如果传递 ...

可用于区块链的共识算法

引言 两军问题 拜占庭将军问题 如何解决拜占庭将军问题? 司令副官模型 PBFT(Practical Byzantine Fault Tolerance) 比特币的POW共识 POS(Proof of Stake)共识 DPOS(Delegated Proof of Stake)共识 总结 引言 上 ...

Spark Streaming——Spark第一代实时计算引擎

虽然SparkStreaming已经停止更新,Spark的重点也放到了 Structured Streaming ,但由于Spark版本过低或者其他技术选型问题,可能还是会选择SparkStreaming。 SparkStreaming对于时间窗口,事件时间虽然支撑较少,但还是可以满足部分的实时计算 ...

MinIO很强-让我放弃FastDFS拥抱MinIO的8个理由

目前可用于文件存储的网络服务选择有很多,比如阿里云OSS、七牛云、腾讯云等等,但是收费都有点小贵。为了帮公司节约成本,之前一直是使用fastDFS作为文件服务器,准确的说是图片服务器。直到我发现了MinIO,我决定放弃FastDFS。 关于MinIO的使用方法,我就不说了。大家去看MinIO官网地址 ...

mysql存储引擎InnoDB详解,从底层看清InnoDB数据结构

InnoDB一个支持事务安全的存储引擎,同时也是mysql的默认存储引擎。本文主要从数据结构的角度,详细介绍InnoDB行记录格式和数据页的实现原理,从底层看清InnoDB存储引擎。 本文主要内容是根据掘金小册《从根儿上理解 MySQL》整理而来。如想详细了解,建议购买掘金小册阅读。 InnoDB简 ...

如何利用NLog输出结构化日志,并在Kibana优雅分析日志?

上文我们演示了使用NLog向ElasticSearch写日志的基本过程(输出的是普通文本日志),今天我们来看下如何向ES输出结构化日志、并利用Kibana中分析日志。 什么是结构化日志? 当前互联网、物联网、大数据突飞猛进,软件越复杂,查找任何给定问题的起因就越困难(且成本更高)。 在实践中我们开发 ...

JVM系列之:从汇编角度分析NullCheck

简介 之前我们在讲Virtual call的时候有提到,virtual call方法会根据传递的参数实例的不同而进行优化,从而优化成为classic call,从而提升执行效率。 今天我们考虑一下,在virtual call中执行nullcheck的时候,如果已经知道传递的参数是非空的。JIT会对代 ...

设计模式之模板方法

模板方法模式 Template Method Intro 模板方法模式,定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算的结构即使重定义该算法的某些特定步骤 这里的“算法”,我们可以理解为广义上的“业务逻辑”,并不特指数据结构和算法中的“算法”。这里的算法骨架就是 ...

能动手绝不多说:开源评论系统remark42上手指南

能动手绝不多说:开源评论系统 remark42 上手指南 前言 写博客嘛, 谁不喜欢自己倒腾一下呢。 从自建系统到 Github Page, 从 Jekyll 到 Hexo, 年轻的时候谁不喜欢多折腾折腾呢。 年纪稍稍长了一下之后, 最后我自己还是选了 Hexo 直接做静态博客生成, 结合一下 Gi ...

.NETCore微服务探寻(四) - 远程过程调用(RPC)

前言 一直以来对于.NETCore微服务相关的技术栈都处于一个浅尝辄止的了解阶段,在现实工作中也对于微服务也一直没有使用的业务环境,所以一直也没有整合过一个完整的基于.NETCore技术栈的微服务项目。正好由于最近刚好辞职,有了时间可以写写自己感兴趣的东西,所以在此想把自己了解的微服务相关的概念和技 ...

配置Django-TinyMCE组件支持上传图片功能

Django自带的Admin后台,好用,TinyMCE作为富文本编辑器,也蛮好用的,这两者结合起来在做博客的时候很方便(当然博客可能更适合用Markdown来写),但是Django-TinyMCE这个组件默认没有图片上传功能的,需要我们自己实现,本文将一步步带大家实现这个图片上传功能。 读者也可以举 ...

CenterNet文献调研记录

CenterNet文献调研记录。 本文部分思路参考: 1. Anchor-Free 2. http://zhuanlan.zhihu.com/p/66048276 3. http://blog.csdn.net/u014380165/article/details/92801206 在此由衷感谢 ...

深入探究JVM之方法调用及Lambda表达式实现原理

@ 前言 在最开始讲解JVM内存结构的时候有简单分析过方法的执行原理——每一次方法调用都会生成一个栈帧并压入栈中,方法链的执行就是一个个栈帧弹出栈的过程,本篇就从字节码层面详细分析方法的调用细节。 正文 解析 Java中方法的调用对应字节码有5条指令: invokestatic:用于调用静态方法。 ...

有趣的请求参数/请求头

参考 大佬的文章 我的Web应用安全模糊测试之路 WebFuzzing方法和漏洞案例总结 实战笔记之服务端逻辑重构漏洞 大佬的字典 fuzzDicts 前言 加一个参数就是一个洞。在挖洞的时候,我注意到一些特殊的请求参数,比如说 output、retype、callback、fun、width、he ...

Docker初探之常用命令实践

在正式使用Docker之前,我们先来熟悉下Docker中常用的命令,因为对Docker的操作就如同操作Linux一样,大部分操作通过命令完成。 一、登录 为什么要使用登录? 因为我们使用Docker,其实主要使用镜像从而运行容器。那么镜像可以通过仓库获得,因为仓库是集中存放镜像的地方。有的仓库是公开 ...

关于线程池的五种实现方式,七大参数,四种拒绝策略

一、池化技术之线程池 什么是池化技术?简单来说就是优化资源的使用,我准备好了一些资源,有人要用就到我这里拿,用完了就还给我。而一个比较重要的的实现就是线程池。那么线程池用到了池化技术有什么好处呢? 降低资源的消耗 提高响应的速度 方便管理 也就是 线程复用、可以控制最大并发数、管理线程 二、线程池的 ...

搭建MyBatis开发环境及基本的CURD

一、MyBatis概述 首先就是之前Java web中的三层结构 界面层: 和用户打交道的, 接收用户的请求参数, 显示处理结果的。(jsp ,html ,servlet) 业务逻辑层: 接收了界面层传递的数据,计算逻辑,调用数据库,获取数据 数据访问层: 就是访问数据库, 执行对数据的查询,修改, ...

NIO(三):Selector选择器

一.堵塞式与非堵塞式 在传统IO中,将数据由当前线程从客户端传入服务端,由服务端的内核进行判断传过来的数据是否合法,内核中是否存在数据。 如果不存在数据 ,并且数据并不合法,当前线程将会堵塞等待。当前线程将无法进行下一步传输,进行排队现象。降低系统性能。 为了解决这一步问题,调用资源开辟多个线程传输 ...

<1···199200