设计模式-建造者模式详解

一、建造者模式的概念   建造者模式属于创建型设计模式。   指的是将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。   建造者模式主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组

  • 0
  • 1
  • 发布于 2019-11-16 23:45
  • 阅读 ( 187 )

设计模式 - 七大设计原则(四)- 合成复用原则与设计原则总结

概述 简单介绍一下七大设计原则: 开闭原则:是所有面向对象设计的核心,对扩展开放,对修改关闭 依赖倒置原则:针对接口编程,依赖于抽象而不依赖于具体 单一职责原则:一个接口只负责一件事情,只能有一个原因导致类变化 接口隔离原则:使用多个专门的接口,而不是使用一个总接口 迪米特法则(最少知道原则):只和朋友交流(成员变量、方法输入输出参数),

  • 0
  • 1
  • 发布于 2019-11-16 23:44
  • 阅读 ( 101 )

在Linux 上,编写一个每秒接收 100万UDP数据包的程序究竟有多难?

在Linux上,编写一个每秒接收100万UDP数据包的程序究竟有多难? 写的不错,转载一下 1.UDP概念   用户数据报协议(英语:UserDatagramProtocol,缩写为 UDP),又称使用者资料包协定,是一个简单的面向数据报的传输层协议,正式规范为RFC 768   在TCP/IP模型中,UDP为网络层以上和应用层以下提供了一个简单的接口。UDP只提供数据的不可靠传递,它一旦把应用程序发给网络层的数

  • 0
  • 1
  • 发布于 2019-10-26 22:19
  • 阅读 ( 137 )

从苦逼到牛逼,详解Linux运维工程师的打怪升级之路

做运维也快4年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点。 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化。如:今年大数据,人工智能比较火……(相对表示就是Python比较火) 之前写过运维基础篇,发现对很多人收益挺大,接下来也写下关于这4

  • 1
  • 1
  • 发布于 2019-09-14 00:55
  • 阅读 ( 110 )

Golang连接Oracle

Golang连接Oracle windows 一、安装MinGW http://blog.csdn.net/mecho/article/details/24305369 我的是64位的 安装我放在: C:mingw-w64mingw64 环境变量: 二、安装OCI http://www.oracle.com/technetwork/topics/winsoft-085727.html 三、配置go-oci8 直接gogetgithub.com/wendal/go-oci8(报

  • 0
  • 1
  • 发布于 2019-09-13 21:15
  • 阅读 ( 1650 )

fiddler代理设置问题导致出现“The system proxy was changed,click to reenable fiddler capture”解决办法

1,安装好Fiddler后,我们一般是还抓不了数据的,需要在Fiddler和代理浏览器上做一些设置。 在Fiddler, 点击rules——FiddlerOptions ——选中这些选项 就比如Firefox浏览器上通过如下步骤设置代理点击:  2,但是在我们设置IE的代理浏览器的时候会出现一些问题,就是没有权限设置代理的问题。 IE的代理服务器无法设置的问题: 局域网设置对话框里,“代理服务器”一栏是灰色的

  • 0
  • 1
  • 发布于 2019-09-13 19:07
  • 阅读 ( 2683 )

【强烈推荐】Vivado入门与提高(1~41)-高亚军

Vivado入门与提高(1~41)-高亚军   这个教程应该是目前入门Vivado比较友好的入门教程了,所以本人花费了很长时间去收集视频和资料。如果对大家有用请多多支持,谢谢!   本课程详细介绍了Xilinx新一代开发平台Vivado的使用方法,分为两大部分:入门篇和提高篇;涵盖四大主题:设计流程,时序约束(XDC),设计分析和Tcl脚本的使用;附带多个工程Demo。把Vivado“IPCentric

  • 0
  • 1
  • 发布于 2019-09-13 16:46
  • 阅读 ( 516 )

go 1.11 go mod replace 的使用方法

2019独角兽企业重金招聘Python工程师标准>>> 为了能用上gomod,折腾了一整天... 原因是因为golang.org/x/crypto这个里面的库连不上.... google一下发现可以用gomodreplace替换一下,但是网上教程,比着做命令行都过不去.. 以下是我发现的步骤 比如程序上需要引入 golang.org/x/crypto/acme/autocert 而你从github上查到,这个是crypto的一个子包. 现在如果你使用gomod引用,操作如下. 获取

  • 0
  • 1
  • 发布于 2019-09-05 20:08
  • 阅读 ( 1831 )

“错误 C1083 无法打开包括文件: “boost/shared_ptr.hpp”: No such file or directory”解决办法

我觉得此类相关的C1083错误的解决方法类似,可以通用借鉴 本人在学习PCL,在学习运用ExtractIndices滤波器从一个点云中提取一个子集时,程序报错:“错误 C1083 无法打开包括文件:“boost/shared_ptr.hpp”:Nosuchfileordirectory” 此错误的意思是在你的boost文件中无法找到“shared_ptr.hpp”这个模板类文件,可能的原因有两个: 你的boost库有缺失,没有这个文件,你可以到boost文件中查找一下

  • 0
  • 1
  • 发布于 2019-09-05 19:45
  • 阅读 ( 562 )

一个"现象级"大数据公司的蜕变

如果让你拥有超凡的大数据能力,你最想改变的是什么?我猜想,在暑期这个旅游高峰,可能很多人都希望飞机不要再延误。英国的盖特威克(Gatwick)机场借助大数据公司Splunk提供的底层技术支持,给人们的外出带来了一种全新的体验。旅客出门前会收到机场发出的提醒,给出建议的出门时间或航班延误通知;95%的旅客可以在5分钟之内完成安检;行李车上装有传感器,可以让旅

  • 0
  • 1
  • 发布于 2019-09-05 18:15
  • 阅读 ( 305 )

Goland激活设置 license server长久有效

1、 从http://idea.lanyus.com/中圈出位置下载一个jar包 2、 找到golang安装目录,将下载的JetbrainsIdesCrack-3.4-release-enc.jar复制到GoLand的bin目录下   找到bin目录下两个vmoptions文件,idea.exe.vmoptions和idea64.exe.vmoptions,用记事本打开,在最后一行都加上 -javaagent:(JetbrainsIdesCrack-3.4-release-enc.jar所

  • 0
  • 1
  • 发布于 2019-09-05 15:15
  • 阅读 ( 3780 )

也许 Go 开发可以更简单!

价值|思考|共鸣简评:对于Go来说一直以来依赖包的版本控制上没有一个好的方案,尽管社区诞生了不下十余个解决该问题的工具,但一直以来没有一个官方的支持。这个提案有望在Go的下个版本中看到官方的包版本控制了,去除了GOPATH依赖,同时还引入了module的概念,真正意义上实现了重编译,可谓一次大的变更 是时候为Go添加包版本控制了!更确切地说,我们需要把包版本

  • 0
  • 1
  • 发布于 2019-09-01 19:23
  • 阅读 ( 778 )

golang 结构体作为map的元素时,不能够直接赋值给结构体的某个字段

引入:错误Reportsassignmentsdirectlytoastructfieldofamap 1.问题的产生 这个问题在github上可以追溯到2012年提交的一个issue,链接为https://github.com/golang/go/issues/3117;如上图,结构体作为map的元素时,不能够直接赋值给结构体的某个字段,也就是map中的struct中的字段不能够直接寻址。 2.问题产生的原因 关于golang中map的这种古怪的特性有这样几个观点: 1)map作为一个封装

  • 0
  • 1
  • 发布于 2019-08-28 20:23
  • 阅读 ( 296 )

用liteide开发Go语言HelloWorld程序

Go和liteide的安装请看我上一篇文章:https://blog.csdn.net/xuyangyang0182/article/details/82731821 1.打开liteide 2.文件->新建 模版选择:Go1CommandProject   名称是项目名:HelloWorld 输入下面代码: packagemain import( "fmt" ) funcmain(){ fmt.Println("HelloWorld!") } 然后点击BR按钮(相当于执行了

  • 0
  • 1
  • 发布于 2019-08-28 19:49
  • 阅读 ( 175 )

【Go】Golint代码规范检测

一.Golint介绍 GolintisalinterforGosourcecode. Golint是一个源码检测工具用于检测代码规范 Golint不同于gofmt,Gofmt用于代码格式化 Golint会对代码做以下几个方面检查 package注释必须按照“Packagexxx开头” package命名不能有大写字母、下划线等特殊字符 struct、interface等注释必须按照指定格式开头 struct、interface等命名 变量注释、命名 函数注释、命名 各种语法规范校验等 二.Golint安装

  • 0
  • 1
  • 发布于 2019-08-27 23:22
  • 阅读 ( 1693 )

go微服务框架go-micro深度学习(二) 入门例子

上一篇帖子简单介绍了go-micro的整体框架结构,这一篇主要写go-micro使用方式的例子,中间会穿插一些go-micro的源码,和调用流程图,帮大家更好的理解go-micro的底层。更详细更具体的调用流程和细节,会在以后的帖子里详细讲解。    例子的github地址: gomicrorpc  跑一遍例子,也就会明白个大概。 安装所需要的环境   go-micro服务发现默认使用的是consul, brewinstallconsul consu

  • 0
  • 1
  • 发布于 2019-08-27 15:59
  • 阅读 ( 241 )

【日本IT】2018日本开发语言收入排名大公开 | 快来看看你的Java、.Net上榜了吗?

平均年收入:约36万人民币 最大年收入:约96万人民币 求人件数:2200件 (按汇率为0.06计算) Go:(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。(引用自百度百科) 平均年收入:约36万人民币 最大年收入:约78万人民币 求人件数:1489件 Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言、

  • 0
  • 1
  • 发布于 2019-08-27 15:44
  • 阅读 ( 351 )

实用好文:知乎实时数仓架构实践及演进

“数据智能”(DataIntelligence)有一个必须且基础的环节,就是数据仓库的建设。同时,数据仓库也是公司数据发展到一定规模后必然会提供的一种基础服务。   从智能商业的角度来讲,数据的结果代表了用户的反馈,获取结果的及时性就显得尤为重要,快速的获取数据反馈能够帮助公司更快的做出决策,更好的进行产品迭代,实时数仓在这一过程中起到了不可替代的作用。

  • 0
  • 1
  • 发布于 2019-08-27 15:19
  • 阅读 ( 21969 )

RESTful风格的接口命名规范

最近实习单位的leader要求我调研一下RESTful风格的接口命名规范,然后把项目里的URL名整体规范化修改一下,以下是我调研之后的对于RESTful的了解。 REST是一个术语的缩写,REpresentationalStateTransfer,中文直译是“表征状态转移”。 REST是一套风格约定,RESTful是它的形容词形式。比如一套实现了REST风格的接口,可以称之为RESTful接口。 目前,我们的项目里,基本只有GET和POST两种http

  • 1
  • 1
  • 发布于 2019-08-27 15:03
  • 阅读 ( 259 )

原来AOP,才是真爱

一次面试,面试官问:“你能说说什么是AOP吗?” “AOP就是面向切面编程”,然后没有了,好简短的描述,自己都觉得少。如果面向对象是纵向的,那么面向切面就是横向的,心里想着切豆腐的模样,可是并没有说出,自己对AOP的理解还存在理论上,不敢多说,言多必失呀。 “AOP都能做些什么?”,面试官的目光带着些期盼,希望能够回答得多一些。 “记录日志呀”,还

  • 0
  • 1
  • 发布于 2019-08-27 13:34
  • 阅读 ( 1416 )

精选优质文章、大厂面试题解读、社区微信小程序、扫一扫随时随地逛社区

逛一逛
社区小程序