下面是添加student的代码
def add
@student = Student.new(params[:student])
@klass = Klass.find(:first, :conditions => [ "klass_num = ?" , params[:klass][:klass_num] ])
if @klass.students.create(@student.attributes)
flash[:notice] = "Student was successfully created"
redirect_to :ac ...
- 14:39
- 浏览 (1154)
- 评论 (2)
- 分类: Ruby on rails
- 进入论坛
看看这一段代码有什么问题么?我的@teacher.power保存到数据库总是NULL:
创建的代码:
def create
count = Teacher.count
if count == 0 #第一个注册者拥有最高权限3,自动为管理员
params[:teacher][:power] = 3
else
params[:teacher][:power] = 0 #其他的拥有最低权限0,等待管理员管理权限
end
@teacher = Teacher.new(params[:teacher])
...
- 19:05
- 浏览 (990)
- 评论 (8)
- 分类: Ruby on rails
- 进入论坛
Template method和Strategy模式经常在框架设计中被使用,并且二者很相似,都是父类定义功能接口,将具体的实现留个子类,有时二者可以相互替换。
Template method主要是父类将一个功能的实现分成几个小的步骤,并且在模版方法中规定了这些步骤的执行顺序,同时定义了这些子步骤的protected类型的方法留给子类实现,声明为protected主要是以防止用户不恰当的使用这些方法而产生异常。实现者不需要考虑这些子步骤地执行顺序,只需要实现具体的功能就行了。其实每一个子类去具体的实现这些子步骤,也有策略的味道,只不过Template method主要是在父类封装了子步骤地顺序, ...
- 14:02
- 浏览 (1852)
- 评论 (8)
- 分类: Design Pattern
- 进入论坛
前几天在论坛看到谈论Spring中的Callback模式和Template模式,我以前也提到过Spring中JdbcTemplate中使用的Callback , 自己回来想了想,总结一下自己的想法。
Spring中的Callback模式与Template模式合用,随处可见。Template method被广泛的使用,像Servlet就是使用这个模式。Template mothod模式虽然能简化很多重复的代码,但这种模式的也有不少限制。Template mothod将一个功能的实现分成许多小的步骤,在父类中定义了这些步骤的顺序,让子类来具体实现每一个小的步骤。这些小的步骤是protected,以 ...
- 10:59
- 浏览 (2908)
- 评论 (12)
- 分类: Design Pattern
- 进入论坛
昨天把csdn的博客,往这转,不小心把几篇以前写得老文章发到了论坛中,被评为隐藏,更有
不分青红皂白的人说抄的,本人从来都是在转载的文章前标注[转载],并表明出处.没想到初到这里就碰壁了.
设计模式对于做软件者来说是必修的内功之一,尤其现在面向对象已经成为主流的开发方法。掌握那些经过证实的面向对象的设计模式是学习和理解面向对象的绝佳途径,每一个模式都是面向对象最经典的应用。以前算法+数据结构=程序的时代已经一去不复返了,软件的复杂度越来越大,硬件水平的不断提到,也使得在一般的应用中性能的已不是主要的问题,算法在普通的应用中显得不像以前那么重要。而如何降低软件的复杂度,如何实现代码甚至组件级的复用,如何构建稳定而开放的系统?这些问题在软件理论的研究中越来越重要,而面向对象方法的提出很大程度的解决了这些问题,特别是使用面向对象的设计模式来降低软件的复杂性,提高重用性,构建开放的系统已 ...
- 10:27
- 浏览 (502)
- 评论 (0)
- 分类: Design Pattern
dom对xml的操作:
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.xml.sax.*;
import java.io.*;
import org.w3c.dom.*;
public class control implements java.io.Serializable {
privat ...
用java写的基于Socket的简单即时通讯程序,用户可以注册并登录,也可以作为游客身份使用.
/**//*
*服务端
*/
package edu.jlu.fuliang;
import java.io.*;
import java.net.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing ...
今天还有人问我是原创,还是转载,这些文章都是我以前写的,可能有点老,或者在别的地方见过,所以我也就没有选同时加入论坛,否则可能遭到更多的非议,我现在是把我以前的博客导入这里,而主页前台早就不好使了(这也是我在这里安家的原因之一吧),所以html导入也就不好使,这两天感冒,啥也干不了,就好手工操作了。
并查集为解决等价类问题提供了一个高效快速的数据结构,在许多涉及到等价类的算法中,他都扮演着
改进算法中使用的数据机构的角色,他对提高算法的效率是可见一斑,例如在带有限期的作业问题中,在求最小生成树Kruskal算法都可以使用并查集高效的实现.
const int DefaultSize = 20;
class UFSets{
public:
UFSets(int s = DefaultSize);
~UFSets();
void Union(int root1,int root2);
void WeightUnion(int root1,int root2);//基 ...
- 23:31
- 浏览 (405)
- 评论 (0)
- 分类: Data Structure
堆排序的时间复杂性为nlog(n),空间复杂度为o(1),为比较排序的下界,因此具有非常好的性能,使用堆,也很容易实现堆排序.
#include<iostream>
#include"MinHeap.h"
using namespace std;
template<class T>
void HeapSort(T a[],int n){
T temp;
MinHeap<T> *m_heap = new MinHeap<T>(a,n);
for(int i = n-1; i >= 1; i--){//a[0]与a[i]交换,重新调整堆0---> ...
- 23:29
- 浏览 (340)
- 评论 (0)
- 分类: Data Structure
最小堆应用---用最小堆实现huffman树,huffman是形成huffman编码的基础.
#include"MinHeap.h"
template<class T> class HuffmanTree;
template<class T>
class TreeNode{
friend class HuffmanTree<T>;
private:
T data;
TreeNode<T> *left,*right;
public:
TreeNode(T value){
data = value;
left = ...
- 23:27
- 浏览 (443)
- 评论 (0)
- 分类: Data Structure
作为最小堆应用,实现了另一个实用的类----优先队列.优先队列有着广泛的应用,在操作系统中,许多消息队列、等待队列等,使用了优先队列,在算法中,我们常用优先队列来实现广度搜索、贪心算法等。
Priority_Queue.h
#include"MinHeap.h"
template<class T>
class Priority_Queue{
public:
Priority_Queue();
~Priority_Queue();
void Push(const T &x);
T Pop();
bool IsEmpty();
bool ...
- 23:25
- 浏览 (285)
- 评论 (0)
最小(大)堆是比较常用的数据结构,是实现优先队列和堆排序的基础,也可以实现例如霍夫曼编码,贪心算法等,具有很好的时间复杂性.
template<class T>
class MaxHeap{
public:
MaxHeap(T a[],int n);
MaxHeap(int ms);
~MaxHeap();
bool Insert(const T &x);//插入一个元素,如果空返回false,否则返回true
bool RemoveMax(T &x);//删除最小的元素,如果空返回false,否则返回true
void MakeEmp ...
- 23:24
- 浏览 (554)
- 评论 (0)
- 分类: Data Structure
- 进入论坛
最小(大)堆是比较常用的数据结构,是实现优先队列和堆排序的基础,也可以实现例如霍夫曼编码,贪心算法等,具有很好的时间复杂性.
MinHeap.h文件
template<class T>
class MinHeap{
public:
MinHeap(T a[],int n);
MinHeap(int ms);
~MinHeap();
bool Insert(const T &x);//插入一个元素,如果空返回false,否则返回true
bool RemoveMin(T &x);//删除最小的元素,如果空返回false,否则返回true ...
- 23:21
- 浏览 (1276)
- 评论 (4)
- 分类: Data Structure
- 进入论坛
眼瞅着就要大四的人了,大学里参加竞赛还是第一次,这次参赛或许是为了圆了自己参加
竞赛的愿望,虽然早就有参加竞赛的冲动,特别地acm大赛---我们计算机自己的大赛。但
每次看到有竞赛的时候,发现自己都没有什么准备,这句“机遇是给有准备的人的“,可
能一直羁绊我这种懒人前进的心。或许真的是被acm的魅力所吸引,自己也在有空的时候,
到acm网站上做题,虽然和别人做题的数目相差是一个数量级的差别,但是每道题所遇到的
困难,都是是留下了自己的足迹和汗水,都让我更有信心的去面对困难。
这次acm自己早早的报上了名,后来的热身赛自己也没有参加,或许就是抱着圆了自己参加竞
赛的愿望,毕竟自己快毕业的人了,a ...
引用与指针的区别:
常常有人问引用与指针的区别,可能是指针和引用在功能上的相似,而是他们混淆这两个概念,
现在总结以下二者的区别,希望大家能彻底弄清这两个概念根本性的差别:
引用,一个变量的别名,为什么引入别名呢?原因是我们想定义一个变量,他共享另一个变量的
内存空间,使用别名无疑是一个好的选择。变量是什么?是一个内存空间的名字,如果我们给这个
内存空间在起另外一个名字,那就是能够共享这个内存了,引用(别名)的由此而来。
指针,指向另一个内存空间的变量,我们可以通过它来索引另一个内存空间的内容,本身有自己的
内存空间。
二者区别:(1)引用访问一个变量是直接访问,而指针是间接访 ...
用java写了一个实用的类----递归的拷贝给定目录的.java文件到指定的一个文件中
当然可以扩展一下,做成一个实用的工具,做一下界面,增加一个可选择的后缀名...呵呵,自己懒的要命,有兴趣可以作一下,感觉这个工具还挺实用的,不需要你手工一个个复制,粘贴,只需要输入你要拷贝的目录和要拷贝到的文件的名字,成百上千的文件就会替你拷贝的好好的...呵呵,不过拷贝的次序不确定,我的那个SNLCompiler代码就是用这个把数百个文件合成一个文件贴到blog里的,阅读起来可能有困难...
package edu.jlu.fuliang;
import java.io.*;
publi ...
- 23:12
- 浏览 (291)
- 评论 (0)
Given a positive integer n, nd the positions of all 1's in its binary representation. The position of the least significant bit is 0.
Example
The positions of 1's in the binary representation of 13 are 0, 2, 3.
Task
Write a program which for each data set:
reads a positive integer n,
...
The most important part of a GSM network is so called Base Transceiver Station (BTS). These transceivers form the areas called cells (this term gave the name to the cellular phone) and every phone connects to the BTS with the strongest signal (in a little simplified view). Of course, BTSes need some ...
For each list of words, output a line with each word reversed without changing the order of the words.
This problem contains multiple test cases!
The first line of a multiple input is an integer N, then a blank line followed by N input blocks. Each input block is in the format indicated in the prob ...
A prime number is a counting number (1, 2, 3, ...) that is evenly divisible only by 1 and itself. In this problem you are to write a program that will cut some number of prime numbers from the list of prime numbers between (and including) 1 and N. Your program will read in a number N; determine the ...
Mr. Jojer has written an article, but now he wants to make a copy of it and check out how many characters he has used.
Input and Output
You will be given an article, you should output this article again and how many characters are there.
Sample Input
FerrAriS and Jojer are friends.
Sample Output
...
1237
A character string is said to have period k if it can be formed by concatenating one or more repetitions of another string of length k. For example, the string "abcabcabcabc" has period 3, since it is formed by 4 repetitions of the string "abc". It also has periods 6 (two repetitions of "abcab ...
1、你的类需要构造函数么?
对于一个复杂的类,我们要隐藏掉复杂的细节,而让用户看到一个简洁的界面,
构造函数对于隐藏内部的工作方式非常重要,因为他设定了整个程序的初始状
态,我们只把需要由用户设定的数据,作为参数,让他们来初始化为恰当的值
而其他我们都有一个默认的设置,这就隐藏掉了内部的细节。我们甚至需要思
考这个类是能产生单个实例还是多个,这就需要我们思考是否应该将构造函数
私有。
2、你的那些数据应该私有?
通常使用公有的数据成员不是个好事,因为将失去对这个数据对象的控制,使用
者可以随意修改这个值,而我们又无法在这个更改的过程中提供一个有效的合法
检查机制,同时我们也无法提供一个检测 ...
//************************************************************
//游戏:每次产生5个食物,通过上下左右键控制蛇的运动方向
//*************************************************************
//**********************************************
//游戏的类,控制其他各个类和游戏的进度
//**********************************************
import j ...
Rails框架纵览:
学习Rails框架也好几个月了,不过这段时间忙着考研复试,忘了不少了,总结一下,找回点感觉,好做毕业设计。
Ruby on Rails的两大箴言:约定优于配置(Convetion over configuration)和DRY(Don’t
repeated yourself)造就了Rails 的极高的开发效率,使Rails框架迅速风靡世界,现在可以说是红的发紫。
Ruby on Rails框架,是一个使web应用的开发、部署和维护变得更容易的框架,Rails框架非常适合进行敏捷开发和基于测试驱动开发,因为整个框架的设计,就将测试放在了很高的位置,你每生成一个M ...
- 18:36
- 浏览 (426)
- 评论 (0)
- 分类: Ruby on rails
现在csdn的blog也上不去,只能通过网页快照,并且还有些链接不好使,今天到此为止了,以后有空再说。
//贪心法解决单源最短路经问题
//定点v表示源,a为图的邻接矩阵,dist[i]表示源到顶点i的最短路经长度
//prev[i]表示最短路经中i顶点的前驱顶点
#define MAX_DISTANCE 100000
void Shortest_Path(int v,float **a,float dist[],int prev[],int n){
if(v < 1 || v > n) return;
bool *s = ( bool* )malloc( n * sizeof(bool) );//记录是否为s集合中的
//元素
for(int i = ...
- 浏览: 51454 次
- 性别:

- 来自: 长春

- 详细资料
搜索本博客
我的相册
RSS Reader1
共 6 张
共 6 张
链接
最新评论
-
写了一个支持搜索并下载歌 ...
引用 为什么要配置成legal_music_link=http://202.10 ...
-- by fuliang -
使用Struts2+Hibernate+Sp ...
很好很强大
-- by andy54321 -
Java Persistence with Hi ...
昨天买的, 不错
-- by lklkdawei -
使用Struts2+Spring+Hiber ...
不过整个工程都没有一条注释啊。。。 这个比较郁闷,万一以后你写了个框架,那下面 ...
-- by yyphzc -
使用Struts2+Spring+Hiber ...
总体感觉还行,不过部分代码需要优化为好 1.DAO既然使用泛型,那就干脆点。想想 ...
-- by yeshucheng






评论排行榜