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

          2006年7月4日

          小經(jīng)驗(yàn)兩則

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

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

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

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

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

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

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


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

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

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

          主站蜘蛛池模板: 张家港市| 商河县| 阿拉善右旗| 无棣县| 南丰县| 南康市| 永靖县| 星子县| 迭部县| 海伦市| 海口市| 伊吾县| 大同市| 桦甸市| 乾安县| 肇庆市| 漠河县| 汝州市| 霞浦县| 来凤县| 锡林浩特市| 皮山县| 花垣县| 苍山县| 盐城市| 涞水县| 汨罗市| 克拉玛依市| 石泉县| 浠水县| 平阳县| 刚察县| 铜鼓县| 大悟县| 册亨县| 河曲县| 孙吴县| 蛟河市| 孝义市| 平罗县| 忻州市|