hamayuzinの日記

エンジニアとかデータサイエンティストとかやってます。あの時 あれやってたな的な備忘録にできれば。

【Rails/encrypted secrets】rails5.1からのencrypted secretsに移行する

何度かrailsアプリケーションで、secretsからencrypted secretsに移行したので、メモ やること - .env等使わず、encrypted secretsだけで運用する - database.ymlの情報も secretsから読み込むようにする - 諸事の事情で、ENVに入れるようにする encrypted s…

【Rails】helperの使い所

rails の helperの使い所について まとめると view helperにビジネスロジックを入れちゃだめだよね helperは関数みたいな感じ 名字と名前を持つUserモデルがあったときに class User < ApplicationRecord end create_table "users" do |t| t.integer "first_…

【ansible/aws】ansibleで aws の ec2上に rails nginx 環境を作成する

リポジトリはこちら github.com やりたいこと railsを使っており awsのec2にdeployしている。 都度都度、サーバー立てて、構成を作るのがめんどくさいので、 ansibleで構築できるようにする。 chefは会社で使用しているが、一から自前で作ると ansibleより疲…

【ansible/aws】ansibleで ec2にnginxをinstall

リポジトリはこちら github.com 目次 ec2インスタンス建てる 今ココ deploy用のuser作成 rbenvとruby install nginxの設定 まとめ 構成 . ├── ec2-server.yml ├── hosts │ └── ec2-servers └── roles └── aws ├── nginx ├── defaults │ └── main.yml ├── han…

【ansible/aws】ansibleで ec2にrbenvでrubyをinstall

リポジトリはこちら github.com 目次 ec2インスタンス建てる deploy用のuser作成 rbenvとruby install 今ココ nginxの設定 まとめ 構成 . ├── ec2-server.retry ├── hosts │ └── ec2-servers └── roles └── aws ├── rbenv └── tasks └── main.yml やること r…

【ansible/aws】ansibleで deploy用のuser作成

リポジトリはこちら github.com 目次 ec2インスタンス建てる deploy用のuser作成 今ココ rbenvとruby install nginxの設定 まとめ 構成 . ├── README.md ├── config │ ├── authorized_keys │ └── id_rsa ├── ec2-server.yml ├── hosts │ └── ec2-servers └──…

【ansible/aws】ansibleで ec2 インスタンスを作成

リポジトリはこちら github.com 目次 ec2インスタンス建てる 今ココ deploy用のuser作成 rbenvとruby install nginxの設定 まとめ 構成 . ├── aws.yml ├── hosts │ ├── aws │ │ ├── ec2.ini │ │ └── ec2.py └── roles └── aws ├── ec2 └── tasks └── main.ym…

【Rails/sidekiq】Rails5でsidekiqを使ったとかの設定とか

環境:rails5.1.0 rails5.1でsidekiq使ったので、その時の設定とかメモ defaultのretry count設定 Sidekiq.configure_server do |config| config.redis = { url: "#{ENV['REDIS']}" } Sidekiq.default_worker_options['retry'] = 3 end delay methodを使える…

【rails/capistrano】railsでcapistrano deploy内で、secrets.yml or secrets.yml.encの値を使う方法

環境 rails5.1.3 railsでcapistrano deployする時に deploy.rb や、rake タスク内で、 railsのsecrets ファイルを参照したいことがよくある。 1週間くらい うまく使えないか調べてたが 方法があった 方法 deploy.rbの中で、下記を記述するだけ 今回は、ridge…

【aws/api gateway/lambda/s3】 api gateway ⇔ lambda ⇔ s3 で、動的に画像のresize S3で404redirect 番外編

目次 全体像編 lambdaでのresize編 api gateway 編 railsから叩いてみる編 S3で404redirect 番外編 いまここ S3リダイレクト S3には、該当のファイルがない404エラーの時に 指定したURLにredirectしてくれる機能がある 詳しくは下記 dev.classmethod.jp 設定…

【rails/capistrano】Railsでcapistrano deployするときに、rake task内やdeploy.rb内でsecrets.yml が使えない問題

環境: rails 5.1 問題 railsでcapistranoでdeployするときに、 rakeタスク (lib/capistrano/tasks/hogehoge.rb とか) deploy.rb 内で、secrets.yml内の変数が使えない問題・・・・ 結論 今のところ dotenvで頑張るくらいしかない。。。 考察 そもそもrails…

【Rails/seed_fu】railsでcapistrano deploy時に、seed fuを毎回自動で走らせたい

環境: rails5.1 ruby 2.4.1 seed fu いいよね。便利で。 capistrano deploy時に、seed fuを毎回自動で走らせたい時があったので その方法をメモ 注意 今回はstaging環境で、初期開発時に、社内テスト触る環境を毎回作るのがまんどくさくて、自動化した あま…

【Rails/secrets】Railsのinitializesでsecrets.ymlにある値を使う方法

環境:Rails5.1 carrierwave 等の initializeで secrets.yml (rails5.1からは、secrets.yml.enc)を使いたい。 そんなときに、いろんな方法があるが、下記みたな方法もある。 今回は、carrierwave の initializeで secrets.ymlから awsの情報取ってくる。 env…

【SSL/Rails】ALBorELB + Nginx + Rails の時に、httpをhttpsにredirectさせるには

ALBorELB + Nginx + Rails 環境で、http で来たのを、httpsにredirectさせたい 2つ方法があるのだが、どちらがいいのやら・・・ ※通信に関しては、下記の場合です。 User -https-> ALB -http-> nginx -http> rails ちなみに下記がポイントとなるみたい HTTP…

【aws/api gateway/lambda/s3】 api gateway ⇔ lambda ⇔ s3 で、動的に画像のresize railsから叩いてみる編

目次 全体像編 lambdaでのresize編 api gateway 編 railsから叩いてみる編 いまここ S3で404redirect 番外編 前略 作ったresize apiをrailsから使う場合の設定 carrierwaveを使う前提でやる 画像保存カラム名は、image railsの設定 今回は、content_image_co…

【aws/api gateway/lambda/s3】 api gateway ⇔ lambda ⇔ s3 で、動的に画像のresize api gateway編

目次 全体像編 lambdaでのresize編 api gateway 編 いまここ railsから叩いてみる編 S3で404redirect 番外編 api gatewayの設定 api gateway は lambdaから 画像データがbinaryで返ってくるので qiita.com こちらを参考につくった 詳細 適当に新規APIを作成 …

【aws/api gateway/lambda/s3】 api gateway ⇔ lambda ⇔ s3 で、動的に画像のresize lambdaでのresize編

目次 全体像編 lambdaでのresize編 いまここ api gateway 編 railsから叩いてみる編 S3で404redirect 番外編 lambdaの実装 speeeの方を参考にしつつ S3から画像を取得 image magicで画像をresize resizeした画像をs3にアップロード *画像のbinaryデータを返…

【aws/api gateway/lambda/s3】 api gateway ⇔ lambda ⇔ s3 で、動的に画像のresize 全体像編

目次 全体像編 いまここ lambdaでのresize編 api gateway 編 railsから叩いてみる編 S3で404redirect 番外編 いまここ 前略 はい完全にこちらを参考にした。 tech.speee.jp こちらの方のgithubはこちら GitHub - pataiji/cloudmagick: Serverless dynamic im…

【puma/rails/capistrano】pumactl stderr: bash: bundle: command not found とかで、deployできない

nginx puma rails 環境で capistranoでdeployしていると上記エラーでdeployできなかった エラー内容 Command: cd /data/hogehoge/current && ( export RBENV_ROOT="/usr/local/rbenv" RBENV_VERSION="2.4.1" RACK_ENV="staging" ; bundle exec pumactl -S /d…

【rails/puma/nginx/cap】rails5.1をnginx puma環境にcap deployするときの設定

railsをnginx puma環境にcap deployするときの設定を残しておく rubyはrbenvで管理する webpack secrets.yml.key ridgepoleを使用している nginx upstream hogehoge { server unix:/data/hogehoge/shared/tmp/sockets/puma.sock; } geo $allow_ip_flag { def…

rubyにおけるクラスメソッドとインスタンスメソッドについて

よく迷う そんな時は、こちら https://qiita.com/jnchito/items/49fe82364bca2f4f37f5 https://blog.mah-lab.com/2014/11/13/instance-method-and-class-method-with-ruby/

【cap | rails】cap deployでtar: This does not look like a tar archiveのとき

rails で capistarnoでのdeployをしているときに DEBUG [b12800e2] fatal: Not a valid object name DEBUG [b12800e2] tar: This does not look like a tar archive DEBUG [b12800e2] tar: Exiting with failure status due to previous errors とかなったら…

【AWS Auto Scaling / new relic】railsで オートスケール時の new relicのアラートポリシーを変更したい

場面 オートスケールだぜー サーバーを9時に1台増やして、19時に1台減らすぜー new relicでメトリクス監視したいし、みたいぜー こまったこと 19時に予定通りにサーバーが死んだときに、new relicのアラートポリシーに引っかかって 「サーバー死んでるぞ 大…

【nginx】sitemapをpublic/sitemaps/下に作成して、google先生にクローリングしてもらう

諸々の事情で、sitemapをs3にあげていたんだけど ふと思うことがあって、public下に移した config/sitemap.rb SitemapGenerator::Sitemap.default_host = "https://hogehoge.jp" SitemapGenerator::Sitemap.sitemaps_path = 'sitemaps/' SitemapGenerator::S…

【linux】ファイル容量がいっぱいだと言われるが、rmでファイルを削除しても、容量が変わらない時に

たまに、linux環境で、 ファイル容量がいっぱいなんだけど、rm コマンドで適当なファイルを削除しても、容量が全く変わらない 時がある。 そんなときは、こちらのコマンドを使う sudo lsof これは、rmコマンドで削除したのに、 削除対象のファイルが、別プロ…

【java script】java scriptを学習し直す

これから明らかに必要度がましてくるjava scriptをもう一度学び直すために developer.mozilla.org で、java scriptを学習し直した。

【Rails/mail開封率】Railsでメールを送って、開封されたかどうかを判定する

メールを送信して、そのメールが開封されたか見たい場合があると思います。 めっちゃ簡単です。 方法は単純で - メールの末尾に1ピクセルの画像を設置 - この画像が読み込まれたら、開封されたとみなす - 画像読み込み時に、サーバーにIDつきで送ることで、…

【Ruby/tmpfile】ruby で tmpfileで CSVを作成する

Ruby Railsで tmpfileを使ってCSVを使う方法 単純でありきたいだけどいつもわすれる。 今回は、SJISでencordingしつつ アーティスト名と曲名の一覧のCSVを作成する。 (また、所要でFTPに上げる) # tmpfile作成 tf = Tempfile.new(["hogehoge", '.csv'], en…

【Rails/Bootstrap/modal】rails bootstrapのmodalをajaxで操作する

とあるアーティストの曲を取得したい場合を考える 「曲の一覧」というリンクをクリックすると そのアーティストの一覧を取得して、曲の一覧をモーダルで出す。 index.haml:曲の一覧を表示する %a.open_modal{disable: true, id: @artist.id} 曲の一覧 - con…

【rails/heroku/sitemap】heroku環境下のrailsでsitemapを設定する

heroku環境下で動いているrailsは、sitemap_generator gemだけではうまく動かない (作成したファイルを置けないなんだよ。。。) github.com そこで、AWSのS3に置く方法を用いる sitemapの作成 sitemap_generator gemをインストールして rake sitemap:insta…