- 浏览: 60763 次
- 性别:
- 来自: 南通
-
最新评论
文章列表
软件开发必知3条原则
- 博客分类:
- 干货(NIO/多线程/设计模式)
在本文中将介绍3条重要的软件开发原则,你可能已经知道,也可能只知道其中一条。这些原则看似很简单,但实施起来会很难。无论如何,这些原则提供了一个管理复杂软件项目的强大的途径。当涉及到真实世界中的项目开发时,你会发现这些原则都是非常有用的。 原则1:不要重复自己(Don’t Repeat Yourself,DRY原则)这个原则非常重要,换言之,就是不要写重复的代码。
搭建项目原型的步骤:
技术选型:决定要使用何种语言,考虑到效率是否需要使用多种语言(cgi...),使用何种orm框架,mvc框架,视图技术,缓存技术,测试技术和项目构建工具,管理工具,服务器以及数据库
架构分层:根据模块或功能对项目划分文件包
字符编码:代码编码UTF-8,数据库编码,页面编码,文件编码
命名规则: 类名 方法名 数据库表名 字段名 表单字段名 配置文件等
日志记录:本系统以及兼容其他系统框架log
测试处理:采用何种方式进行代码测试
异常处理:封装exception和处理exception
数据库连接:通过配置文件出几套数据源
事务处理:配 ...
http://www.rabbitmq.com/getstarted.html
rabbitMQ是遵循AMQP协议实现的消息服务,核心概念
producer - 消息生产者
exchange - rabbitMQ服务端的信箱,负责接受从producer发送来的消息
queue - 消息队列,同样在rabbitMQ服务端。exchange会把消息分发给queue。consumer从queue中取消息
consumer - 消费者,从queue里面读取消息
exchange类型:
fanout - 把exchange接受到的message分发到所有bind到这个exchange的q ...
Oracle创建sequence
- 博客分类:
- Oracle/Mysql
-- Create sequence
create sequence SEQ_CALIB
minvalue 1
maxvalue 999999999999
start with 1
increment by 1
nocache
order;
java开发时必备工具总结
- 博客分类:
- java开发必备工具
1.JDK安装包
2.Firefox(含firebug)
3.TortoiseSVN(SVN客户端)
4.数据库设计工具PowerDesigner
5.项目总结工具mindmanager
6.数据库Oralce10g安装包以及Oracle客户端工具plsqldev715
7.Eclipse
8.NodePad++
9.SecureCRT 5.0(用于连接unix服务器发布项目版本用的)
jQuery必知必熟基础知识
- 博客分类:
- Jquery
摘录地址:http://www.iteye.com/topic/857093
jQuery
1.特点:
小巧
功能强
跨浏览器
插件
2.使用
实际是js文件
a) 复制js到WebRoot
b) 页面<script src="jquery.js" charset=""></script>
3.核心对象及常用方法和属性
a)名称
jQuery和$
用$找出来的对象叫jQuery对象
用doc ...
NIO的使用
导读
J2SE1.4以上版本中发布了全新的I/O类库。本文将通过一些实例来简单介绍NIO库提供的一些新特性:非阻塞I/O,字符转换,缓冲以及通道。
一. 介绍NIO
NIO包(java.nio.*)引入了四个关键的抽象数据类型,它们共同解决传统的I/O类中的一些问题。
1. Buffer:它是包含数据且用于读写的线形表结构。其中还提供了一个特殊类用于内存映射文件的I/O操作。
2. Charset:它提供Unicode字符串影射到字节序列以及逆影射的操作。
3. Channels:包含socket,file和pipe三种管道,它实际上是双向交流的通道。
4. ...
What's the NIO?
- 博客分类:
- java-NIO
最近一直在研究java nio,提出一点浅见,希望能和大家分享!!!
废话不多说了,直接进入主题!
首先了解下所谓的java nio是个什么东西!
传统的并发型服务器设计是利用阻塞型网络I/O 以多线程的模式来实现的, ...
高效率Oracle SQL语句
- 博客分类:
- 性能小组
最近在JavaEye上发现好多同志对sql的优化好像是知道的很少,最近总结了几条仅供参考,不过除少数可能要依情况而定,大多数还是相当有效的。 【注:以下说的(低效)与(高效)都是相当来说的。】 1、Where子句中的连接顺序: ORACLE采用自下而上的顺序解析WHERE子句。 根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。 举例: (低效) select ... from table1 t1 where t1.sal > 300 and t1.jobtype = '0001' and 20 < ( ...
高效javascript
- 博客分类:
- 性能小组
一、简化代码
采用更为简短的写法,不仅可以减少输入的字符数,还可以减少文件大小。大部分采用简单写法的代码,执行效率都有轻微提高。
1.1 简化常用对象定义:
使用 var obj = {}; 代替 var obj = new Object();
使用 var arr = []; 代替 var arr = new Array();
1.2 精简if语句
三元操作符可以有效精简只涉及赋值传值操作的if语句,比如
var score = 60, grade;
if (score < 60) {
grade = “不及格”;
} els ...
高效SQL汇总
- 博客分类:
- Oracle/Mysql
我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享! (1)选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.(2 WHERE子句中的连接顺序.:ORACLE采用自下而上的顺序解析WHERE子 ...
# TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
orcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ora10g.us.oracle.com)(PORT = 1521))
)
(CONNECT_DATA =
(SERVI ...
oracle卸载全过程
- 博客分类:
- Oracle/Mysql
oracle卸载全过程
第一大步删除程序
1.如果数据库配置了自动存储管理(ASM),应先删除聚集同步服务CSS(Cluster Synchronization Services).删除服务的方法是在DOS命令中执行如下命令:
localconfig delete
2.在“服务”窗口中终止所有Oracle服务.
3.在“开始”-> 程序 ->Oracle-OraDb10g_home1 ->Oracle Installation Products->
Universal Installer 打开窗口Oracle Univer ...
NIO学习系列:核心概念及基本读写
- 博客分类:
- java-NIO
1. 引言
I/O流或者输入/输出流指的是计算机与外部世界或者一个程序与计算机的其余部分的之间的接口。新的输入/输出(NIO)库是在JDK 1.4中引入的。NIO弥补了原来的I/O的不足,它在标准Java代码中提供了高速的、面向块的I/O。
原来的I/O库与NIO最重要的区别是数据打包和传输的方式的不同,原来的 I/O 以流 的方式处理数据,而 NIO 以块 的方式处理数据。
面向流的I/O系统一次一个字节地处理数据。一个输入流产生一个字节的数据,一个输出流消费一个字节的数据。为流式数据创建过滤器非常容易。链接几个过滤器,以便每个过滤器只负责单个复杂处理机制的一部分,这样 ...
JAVA NIO入门实例
- 博客分类:
- java-NIO
基本概念:参考http://zhangshixi.iteye.com/blog/679959作者的系列文章即可
我自己读完作者的文章,写了一个简单的DEMO
服务端:
Java代码 收藏代码
package com.liuc.io;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SelectionKey;
import java ...