發表文章

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? 告知或者假設他們已明白 減少使用者的思考、焦慮 分析 用資料證明你是對的,或者說明其真實意義 搜尋的是主觀意見還是客觀事實 使用者行為的原因? 體驗上的設計是絕對的數字還是相對地改善 如何衡量? 測量的是正確的東西嗎? 何不也尋找一下壞的結果 如何利用分析改善

Scrum的入門介紹

前陣子團隊因內部的混亂 ( 或者是跟風 ) 所以想導入最近很紅的agile 剛好我在學校就是在學Scrum的 雖然稱不上高手,但基礎還是有些的 為了跟團隊成員介紹這套流程框架 就順手作了個投影片丟上了slideshare http://www.slideshare.net/ssusered87b5/scrum-64316142 後話是... 最後因為種種原因,團隊中的流程變成了扒皮拆骨、東湊西湊的類Scrum XD

Docker系列: 把container們互相連通 "--link"

今天在試著用ELK作為Monitor的工具 身為一個 懶人 Devops的愛好者 就選用了Docker作為快速建起這些服務的工具 (不得不說,這實在是很方便阿<3) 不過其中有不少小問題是要研究一下才會動的 Docker的container都是獨立的個體 通常在run的時候你會自己指定好container跟local的port對應 > -p 8080:8080 之類的 但是有時候多個服務之間會有需要彼此溝通的情況 比如說在 1. ELK的時候logstash要跟elasticsearch溝通 2. Kibana要跟elasticsearch溝通 這時候就要用到--link的option 通常會這樣使用 > docker run -it -link 'container_name':'alias' 'image_name' 然後再使用的時候,如果原本要使用 localhost:8080 就要改成 alias:8080

google smtp好麻煩啊~

1 .將「安全性較低的應用程式存取權限」設為「啟用」 找到 Google 帳戶內找到「安全性較低的應用程式存取權限」的設定 或是直接開啟此網頁 https://www.google.com/settings/security/lesssecureapps 登入後設為「啟用」。 2.解除人機驗證鎖定 直接開啟此網頁 https://accounts.google.com/b/0/DisplayUnlockCaptcha 點下「繼續」。 3.啟用兩步驟驗證,再設定應用程式專用密碼 直接開啟此網頁 https://accounts.google.com/b/0/SmsAuthConfig?hl=zh_TW ,啟用兩步驟驗證。 不過要注意的是,以後在尚未信任的裝置上用email跟密碼登入 Google 帳號,會變成無法使用,一定還要再次透過電話或簡訊驗證,才能登入帳戶。 開啟此網頁 https://security.google.com/settings/security/apppasswords?pli=1 ,讓它產生一組應用程式專用密碼,然後把寄件程式內的 google 密碼換成這組應用程式密碼。 注意哦!這組應用程式專用密碼只能登入一個地方,如果把這組密碼先拿來當smtp寄信,又再拿去登入其他東西,後來那個是無法登入的。