Ryo Yoneyama

とある会社でソフトウェアエンジニアをしています。技術的な備忘録を中心にまとめてます。ネタがあれば日記も書きます。

    Linux

    Ubuntu18.04にOpenGrokをインストールしてみた

    私の職場ではソースコードの管理にGitlabを使っているのですが、コードの閲覧や検索の面ではイマイチと感じることが多くあります。そんな中、ソースコードの閲覧・検索ツールとしてOpenGrokというもの ...

    Linux

    仮想マシンを使ってお手軽にテスト環境を管理する

    新しいツールや環境などを試すときに、私が実践している「現状でこれが一番楽でイイかな?」と思う実験環境の管理方法をメモしておきたいと思います。 仮想マシンを有効活用する テスト用の環境として使うだけであ ...

    C# プログラミング

    【C#】共有メモリを使ってプロセス間でデータを共有する方法

    今回はC#を使ってプロセス間でデータを共有する方法を調べてみたので、その覚え書きです。 やりたかったことは、「あるプロセス内で処理した情報を別のプロセスから取得する」ということだったのですが、共有メモ ...

    C言語 自作物 Linux

    C言語のメモリリーク監視ツールを作ってみた

    C言語のメモリリーク監視ツールとしてはmtraceが有名ですが、ソースコード中にmtraceの関数を埋め込んでおく必要があるので、ちょっと面倒です。 そこで、ソースコードの修正なしにメモリリーク監視が ...

    C言語 プログラミング

    バイナリを逆アセンブルして中を覗いてみた

    どんなプログラミング言語でも最終的には機械語に翻訳されて実行されるので、プログラムの真の動きを知るためには翻訳された機械語を見ることが一番です。 とはいえ、機械語そのものはちょっとハードルが高いので、 ...

    プログラミング

    実装の隙を突く「タイミング攻撃」とは?

    最近のソフトウェア業界で話題になったIntel製CPUの脆弱性(SpectreとMeltdown)ですが、あれはCPUが持つ「投機的実行」という機能の隙を突き、そこに「タイミング攻撃」という手法を組み ...

    Windows

    OpenCppCoverageを使ってC++のカバレッジを計測する

    ソフトウェア開発において、品質指標の1つとしてよく用いられるのがカバレッジ(網羅率)です。テストの抜け漏れを見つける上でもカバレッジは大切なのですが、開発言語や環境によってはそもそもカバレッジを取るこ ...

    Windows

    Windows Subsystem for LinuxでUbuntuを動かしてみた

    少し前の話になりますが、Windows10のFall Creators Updateにより、公式にWindows上でLinuxサブシステム(Windows Subsystem for Linux)を動 ...

    読書記録

    「プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則」を読んでみた

    最近は積極的に技術書を読むようにしているのですが、今回は「プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則」という本を読んでみました。購入したのはKindle版 ...

    Windows プログラミング

    【解説編】ウインドウを作らずにOpenGLでレンダリングする方法

    先日、ウインドウの作成なしにOpenGLでレンダリングする方法として、以下の記事にサンプルコードを載せました。 記事の中ではコードの解説は一切していなかったので、あらためて以下に解説をまとめたいと思い ...