自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(469)
  • 资源 (17)
  • 论坛 (3)
  • 问答 (3)
  • 收藏
  • 关注

原创 一种解决 .gitignore 对 *.iml 不起作用的办法

1.问题描述最近突然发现我的 .gitignore 中 *.iml 不起作用了,很容易跟 *.xml 混淆造成误提交。2.解决方法执行如下命令git rm -r --cached .git add .git commit -m 'delete *.iml'3.总结1)此命令还可以解决其他格式文件不起作用问题,如 .idea2)git rm 命令的作用是把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,这个和普通的 rm 命令有很大区别。

2020-11-26 08:47:38 1

原创 软件成分分析技术介绍

软件成分分析及相关技术集锦关于软件成分分析SCA,Software Composition Analysis,软件成本分析是一种对二进制软件的组成部分进行识别、分析和追踪的技术。在开源软件日益盛行的今天,开源安全威胁成为企业组织无法回避的话题,与此同时,应用交付规模和频率的正在快速增长,软件成分分析对于安全合规风险管控和安全态势感知都是必不可少的能力。软件成分分析的基本原理SCA 的目标是第三方基础组件/可执行程序/源代码等类型的以二进制形式存储的文件,包括但不限于源代码片段或 Package,可执

2020-08-01 13:15:32 325

原创 大规模容器镜像管理方案

大规模容器镜像管理方案随着容器技术的深入和广泛应用,容器镜像的管理成为了一个关键的环节,在大规模并发访问镜像中心的时候,镜像仓库的高可用性、性能及安全性都是值得关注的问题。目前市场上存在一些开源及商业的解决方案,旨在满足特定场景下的需求,本篇文章就针对容器镜像管理的一些场景和方案进行梳理。常用的容器镜像中心容器镜像管理中心是云原生应用持续交付体系中的一个非常底层且关键的部分,目前市场上主...

2019-11-10 22:10:56 555

原创 Go 语言持续交付流水线

Go 语言的依赖管理Go 语言发展至今,其依赖管理机制一直被人诟病,从 go get 到 go dep,再到现在的 VGo。随着 Go 模块化支持的引入,大家逐渐开始接受由 Google 主导的 VGo 作为其官方依赖管理工具。VGo 顾名思义,Version of Go,就是为解决 Go 的版本化问题。VGo 是一种语义化(Semantic)的依赖描述方式,在.mod文件中描述模块及其依赖。...

2018-12-17 17:05:17 540

原创 Golang Goroutine 和 Channel 的使用

参考阅读:Goroutinehttps://golangbot.com/goroutines/Channelhttps://golangbot.com/channels/什么是 GoroutineGoroutines 是与其他函数或方法同时运行的函数或方法。Goroutines可以被认为是轻量级线程。 与线程相比,创建Goroutine的成本很小。因此,Go应用程序通常会同时运行数千个...

2018-10-21 18:29:59 332

原创 Go 语言包管理机制深入分析

随着 Go 语言的深入使用,其依赖管理机制也一直是各位 Gopher 热衷于探讨的话题。Go 语言的源码依赖可通过 go get 命令来获取,但自动化程度不高,于是官方提供了 Dep 这样的自动化批量管理依赖的工具。虽然 Go 语言的依赖管理在很多方面还是不如人意,但整个体系正在日趋完善,本篇就将从最基本的依赖管理场景出发,一同探讨 Go 语言依赖管理的一些最佳实践。Go 依赖管理的基本思...

2018-09-28 09:58:31 858

原创 Go 语言性能测试 - 入门篇

Go 语言性能测试 - 入门篇Go 语言是非常高效的,在处理并发请求时的性能表现非常出色,在某些考虑性能因素的场景下,我们需要进行性能测试,Go语言提供了用于性能测试的 testing.B 框架,本篇就介绍下Go语言的性能测试的基本做法。参考阅读Go 语言单元测试https://blog.csdn.net/afandaafandaafanda/article/details/827...

2018-09-21 09:59:48 1299

原创 Go 语言单元测试 - 入门篇

go 语言发展非常迅速,大家对go语言编程也比较熟悉了,但很多同学对于go语言的测试不太熟悉,最近准备三篇关于Go语言的测试文章来介绍Go语言的测试相关内容。单元测试框架go语言提供了编写go语言的自动化测试框架testing.T,testing.B等,我们通过go test命令就可以来启动测试。我们编写测试方法的格式如下:func TestXxx(*testing.T)...

2018-09-17 14:27:45 558

原创 Bazel 构建工具介绍

什么是 BazelBazel 是一个开源的构建和测试工具,类似于Make、Maven及Gradle。它使用一种人易于理解的高级构建语言。Bazel 支持多种开发语言的项目,能够基于多个平台来构建。Bazel支持跨多个制品库和大规模用户的大型代码仓库。为什么我们需要BazelBazel 具有以下优势:高级构建语言 Bazel使用一种抽象的、人易于理解的、语义级别的高级语言来描...

2018-09-16 19:01:02 3768

翻译 深入理解NPM依赖模型

npm是目前前端开发领域最主流的包管理器。虽然有其他选择,但npm的江湖地位短期内已经无法撼动。即便是强大如Bower这样可以管理前端所有文件的工具也被推到了一边,对我来说最有趣的是npm相对新颖的依赖管理方法。不幸的是,根据我的经验,它实际上并没有那么好理解,所以我尝试在这里澄清它是如何工作的,以及它如何影响用户或包开发者的。基础回顾站在较高的层次上来说,npm与其他编程语言的包管...

2018-09-15 20:30:05 2458

翻译 C/C++ 基于 Jenkins、Conan 和 Artifactory 的持续交付

C/C++在很多重要的行业都有应用,比如操作系统、嵌入式系统、金融系统、科研系统、汽车制造、机器人及游戏等等。在这些行业里,性能是非常关键的考量因素,而其他的语言又无法满足要求。作为一个如此重要的语言,C/C++ 的生态面临着一些严峻的挑战:大型工程 - 当代码行数达到百万级别时,如果没有现代化的工具,将很难管理大型工程。应用二进制接口不兼容 - 为了确保一个库与其他库、整个应用的兼容性,...

2018-09-15 20:06:23 1698

原创 Artifactory PHP Composer仓库应用实践-续

Artifactory PHP Composer仓库应用实践-续 上一篇介绍了Artifactory Composer仓库的使用,演示了如何通过Composer客户端与Artifactory交互获取依赖,以及在Jenkins中打包完成持续集成的过程。如何优化提升完成一个基本的应用场景还不够,因为我们还关心如下内容:该制品的依赖信息该制品的发布过程信息该制品的构建、...

2018-09-08 12:57:09 387

原创 Artifactory PHP Composer仓库应用实践

php开发效率高,很多公司都会采用PHP Composer来管理依赖,JFrog Artifactory是全球唯一一款全语言制品仓库,默认也支持Composer仓库,这篇文章介绍如何使用Artifactory PHP Composer 仓库来管理PHP依赖。PHP ComposerPHP Composer是PHP依赖的管理工具,我们通过该工具与Artifactory PHP Com...

2018-09-07 17:35:16 573 2

原创 二进制软件制品库需求参考

1.1功能需求 1.1.1 支持持续交付工具链 支持需求管理工具(JIRA/Redmine/禅道)、代码管理工具(SVN/Git)、代码构建工具(Maven/Gradle/Conan)、持续集成工具(Jenkins/GitLab-CI)、常用测试工具(UT/Sonar/JMeter)和常用部署工具(Ansible/Kubernetes) 1.1.2支持可视化作业流水线 支持手动配置(fre...

2018-09-04 11:56:01 1424

原创 JFrog Xray 开源安全管控的哲学

背景随着开源软件的大量使用,企业生产环境中运行的大部分都是开源代码,但开源并不意味着安全,近年来频繁出现的开源安全漏洞也印证了这一点。在安全问题被发现后,各企业在内部进行自我排查,这种被动的安全管控弊端是显而易见的。是否存在一种主动的防御模式,在交付流程开始的时候就可以洞悉所引用的开源软件的安全状况,并采取合理有效的措施防呢? 传统安全管控的弊端传统企业安全漏洞扫描是上线前的最...

2018-08-30 23:12:02 2043

原创 DevOps 安全威胁,你值得关注!

随着开源软件被大量引用,线上运行的代码中超过80%的部分是开源代码。软件安全的重点已经从内部代码转移到所引用开源部分上。 DevOps安全需要关注内部研发团队的自研代码以及外部第三方开源软件的安全,对于内部代码,所使用的依赖必须清楚,如果底层依赖有风险,还必须快速反向分析哪些其他软件受到同样的威胁;目前DevOps安全团队和持续交付团队往往独立运行,信息交互频繁且效率低导致质量难以保证,安全...

2018-08-30 19:21:18 694

原创 编写 Dockerfile 的五个最佳实践

此文适合Docker初学入门读者,大师请绕行!,遵守最佳实践可少踩坑、提升性能体验及可移植性,期望对读者有所帮助!什么是DockerfileDockerfile 是一个文本文件,里面包含了打包Docker镜像所需要用到的命令。Docker 可以通过读取 Dockerfile 里面的命令来自动化地构建Docker镜像。通过执行 docker build 就可以启动这样的一个自动化流程...

2018-08-22 08:29:23 3313

原创 JFrog Artifactory 二进制软件制品仓库介绍

什么是二进制软件制品仓库 软件制品是指可在服务器上直接运行的二进制形式的文件,通常称之为二进制软件制品。 不同开发语言所产生的制品的获取、使用、共享方式不同,二进制制品仓库能够统一管理所有开发语言类型的二进制制品,同时无缝对接现有的标准化构建和发布工具。关于 JFrog ArtifactoryJFrog Artifactory 是目前全球唯一的支持所有开发语言,功能最强大的二...

2018-08-16 11:12:17 14862

原创 Spinnaker 核心概念解析

Spinnaker 调研汇总参考资料API Doc:https://www.spinnaker.io/reference/api/docs.htmlSwagger UI:http://15.114.100.67:8084/swagger-ui.htmlSpinnaker Reference:https://www.spinnaker.io/reference/Spinnaker CodeLa

2017-08-17 10:09:10 1735

原创 Go channel 使用示例代码

package mainimport ( "fmt")type Person struct { ID string `json: "id"` Name string `json: "name"`}type PersonHandler interface { bath(origs <-chan Person) <-chan Person handle(orig Pers

2017-08-06 10:31:52 458

原创 Nginx 入门指南

Nginx 入门指南安装部署针对CentOS7,安装部署如下步骤如下:Repo创建/etc/yum.repos.d/nginx.repo,并写入如下内容[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=0enabled=1这里的$releasever使

2017-07-15 17:24:28 703

原创 Go语言的那些事儿(第一篇)

Golang的特点部署简单Golang编译生成的是一个静态可执行文件,除了 glibc 外没有其他外部依赖,完全不需要操心应用所需的各种包、库的依赖关系,大大减轻了维护的负担。并发性好Goroutine和Channel机制使得编写高并发的服务端软件变得相当容易,很多情况下完全不需要考虑锁机制以及由此带来的问题。单个Go应用也能有效的利用多个CPU核,并行执行的性能好。性能优良Golang

2017-03-28 18:47:20 1397

原创 Python Module和Package辨析

Python 基础学习说明这不是最基础的入门教程,如需了解Python的数据类型、变量等基础内容,请移步:https://docs.python.org/2/tutorial/index.html这里的代码使用Python2.7环境,没有在>3版本环境下测试,如有不兼容等问题,欢迎交流。邮箱:hui.fu@hpe.com模块(Moudule)和包(Package)辨析module 通常模块

2017-03-24 16:45:48 2323

原创 人工智能基础概念

1.背景人工智能涉及的内容非常广泛,从数学到计算机科学,有很多的基础知识需要储备,之前打算阅读一些人工智能方面的书籍,总感觉比较吃力,这里会将一些人工智能方面的基础知识做一个总结梳理。2.基础概念1)人工智能人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能研

2017-01-04 21:02:34 8473 2

原创 TensorFlow介绍

1. 简介TensorFlow是谷歌2015年11月发布的开源人工智能系统,目前主要应用在语音识别、自动驾驶、图像识别等领域。这套框架在github上有开源代码,并且社区也有完善的文档及API。之前的软件算法都基于领域知识,给出既定的规则,程序负责对数据进行处理,得出相应的结果,但是人工智能的方式与此不同,采取的是基于统计学的基础上,结合领域知识提取合适的特性即可。TensorFlow的开源,标志

2016-12-31 11:46:55 1763

原创 World Runs on Kubernetes

1.前言Kubernetes 最近发布了1.5版本,很多科技媒体称之为"震撼发布"。从开发者的反馈来看,Kubernetes 确实备受亲睐,越来越多的应用可以在这个平台上运行,解决了部署、升级、运维等诸多方面的问题。今天就介绍下目前几个非常有前瞻性的项目。从这些项目中,我们或许能受到很多启发。2.项目介绍Openstack Kolla该项目是Openstack众多子项目的其中一个,旨在通过容器化的

2016-12-26 22:52:03 703

原创 关于公共安全解决方案的思考

1.    前言         最近世界范围内发生了多起公共安全事件,引起了全世界人民的高度关注。这些事件虽然没有发生在我们身边,但中国也是一个公共安全事件频发的国家,从这些事件中反思我们在公共安全处理措施方面的问题,也是有百利而无一害的,对于每个人来说,了解一些公共安全事件的预防及处置措施,在关键时刻能够保护自己、救助他人,这些也是每个人的义务和责任。2.    回顾最近的公共安全事件简要摘录

2016-12-21 21:43:24 856 1

原创 【杂文】宇宙思辨

前言今天匆匆赶到机场,发现飞机由于航空管制延误。联想到前几天看到一篇博客,里面提到一个问题:你确定你不是机器人吗? 自己喜欢看《黑客帝国》系列电影,加上最近这几年做技术研发,随着云计算等技术的蓬勃发展,很多技术上的哲理性思维突然在我的脑海中迸发出来,加之今年很火的量子力学,我于是匆匆而就,遂有此文。第一篇   追忆       在1999年美国沃卓兄弟拍了《黑客帝国》系列电影。这系列电影分为三集,

2016-12-16 23:20:16 664 2

原创 Kubernetes 高级特性集锦

1.前言kubernetes 项目发展至今,社区出现了很多非常优秀的特性,这些特性极大地扩展了Kubernetes的能力。目前很多公司基于Google Kubernetes 和 Docker 打造各自的私有化PaaS平台,这些高级特性往往是PaaS平台需要的,深入了解这些特性能够帮助架构设计人员快速确定技术方案,达到事半功倍的效果。目前很多PaaS平台都通过开放Kubernetes 特性,获得了很

2016-12-11 21:27:43 6281

原创 Hadoop 核心概念解析

Hadoop 权威指南读书笔记 - 入门前言在大学里曾经使用过Nutch,实现了一个简单的搜索引擎。工作之后,公司里有同事使用Lucene来做站内搜索。这些年伴随着大数据的兴起,Hadoop已经成为了静态数据处理的标准,号称性能更优且可以处理 流式数据的Spark也发展得如火如荼。记得那时候搜索引擎还是一个高端的技术,是一种非常神秘的存在,能够从纷繁复杂的数据海洋中精确地找到用户想要的信息,这确实

2016-10-16 07:56:05 6500 1

原创 Linux Shell 使用手记

1.背景Linux Shell是一种基本功,由于怪异的语法加之较差的可读性,通常被python等脚本代替。既然是基本功,那就需要掌握,毕竟学习Shell脚本的过程中,还是能了解到很多Linux系统的内容。Linux脚本大师不是人人都可以达到的,但是用一些简单的Shell实现一些常见的基本功能还是很有必要的。2.正题1) 热身下面的例子展示了如何向脚本传递参数、脚本如何获取参数、if-else判断、

2016-10-15 13:44:21 4124 3

原创 Kubernetes 滚动升级

Kubernetes Rolling Upgrade背景Kubernetes 是一个很好的容器应用集群管理工具,尤其是采用ReplicaSet这种自动维护应用生命周期事件的对象后,将容器应用管理的技巧发挥得淋漓尽致。在容器应用管理的诸多特性中,有一个特性是最能体现Kubernetes强大的集群应用管理能力的,那就是滚动升级。滚动升级的精髓在于升级过程中依然能够保持服务的连续性,使外

2016-10-14 21:09:59 11259

原创 量子科学家带给我们的思考

最近中国发射了第一颗量子通信卫星-墨子号,一时之间量子力学、量子纠缠、量子通信等概念也被大家所熟知。这时候,我突然想起我高中的物理老师,虽然仅仅只是一个高中很普通的物理老师,但是给我们普及了很多量子力学的概念,为我开拓了视野,导致后来我也一直很关注物理学前言的新闻。最近又看到中国科学技术大学的潘建伟教授在开奖啦节目中的一段演讲,他提到量子力学在国外有着很多感兴趣的大众,而在中国,很少有学生愿意从事

2016-09-02 22:15:36 866

原创 Kubernetes ReplicaSet 和 HPA 介绍

1.前言在kubernetes中,Pod是最基础的调度单位,多个pod 可以组成一个集合,这个集合向外提供服务。这时候,我们需要以下两种情形需要关注:1)集合中的Pod可能会由于某种原因Fail,这时候需要某种机制能够创建新的Pod以确保有足够数量的Pod在运行。2)Pod 的个数由访问请求决定。即当前实例个数不足以满足访问请求时,需要增加实例个数,反之,需要通过某种策略减少实例数。如果人工来实时

2016-08-13 22:51:38 4829

原创 kubernetes scheduler 模块分析 - 续

1.前言在上一篇《kubernetes scheduler 模块分析》中,分析了scheduler调度的流程和主要的算法。从整体上把握了scheduler的调度机制,今天想继续分析下更为细节的内容。2.概要今天主要分析scheduler的缓存机制,Extender扩展机制及Taint&Toleration机制。这三个方面虽然不是那么宏观,但是对于深入了解scheduler,甚至整个k8s的设计里面

2016-08-07 12:42:43 2413

原创 kubernetes scheduler 模块分析

1.背景kubernetes 社区十分火热,版本迭代非常快,本分析基于社区Kubernetes master版本。2.scheduler模块介绍调度器是kubernetes中独特而又重要的一个模块。独特是因为在kubernetes体系中,scheduler是唯一一个以plugin形式存在的模块,重要是因为kubernetes中最重要的基础单元pod的部署是通过scheduler完成的。正常情形下s

2016-08-05 23:15:48 3986

原创 一段Golang代码引发的思考

1.前言Golang有一些异于其他语言的特性,如果对这些特性不了解,看一些代码的时候经常就会感到莫名其妙。最近在看Kubernetes的一段代码时,由于没有深刻领会Golang的接口机制导致一脑袋雾水,当真正理解了之后,不得不佩服Golang的灵活性,堪称神一般的存在。2.分析这段代码的部分片段如下,详细内容在Kubernets github:https://github.com/kubernet

2016-08-02 23:04:39 1158

原创 Golang 常用的一些基本操作

下面是Golang常用的一些操作,获取环境变量、操作文件等等;package main import ( "fmt" "os" "path/filepath" "io/ioutil")func main () { //将当前路径和给定的路径连接成绝对路径 absPath,_ := filepath.Abs("test") fmt.Println(absPath) /

2016-06-30 09:20:45 3231 2

原创 Ubnutu 部署 k8s 的一个坑

1.背景在Ubnutu14.04 上部署K8S过程大致如下:1.执行apt-get update 和 apt-upgrade2.配置apt的代理(公司网络通过代理上网)3.通过apt-get install docker.io方式安装docker4.编译k8s,以本地模式启动2.问题发现无法正常启动,无法执行kubectl 命令,日志中包含的错误信息为:某个资源在Busy状态,并且无法删除。最终跟

2016-06-29 23:30:20 2755 2

原创 Go-restful Usage

1.前言Go 语言是一种表达能力非常强大的语言。目前有一个Golang实现的restful webservice 包,go-restful使用起来很简单。2.Demo例子实现了一个查询操作,更详细的Demo见这里:https://github.com/emicklei/go-restful/blob/master/examples/restful-user-resource.gopackage m

2016-06-29 17:01:30 3343

C# 集合的常用方法

c# 集合的使用方法,适合初学者。包括ArrayList,Statck,Queue,Dictionary的基本操作方法。

2013-05-02

C# 设计模式-建造者模式

设计模式-建造者模式,该模式涉及产品,构造者,指挥者、调用者等几个角色,职责明确,在实际项目中使用得比较多。

2013-04-09

WCF 我的WCF之旅示例代码

在学习WCF之旅的时候自己写得一些代码,不同的版本展示了逐渐深入的过程,有文字说明,很经典。

2013-03-25

观察者模式一步一步学-示例代码

观察者模式是开发过程中比较常用的模式,一般初学者理解起来有些困难,这个代码很好地介绍了观察者模式的演进过程,非常好哦。

2011-11-17

委托和代理示例代码-个人独创

学习委托和代理的很好示例,里面涵盖了类的继承、多态、接口等很多知识点,用这些知识点实现委托和代理的功能,将代理和这些实现方式进行比较。

2011-11-03

c# 基础知识巩固

c# 基础知识中的一些小知识点,如REF,OUT关键字,类型推断等等。

2011-11-03

阿里云计算ACP真题库

阿里云ACP云计算考试真题集,都是大部分难点的题目,太简单的不包含,方便大家参考。

2018-10-28

分层架构的单元测试

分层架构下的单元测试,使用Mock的机制剥离依赖关系

2015-09-05

.Net分层架构设计

.NET开发过程中常用的分层思想及实践,包含了Attribute在实际开发中使用的例子

2015-09-05

SignalR 即时通讯程序示例

使用SignalR开发基于WebSocket的即时通讯应用的范例,包含chat(聊天),协同动作及数据广播等多种应用场景。

2015-06-24

Jquery AutoComplete 使用demo

使用Jquery AutoComplete 插件来做自动填充功能,包含本地数组,后台数据等情况

2015-06-09

JavascriptLinqJS

linq js 非常方便地做JS开发,类此C# 中的LINQ

2015-05-14

Knockout 绑定数据列表

Knockout 绑定数据列表的例子,演示了knockout的强大能力!

2015-03-29

Knockout代码

Knockout是开源的UI与数据模型绑定的框架,实现MVVM模式,这是很好的示例代码!

2015-03-29

反射及IOC实现灵活插件架构

使用反射及IOC实现灵活插件架构,实现业务流程处理

2015-03-26

EasyMock 使用案例(含lib)

使用EasyMock做java单元测试的例子,包含所需要的jar包

2015-01-24

委托匿名方法LAMDA表达式

这是委托 匿名方法 lamda表达式的例子

2015-01-02

feng1456的留言板

发表于 2020-01-02 最后回复 2020-01-02

CSDN个人主页不再显示排名

发表于 2014-11-28 最后回复 2014-11-29

c# 删除oracle数据库中的数据出现界面卡死

发表于 2011-08-17 最后回复 2014-11-28

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

TA关注的人 TA的粉丝

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