首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

围绕开源的系列思考——国家篇

不过,有一本我个人非常喜欢的穿越改革工业文《大国重工》,非常硬核,主人公冯啸辰没去赚那种投机取巧的暴利,却一心一意的想要帮助咱们国家的工业,尤其是重大装备制造业,获得更好的发展。...如果我不仅希望自己个人发财,还希望咱们国家的软件产业更好的发展,还希望咱们国家的开源能够有更好的发展,我又可以(能够、应该)做些什么呢?...GNU 计划, 1985年10月,建立自由软件基金会 1989年1月,发布 GPL,提出 Copyleft 概念 简评:乍一看,Copyleft 当然要比 Copyright “高尚”,但事实上,如果一个国家没有严格执行保护...2004年2月,Eclipse 基金会 2005年2月,软件自由法律中心 2005年11月,围绕Linux的专利联盟,开放发明网络(Open Invention Network)成立 参考: https...在此之后,开源技术与商业正式携手,基金会和专利联盟,则是企业间技术协作的“正确姿势”。 国家应该做些什么?

49730

opencv: 绘制矩形轮廓框,并记录轮廓框坐标

步骤简述 使用OpenCV绘制矩形轮廓框,一般包括如下步骤: 转换为灰度图; 进行阈值处理; 进行中值滤波; 在原始图像上绘制矩形框。...附图解析 原始图像: 第一步,转换为灰度图: 第二步,经过阈值处理: 第三步,中值滤波后: 最后一步,在原始图像上绘制矩形框: 生成的记录文件(矩形轮廓框四个端点的平面坐标...274,190] 13: [179,132 179,189 235,132 235,189] 14: [355,129 355,192 372,129 372,192] Code 附上自己写的实验代码.../origin.jpg') # 文档路径,用于记录轮廓框坐标 txt_file = open('..../contours.txt', 'w') # 要先转换成单通道灰度图像才能进行后续的图像处理 pic = cv2.cvtColor(origin_pic, cv2.COLOR_BGR2GRAY) #

3.5K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    VC如何获取对话框中控件的坐标

    VC如何获取对话框中控件的坐标 GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。...GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置,它的top和left都为0,right和botton是宽和高,因为这个矩阵是在客户区坐标系下...ClientToScreen把客户区坐标系下的RECT坐标转换为屏幕坐标系下的RECT坐标. ScreenToClient把屏幕坐标系下的RECT坐标转换为客户区坐标系下的RECT坐标.     ...然后GetClientRect取得一个RECT,再用ClientToScreen转换到屏幕坐标系。显然,GetWindowRect取得的矩阵不小于GetClientRect取得的矩阵。...引自:http://blog.chinaunix.net/u/25372/showart_304363.html 所以要获得一个控件再对话框中的坐标的实现代码是: CRect lpRec; GetDlgItem

    2.5K90

    被围绕的区域

    被围绕的区域 给定一个二维的矩阵,包含X和O。 找到所有被X围绕的区域,并将这些区域里所有的O用X填充。 被围绕的区间不会存在于边界上,换句话说,任何边界上的O都不会被填充为X。...任何不在边界上,或不与边界上的O相连的O最终都会被填充为X。如果两个元素在水平或垂直方向相邻,则称它们是相连的。...示例 X X X X X O O X X X O X X O X X 运行你的函数后,矩阵变为: X X X X X X X X X X X X X O X X 解释 被围绕的区间不会存在于边界上,换句话说...任何不在边界上,或不与边界上的O相连的O最终都会被填充为X。如果两个元素在水平或垂直方向相邻,则称它们是相连的。...,将所有与边界O相连的O标记为A,最后遍历矩阵,将矩阵中所有现在存在的O替换成X,即被包围的需要替换的O,然后将所有的A替换回O即可。

    48720

    从围绕API到围绕数据-使用流式编程构建更简洁的架构

    究其原因,这是因为抽象层次不够造成的。 摒除以API为中心的编程模式 在网络编程中,一般会引入中间件(比如trpc的filter)来处理共有逻辑,比如鉴权,日志,panic处理等。...使用go-streams,将整个业务逻辑抽象成数据流的多个步骤: 此编程模式的特色之处在于: 每个步骤接收上一个节点的数据,处理之后,将数据发往下一跳。...编写单一步骤的时候,只需要考虑本步骤处理的事情,思维量大大减少。 在单个步骤,处理是并发的,但在不同的步骤,处理是顺序的。...围绕数据编程,方便抽象施加统一的处理过程,比如getParser,getSender两个工厂函数。 可以任意的在节点间统一的新增其它的处理,不侵入已经编写好的业务逻辑。...简单是一种美,简单的东西一般不容易出错。 隐含了流式编程的主要思想,它并没有什么黑科技,但使用它会强制我们使用面向数据的,抽象的方式来思考问题。最终写出低耦合可调测的代码。这才是难能可贵的。

    86630

    Surrounded Regions被围绕的区域

    题目大意 有一个二维的面板,上面由”X”或者”O”填充。现在要求将被”X”包围的”O”都改成”X”。...解题思路 参考: https://shenjie1993.gitbooks.io/leetcode-python/130%20Surrounded%20Regions.html 直接去找被X包围的O...比较麻烦,不如转换一下思路,找出哪些O是没有被X包围的。...首先在面板四周的O肯定是没有被X包围的,与它们相连的O也是没有被包围的,其它的O都是被X包围的。 问题简化为将与四周的O相连的O都找出来,这些点不用变,其它点都变为X。...首先将四周的O压入栈内,依次访问栈内元素,并将它们标记,接着去判断它们四周的元素是否也是O,如果是且没有被标记过,则将其压入栈中。 当遍历完栈中的元素后,将有标记的元素变为O,其余都是X。

    55930

    被围绕的区域

    给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。 找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。...示例: X X X X X O O X X X O X X O X X 运行你的函数后,矩阵变为: X X X X X X X X X X X X X O X X 解释: 被围绕的区间不会存在于边界上...任何不在边界上,或不与边界上的 'O' 相连的 'O' 最终都会被填充为 'X'。如果两个元素在水平或垂直方向相邻,则称它们是“相连”的。 解:这题用到并查集算法,由点及面,来了解一下什么是并查集。...动态连接(Dynamic connectivity)的问题 所谓的动态连接问题是指在一组可能相互连接也可能相互没有连接的对象中,判断给定的两个对象是否联通的一类问题。...对于这组对象,其中相互连接的一些对象构成的子集称为联通集。

    36610

    二值网络,围绕STE的那些事儿

    但是这样得到的二值网络是非常不理想的,从以往经验来看会使性能明显下降。 所以摆在我们面前的难点,在于二值网络的训练。...根据史料记载[1],STE是由三巨头之一的Hinton在2012年的一个lecture上介绍的。STE,顾名思义,就是直接把二值参数的梯度作为对应的浮点型参数的梯度。接着上面的公式讲,就是: ?...方法虽然简单粗暴,但是效果却非常的好(具体可见后文带Vanilla STE字样的表格)。我们把刚刚的这个过程称为算法1。 那STE为什么会好?有哪些缺点?围绕它有些什么改进?...为了回答以上问题,接下来,我们来拆读一下围绕STE展开的几篇论文,对二值网络好好赏析一波。...饱和STE实现了梯度截断,也就是当值超过某个范围时,取消对它的梯度传递(梯度传递是指将二值的梯度传递给对应的浮点值,也就是公式中q的梯度传递给r,记住我们要更新的是浮点型的r,而q的梯度是可以在反向传播中通过链式法则算出来的

    2.8K20

    Leetcode No.130 被围绕的区域(DFS)

    一、题目描述 给你一个 m x n 的矩阵 board ,由若干字符 'X' 和 'O' ,找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。...X","O","X","X"]] 输出:[["X","X","X","X"],["X","X","X","X"],["X","X","X","X"],["X","O","X","X"]] 解释:被围绕的区间不会存在于边界上...任何不在边界上,或不与边界上的 'O' 相连的 'O' 最终都会被填充为 'X'。如果两个元素在水平或垂直方向相邻,则称它们是“相连”的。...本题要求将所有被字母 X 包围的字母 O都变为字母 X ,但很难判断哪些 O 是被包围的,哪些 O 不是被包围的。 注意到题目解释中提到:任何边界上的 O 都不会被填充为 X。...空间复杂度:O(n×m),其中 n 和 m 分别为矩阵的行数和列数。主要为深度优先搜索的栈的开销。

    23710

    围绕PowerShell事件日志记录的攻防博弈

    PowerShell一直是网络攻防对抗中关注的热点技术,其具备的无文件特性、LotL特性以及良好的易用性使其广泛使用于各类攻击场景。...随之而来,如何躲避事件日志记录成为攻防博弈的重要一环,围绕PowerShell事件查看器不断改善的安全特性,攻击者利用多种技巧与方法破坏PowerShell日志工具自身数据,以及事件记录的完整性。...今年10月份微软发布补丁的CVE-2018-8415正是再次突破PowerShell事件查看器记录的又一方法,本文将细数PowerShell各大版本的日志功能安全特性,及针对其版本的攻击手段,品析攻防博弈中的攻击思路与技巧...,使攻击者无需增加额外的二进制文件,有效的躲避了常见的攻击检测和入侵防御系统。...的ScriptBlock日志记录功能,他可以完整的记录PowerShell的历史执行过程,当然这是有助于进行攻击取证和溯源的。

    1.5K30

    围绕Kubernetes的流行开源工具建立业务

    他意识到,凭借自己独特的技能和经验,他可以在这里获得一些真正的吸引力。 这不是一夜之间就能想到的。相反,它经过了 18-24 个月的演变才最终形成了这个想法。...构建开源项目的提示 据 Richard 说,对于一个开发开源项目的初创公司来说,最重要的两件事是让它易于安装和拥有良好的文档。在早期,你根本没有一个更大公司的品牌或规模,让你可以发布更复杂的软件。...这是一个平衡的行为,因为如果你试图从开源中拿走太多的特性,社区会感到不安,但如果你不拿走足够的特性,商业冒险就会失败。...作为一家公司,他们非常专注于改善 Kubernetes 上的应用开发人员的体验,他们的愿景是,将来人们在 Kubernetes 上开发应用时,可以使用他们的工具套件进行日常开发。...一个完整的堆栈开发人员现在是一个完整的生命周期开发人员。我们正在从专家角色转向管理流程的每个部分的开发人员。

    72730

    ​LeetCode刷题实战130:被围绕的区域

    今天和大家聊的问题叫做 被围绕的区域,我们先来看题面: https://leetcode-cn.com/problems/surrounded-regions/ Given a 2D board containing...题意 给定一个二维的矩阵,包含 'X' 和 'O'(字母 O)。 找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。...样例 示例: X X X X X O O X X X O X X O X X 运行你的函数后,矩阵变为: X X X X X X X X X X X X X O X X 解释: 被围绕的区间不会存在于边界上...任何不在边界上,或不与边界上的 'O' 相连的 'O' 最终都会被填充为 'X'。如果两个元素在水平或垂直方向相邻,则称它们是“相连”的。...,如果觉得有所收获,请顺手点个在看或者转发吧,你们的支持是我最大的动力。

    25020

    围绕开源的系列思考 - 个人篇

    这个系列的思考,大致会分为三篇:个人篇、企业篇与国家篇,也不知道能不能驾驭这么大的主题,先试试看吧。 02 — 被迫学习? 痛恨游泳 那天我去游泳,正好看到了一个妈妈带着一个4~5岁的小女孩。...所以,我们从小学、初中到高中,还是得一个年级一个年级的升级,一场一场的考试,一点一点的走上更高的台阶。 虽然有很多人反对“应试教育”,在我看来,考试也是刻意练习的关键环节,必不可少!...缺乏基本能力,缺乏足够的积累,缺乏实践的经验,所谓的“创造力”,就近乎空想了。 ?...个人成长的正反馈,大概是这样建立的: 首先是刻意练习 然后享受乐趣 在获得乐趣的同时,开始尝试创造 在创造受阻时,理解刻意练习的价值,确立更高的目标 在这个过程中,社区会成为重要的催化剂 08 — 追问初心...这是最大的动力! 其次是一种使命感。我认为,一个人最理想的职业状态,就是做自己热爱的事情,还能够获得一份体面的工作,在工作上、在社区里,都有受人尊敬的、不错的地位。

    35620

    围绕PowerShell事件日志记录的攻防博弈战

    随之而来,如何躲避事件日志记录成为攻防博弈的重要一环,围绕PowerShell事件查看器不断改善的安全特性,攻击者利用多种技巧与方法破坏PowerShell日志工具自身数据,以及事件记录的完整性。...具备LotL攻击特性,攻击者轻松达到攻击目的的同时躲避常见的攻击检测和入侵防御系统:PowerShell在众多Windows操作系统中是默认安装的,这类系统自带的、受信任的工具,反恶意软件极难检测和限制...,使攻击者无需增加额外的二进制文件,有效的躲避了常见的攻击检测和入侵防御系统。...的ScriptBlock日志记录功能,他可以完整的记录PowerShell的历史执行过程,当然这是有助于进行攻击取证和溯源的。...,加载的提供程序(指示正在使用的功能类型)以及发生活动的用户帐户。

    1.8K10
    领券