MaybeUninitのassume_initメソッドについて調べたのでまとめた (Rust)

前に書いたMaybeUninitで初期化していない参照を扱う (Rust)で気になっていたassume_init()を調べたメモです。 気になっていた部分は下記です。 pub unsafe fn assume_init(self) -> T { intrinsics::panic_if_uninhabited::<T>(); ManuallyDrop::into_inner(se</t>…

「State of DevOps Report」の歴史

はじめに 2019年「State of DevOps Report」というDevOpsに関する調査研究のレポートがDORA社とPuppet Labs社で別々に発表されております。前は一緒にレポートを発表していたのですがいつからかそれぞれ独自に調査研究するようになったようです。 そこで(歴…

「LeanとDevOpsの科学」 ソフトウェアデリバリのパフォーマンスと業績

はじめに 前回の「LeanとDevOpsの科学」を読む前に整理したいことに引き続き同じ書籍ついて書きます。書籍の補助的な文献となることを目指します。 LeanとDevOpsの科学[Accelerate] テクノロジーの戦略的活用が組織変革を加速する impress top gearシリー…

「LeanとDevOpsの科学」を読む前に整理したいこと

はじめに 「LeanとDevOpsの科学(原書タイトル: Accelerate)」 という書籍があります。本にはソフトウェアデリバリのパフォーマンスと組織の業績の関連について書かれてあります。簡単に言うとソフトウェアデリバリにおいてハイパフォーマンスな企業は高業績…

MaybeUninitで初期化していない参照を扱う (Rust)

はじめに あるコードを見ていた時にstd::mem::uninitializedを見つけました。これはrustの1.39.0からDeprecatedとなっており、MaybeUninitに変わっていました。どうやって使うのかを調べたメモです。 内容はドキュメントに書いてあるものを少し噛み砕いてい…

Unsafeがよくわからなかったので整理した (Rust)

はじめに RustのThe Bookを読んでも、Unsafeについて何となくもやっとしていたので書いて整理しました。整理したというのは私が何をわかっていて何をわかっていないかを何となくですが把握したということです。 例えば、The Bookには以下のようなことが書い…

mkfifoでプロセス間通信を試す (Rust)

はじめに mkfifoという名前付きパイプを作成するシステムコール(を実行する関数)を試しました。名前付きパイプはプロセス間通信の手段の1つです。 例えばcat file | grep hogeで使うのは名前無しパイプの方です。名前付きパイプではファイルを作成してそれ…

マクロに入門したので概要を書く (Rust)

はじめに Rustのマクロは難しそうなので、必要な時に理解すればいいやと後回しにしていました。結局理解できていませんが徐々に攻めていこうと思います。 マクロの文法の説明はしません。また、マクロの展開に関わる抽象構文木の話は別の記事で書きます。 マ…

chroot ~Alpine LinuxのDockerイメージでglibcで動くプログラム(bash)を動かしてみる~

はじめに 小ネタです。chrootの動作を見るのに手を動かしてみた内容を書いたのが今回の記事です。 chrootはプロセスのルートディレクトリを変更するコマンド、関数、システムコールです。動かしてみてchrootの雰囲気がわかることが目標です。 Alpine Linuxの…

OCI Runtime Specificationを読んだので概要を書く

はじめに OCI Runtime Specificationを読んだので概要を書きました。読んだのは仕様を理解して、簡単なところだけ実装しようと思ったからです。 Dockerとの関連を簡単に説明します*1。Docker Clientはdockerコマンドを提供するCLIです。Docker ClientはDocke…

HTTP/Tokyo #1 参加レポート

http-tokyo.connpass.com HTTP/Tokyoに参加しました。この記事では発表された内容を説明するのではなく、どのような勉強会だったのかということを書きます。 会場提供は株式会社トレタさんでした。レストラン・飲食店向け予約管理システムを作っていて、その…

nixでプロセスをforkしてみる (Rust)

はじめに Rustでシステムプログラミングに入門中です。 プロセスのforkには、Rustからlibcを呼べるlibcというunsafeなライブラリと、それsafeにしたnixというものが使えるようです。unsafeは扱いにくいのでnixを使いました。 Cargo.toml [dependencies] nix …

jsonをファイルから読み込みたい (Rust)

はじめに 小小ネタです。 Rustを学びつつ次の技術書典のネタを作るためにjsonの読み込みが必要でした。 なのでRustでjsonの読み込み方法を調べました。 RustのGetting Startedをやったくらいの初学者向けを想定して書きます。 serde jsonの読み込みにはserde…

あるエンドポイントへのリクエストはプロキシーさせたい (Golang)

小ネタです。 net/http を使っているならば基本的には以下の環境変数を使えばソースコードをいじらずともプロキシーされるようになっています*1。今回はあるエンドポイントの時のみプロキシーさせたいので、NO_PROXYでプロキシさせたくないものを全てリスト…

Consulに入門したのでGetting Startedの概観を記す

はじめに @kakakakakkuさんから、ブログ継続のコツを聞きました。「ボリュームが小さい記事」を書くことだそうです。 読む側にも良さそうだし、時間がある時にやれば2,3個記事を書いてストックすることもできます。業務が忙しかったり風邪を引いたりしても毎…

gRPC over HTTP2

gRPCはRPCのフレームワークです。プロトコルはHTTP/2上に定義されています。普段gRPCを使っているもののプロトコルの仕様を見たことがなかったので見てみました。 動かしたサンプルはHello Worldです。 このサンプルでgRPCサーバは"Greeting: Hello <クライ…

HTTP Cookie

Web

developers-jp.googleblog.com Cookieについてあまり考えたことがなかったのですが、2020年2月のChrome 80から段階的に改善をする変更が入るということで整理しました。 2019年12月6日現在の仕様はRFC 6265 - HTTP State Management Mechanismです。上記の変…

OpenCensus/OpenTelemetry meetup vol.2 参加レポート

OpenCensus/OpenTelemetry meetup vol.2 OpenCensusやOpenTracingそしてOpenTelemetryについてまるっと知れたのでとても有意義な時間でした。 開催いただきありがとうございます。会場提供はヤプリさんでした。 オープニング オープニングは主催の@ymotongpo…

5Gが普及して成功する企業はどこだろう

数年前、シリコンバレーに行った時に大学のOBに出会い話したことがある。その先輩が大学時代、就活せずに研究室で過ごしていたところ、モトローラに入社した先輩が研究室へやってきて「仕事辞めるんだけど、入らない?」と言われてモトローラに就職したと言…

株式会社サイバーエージェントに入社しました

※まだ1日目なので浅い内容です。また期間を置いたら記事を書きます。 転職しました これから SaaS作ります ここです。 speakerdeck.com OpenSaaSという概念は初めて知りました。 これから自分の中で理解を深める段階です。 簡単に言うと社内向けの基盤システ…

わかってる、俺たちは雰囲気でSREをやっている。

SRE

タイムライン なぜ雰囲気でやることになったか 本当はどうしたいのか どうすればできるのか いや、何かそういうとこじゃないんです。 組織について まとめ 前提 SRE Advent Calendar 2018 - Qiitaの20日目の記事です。 先日はもりはやさんのSRE本の素晴らし…