自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (2)
  • 收藏
  • 关注

原创 PL真有意思(七):数据抽象和面向对象

前言 在之前的名字、作用域那篇提到模块类型,它使程序员可以从一个给定抽象出发,通过实例化产生多个实例;再后面是类,它使程序员可以定义一族相关的抽象。 在这一篇里,我们会来看一下面向对象程序设计及其三个基本概念、动态方法约束、多重继承等等 面向对象程序设计 随着软件变得越来越复杂,数据抽象已经变成了软件工程中最重要的部分。由模块和模块类型提供的这种抽象至少带来了如下三个好处: 它可以减少程...

2019-11-30 15:29:42 1451

原创 如何打造一个语音聊天室

语音聊天室这个名词可能有点陌生,实际上相关的产品还是很多的,例如游戏里的开黑语音、在线课堂等。语音聊天室可以认为视频直播的前身,很多音视频平台的架构是从语音聊天室演进为视频直播室的。本文主要介绍语音聊天室的架构设计,后面的文章会逐步介绍从语音到视频的演进历程。 语音聊天室怎么实现呢?互联网产品设计万变不离其宗,一套QQ的架构设计可以走遍天下。QQ群聊是怎么实现的,那么把群聊中的文字消息换成语音数...

2019-11-29 15:29:30 1015

原创 剖析nsq消息队列(四) 消息的负载处理

剖析nsq消息队列-目录 实际应用中,一部分服务集群可能会同时订阅同一个topic,并且处于同一个channel下。当nsqd有消息需要发送给订阅客户端去处理时,发给哪个客户端是需要考虑的,也就是我要说的消息的负载。 如果不考虑负载情况,把随机的把消息发送到某一个客服端去处理消息,如果机器的性能不同,可能发生的情况就是某一个或几个客户端处理速度慢,但还有大量新的消息需要处理,其他的客户端处于空闲...

2019-11-28 15:29:48 4470

原创 程序员需要了解的硬核知识之汇编语言(一)

之前的系列文章从 CPU 和内存方面简单介绍了一下汇编语言,但是还没有系统的了解一下汇编语言,汇编语言作为第二代计算机语言,会用一些容易理解和记忆的字母,单词来代替一个特定的指令,作为高级编程语言的基础,有必要系统的了解一下汇编语言,那么本篇文章希望大家跟我一起来了解一下汇编语言。 汇编语言和本地代码 我们在之前的文章中探讨过,计算机 CPU 只能运行本地代码(机器语言)程序,用 C 语言等高...

2019-11-27 15:30:25 10552

原创 [ch02-02] 非线性反向传播

系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力。 2.2 非线性反向传播 2.2.1 提出问题 在上面的线性例子中,我们可以发现,误差一次性地传递给了初始值w和b,即,只经过一步,直接修改w和b的值,就能做到误差校正。因为从它的计算图看,无论中间计算过程有多么复杂,它都是线性的,所以可以一次传到...

2019-11-26 15:30:50 5864 2

原创 大型科技团队的管理

介绍了高效科技组织的特点及管理经验,指出科技团队的定位和使命在于支持业务、赋能业务、最终引领业务,同时,还介绍了面向未来的科技组织的特点及对管理者提出的能力要求。 内容来源 | LeaTech全球CTO领导力峰会宜信公司CTO 高级副总裁向江旭分享《大型科技团队的管理》 主讲人 | 宜信公司CTO 高级副总裁向江旭 实录整理 | 宜信技术学院成芳 引言:11月16日,由51C...

2019-11-26 14:22:10 1104

原创 高德服务单元化方案和架构实践

导读:本文主要介绍了高德在服务单元化建设方面的一些实践经验,服务单元化建设面临很多共性问题,如请求路由、单元封闭、数据同步,有的有成熟方案可以借鉴和使用,但不同公司的业务不尽相同,要尽可能的结合业务特点,做相应的设计和处理。 一、为什么要做单元化 单机房资源瓶颈 随着业务体量和服务用户群体的增长,单机房或同城双机房无法支持服务的持续扩容。 服务异地容灾 异地容灾已经成为核心服务的标配,有...

2019-11-25 14:21:51 911

原创 Freemarker + xml 实现Java导出word

前言 最近做了一个调查问卷导出的功能,需求是将维护的题目,答案,导出成word,参考了几种方案之后,选择功能强大的freemarker+固定格式之后的wordxml实现导出功能。导出word的代码是可以直接复用的,于是在此贴出,并进行总结,方便大家拿走。 实现过程概览 先在word上,调整好自己想要的样子。然后存为xml文件。保存为freemarker模板,以ftl后缀结尾。将需要替换的变量...

2019-11-24 14:20:54 1076

原创 Vue项目使用CSS变量实现主题化

主题化管理经常能在网站上看到,一般的思路都是将主题相关的CSS样式独立出来,在用户选择主题的时候加载相应的CSS样式文件。现在大部分浏览器都能很好的兼容CSS变量,主题化样式更容易管理了。最近,使用CSS变量在Vue项目中做了一个主题化实践,下面来看看整个过程。 Github项目地址演示地址 可行性测试 为了检验方法的可行性,在public文件夹下新建一个themes文件夹,并在themes...

2019-11-23 14:19:53 3730

原创 【Flume】Flume基础之安装与使用

1、Flume简介 ​ (1) Flume提供一个分布式的,可靠的,对大数据量的日志进行高效收集、聚集、移动的服务,Flume只能在Unix环境下运行。 ​ (2) Flume基于流式架构,容错性强,也很灵活简单。 ​ (3) Flume、Kafka用来实时进行数据收集,Spark、Flink用来实时处理数据,impala用来实时查询。 2、Flume角色 2.1 Source ​ ...

2019-11-22 14:19:23 1305 1

原创 [ch01-03]神经网络基本原理

系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力。 前言 For things I don't know how to build, I don't understand. 如果我不能亲手搭建起来一个东西,那么我就不能理解它。 -- 美国物理学家理查德·费曼 在互联网发达的今天,很多知识都可以从...

2019-11-21 14:18:15 1562

原创 系统分析师-软件水平考试(高级)-理论-系统规划

系统分析师-软件水平考试(高级)-理论-系统规划 前言 系统规划是什么东东呢? 通俗点说,就是为了实现企业的战略目标,分析企业现状(技术外部)与系统状况(技术内部),从而提出新的技术要求,对现有系统进行规划设计等变化。 目标是实现企业战略目标; 分析企业现状(了解情况了,才能下手呗。站在技术角度,企业现状就分技术和非技术); 根据掌握的资料,对接下来的系统开发做出规划(技术规划,那...

2019-11-19 14:24:33 1034

原创 Vue躬行记(8)——Vue Router

  虽然Vue.js未提供路由功能,但是官方推出了Vue Router(即vue-router库),以插件的形式支持。它与Vue.js深度集成,可快速的创建单页应用(Single Page Application,SPA)。 一、基本用法   首先需要引入vue和vue-router两个库,如果像下面这样全局引用(即存在全局变量Vue),那么vue-router会自动调用Vue.use()方法...

2019-11-18 14:24:16 863

原创 深入理解java继承从“我爸是李刚”讲起

目录 1、继承的概述 2、关于继承之后的成员变量 3、关于继承之后的成员方法 4、关于继承之后的构造方法 5、关于继承的多态性支持的例子 6、super与this的用法 前言 本文主要多方面讲解java继承,旨在让初学者通俗易懂,至于“我爸是李刚”,反正楼主也不知道谁爸是李刚。 @ 1、继承的概述 1.1、继承的由来 至...

2019-11-17 14:23:51 917

原创 学习下ElasticSearch

ElasticSearch基础概念 Elasticsearch的Head插件安装 Elasticsearch在Centos 7上的安装常见的问题 使用场景:比如分库的情况下,你想统计所有数据的报表,就把所有数据都放在ElasticSearch上 关系型数据库 ElasticSearch 数据库Database 索引index,支持全文检索 表Table ...

2019-11-16 14:22:05 879

原创 Java描述设计模式(19):模板方法模式

本文源码:GitHub·点这里 || GitEE·点这里 一、生活场景 通常一款互联网应用的开发流程如下:业务需求,规划产品,程序开发,测试交付。现在基于模板方法模式进行该过程描述。 public class C01_InScene { public static void main(String[] args) { DevelopApp developApp = n...

2019-11-15 14:21:44 5332 2

原创 SpringBoot 源码解析 (一)----- SpringBoot核心原理入门

Spring Boot 概述 Build Anything with Spring Boot:Spring Boot is the starting point for building all Spring-based applications. Spring Boot is designed to get you up and running as quickly as possibl...

2019-11-14 14:21:52 1388 2

原创 操作系统——文件系统概述、文件逻辑地址、目录、物理地址

一、文件系统概述 软件资源管理信息长期保存的需要存储介质:磁盘、光盘、磁带…完成外存信息的管理和存取 在前面的学习中,我们知道文件也是一种系统资源。 这里先给出文件和文件系统的定义。 1、文件 外存中具有符号名的一组有逻辑意义的信息项的集合。 2、文件系统 指OS中管理文件的那一部分软件。它负责管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并为用户提供一整套...

2019-11-13 14:21:16 5544

原创 abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理八(二十六)

abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(net core)+...

2019-11-12 20:24:11 877

原创 Flink中发送端反压以及Credit机制(源码分析)

上一篇《Flink接收端反压机制》说到因为Flink每个Task的接收端和发送端是共享一个bufferPool的,形成了天然的反压机制,当Task接收数据的时候,接收端会根据积压的数据量以及可用的buffer数量(可用的memorySegment数)来决定是否向上游发送Credit(简而言之就是当我还有空间的时候,我向上游也就是上一个Task的发送端发送一个ack消息,表明我还有空间你可以发送数据...

2019-11-12 12:22:23 1185

原创 restapi(9)- caching, akka-http 缓存

restapi作为前后端交互的枢纽:面对大批量的前端请求,需要确保回复的及时性。使用缓存是一项有效工具。我们可以把多数前端请求的回复response存入缓存,特别是一些需要大量计算才能获取的回复值,更可以大大提高后端的反应速度。值得庆幸的是akka-http已经提供了对缓存的支持,是基于java8caffein的一套缓存操作工具包的。下面就介绍一下akka-http的caching。 akka...

2019-11-11 20:21:01 864

转载 【工利其器】必会工具之(八)PMD篇——代码分析工具基本使用

转载请申明,转载自【https://www.cnblogs.com/andy-songwei/p/11830812.html】,谢谢! 如今,使用代码分析工具来代替人工进行代码审查,已经是大势所趋了。用于Java代码检测的工具中,不乏许许多多的佼佼者,其中PMD就是其中一款。PMD既可以独立运行,也可以以命令行的形式运行,还可以作为插件在IDE中运行,本文将基于在An...

2019-11-10 20:20:25 1362

转载 网络编程面试题

网络编程面试题 1、tcp和udp的区别 TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。 UDP---用户数据报协议...

2019-11-10 17:39:17 1186

原创 如何正确停止线程

1、原理介绍: 使用interrupt来通知,而不是强制。 在Java中,最好的停止线程的方式是使用中断 Interrupt,但是这仅仅是会通知到被终止的线程“你该停止运行了”,被终止的线程自身拥有决定权(决定是否、以及何时停止),这依赖于请求停止方和被停止方都遵守一种约定好的编码规范。 任务和线程的启动很容易。在大多数时候,我们都会让它们运行直到结東,或者让它们自行停止。然而有时候我们希望...

2019-11-10 12:19:02 1079

原创 PyCharm的几个使用技巧

  PyCharm是个十分强大的Python编辑器,笔者在日常的工作中学到了很多该IDE的使用技巧,有的是从别人那里学到的,有的是自己学习的。笔者深感自己的开发能力不足,因此希望能够将这些使用技巧记录下来,同时也把这些使用技巧分享给读者,希望能对读者有所帮助。   以下将介绍几个简单的PyCharm使用技巧。以Mac系统中的PyCharm使用为例。 自定义文件头   在实际的代码编写中,我们需...

2019-11-09 20:17:47 8072 7

转载 两道设计模式的面试题

两道设计模式的面试题 Binhua Liu 这是最近碰到的2个设计模式的面试题,大概如此: 1, Windows Media Player和RealPlayer是常用的媒体播放器,它们的API结构和调用方法非常不同,现在你的应用需要同时支持调用这2种播放器的API。你要怎么设计? 2, 现在有一种空调,它支持3种模式:Hot Air,Cool Air 和DoNothing。例如,当...

2019-11-09 17:39:04 1335

原创 搭建邮件服务器,使用Postfix与Dovecot收发电子邮件

小知识: 我们为什么要搭建邮件服务器呢?有时候我们处于一个局域网内,不能及时的分享各自的研究成果,迫切的需要一种能够借助于网络且建立在计算机之间的传输数据的方法。所以我们需要搭建邮件服务器,这样的话既可以传输信息,又安全。 Postfix是一款由IBM出资研发的免费开源的邮局服务程序,兼容于Sendmail服务程序,即Sendmail用户可以很方便的迁移到Postfix程序,且收发件性能远超过...

2019-11-08 20:24:33 1652

转载 vue 面试题 2019

vue核心知识点 1、对于Vue是一套渐进式框架的理解 渐进式代表的含义是:主张最少。 Vue可能有些方面是不如React,不如Angular,但它是渐进的,没有强主张,你可以在原有大系统的上面,把一两个组件改用它实现,当jQuery用;也可以整个用它全家桶开发,当Angular用;还可以用它的视图,搭配你自己设计的整个下层用。你可以在底层数据逻辑的地方用OO和设计模式的那套理念,也可以函数...

2019-11-08 17:39:03 947

转载 微信协议

安卓微信的api,个人微信开发API协议,微信 ipad sdk,微信ipad协议,微信web版接口api,微信网页版接口,微信电脑版sdk,微信开发sdk,微信开发API,微信协议,微信接口文档sdk,替代微信ipad协议的api接口,网页个人微信api分享,微信机器人SDK接口API,个人微信号API接口,微信群API接口1、基础消息类型1、客户端发送的心跳包HeartBeatReq = 10...

2019-11-08 15:51:50 551

原创 python中@property装饰器的使用

目录 python中@property装饰器的使用 1、引出问题 2、初步改善 3、使用@property 4、解析@property 5、总结 python中@property装饰器的使用 1、引出问题 在为一个类实例绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参...

2019-11-08 12:22:59 1137

原创 动态数据掩码

动态数据掩码(Dynamic Data Masking,简称为DDM)能够防止把敏感数据暴露给未经授权的用户。DDM作用于数据表的字段上,在查询结果中隐藏敏感数据。启用DDM不会修改表中的数据,只是把查询结果对未经授权的用户屏蔽,使未授权用户看到的查询结果是被掩码的,例如,第二列是号码列,前7个数字被掩码,只暴露后三位数字: 动态数据屏蔽在SQL Server 2016 (13.x)和A...

2019-11-07 20:21:13 1759

转载 Java面试题04-final关键字详解

Java面试题04-final关键字详解   本篇博客将会讨论java中final关键字的含义,以及final用在什么地方,感觉看书总会有一些模糊,而且解释的不是很清楚,在此做个总结,以备准备面试的时候查看。针对每个解释,会在需要的地方给出代码说明,有兴趣的读者可自行实现。   转载说明----------原文链接:随风浪子90:http://www.cnblogs.com/liun1994/...

2019-11-07 17:40:28 931

原创 ElasticSearch中文分词器-IK分词器的使用

IK分词器的使用 首先我们通过Postman发送GET请求查询分词效果 GET http://localhost:9200/_analyze{ "text":"农业银行"} 得到如下结果,可以发现es的默认分词器无法识别中文中农业、银行这样的词汇,而是简单的将每个字拆完分为一个词,这显然不符合我们的使用要求。 { "tokens": [ { ...

2019-11-07 12:19:35 955

原创 微软的分布式应用框架 Dapr Helloworld

Dapr HelloWorld Dapr Distributed Application Runtime. An event-driven, portable runtime for building microservices on cloud and edge. 分布式应用运行时、事件驱动、为云和边缘构建微服务提供便携化运行时。 我现在也不是很懂。 dapr/dapr ...

2019-11-06 20:18:14 1415

转载 selenium 常见面试题以及答案

1.怎么 判断元素是否存在? 判断元素是否存在和是否出现不同, 判断是否存在意味着如果这个元素压根就不存在, 就会抛出NoSuchElementException 这样就可以使用try catch,如果catch到NoSuchElementException 就返回false 2.如何判断元素是否出现? 判断元素是否出现,存在两种情况,一种是该元素压根就没有,自然不会出现;另外一种是有这...

2019-11-05 17:39:09 1749

转载 你必须知道的容器监控 (3) Prometheus

本篇已加入《.NET Core on K8S学习实践系列文章索引》,可以点击查看更多容器化技术相关系列文章。上一篇介绍了Google开发的容器监控工具cAdvisor,但是其提供的操作界面较为简陋,且不支持监控多Host,实用性有待提高。因此,本篇会介绍一个流行的生产级监控工具,不,准确说来应该是一个监控方案,它就是Prometheus! # 实验环境:阿里云ECS主机(两台),CentOS 7...

2019-11-05 12:24:03 1081

原创 程序员的路是一行一行走出来的

01、大学 回想十年前,我还是一名大学生,傻乎乎的对未来没有任何的规划。每天就知道混日子,打打游戏、谈谈恋爱。至于毕业后能不能找到一份工作,心里完全没个底。 非常遗憾的是,那时候没有遇到一个像现在的我这么贴心的老哥给指导一下。 哎,年轻人,看你天资聪慧,不如趁着大把的时间,读读《代码大全》、《人月神话》、《人件》、《代码的整洁之道》等等经典名著,这将对你的未来大有裨益。如果文笔还不错的话,还...

2019-11-04 20:23:42 864 1

原创 一个普通类就能干趴你的springboot,你信吗?

  先声明本人并不是标题党,如果看了本篇文章并且认为没有得到任何收获,请您随便留言骂我,本人绝不还口,已经对springboot了如指掌大大神,求放过!   不BB了,直接上代码,请各位在自己的springboot项目随便一个包下复制进去如下类(不要修改什么东西),如果你的springboot还能站起来算我输! @Componentpublic class Environment {...

2019-11-04 12:21:20 904

原创 docker-compose下的java应用启动顺序两部曲之二:实战

上篇回顾 本文是《docker-compose下的java应用启动顺序两部曲》的终篇,在上一篇《docker-compose下的java应用启动顺序两部曲之一:问题分析》中,我们以SpringCloud环境下的注册中心和业务服务为例,展示了docker-compose.yml中depends_on参数的不足:即只能控制容器创建顺序,但我们想要的是eureka服务就绪之后再启动业务服务,并且doc...

2019-11-03 20:22:13 942

转载 几道大数据面试题

首先处理大数据的面试题,有些基本概念要清楚: (1)1Gb = 109bytes(1Gb = 10亿字节):1Gb = 1024Mb,1Mb = 1024Kb,1Kb = 1024bytes; (2)基本流程是,分解大问题,解决小问题,从局部最优中选择全局最优;(当然,如果直接放内存里就能解决的话,那就直接想办法求解,不需要分解了。) (3)分解过程常用方法:hash(x)%m。其中x为字...

2019-11-03 17:38:31 838

wangeditor3集成highlightJs实现代码高亮

wangeditor3.x版本开始,不再支持highlight.js语法高亮,作者将语言选择的下拉选择给去掉了,不过在GitHub上给出了实现思路,我参照他的思路实现了此功能,大家如果不愿意动手,或者前端基础薄弱的,可直接下载我这个,亲测可用!

2020-09-29

SwingQQ详解(不才之作,敬请欣赏)

用Swing模仿QQ,实现了简单的聊天、添加删除修改群组、添加删除好友、收到消息头像闪烁,可以发送文字(样式)和图片,详情大家转到:http://www.iteye.com/topic/1137293

2015-03-02

空空如也

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

TA关注的人

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