2015-01-01から1年間の記事一覧

Rustインストール後にlibrustc_driverが無いといわれる現象について

LinuxにRustをインストールした後、rustc(1)を実行しようとして、次のようなエラーメッセージが表示されることがある。 $ rustc rustc: error while loading shared libraries: librustc_driver-4e7c5e5c.so: cannot open shared object file: No such file …

パスワードは定期的に変更すべき

利用する機器/サービスごとに異なるアカウント・パスワードを使用することや、十分な長さと複雑さを持ったパスワードを採用することは当然であるのだが、しかし、ここまで頑張っても、最終的にはパスワードを定期的に変更せざるをえない。問題は「『定期的…

シェルスクリプトにGo言語を埋め込む

Go言語のコードをスクリプトとして即時実行する方法は、 go run するなり、もう少し工夫して shebang もどきを使って単体のコマンドっぽく実行するなり、いずれも簡単で情報もそれなりに見つかる。一方で、例えば perl(1) や ruby(1) でオプション -e を使う…

不死身のqDebug

Qtに用意されているデバッグ表示用のマクロ qDebug。こいつはデフォルトではリリースビルドでもデバッグ表示の処理を行う。無効化したいなら、別途 QT_NO_DEBUG_OUTPUT を定義する必要がある。ここまでは、まあ、よくある話だろう。今回つまづいたのは: qDe…

ごく普通なGNU Make活用例

2012年半ばぐらいから拡張機能ありでGNU Makeを使用するようになったが、makeの基本的なところを通り越したあたりの話題――実践の場にて各機能をどんな風に使用するかについての情報がなかなか見つからない。特に拡張機能の話題が少ない。仕方なくNetBSD Make…

ソースコードから標準Cライブラリに含まれてそうな識別子を検索する

組み込み関連でクロスプラットホームなライブラリを開発する時、私の周囲十数メートルの範囲では、使用している標準Cライブラリの機能をドキュメントに明記することがある。というのも、そのライブラリがフリースタンディング環境で使用される可能性があるか…

業務システムをハックする従業員たち

業務システムは大抵従業員にハックされる。ここでの「ハック」は、いわゆる「ライフハック」的な意味でのハックだ。SIなどで業務システムを設計・開発している人や、情報システム部などで自社の業務システムに携わっている人からすれば、ごくごく当たり前の…

100から1まで表示するコードすら書けないプログラマ:約14%

愚痴(泣き言)とコーディング能力の相関関係を調べたデータがあるのだが、それによれば、愚痴の時間が長かった人ほど、ごく簡単な問題を解くのにかかった時間が長かったそうだ。「簡単な問題」の内容は「100から1まで表示する」という、FizzBuzzよりも遥か…

次世代型staticおじさん(仮)

最近気づいたのだが、自分はある意味において、軽度のstaticおじさんのようだ。 クラスを書く。インスタンス変数やインスタンスメソッドを書く。 privateなメソッドとして独立させたい処理が出てきたが、特にインスタンス変数を参照する必要がないので、クラ…

エイプリルフールとは何か?

今日の日付は? ――4月1日である。4月1日とは何か? ――エイプリルフールである。エイプリルフールとは何か? ――嘘をつかねばならない日である。エイプリルフールは、我々に嘘をつかせることによって、自分が聖人君子の器ではなく野蛮で狡猾なケダモノであるこ…

ECL (Embeddable Common-Lisp) 15.2.21をVisual Studio 2013でビルドした記録

ECLをLinux上でビルドするのは簡単だったが、Windowsではダメダメですな。同根のINSTALLファイルによれば、Visual Studio 2008のコマンドプロンプトを使用して、 pushd <path\to\ecl-15.2.21>\msvc nmake nmake install これで、最終的には\msvc\packageにビルド済みバイナリ一式</path\to\ecl-15.2.21>…

最近の(Linux等が載る)小型ボードや、小型PCの一覧

2年前のIntel NUC辺りから小型PC(ベアボーン含む)が増えてきた上に*1、ここ最近はLinux等が載るスペックの小型ボードも色々と出ている。今現在、国内で比較的簡単に手に入りそうなものは、どのような具合だろうか? ちょっと気になったので調べてみた。 小…

Gotoサンの話。結局のところ「goto禁止」はどういう話だったのか?

C言語で書かれた大量のソースファイルをサンプルとして、現実でのgoto文の利用方法について調査した研究の結果が発表されたようだ。 C言語の開発者によるgoto文の使い方を対象とした実証研究の結果、「goto文は無害だと考えられる」 | スラド Empirical Stud…

C言語のバグ回避をするための習慣:私の場合

こんな記事がアップされていた。 C言語のバグ回避をするための習慣 - Qiita 「へぇ」「ふーん」という感じに眺めていた訳だが。自称職業Cプログラマ*1の自分の場合はどうだろうか? 実は、保守的ながらも意外とツールに頼っている。機械に任せられるところは…

低水準なアルゴリズムはプログラミング言語と不可分、高水準なアルゴリズムはコードへの具体化が必要

1年8ヶ月前の記事だが……。ゼロからプログラミングを学ぶ上で言語選択より大切なこと:It’s Party Time!:エンジニアライフ上記記事にて、筆者の経験より、 つまり今回、何が言いたいのかといいますと、プログラミングをゼロから勉強するのであれば、「どの言…

書籍購入:『Python言語によるプログラミングイントロダクション』

買った。まだ最初のほうを眺めているところ。Python言語によるプログラミングイントロダクション: 世界標準MIT教科書作者: ジョン・V.グッターグ,John V. Guttag,久保幹雄出版社/メーカー: 近代科学社発売日: 2014/12/29メディア: 単行本この商品を含むブロ…

プログラマが守るべきたった一つの原則

原則:理解できないコードを書いてはならない。 この原則から導き出される、レベル別アドバイス 超初級 コードを書くとき、自分が何を書いているか理解しているか? 曖昧な理解のまま「とりあえず、それっぽく動いたからOK」と完結していないか? 自分が書い…