發表文章

目前顯示的是 12月, 2017的文章

IT|資料庫|PostgreSQL 安裝於 Mac OS、Ubuntu Linux

圖片
PostgreSQL 介紹 PostgreSQL 是以加州大學伯克利分校計算機系開發的 POSTGRES 版本 4.2 為基礎的對象關係型數據庫管理系統( ORDBMS ), 簡稱  pgsql, 是一個自由的對象 - 關係數據庫服務器 , 由社區驅動的的對象 - 關係型 數據庫系統 , 它支持大部分 SQL 標準並且提供了許多其他現代特性 , 它在靈活的 BSD- 風格許可證下發行 . 越來越多的人用它來取代 mysql 。 已成為開發首選的開源關係型數據庫 。 安裝 PostgreSQL [ 安裝標的: Mac OS X ] 在 MAC   環境下 ,除了 可以使用 brew 安裝 , 也可以直接從網路下載 安裝檔來 安裝 ,本例以安裝檔作為安裝示範。 1.使用 brew 指令安裝 brew install postgresql 2. 選 擇  Mac OS X 版本下載 ,直接 安裝即可 。( 本例以此為示範 ) PostgreSQL 官網下載地址 系統安裝相關目錄 資料庫系統安裝路徑    /Library/PostgreSQL/10 資料庫安裝路徑  /Library/PostgreSQL/10/data 在安裝的過程中 系統 會自動為生成一個賬號  PostgreSQL, 密碼隨機 。 若需要要重設密碼 ,可透過上面 GUI 介面重設,或透過控制台以指令方式重設 sudo passwd -d postgres #指令說明 password  -d 为删除指定用户密码 設置新密碼 sudo -u postgres passwd 然後就可以用 postgres 用戶在服務器上通過 pgAdmin 或者 psql 來操作資料庫了 。 [ 執行 SOL Shell ] 執行 SQL Shell (psql) 啓動程式 Server [localhost]:    // 第一步, 默認 localhost , 遠端資料庫 , 請輸入遠端服務器  IP Database [postgres]:   // 第二步, 執行 資料庫 , p

IT|程式設計|Front-End|Redis 及 WebSocket 的一個實時消息推送系統

圖片
需求分析    2017-06-12 Mon 後台同時對接了網頁,微信公眾號,iOS 以及 Android客戶端。在某些特定場景下,比如一個用戶接收到其他用戶的提問,我們就需要向這個用戶推送一條消息 (設備狀態)。用戶或者在手機上收到了一條彈窗通知,或者在網頁上看到了消息圖標顯示小紅點 (告警消息)。 公眾號消息推送使用客服接口推送消息。 移動端的消息推送使用國內某些知名的推送平台。在用戶從APP登錄的時候,APP會主動向推送平台設置自己的ID。後台將消息發送到推送平台時指明這個ID即可。 網頁的消息推送一般常見的實現方法有輪詢,長連接,WebSocket等等。在這裡我們使用的是WebSocket 。 消息傳遞的基本流程 後台服務器在某些情況下生成了一條消息, 首先將消息保存到本地數據庫,這樣客戶端可以調用API顯示消息列表。隨後消息被放入任務隊列,任務隊列將消息通過推送平台發送至APP,通過微信公眾號後台發送至用戶微信客戶端。 為了將消息通過WebSocket發送至在線的用戶手中,我們先將消息發佈到 Redis。訂閱了 Redis 的 Node 收到消息,將消息通過 WebSocket 傳遞至與之連接的瀏覽器。 一個大致的消息流如下圖所示: Redis的發佈訂閱機制 所謂的 Publish/Subscribe,可以讓發佈者將消息發佈至某一個 channel,所有訂閱了這個 channel 的訂閱者就可以立即收到這個消息。在 Redis 的發佈訂閱機制裡面,一個消息可以被發佈至多個channel,訂閱者也可以同時訂閱多個channel的消息。 127.0.0.1:6379> subscribe message-channel Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "message-channel" 3) (integer) 1 為了訂閱一個名為 message-channel 的消息,我們可以在 Redis 命令行下執行 127.0.0.1:6379> publish message-channel "Thi