發表文章

IT|資料庫|PostgreSQL 在同一台主機執行多個實例

圖片
PostgreSQL 介紹 PostgreSQL 是以加州大學伯克利分校計算機系開發的 POSTGRES 版本 4.2 為基礎的對象關係型數據庫管理系統( ORDBMS ), 簡稱  pgsql, 是一個自由的對象 - 關係數據庫服務器 , 由社區驅動的的對象 - 關係型 數據庫系統 , 它支持大部分 SQL 標準並且提供了許多其他現代特性 , 它在靈活的 BSD- 風格許可證下發行 . 越來越多的人用它來取代 mysql 。 已成為開發首選的開源關係型數據庫 。 在同一台主機上開多個 PostgreSQL 程序     2016-12-06 9:24      PostgreSQL 的使用方式是先初始化一個資料庫並且啟動它,接著就會啟動相關程序,並去監聽 port。一個 Postgres 程序,是用他開啟的資料庫 instance 來區分的。 同一台主機上,也就能夠開很多個 PostgreSQL,而且也不見得一定要由 PostgreSQL 專有帳戶 postgres 來開一個資料庫 instance。 方式只要初始化一個新的資料庫就有了。 初始化新資料庫: 執行下面指令,就會產生出兩個資料夾,這兩個個別就代表一個資料庫 postgres $ initdb -D /var/lib/pgsql/9.5/data/ --locale=zh_TW.UTF-8 -A md5 -W cchsu $ initdb -D /home/cchsu/pgsql/9.5/ --locale=zh_TW.UTF-8 -A md5 -W 接者啟動時,指定不同 port 分別為5432及5433來開,就會跑出兩個 Postgres instance 了 postgres $ pg_ctl -D /var/lib/pgsql/9.5/data/ -o "-p 5432" -l logfile start cchsu $ pg_ctl -D /home/cchsu/pgsql/9.5...

IT|資料庫|MySQL 安裝於 Mac OS

圖片
安裝 MySQL [開始下載] MySQL官網下載頁面: https://dev.mysql.com/downloads/mysql/ [安裝] 在此選擇的是最後一個 dmg 格式的安裝檔,下載後直接安裝製可 Mac OS 安装 MySQL 需要注意事項     [關於 my.cnf 路徑] 透過以下指令查詢 my.inf 路徑 mysql --help | grep 'Default options' -A 1 Kevins-MacBook-Pro:etc Kevin$ mysql --help | grep 'Default options' -A 1 Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf /usr/local/mysql/my.cnf ~/.my.cnf Mac  MySQL 軟體安裝在此 /usr/local/mysql-5.7.17-macos10.12-x86_64 將 my-default-cnf 檔案拷貝到 /etc 目錄 sudo cp /usr/local/mysql-5.7.17-macos10.12-x86_64/support-files/my-default.cnf /etc/my.cnf [修改使用者密碼] 方法一:使用有權限或要修改的使用者本身登入mysql # mysql -u root -p mysql> SET PASSWORD FOR 'username'@'localhost' = PASSWORD('password'); mysql> flush privileges; 方法二:使用有權限的使用者登入mysql # mysql -u 登入使用者 -p mysql> use mysql; mysql> UPDATE us...

IT|作業系統|Linux|CentOS|CentOS 7 安裝於 VirtualBox

圖片
安裝 CentOS    2017-12-17 週日  首先需要下載 CentOS,請按以下連結下載即可。若有 Docker 安裝需求,由於只支援 CentOS 6.5 或以上,最後安裝 CentOS 7.x 以上的版本。 CentOS 下載: https://www.centos.org/download/ VirtualBox 虛擬化軟體下載: https://www.virtualbox.org/wiki/Downloads 安裝好 VirtualBox 後,執行左上方「[新增」選單 配置 Guest OS 記憶體,建議配置不要少於 3GB,惟須考量 Host OS 實體記憶體大小。 按下「繼續」,這步是要求大家設定虛擬硬碟的類型。為節省空間選擇「立即建立虛擬硬碟」,再按「建立」。 選擇虛擬影像檔格式,建議採用 VirtualBox 專屬檔案類型 VDI,便於日後空間不足時可動態擴充。 接著選「動態配置」便可。 然後是分派 Size,按自己實際需要進行設定即可,然後再按下「建立」便完成 VirtualBox Guest OS 的設定了。 此時會見到這畫面。在這裡請於左方剛建立的名稱按下滑鼠右鍵,然後選「設定值」即可。 請選上方的「存放裝置」選單,然後選「空」再於右方的光碟圖示按一下,並再選擇「選擇虛擬光碟檔案」,然後選取剛下載回來的 CentOS ISO 檔案後再按下方「完成」即可。 [進入 CentOS 安裝] 然後請按上方的 「啟動」按鍵,接著會彈出一個黑色畫面,此時代表終於開始安裝 Linux 了。 第一個畫面請選「Test this media & Install CentOS 7」。以預設的安裝設定完成安裝,假如大家對 Linux 熟悉話,請自行以常用方法解決 Linux 安裝部份。 請等一會,此時會出現這畫面,這裡就是開始安裝 CentOS 的畫面,請先選擇安裝過程採用的語言後再按「Continue」。 接著按「Installation Destination」,進行初步設定後按下「Begin Installation」。 ...

IT|資訊系統|專案管理|Redmine Project management system (PMS) 協同專案管理系統建置

圖片
專案管理的優缺點     2016年7月12日 Redmine 是一個開源的項目管理系統,它有如下優勢讓我選擇它作為我的項目管理工具。 [優點] Redimne 是免費的!如果會安裝也會維護的話,可以省下不少錢。 彈性的角色管理。 有甘特圖跟日曆功能可以使用。 開 issue 跟開 ticket 很方便。 支援透過電子郵件新增問題。 有繁體中文介面可以使用。 [缺點] 要自己安裝,而且電腦要裝好 Ruby on Rails 的環境,這對一般使用者來說就是一個頗高的門檻。 [實務上的困難] 通常一人專案的開發者容易採取邊做邊想的方式來做專案,這跟上述的思考方式、和習慣完全背道而馳,也無法估計時間,因此如果要組織一個團隊做事、享受團隊所帶來效率,勢必要改變習慣,而過程其實是需要練習摸索的。 使用 Docker 搭一个Redmine  CentOS 結合 Docker + Redmine [ 安裝步驟 ] 安裝 fig sudo yum install -y python-pip sudo pip install -U fig 若出現錯誤,使用以下兩行指令更新 sudo easy_install six sudo easy_install requests 創建 redmine 資料夾 mkdir ~/docker/redmine Docker search redmine; 查詢看官方是否出  Docker 鏡像或者其他人作好鏡像了,若是有就直接引用就好。     $ docker search redmine     NAME                            ...

IT|軟體|VirtualBox 虛擬空間動態調整與通訊轉送

圖片
介紹 VirtualBox 是免費好用的虛擬機器,不過偶而會遇到一種情況:剛開始裝設的虛擬機器只是用來測試,所以一開始沒有配給很大的虛擬硬碟,不過後來測試的東西越來越多導致原有硬碟容量不足,在以前的 VirtualBox 版本中虛擬硬碟 (VDI,Virtualbox Disk Image) 一旦決定了最大值是無法事後擴增的,因此只能建立一個新的。在 VirtualBox 4.x 以後的版本已經支援 VDI 容量擴增與壓縮,不過官方並不建議這樣做,故沒有製作 GUI 的調整方式,僅提供指令來 擴充/壓縮 硬碟映像檔。 [ 動態空間調整 ] 放大硬碟空間 (限定使用  vdi 格式 )    July 20, 2016  放大硬碟空間 VBoxManage modifyhd  Win7-旗艦版.vdi  --resize 512000 壓縮虛胖的硬碟空間     2016年5月19日 VirtualBox同時支援自己的虛擬硬碟格式VDI和Vmware的VMDK格式,兩種格式的壓縮略有不同。 [磁碟重組] : 第一步要做的是磁碟重組,打開虛擬機器,執行下面的命令: Linux下 sudo dd if=/dev/zero of=/EMPTY bs=1M sudo rm -f /EMPTY Windows下 Windows系統需要下載  Sysinternals Suite   解壓縮後 路徑請放在: C:\SysinternalsSuite 執行以下指令 sdelete –z Sysinternals Suite 壓縮檔 [壓縮資料] 關閉虛擬機器,現在可以開始壓縮虛擬硬碟了如果你的虛擬硬碟是 VirtualBox 自己的VDI格式,找到你的虛擬硬碟檔,執行命令: MAC VirtualBox 應用程式安裝路徑:/Applications/VirtualBox.app/Contents VBoxManage.exe modifyhd mydisk.vdi --compact 如果你的虛擬硬碟是V...

IT|軟體|開發|Gradle 專案建置自動化工具

圖片
簡介 Gradle 簡單說就是 Java 世界的 Makefile,它可以幫忙打理那些在專案開發過程中的瑣事,舉凡編譯、測試、檢查程式碼、產生文件、清理或壓縮檔案、上傳、發佈、重新啟動伺服器到送出電子郵件,都可以利用 Gradle 撰寫的 Script 來自動完成作業。 Java 建構工具 Ant、Maven vs Gradle 比較    2016年7月15日 [Ant]  Ant 的主要優點在於對構建過程的控制上; Ant是第一個「現代」構建工具,在很多方面它有些像Make。2000年發佈,在很短時間內成為Java項目上最流行的構建工具。它的學習曲線很緩,因此不需要什麼特殊的準備就能上手。它基於過程式編程的 idea。在最初的版本之後,逐漸具備了支持插件的功能。 主要的不足是用 XML 作為腳本編寫格式。 XML ,本質上是層次化的,並不能很好地貼合  Ant  過程化編程的初衷。 Ant 的另外一個問題是,除非是很小的項目,否則它的  XML  文件很快就大得無法管理。 後來,隨著通過網絡進行依賴管理成為必備功能, Ant  採用了 Apache Ivy 。 [Maven] Maven  發佈於 2004 年。目的是解決碼使用  Ant  所帶來的一些問題。 因為  Maven  主要聚焦於依賴管理,實際上用  Maven  很難寫出複雜、定制化的構建腳本,甚至不如  Ant 。 Maven  的主要優點是生命週期。只要項目基於一定之規,它的整個生命週期都能夠輕鬆搞定,代價是犧牲了靈活性。 Maven  仍舊使用  XML  作為編寫構建配置的文件格式,但是,文件結構卻有巨大的變化。 Ant  需要碼將執行  task  所需的全部命令都一一列出,然而  Maven  依靠約定( convention )並提供現成的可調用的目標( goal )。不僅如此,有可能最重要的一個補充是, Maven  具備從網絡上自動下載...

IT|軟體|分散式運算|Hadoop 在樹莓派運行

2016年4月26日 Hadoop 介紹資料 Hadoop 2.x 和 1.x 已經大不相同了,應該說對於存儲計算都更加通用了。 Hadoop 2.x 實現了用來管理集群資源的 YARN 框架,可以面向任何需要使用基於 HDFS 存儲來計算的需要,當然 MapReduce 現在已經作為外圍的插件式的計算框架,你可以根據需要開發或者選擇合適的計算框架。目前,貌似對 MapReduce 支持還是比較好的,畢竟 MapReduce 框架已經還算成熟。其他一些基於 YARN 框架的標準也在開發中。 YARN 框架的核心是資源的管理和分配調度,它比 Hadoop 1.x 中的資源分配的粒度更細了,也更加靈活了,它的前景應該不錯。由於極大地靈活性,所以在使用過程中由於這些配置的靈活性,可能使用的難度也加大了一些。另外,我個人覺得, YARN 畢竟還在發展之中,也有很多不成熟的地方,各種問題頻頻出現,資料也相對較少,官方文檔有時更新也不是很及時,如果我選擇做海量數據處理,可能 YARN 還不能滿足生產環境的需要。如果完全使用 MapReduce 來做計算,還是選擇相對更加成熟的 Hadoop 1.x 版本用於生產環境。 2016年5月5日   MapReduce 概念 數錢幣故事來解釋MapReduce MapReduce的基本概念其實不難懂,用一個真實的數錢幣故事來解釋。有位企業主為了刁難銀行,用50元硬幣和10元硬幣償還316萬元的貸款,數萬枚硬幣重達1公噸,還得找來吊車才能送到銀行,幾位行員七手八腳花了好幾個小時才清點完畢。銀行只要不斷加派人手,就能縮短清點時間,例如能立即找到100個人手,10分鐘內就能完成,不會影響到正常銀行運作。 就像這個不斷加派人手來清點錢幣的做法一樣,MapReduce可以不斷增加更多伺服器來提高運算能力,增加可承載的運算量。透過Map程式將資料切割成不相關的區塊,分配給大量電腦處理,再透過Reduce程式將結果彙整,輸出開發者需要的結果。 1.Map程式將資料切割成不相關的區塊,分配給大量電腦處理 2.透過Reduce程式將結果彙整 2016年4月22日 Raspberry Pi  安裝 Hadoop Hadoop 安裝與配置 ...

IT|軟體|資料庫|Key-Value|Redis 安裝

圖片
簡介    7 November 2016 Redis 是近年來出現 NoSQL 開源資料庫的一種,並且將資料存放在記憶體中,以提升讀取的效率。以架設古典音樂串流網站 Muzik Online 聞名的希幔科技,對於他們旗下的網站需要應付大量的流量,採用 Redis 做分散式快取服務。 Redis 這種記憶體式資料庫,主要的功能除了提供快取外,還可額外提供運算處理,所以非常適合輔助關聯式資料庫。以他實際的應用方式,全部資料還是放在資料庫,真正需要加快速度的資料或額外特別的處理時,也會放一份在 Redis 處理。 性能極高 – Redis  能讀的速度是 110000 次 /s, 寫的速度是 81000 次 /s 。 安裝  Redis 2017-06-28 Wed [ Mac OS 安裝 Redis ] 下載安裝包 redis-3.0.7.tar.gz 官網下載 地址 解壓 tar -zvxf redis-3.0.7.tar.gz  將解壓後的文件夾放到 /usr/local目錄下 編譯測試 , 接下來在終端中切換到  /usr/local/redis  目錄下 , 輸入: sudo make test 編譯安裝:在終端中輸入命令: sudo make install 啓動  Redis ,輸入命令 $ redis-server /usr/local/etc/redis.conf & 成功啟動! 除了透過官方網站的安裝包來安裝以外,也可利用 Mac OS 套件管理工具 Homebrew 來安裝 Redis。 樹莓派 安裝 Redis    2017-11-09 週四 安裝前先更新樹莓派 sudo apt-get update sudo apt-get upgrade 下載安裝包 cd /home/pi/Downloads ...