はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    ブラックフライデー

『@msmaniaのマイページ - Qiita』

  • 人気
  • 新着
  • すべて
  • Punycode を完全に理解する - Qiita

    3 users

    qiita.com/msmania

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 2022 年 11 月の初めに、OpenSSL で Severity: High の脆弱性が 2 つ修正されました。 このうち、CVE-2022-3602 の修正が if 条件式の不等号に = を加えるだけという典型的な Off-by-one error であったこともそこそこ話題になりました。プログラミングは難しい。 ファイル名から分かるように、この処理は Punycode デコーダーの一部です。Punycode といえば、非 ASCII 文字を含むホスト名を ASCII 文字に変換するときなどに使われるやつで、日本語ドメイ

    • テクノロジー
    • 2024/09/25 17:29
    • NT カーネルのページング基礎 - Qiita

      5 users

      qiita.com/msmania

      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 少し前に、ネタと時間がありそうだったので、勢いで 12/24 のアドベント カレンダーに登録してしまいました。その記事の準備のため、Windows のページ テーブル周りの動きを調べていたところ分量が増えてきたので、アドベント カレンダーの記事を分けることにしました。どうせ Windows カテゴリ人気ないし。貸し切り状態ですわ。 第一回目の記事は、ページングについてです。何を今更、って感じですかね。OS 小学校の一年生ぐらいで習う内容かもしれませんが、私の頭と指のリハビリにお付き合いください。最近文章を書いていないので筆が進

      • テクノロジー
      • 2020/12/07 02:16
      • windows
      • os
      • 実行中のプロセスをフックして任意のコードを実行する (Non-invasive instrumentation) - Qiita

        3 users

        qiita.com/msmania

        はじめに 掲題の方法を非破壊的、すなわちソースコードや実行可能モジュールのファイルを変更せずに実現するツールを作りました。より具体的には、「実行中のプロセスの任意の箇所をフックして、DLL に実装した任意のコードにジャンプして実行してから、元の処理に戻って動作を継続できる」ツールです。手前味噌ですがけっこう便利だと思います。現実的な使用場面として、パフォーマンス測定やカスタム ロギング、スレッドの競合を意図的に引き起こすためのタイミングの調整、などが考えられます。 msmania/procjack: Not Another Code Injection Toolkit https://github.com/msmania/procjack というわけでこの記事では、以下 2 つの実装例を紹介して Non-invasive instrumentation の便利さを伝えようと思います。残念な

        • テクノロジー
        • 2019/12/27 22:26
        • Windows 10 の保護プロセスを jailbreak してデバッガーをアタッチする方法 - Qiita

          6 users

          qiita.com/msmania

          はじめに Windows 10 では、幾つかの重要なプロセスが保護されていて、管理者権限やシステム権限を持っていてもデバッガーをアタッチすることが許可されていません。どんな層に需要があるか分かりませんが、これらの保護されたプロセスを、カーネル デバッガー、もしくはカーネル ドライバーを使って強引に jailbreak する方法について説明します。 さらに、Windows Defender のプロセス (MsMpEng.exe) には別の保護機能が実装されています。これもついでに解除してしまいましょう。Windows Defender に対する方法は、GitHub 上でオランダのハッカーから教えてもらいました。 環境 OS: Windows 10 1709 x64 + KB4048955 [Version 10.0.16299.64] Debugger: WDK for Windows 10

          • テクノロジー
          • 2019/06/16 02:42
          • windows
          • dynamic_cast の実装を読み解く - Qiita

            4 users

            qiita.com/msmania

            はじめに 前回 に引き続き、VTable シリーズ第二弾です。前回の記事で仮想継承について書くとか言っておきながら dynamic_cast についてです。補足として追記する予定だったのですが、それどころではない長さになったので記事を分けました。 dynamic_cast だけではなく、静的キャストついても調べました。キャストの挙動を理解したくてたまらない暇な人、ぜひ読んでください。 C++ のキャスト演算子についておさらい dynamic_cast は、型情報を使うことで up/down/side 方向の型変換をそれなりに安全にやってくれる機能です。型情報は VTable のエントリの一つであるため、dynamic_cast を使うためにはクラスが VTable を持っていないといけません。よって、クラスに仮想関数が少なくとも一つ必要です。そのようなクラスのオブジェクトを Polymor

            • テクノロジー
            • 2019/03/01 09:43
            • C++
            • Chromium のメモリ管理 (Oilpan) - Qiita

              40 users

              qiita.com/msmania

              はじめに 前回の PartitionAlloc の記事 に続いて、PartitionAlloc と双璧をなす Chromium のメモリ管理 Oilpan について紹介します。 本文中に出てくるデバッガー コマンドは、以下のエクステンションに含まれています。 GitHub - msmania/chromium-debug: Debugger extension for Chromium https://github.com/msmania/chromium-debug Oilpan 概要 Chromium プロジェクト公式のページはこちらです。 Blink GC Design https://chromium.googlesource.com/chromium/src.git/+/master/third_party/blink/renderer/platform/heap/BlinkGC

              • テクノロジー
              • 2019/02/06 02:42
              • GC
              • chrome
              • あとで読む
              • C++
              • Pocket
              • web
              • Chromium のメモリ管理 (PartitionAlloc) - Qiita

                7 users

                qiita.com/msmania

                はじめに Chromium は、独自のヒープ管理機構を実装しており、OS が用意するヒープを使いません。その代わりに ParitionAlloc と Oilpan と呼ばれる 2 つのヒープ管理機構が存在し、確保するオブジェクトの種類によって使い分けられています。本記事では PartitionAlloc の詳細動作について紹介します。 PartitionAlloc 概要と特徴 Chromium プロジェクト公式の概要はこちらです。 PartitionAlloc Design https://chromium.googlesource.com/chromium/src.git/+/master/base/allocator/partition_allocator/PartitionAlloc.md デザイン上の特徴としては、メモリ領域をオブジェクトの種類と確保するサイズによって明確に分けてい

                • テクノロジー
                • 2018/05/30 08:28
                • malloc
                • google chrome
                • Chrome
                • Python 3 + Falcon を使った RESTful API の開発/テスト/デバッグ - Qiita

                  3 users

                  qiita.com/msmania

                  はじめに 単純な Web API を用意する必要があり、Falcon という若干マイナーな WSGI フレームワークを使ってみました。Falcon の公式サイトのサンプルやドキュメントの情報は十分なので、インストールしてすぐに使い始めるのはとても簡単です。しかし、細かいところで追加情報が必要だと感じることが多かったので、この記事で補いたいと思います。 Falcon - The minimalist Python WSGI framework https://falconframework.org/ 公式情報を日本語訳するだけのことは避けたいので、インストール方法や使い方を日本語で読みたいという方は、Qiita にある他の記事が参考になると思います。既に Falcon タグが作られています。この記事が記念すべき 10 件目。 Falconに関する9件の投稿 - Qiita http://qi

                  • テクノロジー
                  • 2018/04/06 16:10
                  • python
                  • helloworld の次に書く gRPC の C++ プログラム - Qiita

                    9 users

                    qiita.com/msmania

                    はじめに gRPC はじめました。ついこの前まで Python で Falcon で RESTful API だなどと粋がっていましたが、RESTful API のブームは過ぎ去り、gRPC がマイブームです。 grpc / grpc.io http://www.grpc.io/ gRPC とは、Google 様が作った RPC のライブラリです。主な特徴は、 多言語対応 2017/4/25 現在での対応言語: C++/Java/Python/Go/Ruby/C#/Node.js/Android Java/Objective-C/PHP HTTP/2 通信 の 2 つだと思います。 私が今書いてるプログラムにおいて、Web API から gRPC に全面移行するまでの思考の流れは次のような感じでした。 Web API の呼び出し側は C++ で書く必要があり、HTTP クライアントのライブ

                    • テクノロジー
                    • 2018/01/16 19:19
                    • C++ の仮想関数と VTable について - Qiita

                      8 users

                      qiita.com/msmania

                      関数 hoge は、p が c1 のインスタンスであるときには c1::func を呼び、p が c2 のインスタンスであるときには c2::func を呼ぶ必要があります。これを実現するための一つの方法が VTable です。実際にどうやって実装されているかは後述するとして、イメージを簡単に説明すると以下のような仕組みです。 クラス毎に、そのクラスの仮想関数へのポインターを集めたテーブルを作り、これを VTable と呼ぶことにします。上記例の c1, c2 であれば、以下のような配列 vtable_c1, vtable_c2 を予め作っておくイメージです。このとき、関数毎にインデックスを決めて、そのインデックスはクラス間でも共通になるようにします。ここでは例えば、func 関数は VTable の先頭に配置することにします。 クラスのインスタンスを作るとき、その VTable へのポイ

                      • テクノロジー
                      • 2017/03/20 17:14
                      • C++
                      • プログラミング

                      このページはまだ
                      ブックマークされていません

                      このページを最初にブックマークしてみませんか?

                      『@msmaniaのマイページ - Qiita』の新着エントリーを見る

                      キーボードショートカット一覧

                      j次のブックマーク

                      k前のブックマーク

                      lあとで読む

                      eコメント一覧を開く

                      oページを開く

                      はてなブックマーク

                      • 総合
                      • 一般
                      • 世の中
                      • 政治と経済
                      • 暮らし
                      • 学び
                      • テクノロジー
                      • エンタメ
                      • アニメとゲーム
                      • おもしろ
                      • アプリ・拡張機能
                      • 開発ブログ
                      • ヘルプ
                      • お問い合わせ
                      • ガイドライン
                      • 利用規約
                      • プライバシーポリシー
                      • 利用者情報の外部送信について
                      • ガイドライン
                      • 利用規約
                      • プライバシーポリシー
                      • 利用者情報の外部送信について

                      公式Twitter

                      • 公式アカウント
                      • ホットエントリー

                      はてなのサービス

                      • はてなブログ
                      • はてなブログPro
                      • 人力検索はてな
                      • はてなブログ タグ
                      • はてなニュース
                      • ソレドコ
                      • App Storeからダウンロード
                      • Google Playで手に入れよう
                      Copyright © 2005-2025 Hatena. All Rights Reserved.
                      設定を変更しましたx