scratch

Dockerfile文件常用指令详解

余生长醉 提交于 2020-05-05 17:58:06
镜像的定制实际上就是定制每一层所添加的配置、文件。我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,这个脚本就是Dockerfile。Dockerfile是一个文本文件,其内包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。 FROM指令 该指令指定基础镜像,然后对镜像进行定制。 FROM ubuntu:16.04 Docker还存在一个特殊的镜像,名为scratch,它表示一个空白镜像,如果你一scratch为基础镜像的话,意味着你不以任何镜像为基础,接下来所写的指令将作为镜像的第一层。对于Linux下静态编译的程序来说,并不需要有操作系统提供运行时支持,所需的一切库都已经在可执行文件里了,因此直接FROM scratch会让镜像体积更加小巧。 示例: FROM scratch … RUN指令 RUN指令是用来执行命令行命令的。其格式有两种: shell格式:RUN <命令> RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html exec格式: RUN [“可执行文件”, “参数1”, “参数2”] RUN tar -xzf redis.tar.gz -C /usr/src/redis --strip-components = 1 RUN make

6D姿态估计从0单排——看论文的小鸡篇——Deep Learning of Local RGB-D Patches for 3D Object Detection and 6D Pose Est...

一笑奈何 提交于 2020-04-30 21:11:32
we employ a convolutional auto-encoder that has been trained on a large collection of random local patches. We demonstrate that neural networks coupled with a local voting-based approach can be used to perform reliable 3D object detection and pose estimation under clutter and occlusion. To this end, we deeply learn descriptive features from local RGB-D patches and use them afterwards to create hypotheses in the 6D pose space. we train a convolutional autoencoder (CAE) from scratch using random patches from RGB-D images with the goal of descriptor regression. With this network we create

如果您正在找一本关于Go语言的入门书,我只推荐您这本

久未见 提交于 2020-04-14 17:03:35
【推荐阅读】微服务还能火多久?>>> Go作为一门广受关注的热门语言,在市场上从来不缺少相关的书,特别是面向初学者的书。然而,跟市面上很多声称是入门书却只会一股脑儿地将各种语言细节硬塞给读者的“伪入门书”不一样,本书是一本真正面向初学者的书。整本书的学习曲线非常平缓,不会像过山车那样忽高忽低。书中的内容首先从变量、循环、分支、类型等基础知识开始,逐渐进阶至函数、方法、收集器和结构,最后再深入到指针、错误处理和并发等高级特性。只要翻开本书一页页读下去,你就会循序渐进地学到越来越多Go语言的知识,并且逐步掌握Go语言的众多特性。 除上面提到的优点之外,本书还是一本非常有趣的书。作者在书中列举了大量跟天文以及航天有关的例子,读者不仅要计算从地球乘坐宇宙飞船航行至火星所需的天数,还要在火星上放置探测器以便查找生命存在的痕迹,甚至还要想办法改造火星,使它能够适宜人类居住。值得一提的是,书中很多地方都带有可爱的地鼠(gopher)插图,它们就像旅行途中优美的景色一样,将为我们的学习旅途增添大量的乐趣。 总而言之,这是一本既有趣又实用的Go语言入门书。如果你只想读一本关于Go语言的入门书,那么我强烈推荐你读这一本 《Go语言趣学指南》 。 遗憾的是,很多学习Go语言的资源都假设读者拥有C语言的工作经验,而本书的目的则在于弥补这一缺陷,为脚本使用者、业余爱好者和初学者提供一条学习Go语言的康庄大道

iOS OC 方法查找流程

ε祈祈猫儿з 提交于 2020-04-14 16:21:26
【推荐阅读】微服务还能火多久?>>> iOS OC 方法查找流程 前言 1. `_class_lookupMethodAndLoadCache3`方法查找流程 2. 面试题 前言 上一篇关于 方法的本质 的探索中,我们知道了 方法 的底层是调用 objc_msgSend 发送消息,并对 objc_msgSend 的底层汇编进行了分析。当用 汇编 快速查找,未查找到 方法缓存 时,会调用 MethodTableLookup ,然后调用 _class_lookupMethodAndLoadCache3 ,从 汇编 转到 C ,开启一系列的慢速查找,接下来我们对 _class_lookupMethodAndLoadCache3 的方法查找流程进行分析。 1. _class_lookupMethodAndLoadCache3 方法查找流程 假如当调用 LGStudent 调用对象方法 sayHello 时,底层通过 objc_msgSend 发送消息,通过汇编在 LGStudent 的 cache中快速查找 sayHello 的缓存,未找到时,会来的 _class_lookupMethodAndLoadCache3 ,方法如下: IMP _class_lookupMethodAndLoadCache3(id obj, SEL sel, Class cls) { return

Scratch 3.9的两个亮点

こ雲淡風輕ζ 提交于 2020-04-07 14:05:25
Scratch 3.9正式版本终于发行了,此前版本为3.6。那么,与其他软件版本更新一样,它的用户都会对新版本充满了期望。那么,这个版本有哪些亮点呢? 更高的要求 前天,我在下载安装后,发现其基本安装要求是Windows7 64位,不再支持32位的WIN7了! MAC版本尚未发行 MAC版本仍然停留在3.6,并未同步发行3.9版本! 仅有两处改进 (一)大的中心点 说来感觉有些可笑。至少从一般用户角色来观察,的确如此!——仅有两个改进! 一处是图形编辑器(或者说是角色编辑器)中心点的改进。因为这个中心点,在精灵(角色)动画过程中是确定其位置的最基础数据,但是,在此前的3.X版本中设计得太小,用户初期进入时,看上去这个中心点就像一个“污点”,停留在画面中央! 另外,当绘画屏幕上有多个对象,例如有多个矩形与圆形,则在对齐它们时变得非常困难。我在处理此类任务时,是先通过放大,以中心点为中心,使用直线工具,绘制一个很大的十字,然后再行操作。 在3.9中,这个点放大了,即用户初步切换到图形编辑器时,这个点就比较大,用户一眼就看出这个大的十字点。 另外,在用户移动画面上的选择的子图形时,这个十字点一直会保持显示于最顶层,即用户能够一直观察到。 上述改进,足以满足前面提到的绘制过程中的许多麻烦了! (二)纠正了导出时的错误 无论是在矢量绘制状态,还是在位图编辑状态

ns3+netanim仿真点对点有限网络first脚本

蹲街弑〆低调 提交于 2020-04-04 14:37:08
存档使用,ns3及netanim安装过程不赘述。 编译前的准备工作 sudo vi myfirst.cc 在myfirst.cc里面,加上头文件: #include "ns3/netanim-module.h" run前面加上三句代码( 第二三行是描绘两个节点的坐标,也可以不要): AnimationInterface anim("myfirst.xml"); anim.SetConstantPosition(nodes.Get(0), 1.0, 2.0); anim.SetConstantPosition(nodes.Get(1), 2.0, 3.0); Simulator::Run(); Simulator::Destroy(); return 0 编译方法 ns3编译有两种方法(示例编译first) 在ns-3.27(或其他的版本)目录下运行first模拟脚本(需要在编译时启动enable-examples选项) ./waf clean ./waf -d debug --enable-examples --enable-tests configure ./waf --run first 将脚本放到scratch目录下 cp examples/tutorial/first.cc scratch/myfirst.cc //将脚本复制到scratch目录下 ./waf --run

scratch 3.0 部分记录

瘦欲@ 提交于 2020-03-25 21:20:24
素材弹出框组件src\components\library\library.jsx,组件使用时传入的数据格式解析如下 [ { 'name': 'Abby', 'md5': 'afab2d2141e9811bd89e385e9628cb5f.svg', 'type': 'sprite', // 素材类型 'tags': [// 素材标签,即素材的子类型 'people', 'person', 'drawing' ], 'info': [960, 720, 2], // 原图规格,以及原图和展示图片的比例 'json': {// 包含内容 'objName': 'Abby', 'sounds': [// 声音 { 'soundName': 'pop', 'soundID': -1, 'md5': '83a9787d4cb6f3b7632b4ddfebf74367.wav', 'sampleCount': 258, 'rate': 11025, 'format': '' } ], 'costumes': [// 造型 { 'costumeName': 'abby-a', 'baseLayerID': -1, 'baseLayerMD5': 'afab2d2141e9811bd89e385e9628cb5f.svg', 'bitmapResolution': 1,

两个奇技淫巧,将 Docker 镜像体积减小 99%

ぃ、小莉子 提交于 2020-03-24 14:30:46
3 月,跳不动了?>>> 原文链接: Docker Images : Part I - Reducing Image Size 对于刚接触容器的人来说,他们很容易被自己构建的 Docker 镜像体积吓到,我只需要一个几 MB 的可执行文件而已,为何镜像的体积会达到 1 GB 以上?本文将会介绍几个奇技淫巧来帮助你精简镜像,同时又不牺牲开发人员和运维人员的操作便利性。本系列文章将分为三个部分: 第一部分着重介绍多阶段构建(multi-stage builds),因为这是镜像精简之路至关重要的一环。在这部分内容中,我会解释静态链接和动态链接的区别,它们对镜像带来的影响,以及如何避免那些不好的影响。中间会穿插一部分对 Alpine 镜像的介绍。 第二部分将会针对不同的语言来选择适当的精简策略,其中主要讨论 Go ,同时也涉及到了 Java , Node , Python , Ruby 和 Rust 。这一部分也会详细介绍 Alpine 镜像的避坑指南。什么?你不知道 Alpine 镜像有哪些坑?我来告诉你。 第三部分将会探讨适用于大多数语言和框架的通用精简策略,例如使用常见的基础镜像、提取可执行文件和减小每一层的体积。同时还会介绍一些更加奇特或激进的工具,例如 Bazel , Distroless , DockerSlim 和 UPX ,虽然这些工具在某些特定场景下能带来奇效

猜数字游戏

眉间皱痕 提交于 2020-03-21 16:17:15
#猜数字游戏 while循环,if...elif判断的应用 import random #引入专门生成随机数的一个库 #从1到100之间随机取出一个数字教给变量secret(秘密数) mimishu = random.randint(10,1000) shurushu = 0 #用户输入的数字 cishu = 0 #用户猜测的次数 print("来玩个猜数字的游戏吧,你有6次机会哟") #这里用 while 循环,至于什么意思,先会玩,再讲原理吧 #如果用户输入的数字不等于秘密数,同时猜测次数小于6次,那就循环,否则当然就结束循环咯 while shurushu != mimishu and cishu < 6: shurushu=int(input("请输入你猜测的数字\n")) if shurushu<mimishu: #如果用户猜的数字小于秘密数 print("太小了") elif shurushu>mimishu: #如果用户猜的数字大于秘密数 print("太大了") cishu+=1 #每猜一次就加一次用户猜测的次数 if shurushu==mimishu: print("完全正确,你很棒哟") else: print("唉,给你这么多次机会,太笨了,别猜了!") 青少年Scratch,科创少年.甜老丝.青少年python 青少年Scratch,科创少年.甜老丝