プログラミング

explicitで暗黙の型変換を防止する

先日書いた日記の補足。 以下のようなコードを書いてみると分かりますが、、、 #include <iostream> #include <cassert> using namespace std; class M { public: M(int i_):i(i_) { cout << "引数1個のコンストラクタだよ" << endl; } ; M(const M& m_):i(m_.i) { cout << "コ</cassert></iostream>…

Cクイズ こっちわからん><

/* MyTypeの定義 */void set(MyType m, int val); void inc(MyType m); void print(MyType m);int main(void) { MyType m; set(m, 0); /* mを0にセット */ inc(m); /* mをインクリメント */ print(m); /* 1と表示される */ return 0; }/* 各関数の実装 */こ…

C++クイズ explicitコンストラクタ編

先輩から以下のような問題を出された。 【問題】 class MyClass { public: MyClass(int m_):m(m_) {} ; private: int m; }; のようなクラスがある場合、MyClass m1(0); // A MyClass m2 = 0; // B どっちの初期化もできちゃうよ。 この2つの違いはなーに? …

JavaとErlangを統合する

Erlang is an agitator to traditional enterprise development because it excels so well at concurrency, uptimes of five nines or more, and "hot deployment" of code. But there are valid reasons for why someone may not want to dive in head fir…

マシン語を知らない子供達ですが何か?

あまりも当たり前過ぎて21世紀に入ってから言葉にだしたことはあまりないのですが、当然のことながら、プログラムというのは、マシン語を理解して初めて「書ける」と言うのです。 の記事が公開されて以来、ブログ界隈で、全てのプログラマがマシン語をちゃん…

 leJOS NXJ の新バージョンがリリース

September 3, 2007 3:46 PM New versions of leJOS NXJ and iCommand are now available for download! The new beta version of leJOS NXJ 0.4 features NXT to NXT Bluetooth comms, a comms proxy to talk via sockets to the outside world, greatly imp…

西暦を和暦に変換する方法

西暦を平成○年に変換したい場合、2000年以降は下2ケタに12を足せばよい。今回は、これをさらに直感的に計算する方法を紹介しよう。 西暦が平成何年になるか?という計算を直観的にやろうという記事です。 西暦○○年は昭和何年か? まず昭和の求め方ですが、こ…

コンピュータサイエンスを学ぶ学生へのアドバイス

Blog Archive > Good Advice For Computer Science Students">So there you have it. Some great advice for CS students looking to get into the field. To be honest, I wish I would've known some of these tips when I was attending school. In fact,…

集合知をプログラミングする

Programming Collective Intelligence takes you into the world of machine learning and statistics, and explains how to draw conclusions about user experience, marketing, personal tastes, and human behavior in general -- all from information …

ナンプレ(数独)の良問を自動・大量生成する新システム

「ナンプレ」パズルの良問を自動・大量生成する新システム 人気パズル「ナンプレ」の良問を自動的に大量生成できるシステムをタイムインターメディアが開発した。粗製濫造プログラムがはき出す悪問のはんらんに業を煮やしたパズル愛好家のプログラマーが「で…

生年月日から年齢を計算する簡単な計算式

最近知ったんですが、生年月日から年齢を計算する簡単な計算式というのがあるそうです。 (今日の日付-誕生日)/10000の小数点以下切捨て。 たしかに当たり前といえば当たり前な感じ。 例えば、僕は1982年11月26日生まれで、今日の日付は2007年8月23日だから、…

ダ・ヴィンチ・コードの発明をLEGO Mindstorms NXTで作ろう

Advanced NXT: The Da Vinci Inventions Book (Technology in Action)作者: Matthias Paul Scholz出版社/メーカー: Apress発売日: 2007/06/27メディア: ペーパーバック クリック: 8回この商品を含むブログ (2件) を見るThe NXT STEPによると、同ブログの著者…

 leJOS NXJのサイトがリニューアル

leJOS NXJのサイトがリニューアルされてます。左側のメニューが整理されていて、RCX用、NXT用のAPIのページへ移りやすくなってます。あとは、掲示板ができてたり、Javadocのコメントが増えてたりしてますね。ようやく本格始動という感じでしょうか^^残念なが…

leJOS NXJ の解説本(洋書)が発売延期

Maximum Lego Nxt作者: Brian Bagnall出版社/メーカー: Variant Pr発売日: 2007/04/30メディア: ペーパーバック クリック: 26回この商品を含むブログ (9件) を見るleJOS NXJ*1の解説本「Maximum Lego Nxt」ですが、予約されてる方はご存知だと思いますが、発…

NXC (NQCのNXT対応版) のチュートリアルがアップされてる

NXC *1 のドキュメントのページに、チュートリアルがアップされています。ダウンロード先はこちら NXCのチュートリアル "Programming Lego Robots using NXC" サンプルコード Danny Benedettelliという方が書かれたそうです。"Lego Mindstorms - based mobil…

LEGO Mindstorms NXT対応プログラミング環境の比較表

またまた、The NXT STEPによると、Steve Hassenplugさんという方が、LEGO Mindstorms NXT対応のプログラミング環境の比較表を公開しているそうです。扱っているのは、 プログラムをマイコンにロードできるもの: NXT-G Retail、NXT-G Educational、RoboLab 2…

ちと笑ってしまったけど、アジャイルのエッセンスが学べる?

id:Fujiwoさんが@ITに書かれた「開発をもっと楽にするNAgileの基本思想」シリーズの第4弾「プチ・パラダイムシフトせよ!」という記事がおもしろいです^^;物語形式で、アジャイル開発を紹介したものですけど、 “I'm trying to tell you that when you're rea…

「Java言語で学ぶリファクタリング入門」無料プレゼント

結城浩さんが、恒例の書籍プレゼント企画をやってます。 さて、2007年1月下旬に、結城浩の最新刊『Java言語で学ぶリファクタリング入門』が刊行されます。 恒例(?)になりましたが、結城の活動を日ごろから応援してくださっているみなさんへの感謝を込めて、…

leJOS NXJのクラス一覧

さっそくleJOS NXJをダウンロードして、アーカイブを解凍して、javadocでパッケージ、クラス、インタフェースを確認してみました。以前のleJOSとは、そこまで大きく変わるものではないようですね。これで、bluetoothが利用できるようになったら、lejos.comm…

LEGO Mindstorms NXT 用の Java 環境 leJOS NXJ リリース!!!

leJOSのWebサイトによると、LEGO Mindstorms NXT向けのJava環境 leJOS NXJ がリリースされたようです。 leJOS NXJ is ready for download. leJOS NXJ is a full firmware replacement and works for Windows and Linux. This is a technology preview of thi…

iCommand APIの重要なクラス 無線通信編

12月19日の日記から1ヶ月たってしまいましたが、iCommand APIの重要なクラスの概説です。今回は、Bluetoothでの通信に関係する、icommand.nxtcommパッケージのクラスをまとめます。いろいろクラスはあるけど、重要そうなのを2つほど。 NXTComm NXTComm is th…

The Java Virtual Machine for the NXT 『leJOS NeXT』 登場!?

「1月に出版されるNXTのJava環境の洋書が、どうやら[leJOSのLEGO Mindstorms NXT対応版の解説本らしい」というタレコミがありました。噂の洋書は、以下のものです。Maximum Lego Nxt作者: Brian Bagnall出版社/メーカー: Variant Pr発売日: 2007/04/30メディ…

iCommand APIの主要なクラス

今日は、Javaプログラムから、Bluetooth経由で、LEGO Mindstorms NXTを遠隔操作できるiCommand API*1の主要なクラス群についてまとめようと思います。以前にも書いていますが、iCommand APIは、Bluetooth経由で、PCから「コマンド」と呼ばれるものを送信する…

.NETでLEGO Mindstorms NXTを制御!

MindSquallsという.NET用ライブラリが公開されているようです。こちらも、Bluetooth経由でLEGO Mindstorms NXTを遠隔操作できるというもの。ダウンロードは以下のURLから。MindSqualls.net http://www.mindsqualls.net/Default.aspx MindSqualls is a .Net l…

Java SE 6 リリース

SunよりJava SE 6がリリースされました。1.4から5.0のような大きな機能変化はないようです。ダウンロードは、Sunのダウンロードページより。Java SE Downloads http://java.sun.com/javase/ja/6/download.html スクリプト言語連携機能が追加された まだ、ど…

NQCの後継版? NXC (Not eXactly C) リリース

LEGO Mindstorms NXT関係の情報を扱っているブログ nxtasy.orgの「Not eXactly C」(12月13日)というエントリによると、NQC (RCXに対応したC言語風のプログラミング言語) の後継と見られるNXCという言語がリリースされたようです。 Announcing Not eXactly C …

Mac OS XにiCommandをインストールする

先週末は、出張で北京へ行ってたので、時間が取れてません。早くiCommand *1 を調べないといけないのに^^;とりあえずSturzflugWikiというサイトで、「HowTo Install on OsX」という記事を見つけたので、これでお茶を濁しておきます。Macで思い出したんですけ…

Linuxを使ってLEGO Mindstorms NXTを動かす

LEGO Mindstorms NXTの情報を扱っているブログの The NXT STEPで、Linux向けのNXTプログラミング環境に関するエントリがありますね。Linuxでプログラムを書くことはないけど、まーまとめておきます。The NXT STEP - NXT and Linux http://thenxtstep.blogspo…

『Java並行処理プログラミング』無料プレゼントに応募した

Java並行処理プログラミング ―その「基盤」と「最新API」を究める―作者: Brian Goetz,Joshua Bloch,Doug Lea出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/11/22メディア: 単行本購入: 30人 クリック: 442回この商品を含むブログ (174件) を見る…

iCommand APIをインストールした

今日は、LEGO Mindstorms NXTを制御するためのJava APIであるiCommand APIをインストールしました。iCommand APIは、LEGO Mindstorms NXTのマイコンにプログラムを置いて動かす感じではなく、Bluetoothを利用して、PCから遠隔操作する感じだと思われます。ま…