タケユー・ウェブ株式会社のフィード

https://zenn.dev/p/takeyuwebinc

Ruby on Rails や AWS が得意なWebサービス受託開発会社です。 中小規模のWebサービスの新規開発の他、他の個人開発者などから引き継いで保守運用を行ったりしています。 新規開発、お手伝いや顧問、レガシーなRailsプロジェクトの保守など、ニーズにあわせて対応でき

フィード

記事のアイキャッチ画像
ActiveStorage::DiskController が返すファイルの Cache-Control ヘッダを設定する
タケユー・ウェブ株式会社のフィード
ActiveStorage のディスクアダプタを利用している場合、応答として返すバイナリデータについて、キャッシュ制御したいとき、どのようにするか説明します。 Cache-Control; public を返すことで、ブラウザキャッシュや、CDNでのキャッシュを活用し、サーバとネットワークへの負荷の軽減に役立ちます。動作確認したRailsのバージョン:7.1.3.2オープンクラスを使って ActiveStorage::DiskController に before_action を設定します。config/initializers/active_storage.rbRails....
6日前
記事のアイキャッチ画像
自由に働く技術
はてなブックマークアイコン 2
タケユー・ウェブ株式会社のフィード
はじめに私は長年にわたり自由に働くことを選んできました。その理由を紹介しながら、自由に働くために心掛けていることについてご紹介します。変化し続けるツールの使い方よりも、根本的な考え方・心構えの話になります。 筆者について私は2008年11月に24歳で個人事業主として独立開業し、2016年に法人化しました。2018年には数名の社員を雇用しましたが、現在は一人会社として活動しています。リモートワークは開業当時から行っていますので、15年 ほどのキャリアとなります。現在はWebサービス開発の受託開発や事業会社の技術支援を行う傍ら、Saitama.rbという地域Rubyコミュニテ...
13日前
記事のアイキャッチ画像
CDKで別のリージョンのリソースを使用する方法
タケユー・ウェブ株式会社のフィード
はじめにCDKを使用していると、時々異なるリージョンにまたがるリソースを利用したい場合があります。例えば、CloudFrontディストリビューションで使用する証明書は必ず us-east-1リージョンである必要があります。このような場合、CDKでどのように対処すればよいかを調べました。 この記事の対象読者CDKで構成管理しているエンジニア この記事に書くことカスタムリソースの使用例 この記事に書かないことCDKについての説明カスタムリソースとは何か? 方法こちらのIssueが参考になりました。[lambda] Lambda@Edge supp...
20日前
記事のアイキャッチ画像
自宅PCとDevPodで実現する Self-Hosted な Codespaces
タケユー・ウェブ株式会社のフィード
はじめにGitHub Codespacesは、Web版VSCodeでクラウド上のDevContainerを使用できる便利なツールです。しかし、自作PCやサーバーが趣味の私たちにとっては、手元の高性能端末をサーバーにできないのは不満です。そこで、DevPodを試してみました。 この記事の対象読者自己ホストできるCodespaceを探している方DevContainerで動くWeb版VSCodeを使いたい方日常的にDockerを使っている方 この記事に書くことDevPod のインストールと最初のセットアップ方法Tailscaleと組み合わせて便利に使う方法 ...
1ヶ月前
記事のアイキャッチ画像
Garnetで加速する?: Railsのキャッシュストアとしての利用
タケユー・ウェブ株式会社のフィード
はじめにhttps://www.microsoft.com/en-us/research/blog/introducing-garnet-an-open-source-next-generation-faster-cache-store-for-accelerating-applications-and-services/Garnetは、Microsoft Researchが開発した新しいキャッシュストアシステムで、最新のハードウェア機能を十分に活用できる設計となっており、Redisなどの既存のキャッシュストアと比べて、優れたスケーラビリティと高いスループットを実現できる、とされ...
1ヶ月前
記事のアイキャッチ画像
Tailscale Funnelで自宅サーバーのRailsアプリケーションを独自ドメインで公開する方法
タケユー・ウェブ株式会社のフィード
自宅サーバーで独自ドメインのWebサービスを公開するためには、ポートを開けたり、固定IPアドレスを用意するかDynamic DNSを使うか、みたいな手間が必要でした。VPNサービスであるTailscaleには、Tailscaleのネットワーク(Tailnet)上の任意のTCPポートをインターネットに向けて公開できるTailscale Funnelという機能があります。これを活用して、自宅サーバー上のRailsアプリケーションを安全かつかんたんに公開できないか? 試してみたので、その方法をご紹介します。 この記事について 説明することTailscaleからのアクセスをRails...
1ヶ月前
記事のアイキャッチ画像
DevContainer(Docker Compose)をTailnet(Tailscale)に接続するには
タケユー・ウェブ株式会社のフィード
公式のDockerで使用するガイドを参考に DevContainer をTailnetに接続できるようにしました。これにより、Tailnet内の他のデバイスから、DevContainerで起動したサービスへ接続できるようになります。なお、DevContainerからTailnet内の別のデバイスに接続したい場合は、通常ホストのIPアドレスを共有するので、ホスト側でTailnetに接続していれば、その権限で接続できるため、特別な対応は不要です。本記事は、Tailnet内の他のデバイスから、DevContainer(Dockerコンテナ)に直接アクセスさせたい場合の話です。たとえばロ...
2ヶ月前
記事のアイキャッチ画像
Procfile.dev を使う場合にデバッガ(vscode-rdbg)を使う
タケユー・ウェブ株式会社のフィード
vscode-rdbg については過去の記事https://zenn.dev/takeyuwebinc/articles/50793a2313824aデバッガ起動時にrails server を実行するなら上記の記事で動くはず。tailwindcss-rails cssbundling-rails jsbundling-rails などを使用する場合、Railsアプリの起動は Procfile.dev に記載します。次のように、 Procfile.dev ではデバッガ付きで起動し、VSCodeのデバッガ起動時は attach のみ行うようにすれば動作します。 設定例Pro...
3ヶ月前
記事のアイキャッチ画像
Propshaft で node_modules 内のファイルをアセットとして使う
タケユー・ウェブ株式会社のフィード
結論これから作るものについては、 node_modules を assets パスに含めようとするのはやめよう 動機importmap-rails で node_modules 以下のファイルを指定したい。config/importmap.rb の to: は asset_path で解決できるものを指定できるので、アセットパスに追加すれば使える。https://github.com/rails/importmap-rails/blob/ddf9be434e0aca1103eabafe6d34b0e8a5064057/lib/importmap/map.rb#L109h...
3ヶ月前
記事のアイキャッチ画像
Rails 7.0 から 7.1 で ActiveReco­rd::​Encryption::​Errors::​Decryption
タケユー・ウェブ株式会社のフィード
Rails 7.0 から 7.1 にアップグレードする際に、Active Record暗号化アルゴリズムの問題でエラーに遭遇しました。class Patient encrypts :mynumberみたいなのでhttps://railsguides.jp/upgrading_ruby_on_rails.html#active-record-暗号化アルゴリズムの変更についてに従って、バージョンアップ前の config.active_support.key_generator_hash_digest_class と同じになるよう config.active_record.encr...
3ヶ月前
記事のアイキャッチ画像
Rails(Devise)でパスワード認証に加えてパスキー(WebAuthn)でもログインできるようにするステップバイステップ
タケユー・ウェブ株式会社のフィード
パスキーの普及も進んできましたね。私のWindows11でもWindows Helloを使ったりAndroid/iOS端末を使ったローミングができたりととても便利で簡単です。ニンテンドーアカウントでもパスキーによるログインが可能になりました。もちろん設定しましたよね。https://www.nintendo.co.jp/support/nintendo_account/passkey/index.htmlRailsでもパスキーを組み込む方法がいろいろと説明されています。https://techracho.bpsinc.jp/hachi8833/2023_10_19/134237...
5ヶ月前
記事のアイキャッチ画像
Rails 7.1 の Dockerfile を試してみる
タケユー・ウェブ株式会社のフィード
Ruby on Rails 7.1が正式公開されたので触ってみます。https://railsguides.jp/v7.1/7_1_release_notes.html今回は、新たに rails new で作成されるようになった Dockerfile について見てみます。$ ruby -vruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux]$ gem install rails -v 7.1.1 --no-document$ rails -vRails 7.1.1$ rails new moblog$ Co...
6ヶ月前
記事のアイキャッチ画像
日本語対応の全文検索エンジンMeilisearchをRuby on Railsから利用する
タケユー・ウェブ株式会社のフィード
はじめにまとめmeilisearch-rails gem があり、簡単に導入できるインデックス対象を柔軟に設定できるKaminariやPegy対応で他の検索方法との切り替えも簡単日本語での検索精度は正直用途を選びそう(v1.2)マッチしてほしいものがマッチせず、マッチしてほしくないものがマッチしないことも Meilisearchhttps://www.meilisearch.com/全文検索エンジンプログラムからはRESTful APIでアクセスして使うTypo tolerance(タイプミス耐性)に自信多言語サポートに力を入れている起動してす...
10ヶ月前
記事のアイキャッチ画像
wsl --import で『エラーを特定できません Error code: Wsl/Service/E_FAIL』
タケユー・ウェブ株式会社のフィード
PS> wsl --import docker-desktop-data "C:\Users\Yuichi Takeuchi\WSL\docker-desktop-data" .\docker-desktop-data.tarインポート中です。この処理には数分かかることがあります。エラーを特定できませんError code: Wsl/Service/E_FAILエクスポートされたtarが壊れているのかと再度エクスポートし直しても再現するhttps://github.com/microsoft/WSL/issues/4735#issuecomment-1370093052...
1年前
記事のアイキャッチ画像
AWS SDK for Ruby で Aurora My SQL DB クラスターのストレージ使用量を取得するには
タケユー・ウェブ株式会社のフィード
この記事では、AWS SDK for Ruby を使って Aurora MySQL DB クラスターの 現在のストレージ使用量を取得する方法 を説明します。 Aurora MySQL DB クラスターのストレージAurora MySQL DB クラスターのストレージ容量は自動拡張されます。従って、クラスターの設定から取得することはできません。(RDS MySQLであれば取得できます)https://aws.amazon.com/jp/premiumsupport/knowledge-center/view-storage-aurora-cluster/CloudWatchの V...
1年前
記事のアイキャッチ画像
ActiveStorageダイレクトアップロードでファイルサイズの制限を設けるには
タケユー・ウェブ株式会社のフィード
ActiveStorageのダイレクトアップロード機能を利用すると、ブラウザから直接クラウドストレージにアップロードできるため、Railsアプリで大容量のデータを受け取ることなく、大容量ファイルのアップロードも可能です。しかしながら、無制限に受け入れていては、想定外の大容量ファイルがアップロードされてしまう可能性があります。たとえば、数MBの画像の想定のところ1TBの動画がアップロードされると困ってしまいますね。 ActiveStorageでファイル容量のバリデーションを行うにはActiveStorageのバリデーションを実装するgemはいくつかあります。https://git...
1年前
記事のアイキャッチ画像
Cloudflare R2 で ActiveStorage のダイレクトアップロード機能を利用するには
タケユー・ウェブ株式会社のフィード
以前、Cloudflare R2をActiveStorageで使う方法を紹介しました。https://zenn.dev/takeyuwebinc/articles/e4d47ff381b530オープンβ当時は署名付きURLに対応していなかったため、ダイレクトアップロードは利用できませんでした。2022年9月の一般公開で署名付きURLに対応したため、ActiveStorageのダイレクトアップロード機能が使えるようになりました。バケット全体へのアクセスを許可することなく、ユーザーがファイルをアップロードまたは共有できるように、署名付きURLを作成します。https://blog...
1年前
記事のアイキャッチ画像
Docker Desktop for Windows に LocalStack を組み込むには
タケユー・ウェブ株式会社のフィード
Docker Desktop の新機能 Docker Extension で LocalStack を Docker Desktop に組み込めるようになりました。https://www.itmedia.co.jp/news/articles/2301/16/news099.htmlhttps://hub.docker.com/extensions/localstack/localstack-docker-desktop LocalStackとは?LocalStackは、クラウドベースのサービスをテストするためのローカル環境を提供するオープンソースのプロジェクトです。Amazo...
1年前
記事のアイキャッチ画像
Render.comでCron Jobを作成し定期タスクを実行するには
タケユー・ウェブ株式会社のフィード
Render.comは、クラウド上のWebアプリケーションのホスティングプラットフォームです。その中でも、Cron Jobは、定期的に実行するタスクを管理するための仕組みです。Cron Jobを使用することで、指定した時間や間隔で特定のスクリプトやコマンドを自動実行することができます。例えば、バックアップを毎日定時に取得したり、定期的にメールを送信するためのスクリプトを実行することができます。Render.comでは、Cron Jobを管理するためのWebインターフェイスが提供されており、簡単に設定や管理ができます。また、設定をまとめたBlueprintに記載することでコード化しデプ...
1年前
記事のアイキャッチ画像
ASGのインスタンス起動・停止時にSlackに通知するCloudFormationテンプレート
タケユー・ウェブ株式会社のフィード
AWS Auto Scalingを利用することで、Amazon EC2 インスタンスを自動的に起動および停止させることでオートスケーリングやオートヒーリングを実現できます。EC2インスタンスの起動および終了をSlackに通知することで、インスタンスの入れ替えを知ったり、入れ替えが頻発するなど障害発生の検知に役立ちます。https://docs.aws.amazon.com/ja_jp/autoscaling/ec2/userguide/ec2-auto-scaling-sns-notifications.htmlこの記事では、SNSとLambdaの連携、および Lambda から ...
1年前