- 敏捷软件开发 - 原则、模式与实践 —— 设计模式(十一)VISITOR模式
李桐2000
本文为敏捷软件开发-原则、模式与实践系列的一部分。本文对应原书第28章VISTOR模式系列允许在不更改现有层次结构的情况下向其中增加新方法。该系列中的模式如下VISITOR模式ACYCLICVISITOR模式DECORATOR模式EXTENSIONObJECT模式VISITOR模式图1这个结构,可以通过增加新的ModemVisitor派生类来增加新的操作系统配置函数,而完全不用对Modem层次结构
- 敏捷开发中的用户故事
程序员布瓜
drawon用户故事drawiodrawonuserstory
用户故事drawio是一款强大的图表绘制软件,支持在线云端版本以及windows,macOS,linux安装版。如果想在线直接使用,则直接输入网址drawon.cn或者使用drawon(桌案),drawon.cn内部完整的集成了drawio的所有功能,并实现了云端存储,以及在线共创,分享,协作的功能。用户故事是与UML用例图是强相关的,用户故事与UML两者均被用于敏捷软件开发上下文。两种类型的图表
- 你真的喜欢结对编程吗
云无心上
什么是结对编程结对编程(英语:Pairprogramming)是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。(以上来自百度百科)我为什么不喜欢结对编程很早以前,我参加过一次thoughtworks的面试,这是我第一次接触结对编程。初次接触,我是比较欣喜
- 敏捷软件开发 - 原则、模式与实践 —— 敏捷设计(四)里氏替换原则
李桐2000
本文为敏捷软件开发-原则、模式与实践系列的一部分。本文对应原书第10章。里氏替换原则(LSP-TheLiskovSubstitutionPrinciple)子类型必须能够替换掉它们的基类型。问题对于LSP的违反常常会导致以明显违反OCP的方式使用运行时类型辨别。这种方式常常是使用一个显示的if语句或者if/else链去确定一个对象的类型,以便于可以选择针对该类型的正确行为。我们经常说继承是IS-A
- DevOps落地笔记-01|追溯本源:DevOps的发展历史回顾
机智阳
javadevops笔记运维后端java面试
任何事物的诞生、发展和消亡都是由所处社会阶段决定的,软件开发方法也是一样。现在我们津津乐道的DevOps,也有其自己的起源和诞生的前提条件,今天我带领你追本溯源,一起找一找DevOps兴起的历史根源。当谈到DevOps,就不得不提的两个词是:精益和敏捷。精益软件开发和敏捷软件开发是DevOps发展的两大基础。DevOps不仅对这两大基础进行了扩展,还引入了很多重要而有用的原则。因此,在一些人眼中,
- 2022年05月系统分析师考试知识点分布
syhnjs
计算机水平考试软考
邹月平施游1、上午知识点分布表1是按题号对应的考试内容。表1按试题号分布的考查内容试题号知识点试题号知识点1领域需求38软件逆向工程2安全关键系统39软件逆向工程3模型驱动的体系结构40E-R图4敏捷软件开发方法41分布式数据库5UML42自然连接运算6TCP/IP模型43关系模式7基于生物特征的认证技术44关系模式8公钥加密算法45数据库的安全机制9计算机系统机密性46操作系统死锁10商标注册4
- 敏捷软件开发 - 原则、模式与实践 —— 设计模式(一)COMMAND模式和ACTIVE OBJECT模式
李桐2000
本文为敏捷软件开发-原则、模式与实践系列的一部分。本文对应原书第13章COMMAND模式COMMAND模式是最简单、最优雅的模式之一。它的适用范围非常广泛。图1ACTIVEOBJECT模式ACTIVEOBJECT模式是我最喜欢使用COMMAND模式的地方之一。这是实现多线程控制的一项古老技术。该模式有多种使用方式,为许多工业系统提供了一个简单的多任务核心。图2结论COMMAND模式的简单性掩盖了它
- 敏捷软件开发 - 原则、模式与实践 —— 设计模式(十)PROXY模式和STAIRWAY TO HEAVEN模式
李桐2000
本文为敏捷软件开发-原则、模式与实践系列的一部分。本文对应原书第26章PROXY模式图1PROXY模式具有一个非常大的好处:重要关系的分离。在上面的例子中,业务规则和数据库就被完全分开了。在那些把业务规则和数据库实现分离显得非常重要的情况中,PROXY模式是很适用的。就此而言,PROXY模式可以用来分离业务规则和任何种类的实现问题。它可以用来防止业务规则被诸如:COM、COBRA、EJB等东西污染
- 敏捷的灵魂来源于实战实践
9cb0e353f14c
通过长沙银行行内敏捷开发管理几次培训,虽有收获但是未执行于实战,只能算是知识体系的一次再学习和补充,通过年终决算测试项目的实战实践的体会在这里做一下总结。理解敏捷##长行整个培训中一直穿插着敏捷软件开发的原则进行讲解,这里摘录给我感触最深的几个:我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意,经常地交付可工作的软件,相隔几星期或一两个月,倾向于较短的周期。业务人员和开发人员必须相
- 敏捷软件开发 - 原则、模式与实践 —— 设计模式(八)OBSERVER模式
李桐2000
本文为敏捷软件开发-原则、模式与实践系列的一部分。本文对应原书第24章图1上图展示了OBSERVER模式的规范形式。在本例中,Clock被DigitalClock观察。DigitalClock通过Subject接口注册到Clock中。无论任何原因,只要时间一改变,Clock就调用Subject的notify方法。而Subject的notify方法会调用每个已注册Observer对象的update方
- 云原生DevOps基础与实战
小羊的风火轮冒烟啦
云原生devops运维
一、DevOps基础1、DevOps简介DevOps是一系列做法和工具,可以使IT和软件开发团队之间的流程实现自动化。其中,随着敏捷软件开发日趋流行,持续集成(CI)和持续交付(CD)已经成为该领域一个理想的解决方案。在CI/CD工作流中,每次集成都通过自动化构建来验证,包括编码、发布和测试,从而帮助开发者提前发现集成错误,团队也可以快速、安全、可靠地将内部软件交付到生产环境。
- 第6章面向对象程序设计基本原则
ARTHUR王旭光
开发语言pythonjava
6.1概述2002年出版的《敏捷软件开发:原则、模式与实践》(RobertC.Martin著)一书中,总结了十一种面向对象设计的重要法则,其中流传最广、应用最多的有7种,也就是我们常见的,首字母大写为SOLID的5大原则(SRP、OCP、LSP、ISP、DIP),以及合成复用原则(CompositeReusePrinciple,CRP)与迪米特法则(LawofDemeter,LoD),6.2单一责
- 系统架构设计笔记(27)—— 敏捷方法
deniro
2001年2月,在美国的犹他州,17位“无政府主义者”共同发表了《敏捷软件开发宣言》,在宣言中指出:尽早地、持续地向客户交付有价值的软件对开发人员来说是最重要的。拥抱变化,即使在开发的后期。敏捷过程能够驾驭变化,保持客户的竞争力。经常交付可工作的软件,从几周到几个月,时间范围越小越好。在整个项目中,业务人员和开发者紧密合作。围绕士气高昂的团队进行开发,为团队成员提供适宜的环境,满足他们的需要,并给
- 【敏捷实践】Scrum的核心概念和基本实践(一)
jimmy_hu888
Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum是一种产品开发过程的模式,包括了过程中的具体实践和角色定义,它也是一种计划管理方式。本文主要介绍Scrum的核心概念和基本实践,让大家可以快速在团队中开始运用Scrum的管理方式,并能初步看到采用Scrum的好处。一、迭代式增量开发迭代式增量开发是相对于瀑布式开发而言的。瀑布模型是由W.W.Royce在1970年最初提出的软件开发
- 大模型会毁了年轻程序员,你认同吗?
SoFlu软件机器人
springjavascriptide贪心算法
很多程序员认为当前的人工智能浪潮威胁到了他们的生存,但这一浪潮也为他们带来了更多机会。敏捷软件开发的倡导者肯特·贝克(KentBeck)曾经在推特上写道,“我很不情愿地用AI试着写代码,发现它可以让我的90%技能被取代,但是,它可以让我剩余的10%技能放大一千倍。”你同意这种观点吗?关于在编程或系统工程中使用大模型,对于经验丰富的工程师来说,利用GPT或其他大模型来提高生产力绝对是正面的。然而,对
- 敏捷开发流程详解
李飞_fd28
https://cloud.tencent.com/developer/article/1040819敏捷开发流程详解1敏捷开发流程ü敏捷软件开发核心是迭代式开发,增量交付。ü每一次迭代都建立在稳定的质量基础上,并作为下一轮迭代的基线,整个系统的功能随着迭代稳定地增长和不断完善。每次迭代要邀请用户代表(外部或内部)验收,提供需求是否满足的反馈。ü迭代型的方法就是将整个软件生命周期分成多个小的迭代,
- 敏捷设计及原则一二
张利锋
这周的任务是《敏捷软件开发》第二部分第7-9章内容,主要介绍了敏捷设计中软件腐化的表现和我们应该遵守的行为,敏捷开发所需要遵循的原则:单一职责原则(SRP)和开放-封闭原则(OCP)。一、什么是敏捷设计?敏捷设计是一个过程,它是一个持续的应用原则、模式以及实践来改进软件的结构和可读性的过程。作用:致力于保持系统设计在任何实践都尽可能的简单,干净以及富有表现力。二、敏捷设计中软件腐化表现在以下几个方
- 谈谈结对编程
码语生活
什么是结对编程?我们来看一下百度百科对结对编程的定义:结对编程(英语:Pairprogramming)是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理。这样使得驾驶
- 敏捷软件开发 - 原则、模式与实践 —— 设计模式(十二)STATE模式
李桐2000
本文为敏捷软件开发-原则、模式与实践系列的一部分。本文对应原书第29章STATE模式STATE模式既具有switch/case语句的效率又具有解释迁移表的灵活性。图1上图展示该模式的结构。Turnstile类拥有关于事件的公有方法以及关于动作的受保护方法。它持有一个指向TurnstileState接口的引用。当Turnstile的两个事件方法中的一个被调用时,它就把这个事件委托给Turnstile
- 怎么才能实现敏捷软件开发?
智创有术有限公司
jupyter
在软件工程领域,有过很多软件开发模型,如瀑布模型、快速原型模型、增量模型、螺旋模型、演化模型、喷泉模型、RAD模型、敏捷软件开发模型、XP极端模型。这么多的模型各有各的应用场景、各有各的适用范围,但我认为最实用开发模型还是敏捷软件开发。中国式软件开发思路是什么样的呢?从我接触过的大多软件项目来看,基本都有一个共同特点——就是必须快,客户都是急脾气,恨不得今天立项,明天就要你拿出产品来。面对公司和客
- 敏捷软件开发与极限编程
低吟不作语
软件工程
敏捷开发敏捷开发是一种从1990年代开始逐渐引起广泛关注的新型软件开发方法,是一种能应对快速变化需求的软件开发能力。敏捷开发以人为核心、以迭代方式循序渐进开发,在这一过程中,软件项目的构建被分成多个子项目,各个子项目之间的成果都经过测试,具备集成和可运行的特征。简言之,就是把一个大项目分为多个相互联系但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可用状态敏捷开发的价值观2001年年初,
- 软件架构中的SOA架构有哪些特点?
weixin_33743248
devops
面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。SOA是一种粗粒度、松耦合服务架构,基于soa服务思想进行功能的抽取(重复代码问题解决),以服务为中心各个系统之间依靠ESB进行调用。随着业务复杂性与规模的不断增长,以及业务的多变性因素,使得敏捷软件开发变得尤其
- 精益创业读后感
刘松_de91
《精益创业》这本书读完给我的最大的感觉就是,精益创业的思路就是当前敏捷软件开发的思路,应该说比敏捷开发更进一步,和目前devops、端到端跨职能团队的互联网思路是一致的。更重要的是,理论基础是一致的。这个理论基础,就是适用于复杂的、混沌的场景下的经验性过程控制,强调的快速交付可用的产品->测试衡量->调整优化这样的循环。区别的是来源于生产线的预定义计划控制型的过程。《精益创业》这本书里把这两种过程
- 敏捷软件开发 - 原则、模式与实践 —— 设计模式(三)FACADE模式和MEDIATOR模式
李桐2000
本文为敏捷软件开发-原则、模式与实践系列的一部分。本文对应原书第15章介绍这两个模式有着共同的目的。它们都把某种策略施加到另外这一组对象上。FACADE模式从上面施加策略,而MEDIATOR模式则从下面施加策略。FACADE模式的使用是明显且受限的,而MEDIATOR模式的使用则是不明显且不受限的。FACADE模式图1MEDIATOR模式图2图2展示了QuickEntryMediator的结构。用
- 敏捷软件开发
数羊到天明-
软件工程
快速软件开发(敏捷开发、敏捷方法)的共同特性:1、描述、设计和实现过程是交织在一起的。2、系统通过一系列增量进行开发。3、使用广泛的工具来支持开发过程,如配置和集成工具。敏捷方法:是一种增量开发方法,快速完成、快速交付;客户参与,以便获得关于需求变化的快速反馈;将设计和实现作为中心活动,其它活动融入其中。尽量减少文档化;敏捷方法的目的是减少开发过程中的繁琐多余的部分,快速产出有用的软件。计划驱动方
- 工作日志、周报的意义
海海0793
工作项目管理敏捷开发软件测试Excel
对于写日志的本人,可以让自己自省每天都干了什么;对自己的工作进行追踪;为了让自己清楚自己手头的工作的情况,能让自己对分配的事情有良好的工作计划与时间安排;君子博学而日参省乎己,则知明而行无过矣;为了考核而考核,员工则应付了之,敷衍了事。了解scrum敏捷软件开发:对于过程控制有一门学问,叫动态过程学,对于过程控制有两种:预定义过程和经验过程。预定义过程就是一切事情先安排好计划,以后严格执行计划,可
- 敏捷革命
程序员麻辣烫
思考后端项目管理
【美】杰夫·萨瑟兰本科时期学的是软件工程,除了学习基础的计算机知识外,软件工程和项目管理方面的内容也学了不少。当时有一门课讲的就是敏捷开发。那时候做项目少,课程学完了,除了记住一堆术语外,倒是没有很多的感触。后来进入公司,做了大量的项目,再来看看敏捷开发,确实有了很多感想。《敏捷革命》这本书的作者是《敏捷软件开发宣言》的参与人之一,也是Scrum的创始人。作者的履历我没有细查过,按照书中的描述,当
- DAPP开发【04】测试驱动开发
ihan1001
DAPPDAPP开发
测试驱动开发(TestDrivenDevelopment),是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程测试驱动开发是一种敏捷软件开发方法,它强调在编写功能代码之前先编写测试代码。这些测试代码描述了预期的功能行为,并且在开始编写实际功能代码之
- 敏捷软件开发 - 原则、模式与实践 —— 敏捷设计(六)接口隔离原则
李桐2000
本文为敏捷软件开发-原则、模式与实践系列的一部分。本文对应原书第12章。接口隔离原则(ISP-TheInterfaceSegregationPrinciple)不应该强迫客户依赖于它们不用的方法。这个原则用来处理“胖”接口所具有的缺点。如果类的接口不是内聚的,就表示该类具有“胖”的接口。换句话说,类的“胖”接口可以分解成多组方法。每一组方法都服务于一组不同的客户程序。这样,一些客户程序可以使用一组
- 《敏捷软件开发实践估算与计划》——计划有效原因、指导原则
哥一悠
时刻牢记敏捷计划的目的:以迭代的方式为产品开发的综合问题,即在哪些时间段内用哪些资源来换取哪些功能,为这个问题寻找最优解。所以不难得到敏捷计划之所以有效的原因,当然,指导性原则也不在话下。计划有效原因:1计划在不同层次做出的,并且频繁地重新计划。计划是有用的,但早期的计划不是精确的,会让产品项目开发的不确定性大的多,频繁重新指定计划可以消除这些不确定性。2计划是根据特性而不是根据任务做出的。迫使团
- 强大的销售团队背后 竟然是大数据分析的身影
蓝儿唯美
数据分析
Mark Roberge是HubSpot的首席财务官,在招聘销售职位时使用了大量数据分析。但是科技并没有挤走直觉。
大家都知道数理学家实际上已经渗透到了各行各业。这些热衷数据的人们通过处理数据理解商业流程的各个方面,以重组弱点,增强优势。
Mark Roberge是美国HubSpot公司的首席财务官,HubSpot公司在构架集客营销现象方面出过一份力——因此他也是一位数理学家。他使用数据分析
- Haproxy+Keepalived高可用双机单活
bylijinnan
负载均衡keepalivedhaproxy高可用
我们的应用MyApp不支持集群,但要求双机单活(两台机器:master和slave):
1.正常情况下,只有master启动MyApp并提供服务
2.当master发生故障时,slave自动启动本机的MyApp,同时虚拟IP漂移至slave,保持对外提供服务的IP和端口不变
F5据说也能满足上面的需求,但F5的通常用法都是双机双活,单活的话还没研究过
服务器资源
10.7
- eclipse编辑器中文乱码问题解决
0624chenhong
eclipse乱码
使用Eclipse编辑文件经常出现中文乱码或者文件中有中文不能保存的问题,Eclipse提供了灵活的设置文件编码格式的选项,我们可以通过设置编码 格式解决乱码问题。在Eclipse可以从几个层面设置编码格式:Workspace、Project、Content Type、File
本文以Eclipse 3.3(英文)为例加以说明:
1. 设置Workspace的编码格式:
Windows-&g
- 基础篇--resources资源
不懂事的小屁孩
android
最近一直在做java开发,偶尔敲点android代码,突然发现有些基础给忘记了,今天用半天时间温顾一下resources的资源。
String.xml 字符串资源 涉及国际化问题
http://www.2cto.com/kf/201302/190394.html
string-array
- 接上篇补上window平台自动上传证书文件的批处理问卷
酷的飞上天空
window
@echo off
: host=服务器证书域名或ip,需要和部署时服务器的域名或ip一致 ou=公司名称, o=公司名称
set host=localhost
set ou=localhost
set o=localhost
set password=123456
set validity=3650
set salias=s
- 企业物联网大潮涌动:如何做好准备?
蓝儿唯美
企业
物联网的可能性也许是无限的。要找出架构师可以做好准备的领域然后利用日益连接的世界。
尽管物联网(IoT)还很新,企业架构师现在也应该为一个连接更加紧密的未来做好计划,而不是跟上闸门被打开后的集成挑战。“问题不在于物联网正在进入哪些领域,而是哪些地方物联网没有在企业推进,” Gartner研究总监Mike Walker说。
Gartner预测到2020年物联网设备安装量将达260亿,这些设备在全
- spring学习——数据库(mybatis持久化框架配置)
a-john
mybatis
Spring提供了一组数据访问框架,集成了多种数据访问技术。无论是JDBC,iBATIS(mybatis)还是Hibernate,Spring都能够帮助消除持久化代码中单调枯燥的数据访问逻辑。可以依赖Spring来处理底层的数据访问。
mybatis是一种Spring持久化框架,要使用mybatis,就要做好相应的配置:
1,配置数据源。有很多数据源可以选择,如:DBCP,JDBC,aliba
- Java静态代理、动态代理实例
aijuans
Java静态代理
采用Java代理模式,代理类通过调用委托类对象的方法,来提供特定的服务。委托类需要实现一个业务接口,代理类返回委托类的实例接口对象。
按照代理类的创建时期,可以分为:静态代理和动态代理。
所谓静态代理: 指程序员创建好代理类,编译时直接生成代理类的字节码文件。
所谓动态代理: 在程序运行时,通过反射机制动态生成代理类。
一、静态代理类实例:
1、Serivce.ja
- Struts1与Struts2的12点区别
asia007
Struts1与Struts2
1) 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能。Struts 2提供一个ActionSupport基类去实现常用的接口。即使Action接口不是必须实现的,只有一个包含execute方法的P
- 初学者要多看看帮助文档 不要用js来写Jquery的代码
百合不是茶
jqueryjs
解析json数据的时候需要将解析的数据写到文本框中, 出现了用js来写Jquery代码的问题;
1, JQuery的赋值 有问题
代码如下: data.username 表示的是: 网易
$("#use
- 经理怎么和员工搞好关系和信任
bijian1013
团队项目管理管理
产品经理应该有坚实的专业基础,这里的基础包括产品方向和产品策略的把握,包括设计,也包括对技术的理解和见识,对运营和市场的敏感,以及良好的沟通和协作能力。换言之,既然是产品经理,整个产品的方方面面都应该能摸得出门道。这也不懂那也不懂,如何让人信服?如何让自己懂?就是不断学习,不仅仅从书本中,更从平时和各种角色的沟通
- 如何为rich:tree不同类型节点设置右键菜单
sunjing
contextMenutreeRichfaces
组合使用target和targetSelector就可以啦,如下: <rich:tree id="ruleTree" value="#{treeAction.ruleTree}" var="node" nodeType="#{node.type}"
selectionChangeListener=&qu
- 【Redis二】Redis2.8.17搭建主从复制环境
bit1129
redis
开始使用Redis2.8.17
Redis第一篇在Redis2.4.5上搭建主从复制环境,对它的主从复制的工作机制,真正的惊呆了。不知道Redis2.8.17的主从复制机制是怎样的,Redis到了2.4.5这个版本,主从复制还做成那样,Impossible is nothing! 本篇把主从复制环境再搭一遍看看效果,这次在Unbuntu上用官方支持的版本。 Ubuntu上安装Red
- JSONObject转换JSON--将Date转换为指定格式
白糖_
JSONObject
项目中,经常会用JSONObject插件将JavaBean或List<JavaBean>转换为JSON格式的字符串,而JavaBean的属性有时候会有java.util.Date这个类型的时间对象,这时JSONObject默认会将Date属性转换成这样的格式:
{"nanos":0,"time":-27076233600000,
- JavaScript语言精粹读书笔记
braveCS
JavaScript
【经典用法】:
//①定义新方法
Function .prototype.method=function(name, func){
this.prototype[name]=func;
return this;
}
//②给Object增加一个create方法,这个方法创建一个使用原对
- 编程之美-找符合条件的整数 用字符串来表示大整数避免溢出
bylijinnan
编程之美
import java.util.LinkedList;
public class FindInteger {
/**
* 编程之美 找符合条件的整数 用字符串来表示大整数避免溢出
* 题目:任意给定一个正整数N,求一个最小的正整数M(M>1),使得N*M的十进制表示形式里只含有1和0
*
* 假设当前正在搜索由0,1组成的K位十进制数
- 读书笔记
chengxuyuancsdn
读书笔记
1、Struts访问资源
2、把静态参数传递给一个动作
3、<result>type属性
4、s:iterator、s:if c:forEach
5、StringBuilder和StringBuffer
6、spring配置拦截器
1、访问资源
(1)通过ServletActionContext对象和实现ServletContextAware,ServletReque
- [通讯与电力]光网城市建设的一些问题
comsci
问题
信号防护的问题,前面已经说过了,这里要说光网交换机与市电保障的关系
我们过去用的ADSL线路,因为是电话线,在小区和街道电力中断的情况下,只要在家里用笔记本电脑+蓄电池,连接ADSL,同样可以上网........
 
- oracle 空间RESUMABLE
daizj
oracle空间不足RESUMABLE错误挂起
空间RESUMABLE操作 转
Oracle从9i开始引入这个功能,当出现空间不足等相关的错误时,Oracle可以不是马上返回错误信息,并回滚当前的操作,而是将操作挂起,直到挂起时间超过RESUMABLE TIMEOUT,或者空间不足的错误被解决。
这一篇简单介绍空间RESUMABLE的例子。
第一次碰到这个特性是在一次安装9i数据库的过程中,在利用D
- 重构第一次写的线程池
dieslrae
线程池 python
最近没有什么学习欲望,修改之前的线程池的计划一直搁置,这几天比较闲,还是做了一次重构,由之前的2个类拆分为现在的4个类.
1、首先是工作线程类:TaskThread,此类为一个工作线程,用于完成一个工作任务,提供等待(wait),继续(proceed),绑定任务(bindTask)等方法
#!/usr/bin/env python
# -*- coding:utf8 -*-
- C语言学习六指针
dcj3sjt126com
c
初识指针,简单示例程序:
/*
指针就是地址,地址就是指针
地址就是内存单元的编号
指针变量是存放地址的变量
指针和指针变量是两个不同的概念
但是要注意: 通常我们叙述时会把指针变量简称为指针,实际它们含义并不一样
*/
# include <stdio.h>
int main(void)
{
int * p; // p是变量的名字, int *
- yii2 beforeSave afterSave beforeDelete
dcj3sjt126com
delete
public function afterSave($insert, $changedAttributes)
{
parent::afterSave($insert, $changedAttributes);
if($insert) {
//这里是新增数据
} else {
//这里是更新数据
}
}
 
- timertask
shuizhaosi888
timertask
java.util.Timer timer = new java.util.Timer(true);
// true 说明这个timer以daemon方式运行(优先级低,
// 程序结束timer也自动结束),注意,javax.swing
// 包中也有一个Timer类,如果import中用到swing包,
// 要注意名字的冲突。
TimerTask task = new
- Spring Security(13)——session管理
234390216
sessionSpring Security攻击保护超时
session管理
目录
1.1 检测session超时
1.2 concurrency-control
1.3 session 固定攻击保护
 
- 公司项目NODEJS实践0.3[ mongo / session ...]
逐行分析JS源代码
mongodbsessionnodejs
http://www.upopen.cn
一、前言
书接上回,我们搭建了WEB服务端路由、模板等功能,完成了register 通过ajax与后端的通信,今天主要完成数据与mongodb的存取,实现注册 / 登录 /
- pojo.vo.po.domain区别
LiaoJuncai
javaVOPOJOjavabeandomain
POJO = "Plain Old Java Object",是MartinFowler等发明的一个术语,用来表示普通的Java对象,不是JavaBean, EntityBean 或者 SessionBean。POJO不但当任何特殊的角色,也不实现任何特殊的Java框架的接口如,EJB, JDBC等等。
即POJO是一个简单的普通的Java对象,它包含业务逻辑
- Windows Error Code
OhMyCC
windows
0 操作成功完成.
1 功能错误.
2 系统找不到指定的文件.
3 系统找不到指定的路径.
4 系统无法打开文件.
5 拒绝访问.
6 句柄无效.
7 存储控制块被损坏.
8 存储空间不足, 无法处理此命令.
9 存储控制块地址无效.
10 环境错误.
11 试图加载格式错误的程序.
12 访问码无效.
13 数据无效.
14 存储器不足, 无法完成此操作.
15 系
- 在storm集群环境下发布Topology
roadrunners
集群stormtopologyspoutbolt
storm的topology设计和开发就略过了。本章主要来说说如何在storm的集群环境中,通过storm的管理命令来发布和管理集群中的topology。
1、打包
打包插件是使用maven提供的maven-shade-plugin,详细见maven-shade-plugin。
<plugin>
<groupId>org.apache.maven.
- 为什么不允许代码里出现“魔数”
tomcat_oracle
java
在一个新项目中,我最先做的事情之一,就是建立使用诸如Checkstyle和Findbugs之类工具的准则。目的是制定一些代码规范,以及避免通过静态代码分析就能够检测到的bug。 迟早会有人给出案例说这样太离谱了。其中的一个案例是Checkstyle的魔数检查。它会对任何没有定义常量就使用的数字字面量给出警告,除了-1、0、1和2。 很多开发者在这个检查方面都有问题,这可以从结果
- zoj 3511 Cake Robbery(线段树)
阿尔萨斯
线段树
题目链接:zoj 3511 Cake Robbery
题目大意:就是有一个N边形的蛋糕,切M刀,从中挑选一块边数最多的,保证没有两条边重叠。
解题思路:有多少个顶点即为有多少条边,所以直接按照切刀切掉点的个数排序,然后用线段树维护剩下的还有哪些点。
#include <cstdio>
#include <cstring>
#include <vector&