- 博客(69)
- 资源 (21)
- 收藏
- 关注
原创 S0003-Mac下iTerm2+zsh+ohmyzsh打造优雅美观终端
优雅耐看的终端工具,必是每个程序员的追求。其中windows terminal + zsh、mac terminal + zsh这两套是我windows、mac分别正在使用的组合,已经算是很美观、优雅了。但追求永无止境!
2023-09-27 16:52:51 496
原创 Windows系统部署Python开发环境
软件准备下载好Python的安装包和VScode的安装包。下载地址如下:Python:https://www.python.org/downloads/VScode:https://code.visualstudio.com/安装过程中要注意勾选“将python配置到环境变量中”检查python是否安装成功检查方法如下:1、打开cmd,输入python,点击回车。2、退出、输入pip list,检查第三方的包正确不。安装第三方的包通过python自带的pip工具,安装配置VScode
2022-02-17 17:35:17 297
原创 1、短信预警的思考
有短信预警功能的服务,如果出现服务下线(10秒钟),就会收到短信预警通知。一个服务平均每天部署310次,每天310条短信。每月90-300条短信。每年1080条-3600条。平均每条短信1分钱,假设公司300人可收短信,服务数300个。短信成本=(10.8~36) * 300 * 300 =97.2万~324万光短信每年就有几百万的支出。建议全部改成钉钉或者企业微信通知...
2022-01-05 22:40:24 232
原创 插入排序
简介插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂。插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序和冒泡排序一样,也有一种优化算法,叫做拆半插入。插入排序算法的运作如下:将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适
2021-03-01 16:01:13 189
原创 中小微型开发架构实战之2 jdbc
JDBC什么是JDBC维基百科的简介:Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。JDBC是面向关系型数据库的。简单地说,就是用于执行SQL语句的一类JavaAPI,通过JDBC使得我们可以直接使用Java编程来对关系数据库进行操作。通过封装,可以使开发人员使用纯Java API完成SQL的执
2021-02-24 17:33:13 139
原创 中小微型开发架构实战之1 契子
很多人对于契子不了解,通俗讲就是长篇小说的引子,以便引出正文。本系列文章定位中小微企业甚至个人等架构技术,不求覆盖全面,市面流行;但求所学梳理,求真求知。每一篇都可独立出去,每一遍都包含独立的实现。内容涵盖文字说明,源码,配图。会反复修改已达到通俗易通。本系列博客依赖基础设施。关系型数据库(博主使用的是腾讯云服务器上自建mariadb数据库)数据库安装方式java开发环境(博主使用的是1.8.0_181)开发工具(idea)数据库连接工具(datagrip)...
2020-09-27 11:27:14 266
原创 选择排序
简介我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。 排序算法大体可分为两种: * 比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 * 非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。如下图 有一点我们很容易忽略的是排序算法的稳定性(腾讯...
2018-08-29 15:48:33 292
原创 冒泡排序升级版-鸡尾酒排序
简介我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。 排序算法大体可分为两种: * 比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 * 非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。如下图 有一点我们很容易忽略的是排序算法的稳定性(腾讯...
2018-08-29 14:54:44 627
原创 冒泡排序
简介我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。 排序算法大体可分为两种: * 比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 * 非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。如下图 有一点我们很容易忽略的是排序算法的稳定性(腾讯...
2018-08-29 09:06:10 445
原创 SpringBoot实战之16 整合redis哨兵
前言对springboot整合redis感兴趣的可以参考此篇博客 SpringBoot实战之13 整合redis对spring整合redis感兴趣的参考这里 spring实战3 spring整合单例redisspring整合哨兵参考这里 spring实战4 spring整合redis哨兵本篇介绍springboot整合哨兵模式开始建项目新建springboot-...
2018-07-30 09:36:40 5534 5
原创 spring实战4 spring整合redis哨兵
前言对spring整合redis单例感兴趣的朋友,请移步此处 spring实战3 spring整合单例redis对springboot整合单例redis感兴趣的朋友,请移步此处 SpringBoot实战之13 整合redis开始建项目新建spring-redis-sentinel web项目导包<dependency> <gr...
2018-07-27 14:39:35 696
原创 SpringBoot实战之13 整合redis
工欲善其事必先利其器;预备一下工具对于整个环境的整合有极大的帮助linux环境中单例redis服务搭建,参考博客 centos7自学之7-redis-4.0.1单例服务器搭建redisDesktopManage redis可视化工具安装idea开发工具开始现如今,越来越多的公司注重用户对网站访问速度的体验。而缓存技术的出现无疑很好的适用以上场景。因此掌握一门缓存技术对一名...
2018-07-26 17:04:06 780
原创 spring实战3 spring整合单例redis
前奏工欲善其事必先利其器;预备一下工具对于整个环境的整合有极大的帮助linux环境中单例redis服务搭建,参考博客redisDesktopManage redis可视化工具安装idea开发工具开始现如今,越来越多的公司注重用户对网站访问速度的体验。而缓存技术的出现无疑很好的适用以上场景。因此掌握一门缓存技术对一名IT男无疑是必要的。建项目新建sprin...
2018-07-25 18:15:26 624
原创 centos7自学之9-redis主从哨兵模式
主从概念描述主:写入从:读取主从分离能够显著提高redis数据库的负载能力哨兵模式:能够监控主从服务,主服务宕掉,从服务能够立马被选举成主服务实现本文实现redis主从服务的“一主二从三哨兵”模式。master 172.16.191.102:6379slaver1 172.16.191.102:6380slaver2 172.16.191.102:6381...
2018-07-23 14:36:30 596
原创 机器学习(三):感知器算法实现鸢尾花分类项目实战
上一章我们已经介绍了感知器算法规则,并且用python语言实现了。现在我们应用感知器学习规则进行鸢尾花分类实验。测试数据我们从鸢尾花数据集中挑选出了山鸢尾(Setosa)和变色鸢尾(Versicolor)两种花的信息作为测试数据。虽然感知器并不将数据样本特征的数量限定为两个,但出于可视化的原因,我们只考虑数据集中萼片长度(sepal length)和花瓣长度(petal length)这两个特...
2018-05-02 13:54:46 10443 10
原创 机器学习(二):感知器算法剖析及Python实现
前言:上一篇已经初步介绍了机器学习相关知识,简短介绍了机器学习的分类等等,本篇介绍其中监督学习中的分类领域下的感知器算法。本篇将循序渐进的实现一个感知器,并且通过训练使其具备对鸢尾花数据集中数据进行分类的能力。早期机器学习-人造神经元在详细讨论感知器和相关算法之前,先大体了解一下早期机器学习的起源。为了理解大脑的工作原理以涉及人工智能系统,沃伦*麦卡洛克和沃尔特*皮茨在1943年...
2018-04-28 09:29:13 2519
原创 机器学习(一):机器学习简介
前言:本系列博客军参考书籍Python机器学习 此书,如有侵权,敬请谅解。本书尽量用总结性的语言重述本书内容,避免侵权。 下载本书机器学习要先了解“机器”,以下是几种机器列举智能硬件计算机百度百科的解释如下: 手机机器人人工智能计算机、人工智能手机、人工智能机器人、人工智能家电、人工智能音响等等相信在不久的将来一定会深入每一个普通的家庭,可以毫不...
2018-04-26 14:02:53 1053
原创 设计模式之0 文章汇总及总结
源码单例模式简单工厂模式工厂方法工厂模式多工厂工厂模式博客系列设计模式之1 单例模式设计模式之2 工厂方法模式设计模式之3 简单工厂模式设计模式之4 多工厂的工厂模式设计模式之5 多方法的工厂模式
2018-02-01 13:44:42 183
原创 设计模式之5 多方法的工厂模式
多方法工厂模式uml类图相较于上一篇,稍作改动即可。 MultiMachineFactory.java/** * @author heshiyuan * @description * @path java-design-pattern/com.hsy.java.design.pattern.method * @date 2018/1/30 16:01 * @git
2018-02-01 13:42:44 184
原创 设计模式之4 多工厂的工厂模式
多工厂工厂模式当我们做一个比较复杂的项目时,经常会遇到初始化一个对象很耗费精力的情况,所有的产品类都放到一个工厂方法中进行初始化会使代码结构不清晰。 考虑到需要结构清晰,我们就为每个产品定义一个创造者,然后由调用者自己去选择与哪个工厂方法关联。uml类图实现抽象工厂类AbstractMultiMachineFactory.javapublic abstract
2018-02-01 13:41:36 335
原创 设计模式之3 简单工厂模式
简单工厂模式工厂方法模式有很多扩展,而且与其他模式结合使用威力更大,以下是“简单工厂模式”。uml类图场景一个模块仅需要一个工厂类,没有必要把他产生出来,使用静态的方法就可以。实现产品接口及具体产品类不变删除抽象工厂类修改具体工厂类,将实例化的方法修改成静态的,简化实例化过程MachineFactory.java/** * @autho
2018-01-30 21:46:43 236
原创 设计模式之2 工厂方法模式
工厂方法模式uml类图定义Define an interface for creating an object,but let subclasses decide which class to instance. Factory Method lets a class defer instantiation to subclasses.定义一个用于创建对象的接口,让子类决
2018-01-30 20:25:55 295
原创 设计模式之1 单例模式
单例模式why如果创造出多个实例,就会导致许多问题,比如占用过多资源,不一致的结果等。只有使用单例模式,保证了整个应用中某个实例有且仅有一个。定义Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。
2018-01-29 14:55:07 222
原创 spring实战2 spring整合slf4j+logback架构日志框架
如果对slf4j有不太了解的,可以参考本人另外一片文章日志框架之2 slf4j+logback实现日志架构实现添加依赖dependency> groupId>org.slf4jgroupId> artifactId>slf4j-apiartifactId> version>1.7.25version>dependency>dependency>
2018-01-06 17:03:58 534
原创 springcloud实战之14动态刷新分布式配置中心属性配置(config)
springcloud实战之10 分布式配置中心(config)介绍了如何用spring cloud config和git仓库读取配置文件,当配置文件里的属性发生变化,按照以往的惯例,必须重启服务才能够读取到新的配置属性。但springcloud config为我们提供了springcloud bus(消息总线)能够实现动态刷新配置文件。重构(springcloud-server-config)工程
2017-12-21 16:41:43 7072
原创 springcloud实战之13 rabbitmq消息总线(bus)
rabbitmq是实现了高级消息队列协议(amqp)的开源消息代理软件,也成为面向消息的中间件。RabbitMQ服务器是用高性能,可伸缩而闻名的Erlang语言编写而成的,其集群和故障转移是构建在开放电信平台框架上的。RabbitMQ的安装这里不重复说明,可以参考centos7自学之7-rabbitmq的安装与配置,这里介绍spring cloud使用RabbitMQ。创建工程(springclou
2017-12-21 16:03:39 4119 1
原创 springcloud实战之12 路由网关拦截器
为了能够在api网关中实现对客户端请求的校验,我们将继续介绍spring cloud zuul的另外一个核心功能:请求过滤。zuul允许开发这在api-gateway网关上通过定义过滤器来实现对请求的核心拦截与过滤,实现的方法非常简单。重构工程(springcloud-server-api-gateway)新建过滤类public class AccessFilter extends ZuulFilt
2017-12-21 15:29:43 8168 2
原创 springcloud实战之11路由网关(zuul)
微服务虽然可以将我们的开发单元拆分的更为细致,有效降低了开发难度,但是他所引出的各种问题如果处理不当会成为实施过程中的不稳定因素。甚至掩盖掉原本实施微服务带来的优势。所以再微服务的实施方案中,api网关服务的使用几乎成为了必要的选择。下面着手搭建一个可用的api-gateway服务构建springcloud-server-api-gateway服务引入依赖<parent> <groupId>
2017-12-21 14:59:32 735
原创 springcloud实战之9 断路器-集群监控(turbine)
上一篇介绍了单例的服务监控,本章介绍对集群的监控。通过引入turbine,通过它来汇集监控信息,并将聚合后的信息提供给Hystrix Dashboard来集中展示和监控。其工作架构图如下:构建springcloud-hystrix-turbine项目引入依赖parent> groupId>org.springframework.bootgroupId>
2017-12-21 13:13:16 1392 1
原创 springcloud实战之8 断路器-仪表盘-单例监控(Hystrix)
Spring Cloud不但跟Hystrix能够做到优雅的整合,还能够整合他的仪表盘组件Hystrix Dashboard,它主要用来实时监控Hystrix的各项指标信息。通过Hystrix Dashboard反馈的实时信息,可以帮助我们快速发现系统中存在的问题,从而及时的采取应对措施。在Spring Cloud中构建Hystrix Dashboard非常简单。创建工程(springcloud-hy
2017-12-19 15:51:09 1438
原创 springcloud实战之10 分布式配置中心(config)
基于为服务群,如果为每个服务读取自己的配置文件,有点重复造轮子。spingcloud提供了一个git远程仓库来创建分布式配置中心。构建Config Server创建一个springcloud-server-config项目添加依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-s
2017-12-14 15:30:07 863
原创 springcloud实战之7 断路器(Hystrix)
在微服务广泛使用的架构中,成群的服务通过服务注册与订阅来建立关联,但每个微服务都是独立的部分(跨进程,跨机器,跨机房),服务之间通过远程调用的方式相互访问,这种架构就增加了因为网络原因造成阻塞的风险,一旦发生阻塞,一个请求经过漫长的等待最终失败,高并发情况下就可能导致整个为服务群体瘫痪,就性能上,此种微服务架构还不如传统的集中式服务安全,稳定,性能高。为了解决这种问题,springcloud提供了断
2017-12-14 11:52:53 1747 1
原创 springcloud实战之6 服务消费者(Feign)
上一篇介绍了 springboot实战之服务消费者(ribbon) 消费服务,本篇介绍利用Feign消费服务。简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了
2017-12-14 09:31:52 644
原创 springcloud实战之5 服务消费者(ribbon)
前几篇介绍了服务注册中心以及服务提供者,目前需要一个服务消费者。本篇介绍如何用Ribbon消费注册中心上注册的服务。Ribbon介绍Ribbon是一个基于HTTP和TCP客户端的负载均衡器。Feign中也使用Ribbon,下一篇会介绍Feign的使用。Ribbon可以在通过客户端中配置的ribbonServerList服务端列表去轮询访问以达到均衡负载的作用。当Ribbon与Eureka联合使用时,
2017-12-13 20:47:32 1731
原创 springcloud实战之3 高可用服务注册中心(eureka集群)
springcloud实战之服务注册与发现(eureka实现)介绍了如果搭建单例的服务注册中心,但这在生产环境是经不住压力的。万一宕机或不可抗力导致服务宕掉就会导致严重后果,本篇介绍如何搭建服务注册中心集群,从而实现高可用。改造注册中心项目新建配置文件 application-peer1.ymlserver: port: 8080eureka: instance: hostname:
2017-12-13 16:45:39 1079
原创 idea启动两个端口的相同springboot服务
spingboot做集群服务的时候,同一个入口类需要启动多次,idea默认每次启动都会覆盖之前的服务,修改一下即可使用1.打开启动类配置页点击图中圈中的地方2.勾选掉单例3.应用apply
2017-12-13 16:08:37 6709 2
原创 springcloud实战之2 服务注册与发现(eureka实现)
服务注册与发现Springcloud庞大的分布式系统: - 服务发现与注册(Eureka) - 断路器(Hystrix) - 智能路有,服务网关(Zuul) - 客户端负载均衡(Ribbon) - 分布式配置中心(config) - 消息总线(Bus) - 安全框架(Security) - 调度中心(Zookeeper)本篇介绍如何使用spring-cloud-starter-eur
2017-12-13 13:37:17 1246
Python机器学习+(数据科学与工程技术丛书).mobi
2018-04-25
数据接口与算法合集(四本书)
2018-02-08
google kaptcha-2.3.2.jar验证码工具包
2017-11-07
基于目前最新版本dubbo,jdk1.8,tomcat8,自用可行,目前已知在用当中没有出现过问题
2017-09-08
centos7安装jdk,tomcat,eclipse步骤详情
2016-04-22
Maven实战.附源码.徐晓斌.扫描版
2015-12-14
[Maven实战].徐晓斌.扫描版
2015-12-01
Maven实战与权威指南
2015-11-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人