yagshi's website
各種ハマりメモ

各種ハマりメモ

ノンジャンル

  • XeLaTeXでQRコードがおかしくなる問題はプリアンブルに \setlength\normallineskiplimit{0pt}を入れればok。 毎回忘れて調べ直すのでここに書いときます。 (5-Apr-2023)

  • TeXでコード載せるときにリガチャ(合字)を無効にするには \setmonofont[Ligatures={NoRequired,NoCommon,NoContextual}]{TeX Gyre Cursor} とこんな感じ。毎回忘れて調べ直すのでここに書いときます。 (27-Dec-2022)

  • 何度も何度も、その都度検索するのが面倒なのでここにメモ。VSCode で Ricty フォントを使うとバッククォートがおかしくなる問題を解決する 方法について書いてくれているQiita 記事 。この記事の下の方の@kannkyoさんのスクリプトが楽ちんで良いと思います。 (28-Aug-2022)

  • Debianインストール後にvim.tinyを使うと E1187: Failed to source defaults.vim というウォーニングがうるさいなーと常々思っていたのだけど、 apt install vimすれば消えることがわかった。(ぼくは vim 使うほどの vi 使いではないので vim.tiny 派なのです。) (7-July-2022)

(一時期頑張ってた)rails関連

  • link_toでpostやdeleteが働かないのに button_toなら動くけどなぜ?と言う場合は恐らく bootstrap などのJSが正しく導入できていないのが原因。ブラウザの開発コンソールに エラーが出ているはず。…これで(頓珍漢な方向を調べまくって)めちゃくちゃ 時間無駄にした。(17-Mar-2022)

  • link_toでpostやdeleteが働かないのに button_toなら動くけどなぜ?と言う場合は恐らく bootstrap などのJSが正しく導入できていないのが原因。ブラウザの開発コンソールに エラーが出ているはず。…これで(頓珍漢な方向を調べまくって)めちゃくちゃ 時間無駄にした。(17-Mar-2022)

  • RailsでPyCall.rb使ってPythonのライブラリを使っているのだけど、なぜか tensorflowをimport するとフリーズする。それも、rails s で起動したサーバ のときのみで、rails console から使う分には問題なし。また、tensorflow 以外のものは import 問題なし。確認のため Rails プログラムから 「import tensorflow する Python コード」を open で実行しても問題なし。 全くの謎。(20-Oct-2021)

  • Rails 6 の packs の中に置いた JavaScript プログラムのオブジェクトは erb とはスコープ?が違うみたい。例えばfoo()という関数を onclickで使いたければ JS 側で window.foo = foo;の ようにしないと見えない。(15-Oct-2021)

  • Rails でデータベースの関連付けをやるには、例えばuser というモデルに関連付けるモデルを作る際、 「integer型のuser_idというカラムを作る方法」 と「references型のuserというカラムを作る方法」が あるらしい。新規のActiveRecordを作るとき、前者は id を直接指定、 後者は参照対象のインスタンスを指定する。でも RDB 的には後者も結局 user_idというカラムを持つみたい。 その他微妙な違いはあるようだけど、凝ったことしないなら 結局どっちもほぼ一緒……なのか? だったら意味的にわかりやすく、 うっかり間違いも起こりにくそうなreferences を使うのが良いのかな。 (12-Oct-2021)

  • form_withでmodelを指定すると、paramsの構造が(modelの部分が 1段深くなるように)変わる。具体的にはこんな感じ。で、user で分けられてないと 受け取るcontrollerの方で、 params.require(:user).permit(:name, :password) みたいな便利機能が使えない。(21-Sep-2021)

// form_with url: の場合
Parameters: {"authenticity_token"=>"***", "name"=>"alice", "password"=>"plaintext", "commit"=>"ログイン", "controller"=>"sessions", "action"=>"create"}
// form_with model: の場合
Parameters: {"authenticity_token"=>"***", "user"=>{"name"=>"bob", "password"=>"[FILTERED]"}, "commit"=>"ログイン"}
  • app/javascript/packs/application.jsimport 'bootstrap'; の1行を追記する。これがないとJavaScriptで実現する動的なもの(carousel とか)が 動かない。(16-Jan-2022)

  • Rails5以降?の form_with ではlocal: trueにしないとページ遷移が おこならない。(で、これがデフォルト false) (21-Sep-2021)

  • Rails6で Bootstrap を導入するのにひどく苦労したので手順メモ。 結論から言うと少なくともぼくの場合、以下の2つだけで良かった。(20-Sep-2021)

    1. yarn add bootstrap popper.js @popperjs/core
    2. app/assets/stylesheets/application.scss (←cssをscssにする。)の冒頭コメントを削除して @import 'bootstrap/scss/bootstrap';と書く。(このパスが 重要らしいが、これがこのように書いてあるサイトがほとんどなかった。)
  • Rails (初心者です。)の production 環境をpumaで動かすと JS が 読み込めなかった。 これはアプリケーションサーバがそもそもprecompileした staticコンテンツを配信しないためらしい。対策は config.public_file_server.enabled を ture に すること。 (参考にしたQiitaの記事) (17-Sep-2021)