發表文章

Redis-Server with PHP 的使用 in CentOS7

圖片
Redis-Server with PHP 的使用 in CentOS7 * Redis DB server 的用途 Redis 是一個 key-value 架構的 database , 且因為它工作在記憶體上面,所以速度非常的快。 可以用來當 DB cache 加速的功能或是需要快速反應的 DB * CentOS 7 的 Redis-server 安裝方式 # yum install redis -y  * 安裝參考 http://sharadchhetri.com/2014/10/04/install-redis-server-centos-7-rhel-7/ * 通常會搭配 php 等 client 端工具一起安裝, 這裡我是以 php56w 的版本安裝, 因為有比較多 lib 支援 # yum install php56w-pecl-redis * php56w 可以參考 webtatic 釋出的 yum repo 安裝參考 https://webtatic.com/packages/php56/ RHEL7 OR EPEL7  官方網站跑的版本有點慢,可以先參考這個版本。 * 啟動 # systemctl start redis.service * 預設開機啟動 # systemctl enable redis.service * 看狀態 # systemctl status redis.service * 測試 , 剛裝好的 redis-server 是沒有密碼的, 且只能 127.0.0.1 執行。 可以用 redis-cli client 端工具測試 PONG 是正確的回應。 [root@c7 ~]# redis-cli ping PONG * 所以我都會設定個密碼, 並且把 bind 打開讓所有人都可以連上來。 * 請找到下面兩行, 修改為你要的密碼及主機 ip # vim /etc/redis.conf bind 111.111.22.22 requirepass 123456 * 重新啟動 # systemctl restart redis.service * 驗證看看 port , 應該是 6379 # netstat -antlp | grep ...

53 分鐘

今天看到一個數字, 53 分鐘. 就想到 Amazon Route 53 (http://aws.amazon.com/tw/route53/) 小小的算了一下 一年的時間 60*24*365.25=525,960 分鐘 可用性指標 = (1-故障時間/整年分鐘)*100% 99.99=(1- X/525960)*100% X = 53分鐘 所以  Route53 應該是Amazon很委婉的表達他是 99.99% 的網站可用性... 好巴,算你有囂張的本錢。

建立一個 postgresql 帳號 with MADLIB 的範例:

圖片
以 http://ooxx.db.com.tw/phpPgAdmin/  phpPgAdmin 當範例  建立一個 postgresql 帳號 with MADLIB 的範例 (1) 因為系統內已經有個 hadoop 帳號建立 MADLIB 的函數 以這個當範本就可以. 否則重新匯入需要 super user 帳號會很不方便。 如果需要重新建立,請參考   http://blog.jangmt.com/2016/04/madlib-postgresql-94-in-linux.html 文章設定。 (2) 建立的 SQL 範例 , 需要一行一行填入. 預設不允許多行一起進入 sql -- 建立使用者 CREATE USER 帳號 WITH PASSWORD '密碼'; -- 建立資料庫 CREATE DATABASE 帳號(同DB) WITH OWNER 帳號 ENCODING 'UTF8' TEMPLATE hadoop; -- 註解 DB , 方便找人 COMMENT ON DATABASE 帳號 IS '使用者資訊註解'; -- 授權 GRANT ALL PRIVILEGES ON DATABASE 帳號 to 帳號(同DB); (3) sql 範例如下: CREATE USER b004021234 WITH PASSWORD '1234atl1234'; CREATE DATABASE b004021234 WITH OWNER b004021234 ENCODING 'UTF8' TEMPLATE hadoop; COMMENT ON DATABASE b004021234 IS '蔡ooxx 0926123456'; GRANT ALL PRIVILEGES ON DATABASE b004021234 to b004021234; (4) 如果要一次建立很多人,那就以此範本寫成批次處理就可以。 REF: http://blog.jangmt.com/2016/04/madlib-postgresql-94-in-linux.html  http://madlib.incubator.ap...

更換家用抽水馬達紀錄

圖片
更換家用抽水馬達紀錄(以加壓馬達替代) ,身為一個專業的 IT 人員,更換一下設備也是很正常的。 昨晚 洗澡到一半,突然發現水量變小了 。感覺好像有點不妙,上樓檢查了一下。發現 三年前安裝的那台 AQ200 馬達 的電子LED沒有亮燈,但是電力 110V 有進入馬達。猜想說該不會電路板燒了巴!!!  因為水龍頭還有水只是水量沒有加壓,且已經很晚了就先這樣隔天早上在處理。 到了更晚的時候發現不是水量變小,是整個沒水了 。一時間無法找到原因,只能上網找找看答案。 根據官方網站的判斷,我先懷疑機器故障,隔天早上直接就去買台新的大井  HQ200  ($3000)1/4HP準備更換機器,但要換的時候才發現竟然是水塔沒水,檢查液位開關發現都沒有反應,手動開關還是無法出水。 開始懷疑是樓下抽水馬達的問題,馬上再去換了台 大井 HQ400 ($3500)1/2HP的機器。原本這台 木川KQ400 前幾天聽他的馬達生,就感覺怪怪的要轉不轉的。 抽水馬達 木川KQ400 ,左方開關為連接到水塔的液位開關。 先確認電力有進入,但馬達不能動作。google查了很多人的狀況,都說 可能是壓力感應開關有問題 ,所以我先依據網路上的教學, 拔除開關 Q 這條線,以一字起直接將兩個 pin 測試短路,但還是無法啟動 ,所以就懷疑應該是馬達真的掛了,用了快 10 年掛掉應該也合理啦。 測試是否為KQ400 的壓力感應開關故障 新品 大井 HQ400 很重要:更換前,請先把抽水馬達的電源開關,從開關箱處關閉。 直接拆掉舊有的 KQ400 ,管口、固定位位置幾乎都一樣。 現在的電壓選擇變得更方便了,直接一個開關就決定 110V or 220V 了。 再把110V電力接上去就可以,安裝前記得先打開自來水公司的來源水閘,上方水管是往水塔打水。左方開關是接到頂樓水塔的液位開關,頂樓液位開關滿水位關閉,馬達沒電也就不會啟動了。 注水塞 後記: 1. 下方水管閘閥為自來水公司的水,直接打開就有水了更換前記得要關閉。 2. 送電前先把機器上面的 注水塞打開,注滿水 。也可以打開下方水管閘閥注水,這樣比較快。 3. 送電後,試著旋開 1/4 注水塞,看有沒有水噴出來,有噴出來表示抽...

Postgresql 上面的「尿布、啤酒、星期五」,不用寫程式下行 SQL 就搞定

圖片
MADlib + postgresql 9.4 in Linux CentOS 7 MADlib®: Big Data Machine Learning in SQL for Data Scientists 啤酒、尿布、星期五 MADlib 在 postgresql 上面以是以 postgres 函式的型態來實現對於數據資料的操作 ,你可以透過這個以 plpython 語言寫的函式,直接操作原始數據轉存到新的資料庫當中,這個函式庫支援很多機器學習的演算法,可以很方便的分析數據. 目前提供的有底下這些,看起來應該有陸續發展的可能,因為已經被放到 Apache 基金會的子項目計畫內了...XDXD 功能: Classification 分類 Regression 回歸 Clustering 集群 Topic Modeling 主題模型 Association Rule Mining 關聯性規則 Descriptive Statistics 描述性統計 Validation 驗證 more... http://madlib.net/product/ 官方網站 http://madlib.net/ 我使用來安裝的版本是 CentOS Linux 7 ,但是安裝這個 LIB 前請先選擇一套支援的資料庫系統,這裡我用的是 Postgresql 9.4 的版本,安裝請參考這一篇: http://blog.jangmt.com/2016/03/postgresql-94-in-centos-linux-7.html 下載 http://madlib.net/download/ 安裝 [root@c7 ~]#    yum install madlib-1.8-Linux.rpm  -y 檢查是否裝了,安裝好後他的路徑放在 /usr/local/madlib/ [root@c7 ~]# rpm -qa | grep madlib madlib-1.8-1.x86_64 我使用 Single Node 的模式,系統需求:( HAWQ >= 1.2, Greenplum >= 4.2 or PostgreSQL >= 9.2 ) 在安裝後,這特 MADlib ...

將 CSV 檔案加上 UTF BOM 讓它可以在 Windows 被 EXCEL 正確的開啟沒有亂碼的問題

圖片
將 CSV 檔案加上 UTF BOM 讓它可以在 Windows 被 EXCEL 正確的開啟沒有亂碼的問題 在 UTF-8 文件中放置 BOM 主要是微軟系統的習慣。但是真的沒有必要帶拉!!!! http://stackoverflow.com/questions/2223882/whats-different-between-utf-8-and-utf-8-without-bom According to the Unicode standard, the BOM for UTF-8 files is not recommended: 圖片和內文不太相關 下面提供一種在 windows 上面,政治正確的解法。 XDXD // ======================================================== // 產生現在的秒數 $time_string = date("YmdHis"); // 寫入 utf8 with BOM function writeUTF8File($filename,$content) {     $f = fopen($filename, 'w');     fwrite($f, pack("CCC", 0xef,0xbb,0xbf));     fwrite($f,$content);     fclose($f); } $f = 'uploads/private/'.$time_string.'.csv'; $fdir = 'uploads/private/'; // 檔案不存在就先建立檔案 if (!file_exists($fdir)) {     mkdir($fdir); } writeUTF8File($f,$csv); echo 'CSV 輸出完成,請點選 連結 下載。 '; // ========================================================

取得 mysql 資料表中的「欄位名稱」以及「欄位註解」

圖片
取得 mysql 資料表中的「欄位名稱」以及「欄位註解」 在 MySQL 資料庫中,宣告資料表的過程,可以一併把欄位名稱寫在 COMMENT 選項中,如果在程式可以把這個 COMMENT 也抓出來配合欄位的名稱,可以產生自動把整個表 DUMP 出來成為一個 CSV 不就很方便。 圖片和內文不太相關 // ----------------------------------------------- $table='表格名稱'; // 資料庫中表的欄位抬頭資訊 $col_sql = "SELECT COLUMN_NAME,COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = '$table';"; $col = runSQL($col_sql); // var_dump($col); // 資料欄位 $sql = "SELECT * FROM `$table` WHERE 1;"; $row = runSQL($sql); // var_dump($row); $csv = ''; // 欄位名註解 //echo " "; for($i=1;$i<$col[0];$i++){ //echo $col[$i]->COLUMN_COMMENT.", ";  $csv = $csv.$col[$i]->COLUMN_COMMENT.", "; } $csv = $csv."\n"; // 欄位名稱 //echo " "; for($i=1;$i<$col[0];$i++){ //echo $col[$i]->COLUMN_NAME.", ";  $csv = $csv.$col[$i]->COLUMN_NAME.", "; } $csv = $csv."\n"; // 資料列取得欄位 //echo " ...