不想變得普通,卻又害怕不同

Rails 進階小技巧(二)

joins 時使用其它 Model 的 scope 函式

假如我們有 user model 如下:class User < ActiveRecord::Base has_many :posts end而我們想要找到「最近 N 天有發文的帳號」,可以這樣寫:User.joins(:posts).where('posts.crea ...


Rails 進階小技巧(一)

在 one-to-one relation 上使用 update_all

一對一關聯會直接載入 model假如我們有 user model 如下:class User < ActiveRecord::Base has_one :profile has_many :posts end在 Rails 中 has_one, belongs_to 所定義 ...


Vue 中使用 debounce 防止前端瘋狂發送請求

其實很簡單,但因為一直以來誤會了某個 es6 的語法,導致鬼打牆卡了一陣子,怒寫一篇文章以避免有人也陷入如此的冏境。Debounce假設你有一個函式 doQuery,負責送出 API 請求。但因為前端可能每次按下按鈕時都會呼叫這個函式,假如使用者連按的話,會瘋狂送請求到後端,增加 serv ...


Rails 中常搞混的時區問題

Time.now vs. Time.current

在 Rails 的開發中,時區問題是一個很容易踩到雷的地方。尤其是 Server 時區跟本地開發時的時區不同,一旦部署後才會發現沒有處理好時區問題。網路上的教學常建議大家一律使用 Time.current 取代 Time.now,以避免時區問題。但假如沒有搞懂其中的原理的話,以後若使用其它 ...


如何使用 SteamPipe 上架遊戲到 Steam 平台

在開始教學之前,我們會需要一個已加入 Steamworks 的 Steam 帳號、創建好你的遊戲 Apps、並下載最新版的 Steamworks SDK。(本文使用的是 v1.41)SteamPipe 設定點入應用程式後,來到應用程式的主頁,會有很多設定頁。我們先從程式管理的主頁面開始,點 ...


如何在遊戲中自動安裝字型

有時候開發遊戲時,會選用一些特殊的字體,玩家的系統內不一定有。此時就得想辦法將字體安裝在玩家的電腦內。最簡單的方式就是夾帶字型檔在遊戲資料夾內,在遊戲內打開字型檔,叫使用者安裝。可能會出現類似這樣子的畫面:這個方法雖然有效,但蠻蠢的XD。缺點也很明顯,在安裝字體時玩家會被彈出遊戲。自動安裝 ...


修復 npm 的漫漫長路

不知道為什麼,裝了幾個套件後 npm 就掛了。只好開始修復 npm 的漫漫長路…深深感受到 npm 滿滿的坑 XD$ npm module.js:471 throw err; ^ Error: Cannot find module '../lib/utils/un ...


Ruby code tracing 技巧

搜尋物件上的方法Ruby 反射機制中提供了 methods 方法,可以回傳物件上所有可以使用的方法。再配合上 Enumerable#grep 函式,能找到函式名字符合搜尋規則的項。如:User.new.methods.grep /json$/ # => [:include_root_ ...


Mac 常用設定筆記

指令使用方法:開啟「終端機」視窗,貼上指令即可。Dock 工具列加快 Dock 的顯示速度# 取消 dock 的延遲 defaults write com.apple.Dock autohide-delay -float 0 && killall Dock # 還原 do ...


RMXP 圖片波動效果

下載腳本下載 DEMO 範例專案使用方法先下載腳本,放到 main 前。這個腳本會擴展 Sprite ,增加四個屬性:wave_amp波動的幅度,預設 0wave_length波長,波長越長波峰數量越少。單位是像素,預設 72pxwave_speed波速,波速越高頻率越高,預設 720wa ...