- 【软件构造笔记】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
- ios内付费
374016526
ios内付费
近年来写了很多IOS的程序,内付费也用到不少,使用IOS的内付费实现起来比较麻烦,这里我写了一个简单的内付费包,希望对大家有帮助。
具体使用如下:
这里的sender其实就是调用者,这里主要是为了回调使用。
[KuroStoreApi kuroStoreProductId:@"产品ID" storeSender:self storeFinishCallBa
- 20 款优秀的 Linux 终端仿真器
brotherlamp
linuxlinux视频linux资料linux自学linux教程
终端仿真器是一款用其它显示架构重现可视终端的计算机程序。换句话说就是终端仿真器能使哑终端看似像一台连接上了服务器的客户机。终端仿真器允许最终用户用文本用户界面和命令行来访问控制台和应用程序。(LCTT 译注:终端仿真器原意指对大型机-哑终端方式的模拟,不过在当今的 Linux 环境中,常指通过远程或本地方式连接的伪终端,俗称“终端”。)
你能从开源世界中找到大量的终端仿真器,它们
- Solr Deep Paging(solr 深分页)
eksliang
solr深分页solr分页性能问题
转载请出自出处:http://eksliang.iteye.com/blog/2148370
作者:eksliang(ickes) blg:http://eksliang.iteye.com/ 概述
长期以来,我们一直有一个深分页问题。如果直接跳到很靠后的页数,查询速度会比较慢。这是因为Solr的需要为查询从开始遍历所有数据。直到Solr的4.7这个问题一直没有一个很好的解决方案。直到solr
- 数据库面试题
18289753290
面试题 数据库
1.union ,union all
网络搜索出的最佳答案:
union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。
Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All:对两个结果集进行并集操作,包括重复行,不进行排序;
2.索引有哪些分类?作用是
- Android TV屏幕适配
酷的飞上天空
android
先说下现在市面上TV分辨率的大概情况
两种分辨率为主
1.720标清,分辨率为1280x720.
屏幕尺寸以32寸为主,部分电视为42寸
2.1080p全高清,分辨率为1920x1080
屏幕尺寸以42寸为主,此分辨率电视屏幕从32寸到50寸都有
适配遇到问题,已1080p尺寸为例:
分辨率固定不变,屏幕尺寸变化较大。
如:效果图尺寸为1920x1080,如果使用d
- Timer定时器与ActionListener联合应用
永夜-极光
java
功能:在控制台每秒输出一次
代码:
package Main;
import javax.swing.Timer;
import java.awt.event.*;
public class T {
private static int count = 0;
public static void main(String[] args){
- Ubuntu14.04系统Tab键不能自动补全问题解决
随便小屋
Ubuntu 14.04
Unbuntu 14.4安装之后就在终端中使用Tab键不能自动补全,解决办法如下:
1、利用vi编辑器打开/etc/bash.bashrc文件(需要root权限)
sudo vi /etc/bash.bashrc
接下来会提示输入密码
2、找到文件中的下列代码
#enable bash completion in interactive shells
#if
- 学会人际关系三招 轻松走职场
aijuans
职场
要想成功,仅有专业能力是不够的,处理好与老板、同事及下属的人际关系也是门大学问。如何才能在职场如鱼得水、游刃有余呢?在此,教您简单实用的三个窍门。
第一,多汇报
最近,管理学又提出了一个新名词“追随力”。它告诉我们,做下属最关键的就是要多请示汇报,让上司随时了解你的工作进度,有了新想法也要及时建议。不知不觉,你就有了“追随力”,上司会越来越了解和信任你。
第二,勤沟通
团队的力
- 《O2O:移动互联网时代的商业革命》读书笔记
aoyouzi
读书笔记
移动互联网的未来:碎片化内容+碎片化渠道=各式精准、互动的新型社会化营销。
O2O:Online to OffLine 线上线下活动
O2O就是在移动互联网时代,生活消费领域通过线上和线下互动的一种新型商业模式。
手机二维码本质:O2O商务行为从线下现实世界到线上虚拟世界的入口。
线上虚拟世界创造的本意是打破信息鸿沟,让不同地域、不同需求的人
- js实现图片随鼠标滚动的效果
百合不是茶
JavaScript滚动属性的获取图片滚动属性获取页面加载
1,获取样式属性值
top 与顶部的距离
left 与左边的距离
right 与右边的距离
bottom 与下边的距离
zIndex 层叠层次
例子:获取左边的宽度,当css写在body标签中时
<div id="adver" style="position:absolute;top:50px;left:1000p
- ajax同步异步参数async
bijian1013
jqueryAjaxasync
开发项目开发过程中,需要将ajax的返回值赋到全局变量中,然后在该页面其他地方引用,因为ajax异步的原因一直无法成功,需将async:false,使其变成同步的。
格式:
$.ajax({ type: 'POST', ur
- Webx3框架(1)
Bill_chen
eclipsespringmaven框架ibatis
Webx是淘宝开发的一套Web开发框架,Webx3是其第三个升级版本;采用Eclipse的开发环境,现在支持java开发;
采用turbine原型的MVC框架,扩展了Spring容器,利用Maven进行项目的构建管理,灵活的ibatis持久层支持,总的来说,还是一套很不错的Web框架。
Webx3遵循turbine风格,velocity的模板被分为layout/screen/control三部
- 【MongoDB学习笔记五】MongoDB概述
bit1129
mongodb
MongoDB是面向文档的NoSQL数据库,尽量业界还对MongoDB存在一些质疑的声音,比如性能尤其是查询性能、数据一致性的支持没有想象的那么好,但是MongoDB用户群确实已经够多。MongoDB的亮点不在于它的性能,而是它处理非结构化数据的能力以及内置对分布式的支持(复制、分片达到的高可用、高可伸缩),同时它提供的近似于SQL的查询能力,也是在做NoSQL技术选型时,考虑的一个重要因素。Mo
- spring/hibernate/struts2常见异常总结
白糖_
Hibernate
Spring
①ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException
缺少aspectjweaver.jar,该jar包常用于spring aop中
②java.lang.ClassNotFoundException: org.sprin
- jquery easyui表单重置(reset)扩展思路
bozch
formjquery easyuireset
在jquery easyui表单中 尚未提供表单重置的功能,这就需要自己对其进行扩展。
扩展的时候要考虑的控件有:
combo,combobox,combogrid,combotree,datebox,datetimebox
需要对其添加reset方法,reset方法就是把初始化的值赋值给当前的组件,这就需要在组件的初始化时将值保存下来。
在所有的reset方法添加完毕之后,就需要对fo
- 编程之美-烙饼排序
bylijinnan
编程之美
package beautyOfCoding;
import java.util.Arrays;
/*
*《编程之美》的思路是:搜索+剪枝。有点像是写下棋程序:当前情况下,把所有可能的下一步都做一遍;在这每一遍操作里面,计算出如果按这一步走的话,能不能赢(得出最优结果)。
*《编程之美》上代码有很多错误,且每个变量的含义令人费解。因此我按我的理解写了以下代码:
*/
- Struts1.X 源码分析之ActionForm赋值原理
chenbowen00
struts
struts1在处理请求参数之前,首先会根据配置文件action节点的name属性创建对应的ActionForm。如果配置了name属性,却找不到对应的ActionForm类也不会报错,只是不会处理本次请求的请求参数。
如果找到了对应的ActionForm类,则先判断是否已经存在ActionForm的实例,如果不存在则创建实例,并将其存放在对应的作用域中。作用域由配置文件action节点的s
- [空天防御与经济]在获得充足的外部资源之前,太空投资需有限度
comsci
资源
这里有一个常识性的问题:
地球的资源,人类的资金是有限的,而太空是无限的.....
就算全人类联合起来,要在太空中修建大型空间站,也不一定能够成功,因为资源和资金,技术有客观的限制....
&
- ORACLE临时表—ON COMMIT PRESERVE ROWS
daizj
oracle临时表
ORACLE临时表 转
临时表:像普通表一样,有结构,但是对数据的管理上不一样,临时表存储事务或会话的中间结果集,临时表中保存的数据只对当前
会话可见,所有会话都看不到其他会话的数据,即使其他会话提交了,也看不到。临时表不存在并发行为,因为他们对于当前会话都是独立的。
创建临时表时,ORACLE只创建了表的结构(在数据字典中定义),并没有初始化内存空间,当某一会话使用临时表时,ORALCE会
- 基于Nginx XSendfile+SpringMVC进行文件下载
denger
应用服务器Webnginx网络应用lighttpd
在平常我们实现文件下载通常是通过普通 read-write方式,如下代码所示。
@RequestMapping("/courseware/{id}")
public void download(@PathVariable("id") String courseID, HttpServletResp
- scanf接受char类型的字符
dcj3sjt126com
c
/*
2013年3月11日22:35:54
目的:学习char只接受一个字符
*/
# include <stdio.h>
int main(void)
{
int i;
char ch;
scanf("%d", &i);
printf("i = %d\n", i);
scanf("%
- 学编程的价值
dcj3sjt126com
编程
发一个人会编程, 想想以后可以教儿女, 是多么美好的事啊, 不管儿女将来从事什么样的职业, 教一教, 对他思维的开拓大有帮助
像这位朋友学习:
http://blog.sina.com.cn/s/articlelist_2584320772_0_1.html
VirtualGS教程 (By @林泰前): 几十年的老程序员,资深的
- 二维数组(矩阵)对角线输出
飞天奔月
二维数组
今天在BBS里面看到这样的面试题目,
1,二维数组(N*N),沿对角线方向,从右上角打印到左下角如N=4: 4*4二维数组
{ 1 2 3 4 }
{ 5 6 7 8 }
{ 9 10 11 12 }
{13 14 15 16 }
打印顺序
4
3 8
2 7 12
1 6 11 16
5 10 15
9 14
13
要
- Ehcache(08)——可阻塞的Cache——BlockingCache
234390216
并发ehcacheBlockingCache阻塞
可阻塞的Cache—BlockingCache
在上一节我们提到了显示使用Ehcache锁的问题,其实我们还可以隐式的来使用Ehcache的锁,那就是通过BlockingCache。BlockingCache是Ehcache的一个封装类,可以让我们对Ehcache进行并发操作。其内部的锁机制是使用的net.
- mysqldiff对数据库间进行差异比较
jackyrong
mysqld
mysqldiff该工具是官方mysql-utilities工具集的一个脚本,可以用来对比不同数据库之间的表结构,或者同个数据库间的表结构
如果在windows下,直接下载mysql-utilities安装就可以了,然后运行后,会跑到命令行下:
1) 基本用法
mysqldiff --server1=admin:12345
- spring data jpa 方法中可用的关键字
lawrence.li
javaspring
spring data jpa 支持以方法名进行查询/删除/统计。
查询的关键字为find
删除的关键字为delete/remove (>=1.7.x)
统计的关键字为count (>=1.7.x)
修改需要使用@Modifying注解
@Modifying
@Query("update User u set u.firstna
- Spring的ModelAndView类
nicegege
spring
项目中controller的方法跳转的到ModelAndView类,一直很好奇spring怎么实现的?
/*
* Copyright 2002-2010 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* yo
- 搭建 CentOS 6 服务器(13) - rsync、Amanda
rensanning
centos
(一)rsync
Server端
# yum install rsync
# vi /etc/xinetd.d/rsync
service rsync
{
disable = no
flags = IPv6
socket_type = stream
wait
- Learn Nodejs 02
toknowme
nodejs
(1)npm是什么
npm is the package manager for node
官方网站:https://www.npmjs.com/
npm上有很多优秀的nodejs包,来解决常见的一些问题,比如用node-mysql,就可以方便通过nodejs链接到mysql,进行数据库的操作
在开发过程往往会需要用到其他的包,使用npm就可以下载这些包来供程序调用
&nb
- Spring MVC 拦截器
xp9802
spring mvc
Controller层的拦截器继承于HandlerInterceptorAdapter
HandlerInterceptorAdapter.java 1 public abstract class HandlerInterceptorAdapter implements HandlerIntercep