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

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

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) 向け拡張機能を入手 使ってみる Firefoxでは、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…

Downを使ってRubyで画像をダウンロードしてみる

使ってみる down をインストールする。 gem install down 以下のコードを書いて実行すると、画像をダウンロードできる。 ↓ -> 画像をダウンロードできた。 参考 How to download image files in Ruby - Twilio

Ubuntu で画像の解像度を表示してみる

はじめに Ubuntu で identify コマンドを使うと、画像の情報を取得することができる。 Linux環境で画像ファイルの情報を確認する方法 - Qiita 使ってみる 画像の詳しい情報を取得するには、identify コマンドの -verbose オプションを付与する必要がある。解…

GitHub でタグを追加してみる

毎回、やり方を忘れるのでメモっておく。 「Issues」->「Lables」->「New label」ボタンを押すと、ラベルの入力ができるようになる。 参考 GitHub の Issues に独自のラベルを追加 / 編集 / 削除する方法 - Qiita

Haml でヘルパーメソッドを呼び出して class を動的に設定する

以下のようにすれば、Haml でヘルパーメソッドを呼び出して class を動的に設定することができる。 ↓ やたらと苦戦してしまった。 参考 Bootstrap flash messages in Rails

MiniMagick で2つの画像を重ねあわせてみる

はじめに Minimagick の composite メソッドを使うと、2つの画像を重ねあわせて1枚の画像にすることができる。 https://www.rubydoc.info/github/minimagick/minimagick/MiniMagick%2FImage:composite ここでは以下の画像を重ねあわせて1枚の画像にしてみる…

MiniMagick で文字や図形を書き込んでみる

MiniMagick では、draw メソッドを使うことで、画像に文字や図形を書き込むことができる。 ↓ 参考 https://image-magick.com/

wget で保存するディレクトリを指定する時は -P オプションを使う

例 ここでは img ディレクトリを作成して、img ディレクトリに「いらすとや」の画像を wget でダウンロードしてみることにする。 mkdir img wget -P ./img https://3.bp.blogspot.com/-dqoq-nN83NM/W1vg19r9wlI/AAAAAAABNrw/IP2DyyofvHgh8Z1weiHaVYZlPkplfZ3…

Ruby の scan メソッドで字数で分割してみる

はじめに ここでは以下の記事を参考にして、Ruby の scan メソッドで文字数で分割してみることにする。 ruby scan 文字列を字数で分割 - railsがんばる子 例 scan メソッドの引数に /.{1,5}/ を渡すと、文字列を5文字ずつに分割できる。 ↓ -> 文字列を字数で…