
1.1.1.8 软件工程
文章平均质量分 79
ajian005
这个作者很懒,什么都没留下…
展开
-
软件工程的国家标准(总结)
国家标准、行业标准分为强制性标准和推荐性标准,保障人体健康、人身、财产安全的标准和法律、行政法规规定强制执行的标准是强制性标准,其他标准是推荐性标准。在公布国家标准或者行业标准后,该项地方标准即行废止。4、 企业生产的产品没有国家标准和行业标准的,应当制定企业标准,已有国家标准或者行业标准的,国家鼓励企业制定严于国家标准或者行业标准的企业标准,在企业内部使用。强制性内容的范围包括:国家、人身、财产、动植的安全,产品或工程的质量、卫生、环境保护,防止欺骗、保护消费者利益的,国家需要控制的重要产品的技术要求。转载 2022-09-26 11:15:39 · 19355 阅读 · 1 评论 -
Google工程师文化和工程实践组合
Google软件工程原创 2022-06-10 16:42:10 · 278 阅读 · 0 评论 -
生产力到软件结构的关系
一、社会结构关系因为经济基础就是占主导地位的生产关系。1、联系生产力,是因为生产力决定生产关系,生产关系对生产力有反作用。2、联系上层建筑,是因为占统治地位的生产关系即经济基础决定上层建筑,上层建筑对各种生产关系有反作用。二、生产力生产力指具有一定生产经验和劳动技能的劳动者和他们所使用的生产资料结合起来, 从而在物质资料生产过程中所发生的力量, 也就是人类在生产过程中征服和改造自然界, 并获得适合自己需要的物质资料的能力。三、生产关系生产关系指人们在物质资料.原创 2021-03-07 22:38:47 · 678 阅读 · 3 评论 -
Topic 权限模型
一、权限模型分类1MAC(Mandatory Access Control):起初由政府和军方设计并使用, 它有非常严格的访问控制模型。在MAC中, 所有的权限由管理员预定义, 并且由操作系统控制。MAC实现了数据的权限分类(如重要的等级或安全的等级)和用户的权限分类(部门, 项目等), 这样在验证的时候就可以对比用户和数据的权限等级对应关系, 从而知道是否有访问权限。很少会有只使用MAC的, 一般情况下会和其他的方法混合使用, 比如UNIX的文件系统使用了DAC, 但是root账号可以绕过.原创 2020-09-21 18:04:08 · 649 阅读 · 0 评论 -
微服务 | Martin Fowler
“微服务架构”这一术语在前几年横空出世,用于描述这样一种特定的软件设计方法,即以若干组可独立部署的服务的方式进行软件应用系统的设计。尽管这种架构风格尚无明确的定义,但其在下述方面还是存在一定的共性,即围绕业务功能的组织、自动化部署、端点智能、以及在编程语言和数据方面进行去中心化的控制。本文目录 微服务架构的九大特性 特性一:“组件化”与“多服务” 特性二:围绕“业务功能”组织团队 特性三:“做产品”而不是“做项目” 特性四:“智能端点”与“傻瓜管道” 特性五:“去中心化”地治理转载 2020-09-04 11:24:20 · 297 阅读 · 1 评论 -
一个基于角色的WEB 安全访问控制系统
一个基于角色的WEB 安全访问控制系统 赵锐 河北工业职业技术学院计算机技术系软件专业 Email: zr04rj@hotmail.com 摘要 在WEB安全管理上访问控制是一个富有挑战性的问题。本文对基于角色的访问控制模型进行分析并对相关的概念进行了定义,给出了实现模型和算法设计;对现行的Web 安全认证和访问控制中存在的问转载 2007-02-02 16:17:00 · 1972 阅读 · 0 评论 -
基于角色访问控制的UML表示
基于角色访问控制的UML表示作者:Michael E. Shin、Gail-Joon Ahn著,UMLChina 译 文章出处: 发布时间:2005-06-25 点击:1970 字体: 【小 中 大】 摘要在基于角色访问控制(role-based access转载 2007-02-02 17:52:00 · 1441 阅读 · 0 评论 -
开发统一的博客接口
现在博客很流行,很多人都在使用博客,有些人同时拥有几个不同的博客网站,不知你有没有这样的烦恼,就是你写了一篇文章,这时想传到不同的博客网站上去,就得打开不同的博客网页,在上面发布文章,这样很烦躁,并且做的是重复的工作。有没有可能,有没有可能写了一篇文章,在一个地方上传,就可以在不同的博客网站上面发布呢? 首先,我们需要不用打开博客网站,就可以将文章发布到这个博客网站上面去,这就需原创 2007-02-02 18:19:00 · 1418 阅读 · 1 评论 -
杀毒软件需要改变开发模式
杀毒软件需要改变开发模式 在现在的网络世界里,各类病毒、木马泛滥,虽然有各式各样的杀毒软件,而这些杀毒软件在病毒面前,显得是那么的脆弱,无论你安装了多少杀毒软件,当你在网络世界穿行的时候,经常是不知不觉的就中毒了,而运行中的杀毒软件也经常像一只睡着的看门狗一样,对这些都毫无察觉。这也许该归因于杀毒软件生产商采用了一种错误的开发方式。 首先,我想说明一点,全世界的原创 2007-02-02 18:23:00 · 864 阅读 · 0 评论 -
让程序开发也来个三权分立
让程序开发也来个三权分立 我想说的是,这里是三权分立,不是指政治体制里面的立法、行政、司法,而是指程序开发中的系统设计、系统开发、系统测试。在这里,系统设计有点类似于立法,系统开发有点类似于行政,而系统测试有点类似于司法。系统设计包括需求文档、设计文档的撰写,也包括系统架构、编程规范、界面风格等。这一切都是为进行系统开发所做的一些准备,使得进行开发有一定的依据,不同的人在这些文档转载 2007-02-02 18:32:00 · 1429 阅读 · 0 评论 -
21种代码的“坏味道”
21种代码的“坏味道”gigix2001-12-15 00:00:002029 次浏览1.Duplicated Code 代码重复几乎是最常见的异味了。他也是Refactoring 的主要目标之一。代码重复往往来自于copy-and-paste 的编程风格。与他相对应OAOO 是一个好系统的重要标志(请参见我的duplicated code 一文:ht原创 2007-02-02 18:47:00 · 1418 阅读 · 0 评论 -
性能调优概述
性能调优概述<br /> 性能调优无疑是个庞大的话题,也是很多项目中非常重要的一环,性能调优的难做是众所周知的,毕竟性能调优涵盖的面实在是太多了,在这篇blog中我们蜻蜓点水般的来看看性能调优这项庞大的工程都有些什么过程,同时也看看这些过程中常见的一些做法。<br />确定性能调优的目标<br />性能调优,首先是要确定性能调优的目标是什么,如果现在应用已经满足了需求,就没必要去做性能调优了,毕竟不经过一个系统的过程,其实是无法确定你所做的性能调整是否真的调优了性能,是否没有造成应用中其他的问转载 2011-05-30 18:09:00 · 1293 阅读 · 0 评论 -
Tomcat5集群中的SESSION复制
第一部分 原文地址:http://www.onjava.com/pub/a/onjava/2004/11/24/replication1.htmlTomcat5服务器为集群和SESSION复制提供了集成的支持。本系列的第一篇文章将为大家提供SESSION持久性以及TOMCAT集群中SESSION复制的内在工作机制一个概要认识。我将会讨论SESSION复制在TOMCAT5中是怎样进行的以及跨越多集群节点的SESSION持久性的复制机制。在第2部分,我会详转载 2011-06-01 23:09:00 · 1636 阅读 · 0 评论 -
什么是软件系统的架构(Architecture)?
什么是软件系统的架构(Architecture)?一般而言,架构有两个要素: ·它是一个软件系统从整体到部分的最高层次的划分。 一个系统通常是由元件组成的,而这些元件如何形成、相互之间如何发生作用,则是关于这个系统本身结构的重要信息。 详细地说,就是要包括架构元件(Architecture Component)、联结器(Connector)、任务流(Task-flow)。所谓架构元素,也就是组成系统的核心"砖瓦",而联结器则描述这些元件之间通讯的路径、通讯的机制、通讯的预期结果,任务流则描转载 2011-06-02 22:22:00 · 1505 阅读 · 0 评论 -
程序员的四境界、七宗"罪"与七武器
程序员的四个境界 国学大师王国维先生认为古今成大事业、大学问者,必经过三种境界,第一种境界:“昨夜西风凋碧树。独上高楼,望尽天涯路”;第二种境界:“衣带渐宽终不悔,为伊消得人憔悴”,第三种境界:“众里寻他千百度,蓦然回首,那人却在灯火阑珊处”。一代宗师真是体察入微,寥寥数语,道尽了求道者的心路历程,将一个人由浅尝、迷茫到彻悟的过程尽数概括,可谓入木三分。 IT原创 2011-06-04 19:05:00 · 1921 阅读 · 0 评论 -
JVM调优总结(精)
转自:http://pengjiaheng.javaeye.com/blog/518622搜索JVM调优发现的好文,转载共赏 JVM调优总结-序 几年前写过一篇关于JVM调优的文章,前段时间拿出来看了看,又添加了一些东西。突然发现,基础真的很重要。学习的过程是一个由表及里,再由里及表的过程。呵呵,所谓的“温故而知新”。而真正能走完这个轮回的人,也就能称转载 2011-06-06 14:52:00 · 1913 阅读 · 0 评论 -
说说IO - IO的分层
说说IO(一)- IO的分层 IO性能对于一个系统的影响是至关重要的。一个系统经过多项优化以后,瓶颈往往落在数据库;而数据库经过多种优化以后,瓶颈最终会落到IO。而IO性能的发展,明显落后于CPU的发展。Memchached也好,NoSql也好,这些流行技术的背后都在直接或者间接地回避IO瓶颈,从而提高系统性能。IO系统转载 2011-06-07 11:00:00 · 2146 阅读 · 0 评论 -
JConsole手册
一篇Sun官方网站上介绍JConsole使用的文章,前段时间性能测试的时候大概翻译了一下以便学习,今天整理一下发上来,有些地方也不知道怎么翻,就保留了原文,可能还好理解点,呵呵,水平有限,翻的不好,大家多多包涵。JConsole毕竟是JDK自带的东西,功能虽然没有一些商业软件那么强大,但是稳定性好,在大压力情况下也不会发生什么问题。而且,提供了相对全面的系统监控功能,还是值得一用的。转载 2011-06-06 16:13:00 · 1369 阅读 · 0 评论 -
淘宝iDataForum归来
今天参加了淘宝的iDataForum,收获不少。详细的PPT过段时间能发在官方网站上。Topic 1:淘宝架构的变迁。这个topic主要讲淘宝这几年数据库面临的一些问题以及问题的解决。下面的数据还是老一些的数据。淘宝现在有10亿种商品。小文件和图片加起来有1000T转载 2011-06-06 16:14:00 · 1346 阅读 · 0 评论 -
浅谈Java中的同步的方法和原理
Java的内存模型中Thread会附有自己的堆栈,寄存器,必要时需要和主存即heap之间同步。可以使用Synchornized关键字和Concurrent包中的Lock可以保证线程互斥和可见性。互斥性体现在类锁或者对象锁上,每个对象自身都包含一个监视器,该监视器是一个每次只能被一个线程所获取进入的临界区,可以通过wait和notify来退出和准入临界区。可以看出这是一个生产者-消费转载 2011-06-10 17:13:00 · 1245 阅读 · 0 评论 -
负载均衡算法大全
负载均衡的发展基础就是负载均衡算法。那么针对不同的服务器我们也会采用不同的负载均衡算法,因为他们所具备的和要求的功能各不相同。那么我们现在就来详细了解一下这方面的知识。希望能让大家从中得到需要的东西。服务器负载均衡算法有很多(持续性的和非持续性的),包括轮循算法、最少连接算法、响原创 2011-07-13 18:17:23 · 1187 阅读 · 0 评论 -
伸缩性、可用性、稳定性(Scalability, Availability & Stability Patterns)
一 自我有要求的读者应该提出问题:(研习:掌握层次:)能力级别:不会(了解)——领会(理解)——熟练——精(why)——通(融汇贯通)1.1 什么是Scalability, Availability&Stability Patterns ? 1.2 以上各个模式都说了些什么? 1.2.1 Scalability Patterns 从State和Behavior都说了些什么? 是简单介原创 2011-05-31 19:06:00 · 5364 阅读 · 0 评论 -
运用RUP 4+1视图方法进行软件架构设计
呼唤架构设计的多重视图方法灵感一闪,就想出了把大象放进冰箱的办法,这自然好。但希望每个架构设计策略都依靠灵感是不现实的--我们需要系统方法的指导。需要架构设计的多重视图方法,从根本上来说是因为需求种类的复杂性所致。以工程领域的例子开道吧。比如设计一座跨江大桥:我们会考虑"连接南北的公路交通"这个"功能需求",从而初步设计出理想化的桥墩支撑的公路桥方案;然后还要考虑造桥要面临的"约束条件",转载 2011-11-01 14:18:23 · 1440 阅读 · 0 评论 -
大型网站架构演变和知识体系
之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么一个网站需要那么复杂的技术,于是有了写这篇文章的想法,在这篇文章中将阐述一个普通的网站发展成大型网站过程中的一种较为典型的架构演变历程和所需掌握的知识体系,希望能给想从事互联网行转载 2011-11-02 18:11:40 · 764 阅读 · 0 评论 -
Web容量规划的艺术-要点
twitter上@fire9给我推荐了这本书,花了一些时间把这本书看了两遍,总结性的点评语就是:“书的质量非常的高,一方面这本书中的内容来源于 flickr.com实际的经验,另一方面是作者采用了很多生活中的例子来讲解一些复杂的技术,让人很快就明白了。”下面就具体来看看这本书传达的容量规划该怎么做。容量规划主要分为四个步骤来进行:1、设定容量的目标:例如网站需要在3秒内响应,达到99.99转载 2011-11-03 19:24:02 · 1326 阅读 · 0 评论 -
CSS 参考手册
http://www.w3school.com.cn/css/css_reference.aspCSS 属性组:背景文本字体边框和轮廓外边距内边距列表内容生成尺寸定位打印表格伪类伪元素提示和注释:属性:“属性” 列指向语法、实例、浏览器支持等内容。CSS:"CSS" 列指示属性是在哪个 CSS 版本中定义的(CSS1 还是 CSS2)。提示:W3School转载 2011-11-25 13:27:38 · 929 阅读 · 0 评论 -
常用缓存算法简介
没有人能说清哪种缓存算法优于其他的缓存算法。(以下的几种缓存算法,有的我也理解不好,如果感兴趣,你可以Google一下)Least Frequently Used(LFU):大家好,我是 LFU,我会计算为每个缓存对象计算他们被使用的频率。我会把最不常用的缓存对象踢走。Least Recently User(LRU):我是LRU缓存算法,我把最近最少使用的缓存对象给踢走。我总是转载 2011-11-07 15:44:10 · 1087 阅读 · 0 评论 -
开源数据库 Sharding 技术 (Share Nothing)
作者: Fenng| 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.dbanotes.net/database/database_sharding.html注:此文首发于 《程序员》杂志 2008 年 7 月刊。从 Shard 到 Sharding "Shard" 这个词英文的意思是"碎片",而作为数据库相关的技术用语,转载 2011-11-29 21:16:16 · 1349 阅读 · 0 评论 -
Handler-Socket Plugin for MySQL – SQL的功能、NoSQL的性能
记得半年多前写过MySQL vs NoSQL ,且一直以来我比较坚持用数据库存储K/V数据,因为不只是对数据安全等能提供保障,主要是发现大部分系统的qps根本就没那么高,能上4k的水平已经很少了,这点MySQL完全可以满足,因为优化好的K/V请求,在MySQL的SQL层上能实现每核心5k左右的qps,而这一数据在HandlerSocket出来之后,得到了更大的提升。HandlerSocket转载 2011-11-29 21:47:05 · 958 阅读 · 0 评论 -
集群中几种session同步解决方案的比较
集群中session安全和同步是个最大的问题,下面是我收集到的几种session同步的方案,希望能通过分析其各自的优劣找出其适应的场景。1. 客户端cookie加密这是我以前采用的方式,简单,高效。比较好的方法是自己采用cookie机制来实现一个session,在应用中使用此session实现。问题:session中数据不能太多,最好只有个用户id。参考实现:http://roll转载 2011-06-01 23:24:00 · 1272 阅读 · 0 评论 -
一种可以避免数据迁移的分库分表scale-out扩容方式
种可以避免数据迁移的分库分表scale-out扩容方式目前绝大多数应用采取的两种分库分表规则mod方式dayofweek系列日期方式(所有星期1的数据在一个库/表,或所有?月份的数据在一个库表)这两种方式有个本质的特点,就是离散性加周期性。例如以一个表的主键对3取余数的方式分库或分表:那么随着数据量的增大,每个表或库的数据量都是各自增长。当一个表或库的数据量增长到了一个转载 2011-11-14 18:11:42 · 1858 阅读 · 0 评论 -
互联网产品经理常用软件及工作平台
源: http://blog.renren.com/blog/236832256/491894781(胡孝)大家发信给我说希望能够写篇博文来分享,PPT还不够他们使。好吧,我再啰嗦一次。我不想和大家具体去讨论一个工具如何如何 使用,具体有那些细节功能,我相信,工具只有在亲自使用、体验、完成工作任务才知道是否合适、好用、够用。在这里,我系统的和大家分享一下,到底会用到那 些软件、工具、平台,在全转载 2012-05-08 17:29:00 · 1412 阅读 · 0 评论 -
提高编码质量的一些方法和工具(不断补充)
轻松写出优雅的Java代码之CheckStyle http://www.searchtb.com/2011/01/coding-better-java-with-checkstyle.html原创 2012-06-02 10:16:35 · 724 阅读 · 0 评论 -
Apache Avro 与 Thrift 比较
http://www.tbdata.org/archives/1307Avro和Thrift都是跨语言,基于二进制的高性能的通讯中间件. 它们都提供了数据序列化的功能和RPC服务. 总体功能上类似,但是哲学不一样. Thrift出自Facebook用于后台各个服务间的通讯,Thrift的设计强调统一的编程接口的多语言通讯框架(IDL). Avro出自Hadoop之父Doug Cutti转载 2012-06-01 23:53:01 · 665 阅读 · 0 评论 -
互联网产品重构
1、为什么要进行产品重构 旧系统人员流失,系统的业务规则、原始需求谁都不清楚,需求文档、使用文档、架构文档极其缺乏,成为一个无底洞,可维护性很差。 旧系统越来越复杂,潜规则太多,原本修改一个小需求,一不小心搞得上线后影响一堆用户 旧系统的业务架构、技术架构无法满足新的业务模式需要 旧系统性能无法满足公司业务高速发展的需要 旧系统的产品生命周期转载 2012-06-10 22:48:54 · 708 阅读 · 0 评论 -
Staged Event Driven Architecture (SEDA) 介绍
Staged Event Driven Architecture (SEDA) 介绍作者:朱之光 http://larryzhu.bokee.com 一、前言二、当前流行的两种并发处理编程模型三、SEDA架构四、小结五、参考文献 一、前言Staged Event Driven Architecture (SEDA) 是加州大学伯克利分校研究的一套优秀的高转载 2012-06-25 13:38:52 · 1656 阅读 · 0 评论 -
程序员没有真实读的书(Books Programmers Don't Really Read)
最常被程序员们谎称读过的计算机书籍中文翻译:http://www.billthelizard.com/2008/12/books-programmers-dont-really-read.html马克·吐温曾经说过,所谓经典小说,就是指很多人希望读过,但很少人真正花时间去读的小说。这种说法同样适用于“经典”的计算机书籍。在Stack Overflow(以及其它很多软件论坛)上,诸如转载 2011-05-15 13:37:00 · 1736 阅读 · 0 评论 -
探索Google App Engine背后的奥秘
探索Google App Engine背后的奥秘(1)--Google的核心技术作者: ikewu| 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.dbanotes.net/arch/google_app_engine_arch.html按:此为客座博文系列。投稿人吴朱华曾在IBM中国研究院从事与云计算相关的研究,现在正转载 2012-06-28 10:56:49 · 3666 阅读 · 0 评论 -
GIT和SVN之间的五个基本区别
如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机会来试一试GIT,我想现在你就要了解它了。GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征。所以,这篇文章的主要目的就是通过介绍GIT能做什么、它和SVN在深层次上究竟有什么不同来帮助你认识它。转载 2012-06-28 13:49:18 · 641 阅读 · 0 评论 -
最常被程序员们谎称读过的计算机书籍
最常被程序员们谎称读过的计算机书籍马克·吐温曾经说过,所谓经典小说,就是指很多人希望读过,但很少人真正花时间去读的小说。这种说法同样适用于“经典”的计算机书籍。在Stack Overflow(以及其它很多软件论坛)上,诸如”程序员最应该读的计算机书籍有哪些?“这样的问题会周期性的出现。这样的问题不断的被提出、被回答,只是形式不同罢了。相同的几本书总是会出现在清单的前几名内,所以,如果想知道转载 2012-06-28 13:55:04 · 1571 阅读 · 0 评论