自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(477)
  • 资源 (16)
  • 问答 (3)
  • 收藏
  • 关注

原创 AntDesign Pro mfsu 导致的页面无法加载问题及解法

问题虽然解决了,但是这个 mfsu 是个什么,我找到了如下文档:大概说的是,这是一种加速机制,应用热更新时对依赖就不用编译了,提升启动效率。

2023-12-18 18:58:58 538

原创 OpenTelemetry - 云原生的观测技术框架

OpenTelemetry 是什么OpenTelemetry 是一个实现应用行为和性能观测的框架,目前已成为 CNCF 应用的事实标准。OpenTelemetry 定义了一组工具,帮助开发者生成各维度基础数据和对数据进行统计分析,支持多种技术栈。OpenTelemetry 的特性Traces、Metrics、Logs支持 Traces、Metrics、Logs 三类数据的收集和导入分析工具。简单易用支持 Spring、ASP.NET Core 等等一系列主流开发框架。开源,云服务商100%

2022-05-23 09:44:37 593

原创 数据库基础知识回顾

1.数据库基础知识1.1 数据库索引索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引分为聚簇索引和非聚簇索引两种,聚簇索引 是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快。例如这样一个查询:select * from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找

2022-05-20 23:10:13 251

原创 Rust SSL error 怎么解决

Rust SSL error 怎么解决Rust 官方给的建议是配置 net.git-fetch-with-cli = true,实际测试发现问题仍然在正确的解决办法:sudo yum install openssl重启再次执行即可!

2021-12-19 14:55:29 2285

原创 Rust 自动化测试

单元测试集成测试

2021-01-25 17:30:27 875

原创 nohup 在容器中运行 WebServer

问题描述在一个容器中启动一个 WebServer,断开连接之后发现无法访问了。nohup用途:不挂断地运行命令。语法:nohup Command [ Arg … ]描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。总结有人会使用 nohup ./start.sh > server.log 2>&1 &,标准错误(2)重定向到标准输出中(1)中,最终写入 server.log。...

2021-01-25 17:28:04 440

转载 C++ Static Library 和 Shared Library 的区别

2021-01-22 19:13:04 2120

原创 MacOS 安装 Rust 报错的解决办法

1.问题现象根据官方给出的 Rust 安装指导,我们采用如下命令在 MacOS 上安装:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh在执行到最后,我们使用 default 选项安装,但是我们会遇到:Permission denied (os error 13)即使我们使用 sudo,依然出现这个错误。查看 github 发现这个 issue 已经被关闭了,但是没有给出正确的安装命令。2.解决方式在 stacko

2021-01-09 14:20:50 1505 1

原创 一种解决 .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 1759

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

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

2020-08-01 13:15:32 2839 1

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

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

2019-11-10 22:10:56 1458

原创 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 922

原创 Golang Goroutine 和 Channel 的使用

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

2018-10-21 18:29:59 607 1

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

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

2018-09-28 09:58:31 1116

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

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

2018-09-21 09:59:48 2154

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

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

2018-09-17 14:27:45 932 2

原创 Bazel 构建工具介绍

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

2018-09-16 19:01:02 9109

翻译 深入理解NPM依赖模型

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

2018-09-15 20:30:05 4127

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

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

2018-09-15 20:06:23 3507

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

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

2018-09-08 12:57:09 738

原创 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 963 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 2263

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

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

2018-08-30 23:12:02 3543

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

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

2018-08-30 19:21:18 2416

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

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

2018-08-22 08:29:23 5489 1

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

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

2018-08-16 11:12:17 28152 1

原创 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 2090

原创 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 914

原创 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 793

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

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

2017-03-28 18:47:20 1799

原创 Python Module和Package辨析

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

2017-03-24 16:45:48 2530 1

原创 人工智能基础概念

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

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

原创 TensorFlow介绍

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

2016-12-31 11:46:55 2311

原创 World Runs on Kubernetes

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

2016-12-26 22:52:03 800

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

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

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

原创 【杂文】宇宙思辨

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

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

原创 Kubernetes 高级特性集锦

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

2016-12-11 21:27:43 6973

原创 Hadoop 核心概念解析

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

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

原创 Linux Shell 使用手记

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

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

原创 Kubernetes 滚动升级

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

2016-10-14 21:09:59 12590

分层架构的单元测试

分层架构下的单元测试,使用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

C# 集合的常用方法

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

2013-05-02

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

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

2013-04-09

WCF 我的WCF之旅示例代码

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

2013-03-25

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

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

2011-11-17

c# 基础知识巩固

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

2011-11-03

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

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

2011-11-03

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

TA关注的人

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