显示下一条  |  关闭

顶着锅盖去火星

优秀的艺术家抄袭,伟大的艺术家剽窃--Picasso

 
 
 
 
 
 

热门日志

 
 
数据列表加载中...
 
 
 
 
 
 
 

[置顶] 如何选择最优的组合技术路线

2011-12-6 0:18:42 阅读44 评论0 62011/12 Dec6

一、软件开发技术

1)服务器端

在最近5年内,Java还是主流,不光是因为当前的普及程度和遗留系统问题,而且除Microsoft几乎所有大公司都投资到Java上面的原因,此外开源也是一股无法忽略的力量:除了Java方面的开源框架在推动Java,也有Linux在带动java企业应用在普及(别忘记dotnet只能在 Windows Server上面运行)

dotnet有自己的优势,但是在五年内无法和Java取得均势,不光是因为Java普及带来的优势,也不光因为开源界对java的推动,也不光因为其他大公司在java上面的投资,而是很多公司的行业性质决定了dotnet的出局,例如电信行业,金融行业,电子政务行业等等,是根本没有可能采用 dotnet的。

Python和Ruby算不上后起,但是很有竞争实力,不过基于上面的原因,仍然不能成为主流。

在Java服务器端技术中,清晰的分为两条路线:高端的商业路线,这条路线是EJB3,J2EE5.0;低端的开源路线,这条路线是Hibernate, Spring。这两条路线也有重叠的地方,例如开源的Struts几乎成为J2EE Web层的标准,开源的Hibernate奠定了EJB3的基础。但是划分路线不是基于技术上的区别,而是基于商业运作上的区别。注重技术支持和商业服务的公司会选择前者,注重成本控制和选择自由的公司会选择后者。

商业路线的技术方案是:EJB3+Struts;

开源路线的技术方案是:Spring+Hibernate+Struts/Webwork

作者  | 2011-12-6 0:18:42 | 阅读(44) |评论(0) | 阅读全文>>

[置顶] Python正则表达式指南

2011-9-13 19:21:51 阅读21 评论0 132011/09 Sept13

Python正则表达式指南 来自AstralWind的博客

本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写高效的正则表达式、如何优化正则表达式,这些主题请查看其他教程。

注意:本文基于Python2.4完成;如果看到不明白的词汇请记得百度谷歌或维基,whatever。

尊重作者的劳动,转载请注明作者及原文地址 >.<html

1. 正则表达式基础 1.1. 简单介绍

正 则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方 法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用 担心,不被支持的语法通常是不常用的部分。如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了。

下图展示了使用正则表达式进行匹配的流程:

正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。如果表达式中有量词或边界,这个过程会稍微有一些不同,但也是很好理解的,看下图中的示例以及自己多使用几次就能明白。

作者  | 2011-9-13 19:21:51 | 阅读(21) |评论(0) | 阅读全文>>

[置顶] 开发者实用学习资源汇总

2011-11-25 15:39:00 阅读27 评论0 252011/11 Nov25

导读:本文是酷壳网(CoolShell)陈皓收集的一些学习资源和文章,涉及的知识面可能比较泛,其主要目的在于分享,希望开发人员会喜欢。

Web开发

Javascript Garden,这是学习Javascript最好的网站了。http://bonsaiden.github.com/JavaScript-Garden,这个文档由两个StackOverflow的人写成:Ivo Wetzel(Writing)和Zhang Yi Jiang(Design),表示敬意。

想看看Web开发有哪些技术吗?你得看看这个网站:http://stackparts.com/,他对目前几乎所有Web上用得到的技术都分了个类。下面是个抓图。

Mozilla的安全编程规范:https://wiki.mozilla.org/WebAppSec/Secure_Coding_Guidelines

作者  | 2011-11-25 15:39:00 | 阅读(27) |评论(0) | 阅读全文>>

[置顶] ubuntu安装deb,rpm安装包,tar.gz的方法

2011-4-18 13:29:57 阅读407 评论0 182011/04 Apr18

我看到一篇软件包的帖子

来自ylmf

Ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alien把rpm转换成deb。

sudo apt-get install alien #alien默认没有安装,所以首先要安装它

sudo alien xxxx.rpm #将rpm转换位deb,完成后会生成一个同名的xxxx.deb

sudo dpkg -i xxxx.deb #安装

注意,用alien转换的deb包并不能保证100%顺利安装,所以可以找到deb最好直接用deb

有时候,我们想要使用的软件并没有被包含到 Ubuntu 的仓库中,而程序本身也没有提供让 Ubuntu 可以使用的 deb 包,你又不愿从源代码编译。但假如软件提供有 rpm 包的话,我们也是可以在 Ubuntu 中安装的。

方法一:

1. 先安装 alien 和 fakeroot 这两个工具,其中前者可以将 rpm 包转换为 deb 包。安装命令为:

sudo apt-get install alien fakeroot

2. 将需要安装的 rpm 包下载备用,假设为 package.rpm。

3. 使用 alien 将 rpm 包转换为 deb 包:

fakeroot alien package.rpm

4. 一旦转换成功,我们可以即刻使用以下指令来安装:

sudo dpkg -i package.deb

作者  | 2011-4-18 13:29:57 | 阅读(407) |评论(0) | 阅读全文>>

32个关键字

第一个关键字:auto

用来声明自动变量。 可以显式的声明变量为自动变量。只要不是声明在所有函数之前的变量,

即使没加auto关键字,也默认为自动变量。并且只在声明它的函数内有效。而且当使用 完毕后,

它的值会自动还原为最初所赋的值。自动变量使用时要先赋值,因为其中包含的是未知的值。

例:auto int name=1;

第二个关键字:static

用来声明静态变量。可以显式的声明变量为静态变量。也为局部变量。只在声明它的函数内有效。

它的生命周期从程序开始起一直到程序结束。而且即使使用完毕后,它的值仍旧不还原。

即使没有给静态变量赋值,它也会自动初始化为0.例:static int name=1.

第三个关键字:extern

用来声明全局变量。同时声明在main函数之前的变量也叫全局变量。它可以在程序的任何地方使用。

程序运行期间它是一直存在的。全局变量也会初始化为0.例:extern int name;

第四个关键字:register

用来声明为寄存器变量。也为局部变量,只在声明它的函数内有效。它是保存在寄存器之中的。

速度要快很多。对于需要频繁使用的变量使用它来声明会提高程序运行速度。例:register int name=1;

第五个关键字:int

作者  | 2011-5-6 10:34:52 | 阅读(618) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 

自定义模块

 
 
模块内容加载中...
 
 
 
 
 
 
 
日志评论
评论列表加载中...
 
 
 
 
 
 
 

广东省 深圳市 摩羯座

 发消息  写留言

 
很酷不拉风会死~~
 
近期心愿心爱的女女 去一趟西藏
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 

自定义模块

 
 
模块内容加载中...
 
 
 
 
 
 

焦点头图

 
 
聚焦图片加载中...
 
 
 
 
 

最新日志

 
 
数据列表加载中...
 
 
 
 
 

日志分类

 
 
日志分类列表加载中...
 
 
 
 
 

自定义模块

 
 
模块内容加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
 
 
 
 
下载音乐盒  曲目表歌词秀
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2012

创建博客 登录  
 加关注