npm 与yarn 的区别网上一大堆的文章,我们在构建docker 镜像是应该遵守的有些原则   基础镜像尽量小 对于构建进行缓存处理 构建的docker 的文件层数尽量少 能直接运行的,就别进行重复构建了(比如go)   yarn 在我们进行本地构建的时候可以帮助我们减少很多资源的在重复下载,以及校验, 加速docker 项目的构建   以下为一个简单的例子,具体与npm的比较就不用了,效果太明显了 备注:      此次docker nodejs 镜像使用的是 kkarczmarczyk/n…
上一篇文章里我们介绍了go modules的初步使用,现在我们来更深入的了解一下如何使用go get在module中管理依赖. module下的包管理 首先我们介绍过go mod edit修改go.mod,然而它有两点缺陷: 首先是它的-require必须接受“package@version”这种形式,缺一不可,而且不能识别文档规定的master和latest标志. 其次是edit只适合用于修改依赖版本,给package改名,屏蔽特定的package这三个功能,不适用于添加依赖. 好消息是go…
一.为什么要包管理 默认Go的第三方包都是放在Gopath的src目录下,而且这些包都没有版本号的概念,这样的可能会出现一些问题. 举个例子:当A同事将开发完程序之后,此时可能引用了一个第三方的包,过了不久之后,B同事接手了该项目,此时如果B同事通过go get 命令获取了包,而且包的版本进行了升级,恰巧这个包又不兼容以前的版本,这就会导致程序编译错误等问题.或者当这个维护的第三方包删除了,那么B同学则不能下载到该包. 由上面的例子就能知道,为什么需要进行包的依赖管理了. go里面进行包依赖管理…
glide是golang的一款包管理工具,就像Java下的Maven(当然Maven的定位不只是包管理工具).今天试用了一下,记录一下使用过程和遇到的一些坑. 环境 Windows 7,Goland,Go 1.8.4 安装 go get -u github.com/Masterminds/glide 在Goland中打开File--Settings--Tools--External Tools,根据自己的gopath添加gopath\bin\glide.exe,如图 在Goland中输入命令:…
Visual Studio Code和Docker开发asp.net core和mysql应用 .net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对岸的苹果园越来越茂盛,实在不想再去做一只宅猿了.于是,.net猿决定搭上小鲸鱼的渡轮到苹果园去看看. .net猿上了小鲸鱼渡轮就先问了一个问题,苹果园上有能用来编写c#代码的和Visual Studio一样强大的IDE么?这时,天空闪过一道Gamma射线,艾瑞克神说,给你一个 Visual Stud…
Docker Boxes Docker provider不需要vagrant box.因此其config.vm.box设置是完全可选的.但是,仍然可以使用并指定一个box来提供默认值.由于一个带着box的Vagrantfile是作为配置加载序列的一部分加载的,因此可以使用它来配置开发环境的基础.但是,一般情况下,Docker provider不需要带着box. Docker Configuration Docker provider有一些特定于provider的配置选项,你可以设置它们.完整的参…
MapReduce MapReduce的基本定义及过程 搭建开发环境 代码实例及运行程序 MapReduce开发接口介绍 1. MapReduce的基本定义及过程 MapReduce是面向大数据并行处理的计算模型.框架和平台,其资源调度由Yarn完成,任务资源隐含了以下三层含义: 1)MapReduce是 一个基于集群的高性能并行计算平台(cluster Infrastructure). 2)MapReduce是 一个并行计算与运行软件框架(SoftWare Framework) 3)MapRe…
Mac结合Docker开发 前几天在看Java并发实战时,在Mac上写了一个示例,结果运行后无法按照书本上运行.主要是有些命令,在Mac和Linux是有区别的,比如top, Mac上是不支持-Hp,意即查看进程内的所有线程资源占用情况.因此,想在Linux上运行一把,但前提是得将写好的代码复制到Linux上:唉,总不能手工复制到Linux上吧,或者在Linux上再写一遍. 明确我们的目标:在Mac上运行Docker,容器中有java运行环境. 解决 此时想到了Docker,Docker有丰富的镜…
不知道看到这篇文章的Java工程师有没有考虑过这个问题:为什么在企业开发中会选择logback来记录日志,而不是log4j呢? 如果你以前没有考虑过这个问题,那么现在如果让你考虑一下,你可能觉的会是因为什么原因呢?本文就来为你回答这个问题. 无论从设计上还是实现上,Logback相对log4j而言有了相对多的改进.不过尽管难以一一细数,这里还是列举部分理由为什么选择logback而不是log4j.牢记logback与log4j在概念上面是很相似的,它们都是有同一群开发者建立.所以如果你已经对lo…
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用.经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准.2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一.    不同于它的前任标准DES,R…