マガジンのカバー画像

長めの文章

30
運営しているクリエイター

記事一覧

大学を卒業した・他

4年間、あっという間だった。
もうちょっと時間があると思っていたが、全然なかった。あまりバイトとかをしていたというわけでもないのだが。
終わってよかったと思う反面、こんなんで卒業して良いのか…とも思う。
やり残したことはけっこう思い浮かぶ。ほんと、時間って大切だなあと。

電気電子だったが、卒論はJavaで渋滞工学をやった。ひたすらJavaでオブジェクト指向をいじっていたので多少好きになったが、構

もっとみる

【地図ウォッチ】 全国のバス情報、どうやってIT化を? 「交通ジオメディアサミット」初開催 - INTERNET Watch

【地図ウォッチ】 全国のバス情報、どうやってIT化を? 「交通ジオメディアサミット」初開催 - INTERNET Watch http://internet.watch.impress.co.jp/docs/column/chizu/20160218_744076.html @internet_watchさんから

これと似たようなシンポジウムが去年の12月にうちの大学の近くで開催されて、我が研究

もっとみる

2015年を振り返る

今年も色々なことがありました。公的・私的なことも含め、ざっとこの一年を振り返ります。

総評
今年は、まあ悪くはない一年だったと思います。少なくとも、2014年に比べれば遥かに穏やかに過ごすことができました。というか2014年が色々とひどかったというか。個人的には、平穏が一番の平和だと思っております。

研究室
今年度は無事に進級できたので、卒業研究を行なうために研究室に配属されました。どこの研究

もっとみる

C++のクラス

C++のクラス記法があまり好きではない。

たとえばFooというクラスがあるとして、それをインスタンス化するには
  Foo f;
と書く。この書き方は変数の宣言をしているだけのように見えるが、実はクラスのインスタンス化なのでコンストラクタが呼ばれる。コンストラクタに副作用がある場合は実行される。それが直感的ではないので、好きではない。
なお、コンストラクタに引数がある場合は
  Foo f(10

もっとみる

私にとってのOneNote

いまOneNoteについて思っていることをメモしてみる。

OneNoteは、Microsoftが提供しているクロスプラットフォームのデジタルノートアプリケーションだ。Microsoft Officeを買うとついてくる。また、OneNote単体で買うこともできる。最近では、Windows 10をインストールすると、UWP版ではあるが、無料で使えるようになる。

私がOneNoteを使い始めたのは今

もっとみる

Mathematicaで関数をカリー化

Mathematicaで関数をカリー化してみます。

まず、2つの引数を足し合わせるadd1関数を、普通に定義してみます。Mathematicaで一般的に関数を定義するには、このような形式で書くことが多いと思います。

In[1]:= add1[x_, y_] := x + y

この関数を呼んでみましょう。

In[2]:= add1[3, 4]
Out[2]= 7

問題ありませんね。
次に、

もっとみる

[Mathematica] 順列(nPr)と組み合わせ(nCr)

まずは5要素のリストを定義する。
In[1]:= list = {a, b, c, d, e};

5個から3個取って順番に並べる順列を列挙する。
In[2]:= Permutations[list, {3}]

Out[2]= {{a, b, c}, {a, b, d}, {a, b, e}, {a, c, b}, {a, c, d}, {a, c,
e}, {a, d, b}, {a,

もっとみる

Javaのintとbooleanのボックス化

Javaにおけるプリミティブ型のintとbooleanのボックス化メソッドについて少し調べてみた。

intのボックス化クラスとしてはInteger, booleanにはBooleanがjava.lang内に定義されている。

いずれにしても、明示的なボックス化の方法にはそれぞれのクラスのコンストラクタを呼ぶか、スタティックメソッドのvalueOfを呼ぶかの2つがある。Javaのドキュメンテーショ

もっとみる

boolean問題

いくつかの言語でプログラムを書いていると、注意しなければならないことがある。そのうちの1つがboolean問題だろう。

boolean問題というのは、データ型の値のうち何が真で何が偽かが言語によって異なるという問題である。

具体的に言えば、整数型の0、文字列型の空文字列""、ヌル(null, nil)が真であるか偽であるかが言語によって異なるということである。また、データ型としてのboolea

もっとみる

文字コード問題

文字列とかテキストファイル関連ライブラリを特定の文字コードを仮定して実装すると、意図しない文字コードの入力があったときに困るかもしれない。例えばUnicodeのテキストファイルを読み込むつもりでいたのにEUCのファイルを食わせるとバグの原因になりうる。

あるいは、言語側にとっては特定の文字コードでデータが入っているメモリ領域は文字列に見えるが、そうでなければただのメモリマップにしか見えない。

もっとみる

関数を繰り返し適用した式を返す (Haskell)

これもまた Haskell ネタであるが、

Mathematica には、式 x に関数 f を n 回適用した結果を返す Nest[f, x, n] という関数が定義されている。これと同様なものが Haskell には無いのかなと思っていて、見当たらないので再帰で自作していた。
ところが最近 iterate という関数を見つけた。これを利用すれば nest が簡単に定義できる。
まず、iter

もっとみる

HaskellとMathematicaの畳み込み関数

Haskellには、左結合の畳み込み関数 foldl, foldl1 と右結合の畳み込み関数 foldr, foldr1 が定義されている。

foldl は引数に2変数関数、初期値、リストを順に取り、リストを頭から順に続けて演算した最終的な結果を返す。たとえば、この場合
 foldl (+) 0 [1,2,3,4,5]  -- = 15
は、(((((0+1)+2)+3)+4)+5) を計算する

もっとみる

クロスバイクを

買ったのが今から3年2ヶ月ほど前。
尤も、クロスバイクと呼んでいいかも分からない、見た目だけクロスっぽい安物の普通自転車である。

4年持てばいいだろう。4年は持つだろう。そう思って、ロクにメンテナンス、保守もせずにテキトーに乗り回してきた。4年経ったら、乗り捨てる気でいた。結構負担が掛る、荒っぽい乗り方だったと思う。

買って数ヶ月後、不注意な原付きババアとほぼ正面衝突するという事故が起こり、こ

もっとみる

惰性で使っているテキストエディタ

UnEditor というテキストエディタがある。

結構多機能であり、メモ帳(notepad.exe)の上位互換として割と長く使っているのだが、最近は惰性でインストールするようになっている。
定期的にPCを初期化して、常にクリーンな状態で使うことを心がけているのだが、OSのインストール後すぐに入れるソフトウェア群(これらを準オペレーティング・システム、あるいはインフラと思っているのだが)にこのエデ

もっとみる