タグ

ggkuronのブックマーク (1,906)

  • Git Internals part 1: The git object model

    This is the first of several posts exploring how git works under the hood. While lots of programmers are familiar with using git, I wanted to do a deep dive into how git is implemented. git employs many clever ideas to optimize common version control operations. I'm a big fan of trying to understand software by playing around with it rather than reading lots of documentation. To that end, I've wri

    Git Internals part 1: The git object model
    ggkuron
    ggkuron 2021/11/23
  • Announcing Snowflake

    A while back we announced on our API developers list that we would change the way we generate unique ID numbers for tweets. While we’re not quite ready to make this change, we’ve been hard at work on Snowflake which is the internal service to generate these ids. To give everyone a chance to familiarize themselves with the techniques we’re employing and how it’ll affect anyone building on top of th

    Announcing Snowflake
    ggkuron
    ggkuron 2021/11/23
  • roslyn/docs/compilers/Deterministic Inputs.md at main · dotnet/roslyn

    ggkuron
    ggkuron 2021/11/18
  • C# で、同じソースコードから常に同じバイナリを生成する

    昔、gist にだけ置いてて、そういえばブログに書いてなかったものを思い出したので書いておくことに。 (一応、部分的には言及したことがあるんですけど、ちゃんとした話はしたことがなかったはず。) 決定論的ビルド 3年くらい前まで、C# コードをコンパイルすると、ソースコードを一切書き換えていなくても、生成結果の exe/dll や pdb のバイナリが変化していました(決定性(deteminism)がない)。 原因は以下の2つです。 バイナリ中に埋め込まれる GUID にタイムスタンプと乱数から生成される値を使っていた デバッグ用のファイル情報がフルパスで埋め込まれていた GUID の方はタイムスタンプと乱数なので当に致命的で、ローカルで再コンパイルしても毎回バイナリが変化していました。 フルパスの方は基的には pdb (デバッグ用シンボル情報)だけの問題なんですが、 exe/dll で

    C# で、同じソースコードから常に同じバイナリを生成する
    ggkuron
    ggkuron 2021/11/18
  • Directory.Build.* | ++C++; // 未確認飛行 C ブログ

    なんか、Gist に書き捨ててそのまま放置なものが結構増えてきたので、 しばらくそれを元にブログに起こしていこうかという気分に。 ここ2年くらい、.NET Core や C# のテーマの1つがパフォーマンス改善だったせいもあって、だいぶ Unsafe でだいぶきわどい最適化の話が多めになるとは思います… (ちなみに、今日のは全然その系統ではなく、きわどさもない話。) Visual Studio 2017 の頃から、所定のフォルダー以下にあるすべての csproj に対して掛かる共通設定を記述できるようになりました。以下の名前のファイルを置くことで、その内容が自動的にcsprojにインポートされます。 (dotnetコマンドでのビルドにも有効です。) Directory.Build.props … csprojの先頭にインポートされる Directory.Build.targets … cs

    Directory.Build.* | ++C++; // 未確認飛行 C ブログ
    ggkuron
    ggkuron 2021/11/18
  • C#の全プロジェクトに便利な設定を一括反映する - Qiita

    はじめに 稿は、Visual Studio の C# のソリューションで多くのプロジェクトを管理している場合に、便利な設定を一括反映する方法の紹介です。 お勧めの設定内容は以下です。私のプロジェクトでは、次の2つの設定を全プロジェクトに反映しています。 C# 8.0 を利用(2019年7月時点でC# 8.0はPreview版であるため、プロジェクトごとに設定が必要) 決定論的ビルドの有効化(同じソースコードから常に同じバイナリを生成する) C# 8.0は以前の記事に書いた通りnull安全などで有効です。 決定論的ビルドは無条件で設定しておいた方が良い設定です。 (決定論的ビルドはVisual Studio 2017以降で新規作成した.NET StandardかCoreのプロジェクトはデフォルトで有効になっていますが、それ以外のプロジェクトはデフォルトで無効になっています) 手順 手順はと

    C#の全プロジェクトに便利な設定を一括反映する - Qiita
    ggkuron
    ggkuron 2021/11/18
  • Deterministic builds in Roslyn

    It seems silly to celebrate features which should have been there from the start. But I can’t help but be excited about adding deterministic build support to the C# and VB compilers. The /deterministic flag causes the compiler to emit the exact same EXE / DLL, byte for byte, when given the same inputs. This is a seemingly minor accomplishment that enables a large number of scenarios around content

    ggkuron
    ggkuron 2021/11/18
  • How to install specific version of some package?

    Stack Exchange Network Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers. Visit Stack Exchange

    How to install specific version of some package?
    ggkuron
    ggkuron 2021/11/17
  • 「核融合・熱」によるボイラーが実用化へ、金属積層チップで熱を取り出す

    発熱エネルギー密度は1000倍 原子核変換に伴う熱を利用する加熱装置の製品化が間近に迫ってきた。9月28日、新エネルギー関連のベンチャー企業、クリーンプラネット(東京都千代田区)とボイラー設備大手の三浦工業が「量子水素エネルギーを利用した産業用ボイラーの共同開発契約を締結した」と発表した。 「量子水素エネルギー」とは、水素原子が融合する際に放出される膨大な熱を利用する技術で、クリーンプラネットが独自に使っている用語。エネルギーを生み出す原理は、日米欧など国際的な枠組みで進めている熱核融合実験炉「ITER(イーター)」と同じ、核融合によるものだ。 核融合反応による発熱エネルギー密度は、理論的にはガソリンの燃焼(化学反応)の1000倍以上になり、実用化できれば人類は桁違いのエネルギーを手にできる可能性がある。 「量子水素エネルギー」と熱核融合炉との違いは、ITERが1億度という高温のプラズマ状

    「核融合・熱」によるボイラーが実用化へ、金属積層チップで熱を取り出す
    ggkuron
    ggkuron 2021/11/13
  • TypeScript Compiler API で Storybook を置換した話とその次の話

    TECH STAND #6 TypeScript https://standfm.connpass.com/event/229027/ note PDFy https://note-pdfy.panda-program.com/ 「TypeScript Compiler API で40の…

    TypeScript Compiler API で Storybook を置換した話とその次の話
    ggkuron
    ggkuron 2021/11/11
  • パッケージファイルの中身 - Azureの小ネタ (改)

    Azureをビルド&発行するとできるパッケージファイルの拡張子は cspkg です。 またMSさん、独自な拡張子作っちゃって、どーせzipか何かでしょと思った人、 大正解。 自分もどうせZIPでしょ?と思って拡張子を変更して解凍した口です。 以下は、cspkgファイルをzipに変更して中身をのぞいたところ。 解凍したファイルに拡張子cssx のものがありますが、 実はコレがロール毎に固められたzip形式の構成物なのです。 ただし、通常の状態では暗号化されていて中身を確認することができません。 暗号化しないようにするには、環境変数 _CSPACK_FORCE_NOENCRYPT_ に Trueを設定すれば暗号化されなくなります。 まとめると、以下。 デバッグなどでパッケージの構成を確認したい ときなどに便利です。 _CSPACK_FORCE_NOENCRYPT_ に trueを設定 (発行し

    パッケージファイルの中身 - Azureの小ネタ (改)
    ggkuron
    ggkuron 2021/11/11
  • 新しいHTTPメソッド、QUERYメソッドの仕様 - ASnoKaze blog

    新しいHTTPメソッドを定義する「The HTTP QUERY Method」という提案仕様が議論されています。 もともとは、SEARCHメソッドという呼び名が候補としてあげられていましたが、長い議論ののち、一旦QUERYと呼ぶ方向となっております。最終的なFixについては、この draft 02の公開とともに改めてコンセンサスを求めた後に行われます。 QUERYメソッド 「GETリクエストにボディを付けたいという」という質問は長らく有りました。しかし、GETやHEADリクエストでボディをつけることは非推奨となっています (参考URL)。 そのような要望のなかで、リクエストでボディを含められる冪等性の保証された新しいHTTPメソッドが検討されました。それがQUERYメソッドです。冪等性があるため、ブラウザやProxyは自動でリトライすることができます。(なお、POSTはセマンティクス上冪等

    新しいHTTPメソッド、QUERYメソッドの仕様 - ASnoKaze blog
    ggkuron
    ggkuron 2021/11/10
  • QUICをゆっくり解説(15):HTTP/3 | IIJ Engineers Blog

    Haskellコミュニティでは、ネットワーク関連を担当。 4児の父であり、家庭では子供たちと、ジョギング、サッカー、スキー、釣り、クワガタ採集をして過ごす。 QUICは汎用的なトランスポート層プロトコルですので、様々なアプリケーションプロトコルのやりとりに使えます。みなさんがよく知っているHTTP/1.1を乗せることも可能です。実際、開発者の間では、HTTP/1.1の前身の前身であるHTTP/0.9がテスト用に使われていました。 しかし、QUIC上のHTTPの命は、第一回目の記事で説明したようにHTTP/3です。QUICは、「HTTP/2のストリームによる多重化の機能」を取り込んでいます。QUICに取り込まれなかったHTTP/2の残りの部分をQUIC用に再定義したのがHTTP/3です。 今回は、HTTPの標準化状況とHTTP/3について説明します。 HTTPの標準化状況 現在よく使われて

    QUICをゆっくり解説(15):HTTP/3 | IIJ Engineers Blog
    ggkuron
    ggkuron 2021/11/10
  • パフォーマンス改善のいろは

    こんにちは、@kaa_a_zu です。私は、今までいくつかの組織でフロントエンドのパフォーマンス改善に取り組んできました。パフォーマンスが劇的に改善したこともあれば、改善点の洗い出しで終わったこともありました。この記事では、それらの経験に基づいて、どのようにしたらチームがパフォーマンスに意識を向けることができるのか、改善を習慣化できるのかについて基的なことを紹介させていただきます。少しでも参考になったらありがたいです。また、ご指摘や感想も随時お待ちしております。 ※この記事はWebフロントエンド領域を対象にしています。 なぜパフォーマンス改善をするのか パフォーマンスを改善する目的には、大きく3つあると考えています。 ユーザー体験の質を向上させるため(追記: この動画はパフォーマンスの重要性を説いています) SEO対策のため 将来的にリッチな機能を導入するため(既にTWA化の基準にはパフ

    パフォーマンス改善のいろは
    ggkuron
    ggkuron 2021/11/02
  • About · Container Security Book

    Container Security Book ⚠️この文書は製作中のものです About これから Linux コンテナのセキュリティを学びたい人のための文書です。 普段からコンテナを扱っているが、コンテナの基礎技術セキュリティについては分からないという人が、それらを理解できる足がかりになるように書かれています。 誤字脱字や間違いなどあれば https://github.com/mrtc0/container-security-book に Issue もしくは Pull Request を立ててください。 ご意見、ご感想等は Twitter ハッシュタグ #container_security でツイートをお願いします。 License この書籍に記述されているすべてのソースコードは MIT ライセンスとします。 また、文章は Creative Commons Attribution

    ggkuron
    ggkuron 2021/10/28
  • ブッダは「愛」と「好き」の違いを説いたのか、バーナード・ショーかく語りき - ネットロアをめぐる冒険

    今日はみなさんだいすき名言の話。 「好きだ」と「愛している」の違いは何か? この問いに対するブッダは秀麗な答えは次のようなものだ。 花が好きと言う場合、ただ花を摘むだろう。 だが花を愛していれば、世話をし、毎日水をやるだろう。 これがわかる者は、生きることを知る。 — Aurora Del Monte (@MonteAurora) May 25, 2019 ブッダが「愛」についてこんなこと言うか?と私も疑問に感じていたのですが、ツイート主はこんな情報を追記しています。 たくさんの反響ありがとうございます。このアカウントは、アレハンドロ・ホドロフスキー氏のツイートに感動して、なんとか日語に訳してみたいと始めたものです。今回の元投稿は氏のリツイートです。出典はわかりません。「スペイン語圏で流布する一説」と捉えていただければ良いかと思います。 — Aurora Del Monte (@Mont

    ブッダは「愛」と「好き」の違いを説いたのか、バーナード・ショーかく語りき - ネットロアをめぐる冒険
    ggkuron
    ggkuron 2021/10/25
  • [Azure] az ad sp create-for-rbac は何をやっているのか - Qiita

    はじめに az ad sp create-for-rbac は何をやっているのでしょうか。 答えは、サービスプリンシパルを作成している、です。 それは分かるし、表示された ID とパスワードを使えばスクリプトを動かすことができる。 だけど、このコマンドの裏でどういったことが行われているのかはわからない。 この記事はそんな経験を持つ昔の自分に向けて、このコマンドで何が実行されているのかを記したものです。 az ad sp create-for-rbac がやっていることを Azure Portal で確認してみる 以下のドキュメントは、Azure Portal からサービスプリンシパルを作成する手順が示されています。 https://docs.microsoft.com/ja-jp/azure/active-directory/develop/howto-create-service-pri

    [Azure] az ad sp create-for-rbac は何をやっているのか - Qiita
    ggkuron
    ggkuron 2021/10/18
  • How to give permission to deploy to a spesific slot only?

    ggkuron
    ggkuron 2021/10/18
  • Facebook CSS-in-JS Solution Stylex Introduced at React Finland 2021

    InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architect. View an example

    Facebook CSS-in-JS Solution Stylex Introduced at React Finland 2021
    ggkuron
    ggkuron 2021/10/18
  • Components · ReasonReact

    ggkuron
    ggkuron 2021/10/15