2015年10月30日 星期五

Insert Sequence Column - Oracle

基本上在Oracle上,不像SQL Server或DB 2有Identity的功能
沒有支援Auto Increment的功能,不過,這個功能真的還蠻常用的

不過其實還有有其它的技巧可以達成這件事的,比如使用下面參考資料的Trigger,不過,我個人比較喜歡單純一點的做法,在建立Table後,再建立Sequence,而在Insert的時候再使用Sequence.NEXTVAL取值的方式

CREATE TABLE TableName  
(  
  Column1 NUMBER NOT NULL,
  Column2  VARCHAR2(11) NOT NULL,
  CONSTRAINT TableName_PKEY PRIMARY KEY(Column1)
);

CREATE SEQUENCE TableName_SEQ;

INSERT INTO TableName (Column1, Column2)
VALUES(TableName_SEQ.NEXTVAL, 'Column2Value');

參考資料:
https://oracle-base.com/articles/misc/autonumber-and-identity

2015年10月27日 星期二

Tomcat JNDI設定

之前工作主要是用Spring的方式來設定資料庫,將連線的相關資訊另外寫到參數檔中,現在因為工作需要,所以需要設定一下JNDI,之前在用JBoss的時候,大概就有用過了,只是換到Tomcat上,還是要找一下資料來設定,其實細節大概看一下,下面的參考資料就知道怎麼用了,至於要怎麼做,就看環境和需求來取捨吧。

只是想說,不管是用Spring設定,或是AP Server設定,各有優缺點,畢竟Spring的設定方式也是蠻簡單的就是了,但設定在AP Server上,可以將資料庫連線的細節交給DB,實務上也不需要分成開發環境或是線上環境的連線設定檔了,當然,其實也可以說只是把設定檔移至AP Server上就是了 冏。

 其實還有不少東西可以丟給AP Server來處理,比如log或是MQ,不過就我個人觀點,不管是用Spring或是AP Server的方式,工作loading都不會減輕丫!只是單純的將業務邏輯無關的部分從程式中抽離就是了。


參考資料:
http://fanli7.net/a/fuwuqiruanjian/Tomcat/20120701/179189.html
https://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html

2015年10月26日 星期一

Package naming

package主要的目的是避免相同名稱的Class發生衝突,因此可以避免開發上麻煩
不過,基本上大部分的人都是重視類別、方法、變數上的命名,不過也是因為套件的命名
其實也蠻少會做什麼特別的變動 

基本上,我以前也是亂命名套件的名稱,比如tw.bill.xxx
但,現在覺得tw的意思不大,如果是公司的話應該用com,組織的話就org,個人的話…
有想到pri,但如果是要推個人做的產品的話,目前還沒有想到好的單字,可能就還是先用pri吧,而第二個單字,一般就是公司名,或是省略,直接接產品名
再來呢,就會區分功能區塊了,而功能區塊下,
又會根據其特性,再進行細分,基本上就是這樣啦

另外,至於interface和實作是否要分開,個人會比較覺得分開會比較好,而實作再跟據其對應的對像進行package的分類,不過,這也只是我比較常遇到的清況,
也可以根據功能進行package區分就好,然後Interface和實作可以放在一起,看那種方式最適合實際情況吧

另一個情況要思考的是,關於繼承關系的package分類,這個可以參考一下java api的分類方式,可以看以我個人最常用的ArrayList和其父介面Collection,
嗯…都放在同一個package中,或許這是一個最簡單的作法
思考過多,反而會造成使用上的困難,但這是對外公開的介面,實際上或許package內部,也隱藏著不為人知的祕密吧XD

關於溝通

其實,這篇沒什麼內容,可能比較適合po在plurk之類的
主要是想說關於溝通的一些想法
之前聽過一個說法是說,人其實對於對方說的不能百分之百完全了解
忘記是50%還是多少百分比了
只是,對某些人聽了某些問題,說我懂了
但問他,他也說不出個什麼毛來
也有的人,可以馬上嘴出一個長篇大論,但狗屁不通
有的人,明明聽的時候,明明就在睡覺,
但問他,又可以說的頭頭是道,可能比較講者說的還好…
或許,在底層有些共同的道理存在吧…
只是想說,一知半解是很可怕的一件事情
但對某些人愛面子的人來說,說不知道可能是很難的一件事吧
不過,學著試著去表達自已的想法,就算錯了,也沒關係
也比裝著自已很懂的樣子,但說不出個毛來的好…


2015年10月2日 星期五

[Mac]如何讓popup視窗的button能夠使用鍵盤操作

在mack notebook上,預設popup視窗是不能使用鍵盤做選擇
使用鍵盤可以加速操作

系統設定->鍵盤->快速鍵->啟用 全部控制選項
tab選擇 space使用








圖一、設定畫面