09 2017 档案
摘要:http://www.ruanyifeng.com/blog/2016/09/software-architecture.html 软件的架构、框架是他的骨骼。 组件、联系、组合、锚点、继承是她的生长方式。
阅读全文
摘要:组件原则 - SRP The Single Responsibility Principle 单一责任原则 当需要修改某个类的时候原因有且只有一个。换句话说就是让一个类只做一种类型的责任,当这个类需要承担其他类型的责任的时候,就需要分解这个类。 - ISP The Interface Segrega
阅读全文
摘要:软件的根本问题 建模 次要问题 1.复杂性 2.隐匿性 3.配合性 4.易变性 基本思想(复杂性) 分而治之; 拼图思想; 分拆与组合; 软件的基本要素 组件 联系 软件生长的方式 组合 继承 面向对象设计的概念 封装 封装的越好耦合性越低 抽象 抽象的越好复用性欲强 接口 模块 分层 软件设计的基
阅读全文
摘要:S.O.L.I.D是面向对象设计和编程中5个重要编码规则的首字母的缩写。 - SRP The Single Responsibility Principle 单一责任原则 当需要修改某个类的时候原因有且只有一个。换句话说就是让一个类只做一种类型的责任,当这个类需要承担其他类型的责任的时候,就需要分解
阅读全文
摘要:大家都知道遵循设计原则是开发高质量软件的重要基础,但实际运用时并不容易。Booch在<<面向对象分析与设计>>中提出了四个基础原则: 抽象 核心思想是不变性的概念。去除不关心的属性,而强化重要的属性,帮助人们思考要做什么。 封装 核心是分离关注和信息隐藏,让程序借助最少的工作进行可靠的修改。 模块化
阅读全文
摘要:http://www.cnblogs.com/worldtraveler/p/4685977.html 一、基本原理 有时候我们需要实现一个公共的模块,需要对多个其他的模块提供服务,最常用的方式就是实现一个Socket Server,接受客户的请求,并返回给客户结果。 这经常涉及到如果管理多个连接及
阅读全文
摘要:代表着网络连接 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。你会使用它们吗? 前人已
阅读全文
摘要:两种通信都符合通信的要义: 建立连接并完成信息交换。 两者信息交换的主体不同:进程间和设备间; 进程间通信包含了网络通信; 常规进程间的通信使用的协议在实践中使用信号量等概念替代; 两个都是全双工通信。
阅读全文
摘要:网络通信的定义:设备间建立连接并完成信息交换。 连接、协议、数据。 建立连接要素:1)地址;2)寻址; 信息交换要素:1)数据;2)操作;3)会话、时序; 信息交换语言:协议,用于协调会话和数据交换。 其它问题:安全性、缓存。 连接的代表:socket; socket代表通信的连接。
阅读全文
摘要:http://blog.csdn.net/zzhongcy/article/details/21992123 SO_KEEPALIVE是系统底层的机制,用于系统维护每一个tcp连接的。 心跳线程属于应用层,主要用于终端和服务器连接的检查。 即使SO_KEEPALIVE检测到连接正常,但并不能保证终端
阅读全文
摘要:http://blog.csdn.net/tycoon1988/article/details/40080691 四种常见的 POST 提交数据方式 HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几
阅读全文
摘要:http://www.cnblogs.com/lwzz/archive/2011/07/03/2096963.html TCP是一种流协议(stream protocol)。这就意味着数据是以字节流的形式传递给接收者的,没有固有的"报文"或"报文边界"的概念。从这方面来说,读取TCP数据就像从串行端
阅读全文
摘要:程序的本质 程序的本质是实现与操作系统或者CPU的沟通。 编程思想与以人为本-编程的本质 编程是把需求打碎然后按照编程思想的指导进行重组的过程; 编程的本质:按照编程思想的指导,将需求拆分然后重装成模型,进一步转化成程序的过程; 需求到程序需要三次转化过程:1)想法转化成需求文档;2)需求文档转化为
阅读全文
摘要:http://www.iso-architecture.org/42010/cm/
阅读全文
摘要:软件开发的核心问题: 1)转化=》将需求文档转化为软件模型(分析设计); 2)软件复杂度控制:分而治之、面向对象 3)开发成本:时间、复用。
阅读全文
摘要:子进程和父进程都从调用fork函数的下一条语句开始执行
阅读全文
摘要:https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html CFBundleURLTypes CF
阅读全文
摘要:两个维度: 1)是否给用户使用; 2)是否持久存储。 During installation of a new app, the installer creates a number of container directories for the app inside the sandbox di
阅读全文
摘要:归纳推理 归纳是从个别对象推知一类对象,从个别性知识推知中概括出一般原理或规律的的推理形式和思维方法,归纳推理包括完全归纳法和不完全归纳法。例如在具有细胞结构的生物中,对它们的遗传物质进行推理发现,所有具有细胞结构的生物的遗传物质都是DNA,这就是完全归纳的结论。但如果把病毒也作为生物,进行遗传物质
阅读全文
摘要:概念的名称是人类联系意识与实体的桥梁;通常一个概念的名字能够反映这个概念的大概含义。比如 “概念”:从字面意思来看,“概”是大略、总括的意思;念:心中的打算,想法,看法; “市盈率”:市值、盈利、比较; 名称有两种;第一种是一个概念符号,与概念描述的内容关联不大;另一种是概念的高度概括,看到名字以后
阅读全文
摘要:1、没有“界定问题”会出现什么问题?(Why) 不能准确描述问题,无法梳理清楚问题结构、被问题表象蒙蔽以及忽略问题隐含的假设。 2、相应的解决方法是什么?(How)
阅读全文
摘要:程序问题的定位过程与医生给病人看病、修车师傅修理汽车的过程基本一致; 首先程序员应该了解程序的应该了解程序的基本功能; 明确出现问题的时机与现象;以便缩小调试范围;相当于医院的门诊分珍和医生的大概确定病原。 这个过程在方法论里就是猜测联系。 然后使用技术手段证实或排出联系。
阅读全文
摘要:很简单,小时候都玩过拼图吧,有形状规制一致的;有不同的;把一张画、一张纸撕成碎片,你也可以根据碎片的形状和画的内容最后还原出原形。 在现实生活中,无论你是解决比较宏观的问题如制定职业规划、制定计划目标,还是微观的问题,看一本书、学习一门课程、掌握某项能力,都可以运用到上述的拼图思维,我自己在写论文、
阅读全文
摘要:笛卡儿在《方法论》中指出,研究问题的方法分四个步骤: 1.永远不接受任何我自己不清楚的真理,就是说要尽量避免鲁莽和偏见,只能是根据自己的判断非常清楚和确定,没有任何值得怀疑的地方的真理。 2.可以将要研究的复杂问题,尽量分解为多个比较简单的小问题,一个一个地分开解决。 3.将这些小问题从简单到复杂排
阅读全文
摘要:检查思考的路径,以确定其正确性。 检查思维运行的规则,以确定其正确性; 就像函数功能检查一样,检查函数的每一步是否都是按照规则运行的。
阅读全文
摘要:辑是“必然的得出”,是“推理的有效性”,是“从前提真保证得出结论真”。通俗的说是研究推理形式(有效性)而不是其负载内容的。对应的功效是刻画思维中演绎推理这一基本领域的工具。王路《逻辑的观念》中有个定义(好像是李小五的),凭记忆写出(专门背过,但也不能保证无误):【逻辑就是对形式正确的推理关系进行可靠
阅读全文
摘要:我理解的逻辑是智慧生物对抗生活中不确定性的一种语言工具,但奇妙的是这个工具却可以脱离实际的万物而抽象地存有。 我们生活于其间的宇宙为什么如此这般存有,不是它的子民能轻易估量的,有人说是“我们在观看上帝下棋”。我们的生活中很多事情原本是不确定、不明晰的,而理解了棋规,就能把很多事情确定下来。我们这些子
阅读全文
摘要:概念是对事物的本质的概括和反映,是同类事物的共性、一般特性在人脑中的反映。判断是对事物是什么或不是什么、是否具有某种属性的判明和断定,在内容上是对事物之间的联系或关系的反映,在形式上表现为概念与功能之间的联系。推理是从事物的联系或关系中由已知的推出未知的思维活动,其逻辑形式是从已知的几个判断推出一个
阅读全文
摘要:http://kb.cnblogs.com/page/111780/ 这个问题是在最近一次英格兰Brighton ALT.NET Beers活动中提出来的。我发现,如果不用代码来演示,你很难单用话语把它解释清楚,所以,在这里,我打算用C#来解释一下什么是闭包(closures)。维基百科上说: 在计
阅读全文
摘要:“闭包” 一词来源于以下两者的结合:要执行的代码块(由于自由变量被包含在代码块中,这些自由变量以及它们引用的对象没有被释放)和为自由变量提供绑定的计算环境(作用域)。 http://blog.csdn.net/yxwlzsh/article/details/46882119 第一部分: 理论 什么是
阅读全文
摘要:https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Blocks/Articles/bxOverview.html#//apple_ref/doc/uid/TP40007502-CH3-SW1 Conc
阅读全文
摘要:是程序运行的所需要的各类资源的综合;是程序作为一个生命的生存环境。 是程序为完成功能需要的各类资源的集合。 程序运行的级别: 1)指令级:涉及到的资源:程序计数器、各类寄存器。 2)函数级:外部输入参数、引用的软硬件资源、内部变量、面向对象的环境支持(可以直接访问对象的成员变量和函数); 3)线程级
阅读全文
摘要:Activity mActivity =new Activity() 作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言,Activity本质上也是一个对象,那上面的写法有什么问题呢?估计很多人说不清道不明。Androi
阅读全文
摘要:https://www.zhihu.com/question/26387327 每一段程序都有很多外部变量。只有像Add这种简单的函数才是没有外部变量的。一旦你的一段程序有了外部变量,这段程序就不完整,不能独立运行。你为了使他们运行,就要给所有的外部变量一个一个写一些值进去。这些值的集合就叫上下文。
阅读全文
摘要:http://bbs.csdn.net/topics/390064395 上下文应该是程序运行所使用的各种资源,多个程序运行时,系统会为每个程序分配时间,这个程序在规定的时间(片)内未完成,系统应该会保存它的上下文,以便在下一个时间(片)到来时迅速恢复程序原来的运行状态。它应该是程序或子线程的一个静
阅读全文
摘要:http://www.cnblogs.com/chaoguo1234/archive/2013/05/19/3079078.html 在c++中,当一个类含有虚函数的时候,类就具有了多态性。构造函数的一项重要功能就是初始化vptr指针,这是保证多态性的关键步骤。 构造函数初始化vptr指针 下面是c
阅读全文
摘要:http://blog.sina.com.cn/s/blog_6fd68d5f0100n60h.html 前言--构造函数、析构函数的简单理解:1)构造函数 对象被创建时候调用的函数;2)析构函数 对象被释放时候调用的函数;一 案例程序源代码//下面的代码为一个简单的VC++6.0下生成的控制台工程
阅读全文
摘要:仅供参考 http://www.baiy.cn/doc/cpp/inside_exception.htm 在我几年前开始写《C++编码规范与指导》一文时,就已经规划着要加入这样一篇讨论 C++ 异常机制的文章了。没想到时隔几年以后才有机会把这个尾巴补完 :-)。 还是那句开场白:“在恰当的场合使用恰
阅读全文
摘要:http://www.cnblogs.com/flyFreeZn/p/4264220.html 本文来源于我个人的ARC学习笔记,旨在通过简明扼要的方式总结出iOS开发中ARC(Automatic Reference Counting,自动引用计数)内存管理技术的要点,所以不会涉及全部细节。这篇文章
阅读全文
摘要:http://www.cnblogs.com/hhx626/p/6010293.html 导读:近期做到的项目中,用到的框架师SSM(SpringMVC+Spring+Mybatis),那么在这之前用过SSH,这里主要是区分一下SpringMVC和Struts,但是由于SpringMVC和Sprin
阅读全文
摘要:SQL是人类与数据库沟通的语言https://zhidao.baidu.com/question/413397944.html我个人认为SQL是一种专门对数据库进行操作的特殊的脚本语言。因为SQL语句都是以文本形式保存和执行,SQL程序时靠SQL解释器来执行,这个与脚本语言非常相似的。不过,SQL它
阅读全文