当前位置:  编程技术>综合
本页文章导读:
    ▪Myeclipse下安装和使用SVN(二)                一、SVN服务器配置           这里配置只需要配置服务器即可。打开目录:D:\workspace\svnRepository\conf。这里有三个文件.........
    ▪Chebyshev 展开      Chebyshev展开是将有限区间上的光滑函数以Chebyshev多项式为基做展开。和Taylor展开不同的是,它对展开函数的光滑性要求较低,只需连续即可。著名的Chebfun系统基础之一就是Chebyshev展开。下面.........
    ▪rails touch用法      touch是Rails2.3.3引入的新功能,可以将指定的attributes改为当前时间,默认是更改updated_at或updated_on。 典型的用法在many-to-one时,当many端发生改变时,更新one端的updated_at时间。比如在一个论坛系.........

[1]Myeclipse下安装和使用SVN(二)
    来源: 互联网  发布时间: 2013-11-10

          一、SVN服务器配置

          这里配置只需要配置服务器即可。打开目录:D:\workspace\svnRepository\conf。这里有三个文件:authz、passwd、svnserve.conf。需要配置。

          authz:主要是做复杂的群组权限控制。

          Passwd:存放项目成员账户信息

          svnserve.conf:定义所有认证和授权政策。

 

          第一步对svnserve.conf 文件作如下修改,找到以下四行:

               #anon-access=read

               #auth-access=write

               #password-db=passwd

               #authz-db=authz

          将这四行前癿“#”号去掉,并修改如下:

               anon-access=none -----不允许匿名用户访问

               auth-access=write  ------通过验证癿用户可以读写

               password-db=passwd-- 用户保存文件

               anthz-db=authz qu--------管理文件

 

          第二步:在passwd中添加这样一行:

               chenssy = chenssy (左边是用户名、右边是密码)

               chen = chenpassword

          第三步:对authz做如下修改

               [groups]

               svngroup=chenssy

              @svngroup = rw(定义组svngroup下癿所有用户拥有读写权限)

              chen=r 定义用户chen 拥有读权限

              * = 其他用户无任何权限

 

         

          二、启动服务器端服务

          启动服务器服务有两种方式

          第一种:命令行启动,我们使用服务器端命令svnserve。

          Svnserve –d –rD:\workspace\svnRepository。

          回车是没有什么反应的,但是我们不能关闭命令行窗口,关闭后服务也就关闭了。

          如何查看服务器有没有启动成功呢?输入netstat –an查看端口:3690即可。

         

          第二种:安装svn后配置windows自动启动服务

          sc create SVNService binpath="D:\ProgramFiles\Subversion\bin\svnserve.exe --service -root D:\workspace\svnRepository" displayname="SVNService" start=auto depend=Tcpip

           binpath指定svnserve的路径和命令

           start=auto表示服务自动启动。注意:等于号的左边无空格,而右边必须有一个空格

           Displayname、start、depend

     &

    
[2]Chebyshev 展开
    来源: 互联网  发布时间: 2013-11-10

Chebyshev展开是将有限区间上的光滑函数以Chebyshev多项式为基做展开。和Taylor展开不同的是,它对展开函数的光滑性要求较低,只需连续即可。著名的Chebfun系统基础之一就是Chebyshev展开。下面是Mathematica上的一个简单的Chebyshev展开,展开系数使用Gauss-Chebyshev积分计算,积分的代数精度是2*M+1,这里M是展开的阶数。

(************************************************************************)
(*                         Chebyshev approximation                      *)
(************************************************************************)
ChebyshevApproximation[f_, x_, a_, b_, M_] := Module[{tmp, i, j, z, F, A},
	(*M:{1,x,x^2,...,x^M}*)
	(* Comment: A[j] is accurate for polynomials of degree less than 2M+1 *)
	If[FreeQ[f,x],Return[f]];
	tmp[0] = f /. x -> a + (b - a)*(z + 1)/2;
	If[Length[nodes] != M + 1, 
		(* global nodes and T to avoid reduplicate computation*)
		nodes = Table[Cos[(2*i + 1)*Pi/(2*(M + 1))] // GetDigit, {i, 0, M}];
		T = Table[ChebyshevT[i, nodes[[j]]], {i, 0, M}, {j, 1, M + 1}]
	];
	F = tmp[0] /. z -> nodes // Expand;
	For[j = 0, j <= M, j++,
		A[j] = 2/(M + 1)*F.T[[j + 1]] // GetDigit;
	];
	tmp[1] = A[0]/2 + Sum[A[j]*ChebyshevT[j, z], {j, 1, M}];
	tmp[2] = tmp[1] /. z -> -1 + 2*(x - a)/(b - a) (*// Expand//GetDigit*)
];

这里GetDigit是自定义的一个函数,其作用是保持数字的有效位,默认是100位。

(************************************************************************)
(*                             Define  GetDigit[]                       *)
(************************************************************************)
(* 2012.01.05, 12:21, happy!! *)
Naccu=100;
GetDigit[p_Plus] := Map[GetDigit, p];
GetDigit[p_List] := Map[GetDigit, p];
GetDigit[p_Complex]:=GetDigit[Re[p]]+I*GetDigit[Im[p]];
GetDigit[c_Real]    := 0 /;Abs[c] < 10^(-Naccu+1);
GetDigit[c_*f_] := GetDigit[c]*f /; NumericQ[c];
GetDigit[f_] := f /; !NumericQ[f];
GetDigit[c_] := SetPrecision[Apply[Rationalize[#1]*10^#2&,MantissaExponent[c]],Naccu]/;NumericQ[c]


Maple中的Chebyshev 级数展开,展开长度M由eps自适应决定,帮助文件说“The series computed is the ‘infinite’ Chebyshev series, truncated by dropping all terms with coefficients smaller than eps muliplied the largest coefficient”,函数chebyshev的源代码如下:

> with(numapprox);

>interface(verboseproc = 2);

>print(chebyshev);

proc(f::{algebraic,procedure},eqn::{name,name=algebraic..algebraic,algebraic..algebraic},eps::numeric,size::integer)
	option `Copyright (c) 1992 by the University of Waterloo. All rights reserved.`; 
	local f_is_operator,x,r,epsilon,oldDigits,a,b,evalhfOK,fproc,err,nofun,c,intf,tol,maxcoef,k,K,s,y,flags,dim,g; 
	if nargs<2 or 4<nargs then 
		error "wrong number (or type) of arguments" 
	elif type(f,'series') then 
		error "expecting an algebraic expression not of type series" 
	end if; 
	if type(eqn,`=`) then 
		f_is_operator:=false; x,r:=op(eqn) 
	elif type(eqn,'name') then 
		f_is_operator:=false; x:=eqn; r:=-1..1 
	else 
		f_is_operator:=true; r:=eqn 
	end if; 
	if type(f,'procedure') and type(eqn,{`=`,'name'}) then f_is_operator:=true end if; 
	if nargs<3 then epsilon:=Float(1,-Digits) elif Float(1,-Digits)<=eps then epsilon:=evalf(eps) else error "eps is less than 10^(-Digits)" end if; 
	oldDigits:=Digits; 
	Digits:=Digits+length(Digits+9)+1; 
	a:=evalf(op(1,r)); 
	b:=evalf(op(2,r)); 
	if not type([a,b],'[numeric,numeric]') then error "non-numeric end-points of interval" elif b<a then a,b:=b,a end if; 
	try 
		if f_is_operator then 
			fproc,evalhfOK:=`evalf/int/CreateProc`(f,_Operator,a,b,epsilon) 
		else fproc,evalhfOK:=`evalf/int/CreateProc`(f,x,a,b,epsilon) 
		end if 
	catch "function has a pole in the interval": 
		error "singularity in or near interval" 
	catch: 
		error  
	end try; 
	userinfo(1,'`numapprox:-chebyshev`',printf("procedure for evaluation is:\\n%a\\n",eval(fproc))); 
	if nargs=4 then dim:=size else dim:=487 end if; 
	flags:=array(1..3); 
	Assert(not assigned(intf)); 
	if evalhfOK and Digits<=evalhf(Digits) then 
		try 
			c:=hfarray(1..dim); intf:=evalhf(`evalf/int/ccquad`(fproc,a,b,epsilon,dim,var(c),var(flags),true)) 
		catch: 
			userinfo(1,'`numapprox:-chebyshev`',nprintf("evalhf mode unsuccessful - try using software floats")) 
		end try
	end if; 
	if not assigned(intf) then try c:=array(1..dim); intf:=`evalf/int/ccquad`(fproc,a,b,epsilon,dim,c,flags,false) catch: error  end try end if;
 	if type(intf,{'infinity','undefined'}) then error "singularity in or near interval" end if; 
	Digits:=oldDigits; 
	err:=flags[1]; 
	nofun:=round(flags[2]); 
	if flags[3]<>0 or max(epsilon*abs(intf),0.001*epsilon)+Float(1,-Digits)<err then 
		if dim<=487 then 
			userinfo(2,'`numapprox:-chebyshev`',nprintf("try again using more function evaluations")); 
			s:=procname(fproc,convert(a,'rational')..convert(b,'rational'),epsilon,4375); 
			return if(type(eqn,'range'),eval(s),s(x))
		else 
			error "singularity in or near interval" 
		end if 
	end if; 
	c:=map((v,d)->evalf(v/d),[seq(c[k],k=1..nofun)],nofun - 1); 
	maxcoef:=max(1,op(c)); 
	tol:=1/5*epsilon*maxcoef; 
	for K from nofun by -1 to 1 while abs(c[K])<tol do  end do; 
	for k by 2 to K while abs(c[k])<tol do  end do; 
	if K<k and 0<K then 
		if f_is_operator then 
			error "even coefficients are zero - try f(x)/x" 
		elif a+1.0<>0. or b - 1.0<>0. then 
			userinfo(2,'`numapprox:-chebyshev`',nprintf("even coefficents are zero -- transform to interval -1..1")); 
			a:=op(1,r); 
			b:=op(2,r); 
			g:=eval(f,x=1/2*(b - a)*y+1/2*a+1/2*b); 
			s:=procname(g,y=-1..1,epsilon,dim); 
			s:=subs(y=2*x/(b - a) - (a+b)/(b - a),s) 
		else 
			userinfo(2,'`numapprox:-chebyshev`',nprintf("function is odd -- try f(x)/x")); 
			Digits:=Digits+2; 
			s:=procname(f/x,x=r,1/100*epsilon); 
			s:=numapprox:-chebmult('T'(1,x),s); 
			Digits:=Digits - 2; 
			if type(s,`+`) then s:=map(proc(t,tol) if abs(lcoeff(t))<tol then 0 else t end if end proc,s,tol) elif abs(lcoeff(s))<tol then s:=0 end if 
		end if; 
		s:=evalf(s); 
		s:=numapprox:-chebsort(s); 
		return s
	end if; 
	c:=[seq(if(abs(c[k])<tol,0.,c[k]),k=1..max(K,1))]; 
	a:=op(1,r); 
	b:=op(2,r); 
	y:=2*x/(b - a) - (a+b)/(b - a); 
	s:=1/2*c[1]*'T'(0,y)+add(c[k]*'T'(k - 1,y),k=2..K); 
	s:=numapprox:-chebsort(s); 
	if type(eqn,'range') then unapply(s,x) else s end if 
end proc




作者:zhaoyl03 发表于2013-1-13 15:31:19 原文链接
阅读:41 评论:0 查看评论

    
[3]rails touch用法
    来源:    发布时间: 2013-11-10
touch是Rails2.3.3引入的新功能,可以将指定的attributes改为当前时间,默认是更改updated_at或updated_on。

典型的用法在many-to-one时,当many端发生改变时,更新one端的updated_at时间。比如在一个论坛系统中,一个帖子的更新时间会随着之后的回复发生改变:

1.class Post < ActiveRecord::Base
2.has_many :replies
3.end1.class Reply < ActiveRecord::Base
2.belongs_to :post, :touch => true
3.end这里声明的:touch => true,其实就是定义了一个method来更新Post的updated_at时间,并且在after_save和after_destroy的时候调用该method

view sourceprint?01.def add_touch_callbacks(reflection, touch_attribute)
02.method_name ="belongs_to_touch_after_save_or_destroy_for_#{reflection.name}".to_sym
03.define_method(method_name) do
04.association = send(reflection.name)
05.
06.if touch_attribute == true
07.association.touch unless association.nil?
08.else
09.association.touch(touch_attribute) unless association.nil?
10.end
11.end
12.after_save(method_name)
13.after_destroy(method_name)
14.end

已有 0 人发表留言,猛击->>这里<<-参与讨论


ITeye推荐
  • —软件人才免语言低担保 赴美带薪读研!—




    
最新技术文章:
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型! iis7站长之家
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3