Javascript 如何比對Object是否相同(Equal)

在沒有Key或者Id的情況下,比對Object真的是世界上最噁心的一件事情了。 最簡單的方法是這個:const object1 = {"Name": "Hello"}; const object2 = {"Name": "Hello"}; if(JSON.stringify(object1) === JSON.stringify(object2)){ return true; } 很簡單對吧?然而世界沒有那麼美好。更多時侯你會遇到這種情況:const object1 = {"Sex": "Girl", "Name": "Hello"}; const object2 = {"Name": "Hello"

  • Mr.Twister
    Mr.Twister
1 min read

Mastodon Docker 更新版本教簡易教學

要用Docker架設Mastodon並不困難,要升級更加不難,但當初官方寫的教學文檔好像已經很久沒更新了,所以還是寫一寫吧。 要升級Docker版Mastodon,首先要進入你的Mastodon資料夾,運行以下指令:cd <你的Mastodon資料夾路徑> git fetch && git checkout <目前最新版本,例如v2.7.3> Git Checkout能讓你的Mastodon代碼馬上更新到指定版本。但Docker裡的代碼並不會隨之更新,所以我們還需要用Docker Compose重建Image,最後重啟Container即可:docker-compose build docker-compose up

  • Mr.Twister
    Mr.Twister
1 min read

Wordpress get_posts() Function 排除特定分類的方法

Wordpress 的get_posts() Function 對於Plugin或者Theme 開發者來說都很有用:相對上沒有WP_Query那麼複雜,但同樣支援WP_Query應有的功能。但是,Wordpress 的API文檔上好像沒有提到這點哪? 事實上,get_posts的參數是跟WP_Query共用的。也就是說,如果你想在使用get_posts()搜尋文章時排除特定分類,只要這樣就好了: $posts = get_posts(array( 'category__not_in' => array(76), //此處必須為分類ID(

  • Mr.Twister
    Mr.Twister
1 min read

停止Cisco AnyConnect Secure Mobility Client 開機時自動啟動的方法

Cisco AnyConnect Client每次當我打開Mac的時侯總會自己跳出來,偏偏因為工作因素又非裝不可,只好找點方法取消它了。 在網絡上查到的方法如下:cd /Library/LaunchAgents sudo rm com.cisco.anyconnect.* 原理是在LaunchAgents資料夾裡把Anyconnect的部份刪掉,理論上之後重新開機的時侯就不會再讓它跳出來了。 好一個令人頭疼的軟體。 參考資料:Stop Cisco AnyConnect Secure Mobility Client from starting up automatically

  • Mr.Twister
    Mr.Twister
1 min read

Liquidsky倒了怎麼辦?來自架雲端遊戲PC吧

之前我曾經寫過一篇文章教大家怎樣用LiquidSky來在Mac上玩遊戲,但非常不幸地Liquidsky突然在本月宣告關閉,從此我們就失去了如今世上唯一支援亞洲地區的雲端遊戲服務,只剩下貴得嚇死人的Parsec + AWS方案可以用。 但真的這樣就完了嗎?不!為了節省開支的同時維持原來的雲端遊戲習慣,我做了非常多研究,到最後得出的結論是--只要用Google Cloud,一切還是有可能的!為什麼偏偏是它呢? 使用Google Cloud有以下幾個優點: 註冊後會贈送為期1年的300美元免費限額,在這段期間可以無限任玩。2.   允許自訂虛擬機器的配置。你可以按照自己的遊戲需求訂制雲端電腦,不必像AWS那樣必須使用它準備好的機器,增加開支。3. 顯卡效能比AWS好。(畢竟可是Tesla P100啊)4. 支援台灣地區(這個最重要!) 玩雲端遊戲時如果伺服器跟客戶端不處於同一/鄰近地區,延遲將會讓遊戲體驗大打折扣,

  • Mr.Twister
    Mr.Twister
5 min read

在專案裡局部運行Webpack的方法

webpack-cli是個好文明,但有時侯我們不想把它裝在系統裡,或者想要多個專案用不同版本的Webpack,這種時侯就需要讓它局部運行了。 方法非常簡單,只要直接呼叫webpack-cli的bin檔案即可。路徑如下: ./node_modules/webpack-cli/bin/cli.js 如果想方便一點,可以直接寫進scripts裡: "scripts": { "dev": "./node_modules/webpack-cli/bin/cli.js --mode development --env.NODE_ENV=

  • Mr.Twister
    Mr.Twister
1 min read

Liquidsky 雲端遊戲服務介紹及Mac OSX使用教學

在Mac上玩遊戲從來是一個非常大的問題。平台支援性先不說,哪怕你安裝了Bootcamp也往往會有硬體性能不足而沒有辦法玩遊戲的問題,可以說是相當麻煩。 幸運的是如今雲端遊戲服務選擇愈來愈多,只要有網絡,想要在Mac上享受跟Windows一樣的遊戲體驗再也不是一件難事,也沒有必要再為了買了Mac就不好打電動這點苦惱了。 而這次我要介紹的Liquidsky就是近期熱門的雲端遊戲服務之一。它提供的服務跟GeoForce now類似,卻有以下優點: 提供香港伺服器。對於身處香港,台灣,還是內地的朋友來說,這樣連線品質可以得到一定的保證,更加像是在本機上玩遊戲一樣。 直接提供Windows10 作業系統,你不一定要安裝Stream上的遊戲,哪怕是直接安裝MMORPG在上面玩也完全不是問題。 3.支援Android系統,即使人在外面也能夠玩電腦遊戲。 而跟AWS等提供GPU伺服器的服務商相比,則有以下優點: 1.採用類似網遊的點數制度,根據使用時間扣除相應點數,不需要擔心支出超乎預算。 2.最少提供100GB免費硬碟空間,

  • Mr.Twister
    Mr.Twister
5 min read

免去管理伺服器的煩惱,Heroku一鍵安裝Mastodon

從Facebook搬家到Mastodon,已經差不多一個月的時間了。在這段期間,我發現很多人因為擔心自己的私隱而不知道應該選擇相信哪個伺服器,或者只待在mastodon.soical就算了。 但事實上保護私隱最好的方法,那就是自己建一個伺服器了! 但是對於不熟悉伺服器架設的人來說,使用甚至是管理VPS肯定是一件非常困難的事。如果選擇坊間的Mastodon架設服務,也少了一份自己架設伺服器帶來的安全感。 這種時侯,選用Heroku可能就是比較好的方法了。 使用Heroku有以下優缺點: 優點: Mastodon本身已經提供了一鍵Deploy功能,只要申請Heroku帳號後跟著指示進行設定即可。 省去管理伺服器的麻煩,駭客入侵的機會也大幅降低 可免費試用 缺點: 只有英文介面 價格偏貴,要架設正式的Mastodon最少需要每個月25美元 免費版試用限制很大 部份功能在Heroku可能會出現問題 但整體來說還是相當好用的。 以下是使用Heroku架設Mastodon的簡單教學: 首先點擊以下連結前往Heroku的Dashboard(建立Mastodon): https://dashboard.

  • Mr.Twister
    Mr.Twister
4 min read

解決Mac OSX 上安裝cld3-ruby時出現"Failed to locate protobuf "的問題

如果各位嘗試在開發時安裝cld3-ruby,可能都會遇過Failed to locate protobuf這個問題。這是因為...... OSX本身並沒有pkg-config和protobuf! 知道問題出處就很容易解決了。首先,請先確認你的電腦有安裝Brew: brew -v 如果沒有的話,執行以下指令進行安裝: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 之後就可以安裝pkg-config和protobuf了。 brew install

  • Mr.Twister
    Mr.Twister
1 min read

Ubuntu 16.04 Mastodon Docker安裝教學

本教學只適用於v2.x以上版本。 網絡上有很多架設Mastodon的教學,但大部份都是1.x時期的版本,偏偏到了2.x版本後很多東西都已經不適用了,還是重新寫一篇吧。 SMTP,Swap等設定請參考以下網址,本文章只提供最基本的Mastodon架設教學: https://github.com/ummjackson/mastodon-guide/blob/master/up-and-running.md 安裝Docker及Docker Compose sudo apt-get install docker.io sudo apt-get install pip pip install

  • Mr.Twister
    Mr.Twister
3 min read