首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    镜像版本号SNAPSHOT,LATEST 和 RELEASE

    LATEST 和 RELEASE 版本 LATEST是指某个特定构件最新的发布版或者快照版(snapshot),最近被部署 到某个特定仓库的构件。RELEASE是指仓库中最后的一个非快照版本。 在Maven 2.0.9之前,Maven会自动将核心插件更新 至LATEST版本。这种行为导致了很多奇怪现象,因为新版本的插件可能会有一些bug, 甚至是行为变更,这往往使得原来的构建失败。当Maven自动更新核心插件的时候,我 们就不能保证构建的重现性,因为插件随时都可能从中央仓库更新至一个新的版本。从Maven 2.0.9开始,Maven从根本上锁住了一组核心插件的版本。非核心插件,或者说没 有在超级POM中指定版本的插件仍然会使用LATEST版本去从仓库获取构件。由于这个原 因,你在构件中使用任何一个自定义非核心插件的时候,都应该显式的指定版本号。 SNAPSHOT 这个事maven的特殊版本号,maven在处理的时候,把SNAPSHOT字符创自动替换成时间 如你在UTC2008年2月7号下午11:08部署了这个版本,Maven就会将这个版本展开 成“1.0-20080207-230803-1”。换句话说,当你发布一个snapshot,你没有发布一个 软件模块,你只是发布了一个特定时间的快照版本。 对于SNAPSHOT功能,网友的一个例子  比如,你的工程要依赖的core版本是 1.0.0 版本,结果这个版本还正处于对方(叫小菜吧)的开发过程中,他利用maven命令mvn install打包成jar,并部署到服务器上,根据pom设定的版本,你顺利下载了依赖包。但小菜后续开发过程,发现了一个致命bug,那么他再操作一次,那么,即使服务器的更新是你需要的,你只能干着急,只能跟小菜吼一声,“你的版本,老子无法更新依赖包,再给我发一个新的版本上去。”小菜一听,好吧,那我把版本升到 1.0.1 版本,你通过update dependencies 下载了这个新版本的jar包。这样的情况,会循环地出现,那么你和小菜有点恼火了,maven就是老鼠钻到风箱里,两头受气,maven想能不能开发一个功能,使双方默认可以上传并打包下载到最新的开发版本,而不用修改版本号,否则开发完成之后,服务器上是一堆的release版本。有了这个思路,maven增加了划时代的功能,snapshot ,这样依赖版本为 1.0.0-SNAPSHOT (注意必须为全大写),当服务器上有更新时,会自动下载到本地,省去了不少、和小菜的沟通时间,也减小了不少由于版本问题带来的编译错误。

    03

    软件版本命名规范

    * Base版: 此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是页面中的功能都没有做完整的实现,只是做为整体网站的一个基础架构。 * Alpha版: 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改。 * Beta版: 该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI。 * RC版: 该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行的正式版相差无几。 * Release版: 该版本意味“最终版本”,在前面版本的一系列测试版之后,终归会有一个正式版本,是最终交付用户使用的一个版本。该版本有时也称为标准版。一般情况下,Release不会以单词形式出现在软件封面上,取而代之的是符号(R)。

    01

    一次发布有多个发行版,为什么Python发行包会这么难?

    大多数编程语言包的生态系统都有两个层级(level):每个包都有一个或多个发布(release),每一次发布都可以用版本号(version)进行区分。Python 有第三个层级:每个发布都有一个或多个发行版(distribution),下载安装包时下载的实际文件就是这些发行版。在大多数语言中,这些文件都是发布的同义词,但是在Python 中「一个发布有多个发行版」是很重要的,因为使用最广泛的那些包,大多数发布实际上都有多个发行版。 为什么会这样呢?因为 Python 的特殊之处在于,它将 C 扩展(extension)视为该语言的一流特性,并试图隔离包的使用与编译 C 扩展。这意味着发行版需要包含编译 C 扩展后的得到的二进制代码,这种发行版(在其现代迭代中)被称为 binary wheels。 但是 C 扩展通常需要针对特定的 Python 版本和操作系统进行编译,因此需要使用多个 wheels 来实现普适性。此外,由于包的作者不能预测出所有的 Python 版本和操作系统,所以包含一个由包用户负责编译的源发行版也很重要。 尽管如此,用户们和大多数工具考虑的仍然是发布版本(release),而不是特定的发行版(distribution)。这可能会引起极大的不协调。例如,在一台机器上安装一个包可能需要几秒钟(因为存在匹配的二进制发行版),在另一台机器上可能需要几分钟甚至几个小时。 即使两台机器都能找到合适的二进制发行版来安装,它们的哈希值也不匹配,检测 MitM 攻击也会因此变得更加困难。因为 pip 这样的工具会自动找到在发布下「最合适」的发行版,当一个发行版与给定的系统兼容时会偏向于选择 binary wheel,如果有多个发行版与此系统兼容,则选择最合适的 binary wheel,如果不兼容,则返回到源发行版。 如果你已经安装了发布下的一个发行版之后,该发布又有一个新的发行版,这时就会出现很大的问题。而且这个问题几乎是不可避免的——因为 PyPI 一次只允许上传一个发行版,并会创建一包含这个发行版的新发布,所以在你上传最后一个发行版之前,一定会有人已经下载了第一个发行版。 在使用自动编译程序(buildbot)并行构建不同的发行版之后,这个问题变得更加常见,二进制发行版一般要比源发行版花费更长的时间。当一个包的作者在发布后的几个月或几年里,再去添加对新平台(或 python 的新版本)的支持时,这种情况就变得更糟糕了。当这种情况发生时,会有以下一些问题:

    04

    ps cs5蒙版教程-Photoshop_CS5初学者必读(10)——蒙版应用技巧

    初学者必读(10)——蒙版应用技巧讲述了蒙版的工作原理和“蒙版”调板的使用方法后,相信朋友们对蒙版有了深一步的了解。灵活的运用蒙版,可以制作出丰富多彩的合成作品来。在本节内容中,就为朋友们安排了一幅唯美风格的插画设计,在制作作品的过程中ps cs5蒙版教程,运用到了大量的、不同风格元素的素材,跟据不同的情况,使用到了快速蒙版、图层蒙版、矢量蒙版和剪贴蒙版来编辑合成作品,使素材形成一个丰富统一的整体。通过这个实例主要向朋友们讲述这几种蒙版的应用方法与技巧,希望能对关心此问题的用户有所帮助。开始实例的学习之前,可以先下载实例的配套素材,然后跟随操作步骤进行学习。快速蒙版(1)运行,打开本实例配套素材“背景.psd”文件。(2)打开本实例配套素材“人物.jpg”文件,将该图像移动至“背景”文档中并对其位置角度进行调整。(3)使用“魔棒”工具创建选区。(5)将选区反向选择,进入快速蒙版模式。(6)在快速蒙版模式中对蒙版选区进行编辑。(7)退出快速蒙版模式。图层蒙版(1)保持选区的选择状态,在“图层”调板中创建图层蒙版,方便对图像的修改,并遮盖选区中的图像。(2)打开本实例配套素材“底纹.psd”文件。(3)将底纹图像移动至“背景”文档中,调整图层顺序和底纹图像的位置。(4)分别为两个底纹图像添加图层蒙版。(5)在“图层”调板中设置“红色底纹”图层的混合模式和不透明度。剪贴蒙版(1)新建图层,使用“渐变”工具填充渐变。(2)执行“图层”“创建剪贴蒙版”命令。(3)接着为该图层添加图层蒙版,屏蔽右下方图像。(4)打开本实例配套素材“翅膀.psd”文件。(5)将翅膀图像移动至“背景”文档中合适位置,并对其进行调整。矢量蒙版(1)在“花纹”图层组的上方新建“图层2”并填充白色。(2)为该图层添加图层蒙版和矢量蒙版。(3)使用“椭圆”工具在矢量蒙版中绘制路径。(4)绘制完毕后使用“画笔”工具在其图层蒙版中进行涂抹,屏蔽部分图像。(5)在“背景”图层的上方新建图层,使用不同颜色的画笔进行涂抹ps cs5蒙版教程,使图像色彩更为丰富。(6)最后将“文字装饰”和“花纹”图层显示,完成本实例的制作。

    01
    领券