Blog List

旅遊業陸海空大作戰:旅遊網站 + app + 大數據 + 行銷策略

我在這簡介幾個旅遊相關的概念 包括前端網頁、後端串接架構、戰情 dashboard、用大數據取得即時戰情,我會陸續刊登出來。 主題項目 1. 前端網頁分類,為何價格懸殊,其實強度差很大,戰力不同 2. 中間串接 API ,  看似簡單,但是是脆弱的關鍵點 3. 資料庫大不同,用了會壞跟不會壞的差別在哪? 4. 數據分析:你才知道應該哪裏該派兵,哪裏該收回,反而省大錢。 5. 行銷策略:行銷是陸海空三軍互相搭配,不是只是 SEO   p.s. 人客們請不要在直接跟我需求我做的作品,原因如下 1. 我的其他真的有跟我簽約的客人尚未發表,我有保密義務,發表後您會看到。 2. 只有做出來到處 copy 給別的客人的接案商會把網頁到處 po出來。那個是代工廠,很抱歉,我是軟體軍火商,不是代工廠。 3. 後段操作的畫面,屬於商業機密,eyes only,請預約詳談。 4. 敝公司目前的市場定位是做完全不同於現有的旅遊平台,您說的出來我們就可以做得到。


旅遊大數據:簡易範例 – 用 R 語言的 ggmap 結合 ggplot 繪畫分析地圖

install.packages(“ggmap”) library(ggmap) qqmap 的快速使用方法 quick map > qmap(“Taiwn”, zoom=8) 不同的 google 圖案 qmap(place, zoom=14, maptype=’hybrid’) hybrid=混合 satellite=衛星 roadmap=道路 terrain=地形 如果你不知道一個地方的經緯度,此方法可以快速取得經緯度 快速取得經緯度的辦法 geocode(place) 到中華民國交通部觀光局的 Open Data 專區 http://admin.taiwan.net.tw/public/public.aspx?no=381 (如果網址已經失效,可以到這直接下載 csv 檔案) link 1 link 2 ”旅館地址經緯度“ 和 ”民宿地址經緯度“ 這兩個檔案 我們各自把他們改名為 hotel_address_ll.xlsx 和 homestay_address_ll.xlsx 然後把他另存新檔為 csv 檔 使用 getwd() 來取得你的工作目錄,然後把 csv 資料丟到那裏去。 > getwd() > “/Users/hamilton” p.s.


旅遊大數據 – 旅遊客戶搜尋範例- R語言範例

輸入指令的介面 啟動 R 語言後進入輸入指令的介面,每輸入一次指令,就可以馬上知道結果。 如果你按上下箭頭,你可以取得你之前輸入的指令。也可以用平常的 Ctrl+C 和 Ctrl+V 就可以做複製和貼上的動作。 請在 RStudio 裡面的 Console 視窗輸入以下指令。 R 語言其實可以像你的電子計算機一樣,你輸入什麼他就出現什麼 > 9 * (2.3 + 1.125) * 2.5/5.1 + 0.23E3 [1] 245.1103 只是它可以比你做出的比你想像多跟多。 sqrt(610.25) [1] 24.70324 > exp(10) [1] 22026.47 > log10(10000) [1] 4 >x round(1.1234, 2) [1] 1.12 你可以把你所計算的資料儲存起來,這樣才可以後續使用。 重要的 c(), 你的最好朋友, 什麼都放進去 > c(1,2,3) [1] 1 2


旅遊規劃、dynamic packaging and 與類Uber 的旅行公司

曾經在旅行社這麼多年,很多旅行社都試圖突破自我,在行銷創意上一直想去做突破。不論是做低價網站、旅遊規劃網站、比價網 meta search、dynamic packaging 、價格趨勢視覺化等等,有些是透過功力高強的工程師來執行達成,有些是透過行銷人員企劃出創新的網站,各出奇招,延攬人才。 也有些網站乾脆來個募資,先搞大再說,但是不賺錢,想說跟Uber 一樣,搶市佔第一,有錢的出錢,有力的出力, 但 exit 點是?目的地不重要,過程風景比較重要?這是資本市場極緻化的產物,但請勿是泡沫結束前最後離席的人。 通常工程師是bottom up, 先從基礎做起;填土、打地樁、一個項目一個項目做起,通常能持續下去的人,製作低價網站、比價網站然後走向聖殿,也就是dynamic packaging。這種類型做得最成功的應該屬於 Expedia 了吧。 行銷人員主導的專案是 top down,擁有絕佳的點子,找厲害的外包團隊或是inhouse 人員,然後開始打造夢想。這樣的行銷為主的團隊,通常不外乎走向旅遊規劃網站、行程比較網站等行銷為導向的機制。通常遇到了工程師,聽到的評語不外乎 “不就是連個API,怎麼這麼久?怎麼這麼貴?”,然後就一次規劃了多個行程項目,浩浩蕩蕩的出發了。Expedia 光是機票和訂房就花了很多年去整合,結合了 行銷、工程技術、賺錢的 business mode 這是拔出石中劍的三把鑰匙。 這樣只注重行銷為主導的公司只拿到一把鑰匙,他們並不注重工程人員,他們把工程師當水電工,得到的也只有水電工的結果。可能我孤陋寡聞,但到現在沒有真的成功的典範出來。 解法:注重其他 2 把鑰匙 有些小朋友和博士生比較聰明,他們同時擁有技術能力和行銷創意模式。現在幾個有名氣的大部分走向價格趨勢視覺化網站、大數據分析價格趨勢然後給予推薦等兼具行銷和技術的網站。他們快速竄紅、備受矚目。但他們的上游廠商問我,”他們怎麼賺錢?何時可以賺錢?”。通常這類型的新創公司都是對旅遊有憧憬的非旅遊人士後來加入,但他們少了商業模式,還在持續摸索中…… p.s. 大數據分析公司接近成功因為其實他算是是有商業模式的,但只有一家供應商絕對不是健康的。 解法:找個旅遊業內的人加入吧 那很多那總突然跳出來打廣告的是怎麼那樣厲害? […這段我刪掉了….] 掌握商業模式是個關鍵任務,即使拔出石中劍也要和其他也有石中劍的人對打後才知道誰能生存下來。不然即使再多資金也是空轉。 不過不論如何,自己的網頁/app 機制需要注入自己的營業精神,這樣的精神才能夠感染隊友一同向前,絕對不是單純只 copy 其他人而創建出來的產物。 讓我們繼續觀察吧!


Amazon 資料庫比較圖

Amazon RDS Amazon Redshift Amazon DynamoDB Amazon SimpleDB 資料庫引擎 Amazon Aurora, MySQL, MariaDB, Oracle Database, SQL Server, PostgreSQL Redshift (用 PostgreSQL為基底) NoSQL NoSQL (有限功能) 計算資源 Instances with 32 vCPU and 244 GB RAM Nodes with vCPU and 244 GB RAM 看購買的硬體 看購買的硬體 儲存容量(極限) 6 TB per instance, 20.000 IOPS 16 TB per instance 無限容量, 40.000


Video streaming 從古至今,Youtube 到 Twitch 到未來

當 Youtube 當紅時,大家都很好奇他是怎麼做到的。以前的 video streaming 系統由把硬碟裡的 video 迅速的發布給千萬的 user 就已經很了不起(如 Youtube),但是現在進階到 必須點對點即時直播,最好的例子就是遊戲直播網站 twitch。 以前要自己建一個 video streaming server 真的是大工程,以 youtube 為例,他光是在2008年時用的軟體架構在當時來說挺新的。 Apache Python Linux (SuSe) MySQL psyco, a dynamic python->C compiler lighttpd 來處理 video 當然這以現在來說還是很多公司達不到的作法,但是現在有更多的新軟體出來,比如 nginx 可以取代 apache 等,所以即使知道 Youtube 當年如何做的,可能只能當課本教材來教了。 進化到 2012時,他很多東西進步很多了! Python:當然 Apache:他好像很愛他 Linux:當然 MySQL:嗯 Vitess:這是個當時新的 YouTube Project, 用 Go 寫的,他在 MySQL 前端服務,負責優化 MySQL的動作,但其實替代方法現在也很多了。最主要現在


利用機器人學習來加速人臉/場景辨識

好,我必須承認這個題材有點老梗,但是基於無人車等等新的概念產生,物體和場景辨識又變得重要起來。 先從人臉開始說起;以前很多公司需要花大筆資金來做人臉辨識的工作,甚至還有人舉辦比賽來看那就公司的效果最好。一直以來冠軍都被 NEC 奪冠,但之後就不一定了。   現在有許多方法可以讓一般的手機都可以做人臉辨識,可以快速的掃描站在你前面的人有沒有犯罪前科,是否是通緝犯。如我們警察伯伯用的 M-Police 就達到了很好的效果 新聞連結,真的是太厲害了。   但是除了警察要人臉辨識那為何我還要人臉辨識功能啊? 比如你公司製作出了個電子寵物狗,你不會想要他跟錯主人吧? 或是你發明了長期照顧病人的機器人,萬一他認錯人打錯針怎麼辦? 或者你是個厲害的業務,你想要快速知道走過你前面的人是否為重要人物,那這就很重要了。你總不能跑去他前面拍個照然後才去電腦前面 google 一下他吧? 甚至那個人現在是開心、難過、憤怒等等都可以馬上知道。 不只人臉辨識,你想要辨識街道上的物體也可以! 圖一:感謝 University of Cambridge  提供照片 很清楚的可以看到,車子、天空、房子等等都用不同的顏色去標示出來了。 傑克這真是太神奇了! 其實如果慢慢的去分析當然可以,但是如果影像要即時的運算出每個點點是屬於什麼物件才是真功夫。 所以不管你想要辨識什麼,就要先訓練你的機器人,讓他熟悉你要他找的東西,但是如果過度訓練,反而會照成反效果,給你錯誤的判斷。而且要注意的是,現在已經有很多人已經把一些常用的東西已經訓練好機器人去辨識,我們不用再去重新發明輪子了。而且支援 C++, Python, R, Julia, Scala 等程式語言。我們也可以使用多台電腦平行運算來達到最快的運行效果,甚至在雲端計算也可以,不要再傻呼呼的在一台電腦去做運算了。 你如果有興趣,可以一起看看有什麼你想要辨識的,一起來交流一下吧!     表情+情緒 其實偵測表情和情緒非常的簡單 如果你要特徵偵測也可以喔


王者歸來:Node.js 學習課程 6之6 – 專案實作

Node.js 初階學習 目錄: node-js-學習課程 1之6 – Node.js 簡介 node-js-學習課程 2之6 – Express 登場 node-js-學習課程 3之6 – EJS 模板 node-js-學習課程 6之6 – 模組化+安裝MySQL node-js-學習課程 5之6 – 全部整合 node-js-學習課程 6之6 – 專案實作 專案簡介 網路壓縮程式:npm i zlib 網路留言板:npm i mysql 網路爬蟲:npm i cheerio 形象網頁:bootstrap QR 碼產生器:npm i qr-image


王者歸來:Node.js 學習課程 5之6 – 全部整合

Node.js 初階學習 目錄: node-js-學習課程 1之6 – Node.js 簡介 node-js-學習課程 2之6 – Express 登場 node-js-學習課程 3之6 – EJS 模板 node-js-學習課程 6之6 – 模組化+安裝MySQL node-js-學習課程 5之6 – 全部整合 node-js-學習課程 6之6 – 專案實作 專案 又是製作專案的時間了 我們要徹底執行 MVC 架構! 專案結構 index.js db.js package.json models/ ———blog.js views/ ———index.ejs public/ ———style.css 概念 資料來源 model – db.js 如轉載請標明來源!


王者歸來:Node.js 學習課程 4之6 – 模組化+安裝MySQL

Node.js 初階學習 目錄: node-js-學習課程 1之6 – Node.js 簡介 node-js-學習課程 2之6 – Express 登場 node-js-學習課程 3之6 – EJS 模板 node-js-學習課程 6之6 – 模組化+安裝MySQL node-js-學習課程 5之6 – 全部整合 node-js-學習課程 6之6 – 專案實作 為何要模組化? 程式碼可重複使用 比較好維護 可協同作業 一頁程式碼不會太長 —> 幫助思考 其他。。。 現在標準 CommonJS 口號:Not just for browser anymore   未來標準 ES6 但 CommonJS 寫法似乎還不會消失 ES6 在 node.js 還未支援


王者歸來:Node.js 學習課程 3之6 – EJS 模板

Node.js 初階學習 目錄: node-js-學習課程 1之6 – Node.js 簡介 node-js-學習課程 2之6 – Express 登場 node-js-學習課程 3之6 – EJS 模板 node-js-學習課程 6之6 – 模組化+安裝MySQL node-js-學習課程 5之6 – 全部整合 node-js-學習課程 6之6 – 專案實作 template 選擇 Jade 改名為 pug https://pugjs.org ejs http://ejs.co handlebars http://handlebarsjs.com 為何選擇 ejs? 寫過 asp 或 php 的人比較習慣他的語法 也有很多支持者 handlebars: 很好用,但太少中文書籍 jade:讓美工不太容易一起合作,需一點學習,但最多人使用(工程師) 模板概念:ejs 檔案 template 就是模板


王者歸來:Node.js 學習課程 2之6 – Express 登場

Node.js 初階學習 目錄: node-js-學習課程 1之6 – Node.js 簡介 node-js-學習課程 2之6 – Express 登場 node-js-學習課程 3之6 – EJS 模板 node-js-學習課程 6之6 – 模組化+安裝MySQL node-js-學習課程 5之6 – 全部整合 node-js-學習課程 6之6 – 專案實作 路由 routing 路由定義的結構如下:


app.METHOD(PATH, HANDLER) 備註 ‧ app 是 express 的實例。 ‧ METHOD 是 HTTP 要求方法。 ‧ PATH 是伺服器上的路徑。 ‧ HANDLER 是當路由相符時要執行的函數。 後面會有詳細解釋 我們直接來實作一下   安裝


王者歸來:Node.js 學習課程 1之6 – Node.js 簡介

Node.js 初階學習 目錄: node-js-學習課程 1之6 – Node.js 簡介 node-js-學習課程 2之6 – Express 登場 node-js-學習課程 3之6 – EJS 模板 node-js-學習課程 6之6 – 模組化+安裝MySQL node-js-學習課程 5之6 – 全部整合 node-js-學習課程 6之6 – 專案實作 什麼是 Node.js? 他是個主機端的的開發程式,他是用 google chrome 的 Javascript V8 引擎所架構出來。 他使用 V8 來解釋和執行 JavaScript 程式碼。 它允許在後端(脫離瀏覽器環境)運行 JavaScript 程式碼。 非同步的來執行程式(non-blocking) 還有許多有用的模組,它們可以簡化很多重復的製作 => npm 程式庫!   誰使用 node.js?