|
2009年11月23日
一、為啥不去聽別人分享? 1、覺得對(duì)現(xiàn)有工作無關(guān) 2、工作任務(wù)重,沒空 3、沒目的,隨大流 4、覺得別人一次講太多,記不住 5、任務(wù)性分享,不感興趣 二、為啥自己不主動(dòng)分享? 1、覺得內(nèi)容少,不想分享 2、無主題,主題窄 3、壓力大,硬湊PPT 4、工作任務(wù)壓著,沒空想分享 5、目的性太強(qiáng),沒想其他東西 三、主動(dòng)分享或聽分享的好處? 1、擴(kuò)大個(gè)人影響力 2、鍛煉自己的總結(jié)能力 3、鞏固自己對(duì)某一方面東西的認(rèn)識(shí) 4、迫使自己學(xué)點(diǎn)東西 5、培養(yǎng)自己考慮問題的全面性 6、學(xué)習(xí)演講技巧
摘要: 1.目的
mysql的列是固定的,不支持存儲(chǔ)如Map 結(jié)構(gòu)的數(shù)據(jù),但現(xiàn)在我們的需求是希望有一個(gè) ext Map的擴(kuò)展列,可以存儲(chǔ)Map結(jié)構(gòu)的數(shù)據(jù),并且可以在mysql里面進(jìn)行運(yùn)算.(即schema free)。所以解決方案是創(chuàng)建一個(gè)map_get()函數(shù),可以根據(jù)key得到對(duì)應(yīng)的value 閱讀全文
摘要: 因?yàn)樾枰褂胔adoop與hbase結(jié)合使用,所以需要為hadoop hdfs升級(jí)使用append寫模式。需要對(duì)現(xiàn)有的hadoop 0.20.1 升級(jí)至0.20.205.0; 升級(jí)過程簡(jiǎn)單的使用 hadoop namenode -upgrade 從 -18 version => -32version(這個(gè)是dfs/name/current/VERSION).但我們發(fā)現(xiàn)0.20.205跟hive不兼容,所以又安裝facebook的hadoop版本(-30版本)。
整個(gè)升級(jí)流程簡(jiǎn)單來說就是: dfs/name/current/VERSION -18 => -32 => -30. 升級(jí)再回滾的過程。
閱讀全文
摘要: 單機(jī)應(yīng)用內(nèi),在進(jìn)程內(nèi)部,我們可以使用ThreadLocal傳遞應(yīng)用上下文的方式. 當(dāng)前的 Spring Secrucity , Spring TransactionManager, Log4J MDC, Struts2 ActionContext等等應(yīng)用場(chǎng)景隨處可見.
但在是分布式系統(tǒng)下,由于不是在同一個(gè)進(jìn)程內(nèi),所以無法使用ThreadLocal. 那么什么是分布式ThreadLocal呢?就是將一個(gè)系統(tǒng)中的ThreadLocal信息可以傳遞至下一個(gè)系統(tǒng),將兩者的調(diào)用可以關(guān)聯(lián)起來。如對(duì)應(yīng)用有一個(gè)調(diào)用,我們生成一個(gè)請(qǐng)求ID (traceId),在后面所有分布式系統(tǒng)調(diào)用中,可以通過這個(gè)traceId將所有調(diào)用關(guān)聯(lián)起來,這樣查找調(diào)用日志都將十分方便. 閱讀全文
摘要: 我們知道,大家提倡面向接口編程,但凡事都有個(gè)度,當(dāng)濫用,那么面向接口完全流于形式。 閱讀全文
摘要: 現(xiàn)大家使用的ibatis,hibernate,spring jdbc的sql日志信息,有一點(diǎn)個(gè)缺點(diǎn)是占位符與參數(shù)是分開打印的,如果想要拷貝sql至PLSQL Developer客戶端直接執(zhí)行,需要自己拼湊sql。而log4jdbc是在jdbc層的一個(gè)日志框架,可以將占位符與參數(shù)全部合并在一起顯示,方便直接拷貝sql在PLSQL Developer等客戶端直接執(zhí)行,加快調(diào)試速度。 閱讀全文
摘要: 本次新版本發(fā)布最主要的更新內(nèi)容是生成器的加強(qiáng),并且之前已經(jīng)發(fā)布了rapid-generator獨(dú)立版.
此次升級(jí)保證模板的兼容性.后續(xù)rapid-framework的發(fā)行版將不直接提供rapid-generator的源碼在項(xiàng)目中,以便以后大家編寫的模板都可以在一個(gè)生成器引擎中運(yùn)行. 閱讀全文
(本方法屬于作者經(jīng)驗(yàn)總結(jié)出該模式)
Holder模式的主要功能是將一些Bean可以轉(zhuǎn)為靜態(tài)方法調(diào)用.方便使用.
適用于一些系統(tǒng)只存在單例(singleton)并且 十分常用 的基礎(chǔ)服務(wù)對(duì)象.這些基礎(chǔ)服務(wù)如果每次使用spring注入,只會(huì)增加無謂的代碼及一些不確定性.
示例如下:
BeanValidatorHolder.validate(bean) // HibernateValidator一般系統(tǒng)只有一個(gè)
CacheHolder.get("key") //如Memcached,應(yīng)用系統(tǒng)也只有一個(gè)對(duì)象
ApplicationContextHolder.getBean("userInfoService");
與singleton相比特點(diǎn)
- 一個(gè)Holder只能持有一個(gè)對(duì)象
- Holder一般是持有接口,所以你可以方便的改變實(shí)現(xiàn)
- 配合spring完成Holder初始化
用于持有Cache對(duì)象
1.1在spring中初始化
<bean class="cn.org.rapid_framework.util.holder.CacheHolder">
<property name="cache" ref="memcacheCacheImpl"/>
</bean>
1.2使用 CacheHolder?使用
CacheHolder.add("key","cache_value","1h");
//do something
1.3實(shí)現(xiàn)
public class CacheHolder implements InitializingBean{
private static Cache cache;
public void afterPropertiesSet() throws Exception {
if(cache == null) throw new IllegalStateException("not found 'cache' for CacheHolder ");
}
public void setCache(Cache c) {
if(cache != null) throw new IllegalStateException("CacheHolder already holded 'cache'");
cache = c;
}
public static Cache getCache(){
return cache;
}
//省略了其它N多cache靜態(tài)方法
public static void add(String key, Object value, String expiration) {
cache.add(key, value, parseDuration(expiration));
}
public static void cleanHolder() {
cache = null;
}
}
holder |
功能 |
BeanValidatorHolder |
用于持有Hibernate Validator |
SpringValidatorHolder |
用于持有Spring Validator |
ApplicationContextHolder |
用于持有Spring ApplicationContext? |
CacheHolder |
用于持有Cache |
MessagePublisherHodler |
用于持有類似JMS消息中心的消息發(fā)送 |
MessageSourceHolder |
持用MessageSource?,用于國(guó)際化 |
MailerHolder |
用于郵件發(fā)送的Mailer |
ConfigHolder |
用于持有配置,需要?jiǎng)討B(tài)刷新的參數(shù)使用,請(qǐng)查看文章保持類的無狀態(tài) |
SecurityManagerHolder |
用于權(quán)限控制的SecurityManager |
摘要: 使用JSP的都知道jsp:include指令,可以include其它jsp頁(yè)面或者servlet。
而如果你不是使用JSP,而是使用模板引擎如Freemarker,Velocity。有該功能也將十分方便。 閱讀全文
摘要: 既然可以用如此簡(jiǎn)單的方法達(dá)到我們的目的,為何要搞出那么復(fù)雜的方案. (簡(jiǎn)單就是美) 閱讀全文
摘要: 1.SOA存在的目的?
2.為什么說SOA是一種風(fēng)格?
3.SOA解決了服務(wù)集成(依賴)問題 閱讀全文
摘要:
新增插件:
flex_cairngorm: 基于cairngorm mvc的flex插件,代碼生成器生成的在線demo
freemarker_html_view: 基于freemarker的html視圖,用于不喜歡jsp的同學(xué)使用
v3.5更新內(nèi)容:
擴(kuò)展jsp,freemarker,velocity的模板可以相互繼承,打造替換sitemesh,struts tiles的布局框架.
freemarker,velocity實(shí)現(xiàn)管道操作來進(jìn)行布局
新增分頁(yè)方言: SQLServer2005Dialect
spring事務(wù)配置采用@Transactional替換xml配置
jdbc增加了sql生成工具,用于進(jìn)一步封裝spring jdbc操作
閱讀全文
摘要: 網(wǎng)上搜索了一番,用于控制flex UI組件的權(quán)限的框架只有chimp相近一些.
但是不喜歡他的基于flex annotation的權(quán)限控制方式.遂決定自己寫一套flex權(quán)限控制框架。
如果你熟悉作者的另外一套javascript 表單驗(yàn)證框架rapid-validation,將會(huì)對(duì)下面的使用方式有似曾相識(shí)的感覺。
閱讀全文
摘要: flex3只支持兩種語言,en_US,ja_JP
而flex4中則支持多國(guó)語言,所以可以將flex4中的%FLEX_HOME%\frameworks\locale\zh_CN拷貝至flex3中。 閱讀全文
摘要: 在google code上編寫wiki文檔你最擔(dān)心的是什么:
1. 版本不好控制,在線同時(shí)只能瀏覽一個(gè)版本號(hào)的wiki頁(yè)面
2. 不能提供離線版本
現(xiàn)在使用這個(gè)工具,可以將google wiki直接下載為本地的html ,并且與wiki相關(guān)的資源,如 css ,js ,圖片都可以一同下載 并且與在線瀏覽的效果一樣 .
還提供與ant的集成,直接與構(gòu)建腳本相結(jié)合.
閱讀全文
摘要: 我們都知道,在網(wǎng)上我們很容易找到一個(gè)HTML模板,但是想要尋找一個(gè)Flex,那是少之又少。 本項(xiàng)目的目的是推動(dòng)大家一起共享一些好用的模板,推動(dòng)flex在國(guó)內(nèi)的發(fā)展。 閱讀全文
摘要: 一.功能介紹
1.將前一個(gè)模板的輸出,變成一個(gè)變量,后一個(gè)模板可以通過變量引用前一個(gè)模板的輸出
2.整個(gè)管道下的模板都在同一個(gè)context中,即模板間可以相互引用變量
將管道操作與我之前擴(kuò)展的模板繼承相結(jié)合,即可打造一個(gè)完美的頁(yè)面布局框架.
閱讀全文
摘要: 與我之前的擴(kuò)展freemarker類似,現(xiàn)新增加三個(gè)指令:block,override,extends
一.目的
1.父模板頁(yè)面定義好布局,子模板可以重定義布局中的部分內(nèi)容
2.使模板可以實(shí)現(xiàn)類似"類"的繼承關(guān)系,并不限繼承層次 閱讀全文
摘要: 現(xiàn)擴(kuò)展freemarker,新增加三個(gè)指令: @extends,@block,@override
一.目的
1. 父模板頁(yè)面定義好布局,子模板可以重定義布局中的部分內(nèi)容
2. 使模板可以實(shí)現(xiàn)類似"類"的繼承關(guān)系,并不限繼承層次
閱讀全文
摘要: RESTful服務(wù)中很重要的一個(gè)特性即是同一資源,多種表述.
即
/user/123.xml 將返回xml格式數(shù)據(jù)
/user/123.json 將返回json格式數(shù)據(jù)
/user/123.html 將返回html格式數(shù)據(jù)
閱讀全文
摘要: 使用過python django模板的應(yīng)該清楚,django里面有一個(gè)激動(dòng)人心的功能就是模板可以使用類的繼承關(guān)系。 即模板是可以繼承的,并且不限繼承的層次。
如
1. child.html extends base.html
2. grandchild.html extends child.html
這樣,我們?cè)赽ase.html中定義好html布局,然后在“子類”(我們這樣稱呼吧)重定義需要父頁(yè)面內(nèi)容即可 閱讀全文
摘要: 在對(duì)數(shù)據(jù)庫(kù)水平分區(qū)的情況下,面對(duì)多個(gè)數(shù)據(jù)庫(kù),想要生成一個(gè)唯一性的主鍵這是一個(gè)問題。 閱讀全文
|