出力を入力へ

プログラミングに関する自分が考えた事を中心にまとめます

Ubuntu/KVM上にWindows10をインストールする

Windows10が発売され、Visual Studio 2015や RaspberryPi向けOS(Windows10IoT)の提供など、 最近いろいろと遊べるようになってきたMicrosoft製品群。

Windows7からWindows10への更新も1年間無料で提供されているので、 昔購入してほとんど利用していないWindows7を活かすためにも VM上にWindows10環境を構築してみる。

続きを読む

.emacsにbundleを導入しました

自分の.emacsの管理がひどく、
auto-installやらなんやらで自分でも把握できていなかった。
今後emacsでの開発機会を増やす予定なので
最近流行っているel-getやらcaskやらを導入して
.emacsを整備していきたい。

どういった構成にすべきか検討していたところ
以下の記事を見付けた

d.hatena.ne.jp

Caskがどうも微妙だったので、この記事を参考に環境を構築していく。
本当はそのまま導入したかったけど自分のelisp力では理解できなかったので
なんとか自分の形に合うように導入した。

続きを読む

リングバッファの識別子にビットマスクを用いる

言語によらず、プログラムを書くときの実装技術の1つ。
特にメモリの制約がゆるく、リングサイズに強い制約が無いときは
(リングサイズが特定の値である必要が無く、一定以上であればよいとき)
リングサイズを2のるい乗とし、識別子にはリングサイズ-1とする。

当然知識としては知っているけど、
とっさにリングバッファを実装するときには実践できていなかったのでメモ。

続きを読む

書評:シェルスクリプト高速開発手法入門

シェルスクリプトCMSを構築してしまう、という内容の濃さに惹かれて手に取った。
実際に業務において簡単な検証にはシェルスクリプトを多用するため、
よりシェルスクリプトを使いこなせるようになる上で参考になればと期待した。

実際に大いに参考になりそうで、今後記載された技術を活用していきたいと思いつつも、
あくまで一部を参考にする程度で思っていたほどには満足できなかった。

続きを読む

実行環境に応じてログの動作を切り替える

ローカル環境では標準出力(または標準エラー出力)にデバッグプリント文を出力し、
リモート環境ではなにもして欲しくない。
これをすべて自動で実現させるための方法についてまとめておく。

具体的には、プログラミングコンテストデバッグコードの除去ミスがあったので
同じミスを二度と起こさないようにするための方法。

続きを読む