發表文章

java.security useSystemPropertiesFile

在Java使用TLS的部分 有時候會遇到需使用TLSv1.0 v1.1的狀況 須由 java.security file 去調整 tls.disabledAlgorithms 拿掉 TLSv1.0 TLSv1.1 但執行後卻又不如預期,還是跑出一樣的結果 這時有可能是執行時 tls.disabledAlgorithms 讀取的來源導致的 可能是從 Security properties(java.security  也可能是從 System properties 這時可以加入此執行參數 -Djava.security.debug=properties 並透過以下二項目確認 properties: java.security.disableSystemPropertiesFile=false properties: security.useSystemPropertiesFile=false https://stackoverflow.com/questions/73958582/java-how-to-know-the-actual-security-properties-in-use

在Apache中Serve Pre-compressed content的方法

1. 在接到 request 的時候先 rewrite 它 // xxx.js -> xxx.js.gz 2. 在對應檔案的時候在指定他的 content-type and set content-enconding header //這些加到 httpd.conf 下,或指定的 virtual host 下 <Location /js/>     RewriteEngine on     RewriteCond %{HTTP:Accept-Encoding} \b(x-)?gzip\b     RewriteCond %{REQUEST_FILENAME}.gz -s     RewriteRule ^(.+) $1.gz [L] </Location> <FilesMatch \.js\.gz$>     ForceType text/javascript     Header set Content-Encoding gzip </FilesMatch>

springboot如何設定Cookie

在專案中雖然使用JWT做驗證(即為stateless的模式 但還是被黑箱掃出來有 過度廣泛的工作階段 的弱點(Medium 所以還是得試著處理,報告中提到設置 cookie.domain 即可 Springboot 的 cookie 設定,在 Property 中加入以下即可 server.servlet.session.cookie.comment= server.servlet.session.cookie.domain= server.servlet.session.cookie.http-only= server.servlet.session.cookie. max -age= server.servlet.session.cookie.name= server.servlet.session.cookie. path= server.servlet.session.cookie.secure=

RHEL7 8080打不通??

 RHEL7 小排雷 過往都用Ubuntu/Windows Server來做環境 這次第一次依規格用了RHEL做測試環境 結果服務起起來本地正常,但 VM host 跟外部就是死活連不上機器!! 浪費一整天才想到或許是 firewall 的問題 指令參考以下即可 firewall-cmd --zone=public --permanent --add-port 8080/tcp firewall-cmd --reload

python ascii encoding系列 遇到問題

在處理python code的時候 有時候會有  "嗨" in string 的情況發生 就會噴 ascii can not encode 0x09之類的東西 這時候網路上有些文章說 import sys reload ( sys ) sys . setdefaultencoding ( "utf-8" ) 這在有些時候會有問題 另一種workaround是把中文字串改成 unicode("嗨","utf-8") 這樣就沒問題囉~~

elasticsearch 升級 1.x --> 2.x

YO! ElasticSearch 1.x 升級 2.x 的一些小心得 來一段多餘的前言 為了不寫半行程式碼的方式完成學校的作業,我還是選擇了用ELK中的E跟K來偷懶一下,做一下資料的統計啊~ 數量長條圖啊~ 之類的 不過因為裝了新版的Kibana,跟老師提供的ElasticSearch 1.x不合,所以花了很多時間在處理升級的事...,這之中實在充滿雷啊!! 升級ElasticSearch 1.x --> 2.x https://www.elastic.co/guide/en/elasticsearch/reference/2.4/restart-upgrade.html 最簡單就是參考這篇,不過我參考了還是弄了老半天 先來講解一下裡面每個步驟  1. Disable Shard allocation shard 就是一個 Lucene index,至於Lucene,應該算是個檢索引擎 ElasticSearch平時會把資料分成多個shard然後再分別分在你所運行的node裡面 阿既然要升級,就先把shard allocation關掉,專心對付每個node PUT / _cluster / settings { "persistent" : { "cluster.routing.allocation.enable" : "none" } } 2. Perform a Synced flush (optional) 這步主要是讓接下來shard在recover的時候快一點 POST / _flush / synced 3. Shutdown and upgrade all node 這邊就比較麻煩了 你可以選擇 安裝一個新版本的ElasticSearch,然後把conf跟data路徑指向舊版的位置 解開新版壓縮檔,然後把除了data, config的都蓋過去 安裝一個新版本的,然後把舊版的config跟data拉到新版的資料夾下 在1.x --> 2.x 的時候,要注意舊版的config裡有一行 http.cors.enable

UX的五大成分

UX的五大成分 主要分為 心理學 可用性 設計 文案撰寫 分析 心理學 使用者為什麼要來這裡 必須做多少事才能達到目的 使用多次後,會有什麼習慣 對於這個東西的期待是什麼 設計前是否有先入為主的假設 他們會多常做這件事 可用性 能否使用較少的輸入來完成 有什麼方法防止使用者端的錯誤嗎(防呆 是清楚直接還是聰明過頭 好找 v.s. 不錯過 v.s. 自然就會這樣做 流程有符合使用者假設嗎 有提供使用者必須的資訊嗎 有更簡單的方法嗎 如果沒有讀說明的話,有辦法使用嗎 設計 看起來如何,是否可藉由外觀獲得信任 如果沒有文字說明,能否傳達目的 表現品牌的風格? 設計上是否能引導目光,進而化為流程 顏色、形狀、排版來讓使用者找到他們想要的東西 可點擊 v.s. 不可點擊 文案撰寫 內容明確自信 鼓勵使用者完成目標嗎?我們想要他完成目標嗎? 最重要的內容佔了最多的篇幅嗎? why not? 告知或者假設他們已明白 減少使用者的思考、焦慮 分析 用資料證明你是對的,或者說明其真實意義 搜尋的是主觀意見還是客觀事實 使用者行為的原因? 體驗上的設計是絕對的數字還是相對地改善 如何衡量? 測量的是正確的東西嗎? 何不也尋找一下壞的結果 如何利用分析改善