- 【软件构造笔记】2. SCM和VCS软件配置管理和版本控制工具
纠结本婕
软件构造java
1.SCM(软件配置管理)软件配置管理:追踪和控制软件的变化软件配置:包括代码、数据和文档(软件的任何组成部分(源代码、数据、文档、硬件、各种环境)都可能随着软件生命周期的时间而更新。)软件配置项SCI:软件中发生变化的基本单元(例如:文件)基线Baseline:软件持续变化过程中的稳定时刻(例如:对外发布的版本)CMDB配置管理数据库:存储软件的各项配置随时间发生变化的信息+基线2.VCS(版本
- 系统架构25 - 软件架构设计(4)
银龙丶裁决
软考系统架构系统架构
软件架构复用软件产品线定义分类原因复用对象及形式基本过程软件产品线软件产品线是指一组软件密集型系统,它们共享一个公共的、可管理的特性集,满足某个特定市场或任务的具体需要,是以规定的方式用公共的核心资产集成开发出来的。即围绕核心资产库进行管理、复用、集成新的系统。定义软件复用是指系统化的软件开发过程:开发一组基本的软件构造模块,以覆盖不同的需求/体系结构之间的相似性,从而提高系统开发的效率、质量和性
- 软构复习3 软件构造过程与版本管理
kbforever8
软件工程
一、SDLC(软件开发的生命周期)从无到有,从1到n二、软件流程模型:两类基本类型:线性过程,迭代过程现有的软件流程模型:瀑布过程:•线性推进•阶段划分清楚•整体推进•无迭代•管理简单•无法适应需求增加/变化增量过程(非迭代):•线性推进•增量式(多个瀑布的串行)•无迭代•比较容易适应需求的增加V型模型:用于验证,是瀑布式的延伸原型过程(迭代)迭代:开发出来之后由用户试用/评审,发现问题反馈给开发
- 软件构造之面向可复用性和可维护性的设计模式
软件构造专用账号
对应课程第11课,面向可复用性和可维护性的设计模式这节课主要介绍了三种类型的设计模式1.Creationalpatterns创建型模式:焦距于对象创建的过程。2.Structuralpatterns结构型模式:侧重处理类与对象之间的构成关系。3.Behavioralpatterns行为类模式:描述了对类与对象的交互方式。一.创造型模式工厂方法模式factorymethodpattern适用时机:当
- 【DDD】学习笔记-运用领域场景分析提炼领域知识
码农丁丁
软件工程#领域驱动设计DDD微服务领域驱动设计领域场景分析
领域场景分析的6W模型在软件构造过程中,我们必须正确地理解领域,一种生动的方式是通过“场景”来展现领域逻辑。领域专家或业务分析师从领域中提炼出“场景”,就好像是从抽象的三维球体中,切割出具体可见的一片,然后以这一片场景为舞台,上演各种角色之间的悲欢离合。每个角色的行为皆在业务流程的指引下展开活动,并受到业务规则的约束。当我们在描述场景时,就好像在讲故事,又好似在拍电影。组成场景的要素常常被称之为6
- 软件构造|学习心得01 静态检查
葫八哥
目标:•学习静态系列•了解好的软件的三大特性冰雹序列“冰雹序列”的定义:从正整数n开始,如果n是偶数,则下一个数是n/2,否则下一个数是3n+1,直到n等于1。这里有几个例子:由于存在3n+1这种变化,所以序列元素的大小可能会忽高忽低——这也是“冰雹序列”名称的来历,冰雹在落地前会在云层中忽上忽下。那么所有的序列都会最终“落地”变到1吗?(这个猜想称为考拉兹猜想。)计算冰雹序列下面的代码用于打印冰
- Git bash使用方法(简单,有图有代码上手快)
kunjar
软件构造git
目录前言一、打开要上传的文件夹二、初始化git仓库三、打开自己的git仓库地址四、身份认证(登录git)五.上传文件夹中的文件六、添加日志七、push相应文件前言2021春季的软件构造实验课,所有的代码以及库文件最终都需要通过git上传到远端的指定仓库中,由于大多数同学初次接触git,上手慢,为此写一篇博客记录知识的同时也方便大家,当然前提是要下载好git客户端以及梯子工具。一、打开要上传的文件夹
- 软件构造知识点复习整理(4-5章)
HIT_1803007
▪代码可理解性/可读性可理解性代码的可读性例如:是否遵循命名惯例?它是自我描述和/或评论很好吗?事物(例如,课程)是否一次只做一件事或多件事?这些方法是长还是短,并且可以在一次阅读中理解它们的意图,还是需要进行大量的屏幕盯着和白板分析?别名:可读性可读性是指人类读者能够轻松理解源代码的目的,控制流程和操作。它影响上述质量方面,包括便携性,可用性和最重要的可维护性。可读性非常重要,因为程序员大部分时
- 软件构造|工厂方法模式与抽象工厂模式
葫八哥
模式(FactoryMethod)的定义:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。满足创建型模式中所要求的“创建与使用相分离”的特点。我们把被创建的对象称为“产品”,把创建产品的对象称为“工厂”。如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫“简单工厂模式”,它不属于GoF的23种经典设计模式,它的缺点是增加新产品时会违背“开闭原则”。模式的3种
- 软件构造|软件复用技术
葫八哥
作业:从类、API、框架三个层面学习如何设计可复用软件实体的具体技术并撰写学习心得学习心得20200613软件复用软件复用(SoftWareReuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档
- 中北大学 软件构造 U+及上课代码详解
你怎么睡得着的!
unity
作业11.数据类型可分为两类:(原子类型)、结构类型。2.(数据结构)是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合3.代码重构指的是改变程序的(结构)而不改变其行为,以便提高代码的可读性、易修改性等。4.软件实现与通常的程序设计的主要区别是软件的(软件的集成与测试)5.按照教材的说法,敏捷开发创造了一些新的技术或实践,如测试驱动开发等,但不包括(软件体系结构)6
- 在接口实现类中,加不加@Override的区别
穗余
java
最近的软件构造实验经常需要设计接口,我们知道@Override注解是告诉编译器,下面的方法是重写父类的方法,那么单纯实现接口的方法需不需要加@Override呢?定义一个类实现接口,使用idea时,声明implements之后会报错,提示需要实现接口方法,根据idea的提示自动修改,我们发现它会自动添加上@Override把@Override注释掉,也不会报错所以单纯实现接口的方法需不需要加@Ov
- HIT软件构造实验1(lab1)
Water_tundra_
javaidea
目录1实验目标概述.........................................................................................................................................12实验环境配置..............................................
- 软件构造——Git 基本使用学习记录
SY-Liu
git
本文是本人对Git基本使用的学习记录,参考了Git官方网站的文档。首先我们将说明什么是Git,然后我们来说明它的使用方法。Git是什么?Git是一个分布式的版本控制系统。那么什么是版本控制系统,分布式又是什么?关于版本控制什么是“版本控制”?我为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。有了版本控制系统你就可以将选定的文件回溯到之前的状态,你还可
- 设计模式—开闭原则
吉量*
设计模式设计模式开闭原则java
1.背景伯特兰·迈耶一般被认为是最早提出开闭原则这一术语的人,在他1988年发行的《面向对象软件构造》中给出。这一想法认为一旦完成,一个类的实现只应该因错误而修改,新的或者改变的特性应该通过新建不同的类实现。新建的类可以通过继承的方式来重用原类的代码。衍生的子类可以或不可以拥有和原类相同的接口。梅耶的定义提倡实现继承。具体实现可以通过继承方式来重用,但是接口规格不必如此。已存在的实现对于修改是封闭
- Unity 三维场景的搭建 软件构造实验报告
你怎么睡得着的!
unity游戏引擎
实验2:仿真系统功能实现1.实验目的(1)熟悉在Unity中设置仿真场景;(2)熟悉在Unity中C#语言的使用;(3)熟悉仿真功能的实现。2.实验内容新建一个仿真场景,完成下列功能:(1)使用Unity的基本建模功能设置一些三维场景(自行发挥想象,进行建模设计)(2)实现漫游功能,可以在场景中键盘控制前后左右移动,鼠标控制旋转,完成基本的场景漫游功能。(自行设计)(3)使用射线,实现获取鼠标的点
- Unity UI设计 软件构造实验报告
你怎么睡得着的!
unityui游戏引擎
实验1:仿真系统的UI主界面设计1.实验目的(1)熟悉Unity中UI界面的设计与编写;(2)熟悉UI界面中场景转换,UI与场景内容相互关联的方式。(3)熟悉Unity中MySQL数据库的操作2.实验内容新建一个Unity场景,在此场景中实现如下功能:(1)自行设计一个登录、注册UI界面;(2)添加数据库的动态链接库文件,提前设计数据库表格(自行设计);(3)连接数据库,实现增、删、改、查等数据库
- 软件构造知识点复习整理(3章)
HIT_1803007
Java的基本数据类型和对象数据类型:Object类是所有类的基类,所有类默认都继承了Object类。基本数据类型的包装类:Boolean,Integer,Short,Long,Character,Float,Double▪静态类型检查、动态类型检查Java是静态类型的语言,在编译时需要知道所有变量的类型,编译器可以推断所有表达式的类型。而在像Python这样的动态类型语言中,这种检查会延迟到程序
- 软件工程导论中各种图形的绘制——从项目前期到需求分析
小小白和TA的UU们
备战软考
目录1工具2项目前期2.1组织分析2.2业务分析声明:本文部分图文参考了超星学习通《软件构造的艺术——软件工程导论》课程:https://mooc1-1.chaoxing.com/mycourse/studentstudy?chapterId=306145265&courseId=99675365&clazzid=11984542&enc=560cacc774dcf03a69427779f4eaf
- 为IntelliJ IDEA 配置Git环境中遇到的问题
此号已废20
gitintellij-idea
前言因为学校的软件构造课程,需要配置Git环境,用以在GitHub提交实验课作业等。在配置过程中,遇到一些问题,这里进行记录。问题一、关于Git安装时的默认编辑器选择?下载及安装Git版本为Git-2.35.3-64-bit.exe下载网址为https://git-scm.com/download/win安装主要过程参考Git详细安装教程(详解Git安装过程的每一个步骤)https://blog.
- 分布式计算环境复习要点
dhyms482645
数据库大数据区块链
名词解释概念分布式系统:由多个计算机(IP地址)及其上软件构件(端口)所组成,通过网络互联,通过消息进行通信和协同分布式计算:Distributedcomputing,围绕分布式系统的构造和运行机理展开研究。物理分布+逻辑整体分布式计算环境:大型分布计算软件构造和运行的基石。封装分布式系统共性问题的解决方案,支持分布式系统的开发、集成、运行及管理的软件基础设施,以及中间件、应用程序框架、应用服务器
- 7种软件开发原则
chanyi
1、开闭原则(openclosedprinciple):1988年勃兰特梅耶在自己的书《面向对象软件构造》中提出的。对于软件实体(模块,类,接口,方法)来说,对扩展开放,对修改关闭遵循这样的原则好处:测试简单,只需要测试新的,旧的功能没有修改代码,所以不用测试可复用性可扩展性实现的方法:抽象约束,封装变化相对稳定的抽象层用接口变化相同的封装到一个类里2、里氏替换原则(liskovsubstitut
- 基于医院信息管理系统案例的软件构造分析
一只疯猫
论文医院信息管理系统软件构造数据库E-R图
目录项目论证和计划1.1系统调查1.2需求分析1.2.1系统功能分析1.2.2系统性能分析1.3开发框架第2章总体设计2.1可行性研究报告2.1.1技术可行性2.1.2经济可行性2.1.3管理可行性2.1.4开发环境可行性2.2系统设计2.2.1总体设计2.2.2概要设计2.2.2.1功能模块图2.3数据库设计2.3.1数据库分析2.3.2系统E-R图2.3.3创建数据库第3章测试与维护3.1测试
- Git&Github自学笔记
予宸~
笔记gitgithub
Git&Github学习笔记**由于软件构造课程需要,学习使用git,以下作为学习笔记.一、Git初始化及仓库创建和操作二.分支三.git远程仓库管理四.SSH免密登录五.githubpages搭建网站一、Git初始化及仓库创建和操作1.基本信息设置(设置签名)命令项目级别/仓库级别:仅在本地仓库范围内有效gitconfig系统用户级别:登录当前操作系统的用户范围gitconfig–globall
- 可逆计算:下一代软件构造理论
canonical-entropy
可逆计算java系统架构软件工程
可逆计算:下一代软件构造理论众所周知,计算机科学得以存在的基石是两个基本理论:图灵于1936年提出的图灵机理论和丘奇同年早期发表的Lambda演算理论。这两个理论奠定了所谓通用计算(UniversalComputation)的概念基础,描绘了具有相同计算能力(图灵完备),但形式上却南辕北辙、大相径庭的两条技术路线。如果把这两种理论看作是上帝所展示的世界本源面貌的两个极端,那么是否存在一条更加中庸灵
- 【GO入门】环境配置及Vscode配置
王多头发
开发语言golang
1GO环境配置欢迎来到Go的世界,让我们开始探索吧!Go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。它具有以下特点:它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序。Go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。Go是静态类型的语言,它的类型系统没有层级。因此用户不需要在定义类型之间的关系上花费时间,这样感觉起来比典型的
- 1173710108软件构造心得——当看剧看到敏捷开发
weixin_40565004
软件构造
当看剧看到敏捷开发——软件过程去年看了一部有关程序猿的好剧——《硅谷》(推荐),当时小贾提出要使用敏捷开发体系,当时我还以为是他自己的创造,直到我学习了软件构造,当敏捷开发出现在ppt里的时候我大吃一惊!!!而这个是PPT里的实际上敏捷开发是一种软件的过程,是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件过程有以下模型:【摘抄自清华大学出版社《软件工程》张海藩
- 软件工程与计算总结(二十二)软件开发过程模型
郝YH是人间理想
#软件工程与计算软件工程软件需求考研单元测试软件过程
(自顶向下,逐层细化)目录一.软件开发的典型阶段1.需求工程2.软件设计3.软件构造4.软件测试5.软件交付6.软件维护二.软件生命周期模型三.软件过程模型四.构建-修复模型五.瀑布模型六.增量迭代模型七.演化模型八.原型模型九.螺旋模型十.Rational统一过程十一.敏捷过程一.软件开发的典型阶段1.需求工程目标:建立能够妥善解决用户问题的软件系统解决方案,简单地说就是定义“软件系统要完成哪些
- 软件设计原则-开闭原则讲解以及代码示例
小电玩
软件设计原则开闭原则java
开闭原则一,介绍1.前言开闭原则(Open-ClosedPrinciple,OCP)是面向对象设计中的一条重要原则,它由BertrandMeyer在其著作《面向对象软件构造》中提出,并成为SOLID原则之一。开闭原则的核心思想是:软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。简单来说,就是在不修改已有代码的情况下,通过扩展来实现新的功能或变化。2.何时使用开闭原则当需要添加新功能时:如果
- 【软件构造】正则表达式合法性检测
渊视凝深
软件构造正则表达式
复习时见到了这个问题,帮助我们了解如何使用assert对正则表达式进行合法性检测。首先开启assert;IDEA中EditConfigurations中要加入参数:-ea-Dfile.encoding=UTF-8来使用assertPattern是对正则表达式进行编译之后得到的结果Matcher利用Pattern对输入字符串进行解析Patternp=Pattern.compile(Stringreg
- LeetCode[Math] - #66 Plus One
Cwind
javaLeetCode题解AlgorithmMath
原题链接:#66 Plus One
要求:
给定一个用数字数组表示的非负整数,如num1 = {1, 2, 3, 9}, num2 = {9, 9}等,给这个数加上1。
注意:
1. 数字的较高位存在数组的头上,即num1表示数字1239
2. 每一位(数组中的每个元素)的取值范围为0~9
难度:简单
分析:
题目比较简单,只须从数组
- JQuery中$.ajax()方法参数详解
AILIKES
JavaScriptjsonpjqueryAjaxjson
url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。
type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持。
timeout: 要求为Number类型的参数,设置请求超时时间(毫秒)。此设置将覆盖$.ajaxSetup()方法的全局
- JConsole & JVisualVM远程监视Webphere服务器JVM
Kai_Ge
JVisualVMJConsoleWebphere
JConsole是JDK里自带的一个工具,可以监测Java程序运行时所有对象的申请、释放等动作,将内存管理的所有信息进行统计、分析、可视化。我们可以根据这些信息判断程序是否有内存泄漏问题。
使用JConsole工具来分析WAS的JVM问题,需要进行相关的配置。
首先我们看WAS服务器端的配置.
1、登录was控制台https://10.4.119.18
- 自定义annotation
120153216
annotation
Java annotation 自定义注释@interface的用法 一、什么是注释
说起注释,得先提一提什么是元数据(metadata)。所谓元数据就是数据的数据。也就是说,元数据是描述数据的。就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义。而J2SE5.0中提供的注释就是java源代码的元数据,也就是说注释是描述java源
- CentOS 5/6.X 使用 EPEL YUM源
2002wmj
centos
CentOS 6.X 安装使用EPEL YUM源1. 查看操作系统版本[root@node1 ~]# uname -a Linux node1.test.com 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [root@node1 ~]#
- 在SQLSERVER中查找缺失和无用的索引SQL
357029540
SQL Server
--缺失的索引
SELECT avg_total_user_cost * avg_user_impact * ( user_scans + user_seeks ) AS PossibleImprovement ,
last_user_seek ,
 
- Spring3 MVC 笔记(二) —json+rest优化
7454103
Spring3 MVC
接上次的 spring mvc 注解的一些详细信息!
其实也是一些个人的学习笔记 呵呵!
- 替换“\”的时候报错Unexpected internal error near index 1 \ ^
adminjun
java“\替换”
发现还是有些东西没有刻子脑子里,,过段时间就没什么概念了,所以贴出来...以免再忘...
在拆分字符串时遇到通过 \ 来拆分,可是用所以想通过转义 \\ 来拆分的时候会报异常
public class Main {
/*
- POJ 1035 Spell checker(哈希表)
aijuans
暴力求解--哈希表
/*
题意:输入字典,然后输入单词,判断字典中是否出现过该单词,或者是否进行删除、添加、替换操作,如果是,则输出对应的字典中的单词
要求按照输入时候的排名输出
题解:建立两个哈希表。一个存储字典和输入字典中单词的排名,一个进行最后输出的判重
*/
#include <iostream>
//#define
using namespace std;
const int HASH =
- 通过原型实现javascript Array的去重、最大值和最小值
ayaoxinchao
JavaScriptarrayprototype
用原型函数(prototype)可以定义一些很方便的自定义函数,实现各种自定义功能。本次主要是实现了Array的去重、获取最大值和最小值。
实现代码如下:
<script type="text/javascript">
Array.prototype.unique = function() {
var a = {};
var le
- UIWebView实现https双向认证请求
bewithme
UIWebViewhttpsObjective-C
什么是HTTPS双向认证我已在先前的博文 ASIHTTPRequest实现https双向认证请求
中有讲述,不理解的读者可以先复习一下。本文是用UIWebView来实现对需要客户端证书验证的服务请求,网上有些文章中有涉及到此内容,但都只言片语,没有讲完全,更没有完整的代码,让人困扰不已。但是此知
- NoSQL数据库之Redis数据库管理(Redis高级应用之事务处理、持久化操作、pub_sub、虚拟内存)
bijian1013
redis数据库NoSQL
3.事务处理
Redis对事务的支持目前不比较简单。Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。当一个client在一个连接中发出multi命令时,这个连接会进入一个事务上下文,该连接后续的命令不会立即执行,而是先放到一个队列中,当执行exec命令时,redis会顺序的执行队列中
- 各数据库分页sql备忘
bingyingao
oraclesql分页
ORACLE
下面这个效率很低
SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM IPAY_RCD_FS_RETURN order by id desc) A ) WHERE RN <20;
下面这个效率很高
SELECT A.*, ROWNUM RN FROM (SELECT * FROM IPAY_RCD_
- 【Scala七】Scala核心一:函数
bit1129
scala
1. 如果函数体只有一行代码,则可以不用写{},比如
def print(x: Int) = println(x)
一行上的多条语句用分号隔开,则只有第一句属于方法体,例如
def printWithValue(x: Int) : String= println(x); "ABC"
上面的代码报错,因为,printWithValue的方法
- 了解GHC的factorial编译过程
bookjovi
haskell
GHC相对其他主流语言的编译器或解释器还是比较复杂的,一部分原因是haskell本身的设计就不易于实现compiler,如lazy特性,static typed,类型推导等。
关于GHC的内部实现有篇文章说的挺好,这里,文中在RTS一节中详细说了haskell的concurrent实现,里面提到了green thread,如果熟悉Go语言的话就会发现,ghc的concurrent实现和Go有点类
- Java-Collections Framework学习与总结-LinkedHashMap
BrokenDreams
LinkedHashMap
前面总结了java.util.HashMap,了解了其内部由散列表实现,每个桶内是一个单向链表。那有没有双向链表的实现呢?双向链表的实现会具备什么特性呢?来看一下HashMap的一个子类——java.util.LinkedHashMap。
- 读《研磨设计模式》-代码笔记-抽象工厂模式-Abstract Factory
bylijinnan
abstract
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
package design.pattern;
/*
* Abstract Factory Pattern
* 抽象工厂模式的目的是:
* 通过在抽象工厂里面定义一组产品接口,方便地切换“产品簇”
* 这些接口是相关或者相依赖的
- 压暗面部高光
cherishLC
PS
方法一、压暗高光&重新着色
当皮肤很油又使用闪光灯时,很容易在面部形成高光区域。
下面讲一下我今天处理高光区域的心得:
皮肤可以分为纹理和色彩两个属性。其中纹理主要由亮度通道(Lab模式的L通道)决定,色彩则由a、b通道确定。
处理思路为在保持高光区域纹理的情况下,对高光区域着色。具体步骤为:降低高光区域的整体的亮度,再进行着色。
如果想简化步骤,可以只进行着色(参看下面的步骤1
- Java VisualVM监控远程JVM
crabdave
visualvm
Java VisualVM监控远程JVM
JDK1.6开始自带的VisualVM就是不错的监控工具.
这个工具就在JAVA_HOME\bin\目录下的jvisualvm.exe, 双击这个文件就能看到界面
通过JMX连接远程机器, 需要经过下面的配置:
1. 修改远程机器JDK配置文件 (我这里远程机器是linux).
 
- Saiku去掉登录模块
daizj
saiku登录olapBI
1、修改applicationContext-saiku-webapp.xml
<security:intercept-url pattern="/rest/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<security:intercept-url pattern=&qu
- 浅析 Flex中的Focus
dsjt
htmlFlexFlash
关键字:focus、 setFocus、 IFocusManager、KeyboardEvent
焦点、设置焦点、获得焦点、键盘事件
一、无焦点的困扰——组件监听不到键盘事件
原因:只有获得焦点的组件(确切说是InteractiveObject)才能监听到键盘事件的目标阶段;键盘事件(flash.events.KeyboardEvent)参与冒泡阶段,所以焦点组件的父项(以及它爸
- Yii全局函数使用
dcj3sjt126com
yii
由于YII致力于完美的整合第三方库,它并没有定义任何全局函数。yii中的每一个应用都需要全类别和对象范围。例如,Yii::app()->user;Yii::app()->params['name'];等等。我们可以自行设定全局函数,使得代码看起来更加简洁易用。(原文地址)
我们可以保存在globals.php在protected目录下。然后,在入口脚本index.php的,我们包括在
- 设计模式之单例模式二(解决无序写入的问题)
come_for_dream
单例模式volatile乱序执行双重检验锁
在上篇文章中我们使用了双重检验锁的方式避免懒汉式单例模式下由于多线程造成的实例被多次创建的问题,但是因为由于JVM为了使得处理器内部的运算单元能充分利用,处理器可能会对输入代码进行乱序执行(Out Of Order Execute)优化,处理器会在计算之后将乱序执行的结果进行重组,保证该
- 程序员从初级到高级的蜕变
gcq511120594
框架工作PHPandroidhtml5
软件开发是一个奇怪的行业,市场远远供不应求。这是一个已经存在多年的问题,而且随着时间的流逝,愈演愈烈。
我们严重缺乏能够满足需求的人才。这个行业相当年轻。大多数软件项目是失败的。几乎所有的项目都会超出预算。我们解决问题的最佳指导方针可以归结为——“用一些通用方法去解决问题,当然这些方法常常不管用,于是,唯一能做的就是不断地尝试,逐个看看是否奏效”。
现在我们把淫浸代码时间超过3年的开发人员称为
- Reverse Linked List
hcx2013
list
Reverse a singly linked list.
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
p
- Spring4.1新特性——数据库集成测试
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- C# Ajax上传图片同时生成微缩图(附Demo)
liyonghui160com
1.Ajax无刷新上传图片,详情请阅我的这篇文章。(jquery + c# ashx)
2.C#位图处理 System.Drawing。
3.最新demo支持IE7,IE8,Fir
- Java list三种遍历方法性能比较
pda158
java
从c/c++语言转向java开发,学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入1千万条记录,然后遍历ArrayList,发现了一个奇怪的现象,测试代码例如以下:
package com.hisense.tiger.list;
import java.util.ArrayList;
import java.util.Iterator;
- 300个涵盖IT各方面的免费资源(上)——商业与市场篇
shoothao
seo商业与市场IT资源免费资源
A.网站模板+logo+服务器主机+发票生成
HTML5 UP:响应式的HTML5和CSS3网站模板。
Bootswatch:免费的Bootstrap主题。
Templated:收集了845个免费的CSS和HTML5网站模板。
Wordpress.org|Wordpress.com:可免费创建你的新网站。
Strikingly:关注领域中免费无限的移动优
- localStorage、sessionStorage
uule
localStorage
W3School 例子
HTML5 提供了两种在客户端存储数据的新方法:
localStorage - 没有时间限制的数据存储
sessionStorage - 针对一个 session 的数据存储
之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不