2018年4月9日 星期一

2018年3月27日 星期二

【股票分享】群創 買進 成交 2018/03/22 成交單位:13 群創, 股票, 股票買進 10000股


【股票分享】群創 買進 成交 2018/03/22 成交單位:13  群創, 股票, 股票買進 5000股
成本:65,028 (含手續費 28塊)

【股票分享】群創 買進 成交 2018/03/22 成交單位:13.05  群創, 股票, 股票買進 5000股
成本:65,278 (含手續費  28塊)

總成本:130,306

【Eclipse】XML 編輯器選擇 (XSL Editor)

【Eclipse】XML 編輯器選擇

Eclipse 開 xml  要挑對 編輯器
挑對的話,就能把XML 文件排版格式化..

請選擇 XSL Editor


2018年3月16日 星期五

【資訊安全】Header content-security-policy

【資訊安全】Header content-security-policy

ALL_FORM
Chrome 處理 Iframe
frame-ancestors
frame-src

若如果header 也存在著 X-Frame-Options 將略過不處理 以frame-ancestors 為優先

在IE 上 不支援  frame-ancestors、frame-src 只支援 x-frame-options SAMEORIGIN

真是見鬼了

而 IE 只支援 ALLOW-FROM

2018年3月14日 星期三

【Tomcat】 調整 Response Headers Server:Apache-Coyote/1.1

【Tomcat】 調整 Response Headers Server:Apache-Coyote/1.1

server.xml


Connector 標籤
屬性:server="Microsoft-IIS/8.5"

請在測試機做,若在開發環境作, 可能會有副作用....比如..伺服器叫不起來等...

【JAVA】java 架構圖


2018年3月13日 星期二

【Eclipse】當專案 程式一堆 紅色打xx 無法編譯或LIB 載入失敗,請先看 Project Facet

【Eclipse】當專案 程式一堆 紅色打xx 無法編譯或LIB 載入失敗,請先看 Project Facet有沒有打勾,如果沒有,請把他「打勾勾」

關於 Dynamic Web Project (動態網站)開發設定


左邊你的專案資料夾,按右鍵「內容」,輸入 Project Facet ,選擇 Runimes

【Tomcat ,Java】佈署環境及基本名辭介紹(JRE,JDK)

【Tomcat ,Java】佈署環境及基本名辭介紹(JRE,JDK)

要安裝Tomcat 時,必需先要安裝必要 開發編譯元件(JDK)和執行平台元件(JRE)

Java JRE 全名:Java SE Runtime Environment 8
下載相關網址:http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
比如:Tomcat 需要 JRE

Java JDK 全名:Java SE Development Kit 8
下載相關網址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


2018年3月12日 星期一

【Tomcat 8.0.50】config(web.xml, server.xml)...相關設定技巧

C:\apache-tomcat-8.0.50\conf\server.xml

標籤:Connector 底下
 屬性:server  -->header 中顯示 server 資訊  (可以改成 asp.net ) 範例: server="Asp.net"
 屬性:maxThreads -->連線數 預設200

C:\apache-tomcat-8.0.50\conf\web.xml

【Tomcat 8.0.50】安裝、移除 安裝在windows 服務裡面

【Tomcat】安裝、移除  安裝在windows 服務裡面
版本:tomcat 8.0.50

官網說明 網址:http://tomcat.apache.org/tomcat-8.0-doc/windows-service-howto.html#Installing_services

command
安裝
C:\apache-tomcat-8.0.50\bin>service.bat install




command
移除
C:\apache-tomcat-8.0.50\bin>tomcat8 //DS//Tomcat8


【Tomcat】Tomcat 8.0.50 RemoteAddrValve 設定

 Tomcat 8.0.5

org.apache.catalina.valves.RemoteAddrValve

提供兩個地方可以設定 XML
(針對1.舊版Tomcat的尚可設定,未來可能會拿掉)

1.C:\tomcat-install\conf\Catalina\localhost\
如果檔案不存在的話,就新增一個 manager.xml



2.新版:C:\apache-tomcat-8.0.50\webapps\manager\META-INF
context.xml

內地有個地方還蠻新的介紹 網址:https://www.w3cschool.cn/tomcat/zuxi1k90.html
tomcat 官網(Securing Management Applications)
網址:http://tomcat.apache.org/tomcat-8.0-doc/security-howto.html

2018年3月8日 星期四

【Tomcat】tomcat html Response Headers Cache-Control 200 ExpiresFilter jsp

當你遇到 Status Code:200 OK (from disk cache) 就會 GG

為什麼就會 GG ,因為瀏覽器會先讀取 暫存頁面.而不會先向 SERVER 要新的 頁面內容

透過 Tomcat JSP web.xml 裡面有提供 ExpiresFilter 機制就能處理這樣的狀況狀態


ExpiresDefault 代表 所有 MIME  text/plain image/png application/javascript...

若指定哪種類型 MIME
ExpiresByType text/html

以下這行,就會是 mas-age=0
now plus 0 second

以下這行,比對所有 url 網址
/*

若是Status Code:200 狀態
就會在 Response Headers 加上 Cache-Control: max-age=0

若是Status Code:304 狀態
預設會是略過不處理,這可以接受,因為比對 Server 跟 瀏覽端 雙方都相同狀態的意思

若是要在 tomcat log 中記錄的話
就是要到 C:\apache-tomcat-8.0.50\conf\logging.properties  <-- p="">最底下新增一行  org.apache.catalina.filters.ExpiresFilter.level = FINE
醬子就可以了

Tomcat 官網說明
http://tomcat.apache.org/tomcat-8.0-doc/config/filter.html#Expires_Filter

完整規範如下 大家可以參考 官網說明



















  <-- class="separator" config="" div="" filter.html="" http:="" org.apache.catalina.filters.expiresfilter.level="FINE" style="clear: both; text-align: center;" tomcat-8.0-doc="" tomcat.apache.org="" tomcat="" xpires_filter="">




2018年3月5日 星期一

2018年2月8日 星期四

【C#】API url parameter 參數 Encode 有趣的規範 cp950

【C#】API  url  parameter 參數 Encode 有趣的規範

web Client parameter 有含 中文 ,請注意 Api Server 系統 是utf8 接還是 big5 接 你的 參數

如果 api server 是  utf8 ,那很好,因為 html url 本身就是 follower utf8 格式

若 API SERVER 是BIG5 接 參數,請注意,
WEB CLIENT 的程式, 參數必需要再轉成 CP950 encode 編碼

如下:
Encoding cp950 = System.Text.Encoding.Default;
cp950 = Encoding.GetEncoding(950);

 string a = HttpUtility.UrlEncode(item.Value, cp950);  <----url big5="" nbsp="" p="">

為何要兩道手序,
因為  C# Encoding 有(utf8、utf16、utf32、ASCII) ,
就是沒有 BIG5格式

透過 Encoding GetEncoding 參數 950 幫我們抓 big5 格式回來..
=.=" 果然是美國人寫的程式...不是說要國際化嗎?

另外 網頁的 encodeURIComponent 字串會轉換成 UTF-8

所以程式接的時候是  HttpUtility UrlDecode(url)

但要再轉發 API 的話 就要看 對方  SERVER (參數)吃什麼  ContenType (utf8 or big5 ...)

以上

【C#】不能 var --->System.Web.HttpUtility.ParseQueryString (NameValueCollection)

【C#】不能 var  --->System.Web.HttpUtility.ParseQueryString (NameValueCollection)

要明確然指定 NameValueCollection

2018年2月6日 星期二

2018年2月1日 星期四

【Windows 指令】taskkill.exe 強制刪除 處理程序 PID


taskkill.exe 強制 刪除 處理程序 PID

C:\WINDOWS\system32\taskkill.exe /F /IM w3wp.exe /T


【C# NameValueCollection】 針對NameValueCollection 做 LINQ

        public static Dictionary ParseQueryString(string queryString)
        {
            System.Collections.Specialized.NameValueCollection nvc = System.Web.HttpUtility.ParseQueryString(queryString);

            var a = from key in nvc.Cast()
                    from value in nvc.GetValues(key)
                    where key != null
                    select new { key, value };

            return a.ToDictionary(pair => pair.key, pair => pair.value); ;
        }

2018年1月24日 星期三

【asp.net C#】在HttpClient的DefaultRequestHeaders上設置Cookie Header

可參考:
http://stackoverflow.com/questions/12373738/how-do-i-set-a-cookie-on-httpclients-httprequestmessage/13287224#13287224

https://d-fens.ch/2016/12/27/howto-set-cookie-header-on-defaultrequestheaders-of-httpclient/

重點兩種

【預設:HttpClientHandler(UseCookies=true)】

HttpClient <--httpclienthandler ookiecontainer="" p="">
cookieContainer.Add(baseAddress, new Cookie("CookieName", "cookie_value"));

【HttpClient <--httpclienthandler p="">
若是:HttpClientHandler(UseCookies=false) 則是手動加入header

httpClient.DefaultRequestHeaders.Add("Cookie", "auth=ArbitrarySessionToken");

2018年1月17日 星期三

【生活分享 】2018-01-13 台北文昌宮 2018年初 點燈 2018 年 禮品

【生活分享 】2018-01-13 台北文昌宮 2018年初 點燈 2018 年 禮品

狀元筆, 福星高皂, 米, 玻璃水壺, 保祐符



【股票分享】中鋼 成交 2018-01-17 成交單位:25.15

【股票分享】中鋼 成交 2018-01-17 成交單位:25.15

成交 25150元
電子手續費 15
交易稅:75   <=> 20150 * 0.003
淨收:25060元

總共雜費:90元 = 75 + 15

【轉編譯】html javaScript 使用到 encodeURIComponent

【轉編譯】html  java 使用到 encodeURIComponent

範例如下:
javascript
原值: http://tw.yahoo.com/
var a =encodeURIComponent('http://tw.yahoo.com/');

a 的編譯後結果 "http%3A%2F%2Ftw.yahoo.com%2F"

如果程式(C#, PHP,jsp, ....xooxxo)要接收「網頁」傳遞過來的值轉成正常的話
以下方式各程式範例

C#
result1 = System.Web.HttpUtility.UrlDecode(html_data);
String result2 = System.Uri.UnescapeDataString(result1);

Jsp
String htmlurl = req.getParameter("a");
htmlurl = java.net.URLDecoder.decode(htmlurl,"UTF-8");


最後說明 encodeURIComponent
主要是會針對特殊符號處理用

W3C 說明:http://www.w3school.com.cn/jsref/jsref_encodeURIComponent.asp
該方法不會對ASCII 字母和數字進行編碼,也不會對這些ASCII 標點符號進行編碼: - _ . ! ~ * ' ( ) 。


其他字符(比如:;/?:@&=+$,# 這些用於分隔URI 組件的標點符號),都是由一個或多個十六進制的轉義序列替換的。

詳細英文說明:
https://blogs.msdn.microsoft.com/yangxind/2006/11/08/dont-use-net-system-uri-unescapedatastring-in-url-decoding/