
2011年9月26日
如何在新建一個文檔時就有默認的模板內容呢?
非常簡單的執行以下操作:
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 林齊磊花 閱讀(276) |
評論 (0) |
編輯 收藏

2011年4月22日
又是轉貼分享,哈哈哈
時間忽悠悠,一晃自己已經遠離應屆生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 林齊磊花 閱讀(119) |
評論 (0) |
編輯 收藏

2011年4月21日
在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 林齊磊花 閱讀(134) |
評論 (0) |
編輯 收藏

2011年4月20日
整了半個上午,在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 林齊磊花 閱讀(9362) |
評論 (4) |
編輯 收藏

2011年4月19日
在實際開發中,多對多雙向表會盡量避免而無法完全避免,一旦遇到這個情況時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 林齊磊花 閱讀(1371) |
評論 (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 林齊磊花 閱讀(380) |
評論 (0) |
編輯 收藏

2011年4月18日
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 林齊磊花 閱讀(232) |
評論 (0) |
編輯 收藏

2011年4月17日
在建立實體類后,使用@Entity(name="t_user")注解,則在HQL這個面向對象的查詢語句中,應該使用from t_user。
在與數據庫映射中的表名默認與類名相同,如果先建表的情況下要修改映射關系要使用注解@Table(name="t_user")。
因為攪渾了這兩個注解,查了一下午,調試都是not mapped,其他人都是沒有面向對象導致的錯誤,讓我好生難找。以后要細心點,不要想當然了
posted @
2011-04-17 14:00 林齊磊花 閱讀(496) |
評論 (0) |
編輯 收藏
一直以來都是一個人悶聲學技術,感覺的確苦悶,周圍雖然有同學老師,但是卻技術殊圖,或不好意思勞煩他人。
于是就開始習慣于逛別人的博客,從中獲取不少知識和樂趣,樂趣可以遺忘,但是知識最好能保留,于是打算開辟一個博客用于記錄在學習中遇到的知識和筆記。
若有同道中人偶遇本人博客,千萬不要見笑,若能幫的上忙,本人自然與你一起快樂,若貽笑大方,請高人一笑了之。
posted @
2011-04-17 00:47 林齊磊花 閱讀(155) |
評論 (0) |
編輯 收藏
Oracle以及其他數據庫在一般情況下表名都是不區分大小寫,但是在建表語句中如果加上雙引號(如create table "users"),則數據庫就會強制區分大小寫。
晚上在整合SSH和Oracle時,在建表后,使用hibernate映射時,hibernate居然又建立了表,所以上網查了一下,得出這個結果。其中還有一個收獲,在hibernate的annotation,generator可以設定sequence,如果缺省,hibernate會自己在Oracle中創建一個hibernate_sequence。同理可以自己設置sequence,然后使用注解關聯(記著要授權哦~)
Oracle drop table 后,并非真的刪除,其實存在一個回收表recyclebin
。
可以select * from recyclebin;查看回收站里面的表,或者清空 purge recyclebin; 或者還原 flashback table 原表名 to before drop;
posted @
2011-04-17 00:40 林齊磊花 閱讀(614) |
評論 (0) |
編輯 收藏