升級 Mysql Database 所遇到的那些坑

因為一些原因,需要在 CentOS 6 上使用 mysql 5.7。看了一下才發現這台 server 上的 Mysql Database 是 5.1 版,找了一些方法裝完後,才發現是悲劇的開始⋯

這邊先來個 tl;dr

cd /tmp
wget http://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm
sudo yum localinstall mysql57-community-release-el6-9.noarch.rpm
sudo yum remove -y mysql*
sudo yum install -y mysql-community-server

sudo -i
mysqld_safe --skip-grant-tables &

# press enter
mysql -uroot
use mysql;
update user set authentication_string=password('PASSWORD_YOU_WANT') where user='root';
flush privileges;
quit

servie mysqld restart
mysql -uroot -p
# enter password

set global validate_password_length=3;
set global validate_password_policy=0;
set password = password('PASSWORD_YOU_WANT');

# here you go!

照著上面走應該就可以正常使用 mysql 了,如果還是不行,那我這篇文章應該就沒法幫 上忙了。

Continue reading “升級 Mysql Database 所遇到的那些坑”

我的資訊來源分類學

對於不同的文章分類就該有不同的 CTA。

[註]: CTA,Call To Action,意謂下一步動作。

前言

我自己平時在接收資訊的來源主要是 Feedly,通常在早餐時快速瀏覽文章,若有覺得不錯的就會存進 Instapaper,之後再細讀。對我而言,來源分類是一件很令人頭大的事情,目前是可以大略地分出幾種類別,但還是有些重疊(像是「科技產業」與「程式開發」之間就有關聯,切不乾淨。)。以前曾在 Rocket.cafe 看到一篇講分類與標籤的文章,即使讓我有了更系統性的知曉哪種情況該用哪個方式,但這件事仍然困擾我許久,更尷尬的是,網路上也查不太到什麼這方面的資訊——當然也不排除是我自己下的關鍵字不對啦。

使用「領域」來分類未果後,我便決定使用「讀完文章後的 CTA」作為下一種分類方式。這樣至少可以在讀完文章後不會只產生「好像有收穫,其實也只是讀完一篇文章」的感覺,而可以真正地利用這次閱讀的結果。

Continue reading “我的資訊來源分類學”

初步理解 Service Worker

Service Wroker(後面簡稱 SW)可以看作是介於瀏覽器、網路、和 Web app 之間的 proxy servers。 說穿了就是可以寫程式來處理 request 和 response 的一種介面,讓開發者可以藉以增進 offline 時網站的體驗,或是基於網路是否可用來自行決定 web app 應該做出怎樣的行為。其他還有一些推送通知或是背景同步的功能,標準正在火熱制定中。(寫這篇文章時是 2018/1/7,上次 SPEC 的更新時間是 2017/12/22,應該是去過聖誕節&跨年了,真好 XD)

以前的人可能會用 AppCache 來做到上述的功能,但他會對你要做的事有很多很多的預期,而如果你的 web app 沒有照著做的話,你就會死得很難看。可以看看這篇: https://alistapart.com/article/application-cache-is-a-douchebag。SW 可以解決 AppCache 的問題,你會擁有完全的掌控權,而當這句出現時,就意味著你要寫更多的 Code,用著更複雜的 syntax。人只要活著,一切就都是妥協。

Continue reading “初步理解 Service Worker”

成為工程師 – 職涯發展上,存在著兩種人

想要 成為工程師 ,也有很多種類型的工程師。

工程師有兩種,一種是做產品的人,另一種是搞技術的神。

今天和公司的前輩聊了下天,內容大致是我未來會想成為的工程師的長相。根據他現在約三十歲,工作總資歷接近十年的經驗來看,通常會遇到的工程師有兩種:一種是做產品的,另一種是技術之神。

Continue reading “成為工程師 – 職涯發展上,存在著兩種人”

Vim 上 8.0, Vundle 換 vim-plug

今天在 Vim 的 Telegram 群組中被 OThree 推坑,把 Vim 升上 8.0 了,其實感覺也沒有什麼太大的改變。

升級指令就下這個:

brew install vim --with-override-system-vi

升級後重開 Terminal 就會是 8.0 的 Vim 了。 升級完了以後就順便把之前用的 Vundle 換成 vim-plug,這樣就可以用到 8.0 的 async process, 聽起來就是很潮。

其實換過去的步驟也蠻簡單的,這邊簡單記錄一下我做了什麼。

先把他的管理相關 script 丟進 autoload 的目錄下。像我是 Mac 的純 vim 就跑這 段:

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

其他的環境或是 neovim 就有其他的指令,要看一下他的 Repo 的 README。

再來就是把 Plugin list 掐頭去尾,只留下一串串 Plugin 'plugin_name',接著再把 Plugin 換成 Plug 就好。

然後就是列表的最前面加上 call plug#begin(),最後面補個 call plug#end() 就完成了。

值得提一下的事,Vundle 放套件的目錄是 ~/.vim/bundle/,所以我可以把前面換成 call plug#begin('~/.vim/bundle') 理論上就不需要重裝了~ 不過我還是乖乖地用了個不一樣的名字並把全部套件都重裝。

如果像我一樣,資料夾是用不一樣名字的話,就可以退出後下 vim -c 'PlugInstall' -c 'qa!' 他就會裝起來哩。

之後有空再來研究其他東西吧,像是 ale 或是 true color 之類的⋯(最近深感沒時間Orz) 有興趣的話可以先去參考 OThree 的 https://blog.othree.net/log/2016/10/03/native-true-color-vim/

相關連結