前言
最近工作了一段時間,覺得有些東西需要紀錄筆記一下也分享給各位在網路上的開發者。也是一個非常無聊的筆記啦xd 我稱之為「厭世工作系列」,以後會非常不定期之輸出。這文章的主題是環境的架設,適用於mac os, 如果工作常用mac os 開發測試的話可以參考一下…
sudo 不用密碼
有時候我們執行命令會需要root的權限,當然你可以使用sudo su
或su
來事先變成root 操作,但我這個人就是懶嘛~不想每次sudo 都要輸入密碼,所以我在網路上找到這個solution.
– 首先,下sudo visudo
這個指令
– 之後就會進入一個文件,這裡通常預設適用vim編輯器編輯文件,請按i鍵進入編輯模式,之後在最底下加入<<username>> ALL=(ALL) NOPASSWD: ALL
*注意:這裡的username 請輸入你自己的帳號名稱,如果不知道的話可以先使用whoami
是先查詢。
– 之後命令前加入sudo 都不會再問你密碼囉xdddd 當然這是一個很危險的舉動就是了,記得不要亂下rm -rf
這個指令喔XD
參考來源:https://askubuntu.com/questions/147241/execute-sudo-without-password
懶得改etc/host
我目前的公司是個接案公司,有點麻煩每次增加一個專案都要在etc/host 加入一個網址,然後還要去vhost 改指定到什麼目錄之類的,超級麻煩~所以我就用了我很喜歡的python 語言做了小小自動化script,很臨時寫的,應該還有優化與進步的空間xd
程式碼在這裡:https://github.com/r567tw/office/tree/master/httpd_related
addproject.py 就是主要可以編輯etc/host 和vhost的檔案,而且可以事先寫一個template.txt作為模板加入,之後重啟這個apache! 讚!懶人做法XD
然後如果想更自動的話還可以在自己的bashprofile或zshrc加入alias 像是alias addproject="sudo python /<<to file path>>/add_project.py"
,以後就下addproject
這個指令就好啦!省了幾個步驟呢!
mac 重灌小知識
剛進新公司,第一台電腦實在是很爛!說真的,我第一次覺得mac 怎麼可以被搞成這麼慢,常常動不動「發脾氣」,打個字都還會有小圈圈lag一下,這樣寫code實在不夠暢快! 所以和公司申請換新電腦,恰巧有公司同事離職,我可以使用他的電腦~~然後因此get 到mac 蟲灌新技能!其實也沒什麼了不起,上網查也就有、這是apple 內建的。先在準備開機的時候看到那個loading 條時狂同時按command + R
為什麼有時候要狂按呢。因為有時候會不成功,能遇到“工具程式”可遇不可求啊! 然後呢“先格式化磁碟”,我真的不知道要事先做這個步驟,害我卡關許久,然後你才“重新安裝mac os”。
聽說可以做開機碟或者啟用time machine 會更好用?!
php 多版本教學
有時候網站開發每個適用的php版本不盡相同,所以要在自己的電腦安裝多版本的php,這裡適用的是mac os,我覺得有個網路的文章實在寫得很不錯,我這裡只是簡單重述他的步驟啦!先上:https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions
- 先裝好Homebrew,這裡我就不贅述了,homebrew 是個mac 開發者好東西!/usr/local/etc/httpd/httpd.conf
sudo apachectl stop && sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
先拿掉原生mac os apache 的連結,已確認我們連的apache 是用brew 的brew install httpd
裝apache囉sudo brew services start httpd
- 修改
/usr/local/etc/httpd/httpd.conf
這個檔案,文章裡面有寫,其中開啟rewrite 、改port號、改username、改主目錄等等 sudo apachectl -k restart
重啟apache 讀入httpd.conf 的新設定囉brew install php@<<version>>
請安裝你要安裝的php version- 所有的php ini 檔都在
/usr/local/etc/php/<<version>>/php.ini
brew unlink php@7.2 && brew link --force --overwrite php@5.6
php -v
確認一下版本- 接下來是選擇性,但我很建議繼續下去,就是下載這文章作者寫的script,
sphp
curl -L https://gist.githubusercontent.com/rhukster/f4c04f1bf59e0b74e335ee5d186a98e2/raw > /usr/local/bin/sphp
chmod +x /usr/local/bin/sphp
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
- 之後你就使用sphp 這個指令爽爽用囉,例如
sphp 7.0
學習 magento
新公司是用magento開發電商網站的公司,讓我有點小小吃不消,因為magento的學習曲線真的蠻陡的,相較於我喜歡的laravel來看,laravel 易上手且容易看得懂,所以對於magento有點又愛又恨,為什麼愛呢,因為也深感佩服他真的能作為電商網站開發的方案,設計真的有點讓我驚豔甚至日後可以學習應用,其中eav-modal 讓我們可以自定義商品的attribute, 另外使用xml配置,容易複寫與增加客製化的模組,有點與zend framework 的概念有點像,可惜我只有寫過laravel,對於其他框架的理念還沒有那麼熟吧!這是我的功課。 為自己加油啦!