post mbed ARMマイコンで手軽にフィジカルコンピューティングと言った場合、まず真っ先に挙るのがmbedだ。 mbedはブラウザ上でソフトウェアの開発が出来るためローカルに一切環境構築が必要なく、公式サイトには膨大なライブラリが揃っていて大抵のことは既存のライブラリの組み合わせで出来るまさに最高のゆとりマイコンである。 ただ残念ながらmbedはCortex-M3版とCortex-M0版しかない。 現在マイクロコントローラ向けのARMはCortex-M0 M1 M3 M4の4種類が存在する。 概要命令セット性能効率浮動小数演算器 Cortex-M0削れるもん全部削った超省電力ARMマイコンThumb/Thumb2(一部)0.9DMIPS/MHz無 Cortex-M1FPGAに実装するためのARMマイコンThumb/Thumb20.8DMIPS/MHz無 Cortex-M3標準的
プログラマというのは、道具に慣れることが、実力があがることにならないのですよね。だから、勉強せず業務経験だけだとレベルが低いままということになってしまう。 Javaを10年さわり続けて、Strutsを5年さわり続けても、それだけでは、与えられた画面を手際よく作成できるようになるだけで、たとえばStrutsすらよりよく使えるようになるわけではなかったりする。 Javaにしても、「volatileってなんですか?」という問いに、まあ知らないのはしかたないとしても、解説を見ながらですら答えられない可能性がある。 プログラムの反復生産は、プログラミング能力の向上にあまりつながらない。設定や記述に慣れるだけだ。そして、この「慣れ」というのには「難しいからそもそも実装を回避する」というようなものも含まれる。実力の向上は、作業ができるレベルで止まってしまう。 プログラマとしての実力をあげるための勉強が自
Dev版の頃はXInput対応なゲームパッドしか対応してませんでしたが正式版ではそれ以外のゲームパッドにも対応しているみたいです。 Chromeでゲームパッド対応を有効化 なお、デフォルトでは使えないみたいです。以下の手順が必要です。 まずはアドレスバーに chrome://flags/ と入力し、表示される画面の中から「ゲームパッドを有効にする」という項目の「有効にする」のリンクをクリックします。 すると再起動する様にとのメッセージが出るのでChromeを再起動します。これでゲームパッドの情報を取得出来るようになります。 こんな感じのプログラムでゲームパッドの情報を取得出来ます。 <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <script> window.addEv
前回は、F#の概要や、関数型プログラミングの基礎、F#でよく使われるデータ構造のリストとタプルを説明した。今回後編では、F#でプログラムを書くに当たって必要最低限の文法を紹介していく。 ■主要な文法 ●if式 F#で条件による分岐を行うためには、if式を使用する。
業務でgoogle play(旧アンドロイドマーケット)にデベロッパー登録しなくてはならなかったので、備忘録を残しておきます。 デベロッパーとして利用するGoogleアカウントを既に持っている方はstep.2から参照してください。 Step.1 Googleアカウントの登録 Android Marketのデベロッパー登録を行う前に、Googleアカウントを開設しておかなければなりません。 https://accounts.google.com/NewAccountにアクセスしてください。 下記ページが表示されたら必要事項を入力し、利用規約、プライバシーポリシーを読み、「同意して、アカウントを作成します」をクリックします。 下記ページが表示されたらgoogleアカウントの作成が完了です。 step.2 Android Market デベロッパー決済 googleアカウントの登録ができたらgo
Boost.Heapの優先順位付きキューの特徴として、「イテレータを持っている」というのがあります。 さらに、iteratorに加えてordered_iteratorというを持っている優先順位付きキューのバリエーションがあります。 これらの違いを確認しようと思います。 まず、イテレータを使わない場合の操作。pushしてpopしていきます。 この操作では、優先順に処理されます。 #include <iostream> #include <boost/heap/fibonacci_heap.hpp> int main () { boost::heap::fibonacci_heap<int> que; que.push(3); que.push(1); que.push(4); while (!que.empty()) { std::cout << que.top() << std::endl
boost::spirit は、構文解析を行うためのテンプレート・プログラミングです。一見、難しそうに見えますが、ドキュメントの歩き方を知っていれば、そんなに難しくありません。 boost 1_49_0 時点では、ドキュメントは、以下になります。 http://www.boost.org/doc/libs/1_49_0/libs/spirit/doc/html/ Quick Reference - Qi Parsers まずは、Quick Reference の Qi Parsers を見ましょう。 http://www.boost.org/doc/libs/1_49_0/libs/spirit/doc/html/spirit/qi/quick_reference/qi_parsers.html Character Parsers http://www.boost.org/doc/libs
枝向けのパラメータ Distribution 項目 説明 Group Seed 乱数の種 Frequency 枝の数 Distribution 枝の分布ルール Twirl 枝が伸びる根本の位置を回転 Growth Scale 親ノードに対するスケールを指定 Growth Angle 親ノードに対する成長の初期角度を指定 Distributionで選択出来る項目 項目 説明 Random ランダム Alternate 正面から見た時に右向き、左向きと交互に枝が伸びる分布 Opposite 幹の同じ位置から左右に2本伸びる分布 Whorled 幹の円周方向に分布 【参考ページ】 こちらのページの図が分かり易いです。 Is Your Tree an Alternate or an Opposite? http://forestry.about.com/b/2011/09/09/is-your-t
■F#とは F#は、マイクロソフト社製のプログラミング言語で、Visual Studio 2010から標準搭載されている。まずは、F#がどのような言語なのかを見てみよう。 ●マルチパラダイム言語「F#」 F#は複数のパラダイムをサポートするマルチパラダイム言語だ。F#がサポートするパラダイムには、 手続き型 関数型 オブジェクト指向プログラミング などがある。 マルチパラダイム言語であるため、C#やVB(Visual Basic)といった従来の.NET言語を置き換える形でF#を使うこともできる。しかし、本記事ではF#のメインとなるパラダイムである「関数型」にフォーカスを当てて紹介していく。 ●関数型言語「F#」 F#は、静的型付けの関数型言語である「OCaml」に強い影響を受けている。そのため、F#の主となるパラダイムは関数型プログラミングになる。 さて、関数型言語とは何だろうか? この問
1. Boost.Contextで継続 高橋 晶(Akira Takahashi) id:faith_and_brave/@cpp_akira 2012/04/08(土) Boost.Contextオンリーイベント 2. Boost.Context • Oliver Kowalkeが作ったBoost.Fiberというライブラリの、コンテ キストスイッチ部分を切り出したライブラリ • Boost 1.49.0時点でtrunkに入ってる • 継続(continuation)、ファイバー(fiber)、コルーチン(coroutine)、 マイクロスレッド(microthread)などなど、いろんな呼び名のあ る技術を実現することができる。 3. 資料などのあるところ • Boost.Context について調べた – melpon日記 http://d.hatena.ne.jp/melpon/2
ちょっとコマンドラインでぽちぽちやる必要がでてきて、解析するのがめんどくさいので Boost.ProgramOptions でも使おうと思います。 このライブラリはビルドしないと使えない(ヘッダオンリで利用できない)ので、そこは注意して下さい。 名前空間は長すぎて泣けるので省略しましょう。 example でやってる形で po にします。 #include <boost/program_options.hpp> namespace po = boost::program_options; コマンドラインだけでなく、hogehoge.conf などのようにファイルから読み取る事もできるらしいのですが、そこまではいらないので省略。 #include <boost/program_options.hpp> #include <iostream> int main(int argc, char**
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く