カクカクしかじか

技術的なアレコレ

2019-05-01から1ヶ月間の記事一覧

Dockerのミドルウェア(DB)のバージョンを上げた時にデータベースに接続出来なくなる場合の雑な解決法

前提 Docker for Macを使用している RailsアプリのミドルウェアだけをDocker化している /provisioningディレクトリを作り、そこにdocker-compose.ymlを配置している dockerコマンドはdocker-compose.ymlを配置したディレクトリで実行 概要 Dockerを使って起…

mongoidへ送ったプルリクエストが無事マージされた話

概要 先日のブログで書いた内容の経過報告です。 fuqda.hatenablog.com PR送った結果 先日mongoidに送ったプルリクエストが無事にマージされました。 github.com 所感 今回マージされたリポジトリには明確なコントリビューションガイドは無かったのですが、…

mongoidのupdate_allにバグがあるかもしれない?

gemのバージョン mongoid 6.1.1 MongoDBのバージョン Docker使用 mongo:3.6.12 概要 一対多のモデルに対する update_all が正しく動いてなさそう... 雑な例 (実際のコードとは関係ありません) Orderモデルにpending(入金待ち)、complete(決済完了)とcancel(…

brew updateの影響でreadlineに依存してるgemとtigが壊れた場合の解決法

発生エラー 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のautocomplete属性とその種類について

概要 普段はサーバーサイドをメインにやっているのですが、先日HTMLもゴニョゴニョしないといけないことがあり、その際にHTMLのautocomplete属性に触れました。HTMLの属性について不案内だったのでここにメモしておきます。 autocomplete属性と種類 こちらの…

mongoidのtimeless.save関連のバグを見つけた備忘録

概要 mongoidには特定のインスタンスのtimestampを更新したくない時に、timestampだけ更新しないようにする仕組みがあります。 私は実務でActive Recordを使ったことがないので定かではないですが、Active Recordにも必ずあるはずです。 そのオプションを付…

MongoDBのODマッパーmongoidにプルリクエストを送ってみた

今回やったこと RailsからMongoDBを使うためのOD(Object Document)マッパーであるmongoidにプルリクエストを送りました。 github.com 概要 mongoidを使った時にrails g modelコマンドでデフォルトで生成されるファイルにはtimestampがincludeされないので、…

mongoidはデフォルトだとモデルにcreated_atとupdated_atが存在しないので追加する方法

問題 Railsでmongoidを使用した場合、デフォルトのままだと当たり前にあると思いがちな created_at と updated_at が存在しないモデルが生まれます。 今回はこれの追加方法について触れてみます。 解決法 モデルのファイルに include Mongoid::Timestamps を…

Docker環境のmongoidを使ったRailsアプリでDBに接続出来ないときの解決法

経緯 現場Railsのタスク管理アプリをDocker環境+mongoidで作っていて、タスクの保存画面を作成していたところ、タスクのcreateでエラーに遭遇しました。 発生したエラー Docker環境上でRailsのDB(MongoDB)に接続出来てなさそう... 発生環境 Docker for Mac …

Hello hey for Engineers vol.3(day2)でRuby2.7のパターンマッチングに関するLTをしてきました!

イベント詳細 hey.jp LT資料 私の発表がこちら! もう少し掘り下げれば良かったと猛省... 掘り下げて別のLTタイミングでリベンジしようと思います!(ホント悔しい) speakerdeck.com その他先輩方のLT資料の一部がこちら twitter.com t.co 感想 やはり、もう…

Railsのbinding.pryじゃない!Rubyのデバッガーを使う方法

Rubyのデバッガーを使う -r debug をつけてRubyのファイルを実行するとデバッグモードでファイルを起動することが可能です!!(知らなかった...) $ ruby -r debug 実行ファイル デバッグのやり方 Railsのbinding.pry同様にnext(次へ)やstep(メソッド呼び出しが…

RailsコマンドからORMを介さずにDBコンソールに直接アクセスする方法

rails dbconsoleコマンド知らなかった... 普段ActiveRecordと無縁の開発をしているので、ActiveRecordを使った開発で使うようなコマンドを知らなかったので、恥ずかしながらここにまとめますw rails dbconsole 使用しているDBそのもののコンソールを開くこと…

データ構造を雑にまとめる

そもそもデータ構造とは? パソコンで扱われる数値データを扱いやすいようにまとめた塊のことです。 種類 変数 配列 リスト キュー スタック 木(ツリー)構造 変数 値を格納する箱のようなものです。 配列 沢山ののデータを一箇所にまとめて入れておくタンス…

NATとブリッジの違いとネットワーク関係のアレコレ

ネットワークのアレコレ Virtualbox上のubuntuに対してローカルのMacからsshするためにネットワークの設定を変えねばならず、同一のネットワーク内での接続ですよ!と設定するためにデフォルトのNATからBridged Adapter(ブリッジ)に変更する必要があります。…

Ubuntu18.04で@(アット)\(バックスラッシュ)|(パイプ)が使えない問題の対処法

問題 USキーボードの状態でUbuntu日本語版を使用しているとデフォルトのままでは、USキーボードの本来のキー配列を正しく認識してくれないようです。 なので、パイプやアットマーク、バックスラッシュがそのままだと入力出来ません。 対象法 Ubuntuのターミ…

Ubuntu18.04で日本語入力を可能にする方法

対処法 こちらの記事にズバリな答えが書いてありました... do-you-linux.com

MacにVirtualboxを入れてUbuntuをインストールする雑な手引き

まずVirtualboxを落とす Oracle VM VirtualBox Ubuntuを落とす www.ubuntulinux.jp UbuntuをVirtualboxに入れるパスとタイプを指定 Virtualboxの仮想マシンタブから新規をクリックします。 そうすると以下の画像のようなモーダルが表示されます。 問題ない場…

Ubuntu18.04だとifconfigコマンドが標準で使えない?

問題 VirtualboxとホストのMacを接続するためにIPを調べようとして、Virtualbox上のUbuntuのターミナル上で ifconfig コマンドを打ったところCommand not foundになってしまいました... どうやらUbuntu18.04だとnet-toolsというパッケージが標準でインストー…

Linuxを基礎からやり直すvol.1

はじめに 基礎が出来てなくて最近何かと困るので、初歩の初歩からLinuxのお勉強をやり直していきます。 そもそもOSの役割 メモリの管理 ディスク管理(記憶装置の管理) ハードウェアからの情報をアプリケーションに受け渡す Linuxの動作の仕組み LinuxのOSはL…