2011年4月18日
如何在新建一个文档时就有默认的模板内容呢?
非常简单的执行以下操作:
cd ~
mkdir -p .vim/skel
vim .vim/skel/Template.py
在Template.py里随便写一些内容,如:
#!/bin/python
#write by shelley
然后,正题来了:
打开.vimrc
vim ~/.vimrc
写入:
autocmd BufNewFile *.py 0r ~/.vim/skel/Template.py
保存后用vim 新建一个.py文件试试吧:)
关于autocmd,可以参考以下链接了解:http://man.chinaunix.net/newsoft/vi/doc/autocmd.html
posted @
2011-09-26 16:22 林齐磊花 阅读(265) |
评论 (0) |
编辑 收藏
又是转贴分享,哈哈哈
时间忽悠悠,一晃自己已经远离应届生2年了。
今天公司招聘程序员,收到了很多简历,筛选了一下,然后,约了大家面试。
面试完后,我想起了自己应届生的求职时候的情景,当然,也想到了当时自己犯的错误,在这里给大家总结下,希望大家借鉴。
1、电话通知面试给人留下好印象。
有些同学,我通知他面试的时候,刚接电话的时候的语气基本上我就会给他一个判断,有人接电话很没有精神,像是没有睡醒;有甚至嘻哈嘻哈和我说话,旁边似乎还比较吵……我觉得这个很重要,即使你在一个比较复杂的环境下,你也应该给面试方说明一下,然后自己找个安静的地方回拨电话。
另外,在你求职期间,请时刻保持你的手机畅通,并保证你自己的手边有个小本子和笔,这样,你方便记录下别人给你通知的面试时间和地点。不要总在那里说,你把公司名称和地址给我发来一下。
要善于用“百度地图”。很多公司人家会告诉你公司名称和公司地址,至于怎么坐车,怎么来,有很多途径的,希望同学们自己知道用百度地图去搜索下路线怎么走,不要一开口就问,我怎么到那里去。
总之,要在电话中实现以下目的:
A 你这个人比较有精神;
B 你这个人很精明;
C 你这个人不会给企业找麻烦,会自己解决问题。
2、面试的时候,请针对你的应聘职位进行着装。
我们招程序员,招技术,有一个女生,穿的算是潮流类的吧,还提个小包包。不管怎么着 ,我一看这个人就不像是做技术的料,做技术的典型特征就是:休闲服装,外加一个电脑包。
3、不要忽悠,不知道就坦诚点,企业要是不是什么都会的人。
哪个面试官是笨蛋,还给你忽悠的机会啊。很好玩的是,有人面试的时候,那么明显的忽悠着:当时我在项目中是做什么什么的,我负责什么什么的……可我忘记了当时是怎么做的了……作为一个合格的技术,睡梦中都知道那个事件的代码是怎么写的吧。
4、时间观念。
没有时间观念,你说要他2点到吧,他1点多点就来到办公室^……那时候我还没有准备开始呢。更牛的人:迟到,我简直要疯了。一般来说,你面试,提前5分钟左右还好吧,不要太早,迟到,更是不允许的。当然如果有意外,请你在规定时间前30分钟就应该通知对方。
5、多点准备工作。
找工作,很多人着急忙于投简历,但并没有准备相关的面试工作。有时候,来了吧,基本的问题都没有回答好,甚至连自我介绍都没有准备。我想,大家起码应该在宿舍和同学之间搞一下模拟招聘吧。不要来到公司,一开口就给人一种没有准备的感觉,什么都像心里没有底。
可以提前点到面试地点附近,自己转悠下,刚好,缓解下紧张气氛。
6、忌讳说:给我一个学习的机会。
“公司都不是慈善机构”这个是我当时面试的时候,一个长辈给我说的这句话,我一直都记着,在这里也送给大家。企业招人的话,是付出了很大的成本的,你告诉他你是来学习的,哪个老板有这么的好??!出钱给你来学习??所以,你可以说你的学习能力很强,但,绝对不是来学习的。
7、敢于说出你的期望。
我喜欢问大家的期望:期望找一个什么样的工作,期望有一个什么样的公司环境?很多同学说:没有关系,我觉得什么样的都可以!简直是胡说!什么样的都可以?一个月500,我看你怎么生存??你会不在乎自己的职业?会对公司没有期望??因为公司只是想找和公司比较匹配的人,说出你的期望,这样对公司和你自己都是比较好的。不要说你什么都不在乎,你以为你什么都不在乎,企业就要你了??拿个企业敢要??
8、不要鄙视小公司。
在北京、上海等大城市,有很多都是创业的小公司。3、5人的,十几人的,好的有几十人的……我不知道大家找工作的时候,看重的是什么。但面试的时候,我发现了有很多人喜欢问:你们公司有多大?你们公司经营了几年了?说实话,关心这样的问题,没有什么不对,但,你不应该一开始就问。每个公司在面试完你之后,会给你一个机会交流公司业务的,并且,你投简历之前,应该也对那个公司有一定的了解了。
但说句真话,国内的很多小公司都不错,呵呵,起码,国家的税、国家的就业都应该感谢他们。小公司有小公司的好,他们会相对的更加自由、发展空间不会比小公司小,甚至会大很多,同时,小公司的人性化一般都不错的。所以,给大家借鉴下,不要鄙视小公司,小公司能够活下来的,都很不错的。
9、要学会抓住机会、学会感恩。
我应届生的时候,有位帅哥考官对我说过一个电影《当幸福来敲门》,建议大家有时间也看下。每个到你面前的面试机会都不是那么容易的,在中国,就业难,这个问题估计未来几个世纪都改变不了的,哈哈。所以,有了机会,千万要懂得珍惜,要学会抓住机会。
另外要学会感恩。对于招了你的公司,你更应该加倍的感激,不要一搞就跳啊跳啊跳,公司培养了你3个月,你干了4个月就闪人,这样的人说真的,是比较可恶的,呵呵。对于没有招你的人,你也应该感激人家,起码人家认可了你的简历,还给了你一次面试的机会,从整个面试中你也应该可以学习到很多东西的。如果你没有感激的感觉,那说明你不善于观察,你自己没有学习到,是你的问题了。
………………
先这么多,后续再加。
希望大家多多努力,找个满意的工作。
学会感恩!
恩,谢谢
|
posted @
2011-04-22 18:20 林齐磊花 阅读(116) |
评论 (0) |
编辑 收藏
在struts升级到2.2.1后,common.upload.jar成为依赖包
以下为自身琢磨出来如何使用这个组件
在Action中定义与表单同名的File类型就可以简单获得此上传文件的引用,然后打开输入输出流将其复制到所要存放的地点即可。有几个重要的get;set方法需要说明
private File file;//上传的文件
private String fileName;//注意命名规范,或在set方法中修改,必须为上传文件+name,为不带路径的文件名
private String fileContentType;//文件属性
posted @
2011-04-21 18:43 林齐磊花 阅读(131) |
评论 (0) |
编辑 收藏
整了半个上午,在javascript中使用类似${module.getName()}这样的EL表达式就会出现问题,后来查了半天,有人说在JAVASCRIPT中不能使用EL,或者有人说不规范,云云。后来在一位‘大侠’的言辞中找到答案,如下引用
之前经常看到有人说js是客房端的,EL是服务端的,不能在js中使用EL表达式----真是扯淡
要在javascript中使用El表达式,只需在el表达式两端加上单引号或者双引号即可
如:
<script>
function(){
alert('${sessionScope.user.name}'); //获取session中user对象的name属性
}
</script>
也就是说只要使用$就要加单引号
顺便附一下
EL内置对象
类别 |
标识符 |
描述 |
JSP |
pageContext |
PageContext 实例对应于当前页面的处理 |
作用域 |
pageScope |
与页面作用域属性的名称和值相关联的 Map 类 |
requestScope |
与请求作用域属性的名称和值相关联的 Map 类 |
sessionScope |
与会话作用域属性的名称和值相关联的 Map 类 |
applicationScope |
与应用程序作用域属性的名称和值相关联的 Map 类 |
请求参数 |
param |
按名称存储请求参数的主要值的 Map 类 |
paramValues |
将请求参数的所有值作为 String 数组存储的 Map 类 |
请求头 |
header |
按名称存储请求头主要值的 Map 类 |
headerValues |
将请求头的所有值作为 String 数组存储的 Map 类 |
Cookie |
cookie |
按名称存储请求附带的 cookie 的 Map 类 |
初始化参数 |
initParam |
按名称存储 Web 应用程序上下文初始化参数的 Map 类 |
posted @
2011-04-20 10:14 林齐磊花 阅读(9291) |
评论 (4) |
编辑 收藏
在实际开发中,多对多双向表会尽量避免而无法完全避免,一旦遇到这个情况时hibernate的映射方法如下
举个例子:
多对多双向关联
关系举例:老师<-->学生,老师需要知道自己教了哪些学生,学生也知道自己有哪些老师.
数据库:中间表
Annotation:@ManyToMany
XML:<many-to-many>
多对多单向配置只需要在一端进行配置就可以了,双向需要配置两端.
关系模型(Teache多对多Student)
Teacher(id,name,students)多
Set<Student> students=new HashSet<Student>()
Student(id,name,teachers)多
Set<Teacher> teachers = new HashSet<Teacher>();
Annotation配置
在Teacher这一端的students上配置
//如果手动指定生成的中间表的表名和字段名
@ManyToMany
@JoinTable(name="t_s",
joinColumns={@JoinColumn(name="teacher_id")},
inverseJoinColumns={@JoinColumn(name="student_id")}
)
在Student一端的teachers只需要配置
@ManyToMany(mappedBy="students")
XML配置方式:两端配置一样,注意表名和生成的中间表的字段属性名要一致
Teacher那一端配置
<set name="students" table="t_s">
<key column="teacher_id"/>
<many-to-many class="com.xxx.Student" column="student_id"/>
</set>
在Student那一端配置
<set name="teachers" table="t_s">
<key column="student_id"></key>
<many-to-many class="com.xxx.Teacher" column="teacher_id"/>
</set>
生成的表为
create table Student (
id integer not null auto_increment,
name varchar(255),
primary key (id)
)
create table Teacher (
id integer not null auto_increment,
name varchar(255),
primary key (id)
)
create table t_s (//生成的中间表
teacher_id integer not null,
student_id integer not null,
primary key (teacher_id, student_id)
)
t_s表的两个属性分别references其它表的主键.
t_s(teacher_id, student_id)为中间表,ID策略为联合主键
@orderby(value="id")
posted @
2011-04-19 19:52 林齐磊花 阅读(1367) |
评论 (0) |
编辑 收藏
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### direct messages to file hibernate.log ###
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.File=hibernate.log
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=warn, stdout
#log4j.logger.org.hibernate=info
#log4j.logger.org.hibernate=debug
### log HQL query parser activity
#log4j.logger.org.hibernate.hql.ast.AST=debug
### log just the SQL
log4j.logger.org.hibernate.SQL=debug
### log JDBC bind parameters ###
#log4j.logger.org.hibernate.type=info
#log4j.logger.org.hibernate.type=debug
#log4j.logger.org.hibernate.type.descriptor.sql.BasicBinder=TRACE //显示SQL语句绑定的参数
### log schema export/update ###
log4j.logger.org.hibernate.tool.hbm2ddl=debug
### log HQL parse trees
#log4j.logger.org.hibernate.hql=debug
### log cache activity ###
#log4j.logger.org.hibernate.cache=debug
### log transaction activity
#log4j.logger.org.hibernate.transaction=debug
### log JDBC resource acquisition
#log4j.logger.org.hibernate.jdbc=debug
### enable the following line if you want to track down connection ###
### leakages when using DriverManagerConnectionProvider ###
#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace
posted @
2011-04-19 19:26 林齐磊花 阅读(374) |
评论 (0) |
编辑 收藏
Oracle的功能的确强大,但是如此一来面临会遇到更多的问题,在插入数据的时候Mysql只需一个now()就能很好的插入当前时间,但是如果在oracle中使用sysdate,首先格式不对,会导致在hibernate取时间的值的时候报错,stamptime格式不对,但在插入时又不能使用to_date函数,不知道是不是属性字段设置不对,最后只能在初始化数据时候使用如下语句
insert into t_user values(12,'08051312','080513012','080513012',to_date('2011-4-18
24:00:00','yyyy-mm-dd hh24:mi:ss'));
终于整理好了,倒霉了2天,居然只是因为强行将设置为字符串的‘生日’转化成timestamp,在一个没有错误的地方磨蹭了很久都没发现,唉!
测试初始化数据时 只要用sysdate就行了。在寻找这个不是错误的错误的时候学了很多函数,to_timestamp可以比to_date格式表示上多上毫秒级别
格式如yyyy-mm-dd hh:mi:ss.ff
还有,timestamp属性列可以直接插入字符串时间 如insert into T_USER (ID, USERNAME, PASSWORD, C_NUM, CREATE_DATE) values (1, '08051301', '08051301', '08051301', '18-11月-11 12.00.00.990000 下午');
哎呀,不行 浪费太多时间了,赶紧继续学习
posted @
2011-04-18 19:37 林齐磊花 阅读(228) |
评论 (0) |
编辑 收藏