閑古鳥

オールドプログラマの日記。プログラミングとか病気(透析)の話とか。

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

Google Chrome8でタブの縦置きができるようになってた

ふとChromeのバージョンを確認したら8.0.552.28 betaになっていました。ついこの間まで7だったのに、本当に速いですね。8ではどんな機能が追加されたのかとググってみたところ、タブの縦置きに対応したようなので早速試してみました。 アドレスバーにabout:f…

仕事で使っているBoostライブラリ

C++

前2つのエントリにあるコマンドを組み合わせて、プロジェクト中で使用しているBoostのヘッダファイルを検索してみました(ただの暇つぶしで、意味はありません)。 # こんな感じで抽出 ls -r -include *.cpp,*.hpp,*.h | grep '#include

PowerShellで単語の出現数を数えたい

PowerShellで文字列の配列を走査して、それぞれの文字列(単語)の出現数を数える、というのをやりたかったのですが、やり方が見つからなかったのでスクリプトを書きました。 # count.ps1 $count = @{} foreach($x in $input) { if (!$count.ContainsKey($x)) …

PowerShellでfind/grep

任意のフォルダの以下にあるファイルを再帰的に検索(grep)、というのをPowerShellでやりたくなりました。たとえば、ソースファイルの中からboostのヘッダファイルをインクルードしている行を抽出する、というようなものです。Cygwinでは以下のようにすると実…

ディレクトリ内のファイル一覧を取得する(Boost.Filesystem)

C++

find_file_rangeはWindows限定だし今ならBoost.Filesystemを使った方が良さそう、ということで試してみる。 #include <algorithm> #include <iostream> #define BOOST_FILESYSTEM_VERSION 3 #include <boost/filesystem.hpp> int main() { using namespace boost::filesystem; std::copy(directory_itera</boost/filesystem.hpp></iostream></algorithm>…

ディレクトリ内のファイル一覧を取得する(find_file_range)

C++

Windows限定ですが、find_file_rangeを使うと簡単に特定のディレクトリ下にあるファイルの一覧を取得できます。 #include <cstdio> #include <boost/range/algorithm/for_each.hpp> #include <boost/bind.hpp> #include <windows.h> #include "find_file.hpp" int main() { find_file::find_file_range ffrng("*.*"); boost::for_each</windows.h></boost/bind.hpp></boost/range/algorithm/for_each.hpp></cstdio>…

Scalaでls(ディレクトリ内のファイルを取得する)

Javaを知らないのでもっと良い方法があるのかもしれませんが、File.listFilesメソッドで指定ディレクトリの中にあるファイル、ディレクトリの一覧が取得できるそうです。指定ディレクトリの中身を漁るだけなら一行で書けました。 import java.io._ def ls1(d…

はてなブックマークPlusに、あったらいいなと思っていた機能があった

はてなブックマークPlusがリリースされてから何も考えずに登録したまま特にPlusでしか使えない機能も使わずにいて、ほとんどお布施みたいになっていたのですが、そういえばどんな機能があるのだろうとヘルプを見たら前から欲しいなと思っていた機能があるこ…

0〜1000に含まれる0をカウントする

二年くらい前に流行っていたようです。とりあえず、何も考えずに。 var sum = 0 for { i <- 0 to 1000 } { val s = i.toString sum += s.count(c => c == '0') } println(sum) 全然らしくないので、少し考えながら書いみてた。 (0 to 1000).map(s => s.toStr…

ScalaでFizzBuzz

def fizzbuzz(in: Int): String = in match { case x if x % 15 == 0 => "FizzBuzz" case x if x % 5 == 0 => "Buzz" case x if x % 3 == 0 => "Fizz" case x => x.toString } (1 to 100).map(fizzbuzz).foreach(println) こう書いてから、書き直して以下の…

[Emacs][C++]Windows上のEmacsでc-eldoc.elを使う

EmacsWiki: C Eldoc Mode c-eldoc.el で C 言語プログラミング革命 - mooz deceives you いろいろ便利そうなc-eldoc.elですが、内部でcppに依存していてそのままでは使えなかったので、Windows環境でも使えるようにした時のメモを置いておきます。 インスト…

anything-projectでVisual Studioで書いたソースファイルをanythingする

Visual Studioで書いたコードをEmacsで読みたい、またそのときにanything-project.elを使いたい、と思いました。しかし、デフォルトの設定だとプロジェクトを認識してくれないので、以下のように設定してみました。 (require 'anything-project) (global-set…

カメラを買って、散歩した

週末なんとなく駅前のビックカメラに寄り、なんとなくカメラを買いました。iPadも出ないし代わりに散々しようかな的な感じで……。ソニー デジタル一眼レフカメラ α330 ズームレンズキット ブラック DSLRA330L/B出版社/メーカー: ソニー発売日: 2009/06/25メデ…

boost::shared_ptrでHMODULEなどを管理する

C++

追記: これが動くのは、そもそも、HMODULEが、ポインター型であることを前提としている。HMODULEがポインターであることを隠すために、わざわざHMODULEという名前を使っているというのに。このコードは、ポータビリティに問題があると言える。 http://cpplov…

Cppcheck(C++ソースの静的解析ツール)

C++

SourceForge.net: cppcheckHudsonのプラグインを漁っているときに見つけた、C++のソースコードを静的に解析してくれるオープンソースのツール。面白そうなので試してみました。 インストール githubにソースが公開されているので、git cloneなりgithub上のア…