通常用官方提供的安装脚本或软件源安装都是安装的比较新 Docker 版本,有时我们需要在一些特定环境的服务器上安装指定版本的 Docker。今天我们就来讲一讲如何安装指定版本的 Docker 。...hkp://pgp.mit.edu:80 –recv-keys 58118E89F3A912897C070ADBF76221572C52609D 新增一个 docker.list 文件,在其中增加对应的软件安装源...docker.list deb https://apt.dockerproject.org/repo ubuntu-xenial main CentOS 新增一个 docker.repo 文件,在其中增加对应的软件安装源...raw=true | sh 使用需要的 Docker 版本替换以下脚本中的 ,目前该脚本支持的 Docker 版本: 1.10.3 1.11.2 1.12.1 1.12.2 1.12.3 1.12.4...1.12.5 1.12.6 1.13.0 1.13.1 17.03.0 17.03.1 17.04.0 注:脚本使用 USTC 的软件包仓库,已基于 Ubuntu_Xenial , CentOS7 以及
首先我们考虑如何在字符串中删除一个字符。由于字符串的内存分配方式是连续分配的。我们从字符串当中删除一个字符,需要把后面所有的字符往前移动一个字节的位置。...在具体实现中,我们可以定义两个指针(pFast和pSlow),初始的时候都指向第一字符的起始位置。当pFast指向的字符是需要删除的字符,则pFast直接跳过,指向下一个字符。...这样,前面被pFast跳过的字符相当于被删除了。用这种方法,整个删除在O(n)时间内就可以完成。 接下来我们考虑如何在一个字符串中查找一个字符。当然,最简单的办法就是从头到尾扫描整个字符串。...我们可以新建一个大小为256的数组,把所有元素都初始化为0。然后对于字符串中每一个字符,把它的ASCII码映射成索引,把数组中该索引对应的元素设为1。...这个时候,要查找一个字符就变得很快了:根据这个字符的ASCII码,在数组中对应的下标找到该元素,如果为0,表示字符串中没有该字符,否则字符串中包含该字符。此时,查找一个字符的时间复杂度是O(1)。
问题背景 在 Python 中,我们需要在一个文件中查找一个数字,并且找到最接近它的数值对应的行号。...解决方案 方法一:逐行读取文件并比较 我们可以逐行读取文件,并将每行中的第一个数字与给定数字 a 进行比较,并将距离最小的行号记录下来。...def find_closest_number(filename, a): """ 在文件中查找最接近指定数字的数字对应的行号。...import bisect def find_closest_number_bisect(filename, a): """ 在文件中查找最接近指定数字的数字对应的行号。...import numpy as np def find_closest_number_numpy(filename, a): """ 在文件中查找最接近指定数字的数字对应的行号。
本系列旨在帮助android新人搭建属于自己的项目框架。由于篇幅较长,本人时间有限,因此更新系列可能周期较长。本篇搭建框架适用于中大型项目。...依赖注入:hilt(可选),依赖注入是否需要使用,取决于预估的项目规格大小,本篇抛砖引玉,会带入一点hilt的使用,不过并非重点,可酌情选取使用。...基础存储:mmkv(可选),由于room有一定的性能问题,所以性能优化后的部分常用键值对可以选用mmkv使用。bug采集:bugly 本篇不接入,正式项目可选取合适自己的采集工具。埋点采集:同上。...上述基本描写了目前大多数项目使用的三方及jetpack框架,后续可能补充其他选择。如:lifecycle等,不过由于是一方库,所以不过多描述。...下面开始引入:创建android项目这一步不多说,但是为了引入项目的一致性,我们创建deps.gradle文件,将项目中所有引入的库都放在该文件下,避免各个模块引入的库版本不一致。
变量使用 全局使用:使用$varaible格式定义变量,比如全局的主题色,可在common.scss中定义,通过@import的方式引用即可 局部使用:在本文件中创建变量$themeColor =...CSS原生可通过定义 -- 变量名结合var函数的方式来达到这一目标。...混合使用(mixins) 可在common.scss中使用@mixin varibaleName{}的方式定义 多次重复使用的样式,通过@include的方式应用。...还可以使用@mixin varibaleName(varib1 varib2 varib3){} 的方式传入自定义的属性,进行代码复用,比如可以将 flex布局使用mixin的形式,传入变量使用。...导入 @import 导入,文件扩展名为.scss或.sass 可同时导入多个文件 @import ‘bar’,‘foo’; &使用 在嵌套 CSS 规则时,有时也需要直接使用嵌套外层的父选择器
我想开始显示索引5中的列表项 ListView.builder( itemCount: items.length, itemBuilder: (context, index) { return ListTile
♣ 题目部分 在Oracle中,怎么杀掉特定的数据库会话?...所有所持有的资源,所以,在执行完ALTER SYSTEM KILL SESSION后,会话还是一直存在(V$SESSION视图中存在,且后边OS进程也存在)。...所以,在执行命令KILL SESSION的时候,可以在后边加上IMMEDIATE,这样在没有事务的情况下,相关会话就会立即被删除而不会变为KILLED的状态(V$SESSION视图中不存在),当有事务存在的情况下...,会先进行回滚相关的事务,然后释放会话所占有的资源。...在Windows上还可以采用Oracle提供的orakill杀掉一个线程(其实就是一个Oracle进程)。在Linux上,可以直接利用kill -9杀掉数据库进程对应的OS进程。
直接把这个模块的代码与 Jupyter Notebook 的 .ipynb 文件放在一起,然后在 Jupyter 里面像导入普通模块那样导入即可,如下图所示: ?...重新运行这个 Cell 中的代码,代码中虽然有from analyze import FathersAnalyzer,看起来像是重新导入了这个模块,但是运行却发现,它运行的是修改之前的代码。...这是因为,一个 Jupyter Notebook 中的所有代码,都是在同一个运行时中运行的代码,当你多次导入同一个模块时,Python 的包管理机制会自动忽略后面的导入,始终只使用第一次导入的结果(所以使用这种方式也可以实现单例模式...在每一个 Cell 里面都需要 重新加载一次分析模块,否则,很有可能在你单独运行某一个 Cell 的时候,用的是老的代码,就会导致难以察觉的 bug。...其中关键的代码有三行: %load_ext autoreload %autoreload 1 %aimport analyze 这三行代码只有在 Jupyter 里面才能正常运行,在 普通的.py 文件里面这样写会报错
,HOG能较好地捕捉局部形状信息,对几何和光学变化都有很好的不变性; HOG是在密集采样的图像块中求取的,在计算得到的HOG特征向量中隐含了该块与检测窗口之间的空间位置关系。...,其尺度不变性是通过缩放检测窗口图像的大小来实现的; 此外,由于梯度的性质,HOG对噪点相当敏感,在实际应用中,在block和Cell划分之后,对于得到各个区域,有时候还会做一次高斯平滑去除噪点。...一般使用特定的卷积核对图像滤波实现,可选用的卷积模板有:sobel算子、Prewitt算子、Roberts模板等等。 可以使用内核大小为1的sobel算子获取相同结果,OpenCV也是如此。...在HOG中,每个8x8的Cell的梯度直方图本质是一个由9个数值组成的向量, 对应于0、20、40、60…160的梯度方向(角度)。...我们已经为图像的8×8单元构造了基于梯度的直方图,但是图像的梯度对整体光照很敏感。这意味着对于特定的图像,图像的某些部分与其他部分相比会非常明亮。
下面介绍[Docker构建PHP项目开发环境](http://avnpc.com/pages/build-php-develop-env-by-docker)过程中的演进,本文中假设你的操作系统为Linux...MySQL容器 MySQL继承自官方的[MySQL5.6镜像](https://registry.hub.docker.com/_/mysql),Dockerfile仅有一行,无需做任何额外处理,因为普通需求官方都已经在镜像中实现了...PHP容器 PHP容器是最复杂的一个,因为在实际项目中,我们很可能需要单独安装一些PHP扩展,并用到一些命令行工具,这里我们以Redis扩展以及Composer来举例。...Redis容器 为了方便演示,Redis仅仅作为缓存使用,没有持久化需求,因此Dockerfile仅有一行 ``` FROM redis:3.0 ``` 容器的连接 上面已经将原本在一个容器中运行的服务分拆到多个容器...更复杂的实例 上面是一个标准PHP项目在Docker环境下的演进过程,实际项目中一般会集成更多更复杂的服务,但上述基本步骤仍然可以通用。
declare namespace在工程项目中可以不需要引入任何类型而直接可以访问。...在使用dva中,也可以利用特性对type进行namespace和action的组合,这样在写dispatch时,可以有一定的提示和约束能力。...那么在多人协作下,每个人负责的模块本身来说都不会冲突。在项目迭代管理中,大多数都是一个人对应一个小模块的开发节奏,彼此不会有太大的重复。...总结 TypeScript是一把双刃剑,对开发者来说具有一定门槛,在使用不当的时候,其实对于项目来说会变得更加的复杂,可读性并没有过多的提升。...尤其是在敏捷项目开发下,影响还是蛮大的。 因此,如果项目迭代本身高频快,那么在估量开发需求时,质量和效率很明显并不能兼得之。可以慢慢的进行推动。
在项目风险管理中,PFMEA技术的应用可以有效识别项目中的潜在问题,控制问题,促进项目的整体质量。...二.风险评估 风险识别后,分析项目中的风险对项目的影响,然后按照影响程度从大到小进行排序。定性评价项目的风险影响,然后根据风险影响分为高中、低中、高中三个层次。...因此,有必要对中等风险进行审查和监控,并制定相应的措施来控制风险。项目实施过程中很有可能发生高风险,对项目影响很大,风险难以控制,只能采取必要措施减少风险造成的损失。...三.风险应对 在项目风险管理中,识别和评估风险的发生及其对项目的影响,并采取相应措施应对风险。应对风险主要有预防措施和应急措施。在项目风险发生之前,采取预防措施。当项目风险已经发生时,采取应急措施。...1.风险规避:在风险识别和评估中,发现项目风险发生的概率极高,影响极其严重,无法控制项目风险的发生,也无法减少项目风险造成的损失,需要改变项目目标或直接放弃项目。
Tuple产生的所有Tuple中的某一个tuple处理失败, 则会调用spout的fail方法; 在处理tuple的每一个bolt都会通过OutputCollector来告知storm, 当前bolt...另外需要注意的,当spout触发fail动作时,不会自动重发失败的tuple,需要我们在spout中重新获取发送失败数据,手动重新再发送一次。...collector.emit(new Values(waitAck.get(msgId)),msgId); } } 虽然在storm项目中我们的spout源通常来源kafka,而且我们使用storm...你可以在发射tuple的时候不指定messageid来达到不跟粽某个特定的spout tuple的目的。...当需要关闭特定消息可靠性的时候,可以使用此方法; 最后,如果你不在意某个消息派生出来的子孙消息的可靠性,则此消息派生出来的子消息在发送时不要做锚定,即在emit方法中不指定输入消息。
Support Library Android 支持库提供了诸多未内置于框架的功能。这些库提供向后兼容版本的新功能、框架中未包含的实用 UI 元素,以及应用可以利用的一系列实用程序。...这些变动是由于android的jetpack项目,意在帮助开发者快速实现应用开发,将一些常用的框架都整合进来了。 官网详细介绍。...com.android.support:cardview-v7:28.0.0 v7 gridlayout com.android.support:gridlayout-v7:28.0.0 v7 mediarouter...androidx.fragment.app: 1.2.0 fragment支持库 androidx.cardview:cardview: 1.0.0 卡片式视图 androidx.constraintlayout...1.1.1 抽屉布局 androidx.lifecycle:lifecycle-runtime: 2.2.0 感知生命周期 androidx.paging:paging-runtime: 2.1.2 在recycleview
Android官方 compile 'com.android.support:appcompat-v7:23.0.0' compile 'com.android.support:cardview-v7:...23.0.0' compile 'com.android.support:gridlayout-v7:23.0.0' compile 'com.android.support:recyclerview-v7...Rxjava RxBus compile 'com.hwangjr.rxbus:rxbus:1.0.5' ★★项目使用Rxjava 作者好长时间未更新 otto compile 'com.squareup...implementation 'io.reactivex.rxjava2:rxjava:2.1.10' 权限 名称 引用方式 个人推荐 PermissionsDispatcher 见官网 ★★★ UI相关 我常用的UI...android.permission.WRITE_EXTERNAL_STORAGE" /> 项目根目录
作者简介 野生梨,携程算法工程师,关注因果推断在实际工业项目上的探索和应用。 一、背景介绍 我们的日常生活中充斥着各种需要推断原因和结果的问题,比如,吸烟是否会导致肺癌,大学教育是否能够提高收入水平?...图1-2 活动/项目评估问题因果结构 在因果推断领域中,存在很多方法可以帮助我们解决上述分析中的难点和挑战。...图3-1 实际项目评估问题因果结构 针对间接价值的评估,本文采用因果推断中的PSM方法,在满足项目要求的未参与项目用户池中,筛选与参与项目的用户在混杂特征上分布一致(相近)的用户人群,匹配后的实验组和对照组之间的差值即可认为是项目带来的间接价值...但是,在计算项目对老用户所带来的间接价值时,只需要考虑携程和外部平台重合的老用户部分,因此在数据预处理过程中,本文首先采用规则筛选出有外部平台参与项目资格但未参与项目的携程老用户,并剔除代理等非自然用户...需要说明的一点是,在训练过程中,即使采用筛选后的对照人群候选池用户,其量级也比参与项目用户数量大很多,造成样本数据不平衡的情况,从而导致整体预测准度和精度很低。
library和v4 fragment library这5个包,考虑到V4的向后兼容,你在工程中依赖V4这个依赖包时默认是包含拆分后的5个包的,但为了节省APK大小,建议在开发过程中根据实际情况依赖对应的...V7,同样在Android Support Library 24.2.0将V7支持的最低版本改为Android 2.3即API Level 9了),这些support包各自对应着特定的功能,每一个都可以单独地被引用...v7 cardview library 支持cardview控件,使用Material Design语言设计,卡片式的信息展示,在电视App中有广泛的使用,在AS中的依赖方式如下: compile...'com.android.support:cardview-v7:24.2.1' v7 gridlayout library 一个支持GridLayout布局的support包,在AS中的依赖方式如下...: com.android.support:gridlayout-v7:24.2.1 v7 mediarouter library 一个用于设备间音频、视频交换显示的support包,在AS
前言: 最近在做一个Android相关的小项目,因为之前这方面的项目做的比较的少。今天在使用虚拟机调试的时候经常出现一些莫名其妙的问题,经过自己多次的尝试和搜索终于解决了这些问题。...问题: 每次run(运行)项目在android Emulator一直显示黑屏问题,如下如所示: ? 可能是没有检测到匹配的虚拟设备(unknown devices): ?...解决方案: 重新创建一个新的虚拟设备(Create virtural devices),下载,安装:点击Android Virtual Device Manager(虚拟设备管理)按钮>Create...最后选择刚安装的虚拟设备运行android项目: ? 黑屏问题成功解决,项目界面正常展示: ? ?
Scrum是迭代式增量软件开发过程,是敏捷方法论中的重要框架之一,通常用于敏捷软件开发。当开发团队在用 Scrum 这种开发方法开发项目时,可以利用敏捷看板,可视化透明且灵活的高效的完成工作。...在敏捷看板中,我们可以一目了然地了解研发项目的流程和进展,看到每个工作事项所处的状态,包括已经完成的情况,正在做的任务及测试中的等都一目了然。...图片 3、团队协作更透明、更流畅在敏捷看板中,任务是以卡片的形式展示,一张卡片代表一个任务,任务的完成状态是以列表的形式流转。...在每日站会开始前,团队成员可以围绕敏捷看板更新任务进展,通过将任务拖拽到不同列表体现任务的进展,看板可以一目了然的看到当前迭代进展及问题。...图片4、 研发管理更轻松Leangoo领歌 的敏捷看板支持查看迭代燃尽图、项目内每个迭代看板的完成情况、每个迭代中实际完成的工作量,成员任务分布等直观地了解当前迭代进度的情况。
在项目编译成 dll 之前,如何分析项目的所有依赖呢?可以在在项目的 Target 中去收集项目的依赖。...本文将说明如何在 Target 中收集项目依赖的所有 dll 的文件路径。...如果引用是通过 ProjectReference 进行的项目引用,那么这里就没有目标项目的 dll 所以,我们需要一个新的属性来查找引用的 dll。...Reference 的输出 可以看到,Reference 的输出几乎就是 Reference 中写的字符串本身。...可以看到,ReferencePath 则是将所有的 dll 的路径也输出了,而且即便是项目引用,项目编译好的 dll 的路径也在。
领取专属 10元无门槛券
手把手带您无忧上云