glide从入门到精通使用

author author     2022-09-08     660

关键词:

介绍

不论是开发Java还是你正在学习的Golang,都会遇到依赖管理问题。Java有牛逼轰轰的MavenGradle Golang亦有godepgovendorglidegvtgopack等等,本文主要给大家介绍gilde glideGolang的包管理工具,是为了解决Golang依赖问题的。

安装

Golang环境设置

Golang 1.5版本后才采用vendor目录特性。

//设置环境变量使用vendor目录
GO15VENDOREXPERIMENT=1

安装glide

$ go get github.com/Masterminds/glide
$ go install github.com/Masterminds/glide

验证

$ glide
NAME:
   glide -Vendor Package Management for your Go projects.

   Each projectshould have a ‘glide.yaml‘ file in the project directory. Files
   looksomething like this:

       package:github.com/Masterminds/glide
       imports:
       -package: github.com/Masterminds/cookoo
        version: 1.1.0
       -package: github.com/kylelemons/go-gypsy
        subpackages:
         - yaml

   For moredetails on the ‘glide.yaml‘ files see the documentation at
  https://glide.sh/docs/glide.yaml


USAGE:
   glide [globaloptions] command [command options] [arguments...]

VERSION:
   0.13.0-dev

COMMANDS:
     create,init       Initialize a new project,creating a glide.yaml file
    config-wizard, cw  Wizard thatmakes optional suggestions to improve config in a glide.yaml file.
     get                Install one or more packagesinto `vendor/` and add dependency to glide.yaml.
     remove,rm         Remove a package from theglide.yaml file, and regenerate the lock file.
     import             Import files from other dependencymanagement systems.
     name               Print the name of this project.
     novendor,nv       List all non-vendor paths in adirectory.
    rebuild            Rebuild (‘gobuild‘) the dependencies
     install,i         Install a project‘sdependencies
     update,up         Update a project‘sdependencies
     tree               (Deprecated) Tree prints thedependencies of this project as a tree.
     list               List prints all dependenciesthat the present code references.
     info               Info prints information aboutthis project
    cache-clear, cc    Clears theGlide cache.
     about              Learn about Glide
     mirror             Manage mirrors
     help,h            Shows a list of commands orhelp for one command

GLOBAL OPTIONS:
   --yaml value,-y value  Set a YAML configuration file.(default: "glide.yaml")
   --quiet,-q             Quiet (no info or debugmessages)
   --debug                 Print debug verboseinformational messages
   --homevalue            The location of Glidefiles (default: "/home/users/qiangmzsx/.glide") [$GLIDE_HOME]
   --tmpvalue             The temp directory touse. Defaults to systems temp [$GLIDE_TMP]
  --no-color              Turn offcolored output for log messages
   --help,-h              show help
   --version,-v           print the version

看到这样,那就恭喜你,已经安装成功了!!!

使用

篇幅有限,我只介绍经常使用到的。先进入在GOPATH的一个项目中。

cd  $GOPATH/src/foor

初始化 (glide init)

$ glide init
[INFO] Generating a YAML configuration file and guessing the dependencies
[INFO] Attempting to import from other package managers (use --skip-import toskip)
[INFO]  Scanningcode to look for dependencies
[INFO]  -->Found reference to github.com/urfave/cli
[INFO]  Writingconfiguration file (glide.yaml)
[INFO]  Wouldyou like Glide to help you find ways to improve your glide.yaml configuration?
[INFO]  If youwant to revisit this step you can use the config-wizard command at any time.
[INFO]  Yes (Y)or No (N)?
Y
[INFO]  Loadingmirrors from mirrors.yaml file
[INFO]  Lookingfor dependencies to make suggestions on
[INFO]  -->Scanning for dependencies not using version ranges
[INFO]  -->Scanning for dependencies using commit ids
[INFO] Gathering information on each dependency
[INFO]  -->This may take a moment. Especially on a codebase with many dependencies
[INFO]  -->Gathering release information for dependencies
[INFO]  -->Looking for dependency imports where versions are commit ids
[INFO]  Here aresome suggestions...
[INFO]  Thepackage github.com/urfave/cli appears to have Semantic Version releases(http://semver.org).
[INFO]  Thelatest release is v1.19.1. You are currently not using a release. Would youlike
[INFO]  to usethis release? Yes (Y) or No (N)
Y
[INFO]  Wouldyou like to remember the previous decision and apply it to future
[INFO] dependencies? Yes (Y) or No (N)
Y
[INFO]  Updatinggithub.com/urfave/cli to use the release v1.19.1 instead of no release
[INFO]  Thepackage github.com/urfave/cli appears to use semantic versions(http://semver.org).
[INFO]  Wouldyou like to track the latest minor or patch releases (major.minor.patch)?
[INFO]  Trackingminor version releases would use ‘>= 1.19.1, < 2.0.0‘ (‘^1.19.1‘).Tracking patch version
[INFO]  releaseswould use ‘>= 1.19.1, < 1.20.0‘ (‘~1.19.1‘). For more information onGlide versions
[INFO]  andranges see https://glide.sh/docs/versions
[INFO]  Minor(M), Patch (P), or Skip Ranges (S)?
P
[INFO]  Wouldyou like to remember the previous decision and apply it to future
[INFO] dependencies? Yes (Y) or No (N)
Y
[INFO]  Updatinggithub.com/urfave/cli to use the range ~1.19.1 instead of commit id v1.19.1
[INFO] Configuration changes have been made. Would you like to write these
[INFO]  changesto your configuration file? Yes (Y) or No (N)
Y
[INFO]  Writingupdates to configuration file (glide.yaml)
[INFO]  You cannow edit the glide.yaml file.:
[INFO]  -->For more information on versions and ranges see https://glide.sh/docs/versions/
[INFO]  -->For details on additional metadata see https://glide.sh/docs/glide.yaml/
$ ll
glide.yaml
$ cat glide.yaml 
package: foor
import: []

在初始化过程中, glide 会询问一些问题。 glide.yaml记载了依赖包的列表及其更新规则,每次执行 glide up 时,都会按照指定的规则(如只下载补丁(patch)不下载升级(minor))下载新版。 

一个完整的gilde.yaml

package: foor
homepage:https://github.com/qiangmzsx
license: MIT
owners:
-name: qiangmzsx
  email: [email protected]
  homepage:https://github.com/qiangmzsx
# 去除包
ignore:
- appengine
- golang.org/x/net
# 排除目录
excludeDirs:
- node_modules
# 导入包
import:
-package:github.com/astaxie/beego
  version: 1.8.0
-package:github.com/coocood/freecache
-package:github.com/garyburd/redigo/redis
-package:github.com/go-sql-driver/mysql
-package:github.com/bitly/go-simplejson
-package:git.oschina.net/qiangmzsx/beegofreecache
testImport:
-package: github.com/smartystreets/goconvey
  subpackages:
  - convey

很多人看着yaml很不习惯,没事,我转一下json给大家看看。

{
  "excludeDirs":[
    "node_modules"
  ],
  "owners":[
    {
      "homepage":"https://github.com/qiangmzsx",
      "name":"qiangmzsx",
      "email":"[email protected]"
    }
  ],
  
  "license":"MIT",
  "package":"foor",
  "ignore":[
    "appengine",
    "golang.org/x/net"
  ],
  "import":[
    {
      "version":"1.8.0",
      "package":"github.com/astaxie/beego"
    },
    {
      "package":"github.com/coocood/freecache"
    },
    {
      "package":"github.com/garyburd/redigo/redis"
    },
    {
      "package":"github.com/go-sql-driver/mysql"
    },
    {
      "package":"github.com/bitly/go-simplejson"
    },
    {
      "package":"git.oschina.net/qiangmzsx/beegofreecache"
    }
  ],
  "testImport":[
    {
      "subpackages":[
        "convey"
      ],
      "package":"github.com/smartystreets/goconvey"
    }
  ],
  "homepage":"https://github.com/qiangmzsx"
}

版本号指定规则

=: equal (aliasedto no operator)
!=: not equal
>: greater than
<: less than
>=: greater than or equal to
<=: less than or equal to

1.2 - 1.4.5 which is equivalent to >= 1.2, <=1.4.5
2.3.4 - 4.5 which is equivalent to >= 2.3.4, <=4.5
1.2.x is equivalent to >= 1.2.0, < 1.3.0

>= 1.2.x is equivalent to >= 1.2.0
<= 2.x is equivalent to < 3
* is equivalent to >= 0.0.0

~1.2.3 is equivalent to >= 1.2.3, < 1.3.0
~1 is equivalent to >= 1, < 2
~2.3 is equivalent to >= 2.3, < 2.4
~1.2.x is equivalent to >= 1.2.0, < 1.3.0
~1.x is equivalent to >= 1, < 2

^1.2.3 is equivalent to >= 1.2.3, < 2.0.0
^1.2.x is equivalent to >= 1.2.0, < 2.0.0
^2.3 is equivalent to >= 2.3, < 3
^2.x is equivalent to >= 2.0.0, < 3

指定版本报错,需要用指定的可以不填写

安装依赖 (glide install)

glide.yaml我们已经准备好了,现在就改安装一下试试。

$ glide install
[ERROR] Failed to parse/home/users/xxxx/golang/src/foor/glide.yaml: yaml: invalid leading UTF-8 octet
报错了!别担心看看你的yaml文件是否为utf-8编码,不是就转换一下就好啦!
$ glide install
[INFO]  Lockfile (glide.lock) does not exist. Performing update.
[INFO] Downloading dependencies. Please wait...
[INFO]  -->Fetching updates for github.com/go-sql-driver/mysql
[INFO]  -->Fetching updates for github.com/astaxie/beego
[INFO]  -->Fetching updates for github.com/coocood/freecache
[INFO]  -->Fetching updates for git.oschina.net/qiangmzsx/beegofreecache
[INFO]  -->Fetching updates for github.com/bitly/go-simplejson
[INFO]  -->Fetching updates for github.com/garyburd/redigo
[INFO]  -->Fetching updates for github.com/smartystreets/goconvey
[INFO]  -->Detected semantic version. Setting version for github.com/astaxie/beego tov1.8.0
[INFO] Resolving imports
[INFO] Downloading dependencies. Please wait...
[INFO]  Settingreferences for remaining imports
[INFO] Exporting resolved dependencies...
[INFO]  -->Exporting github.com/astaxie/beego
[INFO]  -->Exporting github.com/coocood/freecache
[INFO]  -->Exporting github.com/bitly/go-simplejson
[INFO]  --> Exportinggithub.com/go-sql-driver/mysql
[INFO]  -->Exporting github.com/garyburd/redigo
[INFO]  -->Exporting github.com/smartystreets/goconvey
[INFO]  -->Exporting git.oschina.net/qiangmzsx/beegofreecache
[INFO] Replacing existing vendor dependencies
[INFO]  Projectrelies on 6 dependencies.
$ ll
total 12
glide.lock
glide.yaml
vendor
$ ll vendor/
git.oschina.net
github.com

看到glide.look了吗,这个文件记载了依赖包确定的revision, 下次再执行 glide install 时,会直接读这个文件下载确定的版本。

升级版本 (glide up)

glide up 会按照语义化版本规则更新依赖包代码,开发过程中如果需要使用新版代码,可以执行这个命令:修改一下glide.yaml中的一个Package.

- package:github.com/astaxie/beego
  version: 1.8.3

执行glide up

$ glide up
[INFO] Downloading dependencies. Please wait...
[INFO]  -->Fetching updates for git.oschina.net/qiangmzsx/beegofreecache
[INFO]  -->Fetching updates for github.com/garyburd/redigo
[INFO]  -->Fetching updates for github.com/go-sql-driver/mysql
[INFO]  -->Fetching updates for github.com/astaxie/beego
[INFO]  -->Fetching updates for github.com/bitly/go-simplejson
[INFO]  -->Fetching updates for github.com/coocood/freecache
[INFO]  -->Fetching updates for github.com/smartystreets/goconvey
[INFO]  -->Detected semantic version. Setting version for github.com/astaxie/beego tov1.8.3
[INFO] Resolving imports
[INFO] Downloading dependencies. Please wait...
[INFO]  Settingreferences for remaining imports
[INFO] Exporting resolved dependencies...
[INFO]  -->Exporting github.com/astaxie/beego
[INFO]  -->Exporting github.com/bitly/go-simplejson
[INFO]  -->Exporting github.com/garyburd/redigo
[INFO]  -->Exporting github.com/go-sql-driver/mysql
[INFO]  -->Exporting github.com/coocood/freecache
[INFO]  -->Exporting github.com/smartystreets/goconvey
[INFO]  -->Exporting git.oschina.net/qiangmzsx/beegofreecache
[INFO] Replacing existing vendor dependencies
[INFO]  Projectrelies on 6 dependencies.

添加并下载依赖 (glide get)

除了自动从代码中解析 import 外,glide 还可以通过 glide get 直接下载代码中没有的依赖,与 go get 的用法基本一致:

$ glide getgithub.com/orcaman/concurrent-map
[INFO] Preparing to install 1 package.
[INFO] Attempting to get package github.com/orcaman/concurrent-map
[INFO]  -->Gathering release information for github.com/orcaman/concurrent-map
[INFO]  -->Adding github.com/orcaman/concurrent-map to your configuration
[INFO] Downloading dependencies. Please wait...
[INFO]  -->Fetching updates for github.com/garyburd/redigo
[INFO]  -->Fetching updates for github.com/astaxie/beego
[INFO]  -->Fetching updates for github.com/go-sql-driver/mysql
[INFO]  -->Fetching updates for git.oschina.net/qiangmzsx/beegofreecache
[INFO]  -->Fetching updates for github.com/bitly/go-simplejson
[INFO]  -->Fetching github.com/orcaman/concurrent-map
[INFO]  -->Fetching updates for github.com/coocood/freecache
[INFO]  -->Fetching updates for github.com/smartystreets/goconvey
[INFO] Resolving imports
[INFO] Downloading dependencies. Please wait...
[INFO]  -->Detected semantic version. Setting version for github.com/astaxie/beego tov1.8.3
[INFO] Exporting resolved dependencies...
[INFO]  -->Exporting github.com/smartystreets/goconvey
[INFO]  -->Exporting github.com/garyburd/redigo
[INFO]  -->Exporting github.com/go-sql-driver/mysql
[INFO]  -->Exporting github.com/orcaman/concurrent-map
[INFO]  -->Exporting github.com/astaxie/beego
[INFO]  -->Exporting github.com/bitly/go-simplejson
[INFO]  -->Exporting github.com/coocood/freecache
[INFO]  -->Exporting git.oschina.net/qiangmzsx/beegofreecache
[INFO] Replacing existing vendor dependencies

使用镜像 (glide mirror)

[WARN]  Unable to checkout golang.org/x/crypto
[ERROR] Update failed for golang.org/x/crypto: Cannotdetect VCS
[ERROR] Failed to do initial checkout of config:Cannot detect VCS

这几行信息估计很多人都是遇到过的。在我天朝或者在公司内部都可能不能访问一些站点,导致很Golang的依赖包不能通过go get下载。此时也就是glide大发神威的时候到了,可以通过配置将墙了的版本库 URL 映射到没被墙的 URL,甚至也可以映射到本地版本库。golang.org映射到github: 修改glide.yaml加入

- package:golang.org/x/crypto

如果你的网络可以访问就不需要使用glide镜像功能,可以跳过。

$ glide mirrorset golang.org/x/crypto github.com/golang/crypto
[INFO] golang.org/x/crypto being set to github.com/golang/crypto
[INFO] mirrors.yaml written with changes
$ glide up
[INFO]  Loadingmirrors from mirrors.yaml file
[INFO] Downloading dependencies. Please wait...
[INFO]  -->Fetching updates for github.com/orcaman/concurrent-map
[INFO]  -->Fetching golang.org/x/crypto
[INFO]  -->Fetching updates for github.com/astaxie/beego
[INFO]  -->Fetching updates for github.com/go-sql-driver/mysql
[INFO]  -->Fetching updates for github.com/garyburd/redigo
[INFO]  -->Fetching updates for github.com/coocood/freecache
[INFO]  -->Fetching updates for github.com/bitly/go-simplejson
[INFO]  -->Fetching updates for git.oschina.net/qiangmzsx/beegofreecache
[INFO]  -->Fetching updates for github.com/smartystreets/goconvey
[INFO]  -->Detected semantic version. Setting version for github.com/astaxie/beego tov1.8.3
[INFO] Resolving imports
[INFO] Downloading dependencies. Please wait...
[INFO]  Settingreferences for remaining imports
[INFO] Exporting resolved dependencies...
[INFO]  -->Exporting github.com/astaxie/beego
[INFO]  -->Exporting github.com/coocood/freecache
[INFO]  -->Exporting github.com/smartystreets/goconvey
[INFO]  -->Exporting github.com/garyburd/redigo
[INFO]  -->Exporting github.com/go-sql-driver/mysql
[INFO]  -->Exporting github.com/bitly/go-simplejson
[INFO]  -->Exporting github.com/orcaman/concurrent-map
[INFO]  -->Exporting golang.org/x/crypto
[INFO]  -->Exporting git.oschina.net/qiangmzsx/beegofreecache
[INFO] Replacing existing vendor dependencies
[INFO]  Projectrelies on 8 dependencies.
$ ll vendor/
git.oschina.net
github.com
golang.org

终于看到golang.org啦!!!细心的你一定已经发现了

[INFO]  mirrors.yaml written with changes

说明执行glide mirror时候镜像配置写入到的是$HOME/.glide/mirrors.yaml中,打开看看。

repos:
-original: golang.org/x/crypto
  repo: github.com/golang/crypto

还可以映射到本地目录。推荐大家可以去https://www.golangtc.com/download/package下载很多Golang类库。现在我去下载了:https://www.golangtc.com/static/download/packages/golang.org.x.text.tar.gz,解压到本地目录/home/users/qiangmzsx/var/golang/golang.org/x/text

$ glide mirrorset golang.org/x/text /home/users/qiangmzsx/var/golang/golang.org/x/text
[INFO]  golang.org/x/textbeing set to /home/users/qiangmzsx/var/golang/golang.org/x/text
[INFO] mirrors.yaml written with changes
$ glide up
[INFO]  Loadingmirrors from mirrors.yaml file
[INFO] Downloading dependencies. Please wait...
[INFO]  -->Fetching golang.org/x/text
[INFO]  -->Fetching updates for github.com/garyburd/redigo
[INFO]  -->Fetching updates for git.oschina.net/qiangmzsx/beegofreecache
[INFO]  -->Fetching updates for github.com/astaxie/beego
[INFO]  -->Fetching updates for github.com/bitly/go-simplejson
[INFO]  -->Fetching updates for github.com/go-sql-driver/mysql
[INFO]  -->Fetching updates for github.com/coocood/freecache
[INFO]  -->Fetching updates for github.com/orcaman/concurrent-map
[INFO]  -->Fetching updates for golang.org/x/crypto
[INFO]  -->Fetching updates for github.com/smartystreets/goconvey
[INFO]  -->Detected semantic version. Setting version for github.com/astaxie/beego tov1.8.3
[INFO] Resolving imports
[INFO] Downloading dependencies. Please wait...
[INFO]  Settingreferences for remaining imports
[INFO] Exporting resolved dependencies...
[INFO]  -->Exporting github.com/astaxie/beego
[INFO]  -->Exporting github.com/go-sql-driver/mysql
[INFO]  -->Exporting github.com/bitly/go-simplejson
[INFO]  -->Exporting github.com/coocood/freecache
[INFO]  -->Exporting github.com/smartystreets/goconvey
[INFO]  -->Exporting github.com/garyburd/redigo
[INFO]  -->Exporting github.com/orcaman/concurrent-map
[INFO]  -->Exporting golang.org/x/text
[INFO]  -->Exporting golang.org/x/crypto
[INFO]  -->Exporting git.oschina.net/qiangmzsx/beegofreecache
[INFO] Replacing existing vendor dependencies
[INFO]  Projectrelies on 9 dependencies.

全局选项

运行glide,在最后就可以看到

GLOBAL OPTIONS:
   --yaml value,-y value  Set a YAML configuration file.(default: "glide.yaml")
   --quiet,-q             Quiet (no info or debugmessages)
   --debug                 Print debug verboseinformational messages
   --homevalue            The location of Glidefiles (default: "/home/users/qiangmzsx/.glide") [$GLIDE_HOME]
   --tmpvalue             The temp directory touse. Defaults to systems temp [$GLIDE_TMP]
  --no-color              Turn offcolored output for log messages
   --help,-h              show help
   --version,-v           print the version

如果大家想把glideyaml文件换别的默认名称可以执行

 $ glide -y qiangmzsx.yaml

在官网中会看到一个GLIDE_HOME变量,该变量就是/home/users/qiangmzsx/.glide这个目录之前有提到过,除了包含有mirrors.yaml还有一个很重要的目录cache本地 cache,每次更新代码时, glide 都会在本地保存 cache,以备下次 glide install 使用

GLIDE_HOME可以通过如下命令修改。

 $ glide --home /home/glide

总结

除了上述说到的功能,glide还有很多好的功能,后续有机会在写出来吧。
总结一下,glide是一款功能丰富,完全满足需求的依赖管理工具,强烈大家使用。


本文出自 “梦朝思夕” 博客,请务必保留此出处http://qiangmzsx.blog.51cto.com/2052549/1949066

tkinterdesigner从入门到精通视频教程

...!欢迎使用TKinterDesigner!以下是《TKinterDesigner从入门到精通》哔哩哔哩视频教程第一讲:《TKinterDesigner从入门到精通》第一讲第二讲:《TKinterDesigner从入门到精通》第二讲第三讲:《TKinterDesigner从入门到精通... 查看详情

es6从入门到精通系列学习笔记23篇(完结)

说明ES6从入门到精通系列(全23讲)学习笔记。可以自行搜索B站,有小马哥的视频学习。目录ES6从入门到精通#01:ES6介绍ES6从入门到精通#02:let和const命令ES6从入门到精通#03:模板字符串ES6从入门到精通#04&... 查看详情

用python2.7编的小游戏

...到了相关教程。自己用google搜:用Python和Pygame写游戏-从入门到精通(目录)就可以找到了。其是一系列的帖子:系统学习部分用Python和Pygame写游戏-从入门到精通(1)Pygame的历史,安装Pygame,第一个Pygame脚本用Python和Pygame写游戏... 查看详情

wpfmvvm从入门到精通7:关闭窗口和打开新窗口

原文:WPFMVVM从入门到精通7:关闭窗口和打开新窗口 WPFMVVM从入门到精通1:MVVM模式简介WPFMVVM从入门到精通2:实现一个登录窗口WPFMVVM从入门到精通3:数据绑定WPFMVVM从入门到精通4:命令和事件WPFMVVM从入门到精通5:... 查看详情

《wireshark从入门到精通》

 视频选集3/20P1wireshark从入门到精通P2wireshark入门到精通2P3wireshark入门到精通3P4wireshark入门到精通4P5wireshark入门到精通5P6wireshark入门到精通6P7wireshark入门到精通7P8wireshark入门到精通8P9wireshark入门到精通9P10wireshark入门到精通10P11w... 查看详情

wpfmvvm从入门到精通8:数据验证(代码片段)

原文:WPFMVVM从入门到精通8:数据验证 WPFMVVM从入门到精通1:MVVM模式简介WPFMVVM从入门到精通2:实现一个登录窗口WPFMVVM从入门到精通3:数据绑定WPFMVVM从入门到精通4:命令和事件WPFMVVM从入门到精通5:PasswordBox的绑... 查看详情

oracle从入门到精通系列讲解-总目录(代码片段)

总目录欢迎大家来到Lucifer三思而后行的《Oracle从入门到精通系列》,开始前博主先列出Oracle学习的大纲,同时这也可以作为大家学习Oracle的参考。下面蓝字都是传送门,点击进入即可:学前必读Oracle从入门到精通... 查看详情

vim从入门到精通

Vimfromzerotohero-Vim从入门到精通原文地址:https://github.com/mhinz/vim-galore原文作者:MarcoHinz简介什么是Vim?Vim哲学入门精简的vimrc我正在使用什么样的Vim备忘录基础缓冲区,窗口,标签已激活、已载入、已列出、已命名的缓冲区参数... 查看详情

activemq从入门到精通

接上一篇《ActiveMQ从入门到精通(一)》,本篇主要讨论的话题是:消息的顺序消费、JMSSelectors、消息的同步/异步接受方式、Message、P2P/PubSub、持久化订阅、持久化消息到MySQL以及与Spring整合等知识。消息的顺序消费在上一篇文... 查看详情

flask从入门到精通

1.flask的下载和安装在windows下安装flask flask依赖于两个库,即werkzeug和jinja2,werkzeug负责服务器的部署,jinja2负责模板引擎,管理安装flask使用virtualenv工具安装virtualenv的目的是安装pip,但是python默认安装时已经安装了pip所以使用pipins... 查看详情

wpfmvvm从入门到精通3:数据绑定

原文:WPFMVVM从入门到精通3:数据绑定 ?WPFMVVM从入门到精通1:MVVM模式简介WPFMVVM从入门到精通2:实现一个登录窗口WPFMVVM从入门到精通3:数据绑定WPFMVVM从入门到精通4:命令和事件WPFMVVM从入门到精通5:PasswordBox的绑... 查看详情

阅读《android从入门到精通》(28)——使用xml的选项菜单(代码片段)

概述关于选项菜单,请参考阅读《Android从入门到精通》(27)——选项菜单,不再赘述程序示例完整工程:http://download.csdn.net/detail/sweetloveft/94399761.MainActivity.javapackagecom.sweetlover.activity;importcom.s 查看详情

阅读《android从入门到精通》(28)——使用xml的选项菜单(代码片段)

概述关于选项菜单,请参考阅读《Android从入门到精通》(27)——选项菜单,不再赘述程序示例完整工程:http://download.csdn.net/detail/sweetloveft/94399761.MainActivity.javapackagecom.sweetlover.activity;importcom.s 查看详情

visualbasic2010从入门到精通pdf

...联系实际,具有很强的操作性。《VisualBasic2010(中文版)从入门到精通》还提供了大量的通过 查看详情

jmeter从入门到精通

《JMeter从入门到精通》之一——开始你的第一个JMeter脚本JMeter是一款在国外非常流行和受欢迎的开源性能测试工具,像LoadRunner一样,它也提供了一个利用本地ProxyServer(代理服务器)来录制生成测试脚本的功能... 查看详情

timelion教程-从入门到精通

TimelionTutorial–FromZerotoHero  本教程是与官方Elastic博客交叉刊登的。  Timelion是Kibana时间序列的可视化工具。时间序列可视化是可视化的,以时间顺序分析数据。Timelion可用于绘制二维图形,时间绘制在x轴上。  与使用简单... 查看详情

flask从入门到精通之flask-bootstrap的使用

  Bootstrap(http://getbootstrap.com/)是Twitter开发的一个开源框架,它提供的用户界面组件可用于创建整洁且具有吸引力的网页,而且这些网页还能兼容所有现代Web浏览器。  要想在程序中集成Bootstrap,显然要对模板做所有必要... 查看详情

starrocks从入门到精通系列五:导入数据

StarRocks从入门到精通系列五:导入数据一、导入总览二、从ApacheKafka®持续导入三、使用ApacheSpark™批量导入四、从ApacheFlink持续导入一、导入总览下图详细展示了在各种数据源场景下,应该选择哪一种导入方式。数据导入是指将... 查看详情