target

学习open62541 --- [20] 标准Reference类型

眉间皱痕 提交于 2020-03-02 10:53:46
在OPC UA Server中,所有Node之间都是使用Reference进行连接的。Reference有很多类型,在之前的系列文章中,我们也已经见过几种Reference了,本文就专门讨论所有标准Rference类型。 一 Reference的使用方式 如果看过前面的系列文章,那么就会对Reference的使用方式有一定的理解,如下图, 节点A通过一个Reference指向B,那么对于这个Reference来说A是 Source 节点,B是 Target 节点。 同理,如果B也通过另外一个Reference指向A,那么从这个Reference来说B是 Source 节点,A是 target 节点。 特别要注意,这2个Reference是不同的。 二 标准Reference类型的结构图 图片来自OPC UA文档,图中包含了所有的Reference类型,总共18个 第一次看到这幅图时有点吓人,但是详细分析后就会发现挺简单的。下面是对图片的分析, 整幅图描述的是Reference类型的 继承 关系图 双箭头指向的一边是父类型,另外一边是子类型,子类型继承父类型 属于Abstract的类型只能用来被继承,属于Concrete的类型可以被继承,也可以用来实例化对象 下面是对图中所有Reference类型的全面分析。按照从上到下, 1. References

Day1

蹲街弑〆低调 提交于 2020-03-02 07:49:43
python: def twoSum ( nums , target ) : lens = len ( nums ) j = - 1 for i in range ( lens ) : if ( target - nums [ i ] ) in nums : if ( nums . count ( target - nums [ i ] ) == 1 ) & ( target - nums [ i ] == nums [ i ] ) : #如果num2 = num1 , 且nums中只出现了一次,说明找到是num1本身。 continue else : j = nums . index ( target - nums [ i ] , i + 1 ) # index ( x , i + 1 ) 是从num1后的序列后找num2 break if j > 0 : return [ i , j ] else : return [ ] 来源: CSDN 作者: 超爱小橘 链接: https://blog.csdn.net/Zenobia_zzz/article/details/104599874

Cvmat IplImage

大城市里の小女人 提交于 2020-03-02 04:21:38
做个标记,今天调bug,最后坑在这里了,墓志铭啊! IplImage转Cvmat IplImage* src = cvLoadImage("src.jpg",0);//load 一个图像,顺便gary掉 CvMat* target=cvCreateMat(src->height,src->width,CV_32SC1);//目标矩阵 cvConvert(src,target);//功能函数 ///////////////////////////////////////////////////////////////////////////////// Cvmat *target;//目标矩阵 mat=cvGetmat(src,target);//蛋疼 ///////////////////////////////////////////////////////////////////////////////// Cvmat转IplImage IplImage* img = cvCreateImage(cvGetSize(target),8,1);//单通道八位图(32位图) cvGetImage(target,img);//功能函数 cvSaveImage("img.jpg",img);//保存图像 来源: oschina 链接: https://my.oschina.net/u

python之线程

大憨熊 提交于 2020-03-02 04:01:09
什么是线程? 线程是CPU上的执行单位。 线程和进程的区别 1、进程是资源的集合,是一个资源单位。线程是CPU上是执行单位。所以开进程开销与远大于开线程 2、进程单独开辟内存空间。同一个进程内多线程共享同一个内存空间 a = 100 def task(): global a a = 0 if __name__ == '__main__': # p = Process(target=task, ) # p.start() # p.join() # print(a) # 100 t = Thread(target=task, ) t.start() t.join() print(a) # 0 3、开多个进程,每个进程有不同的pid。在主进程下开启多个线程,每个线程的pid和主进程的pid一样 Thread对象的其他用法 from threading import Thread, current_thread, active_count, enumerate import time def task(): print("子进程", current_thread().getName(), current_thread().name) # current_thread().getName() == current_thread().name time.sleep(2) if __name__

消除QQ表情小游戏

江枫思渺然 提交于 2020-03-02 00:38:29
<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style> *{ padding:0px; margin:0px; font-family:"微软雅黑";} body{ background:#f1f1f1; font-family:"微软雅黑"; font-size:16px; } #info{ text-align:center; } #box{ width: 800px; height: 450px; border: 1px solid #066; background: none repeat scroll 0% 0% #FFF; margin: 20px auto 0px; position: relative; top: 0px; left: 0px; } #left{ width:130px; border:1px solid #066; position:relative; top:-1px; left:-152px; background:#ffc; padding:10px; } #left p{ font-size:16px; line-height:30px; } #qq{ position:absolute; top:0px; left:0px;

LeetCode笔记之双指针(一)

只愿长相守 提交于 2020-03-01 22:08:28
双指针在算法中无论是数组还是链表类题目中都是重要且常见的“套路”之一。 两数之和 输入一个 递增排序 的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 巧用双指针 class Solution { public int[] twoSum(int[] nums, int target) { int[] ret = new int[2];     //首尾各一个指针,根据有序性移动指针 int index1=0,index2 = nums.length-1; while(index1<index2&&nums[index1]+nums[index2]!=target){ if(nums[index1]+nums[index2]<target){ index1++; }else{ index2--; } } ret[0] = nums[index1]; ret[1] = nums[index2]; return ret; }} 最接近的三数之和 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 先固定一个数,然后前后各一个指针,进行遍历找最接近! class Solution { public

leetcode-两数相加

我只是一个虾纸丫 提交于 2020-03-01 21:23:26
两数之和 (1)迭代法: class Solution : def twoSum ( self , nums : List [ int ] , target : int ) - > List [ int ] : num_index = { } for index , num in enumerate ( nums ) : if target - num in num_index : return [ num_index [ target - num ] , index ] num_index [ num ] = index return [ ] (2)暴力解决 时间复杂度:O(n^2) class Solution : def twoSum ( self , nums : List [ int ] , target : int ) - > List [ int ] : length = len ( nums ) # i / j 都是位置索引 for i , value in enumerate ( nums ) : diff = target - value # 得到差值 ( 即 : 在余下的元素中找到该diff值即可 ) j = i + 1 # 因为不能重复利用同个元素 , 所以把 '位置索引j' 加上 1 while j < length : # + - 1 问题 :

Xcode基本操作

筅森魡賤 提交于 2020-03-01 20:50:03
1.Xcode IDE概览 说明 :从左到右,依次是“ 导航窗格 (Navigator)-> 边列 (Gutter)-> 焦点列 (Ribbon)-> 代码编辑窗口 (Standard/Primary Editor)”。 边列(Gutter ) :显示行号和断点。 焦点列(Ribbon) :灰色深度与代码嵌套深度相关:鼠标悬停可 突出 显示右侧相应代码块( Focus code blocks on hover),鼠标单击可 折叠 右侧相应代码块(Code folding)。 2.偏好设置 通过“command+,”快捷键或”Xcode|Preferences”菜单呼出偏好设置。 (1)主题及字体 (Preferences->Fonts & Colors) 选中一种 主题 ( theme ),例如“Midnight”,推荐使用 Monokai 、 Ciapre 。将 `*. dvtcolortheme ` 文件拷贝到 ` ~/Library/Developer/Xcode/UserData/FontAndColorThemes/ `即可安装主题, 重启 Xcode 即可选用。 Xcode默认字体为menlo,也可选择 Consolas、Monaco、Consolas、Droid Sans Mono、Source Code Pro、Bitstream Vera Sans 等其他等宽字体

php 的文件操作类

末鹿安然 提交于 2020-03-01 17:41:32
<?php header('Content-type:text/html;charset=utf8'); Class FILE { private static $path; private static $files = []; private static $dirs = []; private function __construct($path) { try { if (is_dir($path)) { self::$path = strtr($path, ['\\' => '/']); } } catch (\Exception $e) { echo $e->getMessage(); } } private function runFiles($path) { $arr = ['files' => [], 'dirs' => [], 'all' => []]; $target = array_diff(scandir($path), ['.', '..']); array_walk($target, function ($val, $key) use (&$arr, $path) { $subTarget = "{$path}/{$val}"; if (is_file($subTarget)) { array_push($arr['files'], "{$path}/"

使用NSTimer出现的问题

落花浮王杯 提交于 2020-03-01 17:15:21
使用NSTimer出现的问题 去年封的一个图片轮播的, 这两天在忙着给重新封装一下, 增加更多的方法, 有更多个性化的设置, 增加了网络请求图片的轮播. 重新封装, 这个过程还算顺利, 但是到计时器那块卡住了. WHImagePlayer图片轮播和图片浏览器: https://github.com/hell03W/WHImagePlayer , 欢迎star支持一下, 如果有任何问题欢迎issue给我. 问题是这样的: 简单来说, 其实就是计时器, 我用的NSTimer, 是在一个自定义view中创建NSTimer的, 如果是在控制器中, 可以在viewWillDisappear:中执行NSTimer的 invalidate 方法, timer对象是可以被正常销毁的, 但是在自定义的view里面没有那样的方法! 有人会说可以将target设置成 __weak 类型的就可以了嘛 ! 我也是那样认为的, 可是试验证明, 那样是不行的(要是那么简单, 也没必要写个blog来记录了). 经过在网上查找资料, 和自己的思考, 最终总结了几种可行方案: 方案一: 如下代码所示, 使用 dispatch_after 可以完美解决, 但是需要注意的是, 在block内部, 使用 self 时候必须使用weakSelf, 如果直接使用self, 还是不会被释放掉的. __weak typeof