並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 206件

新着順 人気順

いつか理解したいの検索結果1 - 40 件 / 206件

  • 削除のビジネスロジックをドメイン層に閉じ込める簡単で強力な「DeletableIDパターンの紹介」

    この記事は 株式会社ログラス Productチーム Advent Calendar 2023 13日目の記事です。 はじめに 〇〇を削除できるかどうかのビジネス処理、皆さんはどう実装していますか? 同僚の話題になった記事でも削除の認可処理をどこに記述すべきか?は難しいと説明されています。今回はお題は認可っぽいもので書きますが広範に「削除ができるかどうか?」のビジネスロジックをドメイン層にどう閉じ込めるかの便利な実装パターンを紹介します。 削除処理のビジネスロジックの取り扱いは難しい 削除処理のビジネスロジックの実装はシンプルだけど更新処理や作成処理と比べて意外と難しいです。 それはなぜかというとドメインオブジェクト内の実装に削除処理を書くことができないからです。 例えば権限に管理者と一般ユーザーの二つの権限があるとします。

      削除のビジネスロジックをドメイン層に閉じ込める簡単で強力な「DeletableIDパターンの紹介」
    • 「HTTP/2ラピッドリセット攻撃」でGoogle Cloudに最大で毎秒3億9800万リクエストのDDoS攻撃があったことが判明

      2023年2月にCloudflareが毎秒7100万リクエストのDDoS攻撃を受けました。これは2022年6月にGoogle Cloudが受けた毎秒4600万リクエストを超える、史上最大規模のHTTP DDoS攻撃でしたが、それを桁違いに上回る毎秒3億9800万リクエストに及ぶ攻撃があったことをGoogle Cloudが報告しています。 Google Cloud mitigated largest DDoS attack, peaking above 398 million rps | Google Cloud Blog https://cloud.google.com/blog/products/identity-security/google-cloud-mitigated-largest-ddos-attack-peaking-above-398-million-rps/ How i

        「HTTP/2ラピッドリセット攻撃」でGoogle Cloudに最大で毎秒3億9800万リクエストのDDoS攻撃があったことが判明
      • フロントエンド開発スタイルの変遷と、私がFlutterにハマったわけ

        BPStudy#185での資料です。108枚を50分で話すという暴挙です。 https://bpstudy.connpass.com/event/271251/

          フロントエンド開発スタイルの変遷と、私がFlutterにハマったわけ
        • データ取得で try...catch しない理由

          try { const data = await fetchSomething(); // 正常系レスポンスの処理 } catch (err) { if (isAxiosError(err)) { // 異常系レスポンスの処理 } } 動機はつぎの 3 つです。 データ取得も宣言的に書きたいから データ取得に関係ない例外も catch してしまうから HttpError の集計に不便だから データ取得も宣言的に書きたいから 要約すると、データ取得時は常にこのように書きたい、という話です。useSWR・useQuery や apollo/client でお馴染みのインターフェイスです。 const { data, err, status } = await fetchSomething(); if (data) // 正常系レスポンスの処理 if (err) // 異常系レスポンスの処理

            データ取得で try...catch しない理由
          • サーバサイドでJWTの即時無効化機能を持っていないサービスは脆弱なのか? - くろの雑記帳

            きっかけ 昨年(2021年9月ごろ)に徳丸さんのこのツイートを見て、「2022年にはJWTを用いたセッション管理に代表される、ステートレスなセッション管理は世の中に受け入れられなくなっていくのだろうか?」と思っていました。 OWASP Top 10 2021 A1に「JWT tokens should be invalidated on the server after logout.」(私訳:JWTトークンはログアウト後にサーバー上で無効化すべきです)と書いてあるけど、どうやって無効化するんだ? ブラックリストに入れる?https://t.co/bcdldF82Bw— 徳丸 浩 (@ockeghem) 2021年9月10日 JWT大好きな皆さん、ここはウォッチしないとだめですよ。これがそのまま通ったら、ログアウト機能でJWTの即時無効化をしていないサイトは脆弱性診断で「OWASP Top

              サーバサイドでJWTの即時無効化機能を持っていないサービスは脆弱なのか? - くろの雑記帳
            • "JWT=ステートレス"から一歩踏み出すための考え方

              おはようございます、ritouです。 この話に乗っかっていきます。 3行で ログアウト時にJWTを無効化できない実装は今後脆弱性診断で「OWASP Top 10 2021違反」と指摘されるようになりそう(今も個別にされてるかもしれないけど) JWTは単純なフォーマットなので、ステートレスなセッション管理においてログアウトしたときに文字列自体を無効化できない件は独自エンコード方式(一般的にフレームワークのCookieストアと呼ばれているもの)でも起こり得る 「セッションID vs JWTで内包」 以外にも 「セッションIDをJWTに内包」もあり得る。既存の機能を残しつつ「JWTで武装」する選択肢も考えてみてはどうか。 ステートレスなセッション管理でログアウトの際に文字列自体を無効化できない問題 これは前から言われていますし、駆け出し何とか勢のQiita記事に書かれるぐらいには一般的です。 2

                "JWT=ステートレス"から一歩踏み出すための考え方
              • Windowsで複数インターネット回線を切り換えながら使う方法|TechRacho by BPS株式会社

                morimorihogeです。SGDQ21は良かったですね(その後スポンジボブをNetflixで観始めました)。ESA Summerも始まりましたしRTA in Japanも楽しみです。 諸般の事情からWindows環境でIPアドレスを切替ながら使いたいというユースケースに遭遇したのでまとめます。 具体的には、ノートPCに接続した ノートPC内蔵のWi-Fi経由 USB経由のWiMAX回線 の二つのインターネット回線を物理的にPCに触らず、リモートRDP接続からWindowsの設定変更だけで任意に切り換えるという手順について書きます。 ※本記事はWiFiとUSB接続WiMAXルーターの切り替えについて記載していますが、例えば自宅回線とVPN経由回線の経路を切り替えたい、といったケースでも応用が利くかと思います。ただ、そういった場合はVPN側のネットワークアドレスと自宅LANのネットワークア

                  Windowsで複数インターネット回線を切り換えながら使う方法|TechRacho by BPS株式会社
                • OAuthにおける認可コード横取り攻撃とその対策

                  OAuthにおける認可コード横取り攻撃とその対策 Jul 5, 2021 前回の記事で示したように、カスタムURLスキームを偽装した不正アプリは正規アプリへのディープリンクを乗っ取れる。この挙動の悪用シナリオとして、正規アプリと認可サーバー間のOAuthフローにおける認可コード横取り攻撃が知られている。この攻撃への対策を把握するためにiOS環境でシナリオを再現し、PKCEの有効性を確認した。 要約 OAuth 2.0の拡張機能であるPKCEを導入することで認可コード横取り攻撃を無効化できる。OAuth 2.0の仕様では、認可サーバーはネイティブアプリをクライアント認証できない。そのため、認可サーバーは認可コードを横取りした不正アプリと正規アプリを識別できない。しかし、PKCEの仕組みにより認可サーバーは正規アプリを識別できるようになり、認可コード横取り攻撃の検知が可能となる。 ネイティブア

                    OAuthにおける認可コード横取り攻撃とその対策
                  • サーバーアプリ開発環境(Python/FastAPI) | フューチャー技術ブログ

                    Pythonでお仕事する前提で、現在のところで自分が最適と考えるチーム開発のための環境整備についてまとめてみました。今までももろもろ散発的に記事に書いたりしていたのですが、Poetryで環境を作ってみたのと、過去のもろもろの情報がまとまったものが個人的にも欲しかったのでまとめました。前提としては次の通りです。 パッケージ管理や開発環境整備でPoetryを使う 今時はコードフォーマッター、静的チェックは当たり前ですよね? コマンドでテスト実行、コードチェックとか実行とかができる(CI/CD等を考えて) VSCodeでもコマンドで実行しているのと同じコードチェックが可能(ここコンフリクトすると困る) デプロイはDockerイメージ コンテナのデプロイ環境でコンテナに割り当てられたCPU能力を比較的引き出せて、スケールさせたら線形にパフォーマンスアップできるようなasyncioを前提とした環境構

                      サーバーアプリ開発環境(Python/FastAPI) | フューチャー技術ブログ
                    • 入社一ヶ月でGKEのSecret管理基盤を作った話 - エムスリーテックブログ

                      こんにちは。エムスリーエンジニアグループAI・機械学習チームで2021年新卒の北川(@kitagry)です。最近買ってよかったものは低温調理器です。リモートワークとの相性が抜群です。 今回は僕が入社1ヶ月ほどで作成した、GKEのSecret管理基盤について書きたいと思います。 これはGKEのSecretを安全にかつ手軽に作成できるようにしたツールになります。 OSSになっているので皆さんのコントリビューションをお待ちしています。 この記事は5月始めに書こうとしましたが、書く内容をどうするかを考えている内に6月を過ぎてしまっていました。笑 AI・機械学習チームのサービスの特徴 Secretの管理方法の検討 berglasについて berglas on GKE 1. Webhookの可用性 2. IAMポリシーの複雑さ berglas-secret-controller 1. berglas-

                        入社一ヶ月でGKEのSecret管理基盤を作った話 - エムスリーテックブログ
                      • メモリに繰り返しアクセスするだけで権限のないメモリ内容を変更可能、Googleが攻撃手法を発見

                        「メモリ内の(アクセス権限のある)ある1つのアドレスに繰り返しアクセスするだけで、(アクセス権限のない)他のアドレスに格納されたデータを改ざんできてしまう」という脆弱性がDRAMにはあった。これを悪用した攻撃手法はローハンマーと呼ばれる。 CPUの投機的実行の脆弱性を突く(SpectreやMeltdownといった)攻撃と同様に、ローハンマーはメモリハードウェアにおけるセキュリティを侵害する。メモリ回路内部の電気的結合現象を悪用するローハンマーは、ハードウェアのメモリ保護ポリシーをくぐり抜けてしまう可能性がある。もしそうなれば、例えば不正なコードがサンドボックスから出て、システムを乗っ取る恐れがある。 Googleの回避策はこれまでメモリメーカーに採用されてきた ローハンマーを初めて扱った論文が登場した2014年当時、DRAMの主流世代は、「DDR3」だった。2015年にはGoogleのPr

                          メモリに繰り返しアクセスするだけで権限のないメモリ内容を変更可能、Googleが攻撃手法を発見
                        • RDBMSの苦手なことを 如何に乗り越えていくか / challenge-to-rdbms

                          # 参考資料 - イミュータブルデータモデル(入門編) - https://www.slideshare.net/kawasima/ss-40471672 - イミュータブルデータモデル(世代編) - https://www.slideshare.net/kawasima/ss-44958468 - スタースキーマ(基礎) - https://zenn.dev/pei0804/articles/star-schema-design - ディメンション・モデリング - https://zenn.dev/pei0804/articles/dimensional-modeling - 失敗から学ぶRDBの正しい歩き方 - https://amzn.to/3vfD5nJ

                            RDBMSの苦手なことを 如何に乗り越えていくか / challenge-to-rdbms
                          • 認証用トークン保存先の第4選択肢としての「Auth0」

                            iCARE Developer Meetupは、月次で開催している株式会社iCAREが主催するエンジニア向けのLT勉強会です。18回目の今回は、Ruby on Railsをテーマに行いました。サーバーサイドエンジニアの越川氏からはToken認証機能について。 Rails APIモードで開発するときの認証用のトークンはどこに保存すればいいの問題 越川佳祐氏:私からは、「Rails APIモードにおけるToken認証機能について」というテーマでLT(ライトニングトーク)をしようと思っていたんですが、スライドを作っていて「あれ、これ別にRailsだけの話じゃなくない?」と思ってしまいました。みなさんの中にも、そう思う方がいるかもしれないんですが、もうこれで作っちゃったのでご了承ください。 私は株式会社iCAREで、サーバーサイドエンジニアをしている、越川と申します。Twitterは@kossy0

                              認証用トークン保存先の第4選択肢としての「Auth0」
                            • ssh-agent のしくみ - eagletmt's blog

                              ssh-agent のように daemon として起動し秘密の情報を保持しつつ別プロセスと通信するようなプログラムを書きたくて、ssh-agent はどう実装しているのかざっくり調べた。 https://github.com/openssh/openssh-portable 通信方法 これは普通に ssh-agent を使っていてもすぐ気付くことだけど、ssh-agent は UNIX domain socket を使って通信している。 eval $(ssh-agent) のように実行すると SSH_AUTH_SOCK と SSH_AGENT_PID の2つの環境変数がセットされ、SSH_AUTH_SOCK は UNIX domain socket のパスを、SSH_AGENT_PID は daemon 化した ssh-agent の pid を指している。 SSH_AUTH_SOCK は

                                ssh-agent のしくみ - eagletmt's blog
                              • 「Amazon S3 インターフェースエンドポイント(PrivateLink)ではプライベート DNS をサポートしていません」 の意味を絵をかいて腹落ちさせてみた | DevelopersIO

                                「Amazon S3 インターフェースエンドポイント(PrivateLink)ではプライベート DNS をサポートしていません」 の意味を絵をかいて腹落ちさせてみた 2023/3/15追記 「サポートしていません」の時代に本エントリを書いたのですが、アップデートによりサポートされるようになりました。その内容を以下エントリに書きました。 以降の記述は当時の内容としてお楽しみください。上記のエントリとあわせて読むとより理解が捗ると思います。 コンバンハ、千葉(幸)です。 先日、Amazon S3 向けの PrivateLink(インターフェースエンドポイント)がサポートされました。 これによりオンプレミスから S3 へのプライベートアクセスが、簡単に構成できるようになりました。 注意点として、S3 インターフェースエンドポイントではプライベート DNS 名が使用できないというものがあります。

                                  「Amazon S3 インターフェースエンドポイント(PrivateLink)ではプライベート DNS をサポートしていません」 の意味を絵をかいて腹落ちさせてみた | DevelopersIO
                                • [AI・機械学習の数学]確率分布の基本、ベルヌーイ分布、二項分布を理解する

                                  連載目次 前回までは、特定の事象(できごと)が起こる確率の取り扱いやベイズの定理などについて見てきました。ここからは「確率分布」について見ていきます。 確率分布とは、全ての事象に対する確率を洗い出して、それらの事象がどのような確率で起こるかを表したもの……いわば全体像を表したものと考えていいでしょう。といっても、抽象的すぎて何のことか分からないかもしれませんね。しかし、具体例を見れば「なんだそんなことか」と簡単に分かる話です。 ここでは「分布」とはそもそもどういうものか、ということから始め、今回は離散分布の例としてベルヌーイ分布と二項分布を、次回は連続分布の例として正規分布とベータ分布を紹介します。併せて次回、ごく簡単にではありますが、事前分布や事後分布など、ベイズ統計に関する話題についても触れます。具体的には、今回と次回で以下のようなトピックを扱います。

                                    [AI・機械学習の数学]確率分布の基本、ベルヌーイ分布、二項分布を理解する
                                  • Webアプリケーションのパフォーマンス勉強会を開催しました! - ANDPAD Tech Blog

                                    はじめまして、サーバサイドエンジニアの立木です。 特定業種向けポータルサイトやスマートフォンゲーム開発などを経て、昨年3月に入社し、現在はANDPADの開発に従事しています。 アンドパッドでは、技術顧問をして頂いてる三谷(mita2)さんによる、データベースに関する勉強会が定期的に行われております。 tech.andpad.co.jp 先日もデータベースの観点から、Webアプリケーションのパフォーマンスをいかにして監視し、改善していくかという勉強会を開催していただきました。 今回はその勉強会について気になったポイントをまとめてみたいと思います。 当日の資料 概要 ANDPADの現状について分析 Datadogによる分析手法 よくある改善パターン 質疑応答 ANDPADの現状について分析 Webサイトのパフォーマンスは大事当たり前ですが、Webサイトにとってパフォーマンスはとても重要です。

                                      Webアプリケーションのパフォーマンス勉強会を開催しました! - ANDPAD Tech Blog
                                    • ブラウザのFavicon(ファビコン)でユーザーを追跡する「スーパークッキー」とは?

                                      ブラウザのタブなどに表示されるFavicon(ファビコン)は、サイトのシンボルとして重要なアイコンです。しかし、このファビコンにはCookie(クッキー)のようにユーザーを追跡可能な「スーパークッキー」の問題が潜んでいると、研究者らが警鐘を鳴らしています。 Tales of Favicons and Caches – Persistent Tracking in Modern Browsers (PDFファイル)https://www.cs.uic.edu/~polakis/papers/solomos-ndss21.pdf supercookie • workwise https://supercookie.me/workwise ファビコンとは、サイトのシンボルマークとしてタブやURLの隣などに表示される小さなアイコンのことです。 イリノイ大学シカゴ校のセキュリティー研究者らは2021

                                        ブラウザのFavicon(ファビコン)でユーザーを追跡する「スーパークッキー」とは?
                                      • やってみたら簡単!ディープラーニング・オセロを作って自分を負かすまで強くした話(その2・iOS編) - Qiita

                                        前回の記事「やってみたら簡単!ディープラーニング・オセロを作って自分を負かすまで強くした話(その1)」の続編です。 前回は、ディープラーニング・オセロのモデルを作って推論させるところまでを説明しました。 今回は、今回はこのモデルをiOSで動作させ、ミニマックス法やモンテカルロ木探索に組み込む方法について説明します。 前回、UIの説明をすると書きましたが、UIそのものはもともと参加していたコンテストであるリバーシチャレンジから提供されていたものを利用していたので、説明としては省略します。 前回はPython中心の記事でしたが、今回はSwift + Core ML中心の記事になります。 コードはこちらにあります。 TokyoYoshida/reversi-charenge ミニマックス法とモンテカルロ木探索ではどうだったか? 結論から言うと、ミニマックス法は強くならず、モンテカルロ木探索は、私

                                          やってみたら簡単!ディープラーニング・オセロを作って自分を負かすまで強くした話(その2・iOS編) - Qiita
                                        • Diversity(多様性)のある推薦システムとは何か? | Wantedly Engineer Blog

                                          Wantedly の Matching Squad でデータサイエンティストをしている関根( twitter: @ndnto, github: @hiroto0227 )です。Matching Squadでは主に企業とユーザーの理想的なマッチングを実現することを目的として、検索システム・推薦システムの改善を行っています。 モチベーション去年の秋ごろに RecSys2020 に参加して最新の推薦システムの技術についてキャッチアップをしました。最近の傾向の一つとして、推薦システムはユーザーの関心の高い(適合度の高い)アイテムを推薦するだけではなく、 Diversity (多様性)や Novelty (新規性)を追求することで、ユーザーにより良いアイテムを推薦することがあるように感じました。 Wantedly RecSys 2020 参加レポート① - Wantedly Data チームで Re

                                            Diversity(多様性)のある推薦システムとは何か? | Wantedly Engineer Blog
                                          • Wireshark Tutorial: Examining Emotet Infection Traffic

                                            This post is also available in: 日本語 (Japanese) Executive Summary This tutorial is designed for security professionals who investigate suspicious network activity and review packet captures (pcaps). Familiarity with Wireshark is necessary to understand this tutorial, which focuses on Wireshark version 3.x. Emotet is an information-stealer first reported in 2014 as banking malware. It has since evol

                                              Wireshark Tutorial: Examining Emotet Infection Traffic
                                            • HTTP/3はどうやってWebを加速するか? TCP、TLS、HTTP/2の問題とHTTP/3での解決策~Fastly奥氏が解説(前編)

                                              HTTP/3はどうやってWebを加速するか? TCP、TLS、HTTP/2の問題とHTTP/3での解決策~Fastly奥氏が解説(前編) Webの世界では新しいHTTPの標準として「HTTP/3」の策定が進み、現在最終段階にあります。このHTTP/3はこれまでのHTTPをどのように改善し、高速化を実現していくのでしょうか。 2020年11月25日と26日にオンラインで開催されたFastly Japan主催のイベント「Yamagoya Traverse 2020」のセッション「Webを加速するHTTP/3」で、同社の奥一穂氏がHTTP/3の解説を行っています。 奥氏はHTTP/3に対応したHTTPサーバ「H2O」の開発を行うだけでなく、IETFでHTTP/3の標準策定にも関わるなど、日本においてもっともHTTP/3に詳しい人の一人であるといえます。 本記事では奥氏のセッションをダイジェストで

                                                HTTP/3はどうやってWebを加速するか? TCP、TLS、HTTP/2の問題とHTTP/3での解決策~Fastly奥氏が解説(前編)
                                              • SQLで始める自然言語処理 - やむやむもやむなし

                                                こちらの記事はRecruit Engineers Advent Calendar 2020の24日目の記事です。メリークリスマス! adventar.org 仕事の分析で使うデータはほとんどがBigQueryに保存されているため、基本的な分析作業の多くはBigQueryでSQLを書くことで行なっています。 BigQueryでテキストデータを扱おうと思うとSQLではできない or 取り回しが悪いことも多く、一度Pythonでスクリプトを書いてその結果を再度BigQueryのテーブルに格納し、Joinして分析に使うということをしていました。 しかしこのやり方だとテキストデータを分析したいときは毎回Pythonのコードを書きにいかねばならず、またPythonでのテキスト処理も決して早いとはいえず、せっかくBigQueryでさくさく分析しているのにどうしてもテキスト処理に部分が作業時間のボトルネッ

                                                  SQLで始める自然言語処理 - やむやむもやむなし
                                                • 「トランザクション張っておけば大丈夫」と思ってませんか? バグの温床になる、よくある実装パターン

                                                  この記事は DeNA 20 新卒 Advent Calendar 2020 19日目の記事です。 はじめに MySQLやPostgreSQLに代表されるRDBMSではトランザクションと呼ばれる仕組みが提供されています。多くのWebアプリケーションエンジニアはこのトランザクションを駆使してDBとやりとりをするロジックを組み立てることになります。 しかし不整合を起こしたくない処理があるからといって闇雲にトランザクションを張ったり、トランザクションが張られているからと安心してアプリケーション側で闇雲にロジックを組み立ててしまうと思わぬバグを生むことになってしまいます。 このエントリでは、「トランザクションを張っておけば大丈夫」という考え方は危険な場合もあるということを、ありがちな実装例を交えて紹介していきます。 並列に処理されるトランザクション そもそも、トランザクションは全て直列に処理されるわ

                                                    「トランザクション張っておけば大丈夫」と思ってませんか? バグの温床になる、よくある実装パターン
                                                  • 「ゼロトラストセキュリティ」ってどこから始めればいいの? 最初に押さえたい“基本のき”を解説

                                                    昨今、サイバーセキュリティ業界のあちこちで耳にするようになったキーワードが「ゼロトラスト」だ。だが、そこで本当に求められるものは具体的に何なのだろうか。 セキュリティに長年関わり、現在はセキュリティサービス企業パロンゴの最高技術責任者を務める林 達也氏は、アイティメディア主催のオンラインイベント「ITmedia Security Week 2020冬」において「精緻化するセキュリティ環境における認証管理の重要性―ゼロトラストの幻想を超えて―」と題するセッションを開催した。同氏は、「攻撃者優位の未成熟な世界」において安全を守るために何が必要か、今や必要不可欠なアイデンティティーマネジメントや認証といった技術にどう向き合うべきかを解説した。 ゼロトラストは「性善説から性悪説への移行」ではない あちらの記事でもこちらのセミナーでも「ゼロトラスト」という言葉が踊り、まるで「ゼロトラストがあればセキ

                                                      「ゼロトラストセキュリティ」ってどこから始めればいいの? 最初に押さえたい“基本のき”を解説
                                                    • 桃太郎電鉄の「いけるかな」を実現する高速なアルゴリズムの実装と考察 - Qiita

                                                      この記事は「データ構造とアルゴリズム Advent Calendar 2020」16日目の記事です。 15日目の記事はyurahunaさんの「木分解上の動的計画法」で、 17日目の記事はtsukasa__diaryさんの「Lawler の K-Best 列挙アルゴリズム」です。 この記事内で使用しているプログラムやそのテストプログラムは全て以下のGitHubリポジトリで閲覧可能です。プログラムの詳細に興味がある方はこちらをご覧ください(ついでにStarを押していってくれると喜びます🙂)。 Github: ashiba/Imprementation_of_IKERUKANA: Momotaro Dentetsu is a game. 変更履歴 2020/12/21に「最終的に貧乏神が付かない移動方法 ~貧乏神持ちの場合~」, 「最終的に貧乏神が付かない移動方法 ~貧乏神がついていない場合~

                                                        桃太郎電鉄の「いけるかな」を実現する高速なアルゴリズムの実装と考察 - Qiita
                                                      • 分析用ログデータに対する品質保証としての異常検知 - クックパッド開発者ブログ

                                                        クックパッドでデータにまつわるあれやこれやをずっとやってる佐藤です。分析・調査に仮説検証にデータパイプラインにと色々やってました。ちなみに先日はCyberpunk2077休暇をとるなどという呑気なことをしていたら、この記事でやりたかったことがほぼできそうなサービスがAWSから発表されて頭を抱えながら書いています。 そのログはどこまで信頼できるのか クックパッドではサービス改善のためにWebサイトやアプリからログを収集して開発を行っています。これらのログは集計された後、ダッシュボードの形で可視化されてサービス開発者たちの意思決定を支えています。 クックパッドのログ基盤はログ送信側(クライアントサイド)もログ格納側(DWHサイド)も十分に整っており、いつでも必要であれば簡単にログを送信・集計するだけの仕組みができあがっています。 アプリログにおける大雑把なログ収集の図 (注:例として上図を載せ

                                                          分析用ログデータに対する品質保証としての異常検知 - クックパッド開発者ブログ
                                                        • 知らないシステムを孤立させてしまった話 - Qiita

                                                          何事もなく進む作業。 今回は一部機器繋ぎこみだけなので、そろそろ作業の終わりも見えてきたとき、一本の電話がかかってきた。 一本の電話 電話の表示を見ると、その時の案件リーダの方の名前が表示されている。 このタイミングでかかってくる電話に良いことがあったためしがない。 でたくない、、、でたくないが、意を決して出る。 私:「どうしましたか?」 リ:「お客様から電話があって監視からエラーが出ていると連絡があったけど何かやった?」 私:「今、L3スイッチを繋いだところなのでリンクアップのメッセージとかじゃないですか?」 リ:「うちのシステムではなく、別のシステムの監視からエラーが出続けているそうなんだけど。」 私:「(別のシステム!?)」 自分のシステムならともかく、別のシステム!!! しびれとも寒気ともいえぬ、血の気が引く感覚が全身を駆け巡りました。 惨劇はなぜおこってしまったのか すぐに原因の

                                                            知らないシステムを孤立させてしまった話 - Qiita
                                                          • Cookieの新しい属性、SameParty属性について - ASnoKaze blog

                                                            ChromeでCookieのSameParty属性の開発が進められている (コミット)。 現在のところ「SameParty cookie attribute explainer」に説明が書かれている。 今回は、CookieのSameParty属性について簡単にメモしていく。 背景 トラッキング対策、プライバシーの観点でサードパーティクッキーは制限する方向に進んでいる。その制限をSame Partyの場合に緩和する仕組みを提供するのがSameParty属性の話である。 例えば、同一主体により運営されているドメインの異なるサイト (例えば、google.co.jp, google.co.uk) 間においては、いわゆる(cross-site contextsで送られる)サードパーティクッキーを許可しようという話です。 もともとは、First-Party Setsを活用しSameSite属性にFi

                                                              Cookieの新しい属性、SameParty属性について - ASnoKaze blog
                                                            • 全世界300万人が使うCacooのビデオ通話機能を支える技術 #ヌーラボのアドベントカレンダー | 株式会社ヌーラボ(Nulab inc.)

                                                              ※ このブログはヌーラバー Advent Calendar 2020 12日目の記事です。明日は yuh kim さんの記事です。 こんにちは。本日32歳になりました。Cacoo課の川端(@kwbtsts)です。 Cacooは先日、図の編集画面上でビデオ会議ができる「ビデオ通話」機能をリリースしました! 本記事では、ビデオ通話を実現するために必要なWebRTCという技術について解説したいと思います。ビデオ通話を実際にWebサービスで開発・運用していこうと考えている方や、WebRTCに興味がある方へのヒントになれば幸いです。 ビデオ通話機能についての詳しくはCacooリリースブログ『テレワークで使える!Cacooで「ビデオ通話」ができるようになりました!』をご覧ください。 WebRTC(Web Real-Time Communications)とは? Cacooのビデオ通話ではWebRTC(

                                                                全世界300万人が使うCacooのビデオ通話機能を支える技術 #ヌーラボのアドベントカレンダー | 株式会社ヌーラボ(Nulab inc.)
                                                              • ダジャレを判定する - Stimulator

                                                                - はじめに - 近年、IT業界のダジャレは熾烈の一途を辿っている(ITだけに) 。 類義語を巧みに取り入れたダジャレ、難読化されたダジャレなどが増加し、一体どれで「初笑い」すれば良いのか悩む若者も少なくない。 そのような背景があり、ダジャレを判定するアルゴリズムの開発も盛んである。 ルールベースによる判定では、@kurehajimeが提案、開発したdajarep *1 や、@fujit33によるShareka *2が存在する。特にSharekaは、ルールベースのロジックにも関わらず、反復型とされる種類のダジャレに対して高い精度での判定を可能にしている。また、機械学習モデルを用いた判定手法として、谷津(@tuu_yaa)らが開発したDajaRecognizer *3がある。DajaRecognizerは、多くのルールベースによって子音音韻類似度をPMIとして定義、Bag-of-Words、

                                                                  ダジャレを判定する - Stimulator
                                                                • 少女に何が起ったか ~少女が他人のウェブサーバー構成を知るまでにやったいくつかのこと、そしてその結末~ - Techtouch Developers Blog

                                                                  ※これは テックタッチ Advent Calendar 2020 の記事です。昨日は zak による AWS MFAを一撃で認証するCLIコマンド作ってみた でした。 はじまり 少女はあるウェブサイトを見ていました。それが特に気になったわけではありませんでした。 少女が使っていたコンピューターは、カッコいい龍が印象的でした。このオペレーティングシステムが「Kali Linux」というらしいことがわかりました。 nmap それは本当に単なる気まぐれだったのですが、少女は一つのコマンドを実行してみました。 通常、このコマンドは、対象コンピューターの管理者との合意のもと、限られた環境下でのみ実行が許されるもので、見知らぬ相手のコンピューターに向かって実行してはならないことを、少女はまだ知りませんでした。 sudo nmap -sS -A 10.0.2.15 どうやらこのコンピューターは 22 番

                                                                    少女に何が起ったか ~少女が他人のウェブサーバー構成を知るまでにやったいくつかのこと、そしてその結末~ - Techtouch Developers Blog
                                                                  • Docker公式ブログに書かれた「開発者が知っておくべき Docker、Docker Engine、Kubernetes v1.20」について ‣ Pocketstudio.Net

                                                                    Docker 公式ブログに「What developers need to know about Docker, Docker Engine, and Kubernetes v1.20 という投稿があり、何が書かれているのか要点を日本語でまとめました。 書かれているポイントは「Kubernetes で Docker が非推奨ではなく、これまで通り使い続けられる」であり「Docker イメージの話と、ランタイムの話は別」との内容です。 今回のDockerのブログ投稿を捕捉しますと、Kubernetes における docker-shim の話と、 Docker イメージの扱いは別だ、という内容でもあります。つまり、前提として「Docker Engineとcontainerd、Dockerコンテナとイメージの話」も分けて考えたり議論する必要があります。 Docker エンジンを構成する要素の1つ

                                                                      Docker公式ブログに書かれた「開発者が知っておくべき Docker、Docker Engine、Kubernetes v1.20」について ‣ Pocketstudio.Net
                                                                    • Dockerは非推奨じゃないし今すぐ騒ぐのをやめろ - Cloud Penguins

                                                                      今話題のこれ。 kubernetes.io これに関しての日本語情報として、 @inductor が相当詳細に記事を書いてくれている。 blog.inductor.me blog.inductor.me にも関わらず、未だに完全に間違った解釈をしている人が多く観測される。記事をちゃんと読めば理解できるはずなのだけど、たぶんタイトルしか読んでいない。 タイトルしか読まないのであれば、あえて強めのタイトルにしておけば目にはつくかなと思い、改めて書いてみることとした。 Dockerは非推奨じゃないし、これからもバンバン使え まず @inductorが解説しているとおり、k8sを使っていない人には全く関係のない話なので、今まで通りDockerを使って良い。 が、もう一つ誤解を解いておきたいのが 自分の環境でDockerを使ってイメージ作成し、Kubernetesにデプロイしている人にも、今回の件は

                                                                        Dockerは非推奨じゃないし今すぐ騒ぐのをやめろ - Cloud Penguins
                                                                      • NURO光はセキュリティ的にやばいって話 (安全に使うための方法) - Qiita

                                                                        このエントリを書こうと思った理由 先週、NURO光はセキュリティ的にやばい回線だから、セキュリティを理解していたり、それなりの知識がない人が使うとやべー回線。って某青い鳥でつぶやいたらなんか4.3万RT、11.6万favo行ってたので、そのことについてそこそこわかりやすくまとめてみようかなと思ったわけです。 要約 NUROひかりのHGWはデフォルトでIPv6ファイアウオール機能が 無効 または 未搭載 の可能性がある ので、そのまま使うと家庭内LANがインターネットから見えちゃうからちゃんと設定か対策して使おうぜって話。 このドキュメントの対象とする人たち 何も考えずに速度が速いだけでNURO光を使っている、「いんたぁねっとが何かよく分かっていない」人向けです。 ネットワークやセキュリティを理解していて、自分のルータでセキュリティを維持しつつ使える!って人には全く関係ない話なので気にしなく

                                                                          NURO光はセキュリティ的にやばいって話 (安全に使うための方法) - Qiita
                                                                        • N+1問題におけるORMの重たさについて - Atsuo Ishimoto's blog

                                                                          tl;dr¶ボトルネックはちゃんと測定して把握しないとダメだよ。 N+1問題¶DjangoやRailsなど、ORMを利用するWebフレームワークなどの開発では、よく 「N+1問題」 というのが話題になります。ORMでは、あるモデルが参照している別のモデルを参照するとその時点でSQLが発行されてしまうため、気が付かないうちにパフォーマンスが低下する場合がある、というやつですね。 Django¶例えば、Djangoで次のようなモデルがあったとき、 class Table1(models.Model): text = models

                                                                            N+1問題におけるORMの重たさについて - Atsuo Ishimoto's blog
                                                                          • 【特集】 「USBメモリ」と「USBメモリ型SSD」は何が違うのか?

                                                                              【特集】 「USBメモリ」と「USBメモリ型SSD」は何が違うのか?
                                                                            • どのようにしてGoogleは重複URLを検出し正規化しているのか?

                                                                              [レベル: 上級] Google の Gary Illyes(ゲイリー・イリェーシュ)氏と John Mueller(ジョン・ミューラー)氏、Martin Splitt(マーティン・スプリット)氏の 3 人が『Search Off the Record』というタイトルで SEO をテーマにしたポッドキャストを配信しています。 エピソード 9 では、重複コンテンツの処理についてゲイリーが詳しく説明しました。 Google 検索の内部の動きに関心がある人にはとても興味深い内容です。 この記事で内容を完結にまとめます。 Google が重複を検出し正規化する仕組み 重複コンテンツの処理は次の 2 つのプロセスで成り立っています。 重複検出 正規化 それぞれを順に説明します。 重複検出 重複検出は、URL は異なるけれど中身が同一のページを識別するプロセスです。 同じあるいはほぼ同じとみなしたペー

                                                                                どのようにしてGoogleは重複URLを検出し正規化しているのか?
                                                                              • NAT Slipstreaming攻撃とブラウザ側の対策 - ASnoKaze blog

                                                                                2021/01/29 NAT Slipstreaming v2が公開されたので、追加記事を書きました https://asnokaze.hatenablog.com/entry/2021/01/29/014759 2020年10月31日に「NAT Slipstreaming」という攻撃手法が発見されてます samy.pl これは簡単に言うと 罠サイトを踏ませることで、SIPのApplication Level Gateway機能を持つNATの内側に居るクライアントに対して、外側からそのクライアントの任意のTCP/UDPポートに接続できる。という攻撃のようです。 この攻撃はさまざなテクニックを使用しており大変面白いです。調査過程も含め詳細は上記のサイトに書かれているので、そちらを読むことを強く推奨します。 ざっくり 登場人物 victim(攻撃対象): ブラウザで攻撃者のサイトにアクセスすr

                                                                                  NAT Slipstreaming攻撃とブラウザ側の対策 - ASnoKaze blog
                                                                                • OAuth 2.0 を参加者全員がある程度のレベルで理解するための勉強会を開催しました | DevelopersIO

                                                                                  現在私は barista という OpenID Connect と OAuth2.0 に準拠したID製品の実装を行っています。 また、私の所属する事業開発部では prismatix というEC、CRM の API 製品の開発を行っていますが、この prismatix の認可サーバーとして barista を利用しています。 barista チームの増員や、prismatix の認可についての理解を促進するため OAuth 2.0 をある程度しっかりと理解しているメンバーを増やしたかったので、勉強会を開催しました。 勉強会の内容 概要 雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して、手を動かしながら学べる本を全員で輪読 OIDC 編はこのあとやる予定 攻撃編もやりたい RFC 読んだりもしたい 参加者全員が以下を満たすことが目標 OAuth 2.0 の意図を理解

                                                                                    OAuth 2.0 を参加者全員がある程度のレベルで理解するための勉強会を開催しました | DevelopersIO