pkg

go 升级到1.16

假装没事ソ 提交于 2021-02-20 19:50:23
golang 多个版本管理 下载页面 多个版本管理 1.下载go1.16 ➜ bin pwd /Users/xxxx/go-dev/bin ➜ bin go get golang.org/dl/go1.15.8 go: finding golang.org/dl latest ➜ bin ll total 28816 -rwxr-xr-x 1 xxxxx staff 7.0M 2 20 18:33 go1.15.8 -rwxr-xr-x 1 xxxxx staff 7.0M 2 20 18:31 go1.16 确保可执行路径已经添加到PATH中. # go export GOPATH="${HOME}/go-dev" # GOROOT是GO的安装路径 export GOROOT="$(brew --prefix golang)/libexec" export PATH="$PATH:${GOPATH}/bin:${GOROOT}/bin" 新开终端/或者重新激活一下zshrc 2.下载go1.16 同时配置go1.16 env GOROOT ➜ ~ go1.16 go1.16: not downloaded. Run 'go1.16 download' to install to /Users/xxxxxx/sdk/go1.16 ➜ ~ go1.16 download ➜ ~

Pkg.go.dev新设计来了!!

可紊 提交于 2021-02-19 02:43:33
自启动pkg.go.dev以来,我们收到了很多有关设计和可用性的反馈。 特别是在浏览网站时信息的组织方式使用户感到困惑。 今天,我们很高兴分享一个重新设计的pkg.go.dev,我们希望它会更清晰,更有用。 这篇博客文章重点介绍。 有关详细信息,请参阅 Go问题41585 。 所有路径的登陆页始终保持一致 主要的变化是pkg.go.dev/ <path>页面已经围绕路径的概念进行了重组。 路径表示模块特定版本中的目录。 现在,无论该目录中包含什么内容,每个路径页面都将具有相同的布局,使体验始终一致且可预测。 如果目录里面存在 README ,则路径页面将在会自动渲染。 以前在概述选项卡仅在模块根目录下的 README才会显示 。 这个改动是为了将最重要的信息放在首位而进行的众多更改之一。 文档导航 文档部分现在显示索引以及sidenav。 这使他们能够查看完整的程序包API,同时在浏览文档部分时具有上下文。 左侧导航栏中还有一个新的跳转到输入框,用于搜索标识符。 有关 文档部分中的更改的详细信息, 请参见 Go问题41587 。 主页上的元数据 现在,每个页面的顶部栏显示其他元数据,例如每个程序包的“引用”和“被引用”计数。 还显示有关模块的最新次要和主要版本的信息。 有关 详细信息, 请参见 Go问题41588 。 视频演练 上周,在 Google Open Source

pkg.go.dev的2020展望

若如初见. 提交于 2021-02-18 05:28:28
在2019年,Go官方启动了名为 go.dev ( https://go.dev)的新域名,这是面向Go开发人员的新Hub。 作为该站点的一部分,还启动了 pkg.go.dev ,这是有关Go package和module的文档中心,旨在取代 godoc.org。在新的一年里,Go team将不断优化pkg.go.dev的体验,以提升开发者的开发效率。 一分钟速读 1. 将godoc.org请求重定向到pkg.go.dev ,并向社区开发者征求反馈意见 2. 回答了开发者比较关心的几个问题: 1. 在迁移过程中,如果 package没有显示在pkg.go.dev 上, 可以通过从proxy.golang.org获取对应版本的module来添加; 2. 开发者的package突然出现 不明的许可证限制 ,不要慌,后面会优化证书检测算法; 3. pkg.go.dev是否会开源?很多公司想搭建自己的代码文档中心,目前这个需求在征求意见可填官方的调查问卷: https://google.qualtrics.com/jfe/form/SV_6FHmaLveae6d8Bn 以下是正文部分 将godoc.org请求重定向到pkg.go.dev 为了减少在过渡的过程中对用户的打扰,我们计划在今年晚些时候将流量从godoc.org重定向到pkg.go.dev上。同时我们需要您的及时意见反馈

Kubernetes集群调度器原理剖析及思考

巧了我就是萌 提交于 2021-02-18 00:59:00
简述 云环境或者计算仓库级别(将整个数据中心当做单个计算池)的集群管理系统通常会定义出工作负载的规范,并使用调度器将工作负载放置到集群恰当的位置。好的调度器可以让集群的工作处理更高效,同时提高资源利用率,节省能源开销。 通用调度器,如Kubernetes原生调度器Scheduler实现了根据特定的调度算法和策略将pod调度到指定的计算节点(Node)上。但实际上设计大规模共享集群的调度器并不是一件容易的事情。调度器不仅要了解集群资源的使用和分布情况,还要兼顾任务分配速度和执行效率。过度设计的调度器屏蔽了太多的技术实现,以至于无法按照预期完成调度任务,或导致异常情况的发生,不恰当的调度器的选择同样会降低工作效率,或导致调度任务无法完成。 本文主要从设计原理、代码实现两个层面介绍Kubernetes的调度器以及社区对其的补充加强,同时对业界常用调度器的设计实现进行比较分析。通过本文,读者可了解调度器的来龙去脉,从而为选择甚至设计实现适合实际场景的调度器打下基础。 注明:本文中代码基于v1.11版本Kubernetes进行分析,如有不当之处,欢迎指正! 一、调度器的基本知识 1.1 调度器的定义 通用调度[1]的定义是指基于某种方法将某项任务分配到特定资源以完成相关工作,其中任务可以是虚拟计算元素,如线程、进程或数据流,特定资源一般是指处理器、网络、磁盘等

python3绝对路径,相对路径

好久不见. 提交于 2021-02-17 10:12:08
from __future__ import absolute_import的作用: 直观地看就是说”加入绝对引入这个新特性”。说到绝对引入,当然就会想到相对引入。那么什么是相对引入呢?比如说,你的包结构是这样的: pkg/ pkg/init.py pkg/main.py pkg/string.py 如果你在main.py中写import string,那么在Python 2.4或之前, Python会先查找当前目录下有没有string.py, 若找到了,则引入该模块,然后你在main.py中可以直接用string了。如果你是真的想用同目录下的string.py那就好,但是如果你是想用系统自带的标准string.py呢?那其实没有什么好的简洁的方式可以忽略掉同目录的string.py而引入系统自带的标准string.py。这时候你就需要from __future__ import absolute_import了。这样,你就可以用import string来引入系统的标准string.py, 而用from pkg import string来引入当前目录下的string.py了 --------------------- 但是经过实验,去掉跟加上from __future__ import absolute_import并没有什么区别,上面说的好像并没有什么卵用: 目录结构: ##

Go 1.15 正式发布

…衆ロ難τιáo~ 提交于 2021-02-17 06:53:49
就在昨天,也就是2020年8月11日,go开发团队发布了go最新版本1.15。该版本在 1.14 的基础上继续改进工具链、运行时和库。也保留了GO1兼容性的承诺。这几乎保证所有的go程序都能像以前那样的正常编译与运行。并且在Go 1.15中对链接器也有重大改进,改进了对具有大量内核的小对象的分配,并弃用了 X.509 CommonName。GOPROXY 现在支持跳过返回错误的代理,并添加了新的嵌入式 tzdata 包。 编译器 包 unsafe 的安全规则允许在调用某些函数时将 unsafe.Pointer 转换为 uintptr 。以前,在某些情况下,编译器允许进行多次链接转换(例如 syscall.Syscall(…uintptr(uintptr(ptr)), …) )。现在,编译器只需要一次转换。使用多次转换的代码应进行更新以满足安全规则。与 Go 1.14 相比,Go 1.15 通过消除某些类型的 GC 元数据并更积极地消除了未使用的类型元数据,与 Go 1.14 相比将典型的二进制大小减少了大约5%。该工具链现在通过将函数与 32 字节边界对齐并填充跳转指令来缓解 GOARCH=amd64 上的 Intel CPU 勘误 SKX102 。尽管此填充增加了二进制大小,但这远远超出了上述二进制大小改进所弥补的范围。Go 1.15在编译器和汇编器中都添加了一个标志

学习-Pytest(二)执行用例规则

会有一股神秘感。 提交于 2021-02-16 12:31:45
1. 执行方式 cmd执行pytest用例有三种方法,以下三种方法都可以,一般推荐第一个 pytest py.test python -m pytest 如果不带参数,在某个文件夹下执行时,它会查找该文件夹下所有的符合条件的用例(查看用例设计原则) 2. 执行规则 1.执行某个目录下所有的用例 pytest 文件名/ 2.执行某一个py文件下用例 pytest 脚本名称.py 3.-k 按关键字匹配 pytest -k “MyClass and not method” 4.按节点运行 运行.py模块里面的某个函数 pytest test_mod.py::test_func 运行.py模块里面,测试类里面的某个方法 pytest test_mod.py::TestClass::test_method 5.标记表达式 pytest -m slow 将运用@pytest.mark.slow装饰器修饰的所有测试 6.从包里面运行 pytest —pyargs pkg.testing 这将导入 pkg.testing 并使用其文件系统位置来查找和运行测试。 7.pytest -x( 遇到错误时停止测试) pytest -x test_class.py 8.pytest -maxfail=num(当用例错误个数达到指定数量时,停止测试) pytest —maxfail=1 3.

在Ubuntu18.04上安装opencv 3.4.1

﹥>﹥吖頭↗ 提交于 2021-02-13 01:57:25
对于安装opencv有的人一次就成功,而有人安装了N多次才成功。我就是那个安装了N多次的人,每次遇到了很多安装错误,只能通过到网上搜教程资料,解决方法;通过一次次的试错,最终完成了安装。再此提醒第一次安装或则安装失败没有头绪的小伙伴,请注重官方安装教程: https://docs.opencv.org/master/d9/df8/tutorial_root.html 安装环境是:ubuntu 18.04 安装的opencv版本为3.4.1(其他版本也行,安装过程类似) opencv安装的依赖包有: Required Packages GCC 4.4.x or later CMake 2.8.7 or higher Git GTK+2.x or higher, including headers (libgtk2.0-dev) pkg-config Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy) ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev [optional] libtbb2 libtbb-dev [optional]

Oracle锁表与解锁 对象锁与解锁

谁说胖子不能爱 提交于 2021-02-11 13:08:19
阅读目录 锁表与解锁 查看锁表进程SQL语句 解锁 对象锁与解锁 回到顶部 锁表与解锁 查看锁表进程SQL语句 select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID; 解锁 杀掉锁表进程: 记录下SID和serial# ,分别替换掉下面的1155,39095,即可解除锁表 alter system kill session ' 1155,39095 ' ; 回到顶部 对象锁与解锁 这里以包为PKG_ZLGL_BASEDATA为例 注意name为包或者存储过程等; SELECT * FROM V$DB_OBJECT_CACHE WHERE name = ' PKG_ZLGL_BASEDATA ' AND LOCKS != ' 0 ' ; 查看sid 注意object为包或者存储过程等; SELECT SID from V$ACCESS WHERE object = ' PKG_ZLGL_BASEDATA ' ; 查看查看SID和SERIAL# in后面的条件为上述查的sid SELECT SID,SERIAL#,PADDR,STATUS FROM V$SESSION WHERE SID IN ( ' 283 ' , ' 343 ' ); 杀进程 实例如下: alter system

编译FFmpeg

陌路散爱 提交于 2021-02-10 08:12:01
编译FFmpeg,这是一个古老的话题,但是小程还是介绍一遍,就当是记录。 小程之前介绍怎么给视频添加水印时,就已经提到FFmpeg的编译,因为需要在编译时指定滤镜的功能,读者可以关注“广州小程”微信公众号并查阅这篇文章(音视频->FFmpeg应用)。 但是,在手机盛行的时代,读者可能更需要的是能在iOS或Android平台上运行的FFmpeg,而对于命令行的ffmpeg,读者可以在个人电脑上面使用(因为它简洁易操作),也可以在服务程序中使用(安装FFmpeg后直接调用ffmpeg命令),比如小程经常在自己的mac机上使用ffmpeg命令。 本文介绍如何编译出iOS或Android平台使用的FFmpeg链接库。 正如编译macos平台使用的FFmpeg一样,编译iOS或Android平台使用的FFmpeg,主线也是先configure再make,只不过,有更多的细节需要考虑。 小程使用的是macos系统。 (1)编译环境准备 (a)pkg-config FFmpeg在编译时经常使用到第三方库(比如x264、rtmp等),编译器在查找这些第三方库的头文件与库文件时,需要使用到程序pkg-config。 pkg-conifig给编译器提供路径与链接选项。第三方库在make install时会生成pc后缀的文件并拷贝到系统目录,而pkg-config就是从这个pc文件读取出路径信息。