2018-01-21 Vaniot
网络基础 TCP/IP协议族: - 1.IEEE 802.3 - 2.FDDI - 3.ICMP - 4.IP - 5.TCP - 6.HTTP - 7.PPPoE - 8.DNS - 9.FTP - 10.UDP - 11.SNMP TCP/IP分层管理 OSI4层:应用层、传输层、网络层、数据链路层 |层次|说明| --|-- 应用层 | 决定向用户提供应用服务时通信的活动。(FTP:文件传输协议,DNS:域名系统,HTTP) 传输层 | 为应用层提供网络连接中的两台计算机之间的数据传输,(TCP:传输控制协议,UDP:用户数据报协议) 网络层 | 处理网络上流动的数据包(数据包是网络传输的最小的数据单位), 继续阅读 »
2018-04-16 Vaniot
面向对象编程(Object Oriented Programming简称OOP)是一种计算机编程架构,程序开发方法的实践。面向对象将对象作为程序的基本单位,程序和数据封装于其中。两个基础的概念是类与对象,类与对象的关系是模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。类描述了一组有相同特性(属性)和相同行为(方法)的对象。 面向对象的实现了三个目标,重用性、灵活性和扩展性,使系统的各个部分分工明确。使编程的代码更简洁、更易于维护。 三个基本特征 面向对象编程,有三个基本的特征:封装,继承,多态。 - 封装隐藏实现的细节,代码模块化。 - 继承扩展已存在的代码模块。 封装和继承实现了代码的重用。 - 多态在 继续阅读 »
2015-08-01 AllanChan
很多对计算机视觉有兴趣的朋友都会了解和使用OpenCV这个知名的开源库。下面然我来介绍一下如何在Mac 上面安装OpenCV3.0 + Python2.7。 Tool: OpenCV 源码 Python2.7 (PS:Python的版本是随你去选择,本文主要针对的是2.7版本。其实Python大部分的Mac/Linux 系统都是自带的,没有必要在此安装。) 继续阅读 »
2014-01-14 W.Y.
算法原理 先上一张堆排序动画演示图片: 1. 不得不说说二叉树 要了解堆首先得了解一下二叉树,在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 二叉树的每个结点至多只有二棵子树(不存在度大于 2 的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第 i 层至多有 2i - 1 个结点;深度为 k 的二叉树至多有 2k - 1 个结点;对任何一棵二叉树 T,如果其终端结点数为 n0,度为 2 的结点数为 n2,则n0 = n2 + 1。 树和二叉树的三个主要差别: - 树的结 继续阅读 »
2016-03-04 Wenjie Yao
本文翻译自老马(Martin Fowler)的博客,该译文现已被博客原文收录在其下方中文翻译处。   “基础设施即代码”是一种通过代码来定义计算和网络基础设施的方法,它可以应用于任何软件系统中。这样的代码放在代码版本控制系统中,具有可审查性、可重用性,并且符合测试惯例,还完全遵从持续交付的原则。该方法已经在过去的十年内广泛应用于快速增长的云计算平台中了,而且也将会成为接下来管理计算机基础设施的主要方式。 继续阅读 »
2016-09-04 craneyuan
在了解堆排序之前,我们有必要清楚“什么是堆呢?”。 堆(英语:Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。在队列中,调度程序反复提取队列中第一个作业并运行,因为实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。 堆的逻辑定义: 堆的实现通过构造二叉堆(英语:binary heap),实为二叉树的一种;由于其应用的普遍性,当不加限定时,均指该数据结构的这种实现。这种数据结构具有以下性质。 任意节点小于(或大于)它的所有后裔,最小元(或最大元)在堆的根上(堆序性)。 堆总是一棵完全树。即 继续阅读 »
2018-01-11 craneyuan
前言 上一篇文章Java 注解介绍讲解了下Java注解的基本使用方式,并且通过自定义注解实现了一个简单的测试工具;本篇文章将介绍如何使用Spring Boot的AOP来简化处理自定义注解,并将通过实现一个简单的方法执行时间统计工具为样例来讲解这些内容。 AOP概念 面向侧面的程序设计(aspect-oriented programming,AOP,又译作面向方面的程序设计、观点导向编程、剖面导向程序设计)是计算机科学中的一个术语,指一种程序设计范型。该范型以一种称为侧面(aspect,又译作方面)的语言构造为基础,侧面是一种新的模块化机制,用来描述分散在对象、类或函数中的横切关注点(crosscutting concern)。 继续阅读 »
2016-10-13 曹强
php
原文地址:[PHP设计模式(六):MVC][1] Introduction 20世纪80年代,计算机发展迅速,编程技术也日益分化。桌面应用编程,也逐渐出现了用户图形界面和程序逻辑分离的程序设计。到了90年代,web的出现更是让这种程序设计模式得以延续。 这种设计模式便是MVC(Model-View-Control),除了MVC,还有MVC的变种,如MVVM(Model-View-View-Model)等。 MVC 回到80年代的桌面应用编程,当时面向对象的编程设计模式(见PHP设计模式(一):基础编程模式)兴起,程序员将桌面应用分割成两个大的对象:领域对象(domain objects)和可视对象(presentatio 继续阅读 »
2016-01-12 安兴乐-siler
人类视觉系统简直就是一个世界奇迹。看一下接下来的手写体数字序列: ![enter description here][1] 大部分人都能很容易认出这些数字是:504192。你可能觉得这很不靠谱。在我们每个人的大脑中,都有一个初级视觉皮层,也被称为V1。它包含140*10^6个神经元,而这些神经元之间又有百亿种连接。实际上人类视觉活动不是仅仅只有一个V1层,而是由一系列的视觉皮层-V2,V3,V4和V5。这些视觉皮层在逐层地做更复杂的图像处理工作。我们的大脑好比一个超级计算机,通过成千上万年的进化在逐渐地调整参数,来逐渐理解这个可视化的世界。识别手写体数字不是那么容易。我们人类能够很神奇地理解我们的眼睛呈现给我 继续阅读 »
2017-10-27 安兴乐-siler
无人驾驶 不用多说,自从深度学习开始席卷机器学习领域,计算机视觉相关技术突飞猛进。从阿尔法狗到Dota比赛,人类节节败退,强化学习也逐渐的开始进入人们的视野。无人驾驶技术从当年的实验室阶段真的开始走入了工业界(更像是从工业界反传到了学术界)。还等什么,这么激动人心的高新科技,我们怎么能不赶紧上车呢? 继续阅读 »