個人的に「Webサービスの公開前チェックリスト」を作っていたのですが、けっこう育ってきたので公開します。このリストは、過去に自分がミスしたときや、情報収集する中で「明日は我が身…」と思ったときなどに個人的にメモしてきたものをまとめた内容になります。 セキュリティ 認証に関わるCookieの属性 HttpOnly属性が設定されていること XSSの緩和策 SameSite属性がLaxもしくはStrictになっていること 主にCSRF対策のため。Laxの場合、GETリクエストで更新処理を行っているエンドポイントがないか合わせて確認 Secure属性が設定されていること HTTPS通信でのみCookieが送られるように Domain属性が適切に設定されていること サブドメインにもCookieが送られる設定の場合、他のサブドメインのサイトに脆弱性があるとそこからインシデントに繋がるリスクを理解してお
paild 社でお手伝いをしている yuki です。前回に引き続き Dependency Injection 略して DI の話題を書いていきたいと思います。今回は Rust における DI についていろいろと考えてみました。今回紹介する実装はかなり単純な例を用いたもので、この記事からさらにみなさんのアプリケーションの実装状況に合わせていくつか工夫は必要になるかもしれません。ただ、とっかかりとしては十分なものになっていると思うので、DI でお困りの方はぜひ参考にしてみてください。 今回実装したいアプリケーションのお題について 今回紹介する技法の種別について コンストラクタインジェクション 静的ディスパッチを用いたもの 動的ディスパッチを用いたもの 静的ディスパッチと動的ディスパッチの利点・欠点 shaku (DI コンテナ)を用いたインジェクション shaku の利点・欠点 余談: DI
本記事ではRustでOpentelemetryをはじめることを目標に以下の点について書きます。 OpenTelemetryの概要RustのapplicationにOpenTelemetryを導入する方法前半は公式docを読みながら登場人物を整理し、後半は実際にdocker-compose上でそれらを動かします。 またRustではtracing-opentelemetry crateを利用します。 tracingについては別の記事で基本的な仕組みについて書いたのでopentelemetry固有の処理について述べます。 sample code traceの設定については、別の記事に詳しい説明を書きました。 OpenTelemetryとは最初にOpenTelemetryについての現時点での自分の理解は以下です。 OpenTelemetryとは文脈により以下のいずれかを指す CNFNのprojec
はじめに こんにちは、サイボウズ24卒の@yuasaです。 サイボウズでは開発・運用系チームに所属する予定の新卒社員が研修の一環として、2週間を1タームとして3チームの体験に行きます。新卒社員の私が生産性向上チームの体験に行った際に、チーム内でGitHub Actionsを利用する際の脅威と対策について調査を行い、ドキュメント化した上で社内への共有を行いました。本記事では、そのドキュメントの一部を公開します。 対象読者 本記事の主な対象読者としては、以下のような方を想定しています。 GitHub Actionsを組織で利用しているが、特にセキュリティ対策を実施していない方 GitHub Actionsを組織で利用しており、部分的にセキュリティ対策を実施しているが、対策が十分かどうか分からない方 本記事がGitHub Actionsのセキュリティ対策を検討する上で参考になれば幸いです。 本記
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Do you tune out Ruby deprecation warnings? | Arkency Blog 原文公開日: 2024/03/26 原著者: Piotr Jurewicz 日本語タイトルは内容に即したものにしました。 訳文ではキャプションの位置を読みやすく変更しています。 アプリケーションで非推奨警告(deprecation warning)が出力されていないかどうかをチェックする習慣は、技術スタックを最新の状態に保つうえで欠かせません。Railsの場合、環境ごとのコンフィグファイルで明示的にActiveSupport::Deprecationが設定されるので、表示された非推奨警告に対応することは一般に行われています。しかしRailsはそれでよくても、Ruby自体が表示する非推奨警告に対応するよう適切に設定し
この記事は Vim 駅伝 の 06/05 の記事です。 前回の記事は thinca さんによる、 06/03 の「Meguro.vim #23 を開催しました」という記事でした。 次回は 06/07 に投稿される予定です。 はじめに 本記事は以下の記事のオマージュです。 Vim の基本操作のうち、比較的マイナーながら汎用的に使える機能や小技を集めました。プラグインや複雑な設定が必要なものは含まれておらず、いずれも Vim と Neovim の両方で使うことができます。気になったものがあれば使ってみてください。 ノーマルモード編 検索結果を次々と置き換える Vim で文字列置換を行う最も有名な方法は :substitute コマンド (短縮形: :s) ですが、ノーマルモードの cgn というイディオムも便利です。これは c オペレータと gn テキストオブジェクト (:h gn) を組み合
はじめに ※この発言は個人の見解であり、所属する組織の公式見解ではありません 用法用量を守り、個人の責任で業務に投入してください 参考資料 2024/02/14追記 実際のテーブル設計の詳細はこちらを参考にどうぞ。 agilejourney.uzabase.com 要件 User情報を保存するときにどのようなテーブル設計を行うか 今北産業で頼む テーブルに状態を持たせず状態毎のテーブルを作る 状態が変わればレコードを消して別のtableに作る tableの普遍的な情報は別に持たせる 僕の考えた最強のDB設計 PostgreSQLをベースの雑なER図を作った。 これを元に話を進める。 table構成 users 親tableであり、すべてのユーザはここに属する。 基本はINSERTのみでUPDATE、DELETEを考慮しない。 user_detail userに付随する詳細の情報がここに登録
作成したら後で使用するので各パラメータのArnをメモしておきます。 IAMロールの設定 App Runnerでパラメータストアの値を使うには、App Runnerのタスクロールの中にパラメータストアを読み込むためのポリシーを追加する必要があります。 AWSのコンソールからIAMを開いたら、「ロール」をクリックして「ロールを作成」でロールを作成します。 信頼されたエンティティを選択したら カスタム信頼ポリシーを選択します。(普通はAWSのサービスを選択すれば出てくるはずですが、なぜか検索しても出てこないのでここでポリシーを手入力します) カスタム信頼ポリシーを以下のjsonに書き換えます。 { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "t
概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Replace aasm with Rails Enum today | Arkency Blog 原文公開日: 2024/03/29 原著者: Szymon Fiedler 日本語タイトルは内容に即したものにしました。 参考: ステート・マシン - IBM Documentation Railsアプリには、いわゆるステートマシン実装を提供するgemが含まれていることがよくあります。それがaasmというgem(旧名acts_as_state_machine)である可能性はさらに高いでしょう(ところでacts_as_hasselhoffというジョークgemがあったのを覚えている人っていますか?)。 それはともかく、このaasm gemをActiveRecordモデルにincludeすると、かなりいろいろなことができるようになります
r7kamura.comドメインをAmazon Route53からCloudflareに移管したので、手順等を書き残しておきます。 Cloudflareのアカウント作成 自分の場合、2016年にアカウントを作成していたので、このアカウントを利用しました。無い場合はここで作成することになります。 https://www.cloudflare.com/ja-jp/ ドメインの移管や維持にはお金が掛かります。ドメイン移管時に支払い情報の登録が必要になるので、ここで予めクレジットカードの情報等を設定しておくと事が円滑に進みます。 Cloudflareにドメイン名を登録 Cloudflareにログインし、管理画面右上の "Add a site" から、ドメイン名を登録してサイト情報を用意します。 ドメイン名を入力すると、このサイトに対して利用する料金プランを選択することになります。自分の場合、今回は
登録国外事業者名簿 (nta.go.jp) によると、GitHubは登録事業者です でも、ふつうにGitHubを使っていて手に入る領収書(Recipt)は、適格請求書ではないのです。え、まじで。 そんなわけで経理に「GitHubの適格請求書をもらってください」と言われたが、はてどうすれば…🤔 というひとは、GitHub Supportから問い合わせましょう。 GitHub Support から、アカウントまたは請求に関する問題、をクリック つぎに「お手伝いが必要なことがありますか?」の選択肢を「Billing, payments, or receipts.」にすると、「領収書を依頼する場合は、このフォームに記入してください」というリンクが出現します リンクをクリックするとさまざまな情報を入力するフォームが出てくるので、適宜情報を入力して、コメント(Additional Details)に
namespace.md "Namespace on read"とは これは、Rubyに仮想的なトップレベル名前空間を導入するためのNamespaceを提案します。NamespaceはRubyスクリプトかネイティブ拡張ライブラリかを問わず、ライブラリをグローバル名前空間から独立した形でrequire/loadします。 動機 "Namespace on read"は次の2つの問題を解決し、また1つの問題について解決の道筋を提供します。 ライブラリ(等)間での名前の衝突を避ける グローバルに共有されたライブラリ/オブジェクトの意図しない変更を避ける 依存ライブラリ間でのバージョン衝突を避ける(RubyGems, Bundlerの変更が必要) Namespaceを使用したコード例(提案) # your_module.rb module YourModule end # my_module.rb
こんにちは ハタ です。 Mirrativ では 2020年頃から サーバサイドの技術をPerlからGoへのシステム移行 を行っており、2024年現在でもサグラダファミリアのように移行作業は継続しています PerlとGoという2つの環境を同時に運用していますが、 基本的には 新機能は Go で実装 し、 Perlでは積極的に新規実装を行わない というスタイルで進めていました しかし、既存の機能の一部に手を加えたいとなった場合、まだまだ Perl の実装に手を加えることが一定あり、Perl から Go の機能を呼び出したいというニーズが出てきました (配信やギフトといったビジネスの根幹を支えるレガシーな実装においては顕著) そこで PerlXS を利用することで Perl から Go を直接呼び出せるようにできないかと考え検証を進めることにしました Goの -buildmode=c-shar
こんにちは。 id:Pocke です。最近のマイブームはルピシアのラムレーズンの紅茶です。1 Ruby や Rails のアップグレード情報を共有する場を作ったので、それをご紹介しようと思います。 背景 Ruby や Rails のアップグレードは単純な作業ではありません。 アップグレードには多くの変更が含まれています。変更はそのソフトウェアが成長している証ですが、一方で痛みもあります。Ruby や Rails を使うアプリケーションが、それらの変更に対応する必要があるためです。 そのようなアップグレード作業を楽にする取り組みはすでにいくつか存在します。 例えば Rails ガイドの Rails アップグレードガイドでは、一般的なアドバイスと、各バージョンで注意すべき変更が書かれています。 また 社内版 Rails アップグレードガイドを公開します - Timee Product Team
Rust Debugging Cheatsheet 開発の基本 エディタ VSCode + rust-analyzer - https://marketplace.visualstudio.com/items?itemName=matklad.rust-analyzer 推奨 neovim + vim-lsp-settings - https://github.com/mattn/vim-lsp-settings lsp の最低限の機能が使える neovim + coc - https://github.com/fannheyward/coc-rust-analyzer 構造に対する置換などの rust-analyzer 固有の機能が使える rust-analyzer ガイド - https://rust-analyzer.github.io/manual.html#structural-
こんにちは。SREのkyontanです。Rubyが大好きなのでRubyの話をします。ちなみにリクルートはRubyKaigi 2024へGold Sponsorとして協賛しています! *1。ぜひ沖縄でお会いしましょう。 これはあるアプリケーションのメモリ消費量を示すグラフなのですが、まさかgemを入れ替えるだけでこんなに嬉しい変化が見られるとは思っていませんでした。今日はそんなgemの話をします。 話は遡って2023年4月のある日、インターネットを眺めていたところ、ShopifyがpitchforkというOSSを公開したという情報が目に留まりました。 調べてみると、どうやら著名なRackサーバー実装の1つであるunicornの派生版であり、メモリ使用量の削減に特化しているらしいのです。 github.com これはスタディサプリ小中高のあのリソースドカ食いマイクロサービス第一位である api
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く