HTTP/3の今と将来 第71回 HTML5とか勉強会 @flano_yuki マスコット: https://github.com/quicwg/wg-materials/blob/main/ietf103/http.pdf
概要 OSを座学・書籍で学ぶだけでなく実際に作ってみたくて、またRustでなにかを作りたくて、 ゼロからのOS自作入門(以下みかん本)で作るMikanOSをRustで実装しました[1]。 先駆者はいくつか見かけましたが、最後まで実装されている方は見つけられず、 もしRustで実装しようとしてハマっている人や途中で諦めてしまった方がいれば参考になるかと思い、記事を書きました。 実装者のレベル 一応、私のレベル感を書いておきます。 OSの開発経験はなく、低レイヤーっぽい開発経験もひとつだけ Nand2tetris Rustは以下のように多少の経験はあるが業務で利用したことはなし the book はほぼ読んで写経した Rustで始めるTCP自作入門 はやった Programming Rust, 2nd Edition は気になるところを読んだ というような感じで、OS開発もRustも経験が浅い
※この投稿は米国時間 2022 年 5 月 27 日に、Google Cloud blog に投稿されたものの抄訳です。 Google は最近、Google I/O にて AlloyDB for PostgreSQL を発表いたしました。これは、要求が厳しいエンタープライズ クラスのトランザクション / 分析ワークロードに使用できる、PostgreSQL 対応のフルマネージド データベースです。弾力性のあるストレージとコンピューティング、インテリジェントなキャッシュ、AI / ML による管理といったクラウドの優れた特徴を、PostgreSQL に統合できるようになります。さらに、AlloyDB は圧倒的なコスト パフォーマンスを実現します。パフォーマンス テストでは、標準の PostgreSQL と比較してトランザクション ワークロードで 4 倍以上、分析クエリで最大 100 倍も高速に
「Web 技術解体新書」執筆について Intro 「Web 技術解体新書(Web Anatomia)」という書籍の執筆と、 zenn 上での販売についてアナウンスします。 各章を分割して執筆し公開していく予定です。 第一章: Origin 解体新書 Web 技術解体新書とは Web というものを正しく理解するために必要な知識や技術は日増しに増え、それに従い学ぶためのコストもかなり上がってきています。 一方で、多くの書籍や雑誌、 Web 上の記事、動画や音声コンテンツは充実しており、学ぶための手段もかなり広がっています。 しかし、 Web に関わる技術書籍の多くは、何らかのフレームワークの解説や、 JS/CSS などの特定技術、特定の非機能要件に特化したものが多く、(その括りの曖昧さ故) Web という括りで書かれたものはあまりありません。 あったとしても、多くは初心者向けなものが多く、ある
「TechFeed Conference 2022後夜祭」第5弾!今回からはプログラミング言語のLTが中心!Rust、Go言語、コンテナ技術、PHPに関するLT動画を8本公開です! こんにちは、TechFeed CEOの白石です。 2022年5月14日に開催された「エンジニアの祭典」TechFeed Conference 2022は、「日本を代表するテックエキスパート50名による大LT大会」という前代未聞の取り組みとして、大盛況のうちに幕を閉じました。 ですが、TechFeed Conferenceはまだまだ終わりません! 本イベントは、エキスパートの貴重な知見を一人でも多くの方々に届けるべく、企画当初から 「全セッション、永久保存版」 を掲げて、アーカイブ化にも全力を尽くすと誓っておりました。 本日より6/10までの間、「TechFeed Conference 2022後夜祭」を開催しま
「達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践」という本を6名の共著で執筆しました。技術評論社さんから、2022年6月4日発売予定です。電子版もでます。 gihyo.jp Amazon はこちら。 達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践 作者:藤原 俊一郎,馬場 俊彰,中西 建登,長野 雅広,金子 達哉,草野 翔技術評論社Amazon タイトルの通り、ISUCON で出題されるようなWebサービスを例にして、Webサービスのサーバーサイドパフォーマンスチューニングを指南する内容です。通称「ISUCON本」と呼んでください。 2020年の末に、技術評論社さんからWebサービス高速化 × ISUCONに関する書籍を執筆しませんか、と藤原までお誘いをいただいたのが発端でした。 書きたい気持ちはあったものの、内容的にとて
今、IT関連の技術は様々な企業の競争力の源泉です。一方で、実際に企業が必要とするよりもITエンジニアの数は少ないため、採用競争は激化するばかりです。そこで、元ウェブエンジニアでITエンジニアの採用担当を経験した私の視点で、ITエンジニア採用に関する情報をまとめることにしました。 なお、ここでいうITエンジニアはアプリケーションエンジニア、インフラエンジニア、機械学習エンジニア、QAエンジニアなどIT関連エンジニア全般を指します。 # 更新情報 * 2022/05/17 - 公開 * 2022/05/17 - 中途採用前提であることを Chapter 1 に追記 * 2022/05/18 - 誤字の修正 Chapter 15 「行進」 -> 「更新」 ※はてなブックマークでの指摘ありがとうございます * 2022/05/19 - 活用事例の Chapter を追加 * 2022/05/20
Rust のモジュールシステムは私の知る中でもトップクラスによくできた仕組みだと思います。特にリファクタリングによってモジュールを再構成するときのやりやすさは他の言語では経験できないものです。例えばそれなりの規模の Python プロジェクトを回帰バグを導入せずにモジュール構造のリファクタリングするのは不可能に近いですが、 Rust ではそのような不安を覚えたためしがありません。 Rust のモジュールシステムがどういうものかは、 The book にも書かれていますし、すでに大量のガイドが書かれていると思います。しかし、どのように使うべきかについては意外なほど情報が少なく感じます。 ベストプラクティスというのもおこがましいですが、数年使ってきて Rust のモジュールシステムを使う上でスムーズに感じる方法をまとめておきたいと思います。 Rust のモジュールシステム 本稿の主題はモジュー
※ この記事は 2021/10 時点での内容です。 社内勉強会で 2021 年に発表した内容で、外部公開しようと思って寝かせてしまっていました。 記事としての鮮度は落ちてますが、頑張って書いたものなので Zenn に公開しておきます。 概要 社内異動を機に業務で Rust を書けることになった私の Rust 学習記録です。 今までの言語経験はメインが Ruby、少し JS/TS、趣味で Go をやっていたぐらいです。 学習の方針 なんでもかんでも Rust で書く。 Rust は GC のないシステムプログラミング言語として大体 C 言語と同等のレイヤーからカバーできるので、書こうと思えば OS から Web アプリまで書ける。 yew のような UI 構築用のライブラリもあるので、フロントエンド開発もできる。 というわけでなんでもかんでも Rust で書ける。 リポジトリ運用 デプロイの
Every byte explained and reproduced QUIC is a secure UDP-based stream protocol that forms the basis of HTTP/3. In this demonstration a client connects to a server, negotiates a QUIC connection with TLS encryption, sends "ping", receives "pong", then terminates the connection. Click below to begin exploring. The connection begins with the client generating a private/public keypair for key exchange.
はじめに 富士通がついに2030年にメインフレーム市場から撤退し、66年の歴史に幕を閉じるという話が出てきました。 富士通といえば国産大型コンピュータの先駆けであり、IBM互換機を作って巨人IBMに食らいついたベンダーでもあります。そんなわけで中々に歴史の転換点を感じる話題ではあるのですが 「ところでメインフレームって何? 」 という方も多いでしょう。という分けで名前は聞いたことがるけど実態が良く知らない「メインフレーム」 に関して少しだけ解説をする動画を作りました。 この記事は動画では話しきれなかった事も含めて、もう少し深堀した解説をしていきたいと思います。ちょっと長くなりましたが、前半が歴史の話で後半がアーキテクチャの話になるので好きな所にジャンプして読んでみてください。 メインフレーム? 汎用機? ホスト? メインフレームは他にも汎用機とかホスト機と呼ばれることもありますよね。Wik
はじめに 前回自作でTCPIP+HTTPを実装して動作を確認することができました。 しかしご覧頂いた方はおわかりのように、通信はHTTP=平文でやり取りされておりパスワードなど機密情報が用意に見れてしまう状態です。 普段我々がブラウザに安心してパスワードを入力しているのは通信がTLSで暗号化されているからです。ではそのTLSの仕組みはどうなっているのでしょう? 恥ずかしい限りですが僕はわかりません。😇😇😇 ということで以下を読みながらTLSプロトコルを自作してみてその仕組みを学ぶことにします。 マスタリングTCP/IP情報セキュリティ編 RFC5246 プロフェッショナルSSL/TLS 今回の実装方針です。 TLS1.2プロトコルを自作する 暗号化などの処理はcryptパッケージの関数を適時利用する tcp接続にはconnectを使う 鍵交換はまずRSAで作成する TLS_RSA_W
こんにちは、リファクタリングが大好きなミノ駆動です。 これは、私が執筆した『良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方』について紹介する記事です。 2022年4月30日発売です(ほぼ同日に電子書籍版も出ます)。 AmazonなどECサイトで、すでに多くの予約が入っており、ヨドバシ.comでは一時期予約終了になったほどです。おかげさまで初版部数が2倍になりました。 ■どんな本?皆さんはプログラミングでバグを埋め込みたいですか?ロジック修正が上手くいかず、ヒィヒィ言いながら長時間残業したいですか?イヤに決まってますよね。ところが現実には、 何度もバグを埋め込んでしまう ロジックを読み解くのに時間がかかる やっとロジック修正しても、全然違う箇所がバグ化してしまう ……ほとんど誰もが体験しているのではないでしょうか。 でも、こうした状況をなんとかしたいと思って
Rust 分かんないッピ ・ε・ Rust の文字列周りのプラクティスを基礎から勉強してみようと思って勉強したのでそのときのメモをまとめます。 Rust は GC を持たない なぜ Rust の文字列周りの型があんなに大変なことになっているかは、Rust のメモリモデルと Copy の仕組みを学ぶことで理解できた気がしたので、メモリの話から始めます。 FYI: https://www.reddit.com/r/rustjerk/comments/ovx0uq/the_two_major_ways_rust_changed_my_life/ GC とは まずは GC からです。 GC とは Wikipedia をそのまま引用すると ガベージコレクション(英: garbage collection; GC)とは、コンピュータプログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に
はじめに タイトルのとおり、RDBのデータモデリング・テーブル設計を行う際に参考にしている考え方と関連資料をまとめました。 P.S. なんと本記事内でいくつか参考として挙げさせてもらっている増田さん・かとじゅんさん・奥野さん・そーだいさんからコメントいただくことができました。 本当にありがとうございます。 前提 RDBを採用するのは事実を無駄なく正しく記録するため 正規化、トランザクション、制約とデータ整合性 基本的には始めに理想として集合論・リレーショナルモデルに基づいて正規化を考え(論理設計)、パフォーマンスなどの現実問題に対して折り合いをつけていく(物理設計) 制約を最大限利用する cf: ↑P91〜 ↑P.29,41 ↑P56〜 ↑5章 ↑P347~ 情報とデータ データ:単なる事実の値→これを永続化して蓄えるものがRDB 情報:データから生み出される意味や目的のあるもの→RDBか
This was originally published on Perf Planet's 2019 Web Performance Calendar. QUIC, the new Internet transport protocol designed to accelerate HTTP traffic, is delivered on top of UDP datagrams, to ease deployment and avoid interference from network appliances that drop packets from unknown protocols. This also allows QUIC implementations to live in user-space, so that, for example, browsers will
ヒープダンプを出力する それでは今からヒープの内容をダンプしてみましょう。何かの内容をディスクに出力することをダンプする、もしくはダンプを取ると言います。よってヒープの内容をディスクに出力したものが「ヒープダンプ」です。 ヒープダンプはツールを使って任意のタイミングでJVMから出力させることもできますし、特定の出来事に対応してJVMに自動的に出力させることもできます。ツールでの出力については本連載の後の回で解説します。ここでは特定の出来事に対応して出力する方法を用います。 OutOfMemoryError発生時にヒープダンプを出力するオプション その特定の出来事について解説します。OutOfMemoryErrorおよびHeapDumpOnOutOfMemoryErrorオプションについてすでにご存じの方はプログラムが出てくるところまで文章を読み飛ばしていただいてかまいません。 ガベージコレ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く