IT技術にまつわる実験ノート

「長編を書くより、短編を数多く完成させてください。それが上達への近道です」 by 手塚治虫

Herokuのキャッシュをクリアした

はじめに Herokuで明らかにキャッシュが残っていることが原因のエラーが発生してしまった。Herokuのキャッシュをクリアしたら、このエラーを解消することができた。 使ってみる リモートリポジトリに Heroku が登録されているリポジトリで以下のコマンドを実…

Herokuでbuildpackにnodejsを追加する

Herokuでbuildpackにnodejsを追加する場合は、以下のようにすると良い。 heroku buildpacks:add --index 2 heroku/nodejs buildpack を確認する。 heroku buildpacks index 1 が heroku/ruby になるように設定すると、エラーが出ないようにすることができた。

Herokuのbuildpackを削除する

はじめに Heroku で buildpack を設定したら、他の設定とバッティングしてエラーになってしまったので、この buildpack を削除したい。 削除してみる まずは buildpack を表示する。 heroku buildpacks それから削除するコマンドを実行する。引数には、上記…

HerokuにはデフォルトでGhostscriptが入っている

確認してみる Heroku に Ghostscript が入っているかを確認する場合は、リモートブランチに Heroku が登録されているディレクトリで以下のコマンドを実行する。 heroku run gs -v けっこう新しめの Ghostscript 9.26 が入っている。 Heroku に Ghostscript …

Herokuのエラー「code=H14 desc="No web processes running"」に対処する

解決方法 ターミナルから以下のコマンドを実行すると、「Scaling dynos... done, now running web at 1:Free」と表示されてエラーを解消することができた。 heroku ps:scale web=1 参考 Heroku Error Codes | Heroku Dev Center

heroku環境で bin/rails db:migrate:reset をしたい

レコードの全消去で影響がない場合は、以下のコマンドで解決できる。 データベースを削除する。 heroku pg:reset DATABASE_URL データベースを再生成する。 heroku run rails db:migrate 参考:rails5 on herokuでPostgreSQLのレコードをすべて消したい時の…

GitHub の Issue でタスクリストを作成してみる

GitHub の Issue では、「Add a task list」ボタンを押すことで、タスクリストを作成することができる。これによって、チェックボックス付きのTODOリストを作成できる。マークダウンでもタスクリストを作成できるが、ボタンを1クリックすれば作成できるので…

Gmailでメールをブロックしてみる

はじめに Gmailで余計なメールに対応するのが面倒になってきたので、Gmailのブロック機能を使ってみることにする。 使ってみる Gmailでメールをブロックする方法は、以下の通り。 参考:メールをブロックする - パソコン - Gmail ヘルプ メールを開いて、3回…

JavaScriptのmouseoverとmouseoutイベントを使ってみる

はじめに JavaScriptのmouseoverとmouseoutイベントを使うと、要素にマウスがホバーした時の処理とホバーから外した時の処理を記述することができる。 使ってみる 上のコードをブラウザで読み込むと、以下のように動作する。

Heroku のエラーに対処する

Procfile を作成する production環境のアプリは、ウェブサーバーを Procfile で指定した方が良いとのこと。Procfile は Gemfile などがある階層に作成する。(参考) touch Procfile echo "web: bin/rails server -p $PORT" >> Procfile buildpacks を設定す…

Rails で「いいね」機能を作ってみる

はじめに 以下の記事を参考にして、Rails で「いいね」機能を作ってみる。 How to add liking and unliking in rails - Full$taxx - Medium Railsでいいね機能を実装しよう - Qiita Railsでいいね!機能の実装方法 - ihatov08 blog 作ってみる サンプル用の…

Rails で独自Validator クラスを作ってみる

使ってみる サンプル用のリポジトリを作成する。 rails new custom_validator_sample cd custom_validator_sample サンプル用に User モデルを scaffold して作成する。 bin/rails g scaffold User twitter_account:string bin/rails db:migrate 独自Validat…

Google Cloud Functions を使って express アプリを動かしてみる

はじめに Google Cloud Functions を使って express アプリを動かしてみる。 https://itnext.io/google-cloud-functions-node-js-and-express-aea4a2a9ba3a Google Cloud Functionsをコマンドラインからデプロイする - Qiita 使ってみる サンプル用のリポジ…

Rails の fixture で ERB を使ってループ処理してみる

はじめに Rails の fixture では ERB を使ってループ処理することができる。 Railsのテストで初期データ投入をしてくれるFixtureのつかいかた - Qiita 使ってみる サンプル用のリポジトリを作成する。 rails new fixture_erb_sample cd fixture_erb_sample …

git で fetch + rebase してみる

はじめに git の fetch と rebase コマンドで、リモートブランチの変更をローカルに取り込むことができる。git pull --rebase と同じことが実現できるわけだが、fetch + rebase の場合は、rebase 前にリモートブランチの変更を確認してから rebase すること…

Rails で boolean型の属性でソートしてみる

使ってみる サンプル用のプロジェクトを作成する。 rails new boolean_sort_sample cd boolean_sort_sample サンプル用のモデルを scaffold して作成する。 ここでは、棒にあたりが書いているアイスキャンディーをモデルにする。なお、アイスキャンディーは…

sorcery で GitHub ログインしてみる

はじめに 以下のリンクを参考に sorcery で GitHub ログインを実装してみる。 Using OAuth2 with Sorcery Gem - Irwin Chan - Medium https://github.com/Sorcery/sorcery/wiki/External 使ってみる サンプル用のプロジェクトを作成する。 rails new sorcery…

gem の sorcery を使ってみる

はじめに gem の sorceryを使うと、認証機能を作成できる。 Simple Password Authentication · Sorcery/sorcery Wiki · GitHub https://github.com/Sorcery/sorcery-example-app 使ってみる サンプル用のプロジェクトを作成する。 rails new sorcery_sample …

Ruby で image_processing を使ってみる

はじめに Rails6 から画像ファイルを加工する gem が minimagick から image_processing に変更になるとのことで、試しに使ってみることにする。 Rails6.0のActive Storageに関する変更点まとめ - Qiita 使ってみる 使い方は image_processing リポジトリの …

Rails のモデルから Active Strorage で保存したファイルのパスを取得してみる

はじめに ActiveStorage::Blob.service.path_for(avatar.key) のようにして、Rails のモデルから Active Storage で保存したファイルのパスを取得することができる。 ruby on rails - Get path to ActiveStorage file on disk - Stack Overflow 使ってみる …

Ruby の pop/shift メソッドを使ってみる

はじめに Ruby には破壊的メソッドがある。破壊的メソッドはレシーバであるオブジェクトそのものに変更を加えるメソッドで、この使い方の理解があやふやだと実際に使いこなすことはできない。 破壊的メソッドと非破壊的メソッドの話 - Rubyと仲良くなりたい٩…

配列の要素が1つの時の Ruby の join メソッドの動作

使ってみる 以下の例では、配列に文字列が2つあり、これに対して join メソッドを実行している。この時は普通に join メソッドで文字列を "_" で結合させた結果を返す。ここでは "hello_world" が返される。 一方で、配列の要素が1つで、join メソッドの引数…

Firefox で uBlacklist を使って codeday を表示しないようにする

はじめに codeday というサイトが邪魔だったので、Google の検索で表示されないようにしたい。uBlacklist というアドオンを使うと、これを実現することができる。 uBlacklist – Firefox (ja) 向け拡張機能を入手 使ってみる Ctrl + Shift + a でアドオンの…

Ubuntu/Ruby で headless ブラウザを使ってみる

はじめに gem の headless を使うことで、Ubuntu でも leadless ブラウザを使えるようになった。 https://github.com/leonid-shevtsov/headless 使ってみる インストールには、以下のコマンドを実行する。 sudo apt-get install xvfb gem install headless …

エラー「unable to connect to chromedriver 127.0.0.1:9515 (Selenium::WebDriver::Error::WebDriverError)」に対処する

解決方法 webdrivers を require する。 https://github.com/titusfortner/webdrivers selenium の Example をコピペしたところ、タイトルのエラーが出てしまった。webdrivers をインストールして require したところ、スクレイピングを実行できるようになっ…

Google fonts からフォントをダウンロードしてみる

はじめに Google fonts からフリーのフォントをダウンロードすることができる。 Google Fonts ただ、フォントのダウンロード方法がわかりにくかったのでメモっておく。 フォントを選択して、右下の「SEE SPECIMEN」をクリックする。 次に、右上の「SELECT TH…

Prawn を使って PDF を作成してみる

はじめに gem の Prawn を使うと、Ruby で PDF を作成することができる。使い方は以下のURLで詳細に書かれている http://prawnpdf.org/manual.pdf Prawn Documentation 使ってみる gem をインストールする。 gem install prawn ざっくりとした使い方は、以下…

Rails の fixture で id を取得してみる

はじめに Rails の fixture では、<%= ActiveRecord::FixtureSet.identify(:momotaro) %> のようにして、fixture内での id を取得することができる。 Automatic associations in ruby on rails fixtures - Stack Overflow 使ってみる ここでは Rails の fixt…

MiniMagick の identify メソッドで画像情報にアクセスしてみる

はじめに MiniMagick の identify メソッドで画像情報にアクセスすることができる。 Class: MiniMagick::Tool::Identify — Documentation for minimagick/minimagick (master) 使ってみる irb require "mini_magick" MiniMagick::Image.open("https://github…

Rails で今月の名前を文字列3文字で取得してみる

以下のようにすると、Rails で今月の名前を文字列3文字で取得することができる。 1ヵ月前、2ヵ月前の月の名前を取得する場合は、ago メソッドを使うことができる。 3ヵ月分を取得したい時は、まとめて処理することもできる。 参考 ruby - Name of this month…