black

Linux是什么操作系统?发展历史介绍

廉价感情. 提交于 2020-04-23 10:34:09
说到操作系统,就不得不提起 Linux , 它自90年代中期以来就一直盛行,并且已经拥有非常多的铁杆粉丝。对于了解它的人,都知道Linux对我们是至关重要的,它涵盖了我们生活的方方面面,我们的手机,汽车,冰箱都依赖于它,可以不夸张地说如果没有Linux我们许多人的生活都难以继续。 我刚开始学习linux操作系统的时候内心真的很激动,毕竟感觉自己只要学会了就会获得各种技能一样了。当然,对于还不是那么了解的人,也请不要担心,希望下面我的话能让你更深的了解Linux系统。 Linux 是什么? Linux 是最受欢迎和最常用也是最安全的开源操作系统。作为操作系统,Linux相当于是计算机上所有其他软件下面的一个软件,负责接收来自这些程序的请求并将这些请求传输到计算机的硬件。简单点说操作系统就是连接计算机软件和硬件的桥梁,如果没有操作系统,我们就没法使用软件了。不管你是不是知道,你都可能已经在用Linux了。据调查,网上有近一半的网页都是由运行 Linux 命令 的服务器生成的。无论是对于公司还是个人,用Linux作为服务器都是安全的,除了有提供商业支持的Canonical,SUSE和Red Hat等公司之外,还有大量用户的支持。 在很多方面,Linux与我们之前使用过的其他操作系统都很类似,比如Windows,OS X或iOS。跟其他操作系统一样,Linux也具有图形界面

玩转控件:Fucking ERP之流程图

吃可爱长大的小学妹 提交于 2020-04-23 04:47:14
前言 首先,跟守护在作者公众号和私信作者催更的朋友们道个歉。疫情的原因,公司从年初到现在一直处于996+的高压模式,导致公众号更新频率较低。而且作者每更新一篇原创公众号,既要对自己沉淀知识负责,也要对愿意和作者一起探讨一起学习一起进步的小伙伴儿们负责,防止误人子弟。所以作者的每一篇原创,都是作者在有限时间内仔细推敲后的产物,希望大家可以理解。 Talk is Cheap! 前面分享的几个章节,差不多把实际用到的控件和容器的封装、扩展、重绘都举例到了(后续如果还有其他特例,作者也会更新进来)。今天要分享的依然是“Fucking ERP”系列中比较重要的环节——流程图。 本章的流程图并非工作流,winform在市面上有很多经典的工作流组件比如微软的WWF,还有很多开源自主研发的工作流组件等等,后续作者实际用到的话也会分享出来和大家一起探讨。此处分享的流程图,主要是"标识"的作用,主要用来表示业务数据的流转,具体数据如何流转,都需要各位后台自行处理(说白了,就是从A表查出数据,插入到B表,然后更新A表标识罢了。) Show me the Code! 首先,界面加载的时候,初始化控件可用性,以及所有模块列表 private void frmWorkFlow_Load( object sender, EventArgs e) { // 创建大模块 CreateModule(); this

数据仓库第一,二节

↘锁芯ラ 提交于 2020-04-22 13:46:50
什么是数据仓库 数据仓库,英文名称为 Data Warehouse ,可简写为 DW 或 DWH 。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它出于 分析性报告和决策支持目的而创建 。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。 数据仓库的特点 面向主题的对比:比如登录来说,数据库主要是提供登录时候的用户名密码等是否正确进行验证,而数据仓库有一些数据库没有的东西,例如首次访问时间,渠道来源等等; 1 .数据仓库的数据是面向主题的 2. 数据仓库的数据是集成的 在数据进入数据仓库之前,必然要经过统一与综合,这一步是数据仓库建设中最关键、最复杂的一步 ,所要完成的工作有: ( 1 )要统一源数据中所有矛盾之处,如字段的同名异义、异名同义、单位不统一、字长不一致,等等。 ( 2 )进行数据综合和计算。数据仓库中的数据综合工作可以在从原有数据库抽取 数据时生成,但许多是在数据仓库内部生成的,即进入数据仓库以后进行综合生成的。 [A1] T+1 或者 t-1 , t 为 today T-1: 今天看昨天的数据 T+1 :今天的数据明天出,正好相反 数据仓库一般还是 t-1 的数据,今天分析昨天的数据,非实时的 3. 数据仓库的数据是不可更新的 数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询

.NET异步程序设计之async&await

本小妞迷上赌 提交于 2020-04-22 03:31:11
[TOC] <div style="color:gray;text-align:right">shanzm-2020年3月7日 23:12:53</div> <hr style="height:8px;border:none;border-top:5px double black;" /> 0.背景引入 现在的.net异步编程中,一般都是使用 基于任务异步模式 (Task-based Asynchronous Pattern,TAP)实现异步编程 可参考 微软文档:使用基于任务的异步模式 基于任务的异步模式,是使用 System.Threading.Tasks 命名空间中的 System.Threading.Tasks.Task<TResult> 和 System.Threading.Tasks .Task 类型实现异步编程, 配合着C#5.0(.net 4.5)中添加的两个关于异步编程的关键字 async 和 await ,可以快速的实现异步操作。 </br> <hr style="height:8px;border:none;border-top:4px double black;" /> 1.async和await基本语法 1.1 简介 在C#5.0(.net 4.5)中添加了两个关于异步编程的关键字 async 和 await 两个关键字可以快速的创建和使用异步方法。

数据结构之红黑树

旧城冷巷雨未停 提交于 2020-04-21 14:20:51
1、什么是红黑树?   红黑树和红色和黑色这两种颜色有关,事实上,在红黑树中,对每一个节点都附着一个颜色,或者是红色或者是黑色。红黑树首先是一棵二分搜索树,这一点和AVL树是一样的,红黑树也是一种平衡二叉树,红黑树在二分搜索树中添加了一些其它的性质,来保证红黑树不会退化成链表,来保证自己在某种情况下是一种平衡二叉树。   如果红黑树的节点个数是n的话,相应的最大的高度是2logn。因为在最次的情况下,从根节点出发,一直到最深的那个叶子节点,我们可能经过了logn这个级别的黑色节点,同时,每一个黑色节点它的左子树都是红色的节点,换句话说在,这条路径上所对应的2-3树,都是2-3树的3节点,又有了logn的红色节点。所以最大高度是2logn,又因为2是常数,放在复杂度分析中来说,所以高度依然是O(logn)级别的。   所以查找元素的时间复杂度是O(logn)级别的、修改元素的时间复杂度是O(logn)级别的、删除元素的时间复杂度是O(logn)级别的、新增元素的时间复杂度是O(logn)级别的,因此红黑树不会像二分搜索树一样退化成一个链表。   红黑树的高度比AVL的高,所以红黑树的查询操作比AVL的慢一点,虽然他们的时间复杂度都是O(logn)级别的。但是红黑树的添加元素和删除元素比AVL快。如果存储的数据经常发生添加和删除的变动的话,相应的使用红黑树就是更好的选择

OpenCV轮廓检测,计算物体旋转角度

浪尽此生 提交于 2020-04-20 18:13:39
效果还是有点问题的,希望大家共同探讨一下 // FindRotation-angle.cpp : 定义控制台应用程序的入口点。 // // findContours.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> #include <vector> #include <opencv2/opencv.hpp> #include <opencv2/core/core.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/highgui/highgui.hpp> #pragma comment(lib,"opencv_core2410d.lib") #pragma comment(lib,"opencv_highgui2410d.lib") #pragma comment(lib,"opencv_imgproc2410d.lib") #define PI 3.1415926 using namespace std; using namespace cv; int hough_line(Mat src) { //【1】载入原始图和Mat变量定义 Mat srcImage = src;//imread("1.jpg"); /

ArrayList、LinkedList 你真的了解吗?

坚强是说给别人听的谎言 提交于 2020-04-18 19:37:19
1、 前言 经常在面试时,被问到集合的概念,集合 List、Map、Set 等底层设计以及其使用场景与注意细节。但大部分人的回答都是千篇一律,跟网上的答案一模一样,这是致命滴。其实,大家都错了,尤其是网上,更是误导大家,详细原因,且听我来分析。 2、集合 List 2.1 大家心中的 List 在广大的网友心中,List 是一个缓存数据的容器,是 JDK 为开发者提供的一种集合类型。面试时,被问到最常见的就是 ArrayList 和 LinkedList 的区别。 相信大部分网友都能回答上:ArrayList 是基于数组实现,LinkedList 是基于链表实现。而在使用场景时,我发现大部分网友的答案都是:在新增、删除操作时,LinkedList 的效率要高于 ArrayList,而在查询、遍历操作的时候,ArrayList 的效率要高于 LinkedList。这个答案是否准确呢?今天就带大家验证一哈。 2.2 性能比较 首先,我们来看看 ArrayList 和 LinkedList 的父子类。如下图: 大家看到 ArrayList、LinkedList 都继承了 AbstractList 抽象类,而 AbstractList 实现了 List 接口。ArrayList 使用数组实现,而 LinkedList 使用了双向链表实现。接下来,我们就详细地分析下 ArrayList 和

e.hasMorePages有一个用法

最后都变了- 提交于 2020-04-18 14:35:09
这是下面这个老哥写的,只是写代码太乱,我给整理一下 在打印时,经常用到printPage函数,但是,其中换页打印是令人头痛的问题,经常用了e.HasMorePages = true; 语句之后,所有页面都是重复第一页, 因为e.HasMorePages = true是重新调用printDocument1_PrintPage, 所以每次调用都是从头开始,才会出现所有页面的内容都一样,下面是自己解决这个问题的一个方法: private void printDocument1_PrintPage( object sender, System.Drawing.Printing.PrintPageEventArgs e){ int index= 1 ; switch (index) // 控件打印的页码 { case 1 : index ++ ; // ...一页打印完之后 e.HasMorePages = true ; break ; case 2 : index ++ ; // ...一页打印完之后 e.HasMorePages = true ; break ; case 3 : index ++ ; // ...一页打印完之后 e.HasMorePages = true ; break ; case 4 : index ++ ; e.HasMorePages = false ;

【从二叉树到红黑树】清晰理解红黑树的演变---红黑的含义

穿精又带淫゛_ 提交于 2020-04-18 04:40:25
网上关于红黑树的博文很多,但是多是上来即讲定义,未说其所以然,难以理解且无所营养,甚者示例图有误且概念模糊的比比即是; 由于最近在学习相关知识找到一篇较为透彻且深入剖析的博文特此转载修订 注:原文示例图中有所错误本文中已重新修正,并增加了红黑树相关部分更多内容 前言 红黑树,对不少人来说是个比较头疼的名字,在网上搜资料也很少有讲清楚其演变来源的,多数一上来就给你来五条定义,红啊黑啊与根节点距离相等之类的,然后就开始进行旋转、插入、删除这些操作。一通操作下来,连红色和黑色怎么来的,是什么含义,有什么作用都云里雾里的,能搞清楚就怪了。 本文介绍红黑树,暂时不涉及任何代码,只是帮助你理解红黑树的演变来源,树结构中红黑色具体含义,保证你理解了过后,再去看什么旋转插入的东西,要清晰得多。换句话说,理解本文要描述的内容是从代码级理解红黑树的基础。 开始之前,我还是恳请你保持耐心,一步一步仔细看完,浮躁的话真的做不好任何事情。 正文 红黑树的起源,自然是二叉查找树了,这种树结构从根节点开始, 左子节点小于它,右子节点大于它 。每个节点都符合这个特性,所以易于查找,是一种很好的数据结构。但是它有一个问题,就是容易偏向某一侧,这样就像一个链表结构了,失去了树结构的优点,查找时间会变坏。 所以我们都希望树结构都是矮矮胖胖的,像这样: 而不是像这样: 在这种需求下,平衡树的概念就应运而生了。

【CSS学习】--- z-index属性

跟風遠走 提交于 2020-04-18 04:37:53
一、前言   网页显示实际上是三维的,我们直观看到的有x轴和y轴,但在网页布局上还有一个z轴。   对于 定位元素 ,我们使用top、right、left、bottom来实现元素在x-y平面上的定位,但为了表示布局的三维立体概念,还引入了z-index,z-index属性用来设置元素的堆叠顺序,拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的上方。   z-index有三个参数: auto:默认值,相当于未设置z-index,可看作z-index: 0 number:无单位数字,用来设置z-index大小 inherit:继承父元素的z-index属性值 举个小栗子热热身 < div style ="width: 100px; height: 100px; background-color: red; position: relative;" ></ div > < div style ="width: 100px; height: 100px; background-color: black; position: relative; top: -50px;" ></ div > 第二个div向上移动50px,与第一个div产生了重叠部分,显示情况如下: 第二个div显示在了第一个div上方,也就是重叠部分第二个div遮住了第一个div,现在给第一个div添加z-index属性