patorashのブログ

方向性はまだない

Selenium WebDriverからCupriteへの移行は難しい件

この記事を読んで、SeleniumからCupriteに移行できたらテストがまた速くなるんじゃないか?と思ってここ数日動作検証してるのですが、思った以上にうまくいかないので、一旦移行を諦めようかなという気持ちになっています。 techracho.bpsinc.jp とはいえ、…

ジュニアNISAするしと思って投資の本を読んだ

ジュニアNISAの口座を開設して、震えながら現金を突っ込んでおきました。なんせ、突っ込んだお金は子供が大きくなるまで引き出せないのです。でもまだ何も買ってません。日経平均3万近いので、今年中に調整があって2万前後になるに違いない!!と思いながら…

5月になってやっていること

4月のことを、この前書いた。 patorash.hatenablog.com もう3週間くらい経ってしまった。なかなかブログを書く時間も取れないほど、日々は慌ただしい。主に、家庭面で。まぁ岡山県も新型コロナの影響で緊急事態宣言が出てしまい、それもあって幼稚園が登校自…

リファクタリングデーでキャッシュ化に取り組んだ話

第三回リファクタリングデーを開催したのだけれど、これがすごくよかったのでまとめておく。 お題はキャッシュ化 後輩氏とパートナーさんは、まだキャッシュにすることの経験がなかったので、過去にそれぞれが実装したところ等でキャッシュ化できそうなとこ…

最近取り組んできたことと新たな課題について

4月のまとめ的な感じになるけれど。 予備知識 現在の開発体制が、私がリーダー、後輩氏、パートナーさんの3名体制である。 私はRails歴9年で今のプロジェクトを最初から担当している。40歳とはいえ新米リーダーである。 後輩氏は4月より新卒入社3年目に入っ…

gem auditedでrails consoleやrake taskの時にデフォルトユーザーを設定する

auditedというgemを使って、監査ログを保存するようにしたいと思い、現在調査中。 github.com 大体はよさそうなので、採用したいと思っているのだけれど、困ったのが、rails consoleとかでデータ変更されたとき。データ変更の履歴は残るものの、誰がやったか…

第31回中国地方DB勉強会で発表しました(録画で)

先週ですが、中国地方DB勉強会で発表してきました。 dbstudychugoku.connpass.com 開催日が平日の夜ということもあり、私自身はリアルタイムで参加できなかったのですが、発表は前からお願いされていたので、なんとか動画を録って主催者のid:ikkitang1211 に…

SQLiteのLIKE演算子はデフォルトでESCAPE文字が設定されていない

私はimyouというニックネーム管理用gemを公開しているのですが、開発時にPostgreSQLを使っていました。 しかし、RailsのデフォルトのデータベースはSQLiteなので、SQLiteで開発したほうがよかろうと考え、SQLiteに変更してテストを実行したところ、なんと落…

Rubyで要素数が異なる二次元配列で行と列を入れ替える

最近のPRのレビューをしているときに、二次元配列のデータを入れ替える処理をしているところがあったので、レビュー後にチャットで意見交換していたら綺麗な感じにできたのでそれをメモして残しておく。 transposeを使うのがミソなのだけれど、transposeを使…

情報格差を減らす取り組みの話

今期に入ってメンバーが私1人から新人(2年目)とパートナーさんが追加されて3名体制になったので、情報格差をなくすための活動に勤しんでいる。 以前にいたメンバーはそれなりに最初からRailsに詳しかったりしていたので、そこまで情報を整理しなくても勝手に…

カラムだけでなく、テーブルにもコメントを追加する

DBのカラムにコメントを追加するシリーズ、いよいよ最後。 テーブルにもコメントを付けていきます。 今までの記事はこちら。 patorash.hatenablog.com patorash.hatenablog.com patorash.hatenablog.com patorash.hatenablog.com テーブルを抽出する テーブ…

コメントのないカラムを抽出してマイグレーション処理を生成する

データベースのカラムにコメントを追加していくシリーズ。 今までの経緯はこちら。 patorash.hatenablog.com patorash.hatenablog.com patorash.hatenablog.com ここまでで、I18nを使ってデータを突っ込んだので、残りはそれらで漏れたテーブル・カラム群と…

メタプログラミングでActiveRecord::Enumの値についてカラムにコメントする

前回はI18nのデータを元にコメントを追加するというやつを書きました。 patorash.hatenablog.com 今回は、さらに踏み込んで、ActiveRecord::Enumの値が何を示しているのかを、メタプログラミングを使ってコメント化しました。 なお、プロジェクトではgem enu…

楽々ERDレッスンを読んだ

TLで良書だというのをチラホラと見かけていたのだけれど、結構古い本なので迷っていたのだが、今でも通用しそうな内容っぽいので買って読んでみた。 TLで見かけてた、楽々ERDレッスンを手にいれたので読んでいく。 pic.twitter.com/f7WEl6mHft— パトラッシュ…

I18nのデータを基にDBのカラムにコメントを追加する

前回、こういう記事を書いてました。 patorash.hatenablog.com Mackerelにテーブル数、カラム数、コメント数を表示できるようにしたわけですが、カラム数に対してコメント数が0でこれから全部やっていくの辛い〜と思っていたのですが、ふと、I18nから引っ張…

DBのテーブル数、カラム数、コメント数をMackerelに登録するrake task作った

先日のOSO2020で、はてなの吉田さん(id:syou6162)がカラムのコメント数をMackerelのサービスメトリックとして登録して可視化したという話をして感銘を受けたので早速rake taskを作ってみた。 なお、先日の記事。 patorash.hatenablog.com 言及されていたのは…

オープンセミナー岡山2020に参加した

オープンセミナー岡山2020は新型コロナウィルスの影響で延期となり、2021年になってしまいましたが、オンライン開催ということになっていました。運営委員会の皆様、ありがとうございます。 oso.connpass.com 今年のテーマは「エンジニアリング x ○○(なんか…

「その仕事、全部やめてみよう」を読んだ

その仕事、全部やめてみよう――1%の本質をつかむ「シンプルな考え方」作者:小野 和俊発売日: 2020/07/30メディア: Kindle版 TLで見かけていて、面白そうだから買っていたのに積読していたので、消化した。 著者はクレディセゾンのCTOの小野和俊さん。プログ…

今年の目標

大らかな気持ちで生きていきたい。 目先の利益に囚われがちだし、人の成功には嫉妬しがちだし、流行りの技術とかのキャッチアップができてないから焦燥感ありがち。 だいたいそんなことはどうでもいいのに、いつの間にかそういう価値観をインストールされて…

RSpecでモデルのエラー確認はof_kind?が便利

Rails 6からだけれど、モデルのエラー確認にof_kind?メソッドが使えるらしい。 最初は、伊藤さんのQiitaの記事を見て、be_addedメソッドを知った。これも便利そうだなぁと思っていたのだが、そのコメント欄にRails 6からof_kind?が加わったと書いてあった。 …

CircleCIでresource_classをsmall、parallelismを増やして高速化・節約

副題:CircleCIでdocker-composeを使うのをやめた。 1年前くらいには、CircleCIでdocker-composeを動かす方法についての記事を書いてた。 patorash.hatenablog.com しかし、これが遅い。まぁ自分のやり方が悪いというのはあったのだけれど。ライブラリのキャ…

WSLでLocalhostForwardingが効かない場合は高速スタートアップをオフにしよう

タイトルで全てを語ってしまいましたが、これです。 WSL2でRailsアプリの動作確認をしようとbin/rails sを実行後、 http://localhost:3000 にアクセスしたのですが、何故か表示されず…。pumaも起動していますが、ポートフォワーディングに失敗しているようで…

AWS SDK for Rubyでminio上のバケットを削除するときのTips

自分のための備忘録です。 seed-fuを使ってデータ投入していたのだが、データを作り直そうと思ってseed-fuを再び実行したところ、minioのバケットを作るところでコケた。原因は、既にバケットがあったからだった。 require 'aws-sdk-s3' storage_yml = YAML.…

PowerAutomateで毎月第2水曜日にTeamsで通知するやつを作った。

最近、月一の社内勉強会がまったくの不定期開催になっていたので、Teamsの予定で毎月でスケジューリングしておいた。そして、PowerAutomateで1週間前になったら「来週勉強会やでぇ〜」と告知するやつをたった今作った。— パトラッシュ@エキスパート職 (@pato…

2020年を振り返る

はい、というわけで、今年も振り返っていこうと思います。去年のはこれ。 patorash.hatenablog.com なんか、来年の目標は来年考えるとか書いてたけれど、それをブログにしてなかった。 2020年序盤 たしか、OpenID Connectの技術検証をしていたので、それをそ…

stimulus 2.0.0の進化が凄い件(サンプルコードあり)

仕事で、とあるRailsアプリを作っているのですが、そこでstimulusを採用していました。そうしたらちょうど少し前にstimulusのバージョン2.0.0がリリースされていました。このバージョンアップによって、かなり書きやすくなりました。 今までと何が違うのか?…

simple_formを使ってActiveStorageのダイレクトアップロードを行う

引き続き、ActiveStorageネタです。 simple_formを使ってActiveStorageのdirect_uploadの設定を書くと、うまくいきません…。 = simple_form_for(@post) do |f| / 略 .form-inputs / 動くけれどダイレクトアップロードにはならない… = f.input :images, as: :…

ActiveStorageで画像を追加アップロードする

さっきこんな記事を書きました。 patorash.hatenablog.com 今度は、更新で画像を追加しようとしたところ、上書きされてしまいました。 追加されると思っていたのでびっくりな挙動でしたが、その辺りはこのissueにあります。 github.com Rails5までは、追加が…

ActiveStorageで添付した画像をupdateで削除する

Rails 6.0でとあるアプリを作っているのですが、ActiveStorageを使って画像を添付しています。登録は比較的簡単に行えたのですが、画面から画像のみ削除する方法がいまいちわからなかったので調査しました。 コード(修正前) モデル 複数の画像が添付できる…

言葉の遅れが改善する方法を読んだ

長男が発達障害と診断され、療育手帳を取得していて、療育施設にも通っている状態です。 うちの子はまだ言葉の獲得ができていないので、それのヒントがあればと思い、購入。 小児科医が伝えたい言葉の遅れが改善する方法 自閉症スペクトラム、アスペルガー症…