Ruby2系までは、ネストした階層のハッシュをオブジェクト化するには、JSON化してOpenStructを使うのが簡単だったが、 Ruby3.0からOpenStructが非推奨になってしまったため、Structでやる必要になって少しはまったのでメモ。 response = { users: [ profile: …
登録フォームなどをRailsで書いていると、登録成功、失敗それぞれのときにView側にメッセージを返したくなる時がある。 ajaxなどを使ってもできるが、flashを利用するとRailsのみで実現できる。 controller側の例 def create # 何らかの処理 if 成功した場合…
管理画面の改修をしており、テーブルにある行の1つを削除したいとき、 その行に削除ボタンを設置してそのまま削除処理をおこないたくなるような場面に遭遇した。 = link_to '編集', edit_user_path(user_id) 編集画面に遷移させたいなどであればrotingやcon…
超基本だがよく使うのでメモ。 - users - id - name - user_profiles - id - user_id - age 上記のような1対1の関係のテーブルがある場合、Railsのモデルでuserからuser_profileのageにアクセスする場合は、 user.user_profile.age といったようにアクセスで…
elasticsearchをアップデートしたらうまく動かなくなった。 結論から言うと、 environmentに"bootstrap.system_call_filter=false"を追加した。 elasticsearch: container_name: elasticsearch image: appbrewadmin/elasticsearch:7.9.3 ports: - 9200:9200 …
Ruby2.7.5から3.0.4にあげたときrails sを実行時にbootsnapがエラーを出した。 Railsは6.1.5。 .rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/bootsnap-1.13.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:17:in `require': cannot load su…
Railsの6.0から6.1にアップグレードするだけでもかなりハマってしまったのでメモ。 bundlerを最新にする これだけでも解決することがある。 BUNDLER_VERSION=2.3.9 gem install bundler -v ${BUNDLER_VERSION} bundle _${BUNDLER_VERSION}_ install --jobs=4…
Basic認証をかけているサイトで、一度認証してもページを切り替えるたびにBasic認証が出続ける問題が起きた。 safariで見るとおきないのでどうやらchromeが原因のよう。 調べていくと以下のやりとりを見つけた。 https://serverfault.com/questions/182226/h…
Ruby 2.4.3 Rails 5.1.6 ransackというgemを利用すると以下のように簡単に検索が実装できる。 こちらの記事がとても参考になった。 Ransackで簡単に検索フォームを作る73のレシピ - 猫Rails ただindex内でupdateを呼んで更新をかけて、またindexにリダイレク…
自分のrails環境でbundleインストールをした際、 ffiというgemの古いバージョンがインストールできなかったため、以下のように設定ファイルを作成するといいことを教わった。 railsプロジェクトのカレントディレクトリで以下を実行 mkdir .bundle cd .bundle…
Kubernetesでアプリケーションを動かしていて、大容量ファイルのアップロードなどを許可する場合、 pod内のnginxやapache、php.iniなどを変更しても、ingress-nginx経由で通信を行っているため、ingress-nginx内の設定を変更する必要がある。 その場合、Conf…
flutterにはダウングレードコマンドがあるが、 自分の環境ではいまいちうまく動かなかったので以下のように実行した。 ※flutterをインストールしたフォルダに移動してから実行。 git checkout 1.17.1 flutter doctor flutter --version 「1.17.1」の箇所を任…
ECSがぱっと見複雑だったため、構築時に学んだことをメモ。 要素について クラスター コンテナを入れるための塊。EC2とFARGATEが選べる。 タスク定義 コンテナを起動させる設定。コンテナイメージを指定したり、いくつ起動させるかなどを設定する。 サービス…
CORSに対応したときにちゃんとレスポンスを返せるか以下のコマンドでチェックできる。 この場合、 http://sample.jpは、APIを実行したいURL。 https://your-domain.com/your/apiは、CORS対応をしたAPI等のURL。 curl -X GET -I -H "Origin: http://sample.jp…
AWSのECSというサービスは、シンプルと言われながらも独自の要素が多くつまづいたので概要をメモしておく。 クラスター EC2(VMインスタンス)、FARGATE(抽象化されている)どちらかを選んで作成できる。コンテナ置き場。 タスク コンテナイメージをどのよ…
php7.3-apacheという公式イメージを利用して、dockerでlaravelを動かしたら「/」直下は表示されるのにルーティングはうまくいかなかった。 .htaccessの記述は問題なし php artisan route:list で確認してもちゃんとルーティングはでている いろいろ調べたと…
FlutterでiPhoneに実機ビルドしようとしたとき、 アプリはインストールされるのだが、エラーになってしまいsyncできない状態になってしまった。 Unable to locate DeviceSupport directory with suffix 'Symbols'. This probably means you don't have Xcode…
勉強用にいれてみました。備忘録メモ。 以下の条件で構築しています。 Xcode インストール済み Command Line Tools インストール済み Homebrew インストール済み rbenvをインストール Rubyのバージョン管理をできるrbenvをインストール brew install rbenv r…
BootstrapVueを利用しているのですが、見出しにvariantとかで一般的に使える色をつけたいのに、 オプション(head-variant)では「light」と「dark」しか選べないので、 以下の様に解決した。 <b-table :item=items thead-class="bg-primary text-white"> </b-table> thead-classというものが利用できるので、 そこにbootstrap4で…
json_encode関数はそもそもデフォルトで使えるものだが、注意を促される。 なぜかということについては、こちらで詳しく原因を書いてくれている。 blog.pinkumohikan.com 具体的な解決方法は、composer.jsonファイルのrequire内に ext-jsonを追加してあげれ…
概要 mongodbでは、jsファイルを実行して複雑な処理をすることができるが、その時外部引数を設定する方法があるのでメモ。 mongodbで実行するためのjsを用意 testというdbに、commentsという「_id(mongoid)」と「insert_date(datetime)」と「comment(string)…
centosなどで使うllコマンドがMacでは使えないので、エイリアスを追加。 vi ~/.bash_profile 以下を追加 ※ついでに色分けするオプション(G)と、フォルダに「/」が足される(F)追加したコマンドを足しています。 alias ls="ls -FG" alias ll="ls -FlG" 設…
python3.7の開発環境をvenvで作る 概要 pythonの仮想環境を作るやり方は沢山あるが、公式チュートリアルにあるやり方をベースにした。 python3.7をインストールして、venvで実行できるようにする。 python3.7 venv macOS 10.14 homebrew python3.7インストー…
概要 mac OS 10.14 Homebrewインストール済み Homebrewでgoをインストール brew update brew install go go version (go version go1.12.4 darwin/amd64) goenvもいれる brew install goenv vi ~/.bash_profile bash_profileに以下を追加 export PATH="$HOME…
Go言語の勉強を始めたので、基本のメモ。 環境 Go 1.12 フォルダ分け Goはmain関数があるmainパッケージが処理の拠点として存在するが、 処理を切り分けたい場合はパッケージを作る。 以下の内容が書かれた、「main.go」というファイルがあるとする package …
privateTmp機能をoffにする ※セキュリティが下がるのでなるべく注意 /lib/systemd/system/httpd.service --- PrivateTmp=true ↓ PrivateTmp=false --- systemctl daemon-reload systemctl restart httpd
apache2.2ではhttpd.confに設定する部分があったが、 2.4では場所が変わっていたためメモ。 sudo vi /etc/httpd/conf.modules.d/00-mpm.conf ------------------------------------------------------------------------------------------- # Select the MP…
主に開発環境等でLaravelを構築するための手順をqiitaに書きました。 上から順に追っていけば環境が構築できるように書いてあります。 qiita.com
MongoDBのレプリカセットを解除しようとしたとき、 データを保持したまま解除する方法が分からなくはまった時のメモ。 localデータベースを削除 ホスト機で以下コマンドを実行 mongo >use local >db.dropDatabase() confファイル変更 mongodb ver.2系の場合 …
vmのコピー ホスト機で以下コマンドを実行 virt-clone --original [ベースのvmの名前] --name [新しいvmの名前] --file /var/lib/libvirt/images/[新しいvmのイメージファイル名].img MACアドレス確認 ホスト機で以下のコマンドを実行し、新しいMACアドレス…