在Visual Studio 2013、2015、2017中,使用的是Nuget包管理器对第三方组件进行管理升级的。而且 Nuget 是我们使用.NET Core的一项基础设施,.NET的软件包管理器NuGet.org是一项面向全球用户搭建的服务,不论用户身在何处,NuGet.org都应该有能力提供高性能的服务。2017 年微软针对中国访问Nuget服务的访问慢的问题进行了优化,把Blob存储备份到中国本地,并使用本地CDN服务商来处理软件包下载请求,具体参考 https://blog.nuget.org/20170907/Changes-to-NuGet-dot-org-service-management-and-performance-improvements-in-China.html

Nuget包的API分为搜索、注册和存储三大类。其中使用最为频繁的是注册和存储两类API。华为云镜像站点https://mirrors.huaweicloud.com/ 的Nuget镜像 包含了缓存的反向代理来加速这些API。 使用这个镜像可以在华为云和在应用开发可实现如下加速效果:

  1. 对于包的搜索无加速效果。搜索组件包是由额外的域名提供的,因此无法提供加速。本加速仅针对 api.nuget.org 进行,目前仅支持 v3 版本的 api 以及包存储

  2. 安装、卸载、升级包等完全加速。所有包信息均按天缓存在服务器上,每天每个包第一次访问为代理访问,随后均为本地访问
  3. 包安装、升级下载文件完全加速。每个包的每个版本第一次下载微代理访问,之后所有同样版本、ID的包均为本地访问

华为云的镜像服务需要登陆后才能看到镜像地址:

https://repo.huaweicloud.com/repository/nuget/v3/index.json

使用方法:

在Visual Studio中点击“工具”-“选项”,左侧找到“Nuget包管理器”-“程序包源”,确认您的列表中包含有V3版的APIhttps://api.nuget.org/v3/index.json)。华为云的加速服务仅支持V3版包源,如果没有这个记录,那么您可能无法使用加速服务,请升级您的Nuget包管理器

点击添加按钮,然后在下方输入信息:

输入后,点击更新按钮更新,最后确认并关闭配置。

上面设置后,Nuget的配置文件里就加入了相关配置,文件位置在:C:\Users\geffzhang\AppData\Roaming\NuGet\Nuget.config ,其中geffzhang 是我的电脑账号,更换你的账号,下面是我的Nuget 配置样例:

<?xml version="1.0" encoding="utf-8"?>

<configuration>
   <packageSources>
   <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
   <add key="orchardcore" value="https://www.myget.org/F/orchardcore-preview/api/v3/index.json" />
   <add key="tarsnet" value="https://www.myget.org/f/tarsnet" />
    <add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" />
     <add key="huaweicloud" value="https://repo.huaweicloud.com/repository/nuget/v3/index.json" />
   </packageSources>
   <packageRestore>
     <add key="enabled" value="True" />
     <add key="automatic" value="True" />
   </packageRestore>
   <bindingRedirects>
     <add key="skip" value="False" />
   </bindingRedirects>
   <packageManagement>
     <add key="format" value="0" />
     <add key="disabled" value="False" />
   </packageManagement>

</configuration>

上述操作我们都是在windows 10 上的,特别是做.NET Core的开发,很多同学喜欢用Mac,如果是Mac 与 Linux 中的路径是,那么路径是在 ~/.nuget/NuGet/NuGet.Config。

上面的配置是全局的配置, 如果我们的项目使用的是华为云的DevCloud 的持续集成可以在项目中引入Nuget.config来完成:

<?xml version="1.0" encoding="utf-8"?>
< configuration>
   <packageSources>  
     <add key="huaweicloud" value="https://repo.huaweicloud.com/repository/nuget/v3/index.json" />
   </packageSources>
   <packageRestore>
     <add key="enabled" value="True" />
     <add key="automatic" value="True" />
   </packageRestore>
   <bindingRedirects>
     <add key="skip" value="False" />
   </bindingRedirects>
   <packageManagement>
     <add key="format" value="0" />
     <add key="disabled" value="False" />
   </packageManagement>
< /configuration>

当你使用dotnet restore 时也可以通过 –s 指定使用华为云镜像,下面我们就用这种方法来测试下华为云的镜像的速度,下面我用两个项目来测试,测试结果表明 华为云的镜像的速度还是要比官方的要快:

D:\workshop\Github\abp\modules\account>dotnet restore -s https://repo.huaweicloud.com/repository/nuget/v3/index.json
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.Contracts\Volo.Abp.AspNetCore.Mvc.Contracts.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.ApiVersioning.Abstractions\Volo.Abp.ApiVersioning.Abstractions.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Bundling\Volo.Abp.AspNetCore.Mvc.UI.Bundling.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Packages\Volo.Abp.AspNetCore.Mvc.UI.Packages.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc\Volo.Abp.AspNetCore.Mvc.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI\Volo.Abp.AspNetCore.Mvc.UI.csproj 的包...
   D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.Contracts\Volo.Abp.AspNetCore.Mvc.Contracts.csproj 的还原在 446.67 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.ApiVersioning.Abstractions\Volo.Abp.ApiVersioning.Abstractions.csproj 的还原在 446.67 ms 内完成。
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore\Volo.Abp.AspNetCore.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Auditing\Volo.Abp.Auditing.csproj 的包...
   D:\workshop\Github\abp\framework\src\Volo.Abp.Auditing\Volo.Abp.Auditing.csproj 的还原在 68.02 ms 内完成。
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Authorization\Volo.Abp.Authorization.csproj 的包...
   D:\workshop\Github\abp\framework\src\Volo.Abp.Authorization\Volo.Abp.Authorization.csproj 的还原在 49.81 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore\Volo.Abp.AspNetCore.csproj 的还原在 203.87 ms 内完成。
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Caching\Volo.Abp.Caching.csproj 的包...
   D:\workshop\Github\abp\framework\src\Volo.Abp.Caching\Volo.Abp.Caching.csproj 的还原在 88.01 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj 的还原在 80.04 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc\Volo.Abp.AspNetCore.Mvc.csproj 的还原在 910.08 ms 内完成。
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Data\Volo.Abp.Data.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Core\Volo.Abp.Core.csproj 的包...
   D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.csproj 的还原在 921.41 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Packages\Volo.Abp.AspNetCore.Mvc.UI.Packages.csproj 的还原在 955.39 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Bundling\Volo.Abp.AspNetCore.Mvc.UI.Bundling.csproj 的还原在 954.79 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI\Volo.Abp.AspNetCore.Mvc.UI.csproj 的还原在 923.08 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.csproj 的还原在 970.79 ms 内完成。
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Ddd.Application\Volo.Abp.Ddd.Application.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.EventBus\Volo.Abp.EventBus.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Ddd.Domain\Volo.Abp.Ddd.Domain.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Guids\Volo.Abp.Guids.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Http.Abstractions\Volo.Abp.Http.Abstractions.csproj 的包...
   D:\workshop\Github\abp\framework\src\Volo.Abp.Core\Volo.Abp.Core.csproj 的还原在 116.76 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.Data\Volo.Abp.Data.csproj 的还原在 116.35 ms 内完成。
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Http\Volo.Abp.Http.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Json\Volo.Abp.Json.csproj 的包...
   D:\workshop\Github\abp\framework\src\Volo.Abp.Ddd.Application\Volo.Abp.Ddd.Application.csproj 的还原在 93.06 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.EventBus\Volo.Abp.EventBus.csproj 的还原在 92.87 ms 内完成。
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Localization.Abstractions\Volo.Abp.Localization.Abstractions.csproj 的包...
   D:\workshop\Github\abp\framework\src\Volo.Abp.Http.Abstractions\Volo.Abp.Http.Abstractions.csproj 的还原在 85.25 ms 内完成。
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Localization\Volo.Abp.Localization.csproj 的包...
   D:\workshop\Github\abp\framework\src\Volo.Abp.Guids\Volo.Abp.Guids.csproj 的还原在 115 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.Ddd.Domain\Volo.Abp.Ddd.Domain.csproj 的还原在 130.02 ms 内完成。
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.MultiTenancy.Abstractions\Volo.Abp.MultiTenancy.Abstractions.csproj 的包...
   D:\workshop\Github\abp\framework\src\Volo.Abp.Http\Volo.Abp.Http.csproj 的还原在 96.88 ms 内完成。
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Security\Volo.Abp.Security.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.ObjectMapping\Volo.Abp.ObjectMapping.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Settings\Volo.Abp.Settings.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Serialization\Volo.Abp.Serialization.csproj 的包...
   D:\workshop\Github\abp\framework\src\Volo.Abp.Json\Volo.Abp.Json.csproj 的还原在 92.34 ms 内完成。
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Threading\Volo.Abp.Threading.csproj 的包...
   D:\workshop\Github\abp\framework\src\Volo.Abp.Localization.Abstractions\Volo.Abp.Localization.Abstractions.csproj 的还原在 90.79 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.Localization\Volo.Abp.Localization.csproj 的还原在 120.39 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.MultiTenancy.Abstractions\Volo.Abp.MultiTenancy.Abstractions.csproj 的还原在 106.73 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.Security\Volo.Abp.Security.csproj 的还原在 83.47 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.Serialization\Volo.Abp.Serialization.csproj 的还原在 81.14 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.ObjectMapping\Volo.Abp.ObjectMapping.csproj 的还原在 90.69 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.Settings\Volo.Abp.Settings.csproj 的还原在 92.39 ms 内完成。
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.UI.Navigation\Volo.Abp.UI.Navigation.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Timing\Volo.Abp.Timing.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.UI\Volo.Abp.UI.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Validation\Volo.Abp.Validation.csproj 的包...
   D:\workshop\Github\abp\framework\src\Volo.Abp.Threading\Volo.Abp.Threading.csproj 的还原在 85.68 ms 内完成。
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.Uow\Volo.Abp.Uow.csproj 的包...
   正在还原 D:\workshop\Github\abp\framework\src\Volo.Abp.VirtualFileSystem\Volo.Abp.VirtualFileSystem.csproj 的包...
   正在还原 D:\workshop\Github\abp\modules\account\src\Volo.Abp.Account.Web\Volo.Abp.Account.Web.csproj 的包...
   正在还原 D:\workshop\Github\abp\modules\identityserver\src\Volo.Abp.IdentityServer.Domain.Shared\Volo.Abp.IdentityServer.Domain.Shared.csproj 的包...
   D:\workshop\Github\abp\framework\src\Volo.Abp.Timing\Volo.Abp.Timing.csproj 的还原在 128.06 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.UI\Volo.Abp.UI.csproj 的还原在 128.03 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.VirtualFileSystem\Volo.Abp.VirtualFileSystem.csproj 的还原在 91.36 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.UI.Navigation\Volo.Abp.UI.Navigation.csproj 的还原在 147.08 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.Validation\Volo.Abp.Validation.csproj 的还原在 143.89 ms 内完成。
   D:\workshop\Github\abp\framework\src\Volo.Abp.Uow\Volo.Abp.Uow.csproj 的还原在 111.94 ms 内完成。
   D:\workshop\Github\abp\modules\identityserver\src\Volo.Abp.IdentityServer.Domain.Shared\Volo.Abp.IdentityServer.Domain.Shared.csproj 的还原在 107.53 ms 内完成。
   正在还原 D:\workshop\Github\abp\modules\permission-management\src\Volo.Abp.PermissionManagement.Domain.Shared\Volo.Abp.PermissionManagement.Domain.Shared.csproj 的包...
   正在还原 D:\workshop\Github\abp\modules\identity\src\Volo.Abp.Identity.Domain.Shared\Volo.Abp.Identity.Domain.Shared.csproj 的包...
   正在还原 D:\workshop\Github\abp\modules\identityserver\src\Volo.Abp.IdentityServer.Domain\Volo.Abp.IdentityServer.Domain.csproj 的包...
   正在还原 D:\workshop\Github\abp\modules\identity\src\Volo.Abp.Identity.AspNetCore\Volo.Abp.Identity.AspNetCore.csproj 的包...
   正在还原 D:\workshop\Github\abp\modules\users\src\Volo.Abp.Users.Abstractions\Volo.Abp.Users.Abstractions.csproj 的包...
   正在还原 D:\workshop\Github\abp\modules\permission-management\src\Volo.Abp.PermissionManagement.Domain\Volo.Abp.PermissionManagement.Domain.csproj 的包...
   正在还原 D:\workshop\Github\abp\modules\identity\src\Volo.Abp.Identity.Domain\Volo.Abp.Identity.Domain.csproj 的包...
   D:\workshop\Github\abp\modules\permission-management\src\Volo.Abp.PermissionManagement.Domain.Shared\Volo.Abp.PermissionManagement.Domain.Shared.csproj 的还原在 119.46 ms 内完成。
   D:\workshop\Github\abp\modules\identity\src\Volo.Abp.Identity.Domain.Shared\Volo.Abp.Identity.Domain.Shared.csproj 的还原在 136.13 ms 内完成。
   D:\workshop\Github\abp\modules\users\src\Volo.Abp.Users.Abstractions\Volo.Abp.Users.Abstractions.csproj 的还原在 119.18 ms 内完成。
   D:\workshop\Github\abp\modules\permission-management\src\Volo.Abp.PermissionManagement.Domain\Volo.Abp.PermissionManagement.Domain.csproj 的还原在 207.33 ms 内完成。
   D:\workshop\Github\abp\modules\identity\src\Volo.Abp.Identity.Domain\Volo.Abp.Identity.Domain.csproj 的还原在 204.05 ms 内完成。
   正在还原 D:\workshop\Github\abp\modules\users\src\Volo.Abp.Users.Domain.Shared\Volo.Abp.Users.Domain.Shared.csproj 的包...
   正在还原 D:\workshop\Github\abp\modules\users\src\Volo.Abp.Users.Domain\Volo.Abp.Users.Domain.csproj 的包...
   D:\workshop\Github\abp\modules\identity\src\Volo.Abp.Identity.AspNetCore\Volo.Abp.Identity.AspNetCore.csproj 的还原在 249.32 ms 内完成。
   D:\workshop\Github\abp\modules\users\src\Volo.Abp.Users.Domain.Shared\Volo.Abp.Users.Domain.Shared.csproj 的还原在 48.91 ms 内完成。
   D:\workshop\Github\abp\modules\users\src\Volo.Abp.Users.Domain\Volo.Abp.Users.Domain.csproj 的还原在 93.33 ms 内完成。
   D:\workshop\Github\abp\modules\identityserver\src\Volo.Abp.IdentityServer.Domain\Volo.Abp.IdentityServer.Domain.csproj 的还原在 437.86 ms 内完成。
   D:\workshop\Github\abp\modules\account\src\Volo.Abp.Account.Web\Volo.Abp.Account.Web.csproj 的还原在 699.7 ms 内完成。

华为云提供针对Nuget包管理器的缓存加速服务的更多相关文章

  1. 使用腾讯云提供的针对Nuget包管理器的缓存加速服务

    继阿里巴巴开源镜像站(https://opsx.alibaba.com/).华为云镜像站点(https://mirrors.huaweicloud.com/ )之后,腾讯也已于近日上线了类似的服务,官 ...

  2. [2016-07-15]nuget包管理器控制台下的powershell脚本介绍

    博客有阵子没打理了,今天刚恢复样式,但是标题还是不太正常,总算能凑合看看. 回到正题,最近为了能在VS的程序包管理器控制台上能方便的自定义ps脚本去调整project的package,就开始看powe ...

  3. .NET持续集成与自动化部署之路第二篇——使用NuGet.Server搭建公司内部的Nuget(包)管理器

    使用NuGet.Server搭建公司内部的Nuget(包)管理器 前言     Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展.在使用Visual Studio开发基 ...

  4. nuget 包管理器

    nuget 是.Net平台上的包管理器, 对于包的发布(打包 package)和消费(下载依赖管理)都有很好的支持, 本文仅仅关注消费端, =======================nuget项目 ...

  5. 使用 NuGet 包管理器在 Visual Studio 中安装和管理包

    https://docs.microsoft.com/zh-cn/nuget/consume-packages/install-use-packages-visual-studio 通过 Window ...

  6. nuget包管理器控制台下的powershell脚本介绍

    http://personball.com/powershell/2016/07/15/powershell-tips 定制自己的powershell,减少重复工作 安装一系列自己的常用nuget包 ...

  7. 详解.Net 如何上传自己的包到Nuget平台以及如何使用Nuget包管理器

    首先需要一个Nuget账户,可以在官网注册:https://www.nuget.org.已有账户略. 需要一个ApiKeys,登录之后,在我的账户里找到ApiKeys进去; 创建ApiKeys 下载N ...

  8. Visual Studio 2013 更新 NuGet 包管理器

    Ø  前言 使用 Visual Studio 中的 NuGet 包管理器下载程序时,有时可能出现类似的错误:. 5.   在"联机"选项中搜索"NuGet",选 ...

  9. 当通过Nuget包管理器获取还原组时,出现 提示 “xxxxx”已拥有为“xxxxx”定义的依赖项

    当通过Nuget包管理器获取还原组件时,出现  提示 “xxxxx”已拥有为“xxxxx”定义的依赖项 时 解决方法: 工具---扩展和更新,把Nuget包管理器卸载后,重启VS,再安装,现打开VS项 ...

随机推荐

  1. PyCharm中设置字体大小

    1.在file(文件)里面找到setting(设置) 2. 然后再左面Editor里面找Font,再到右面Size里面设置字体大小

  2. Linux时间子系统之(十七):ARM generic timer驱动代码分析

    专题文档汇总目录 Notes:ARM平台Clock/Timer架构:System counter.Timer以及两者之间关系:Per cpu timer通过CP15访问,System counter通 ...

  3. 在单用户模式下修改CentOS的root密码

    我们在使用CentOS的过程中可能会发生忘记root用户密码的情况,本文就从应用的角度简单介绍一下如何在单用户模式下修改root用户的密码. 开启CentOS,进入系统启动菜单 将光标停留在系统开机时 ...

  4. 超实用的JavaScript代码段 Item1 --倒计时效果

    现今团购网.电商网.门户网等,常使用时间记录重要的时刻,如时间显示.倒计时差.限时抢购等,本文分析不同倒计时效果的计算思路及方法,掌握日期对象Date,获取时间的方法,计算时差的方法,实现不同的倒时计 ...

  5. 巩固java(七)-----java反射机制

    一般而言,开发者社群说到动态语言,大致认同的一个定义是:"程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言".从这个观点看,Perl,Python,Ruby是动态语言, ...

  6. 字符串匹配KMP算法的讲解C++

    转自http://blog.csdn.net/starstar1992/article/details/54913261 也可以参考http://blog.csdn.net/liu940204/art ...

  7. http.go

    )         }         if name != cfgName {             continue         }         return val.FieldByNa ...

  8. Vert.x 线程模型揭秘

    来源:鸟窝, colobu.com/2016/03/31/vertx-thread-model/ 如有好文章投稿,请点击 → 这里了解详情 Vert.x是一个在JVM开发reactive应用的框架,可 ...

  9. Python任务调度模块 – APScheduler,实现定时任务

    1.安装 pip install apscheduler 安装完毕 2. 简单任务 首先,来个最简单的例子,看看它的威力. # coding:utf-8 from apscheduler.schedu ...

  10. validatebox相关验证

    $(document).ready( function(){ $.extend($.fn.validatebox.defaults.rules, { minLength: { validator: f ...