2015年4月28日 星期二

關係 - 一致性測試(Shit test)

  廢物測試是女性下意識的行動,為了快速篩選有價值的男人,所以藉由不合理的舉動(發怒、批評)挑戰男性,企圖影響男人的情緒或行為,從談吐中測驗你的社交智慧,篩選出能保護她的男人,記得,社交智慧是「因」、財力地位是「果」,如果無法通過對方的測試,好感度則會大減。

  女人在選擇交往對象時,開出的標準其實通常都高於她延續這段關係所需要的條件(意思就是規格開的比實際需求高)。
 一個原因,女人刻意拉高標準,可以排除那些只是想佔便宜的男人。 畢竟會願意投資超額心力的,應該不會是只想想佔便宜的好色之徒。 
另一個原因,則是當女性本身條件不錯時,想贏得她芳心的男人多如牛毛,拉高交往門檻,是她可以最不費吹灰之力的篩選機制。


絕對不可出現的行為
不知所措、語塞、惱羞、迎合、大眾式的讚美

大原則:
1. 廢物測試根本不是問題,不正面回應或是講道理
2. 保持愉快心情 (創造氛圍)
3. 面對廢物測試,機會來了快創造良好氛圍

違反直覺:
1.妳以為女生高傲,其實他們是害怕找到不好的對象,才做出這種舉動
2.對你做廢物測試,就是一種隱性IOI,她正在測試你是否能成為他未來伴侶


題庫(社交、工作、企圖心、資源):

 1:詢問社交能力: 你好像跟所有的人都聊得來?
          Ans: 不一定 (我覺得如果都說聊得來,對方會覺得沒意思)
 2: 詢問對方的年齡: 你幾年次的? (微笑好奇的問)
          Ans: 有點開玩笑的讓她猜個幾秒,最後說出77年次
              (她大我三歲,稍微稍微地略顯失望)
 3: 展現自己想創業: 你們不覺得自己會想要在更上一層樓嗎? 你的工作讓你
             有未來嗎? 我的工作好閒,要不是有更好的我不會待..
          Ans: 會,工作錢夠但升遷無感,所以我以後想要創造副業....oxoxox (她對
             我的想法提出了反面意見,我便反問她有想要做什麼嗎?女方便說出她還沒想
             到做什麼,但是有家人出資,強調絕對不合夥)

 4: 展現自己的外表:  我不坐捷運,因為每次會遇到怪人,有一次還被摸大腿
                              所以我隨身攜帶色狼噴霧劑劑
          Ans: 所以你隨身帶? (反問,這是真的嗎? 但她馬上解釋說他因為要先坐公車
               再轉捷運所以今天沒帶...what Q_Qa ?)


【廢物性測試的盲點】

1. 在意成敗,成功就是溫拿,失敗就是魯蛇
  太執著於自己是不是被歸類於廢物那一群,會讓你沒有辦法平常心去面對,腦子想著怎樣才回答正確,而忘了和對方連結

2. 誤以為每個女人要的都一樣
會誤以為女生測試的重點在男人是否夠強壯、能控制場面,以為每個女生要的都一樣,視野窄化後,會不斷要求自己成為某種男人

3.認為廢物測試有一定的標準回答方式

補充:
靜態的DHV和動態的DHV若是有差異,則會產生負向反差

負向反差: 先看到好再看到不好
正向反差: 先看到不好再看到好


2013年10月2日 星期三

AMS Learning

 建立 Connection pool
       public void createConnectionPool() {
    Cipher cipher = new Cipher();  //加密機制
        Elements dbConfig =  // 宣告Elemnets為dbConfig,取得ams-db.xml檔中的ams-db-config下
            XMLConfigurationParser.parse(
                new File(GlobalParameter.getInstance().getString("ams-db-config")));   等同於取得Global.xml中的<ams-db-config>ams-db.xml</ams-db-config>下 ams-db.xml中的所有tags
        try {
            pool = new ConnectionPool(
                dbConfig.getString("db-driver"),
                dbConfig.getString("db-url"),
                cipher.afterDecipher(dbConfig.getString("db-user")),/*解密*/
                cipher.afterDecipher(dbConfig.getString("db-password")),/*解密*/
                dbConfig.getIntegerValue("min-conn"),
                dbConfig.getIntegerValue("max-conn"),
                dbConfig.getString("create-log"),
                dbConfig.getString("status-log"),
                dbConfig.getDoubleValue("max-conn-time"));
        } catch (IOException e) {
            System.out.println(e);
        }

2013年10月1日 星期二

JSP 基礎

JSP就是JAVA。容器會第一次存取JSP時,將jsp轉譯成.java再轉成.class(也是個servlet),在java程式中包住html
Servlet做的到的事情,JSP也做得到

request、response、session、config、out,這些名稱是所謂的隱含物件
必要時可以為JSP在web.xml中作些設定

如果你使用的是IDE,那基本上就可以執行應用程式並對Servlet發出請求了,實際上,IDE會將你的應用程式包裝為WAR(Web Archive),然後上傳至應用程式伺服器(Application Server)完成部署(Deployment)。所謂WAR檔,實際上是一個副檔名為.war的檔案,使用zip格式進行包裝壓縮,而當中的結構(就目前的功能而言)必須如下:
/ServletDemo.war/
                /WEB-INF/
                        /classes/
                        |       /cc/
                        |          /openhome/
                        |                   |HelloWorld.class                        |web.xml

必要時可以在JSP在web.xml中作設定:

[WEB-INF下的目錄結構]

WEB_INF下面可以有web.xml, classes, lib。這三個都是可有可無的。
web.xml如果不存在,Tomcat會以預設的暫代。
classes用來放servlet的class file。
lib放會用到的jar檔,當web application執行時 container會自動將底下的所有JAR/zip加到系統classpath變數中,所以放在這底下的JAR不用設定classpath)

 <servlet>
        <servlet-name>helloJSP</servlet-name>
        <jsp-file>/hello.jsp</jsp-file>
        <init-param>
            <param-name>defaultGuestName</param-name>
            <param-value>Guest</param-value>
        </init-param>
 </servlet>
    <servlet-mapping>
        <servlet-name>helloJSP</servlet-name>
        <url-pattern>/hello.jsp</url-pattern>
    </servlet-mapping>

2013年9月14日 星期六

LINUX基本指令

cd  改變目錄,即change directory  ex:  cd/user/bin 切換到user/bin目錄   cd.. 切換上一層目錄   cd 使用者根目錄。
histroy 查詢最近使用過的指令個數 [數字]

vi  檔名   開啟檔案
ls -l          秀出檔案
"Exit"          離開Putty/Shell/切換的user
"ps-ef" 目前運行的Process
"cat"    看檔案內容
"cp"     複製檔案→複製"屬性"和"權限"
|    管線
">"   導向 將導向結果到指定的Ouput裝置   ex:  ls > temp.txt  會將ls的結果輸出到temp.txt檔案中,並且覆蓋原檔案;  ">>"則是Append檔案


【VI編輯器】

i/a/o  插入模式
/  搜尋游標之下  ?  游標之上

gg 直接跳到開頭
X  往前刪字   x 往後刪字
u    復原上一個動作
:wq!   // w存檔 q離開   ! 不管權限直接寫入
Ctrl b 上一頁    Ctrl  f  下一頁
%s /  被替代的文字/ 替代文字
:w  將檔案寫入硬碟檔案   :w[filename]則是另存新檔

2013年9月12日 星期四

Oracle Single-Row Functions Commands in SQL

Single-Row Function 的指令

Function: 0個或多個參數並回傳單數值



Single function  v.s. Group function 
Single: 在從Table擷取資料之前,知道有多少參數需要處理
Group: 直到資料已經被截取和組成category後,才知道有多少參數需要處理



SINGLE FUNTION 的使用位置示意

SELECT ename, TO_CHAR(hiredate,’Day, DD-Mon-YYYY’)
FROM emp
WHERE UPPER(ename) LIKE ‘AL%’
ORDER BY SOUNDEX(ename)


INSTR (原字串,欲找字串,起始位置,第幾個符合)  

意義: 從string1中第n個字元開始尋找第m次遇到string2的位置。 

SELECT INSTR('CORPORATE FLOOR', 'OR', -1, 1) FROM DUAL
                                                                          ↑從右邊第一個開始找起
                                                           14  (position仍是左到右開始數)

Result: 14

LENGTH(String1)
意義: 計算String1的長度

SELECT LENGTH('Ariel Shao') FROM DUAL  //空白也算是一個字元

Result: 10

 SUBSTRB(String1,integeri[,intergerj])

SELECT SUBSTRB('Ariel',2,4) FROM DUAL;
Result: riel ?????

SELECT SUBSTRB('Ariel',1,4) FROM DUAL;
Result: Arie

SELECT SUBSTRB('Ariel',2) FROM DUAL;
Result: riel

SELECT SUBSTRB('Ariel',2,-1) FROM DUAL;   // integerj為負數則回傳空白
Result:

SELECT SUBSTRB('Ariel',-3,2) FROM DUAL;  //從右數第3個(i)開始數兩個數(ie)
Result:ie




TRANSLATE(String1, 要被抽換的字元, 更改的字元)


SELECT TRANSLATE('MyexgirlfriendisArielShao','Ariel','Peggy') FROM DUAL; // A換成P、r換成e
Result:  MygxggeyfeggndgsPeggyShao

RTRIM(string[,set]) // 從字串右邊去除所有set字元,set預設空白

SELECT RTRIM('Mississippi','ip') FROM DUAL;
Result: Mississpi

CASE 條件判斷  有兩種寫法,一種適合某欄位"單值比對",一種適合"條件比對"
http://mark-freefox.blogspot.tw/2011/08/oracle_12.html



SELECT

http://webdesign.kerthis.com/sql/sql_case

【DECODE(條件,值1,回傳值1,值2,回傳值2,...值n,回傳值n,缺省值)】//就是if..else if..else


該函數的含義如下:
IF 條件=值1 THEN
    RETURN(翻譯值1)
ELSIF 條件=值2 THEN
    RETURN(翻譯值2)
    ......
ELSIF 條件=值n THEN
    RETURN(翻譯值n)

ELSE
    RETURN(缺省值)
END IF

e.g.
SELECT empno,ename,salary,grade
FROM emp e,grades g
WHERE e.salary BETWEEN LOW_SALARY AND DECODE(g.grade,'PI','999999',g.high_salary)

【EXISTS】 用來測試內查詢subquery有無產生結果。有則執行外查詢SQL; 無,整個SQL都不會產生結果

語法:
SELECT 欄位1,欄位2
FROM   表格名
WHERE EXISTS (SELECT * FROM 表格名2 WHERE 條件句)

NOT EXISTS 子查詢判斷為False才會執行外查詢

注意:內查詢若產生了超過一筆的資料,則 EXISTS 的條件成立,所以外查詢會被執行,內查詢跟外查詢基本上是獨立關係,子查詢結果不會成為外查詢的Input。

【Special Characters】

'%' 代替任何自元
'_' 代替一個字元

'\' ESCAPE 跳脫字元,使跟在後面的保留字成為一般字元,ex:  LIKE 'A\_%' →  A_....  ex: 'LIKE 'A\_\%'→  A_%
'desc' 跟在某個column後面,能夠使排序呈現遞減狀態
'||'


【Group Functions】

1.COUNT()/SUM()/MIN()/MAX()/AVG()/STDDEV()/VARIANCE()
2.常搭配使用GROUP BY群組資料
3.限制資料使用HAVING取代WHERE(HAVING有包含Aggregate function)
4.注意子句順序(1.WHERE 2.GROUP 3.HAVING)



直到query執行時和值都截取後才知道inputs數量的function叫做Group Function
注意: 不能處理NULL 值,不能使用在WHERE函數
不可以針對Group Data使用Programmer-written functions 

使用地點: SELECT or HAVING (因為Group function不能搭配WHERE使用 ex: SUM()、AVG()..),HAVING 子句是用來取代 WHERE 搭配聚合函數 (Aggregate Function) 進行"條件查詢"


AVG(DISTINCT|ALL <number>)

COUNT(* )  傳回整個table所有row的數量(部分資料包含NULL也算)
COUNT(Field) 注意含有NULL值的Field則不會被計算進去




【GROUP BY】-通常搭配Group Function使用,例如依照每個銷售員的"銷售總額",以銷售員做為分類基準

1.GROUP BY不可以取代別名(Alias name)
.如SELECT中有一欄非聚合函數必用Group By   ex: SELECT state,count(*)
3.未搭配聚合函數【SUM() AVG() MAX() MIN()】時,GROUP BY子句後面必須包含所有的欄位,否則有問題


ORDER BY搭配聚合函數
SELECT zip,count(*)
 FROM  AMS_2G_ONAIR_SITE_BY_ZIP
GROUP BY zip 
ORDER BY COUNT(*) DESC;




【Limiting Grouped Data with HAVING(HAVING)-HAVING代替WHERE搭配Aggregate Function進行條件查詢,過濾資料,WHERE無法搭配聚合函數】

注意語法的搭配順序
1.HAVING 其實是對 aggregate method 之結果再做條件篩選, aggregate method 可搭配2.GROUP BY 使用; HAVING 也可以出現在沒有 GROUP BY 的查詢中

範例:
想要查詢每位銷售員的平均銷售,並且屬於outside sales department,並只
回傳銷售超過100,000的銷售員(HAVING):

SELECT sales_clerk, SUM(sale_amount)
FROM gross_sales
1.WHERE sales_dept='OUTSIDE'
2.GROUP BY sales_clerk
3.HAVING SUM(sale_amount)>10000

特別注意,HAVING跟WHERE可以同時出現,注意Grouping前就要先以WHERE篩選,HAVING
要在GROUPING之後



【Nesting Function】
槽狀的 Function可以使得內部Function的Output成為外部Function的Input


SELECT ,deptno 部門號碼, MAX(COUNT(DISTINCT job))  //觀念,MAX()會交代出一個數字,不要管裡面會有幾筆數字 
FROM emp
GROUP BY deptno;