スリ飯屋Malankaのフリーエンジニアな日々

IT実務未経験から約1年、東京でフリーランスのRuby on Railsエンジニアに転職。約2年半、大阪中崎町でスリランカカレーの間借りしてました。フリーランスエンジニアになるためのノウハウ、スリランカの事を発信していきます。

Ruby

【Rails】aタグからhref属性の値を正規表現で抽出する方法

こんにちは、mahです。 このブログでは、僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、ノウハウなどを書いていきます。 今回は、aタグからhref属性の値を正規表現で抽出する方法 についてです。 一発で抽出出来るヘルパーメソッドがある…

【Ruby Selenium】wait.untilブロックでTimeoutしたら外側にraiseされる

こんにちは、mahです。 このブログでは、僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、ノウハウなどを書いていきます。 今回は、Seleniumの、wait.untilブロックでTimeoutしたら、waitの外側にraiseされる についてです。 Seleniumリフ…

【Ruby】Seleniumでエラー Other element would receive the click の解決方法

こんにちは、mahです。 このブログでは、僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、ノウハウなどを書いていきます。 今回は、Seleniumで、Other element would receive the click というエラーが出た場合の解決方法 についてです。 S…

【Ruby スクレイピング】Seleniumで要素が空かどうか判定する

こんにちは、mahです。 このブログでは、僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、ノウハウなどを書いていきます。 今回は、Selenium Webdriverで要素が空かどうか判定する tipsです。 最近スクレイピングにハマっています。 色んな…

【Rails】DBに紐つかない属性(カラム)をモデルに追加する

こんにちは、mahです。 このブログでは、僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、ノウハウなどを書いていきます。 今回は、DBに紐つかない属性(カラム)をモデルに追加する についてです。 「DBに保存しないでいいけど、属性持たせ…

【Rubyでスクレイピング】Seleniumでdata属性を取得

こんにちは、mahです。 このブログでは、自分がIT未経験から約1年でフリーランスエンジニアになるまでの過程、ノウハウなどを書いていきます。 今回は、Seleniumでのスクレイピングで、xpathでdata-XXXのような属性の値を取得する方法 について書きました。 …

【正規表現】Rubyで、文字列がURLかどうかをチェックする

こんにちは、mahです。 このブログでは、自分がIT未経験から約1年でフリーランスエンジニアになるまでの過程、ノウハウなどを書いていきます。 今回は、Rubyで正規表現を使って、文字列がURLかどうかをチェックする方法 をまとめました。 結論 URI.regexp.ma…

【Ruby】privateメソッドはModule#instance_methodsでの検索対象外

privateメソッドは、Module#instance_methodsの検索対象外。 Hoge.instance_methods(false).include?(:public_method) #=> インスタンスメソッドの名前が配列で返却される。 検証 Articleモデルに、publicメソッドとprivateメソッドを定義。 class Article d…

herokuで画像ファイルをassets/下に置いても認識されない

herokuで画像ファイルをassets/下に置いても認識されない テキストを音声にしてmp3ファイルを生成し、assets/audiosディレクトリ以下に保存 1のファイルを取得しS3にアップロード 1のファイルを削除するということをしていました。 が、herokuではどうもasse…

【Rails】enum型でカラム名を定義すると、scopeが自動生成される

【Rails】enum型でカラム名を定義すると、scopeが自動生成される enumで定義したカラム名は、そのまま モデル.where句の検索条件 にする事ができる。 なので、 enumで定義したカラム名のscopeは自分で定義する必要はない。 例、 enum status: { deleted: -1,…

【Rails】ファイルの作成日時順に、ファイルを並び替える File.mtime()

【Rails】ファイルの作成日時順に、ファイルを並び替える File.mtime() 結論 File.mtime() でファイルの作成日時が取れるので、それをsort_byで並び替える。 こちらを参考にしました。 Rubyでファイル一覧を作成日時順に取得する方法 - 動かざることバグの如…

【Ruby】URL文字列から、相対パスを取得する手順

【Ruby】URL文字列から、相対パスを取得する手順 こんにちは、mahです。 このブログでは、自分がIT未経験から約1年でフリーランスエンジニアになるまでの過程、ノウハウなどを書いていきます。 今回は、URL文字列から、相対パスを取得する手順 をまとめまし…

【Rails】viewでaタグを削除したい sanitize gem

【Rails】viewでaタグを削除したい sanitize gem sanitize gemを使います。 Sanitize.cleanメソッドに、オプションを渡します。 第二引数elementsの引数に、残したいタグを配列で指定することで、指定したタグ以外を削除出来ます。 # @hoge.textにはhtml文字…

【Rails】配列でクエリパラメータを渡したい to_query

【Rails】配列でクエリパラメータを渡したい。 to_queryメソッドを使います。 値.to_query(キー) という風に使うと、うまくクエリパラメータの形に整形してくれます。 以下は、keyというキーと、hogeという値をクエリパラメータに変換する例です。 [13] pry(#<ArticlesController></articlescontroller>…

【Rails】SymbolとStringの違いとenumについて

シンボルと文字列 ・シンボル オブジェクトidが一意に振られる。一つのシンボルは常に同一のオブジェクト。なのでメモリの節約になる。 変更が加えられない(イミュータブル) class Symbol (Ruby 2.7.0 リファレンスマニュアル) ・文字列 オブジェクトidが毎…

【Rails】audio_tagのsrc属性の値に + を含めるとエラーになる

【Rails】audioタグのsrc属性の値に + を含めるとエラーになる jsで、audio_tagで出力されるaudio要素のsrc属性に値を代入していた。 値は以下のようなDateTime型の値を含んだファイル名。 [12] pry(main)> DateTime.now => Tue, 14 Jan 2020 08:02:15 +0900…

【Railsチュートリアルでエラーが出た時のチェックリスト】

【Railsチュートリアルでエラーが出た時のチェックリスト】 前提として、Railsチュートリアルは基本コピぺ なので、正しくコピぺしていれば動きます。 その1 文章を読み飛ばしていないか? => こういう技術教材は細かい所が大事で、読み飛ばしていて必要なコ…

【Ruby】論理演算子 &&= について

&&=について ||= はよく見るのですが、&&= は業務で初めて見て、??となったので備忘録として残しておきます。 左辺がtrueと見なされる値なら、右辺を評価し、結果を左辺に代入するという挙動をします。 例、 irb(main):002:0> user = 'ユーザーです' => "ユ…