自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (7)
  • 收藏
  • 关注

原创 ThoughtWorks内推

想加入ThoughtWorks中国区的可以私信找我获取内推码,进行内推,此贴长期有效base 深圳、上海、北京、成都、武汉、西安校招和社招的岗位详情,可以通过关注公众号:Thoughtworkers空间站 ,进行了解。福利:1.无打卡考勤,周末双休。上班时间:9:30-12:00 14:00-18:002.带薪年假 10天(根据工作年限会进行增加),带薪病假 15天;3.入职后标配MacBook-Pro...

2022-02-22 11:32:51 279

原创 消息队列Beanstalkd介绍

Beanstalkd是一个高性能、轻量级的、分布式的、内存型的消息队列系统。最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面访问延迟。其实Beanstalkd是典型的类Memcached设计,协议和使用方式都是同样的风格。其基本设计思想很简单:高性能离不开异步,异步离不开队列,而内部都是生产者-消费者模式的。现在市面上有很多消息队列系统了。常用的有ActiveMQ, RabbitMQ,ZeroMA,Kafka,RocketMQ。Redis之父最近又开源了一个Disque。

2023-10-18 21:16:42 677

原创 分布式缓存选型比较:Memcache VS Redis

分布式缓存比较:Memcache VS Redis 1、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。而memcache只支持简单数据类型,需要客户端自己处理复杂对象 2、Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用(PS:持久化在rdb、aof)。 3、由于Memcache没有持久化机制,因此宕机所有缓存数据失效。Redis配置为持久化,宕机重启后,将自动加载宕机时刻的数据到缓存系统中。具有更

2023-10-18 20:54:30 453

原创 项目架构级别规约框架的引进

项目架构级别规约框架,为保证项目内的所有开发人员都会按照规范进行开发,需要一个架构级别的规约框架,用于检查项目的编码规范、模块分类规范、类依赖规范等。

2022-10-20 18:02:56 437 1

原创 领域驱动设计(DDD)VS面向数据表设计

目录 概念介绍 领域驱动设计(DDD) 面向数据表设计 领域驱动设计优点 设计承接分层架构对比 概念介绍 领域驱动设计是一种设计思想,在落地时主要使用四层架构承接 面向数据表设计,一般使用三层架构承接,但是也可以使用四层架构承接 领域驱动设计(DDD) DDD 是一种在面向高度复杂的软件系统时,关于如何去建模的方法论。 DDD解决了什么问题? DDD解决了对复杂应用建模的问题,通过DDD提高架构和代码的可理解性,从而降低维护成本。 适..

2022-03-10 15:58:41 6420 1

原创 监控swagger 接口变动

简介 采用swagger-diff工具,自动监控swagger API 变动情况,不需要人工维护文档说明API变动情况 可结合Gitlab等工具实现API历史版本维护 工具 swagger-diff GitHub - Sayi/swagger-diff: Compare two swagger API specifications(1.x or v2.0) 原理 效果图 ...

2022-03-02 10:54:18 1522

原创 超大流量分布式系统架构解决方案

一.脑图二.笔记一.大规模服务化架构 1.分布式系统的架构演变过程 单机架构 集群架构 垂直拆分业务子系统 根据系统业务功能的不同拆分多个业务模块,由不同的业务团队负责承建,分而治之,独立部署。 以大型电商网站为例,拆分为首页、用户、搜索、广告、购物、订单、商品、收益结算等子系统 注意把控拆分系统等粒度,如果拆分过细,会导致维护成本过高 作用 降低业务耦合、实现高内聚低耦合,提升系统容错性 业务垂直化改造可以防止一些非核心模块的.

2022-03-01 23:07:35 2683

原创 Intellij IDEA自动生成单元测试代码插件对比

Squaretest 安装方法 在IDEA插件市场搜索Squaretest,点击install安装即可,如下图所示 使用 1.选择controller文件,右键选择Generate 2.选择Generate Test - Confirm Mocks 3.选择需要Mock的对象,点击ok 4.生成单元测试代码

2022-02-28 15:15:13 6961

原创 Jenkins插件介绍

一.Email Extension Plugin (目前Jenkins已安装) 官方地址 Email Extension | Jenkins plugin 简介 Jenkins默认提供邮件通知功能,能在构建失败、构建不稳定等状态后发送邮件。但它本身有很多局限性,比如 邮件通知无法提供详细的邮件内容 无法定义发送邮件的格式 无法定义灵活的邮件接收配置 Jenkins Email Extension Plugin该插件能允许你自定义邮件通知,比如 在发送邮件

2022-02-28 15:06:25 3231

原创 纠正数据库可重复读隔离级别下幻读的错误理解

正确理解数据准备mysql 复现 正常select不会出现幻读(phantom problem)mysql 复现 执行insert 出现幻读(phantom problem)

2022-02-25 18:36:05 312

原创 Jenkins磁盘空间管理

随着Jenkins上配置的任务(job)越来越多,每个任务构建(build)次数的日积月累,Jenkins服务器会出现磁盘告警无法继续构建任务的问题。 Jenkins占用空间最多的主要是3个路径, jobs、workspace、overlay2 jobs Jenkins上创建的每一个任务,服务器都会为你在master的jobs路径下创建一个目录,以任务的名称来命名。 不管你的任务配置成在master或者slave上运行,这个目录都是创建在master服务器上的。 每个任务的jobs目

2021-12-14 22:29:56 2144

原创 Docker 安装Jenkins

安装 1.下载镜像 docker pull jenkins/jenkins 2.新建一个目录用来作为jenkins的工作空间 mkdir /Users/xx........ 3.使用docker来安装jenkins并做端口映射 docker run -d -p 10240:8080 -p 50000:50000 --name jenkins --privileged=true -v /Users/xx/Jenkins:/var/jenkins_home jenkins/jenk

2021-10-26 22:25:35 74

原创 docker 容器访问宿主机服务的方法

场景介绍:运行在 docker 容器中的一个服务A需要访问宿主机服务B的某个端口,也就是A 需要访问宿主机服务B的资源。方法:服务A 以下边的地址来访问即可: http://host.docker.internal 即localhost->host.docker.internal ​例子:在docker容器中的服务A访问宿主机服务B中的Swagger API文档,访问地址由http://localhost:8080/swagger-ui/index.html...

2021-10-26 22:17:16 4055

原创 Java测试框架(Junit5和Spock)使用指南

Junit 介绍 JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage JUnit Platform 是在JVM中启动测试框架的基础,被许多IDE和构建工具所支持 JUnit Jupiter是最新的编程模型,也是JUnit 5测试的TestEngine JUnit Vintage,它是针对老的JUnit 3和JUnit 4测试的TestEngine 架构 使用 1.

2021-10-26 18:15:56 1114

原创 数据仓库的构建

一.数据仓库的定义关于数据仓库,在维基百科中将它定义为用于报表和数据分析的系统,是商务智能 Business Intelligence 的核心部分。在数据仓库诞生之初,它只被设计成面向管理层所需要的决策支持系统,并不对业务方(这里指各应用系统)提供数据支持。然而在大数据环境的背景下,当 Hadoop 生态已然成为大数据现实意义上的载体,以 Hive 为基础的数据仓库已经不能仅仅只提供决策支持的需求了——它需要同时满足某些业务上对数据的统计需求。因此,当下的数据仓库应该有一个新的定义:大数据环境下的数

2021-07-26 09:55:47 2357

原创 windows10下安装RabbitMQ教程和常见错误处理

一.安装Erlang二.安装RabbitMQ三.常见错误及处理方法一.安装Erlang1.简介在安装RabbitMQ之前需要先安装Erlang,以下是官网原文:RabbitMQ requires a 64-bitsupported version of Erlangfor Windows to be installed. Latest binary builds for Windows can be obtained from theErlang/OTP Version ...

2021-03-21 20:00:56 1618

原创 数据同步方式介绍

日志采集 数据库采集 直连同步 通过规范好的接口和动态连接库的方式直接连接业务库,例如,通过ODBC/JDBC进行直连 优点:配置简单,实现容易,比较适合操作业务系统的数据同步 缺点:会对业务库产生较大压力,如果有主备策略可以从备库进行抽取,此方式不适合直接从业务库到数仓的情景 数据文件同步 通过约定好的文件编码、大小、格式等,从源系统生成数据文本文件,利用FTP等传输方式传输至目标系统后,加载到目标数据库中,完成数据同步 为了防止丢包等情况,一般会附加一个校验文件,检验文件

2021-02-02 21:48:56 824

原创 关于 error:file takes at most 3 arguments (4 given) 的解决方法

情况描述:当程序运行到下面语句时报错:file<> takes at most 3 arguments (4 given)open("1.txt", "w", newline='', encoding='utf-8')原因:在python 2.x版本中,最多可以传三个参数给open函数解决方法:1.让程序在python3.x版本中运行2.删减传给open函数的参...

2020-01-06 17:42:28 9353

原创 二叉树的建立,遍历以及销毁

#include <iostream> #include <string>using namespace std; struct node{ char da; node *lchild; node *rchild; };//前序遍历void preorder(node* &re){ if(re==NULL) { retu...

2019-07-15 21:49:34 319

原创 替换空格

题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。题意解读:输入一字符串,将字符串中的空格替换为 %20,因此,需注意,替换后的字符串与原字符串的长度不一致思路:从前往后遍历------目的是找出字符串的真实长度,以及空格的个数 从后往前替换--...

2019-06-01 11:34:37 264

原创 归并排序(c++ 实现)

#include <iostream>using namespace std;void merge(int *data,int start,int end,int *result){ int leftl=start+(end-start)/2; //左边数组的最大下标 int lindex=start; //左边数组的起始下...

2019-04-03 20:21:15 821

原创 关于WebDriverException: 'phantomjs' executable needs to be in PATH. 的解决方法

1.安装从链接中下载phantomjs-2.1.1-windows.zip链接:http://phantomjs.org/download.html解压到某个文件夹下2.添加路径将..\phantomjs-2.1.1-windows\phantomjs-2.1.1-windows\bin文件的路径添加到系统变量PATH中3.拷贝把phantomjs.exe拷贝放到p...

2019-03-29 15:58:07 4141

原创 数据库错题汇总(持续更新)

最近在看数据库,会做一些题目,想把错题记录一下,以便日后查看1.从四个选项选出不同的一个。A.MysqlB.MongoDBC.DB2D.PostgreSQL答案:B解析:MongoDB是一个基于分布式文件存储的数据库。其他三个是关系型数据库系统。2.ON DELETE NO ACTION解析:如果试图删除主表的某一行,而该行的键被其他表的现有行中的外键所引用...

2019-03-17 19:19:05 566

原创 pytorch RuntimeError: invalid argument 1: .

当使用torch.view()时出现 RuntimeError: invalid argument 1: input is not contiguous at /pytorch/torch/lib/TH/generic/THTensor.c:231可以使用 tensor.contiguous() 解决mask[idx, :].view(bat_size, 1) 变成 mask[idx,...

2019-01-16 09:59:29 2659 1

原创 windows 安装 pydensecrf出现 error: Microsoft Visual C++ 14.0 is required.的解决方案

安装命令:pip install pydensecrf错误:解决方案:即输入命令 conda install -c conda-forge pydensecrf

2018-12-24 21:03:47 1107

原创 Dicom 文件 转成 JPG 格式(批量处理)

需求:将 Dicom 文件转成 JPG 格式PS:可以批量处理1.下载软件免费绿色的阅读软件 MicroDicom链接为:http://www.microdicom.com/downloads.html可自行选择合适版本笔者下载的是 2.安装软件点击 .exe 按步骤安装即可 3.使用软件打开 Dicom 文件点击 File 弹出选择...

2018-12-24 16:43:16 17090 8

原创 在 LInux 中如何使用深入理解计算机系统 (CSAPP) 的代码

系统:ubuntu 16.04 LTS需求:下载书中代码,在 LInux 中运行步骤:1.下载代码打开网站 http://csapp.cs.cmu.edu/public/code.html点击上图加深部分进行下载,并解压 2.移动 csapp.h、csapp.c 文件(1)cd 进入 csapp.h 所在目录然后使用管理员身份将其移动到 /usr/incl...

2018-12-21 10:35:39 2197

原创 理解 文件描述符 与 描述符表 文件表 i-node表 的关系

一.文件描述符文件描述符 fd (file desciptor)在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开。但是文件描述符这一概念往往只适用于 UNIX , Linux 这样的操作系统。二. 文件描...

2018-12-19 16:27:13 2712

原创 windows7 + Anaconda3 + TensorFlow环境下安装 keras (及使用pip安装keras时出现Read time out 解决方法)

背景:笔者电脑已安装Anaconda3 + TensorFlow,想再安装 keras安装步骤:1.打开Anaconda3 下的 Anaconda Prompt,如下图所示 2.激活 TensorFlow 环境 3.安装keras使用 pip install keras等待安装相关包即可 4.检验是否成功如下图所示, ------...

2018-12-18 20:33:33 1254

原创 Ubuntu 16.04 LTS 安装 Vim (及无法安装Vim的解决方法)

打开命令终端 输入vi若系统已安装 Vim,则会出现以下界面 若未安装,则会出现以下界面xxx请尝试使用命令 apt-get 或  安装(由于笔者没保留安装失败截图,所以只能用语言描述一下,eeee) 此时输入安装命令:sudo apt-get install vim等待安装即可 安装完成后,在终端输入 vim --version 查看是否安装成功。...

2018-12-02 12:22:19 15366

原创 字符串中找出连续最长数字串(c++)

题目:读入一个字符串str,输出字符串str中的连续最长的数字串示例1:输入:aaa2222ss2s222输出:2222 思路:1.遍历字符串,根据字符不同给数组赋值,若该字符不为数字,则置零;若为数字,则从1开始赋值,依次递增,遇见非数字则置零示例2:aaa222a22a  对应数组值为 00012301202.遍历数组,找出数组中值最大的元素,及其位置示...

2018-11-23 15:38:09 1795

原创 求 1-N 的所有素数 (c++实现)

要求:求 1-N 所有的素数素数定义:在大于1的自然数中,除了1和它本身以外不再有其他因数思路:对于 1-N 中的某个数 k,判断 k 在 2- (k-1)中是否有数 j 满足 k%j==0,若有,则 k 不为素数;若没有则 k 为素数。 代码:#include &lt;iostream&gt;#include &lt;vector&gt;using namespace...

2018-11-15 13:52:59 7982

原创 最大奇约数(c++实现)

一.若求一个数 N 的最大奇约数 t若 N 为奇数,则 t=N ;若 N 为偶数,则 mid=N/2,if mid 为奇数 则 t=mid                                            if mid 为偶数 则重复循环,知道mid为奇数 二.若求1-N 之间每个整数的最大奇约数的和1.枚举法先求出每个整数的最大奇约数,再求和这...

2018-11-07 12:02:35 1146

原创 求一数组的每一个连续子数组的元素和 (c++实现)

题目解读:假设 数组 int a[5]={3,1,2,4,5}连续子数组:{3,1},{3,1,2}等等现求每一个连续子数组的和方法1:暴力法(暴力法有很多种实现方式)1.#include &lt;iostream&gt;#include &lt;vector&gt;using namespace std;int main(){    int n;    ...

2018-11-06 19:30:36 1108

原创 漫谈 数组与指针 (C++ 程序讲解)

一.int a[3]={11,22,33};int *p=a;此时 a 为指针,指向数组首元素,即a的值为数组首元素的地址int (*p)[3]=&amp;a;此时 a 为数组名,&amp;a 指向整个数组,即 &amp;a 的值为数组的首地址虽然 a 与 &amp;a 数值一样,但代表的意思则不一样 二. int *p[3] 与 int (*p)[3] 的区别1....

2018-10-24 20:25:10 178

原创 用两个栈实现队列

思考:1.什么是栈?2.什么是队列3.如何实现?栈和队列都为特殊的线性表,栈是先进后出,队列是先进先出,所以问题转化为如何使用两个栈实现先进先出 思路:进队列时将元素放到栈1 ,出队列时先将栈2 的元素弹出,再将栈1 的元素放到栈2 中,再弹出 代码:...

2018-10-18 18:43:51 112

原创 求 1 - N 的所有组合 (c++实现)

要求:求 1 - N 的所有组合,数字不重复 思路:求 1-n 的n个数的组合等价于 求n位二进制数哪几位等于1即对于 i(i为某个n位二进制数),要知道 i 的哪些位等于1,用一个知道某位上为 1 的数与 i 相与,若结果为 1,则证明i在该位上为 1,输出对应位数 代码:#include &lt;iostream&gt;#include&lt;vector&g...

2018-10-13 11:32:41 1510

原创 输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来(c++ 实现)

题目:输入描述:每个测试输入包含2个整数,n和m输出描述:按每个组合的字典序排列输出,每行输出一种组合 思路:获取所有组合,再进行求和,判断是否等于m实现步骤:1.获取所有组合求 1-n 的n个数的组合等价于 求n位二进制数哪几位等于1即对于 i(i为某个n位二进制数),要知道 i 的哪些位等于1,用一个知道某位上为 1 的数与 i 相与,若结果为 1,...

2018-10-13 11:26:46 1279

原创 c++ 实现 二维数组查找

题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:整数t1.数组是否为空2.数组最小的元素比 t 大 或户主最大的元素比 t 小3.二分法查找数组循环每一行,对每一行进行二分查找 代码:class Soluti...

2018-10-07 10:49:29 1551

原创 计算机如何实现加减法

PS:1.对二进制加减法时符号位是可以改变的      2.计算结果是真实结果的补码,若为正数,计算结果与真实结果相等                                                        若为负数,则对计算结果求补码即为真实结果      3.计算机中负数用补码表示一.加法1.两个正整数加法例: 3+2(1)求 3 和 2 的补...

2018-10-07 10:36:18 7706

MFC c++ 实现简易电话簿

较完善的c++ 简易电话簿代码 直接解压 点击exe运行即可

2018-12-03

c++ MFC 计算机小程序

MFC计算机小程序,实现基本的加减乘除,有菜单栏实现,非模态对话框

2018-06-05

深度学习 deep learning

完整ppt 资源 深度学习入门 deep learning 台大 深度学习 宏毅

2018-03-04

OPENCV3程序集合

opencv3 代码集合 下载直接使用 简单易懂 结合教材看

2018-01-17

zigbee基础实验集合

zigbee ,基础实验 ,简单易懂 ,新手 , 入门,zigbee ,基础实验 ,简单易懂 ,新手 , 入门,zigbee ,基础实验 ,简单易懂 ,新手 , 入门,zigbee ,基础实验 ,简单易懂 ,新手 , 入门

2017-09-21

简易灯光控制系统app源码

安卓

2017-08-29

esp8266 所有例程

简单易懂

2017-08-29

空空如也

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

TA关注的人

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