自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 主要内容如producer的confirm和consumer的ack

本篇和大家分享的是关于rabbit的生产和消费方的一些实用的操作;正如文章标题,主要内容如producer的confirm和consumer的ack,这两者使用的模式都是用来保证数据完整性,防止数据丢失。producer的confirm模式consumer的ack模式producer的confirm模式首先,有这样一种业务场景1:a系统在做活动前,需要给用户的手机发送一条活动内容短信希望...

2019-08-30 20:46:59 210

原创 C# NAudio录音和播放音频文件-实时绘制音频波形图(从音频流数据获取,而非设备获取)

  NAudio的录音和播放录音都有对应的类,我在使用Wav格式进行录音和播放录音时使用的类时WaveIn和WaveOut,这两个类是对功能的回调和一些事件触发。  在WaveIn和WaveOut之外还有对音频流读写使用的WaveFileWriter和WaveFileReader类,具体细节可查看其源码进行分析。  其中绘制音频波形图根据录制和播放需要不同途径实现。  1.录音时实时显...

2019-08-30 14:27:32 5893 3

原创 什么是seq2seq

  1. 什么是seq2seq    在⾃然语⾔处理的很多应⽤中,输⼊和输出都可以是不定⻓序列。以机器翻译为例,输⼊可以是⼀段不定⻓的英语⽂本序列,输出可以是⼀段不定⻓的法语⽂本序列,例如:    英语输⼊:“They”、“are”、“watching”、“.”    法语输出:“Ils”、“regardent”、“.”    当输⼊和输出都是不定⻓序列时,我们可以使⽤编码器—解码...

2019-08-30 11:10:52 782

原创 通过2-3树理解红黑树

一、简介  前面的文章我们循序渐进的讲解了《二叉树》《二分搜索树》《AVL-平衡二叉树》,从左至右互为基础。尤其是二分搜索树给了我们如何将数据组织成为搜索树的思想,当然二分搜索树存在的天然问题--在极端情况下回退化为链表。所以引出了AVL-平衡二叉树,通过再平衡即LL,LR,RR,RL四个旋转操作维护了一棵平衡的二分搜索树。本章节我们继续梳理一个高阶的树结构即:红黑树。想必大家都知道,红黑树如何...

2019-08-29 23:16:30 168

原创 程序和进程

什么是程序?什么是进程?程序是计算机存储系统中的数据文件,如源代码程序和可执行程序进程是程序关于某个数据集合的一次运行活动,是程序执行后得到的一个实体在当代操作系统中,进程是资源分配的基本单位程序和进程有什么联系?没有程序就没有进程;但有了程序,未必就会有进程,如程序不运行、程序本身是动态库等一个程序可能对应多个进程,如记事本程序多次运行,产生多个记事本进程一个进程可能包含多个程...

2019-08-29 22:55:52 578

原创 .Net使用HttpClient以multipart/form-data形式post上传文件及其相关参数

  目录导航:    前言:    什么是multipart/form-data请求:    Html上传图片按钮:    使用ajax将图片文件流和相关参数传递到后端进行拼接:    后端接收图片和参数,并将图片文件流转化为图片字节类型数据:    重点,HttpClient拼接multipart/form-data形式参数post提交数据:    使用Fiddler...

2019-08-29 09:27:20 3742

原创 Log4j2源码分析系列:(一)配置加载

对于log4j2,配置文件有几类:properties、xml、json/jsn以及yaml/yml,平常我们用xml居多。一般情况下,我们会创建log4j2.xml放到项目的/resources文件夹下。大部分使用maven管理依赖的项目也可能分环境配置,不同环境读取不同的log4j2文件,这时它一般在/profiles/${env}/文件夹下。大多数人,应该是“借鉴”其他项目,把配置复...

2019-08-28 21:19:19 255

原创 专注于.NET技术与企业级解决方案研究应用

C# HTTP系列13 以form-data方式上传多个文件以及键值对集合到远程服务器类似于以下场景,将表单中的用户信息(包含附件)上传到服务器并保存到数据库中,复制代码<form id="form1" runat="server" action="UserManageHandler.ashx" method="post" enctype="multipart/form-data"&...

2019-08-28 11:34:45 254

原创 ASP.NET Core 中的 ServiceProvider

  前言#    在 ASP.NET Core 中,微软提供了一套默认的依赖注入实现,该实现对应的包为:Microsoft.Extensions.DependencyInjection,我们可以通过查看其对应的开源仓库看一下它的具体实现。基于该实现,我们不必显式创建我们的服务对象,可以将其统一注入到 ServiceProvider 中进行集中维护,使用的时候直接在该对象中获取即可。让我们在编写...

2019-08-28 10:50:39 798

原创 HelloGitHub》

  01、颓丧的感觉    颓丧,一般指精神萎靡不振,情绪消沉,多用于消极的人身上;有时候也用于别处,比如说《红楼梦》第七六回中就有一句:“因又叹道:‘诗固新奇,只是太颓丧了些!’”    不管怎么说,这个词相关的主题很少会在朋友圈看到;因为人们需要树立积极向上的正能量形象嘛。    我呢,是一个比较随心的程序员。颓丧的时候也发了一条朋友圈说:    由于感冒,浑身乏力,整个人就特...

2019-08-28 10:18:49 541

原创 性能瓶颈分析思路

复制代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Login</title> <meta name="viewport" content="width=device-width, initial-s...

2019-08-27 11:33:07 215

原创 HBase过滤器简介#

一、HBase过滤器简介#Hbase 提供了种类丰富的过滤器(filter)来提高数据处理的效率,用户可以通过内置或自定义的过滤器来对数据进行过滤,所有的过滤器都在服务端生效,即谓词下推(predicate push down)。这样可以保证过滤掉的数据不会被传送到客户端,从而减轻网络传输和客户端处理的压力。二、过滤器基础#2.1 Filter接口和FilterBase抽象类#Filt...

2019-08-26 10:03:36 682 1

原创 python实例:自动保存百度盘资源到百度盘中

本实例的实现逻辑是,应用selenium UI自动化登录百度盘,读取存储百度分享地址和提取码的txt文档,打开百度盘分享地址,填入提取码,然后保存到指定的目录中全部代码如下:复制代码# -*-coding:utf8-*-# encoding:utf-8import timefrom selenium import webdriverbrowser = webdriver.C...

2019-08-25 22:06:11 590 1

原创 Java中的循环依赖分两种

前言 说起Spring中循环依赖的解决办法,相信很多园友们都或多或少的知道一些,但当真的要详细说明的时候,可能又没法一下将它讲清楚。本文就试着尽自己所能,对此做出一个较详细的解读。另,需注意一点,下文中会出现类的实例化跟类的初始化两个短语,为怕园友迷惑,事先声明一下,本文的实例化是指刚执行完构造器将一个对象new出来,但还未填充属性值的状态,而初始化是指完成了属性的依赖注入。...

2019-08-25 07:39:47 4722

原创 减少DOM的获取与修改次数

  面试官经常会问你:“平时工作中,你怎么优化自己应用的性能?”    你回答如下:“我平时遵循以下几条原则来优化我的项目、以提高性能,主要有:”    a. 减少DOM操作的次数(减少DOM的获取与修改次数)    b. 减少网络请求    c. 压缩、合并静态资源文件(css、js、img等)    d. 小图片文件base64化处理    e. js少用全局变量  ...

2019-08-24 20:59:12 538

原创 HBase 系列(二)—— HBase 系统架构及数据结构

一、基本概念一个典型的 Hbase Table 表如下:1.1 Row Key (行键)Row Key是用来检索记录的主键。想要访问 HBase Table 中的数据,只有以下三种方式: 通过指定的Row Key进行访问; 通过 Row Key 的 range 进行访问,即访问指定范围内的行; 进行全表扫描。 Row Key可以是任意字符串,存...

2019-08-24 09:40:21 159

原创 P(Ci) 和P(Xi|Ci) 一般不直接使用样本的频率计算出来

  摘要:    朴素贝叶斯也是机器学习中一种非常常见的分类方法,对于二分类问题,并且数据集特征为离散型属性的时候,    使用起来非常的方便。原理简单,训练效率高,拟合效果好。    朴素贝叶斯    贝叶斯公式:    朴素贝叶斯之所以称这为朴素,是因为假设了各个特征是相互独立的,因此假定下公式成立:    则朴素贝叶斯算法的计算公式如下:    在实际计算中,上面...

2019-08-23 21:37:12 671

原创 SpringBoot中快速实现邮箱发送

  前言    在许多企业级项目中,需要用到邮件发送的功能,如:    注册用户时需要邮箱发送验证    用户生日时发送邮件通知祝贺    发送邮件给用户等    创建工程导入依赖    Copy    <!-- 邮箱发送依赖 -->    <dependency>    <groupId>org.springframewor...

2019-08-23 18:43:30 435

原创 asp.net core系列 71 Web架构分层指南

  本章Web架构分层指南,参考了“Microsoft应用程序体系结构指南”(该书是在2009年出版的,当时出版是为了帮助开发人员和架构师更快速,更低风险地使用Microsoft平台和.NET Framework设计和构建有效,高质量的应用程序)。虽然已过去十年了,技术架构已更新(如流行的DDD/CQRS模式,微服务,容器),但web分层思想还是一样可取,下面是一个“传统N分层设计”架构图,该架构...

2019-08-23 09:48:34 868

原创 逻辑回归(Logistic Regression)

逻辑回归(Logistic Regression)什么是逻辑回归:  逻辑回归(Logistic Regression)是一种基于概率的模式识别算法,虽然名字中带"回归",但实际上是一种分类方法,在实际应用中,逻辑回归可以说是应用最广泛的机器学习算法之一回归问题怎么解决分类问题?  将样本的特征和样本发生的概率联系起来,而概率是一个数.换句话说,我预测的是这个样本发生的概率是多少,...

2019-08-22 23:45:27 1199

原创 剑指offer总结一:字符、数字重复问题

  目录    问题1:字符串中第一个不重复的字符    问题2:数组中重复的数字    问题3:数组中只出现一次的数字    问题4:数组中出现次数超过一半的数字    总结    正文    回到顶部    问题1:字符串中第一个不重复的字符    题目描述    请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"...

2019-08-22 11:20:51 191

原创 Socket通信封装MIna框架--含羞代放

  Mina异步IO使用的Java底层JNI框架,Mina提供服务端和客户端,将我们的业务解耦开发.真正做到高内聚低耦合的思想    核心类    IoService :Mina中将服务端和客户端都看成是服务,这里提供统一接口IoService,这个接口的作用就是用来处理套接字机制。也正是IoService来监听消息返回消息这些步骤,    可以说IoService就是我们Mina中核...

2019-08-21 15:42:26 119

原创 基于ZooKeeper的三种分布式锁实现

  数据库,作为IT系统的基础类软件,发挥着非常巨大的作用。那么企业在使用数据库时,有什么样的方式可以选择?不同方式又各有其什么特点呢?本文将从使用方式、适用场景、未来发展、成本因素(人力、财务、时间)及风险点等多角度分析十二种情况(前六种为本地方式,后六种为云端方式)。    方式1:商业数据库 + 商业服务    这是比较传统的一种方式。企业购买大型商业数据库软件,并对应购买服务支持工...

2019-08-21 10:16:49 409

原创 三元简化模型,助你加速团队成长

很早之前,现代管理之父德鲁克提出过一个影响深远的观点,“21世纪的组织,最有价值的资产是组织内的知识工作者和他们的生产力。”现代企业的各位管理者,遇到最大的两类问题就是战略和组织,看不到、想不到、做不到,这“三不到”的问题归根结底都是人的问题。能够看到、想到、做到“重视人才”的企业,成功的概率总是会大那么一点点的。你的公司呢?阿里有一句话流传甚广,“员工是公司借给你的资产,你的责任就是让...

2019-08-20 18:22:42 137

转载 一个简单 Spring Boot 项目

Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下。首先构建一个简单的 Spring Boot 项目,然后给项目添加 Docker 支持,最后对项目进行部署。一个简单 Spring Boot 项目在pom.xml中 ,使用 Spring Boot 2.0 相关依赖<paren...

2019-08-20 10:25:02 134

原创 几个主要的概念&常用缓存注解#

  几个主要的概念&常用缓存注解#    名称 解释    Cache 缓存接口,主要实现由 RedisChache, EhCacheCachem , ConcurrentMapCache    CacheManager 缓存管理器,管理存放着不同类型的缓存 Cache 组件    @Cacheable 加在方法上,根据方法的请求参数对结果进行缓存...

2019-08-19 21:04:52 384

原创 彻底搞懂零拷贝

  为了彻底搞懂零拷贝,我们趁热打铁,接着上一节来继续讲解零拷贝的底层原理。    2|0感受一下NIO的速度    之前的章节中我们说过,Nio并不能解决网络传输的速度。但是为什么很多人却说Nio的速度比传统IO快呢?    没错,zero copy。我们先抛出一个案例,然后根据案例来讲解底层原理。    首先,我们实现一个IO的服务端接受数据,然后分别用传统IO传输方式和NIO...

2019-08-19 17:44:11 2689

原创 从SpringBoot构建十万博文聊聊高并发文章浏览量设计

  在经历了,缓存、限流、布隆穿透等等一系列加强功能,十万博客基本算是成型,网站上线以后也加入了百度统计来见证十万+ 的整个过程。    但是百度统计并不能对每篇博文进行详细的浏览量统计,如果做一些热点博文排行、48小时排行之类统计,还需要引入浏览量统计功能。    设计    通常情况下,我们只需要每次请求浏览量+1,但是这样真的好吗?或者更直白的讲,真实浏览数准确吗?    U...

2019-08-19 09:02:54 899

原创 .NET World——gPRC概览

gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, ...

2019-08-18 22:31:17 267

原创 构建企业级数据湖?

相较传统的重量级OLAP数据仓库,“数据湖”以其数据体量大、综合成本低、支持非结构化数据、查询灵活多变等特点,受到越来越多企业的青睐,逐渐成为了现代数据平台的核心和架构范式。数据湖的核心功能,简单地可以分为数据存储与数据查询计算两个部分,在云端可以有多种的实现选择。在之前的文章中,我们曾介绍Azure上Azure Data Lake Storage (ADLS Gen1)和Azure Data...

2019-08-18 11:15:06 428

原创 限流必然带来性能损失,如何避免?

计数器计数器限流可以分为:固定窗口滑动窗口固定窗口固定窗口计数器限流简单明了,就是限制单位之间内的请求数,比如设置QPS为10,那么从一开始的请求进入就计数,每次计数前判断是否到10,到达就拒绝请求,并保证这个计数周期是1秒,1秒后计数器清零。以下是利用redis实现计数器分布式限流的实现,曾经在线上实践过的lua脚本:local key = KEYS[1]local lim...

2019-08-18 00:14:57 762

原创 ZooKeeper系列(五)—— ACL 权限控制

一、前言#为了避免存储在 Zookeeper 上的数据被其他程序或者人为误修改,Zookeeper 提供了 ACL(Access Control Lists) 进行权限控制。只有拥有对应权限的用户才可以对节点进行增删改查等操作。下文分别介绍使用原生的 Shell 命令和 Apache Curator 客户端进行权限设置。二、使用Shell进行权限管理#2.1 设置与查看权限#想要给...

2019-08-17 14:08:16 274

原创 tensorflow学习笔记——图像数据处理

喜欢摄影的盆友都知道图像的亮度,对比度等属性对图像的影响是非常大的,相同物体在不同亮度,对比度下差别非常大。然而在很多图像识别问题中,这些因素都不应该影响最后的结果。所以本文将学习如何对图像数据进行预处理使训练得到的神经网络模型尽可能小地被无关因素所影响。但与此同时,复杂的预处理过程可能导致训练效率的下降。为了减少预处理对于训练速度的影响,后面也学习多线程处理输入数据的解决方案。  在大部分图...

2019-08-17 10:38:13 479

原创 浅而已见的Java的编译期与运行期

不知大家有没有思考过,当我们使用IDE写了一个Demo类,并执行main函数打印 hello world时都经历了哪些流程么?想通过这篇文章来分析分析Java的执行流程,或者换句话说想聊聊Java的编译期与运行期的流程。开门见山 编译期间都做了什么 运行期间都做了什么1. 开门见山public class MyApp { public static void mai...

2019-08-16 23:55:54 196

原创 Java基础:注解处理器(使用反射)

1、注解概述从JDK5.0开始,Java增加对元数据(MetaData)的支持,也就是注解(Annotation)。其实我们早就已经接触过注解了,例如我们经常在Java代码中可以看到 “@Override”,“@Test”等等这样的东西,它们就是Java中的注解。注解可以像修饰符一样使用,可以用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明。我们需要注意的是,注解与注释是有一定...

2019-08-16 17:53:55 285

原创 ZooKeeper实现同步屏障(Barrier)

按照维基百科的解释:同步屏障(Barrier)是并行计算中的一种同步方法。对于一群进程或线程,程序中的一个同步屏障意味着任何线程/进程执行到此后必须等待,直到所有线程/进程都到达此点才可继续执行下文。使用请客吃饭的场景:一张桌子坐四个人,四个人都到齐后,才能开饭;四个人都吃完以后,才能离开。1 实现原理为一个餐桌创建一个节点如/table-3,每一个客人是它的一个子节点/ta...

2019-08-16 11:17:44 205

原创 重学计算机组成原理(六)- 函数调用怎么突然Stack Overflow了!

全球最大的程序员问答网站,名字来自于一个常见的报错,就是栈溢出(stack overflow)从函数调用开始,在计算机指令层面函数间的相互调用是怎么实现的,以及什么情况下会发生栈溢出1 栈的意义先看一个简单的C程序function.c 直接在Linux中使用GCC编译运行[hadoop@JavaEdge Documents]$ vim function.c[h...

2019-08-15 23:28:48 164

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除