随笔分类 - E计算机理论
摘要:主要的编程范式有三种:命令式编程(Imperative)、声明式编程(Declarative)和函数式编程(Functional) 命令式编程 命令式编程的主要思想是关注计算机执行的步骤,即一步一步告诉计算机先做什么再做什么。 比如:如果你想在一个数字集合 collection(变量名) 中筛选大于
阅读全文
摘要:结构化开发(瀑布模型) 瀑布模型是由W.W.Royce在1970年最初提出的软件开发模型, 瀑布式开发是一种老旧的计算机软件开发方法。瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤顺序进行。步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划
阅读全文
摘要:今天整合apache和tomcat,结果发现整合过程中需要使用一个整合组件叫mod_jk.so,仔细研究了一下,这个.so文件究竟为何方神圣能够作为apache组件来使用,原来这个.so文件就是Linux小的动态链接库文件,类似windows中的dll,而apache中大量使用了这种东东。 一、动态
阅读全文
摘要:数据库这一块,除了那三个范式不易记忆,还有更加烧脑的模式分解。模式分解在99%的搞计算机的人来看,只是在软考题目见到应用,除此之外,真的不知道这块知识到底是做什么的,对它的充斥满脑的质疑。这种知识写成的题目只能把它看成一个游戏,真的看不出到底有什么用,而专业课和软考中却大量充斥着这类看起来深奥无比掌
阅读全文
摘要:UML Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。 面向对象的分析与设计(OOA&D,OO
阅读全文
摘要:Cache 缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而 Cache保存着CPU刚用过的数据或循环使用的部分数据,这时从Cache中读取数据会更快,减少了CPU等待的时间,提高了系统的性能。
阅读全文
摘要:最近docker技术在网络上非常火爆,各种技术下载中心总能看到一个以docker镜像方式下载的下载选项,而当你下载下来运行发现,这就是一个虚拟机嘛。究竟是不是呢?一起来看看。 我们先来看看传统意义上的虚拟机: 基础设施(Infrastructure)。它可以是你的个人电脑,数据中心的服务器,或者是云
阅读全文
摘要:不管看javascript还是其他语言举例,经常看到使用foo和bar来充当变量。那么究竟foo、bar是什么鬼? 一说:foo 和 bar 组合在一起所构成的 foobar 应该最能反映其原始的意思,这个可以追溯到二战时期的米国陆军俚语缩写 “FUBAR”,原文是 “Fucked Up Beyon
阅读全文
摘要:什么是许可协议? 什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供 一定的权限。 不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明
阅读全文
摘要:1 select child.id,child.name,child.lft,child.rgt,count(child.name) depth2 from category parent, category child 3 where child.left >= parent.left 4 and
阅读全文
摘要:32位和64位系统在计算机领域中常常提及,但是仍然很多人不知道32位和64位的区别,所以本人在网上整理了一些资料,并希望可以与大家一起分享。对于32位和64位之分,本文将分别从处理器,操作系统,JVM进行讲解。 IA介绍 简介 说到处理器,大家用的最多的莫过于Intel的处理器了,所以本文主要从In
阅读全文
摘要:Dubble与微服务 一开始web开发并没有用到RPC也没有用到微服务,只需要一个nginx即可。 http访问到服务器要经过的内容:Nginx —Tomcat –db,nginx的反向代理,域名的反向代理,就是使用一个域名去指定某个端口。至于负载均衡就是 可以把请求过来的 http分不到不同的to
阅读全文
摘要:为什么会有dubbo的出现: 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。 单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。 此时,用于简化增删改查
阅读全文
摘要:微服务跟SOA有什么区别呢,可以把微服务当做去除了ESB的SOA。ESB是SOA架构中的中心总线,拓扑结构应该是星形的,而微服务是去中心化的分布式软件架构。 一、巨石(monolith) web应用程序发展的早期,大部分web工程是将所有的功能模块(service side)打包到一起并放在一个we
阅读全文
摘要:构建一个可 伸缩,高性能,高可用性的分布式互联网应用。 一 应用无状态(淘宝session框架) 俗话说,一个系 统的伸缩性的好坏取决于应用的状态如何管理。为什么这么说呢?咱们试想一下,假如我们在session中保存了大量与客户端的状态信 息的话,那么当保存状态信息的server宕机的时候,我们怎么
阅读全文
摘要:一、MQ MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程
阅读全文
摘要:volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于v
阅读全文
摘要:一、常见加密算法 常用的对称加密算法有:DES、3DES、RC2、RC4、AES 常用的非对称加密算法有:RSA、DSA、ECC 使用单向散列函数的加密算法(摘要算法):MD5、SHA 二、salt 那么什么是salt?生成一个随机数,我们称之为salt,然后在数据库中记录salt和h=hash(p
阅读全文
摘要:1、SOA SOA(面向服务的软件架构、Service Oriented Architecture),是一种软件设计模式,主要应用于不同应用组件之间通过某种协议来互操作。例如典型的 通信网络协议。因此SOA是独立于任何厂商、产品、技术的。 SOA有两个层面的定义: 从应用的角度定义:SOA是一种应用
阅读全文