2019-01-01から1年間の記事一覧
gemのバージョン mongoid 6.1.1 MongoDBのバージョン Docker使用 mongo:3.6.12 概要 一対多のモデルに対する update_all が正しく動いてなさそう... 雑な例 (実際のコードとは関係ありません) Orderモデルにpending(入金待ち)、complete(決済完了)とcancel(…
発生エラー brewで最新のmondodbをインストールするために brew update を行った後 rails console を実行したら今回のエラーが発生しました。 $ bundle exec rails c /Users/shigeyukifukuda/.rbenv/versions/2.3.8/lib/ruby/2.3.0/irb/completion.rb:10:in …
概要 普段はサーバーサイドをメインにやっているのですが、先日HTMLもゴニョゴニョしないといけないことがあり、その際にHTMLのautocomplete属性に触れました。HTMLの属性について不案内だったのでここにメモしておきます。 autocomplete属性と種類 こちらの…
概要 mongoidには特定のインスタンスのtimestampを更新したくない時に、timestampだけ更新しないようにする仕組みがあります。 私は実務でActive Recordを使ったことがないので定かではないですが、Active Recordにも必ずあるはずです。 そのオプションを付…
今回やったこと RailsからMongoDBを使うためのOD(Object Document)マッパーであるmongoidにプルリクエストを送りました。 github.com 概要 mongoidを使った時にrails g modelコマンドでデフォルトで生成されるファイルにはtimestampがincludeされないので、…
問題 Railsでmongoidを使用した場合、デフォルトのままだと当たり前にあると思いがちな created_at と updated_at が存在しないモデルが生まれます。 今回はこれの追加方法について触れてみます。 解決法 モデルのファイルに include Mongoid::Timestamps を…
経緯 現場Railsのタスク管理アプリをDocker環境+mongoidで作っていて、タスクの保存画面を作成していたところ、タスクのcreateでエラーに遭遇しました。 発生したエラー Docker環境上でRailsのDB(MongoDB)に接続出来てなさそう... 発生環境 Docker for Mac …
イベント詳細 hey.jp LT資料 私の発表がこちら! もう少し掘り下げれば良かったと猛省... 掘り下げて別のLTタイミングでリベンジしようと思います!(ホント悔しい) speakerdeck.com その他先輩方のLT資料の一部がこちら twitter.com t.co 感想 やはり、もう…
Rubyのデバッガーを使う -r debug をつけてRubyのファイルを実行するとデバッグモードでファイルを起動することが可能です!!(知らなかった...) $ ruby -r debug 実行ファイル デバッグのやり方 Railsのbinding.pry同様にnext(次へ)やstep(メソッド呼び出しが…
rails dbconsoleコマンド知らなかった... 普段ActiveRecordと無縁の開発をしているので、ActiveRecordを使った開発で使うようなコマンドを知らなかったので、恥ずかしながらここにまとめますw rails dbconsole 使用しているDBそのもののコンソールを開くこと…
そもそもデータ構造とは? パソコンで扱われる数値データを扱いやすいようにまとめた塊のことです。 種類 変数 配列 リスト キュー スタック 木(ツリー)構造 変数 値を格納する箱のようなものです。 配列 沢山ののデータを一箇所にまとめて入れておくタンス…
ネットワークのアレコレ Virtualbox上のubuntuに対してローカルのMacからsshするためにネットワークの設定を変えねばならず、同一のネットワーク内での接続ですよ!と設定するためにデフォルトのNATからBridged Adapter(ブリッジ)に変更する必要があります。…
問題 USキーボードの状態でUbuntu日本語版を使用しているとデフォルトのままでは、USキーボードの本来のキー配列を正しく認識してくれないようです。 なので、パイプやアットマーク、バックスラッシュがそのままだと入力出来ません。 対象法 Ubuntuのターミ…
対処法 こちらの記事にズバリな答えが書いてありました... do-you-linux.com
まずVirtualboxを落とす Oracle VM VirtualBox Ubuntuを落とす www.ubuntulinux.jp UbuntuをVirtualboxに入れるパスとタイプを指定 Virtualboxの仮想マシンタブから新規をクリックします。 そうすると以下の画像のようなモーダルが表示されます。 問題ない場…
問題 VirtualboxとホストのMacを接続するためにIPを調べようとして、Virtualbox上のUbuntuのターミナル上で ifconfig コマンドを打ったところCommand not foundになってしまいました... どうやらUbuntu18.04だとnet-toolsというパッケージが標準でインストー…
はじめに 基礎が出来てなくて最近何かと困るので、初歩の初歩からLinuxのお勉強をやり直していきます。 そもそもOSの役割 メモリの管理 ディスク管理(記憶装置の管理) ハードウェアからの情報をアプリケーションに受け渡す Linuxの動作の仕組み LinuxのOSはL…
はじめに たまに関数型プログラミング言語の話題になるのですが、そもそもどういったものが関数的であるかについて自分自身理解していませんでした。 ここでは、Rubyの中で「関数的」と言われるメソッドの実行内容を見てみることでプログラミング言語の界隈…
はじめに この投稿は普段Rubyを使っているエンジニアがサクッと環境を作ってElixirに触ってみたというものになります。 RubyKaigi2019でRubyの今後追加されるシンタックスがElixirから影響を受けている旨の発表がありましたが、本稿が気軽にElixirを試すきっ…
イベント詳細 hey.jp LT内容 上記イベントでRuby(Rails)とOSSに関する発表をさせて頂きました。 当日お聞き下さった皆様どうもありがとうございました。 speakerdeck.com
記事を書こうかと思ったけど、こちらの記事がすでに最高だったので貼るだけにしておく。 note.mu
はじめに どうしてもしょうがない時に使う例外の握りつぶし方についてメモ。 例外の握りつぶしとは? 本来エラーで処理が落ちるところを例外をなかったかのように処理を続行させること。 ちなみに当たり前ですが、例外を握りつぶすことで本来の例外が発生し…
はじめに 久々にHerokuにRailsアプリをデプロイしようとしたら、色々手順を忘れていたので備忘録として投稿します。 やること 1. Herokuにアプリを作る 2. Herokuにデプロイ 3. HerokuのDBをマイグレート 4. 表示確認 Herokuにアプリを作る ※MacにHerokuのCL…
はじめに 正規表現を書かないといけないことは頻繁にないものの、そのせいかいつまで経っても自分の中に定着せずに毎回調べているので、観念してちょっとずつまとめようかと思い投稿します。 正規表現の検証に便利なサイト 正規表現のチェックを行うのに便利…
はじめに JavaScriptで特定の値を条件によってPOSTしたくない時があるのですが、その実装を同僚がしていて参考になったので個人的なメモとして後々の振り返り用に放流しておきます。 また、後述するコード例は業務上のコードを抽象化したものなのでところど…
以下の記述を記載するだけ config/environments/development.rb if Rails.env.development? BetterErrors::Middleware.allow_ip! "0.0.0.0/0" end "0.0.0.0/0" ってなんだろう? docker-compose.yml でバインドしたIPのこと version: '3' services: web: bui…
はじめに 業務でRailsをいじっているものの、1からセットアップするとなるとよく分かってないで使っている部分の多さに毎回驚きます... 今回もその一つのRailsの日本語化の部分を備忘録として投稿します。 Railsのモデル名.human_attribute_name(:カラム名)…
Dockerが起動しない... 解決法 Dockerのアプリの preference から 以下の画面の Restart をクリックする。 実施後 無事反応することを確認!
はじめに 通常のローカル環境と同じように rake routes でルーティング確認しようとしたらうまく行かなかったので、その解決メモ。 やり方 通常の rake routes を docker環境で打ちますよ!というコマンドに変えてあげればOK! docker-compose run web bundl…
はじめに 現場Railsをちまちま進めているのですが、普段の仕事でerbファイルを使っていてslimの記法に全く慣れないので自分用のメモとして放流します。 erb記法との比較表 erb slim <%= notice %> = notice <% if flash.notice.present? %> - flash.notice.p…