サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
madogiwa0124.hatenablog.com
webpackのbuildのキャッシュ、checksumを保存して一致してたら実行しないといった仕組みを用意しないといけないのかなと思っていたのですが、webpack v5からはpersistent cachingの機能が追加されていて簡単にキャッシュして高速化できたのでメモ📝 ↓公式ドキュメントはこちら github.com webpack.js.org persistent cachingでbuild結果をcacheする やり方は簡単で以下のようにcacheの設定をしてあげるだけです。 type: "filesystem"を指定し、buildDependenciesのconfig: [__filename]を指定してあげることでファイルにcacheすることができるようになります。 ※デフォルトではnode_modules/.cache/webpackにcacheが保存されます。 pr
Vue.jsのsetupのprops等、引数を使わないけど型定義だけ設定しときたい場合等、no-unused-varsを無効化したいケースがあります。 github.com 毎回eslint-disable-lineを使うのも手間なので、他の静的解析のツールの慣習に従って_始まりの場合は許容したかったのですが意外と簡単にできたのでメモ やり方 やり方は簡単で以下のような設定を入れるだけです。 "rules": { "@typescript-eslint/no-unused-vars": [ "warn", { "argsIgnorePattern": "^_", "varsIgnorePattern": "^_", "caughtErrorsIgnorePattern": "^_", "destructuredArrayIgnorePattern": "^_" } ] }, argsIgn
何かしらの非同期なバッチ処理を実装したい場合にはSidekiqをActiveJobのバックエンドとして利用することが多いと思いますが、SidekiqはRedisに依存しており、個人のWebサービスとかでなるべくコストを抑えたいときにはRedisを立てずに実装したいものです。 今回はそういう場合に便利そうなPosgreSQLベースのGoodJobを使ってみたのでMEMO📝 github.com GoodJobとは? GoodJob is a multithreaded, Postgres-based, ActiveJob backend for Ruby on Rails. good_job/README.md at main · bensheldon/good_job · GitHub 上記の記載の通り、マルチスレッドで動作するPostgresSQLベースのActiveJob backe
最近Herokuで動かしている個人のサービスの構成をTerraformで管理するようにしてみたので、そのあたりのTerraformの使い方とか移管方法とかを備忘がてらMEMOしておきます📝 Terraformとは Write, Plan, Apply https://www.terraform.io/ 上述の通りオープンソースのcloudサービスを統一したインターフェイスでコード化出来るソフトウェアです。 TerraformにはRegistryにProviderとよばれる公式や第三者が提供しているものがあり、AWS、GCP、GitHub、Rollbarといった色々なサービスをコードで管理出来るようです👀 https://registry.terraform.io/browse/providers Terraformをインストールする Terraformを使うには以下のドキュメントを参考
2021/12/15 Rails 7がリリースされました🎉 rubyonrails.org さっそく個人のサービスをRails 6.1.4.4 -> Rails 7にアップグレードしたのでやったこととかメモ📝 Rails 7の主要な対応 Rails 7へのアップグレード手順 Rails以外のgemのバージョンアップ Railsのバージョンアップ Upgrade Guideを読む RailsDiffで設定ファイルまわりの更新を取り込む 正常に動作することを確認する アップグレード時に発生したエラーとか missing require leading to uninitialized constant ActiveSupport::XmlMini::IsolatedExecutionState その他気づいたこと redirect_toでopen redirectの検証がされるようになった
個人で開発しているサービスでフロントエンドのbuildにwebpackを利用しているのですが、4系から5系にアップデートしたので、そのあたりで対応したことをメモしておきます📝 利用していたwebpackのビルド構成 webpackアップデート時の対応事項メモ modeを明示的に指定するようにした デフォルトでinstallされなくなったNode.js系のpolyfilをinstallした [hash]ではなく[contenthash]を利用するようにした その他の対応事項 webpack-assets-manifestのデフォルトのファイルパスが変わる おわりに 利用していたwebpackのビルド構成 基本的には以下のようなライブラリを利用したBabel + TypeScript + Vueで、 mini-css-extract-pluginでcssを別ファイルで生成するようにして、we
みなさん、こんにちは。まどぎわです。 rubyで非同期処理やるときのデファクトスタンダード的なgemsidekiqのコードを読んで、概要が割とつかめた気がしてきたので、どういう感じで動いてるか自分の理解の範囲でメモしてみました🙇 github.com sidekiqの機能としては大きく分けて、 Redisへのqueueのpush Redisからqueueのpopとjobの実行 だと思ったので、それについてsidekiqのコードと合わせて概要を整理してみました。 ※記載しているコードについては、読みやすいコードを削除しているので全文が読みたい方は、それぞれのリンク先で確認いただけますと🙏 前提 今回調べたsidekiqのversionは、2019/04/28現在のmasterである、6.0.0.pre1です。 # frozen_string_literal: true module Si
今までN+1の検知にBulletを使っていたのですが🔫 github.com Rails 6.1から導入された新機能strict loadingでも同じようなことが実現できそうだったので、個人のWebサービスをBulletからstrict loadingに載せ替える手順をメモしておきます📝 strict_loadingをグローバルに導入する strict loadingを無効化する ActiveRecordのインスタンスにstrict_loadingを無効化するメソッドを追加 FactoryBotで作成したインスタンスはstrict_loadingを無効化する console時にstrict loadingを無効化する おわりに 追記:2021/04/05 参考 strict loadingの概要は以前まとめているので、興味がある人はこちらからどうぞ madogiwa0124.hate
最近、IDの可逆な方式で難読化したいけどfriendly_idみたいなmigrationが伴うものは、ちょっと避けたかったので色々と方法を考えたり人に教えてもらったりしたので、いろいろ方法とかをメモしておきます。 github.com やりたいこと ActiveRecordでUUIDを使う ActiveSupport::MessageEncryptorを使う scatter_swapを使う hashid-railsを使う 結論 やりたいこと 今回は「ユーザーにコンテンツ紹介メールを送信して、そのメールに記載されたURLをクリックしたときにブックマークさせる」 という機能で考えてみます。 普通に考えると下記のような実装になるかなと思うのですが、この実装には問題点があります。 # メール文面 # このコンテンツをブックマークしませんか? # https://example.com/page/:
今回はタイトル通り、sidekiq pro / enterpriseのwikiを読んだので、忘れないように気になった機能の概要をメモしておきます✍ ⚠私が拙い英語力 + 技術力で理解した内容のMEMOです。内容が間違っている可能性があるので、注意してください。⚠ 前提事項 sidekiq pro Batches Reliability Client-side Reliability Expiring Jobs sidekiq enterprise Rolling Restarts Rate Limiting Concurrent Bucket, Window Unlimited Periodic Jobs Unique Jobs おわりに 前提事項 整理した内容は、2019/04/30現在のsidekiqのwikiに記載されている内容です。 Home · mperham/sidekiq W
こんにちは、まどぎわです(・∀・) rubyで文字の類似度とか測るgemとか無いかなーと探してたらamatchというgemを見つけたので、使い方とかをメモしておきます✍ amatchとは? 使い方 実際に解析してみた パフォーマンス おわりに 参考 amatchとは? This is a collection of classes that can be used for Approximate matching, searching, and comparing of Strings. They implement algorithms that compute the Levenshtein edit distance, Sellers edit distance, the Hamming distance, the longest common subsequence length,
みなさん、こんにちは。まどぎわです(・∀・) 今日は、mini_magicと使って画像にテキストを合成する方法をメモしておきますφ(..) mini_magicを使うと某匿名質問サービスみたいに画像に文字を合成する機能を結構簡単に作ることが出来ます🙌 ↓公式のリポジトリはこちら↓ github.com mini_magicの使い方 準備 mini_magicを使うには、ImageMagickというアプリがインストールされている必要があります。 まずはインストールされているかどうか確認してください。 $ convert -version Version: ImageMagick 6.9.9-40 Q16 x86_64 2018-07-14 http://www.imagemagick.org Copyright: © 1999-2018 ImageMagick Studio LLC Lic
はじめに Railsで確認画面を実装すると毎回、ベストプラクティス的な解決方法が見つからず悩むので、どういう実装をするのが良いのか少し感がてみました。(私の個人的な見解です🙇♂️) はじめに 確認画面の難しさ よく見るやり方 その他のやり方を検討してみる セッションに入れる 未公開状態でDBに保存する JavaScriptでフォームを作る まとめ 参考 確認画面の難しさ なぜ確認画面の実装で悩むのか自分で考えてみたところ、確認画面への遷移の際に前の画面の情報を引き継ぐ必要があるが、引き継ぐ方法が中々難しいというのがあるのかなと思います。 確認画面の挟む場合のリクエストは下記のような流れになると思うのですが、HTTPはステートレスなプロトコルなのでリクエスト単位にデータを毎回送信する必要があります。 作成--確認-->投稿 or 作成--確認-->作成 毎回データをリクエストに乗せて情報
はじめに 作るもの 使うもの 作り方 モデルを作る RSSを読み込んでParseする エントリーを取得して保存する 保存したエントリーを表示する おわりに 参考 はじめに みなさん、こんばんは。まどぎわです(・∀・) rubyの標準ライブラリにRSS用のライブラリがあることを最近知り、railsと標準ライブラリを使ってRSSリーダー的なものを作ってみたので、作り方とかをメモしておきます✍ 作るもの はてなブログのRSSフィードのエンドポイントを登録したら、そこからRSSをパースして表示出来るようなアプリを作っていきます👀 こんな感じのものをイメージしてもらえれば! 使うもの rails 5.2.2 postgresql ruby標準のrssライブラリ https://docs.ruby-lang.org/ja/latest/library/rss.html 作り方 モデルを作る とりあえ
みなさん、こんにちは。まどぎわです(・∀・) 今回は、ちょっと複雑な条件をサブクエリを使って効率よく取得する方法について書こうと思います✍ 今回のケース 対応案を考えてみる 公開中の投稿を変数に入れて紐づくコメントを取得する(いまいち😭) pluckを使ってみる(スッキリ書けるけど、効率いまいち🤔) selectを使う(スッキリ書けて効率よい🙌) おわりに 今回のケース 今回は、「公開中の投稿に紐づくコメントのみを取得する」というケースで考えてみようと思います🤔 前提事項を下記に整理したので、参考までに。 投稿:Post、コメント:Comment 投稿とコメントは 1:N(has_many)の関係 公開済みの投稿はopened: true 対応案を考えてみる 公開中の投稿を変数に入れて紐づくコメントを取得する(いまいち😭) これはあんまり良くなさそうだなーというのを書いてみました
こんにちは!まどぎわです:D みなさん、Railsの勉強どうですか? Railsチュートリアルやプログラミングスクールで勉強した後、迷う人多いんじゃないかと思うんですが...私を含めて。。。 そんな人にオススメなサービス「e-Navigator」に参加してきたので、感想を書いていきます!!φ(..) e-Navigatorとは? e-Navigatorは、株式会社フィードフォースから提供されている無料のエンジニア就業支援サービスです! e-navigator.feedforce.jp スケジュール調整Webアプリケーションを題材に実際にフィードフォースで働くエンジニアの方からコードレビューを受けながら、Railsアプリケーションを作成することが出来ます。 ↓作成するアプリのサンプルはこんな感じです! InterviewScheduler また希望する人には、フィードフォースの採用を最終面接
このページを最初にブックマークしてみませんか?
『madogiwa0124.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く