隨筆 - 11, 文章 - 1, 評論 - 20, 引用 - 0
          數(shù)據(jù)加載中……

          2006年6月8日

          小經(jīng)驗兩則

          1.Oracle 8i 下使用最新的oracle thin driver時用DatabaseMetaData獲取主鍵等信息時,需要將
          connection.getMetaData().getPrimaryKeys(connection.getCatalog(),null,tableName);
          中的tableName轉(zhuǎn)為大寫,否則無法得到數(shù)據(jù)。

          2.正則表達式中,需要以","分割字符串,但是要分割的字串中含有","號,為了避免沖突,引入前置轉(zhuǎn)義字符"\",這樣的正則怎么寫呢?
          例如:
          String txt = "STATE_COUNTY=kj\\\\,,ADDR_LINE1=l=j,ADDR_LINE2=mj\n\n,ADDR_LINE3=n\\,o,\n\nADDR_LINE4=\np";
          需要把鍵值對切分出來:
          ?Pattern.compile("[^\\\\],)");
          這個是不行的,會將","號前一個字符消耗掉。

          ?Pattern.compile("(?![\\\\]),)");
          也不行
          Pattern?p?=?Pattern.compile,",(?![\\\\])");
          倒是可以,但是把轉(zhuǎn)義字符放后面似乎有點詭異。
          找了一個折衷辦法,不切割使用正則獲取"鍵=值"子串:
          Pattern?p?=?Pattern.compile("\\w+\\s*=.*?[,]*.*?(?=,|$)",Pattern.DOTALL);
          但是還是帶來了子串中不能含有"="的問題。
          最后查了一個JDK1.4 DOC,發(fā)現(xiàn)了一個反向的非匹配串寫法:
          Pattern?p?=?Pattern.compile("(?<!\\\\),\\s*");
          這樣一來就解決了以上問題。

          posted @ 2006-08-03 09:54 wolfsquare 閱讀(557) | 評論 (0)編輯 收藏

          回復 亂彈權(quán)限系統(tǒng)續(xù)一

          亂彈權(quán)限系統(tǒng)續(xù)一
          原文在這:http://www.aygfsteel.com/RongHao/archive/2006/07/03/56258.html

          仔細分析一,二,三,四權(quán)限背后的實質(zhì)可以發(fā)現(xiàn):
          一系統(tǒng)權(quán)限的概念有一些冗余,很難想象這樣一種情況:你已經(jīng)有了子系統(tǒng)下的很多權(quán)限,結(jié)果因為沒有模塊權(quán)限而使得無法使用該模塊進行任何操作,分配權(quán)限的人要非常小心才行.這個世界已經(jīng)夠復雜了,不要再給開發(fā),部署人員增加復雜度了.很明白的,這個權(quán)限是不需要資源的權(quán)限
          二數(shù)據(jù)庫操作權(quán)限的概念,有一點疑惑,不知道為什么要建立這樣的一個概念,和行級權(quán)限有什么區(qū)別呢? 從你的上下文理解來看,似乎是這樣子的:有操作X表的業(yè)務(wù),如果用戶有增加權(quán)限,則可以任意增加數(shù)據(jù),如果用戶有編輯權(quán)限,則可以編輯任意數(shù)據(jù).實際上對應標準權(quán)限模型為:不需要限定資源的操作,即不需要資源標識的權(quán)限.
          三行級數(shù)據(jù)權(quán)限,這個概念很直白,對應標準權(quán)限模型就是: 資源(行數(shù)據(jù))+操作
          四列級數(shù)據(jù)權(quán)限,由于不是針對某特定行數(shù)據(jù),所以它也是無資源型權(quán)限
          就這樣,所有的權(quán)限最終可劃為需要資源標識和不需要資源標識,換句話說,所有權(quán)限可劃分為控制某些集合的權(quán)限和控制單體的權(quán)限兩種,在某些時候,也稱之為 功能權(quán)限和數(shù)據(jù)權(quán)限


          談到把權(quán)限分給別人,很自然的就是如何控制權(quán)限的權(quán)限的問題了,很拗口,是吧?仔細想想,這樣很直觀,也沒有什么后遺癥,權(quán)限自遞歸控制和自解釋,真是一個完美的循環(huán).
          有愛思考的同學想深了,會覺得非常麻煩,難實現(xiàn).當然,概念上一回事,具體實現(xiàn)上可以是另一回事,可以做很多的變通來達到目的.只要保持概念上的簡單性,就足以使得非常多的人得以解脫了。

          另外,作為架構(gòu)設(shè)計者,非常非常不贊成動輒就把很底層的概念扯進高層設(shè)計中(例如行級,數(shù)據(jù)庫什么的),很容易把自己和別人搞胡涂。
          可以最近狀態(tài)不好,要不好好blog一篇,8過,有句話怎么說來著:“都素那浮云而已。。?!?/p>

          posted @ 2006-07-04 22:45 wolfsquare 閱讀(1940) | 評論 (1)編輯 收藏

          不完美的世界-看到了IOC工具的又一個發(fā)展方向

               摘要: 在本篇文章中,作者在一個系統(tǒng)的構(gòu)建中深度地被各種配置邏輯所困擾,由此發(fā)現(xiàn)了IOC工具(如Spring,Nuts等)的又一個發(fā)展方向。  閱讀全文

          posted @ 2006-06-08 00:30 wolfsquare 閱讀(1944) | 評論 (7)編輯 收藏

          主站蜘蛛池模板: 明光市| 通化县| 靖江市| 汉寿县| 漳州市| 措美县| 灵石县| 济阳县| 泗水县| 宁海县| 正定县| 军事| 石屏县| 师宗县| 团风县| 馆陶县| 沾化县| 石家庄市| 沁阳市| 阿鲁科尔沁旗| 莆田市| 册亨县| 彩票| 垦利县| 郸城县| 固安县| 甘南县| 恩平市| 合川市| 大理市| 长顺县| 沂源县| 无棣县| 桃源县| 项城市| 溧阳市| 竹溪县| 常山县| 武川县| 大化| 天水市|