發表文章

目前顯示的是 十一月, 2017的文章

[筆記] MariaDB 全新安裝遇到 ERROR 1698 (28000) 錯誤怎麼辦

這幾天終於申請 VPS 來玩啦(撒花~~)
參考了毫無理由使用 MySQL:MariaDB、MySQL 創始者 Michael Widenius 的訪談,果斷決定藉這個全新安裝的機會,把 MySQL 換掉,投入我大 MariaDB 。在 DigitalOcean 提供的 Ubuntu 上,安裝應該很簡單$ sudo apt install mariadb-server $ mysql_secure_installation 結果問我資料庫的 root 密碼,理論上還沒設定 root 密碼過,應該是直接按 Enter 就好。
結果噴錯了…ERROR 1698 (28000): Access denied for user 'root'@'localhost'網路上很多資料和解法,但沒道理啊!!我全新的機器吶!!
結果看完悟出來一個道理:沒有權限r所以最簡單的解法如下:$ sudo mysql_secure_installation 解決了 😂😂😂
由於 Google+ 留言系統近期不會正常推送通知,請改用下方 DISQUS 留言,謝謝!

[筆記] 使用 Python 抓取 Google Maps API 地標資料(上)

圖片
起因是工作上的需求需要抓取 Google Maps 上的地標,就順便記錄一下過程。但我其實沒有真正寫過 Python,所以如果有任何意見或建議都歡迎 鞭我 跟我分享。特別提一下 Google Maps 不像其他 Google 服務有把 API 一起包在 Google API Client Library 裡面,而是自己獨立的 Google Maps API,我覺得是蠻奇怪的(如果有人知道為什麼請跟我說)。好在 Google Maps 也是有提供 Apache 2.0 授權的 Client,包含多種語言,都放在 GitHub 上:Java Client for Google Maps ServicesPython Client for Google Maps ServicesGo Client for Google Maps ServicesNode.js Client for Google Maps Services這次為了 時程 快速上手,我就選 Python client 來試試看。其實我真的很想藉這個機會碰碰 Go 的說⋯⋯
以上的 client 都包含了下列服務的 API,看起來應該是蠻方便的:Google Maps Directions APIGoogle Maps Distance Matrix APIGoogle Maps Elevation APIGoogle Maps Geocoding APIGoogle Places APIGoogle Maps Roads APIGoogle Maps Time Zone API更多 client 的簡介和特性,可以到這裡晃晃:Google 地圖 Web 服務的用戶端程式庫這次我們就鎖定 Google Places API 來 示範 紀錄啦。其實官方文件寫的還算清楚,只是分佈在很多地方。
好 der,那就來抓抓看吧~環境說明Python Client for Google Maps Services 要求 Python 2.7 或以上的執行環境。我們這次採用 Python 3.6.2,並且以 pyenv 做版本管理。使用 Pipenv 管理專案套件,同時也會自動建立 virtualenv 虛擬環境。使用 dotenv 儲存敏感資訊,後面會再說明使用的情境。申請 Google Maps API key所有…