タグ

2019年2月15日のブックマーク (5件)

  • Fundamentals of System Design — Part 0

  • C#のためのC++の配列、構造体、ポインタの変換処理

    C#(.NET Framework)では、構造体(Managed)やメンバに対して属性を指定することにより、C言語やC++(Unmanaged)間でデータの相互交換を行うことができます。 MarshalAs属性を用いた構造体の作成 C#では、Cと違って定義だけでは配列の長さがわかりません。そこで、C#(.NET Framework)では、構造体やメンバに対して属性を指定することにより、ManagedとUnmanagedで相互交換を行わせる事ができるようになっている。 例えば、以下のようなC++の構造体を、C#でアクセスします。 struct Info { int index; char name[128]; int statuses[50]; }; この場合、Managed構造体をメンバ順序もサイズも同じUnmanaged構造体を定義するには、属性を使用して以下のように定義します。 [St

  • 「いつでもやめられる」ことこそ強者の特権 - Chikirinの日記

    最近、強者がもつ最大の特権とは、「いつでもやめられる」ことなんだなと再認識しました。 たとえば仕事。 「この会社をやめたら、今以上の条件で再就職できることはまずない」と思う人は どんなに大変な状況でも どんなにくだらない仕事でも 簡単には辞められません。 セクハラやパワハラを受けていても、「それでもここより条件のいい職場はありえない」と思えば我慢するしかない。 反対に、いくらでも活躍できる場所のある人なら「こんなアホみたいな環境で働くのはまっぴらごめん」とソッコーで言えちゃう。 「何やってもべていける」「今ここを辞めても、あたしの市場価値は下がったりしない」と思えれば、さっさと辞められる。 「いつでも辞められること」こそ、強者の特権であり、(反対にいえば)強者であることの証しなのです。 「別れたいけど、離婚してもべていけないし」と考える人は、自分からは結婚生活を止められないし、 「この

    「いつでもやめられる」ことこそ強者の特権 - Chikirinの日記
  • Building Services at Airbnb, Part 1

  • 役立つコードレビュー 8つのヒント | POSTD

    役立つコードレビュー(CR)のコツは、学校では習いません。アルゴリズム、データ構造、プログラム言語の基礎は習っても、確実に役に立つフィードバックを返す方法をじっくりと教えてくれる人はいないでしょう。 コードレビューは優れたソフトウェアを作り出すには欠かせないプロセスです。レビューを通したコードは、そうでないコードよりも 質が高く、バグが少ない 傾向があります。健全なコードレビュー文化には、副次的な利点もあります。たとえば、 バス因子 を押しとどめる、新メンバーのトレーニングに最適なツールになる、など。また、コードレビューは優れた知識共有の手段でもあります。 前提 まずは、この記事のポイントの前提を提示する必要があるでしょう。それは以下のとおりです。 信頼のおける環境で作業をしている。あるいは、あなたとチームは、あなたの信頼性を高めることを目指して作業している。 コードではないシナリオでフィ

    役立つコードレビュー 8つのヒント | POSTD