Mnbvc124のブックマーク (91)

  • DNS検索コマンドdugの紹介 | IIJ Engineers Blog

    Haskellコミュニティでは、ネットワーク関連を担当。 4児の父であり、家庭では子供たちと、ジョギング、サッカー、スキー、釣り、クワガタ採集をして過ごす。 技術研究所開発室の山(和)です。私は、同僚の日比野と一緒にDNSのフルリゾルバ(キャッシュサーバ)の実装を進めています。このフルリゾルバの名前は bowline と言います。結びの王様である「もやい結び」から名付けました。 サーバの bowline に加えて、検索コマンドである dug も実装しています。DNSに詳しい方なら分かると思いますが、 dig コマンドに似せた名前を選びました。(もちろん、DIGDUGという名作を意識しています。) 今回は、 DNS検索コマンド dug の使い方について説明します。dugコマンドをインストールする一番簡単な方法は、githubからバイナリをダウンロードすることです。Intel Linux

    DNS検索コマンドdugの紹介 | IIJ Engineers Blog
    Mnbvc124
    Mnbvc124 2024/08/22
  • あなたの遅延はどこから? SQLから! 〜患部に止まってすぐ効くSQLレビューチェックリスト 年初め特大サービス号〜 - ANDPAD Tech Blog

    あけましておめでとうございます! 今年は異世界放浪メシのアニメが放送されるらしいので楽しみなバックエンドの原田 (tomtwinkle)です。 内部で運用しているSQLレビューチェックリストの一部を抽出し思いつきで追記して行った結果、結構な分量になってしまいました。 暇な時でも流し読みして頂けるとありがたいです。 Motivation SQLレビュー観点 大きくSQLが変更される修正の際にはEXPLAINをレビュー内容に加える 検索のキーにINDEXを使用しているか SQL発行回数がN+1(1+N)の構造になっていないか サブクエリを利用したSQLはパフォーマンス要チェック Viewの利用は基的に禁止 CROSS JOINは禁止 WHERE句で十分に絞った検索をしているか 必要なcolumnだけSELECTしているか レコード数だけ必要な場合にCOUNT用のSQLを発行しているか 集計関

    あなたの遅延はどこから? SQLから! 〜患部に止まってすぐ効くSQLレビューチェックリスト 年初め特大サービス号〜 - ANDPAD Tech Blog
    Mnbvc124
    Mnbvc124 2024/08/03
  • ロードバランサーってなんやねん

    はじめに どもども、インフラ案件で奮闘中の井上弥風(いのうえみふう)です。 現在プロジェクトでELB(Elastic Load Balancing)を使用しており、その内部機能を完全に理解したいと思い、この記事を書きました。 この記事について この記事の最終的な目標は、「ELBとは何か?」を深く理解し、それを自信を持って説明できるレベルになることです。 しかし、ELBを完全に理解するためには、まず基的なロードバランサーの概念を押さえる必要がありました。 そこで、この記事ではELBの根底にあるロードバランサーとは何かという点に焦点を当てていきます。 ELBの詳細については、この記事の後に公開予定の「ELBってなんやねん」という記事で詳しく取り上げます。 ELBに興味のある方は、ぜひそちらもご覧ください。 記事のゴール この記事を通じて、ロードバランサーがどのようにしてトラフィックの負荷分散

    ロードバランサーってなんやねん
    Mnbvc124
    Mnbvc124 2024/07/16
  • Dockerがわからない人へ。これ1本で0から学べる丁寧なDocker入門 - Qiita

    はじめに 私のエンジニアとしての初仕事Dockerでした。辛かったのをいまでも思い出します みなさんこんにちは、Watanabe Jin(@Sicut_study)です。 みなさんはエンジニア始めたての時にどんなことで苦労したでしょうか? GitHub Docker Kubernetes AWS など色々あるかと思いましたが、「環境構築」というのは多くの人がつまづく箇所かと思います。 プログラミングの勉強をするにはそもそもの開発環境がないとできないことも多いです。 またAWSなどのクラウドを利用してデプロイをするときにも再度登場して苦しめられます。 今回はそんな初心者には考え方や使いどころがわかりづらいDockerについて例え話を活用しながら説明していきたいと思います。 Dockerが難しいと思うのは、「概念がよくわからない」「説明を読んでも使いどころのイメージがつかない」というのがある

    Dockerがわからない人へ。これ1本で0から学べる丁寧なDocker入門 - Qiita
    Mnbvc124
    Mnbvc124 2024/07/10
  • 初心者がおさえておきたいAWS CDKのベストプラクティス 2024

    AWS CDKに興味を持ったけれど、なかなかコードを書き始められない」と悩んでいませんか?CDKは簡単に始めることができますが、メンテナンスしやすく、壊れにくいコードを書くためには覚えておきたいプラクティスがあります。しかし、すべてのエンジニアがインフラ構築やプログラミングに精通しているわけではなく、…

    初心者がおさえておきたいAWS CDKのベストプラクティス 2024
    Mnbvc124
    Mnbvc124 2024/07/06
  • データベースの値をちょっとだけ書き換えたら検索に数十分かかる様になって障害になった裏話 - STORES Product Blog

    はじめに 2024年1月にリテール(ネットショップ・レジ)部門からサービス(予約)部門に異動になった @ucks です。 異動してからはスマートリストという機能の開発を行っていて、5月6日に無事リリースできたのと、開発途中で障害に至ってしまった部分があるので、裏側を少し紹介しようかなと思います。 はじめに スマートリストとは スマートリストの設計 検索の仕様変更 高負荷時のハンドリング そして障害へ 見逃した点 DBの実行計画確認時の見逃し 動作確認時の漏れ 監視先の漏れ ログの損失 おわりに スマートリストとは スマートリストの開発についての話を行う前に、まずはスマートリストについて簡単に説明しておきます。 スマートリストとは、特定の条件の顧客をラベリングする機能です。 早い話、最終予約日がいつ、予約回数が何回以上等の顧客の検索条件を保存しておいて、閲覧時にラベリングして、視認しやすくし

    データベースの値をちょっとだけ書き換えたら検索に数十分かかる様になって障害になった裏話 - STORES Product Blog
    Mnbvc124
    Mnbvc124 2024/07/03
  • メトリクス、ログ、トレースをうまく使い分けて可観測性を高めよう!

    イベント名: オブザーバビリティ再入門 - 大切さと高め方を知ろう! イベントURL: https://mackerelio.connpass.com/event/316449/ 概要: 可観測性の概念を理解し、OpenTelemetryなどの実装に必要な道具があっても、自分たちのプロダクトやチーム…

    メトリクス、ログ、トレースをうまく使い分けて可観測性を高めよう!
    Mnbvc124
    Mnbvc124 2024/06/06
  • やらなきゃ損!S3利用料削減シミュレーション

    ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design

    やらなきゃ損!S3利用料削減シミュレーション
    Mnbvc124
    Mnbvc124 2024/06/05
  • Dockerのコンテナイメージサイズを1/10以下に軽量化してみた - Qiita

    はじめに VSCode + Python + Poetry + Docker(docker-compose)でdev-containerを作成して開発を行っていました。 Dockerを勉強し、イメージの軽量化に関する記事を読んでいると、自分が使っているコンテナイメージのサイズが気になりました。 docker images > REPOSITORY TAG IMAGE ID CREATED SIZE > dev-container latest a9b8e3df9087 2.31GB 2.31GB!? サーバとしてアプリを動かしていないのにここまで大きいなんて… というわけで勉強も兼ねて、イメージの軽量化に取り組みました。 イメージが軽量であるメリット ストレージの節約 これは言わずもがなだと思います。 限られたリソースを有効に使うことができます。 ビルド時間の短縮 Dockerは環境を作っ

    Dockerのコンテナイメージサイズを1/10以下に軽量化してみた - Qiita
    Mnbvc124
    Mnbvc124 2024/05/19
  • クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する

    SQL実行の流れ まずはSQLがどのような流れで実行されるのかを見ていきます。 SQL実行の流れは大まかに捉えると以下のようになります。 パーサ パーサでは、ユーザーから送信されたクエリを受け取り、その文法的な正確さを検証します。SQLクエリが正しくフォーマットされているか、必要な構文要素が全て含まれているかをチェックし、例えばFROM句で指定されたテーブルが存在するかどうかも確認します。 文法的なエラーがある場合、例えばカンマの欠落や存在しないテーブルの参照など、クエリはエラーとして返されます。 エラーがない場合は、クエリは「抽象構文木」というデータ構造に変換されます。これにより、データベースはクエリをより効率的に解析し、次の処理ステップに進めることができます。 オプティマイザ SQLクエリがパーサを通過した後、次にクエリの最適化を行うのが「オプティマイザ」です。オプティマイザの主な役割

    クエリのパフォーマンスチューニングの第一歩。実行計画や統計情報について入門する
    Mnbvc124
    Mnbvc124 2024/05/06
  • 今さら聞けないDocker入門 〜 Dockerfileのベストプラクティス編

    今時のアプリ開発において、コンテナは避けて通れないものになっています。そして数多くあるコンテナ実行環境の中でも、デファクトスタンダードと言えるのがDockerです。そんなDockerのイメージですが、皆さんは正しくビルドできていますか? そのコンテナは無駄に太っていませんか? 効率よく最短時間でビルドで…

    今さら聞けないDocker入門 〜 Dockerfileのベストプラクティス編
    Mnbvc124
    Mnbvc124 2024/05/05
  • AWS ECS Fargateは1分間にいくつまで数えられるか-Linux/ARM64とLinux/X86_64の性能比較

    AWS Graviton2 プロセッサは、64 ビットの Arm Neoverse コアを使用してアマゾンウェブサービスがカスタムビルドしたもので、Graviton2 を搭載した Fargate は、同等のインテル x86 ベースの Fargate に比べて、最大 40% の料金性能向上と 20% の低コストを実現し、

    AWS ECS Fargateは1分間にいくつまで数えられるか-Linux/ARM64とLinux/X86_64の性能比較
    Mnbvc124
    Mnbvc124 2024/03/31
  • 「うちの開発組織っていい感じなんだっけ?」で気づいた判断指標の曖昧さ 開発生産性を計測して、開発組織の“当たり前基準”を上げた話

    「うちの開発組織っていい感じなんだっけ?」で気づいた判断指標の曖昧さ 開発生産性を計測して、開発組織の“当たり前基準”を上げた話 開発生産性を計測し、開発組織の当たり前基準を上げる 「全体の開発の流れが見える状態」から「全部のプロセスが見えない状態」に変化する中で感じた危機 大沼和也氏:「開発生産性を計測し、開発組織の当たり前基準を上げていく」という内容で発表いたします。今日はどういうふうにやったかも軽くお話ししますが、どういった経緯や背景で、この生産性を追おうと思ったのかというところを主に話していきたいと思っています。 まず背景を説明します。最初は僕が1チームのスクラムマスターをやっていて、そのあとに複数チームを見る立場に変わっていったというところで、その1チームのスクラムマスターをやっていた時は自分も開発していたこともあり、基的に全体のチームの開発の流れが全部見える状態だったんですね

    「うちの開発組織っていい感じなんだっけ?」で気づいた判断指標の曖昧さ 開発生産性を計測して、開発組織の“当たり前基準”を上げた話
    Mnbvc124
    Mnbvc124 2024/03/31
  • 受託開発におけるアジャイルに限界を感じた私が、「納品のない受託開発」を始めるまで - 倉貫義人の「はじめてのアジャイル」 - Agile Journey

    Agile Journeyをご覧のみなさん、はじめまして。株式会社ソニックガーデンの代表をしている倉貫義人と申します。 私はもともと大手システム会社でプログラマとして働いていました。そのとき出会ったアジャイル開発に魅了され、これこそ自分にとって理想の姿であると確信し、それ以来アジャイル開発を広めるための様々な活動を社内外で行ってきました。 最終的に、当に自分の理想とするソフトウェア開発と、それを実現する組織をつくるためには、自ら会社を経営する立場になるしかないと考え、起業することになりました。そうしてできたのが株式会社ソニックガーデンです。 ソニックガーデンでは「納品のない受託開発」というサービスを提供しています。従来的な受託開発から、そもそものビジネスモデルを見直したことで、今では「アジャイル開発」を意識せずとも、自然とそれに取り組める組織として機能しています。 思い返すと、私のアジャ

    受託開発におけるアジャイルに限界を感じた私が、「納品のない受託開発」を始めるまで - 倉貫義人の「はじめてのアジャイル」 - Agile Journey
    Mnbvc124
    Mnbvc124 2024/03/26
  • セキュリティ主要7分野・脅威の進化と対応 - RAKUS Developers Blog | ラクス エンジニアブログ

    はじめに こんにちは、技術広報の菊池です。 セキュリティの確保は技術的な課題にとどまらず、お客様の満足、さらには企業の存続に直結する重要なトピックスです。 私たちSaaS企業も例外なく、常に変化する脅威にさらされており、日夜対策のアップデートが求められますので、 私も自身の理解を深めるためにキーワードと各分野の歴史をまとめてみました。 記事で取り上げるセキュリティ主要7分野では、新しい技術の登場と共に、新たな脅威が絶えず発生し、その対策の進歩も伺えました。 今回は、アプリケーション、ネットワーク、エンドポイント、データ、クラウド、アイデンティティとアクセス管理、インシデント対応と復旧のセキュリティについて、 その概要と1980年代〜現代に至るまでの歴史、脅威と対応策の進化を総括しました。全てはカバーしきれませんでしたが、代表的なツールも紹介しています。 それぞれの分野では個別の発展があり

    セキュリティ主要7分野・脅威の進化と対応 - RAKUS Developers Blog | ラクス エンジニアブログ
    Mnbvc124
    Mnbvc124 2024/03/16
  • Ruby のメモリ使用量問題を調査し upstream で解決していただいた話 - ANDPAD Tech Blog

    はじめに こんにちは。リアーキテクティングチームの髙橋と申します。 この記事では、アンドパッドの施工管理サービスで利用している Ruby をバージョンアップしたときに発生したメモリ使用量の問題の発生から解決までをお話しします。 Ruby のバージョンアップ(3.0 -> 3.2) アンドパッドでは昨年 2023 に、施工管理サービスで利用している Ruby を 3.0 から 3.2 にバージョンアップしました。 バージョンアップ自体は過去に確立済みの手法(詳しくは過去記事をご参照ください)により、粛々と進められリリースされました。 ところがこのリリースから数日後、とある問題が発覚しました。 メモリ増大問題 アプリケーションのリソース使用状況を監視している SRE チームのメンバーから、以下のような連絡がありました。 Ruby バージョンアップのリリース以降、アプリケーションの利用するメモリ

    Ruby のメモリ使用量問題を調査し upstream で解決していただいた話 - ANDPAD Tech Blog
    Mnbvc124
    Mnbvc124 2024/02/16
  • VS Codeの新機能がすごく便利! ツリービューのスティッキースクロール機能をオンにすると格段に使いやすくなります

    先日アップデートされた、VS Code v1.86で、スティッキースクロールがツリービューでも使用できるようになったので、紹介します。 エディタのスティッキースクロール(紹介記事)ができるようになった時もその便利さに喜びましたが、ツリービューでもできるようになり、深い階層でもすべての親を常に表示しておくことができます。 ツリービューのスティッキースクロールを使用するには、デフォルトではオフになっているので、機能をオンにする必要があります。 ※オンになっている人もいるようですね。

    VS Codeの新機能がすごく便利! ツリービューのスティッキースクロール機能をオンにすると格段に使いやすくなります
    Mnbvc124
    Mnbvc124 2024/02/15
  • 障害対応で大切だと感じていることのまとめ - Qiita

    私個人の障害対応の経験と 一昨日参加したIncident Response Meetup vol.1での学びから 障害対応において大切だと感じていることをまとめる。 障害とは リリース後のシステムにおいてシステムの不具合やユーザーの操作ミスによってユーザー業務に影響が出ているもしくは出る恐れがあるもの。 障害対応の目的 システムを直すことではなく、ユーザー影響の回避・低減・早期回復をすること。 障害対応に対する心構え システムの信頼性の要である 障害への対応の仕方でユーザー影響が大きく変わる いつ発生するかわからないため特定の人が常に障害対応をするということは不可能である 素早く適切に行動するための備えが重要である 役割分担 障害対応では復旧対応、原因調査、ユーザーへの説明、社内調整などたくさんのことをやる必要がある。 またそれぞれの作業の難易度が高いことも多い。 一人の人間にできることは

    障害対応で大切だと感じていることのまとめ - Qiita
    Mnbvc124
    Mnbvc124 2024/01/19
  • CSRF 対策はいまだに Token が必須なのか?

    CSRF 対策は One Time Token を form なりに付与して、サーバ側でチェックすれば良い。 それをデフォルトでサポートしてるフレームワークなどもあるし、なくてもライブラリでいくらでも対応できる。 どうせ完全にステートレスなサービスはなかなかないので、サーバ側に redis や memcache を用意するのも別に大変じゃない。 なので、 CSRF 対策として Token を付与するのは、最も安全で推奨できる方式ではある。 っていうのを踏まえた上で、もう SameSite=Lax デフォルトだけど、今でも Token 必須なの?みたいなのがたびたび話に出るので、いい加減まとめる。 前提 この話は、スコープがどこなのかによって話が多少変わるので、そこを絞る。 今回は Passive ではなく Active に対策していく場合を考えるので、前提をこうする。 SameSite=l

    CSRF 対策はいまだに Token が必須なのか?
    Mnbvc124
    Mnbvc124 2024/01/18
  • SREこのへんで苦戦しがちじゃないですか?

    登壇資料 SRE立ち上げてどうなった?最新のコア技術とSRE事情 Lunch LT https://findy.connpass.com/event/305677/ ハッシュタグ :#SRE_findy

    SREこのへんで苦戦しがちじゃないですか?
    Mnbvc124
    Mnbvc124 2024/01/17