DataSetはLINQの夢を半分だけ見られるか?

1か月もブログ記事を書かないとサーバー側のキャッシュがおかしくなる(っぽい)ので、穴埋めに。 Visual Studio 2017には「LINQ to SQL」がないよ ふと、書籍の改訂版を作っていて、2015から2017に移行するときにテンプレートに「LINQ to SQL」がないことに気付きました。 Visual Studio 2017 Visual Studio 2015 LINQ to SQLが何じゃ?と思うかもしれませんが(実際、何じゃ?という代物なんですが)、DataSetを使っていた後に C#/VB で LINQ が使えるようになって、今の Entity Framework が出る前に SQL Server を LINQ で扱うとという「非常にピンポイント」なコンポーネントだったんですね。確か、同時期に「EF Context」が出てたとおもうのですが、EF Contextのほ … 続きを読む

カテゴリー: 開発, C# | コメントする

年末なので ROS を調べてちらほらと

ざっと、調べていったことを感想をメモしておきます。 参考文献 読んでいる書籍は以下の通り。 プログラミングROS ―Pythonによるロボットアプリケーション開発 (オライリー・ジャパン) Programming Robots with ROS: A Practical Introduction to the Robot Operating System ROSではじめるロボットプログラミング―フリーのロボット用「フレームワーク」 (I・O BOOKS) Raspberry Piで学ぶ ROSロボット入門 実はチュートリアルも含めて、公式の ros.org にあったりするのですが、書籍/Kindle でブーストしています。邦訳オライリー本は、英語オライリー本が元ネタになるので、実は中身はちょっと古めです。ですが、実はそれで十分だったりします。訳は後述します。 ROS.org | Power … 続きを読む

カテゴリー: ROS | コメントする

LattePanda と Siv3D(仮)

このエントリーは Siv3D Advent Calendar 2017 – Qiita の 12 日目のエントリーです。前のエントリーは、para7 さんの OpenSiv3Dのトランプ描画機能(PlayingCard) です。 LattePanda とは 唐突ですが、LattePanda という組み込みボードがあります。組み込みボードというとRaspberry Pi が有名だったり、もっと小さくやろうと思うと Arduino が良かったりというのもあるのですが、Raspberry Pi は OS が Rasbian という Linux であったり、Arduino の場合はそもそも OS が無かったりという特徴があります。じゃあ、LattePanda はなんじゃ?というと、 Arduino のような GPIO ピンを持っていて Windows 10 が動く という特徴を持つボー … 続きを読む

カテゴリー: 開発, C++ | コメントする

Orange Pi で .NET Core を動かそう

このエントリーは C# Advent Calendar 2017 – Qiita の 8日目のエントリーです。前のエントリーは atsushieno さんの libsoundio-sharpとPInvokeGeneratorについて – ものがたり です。 Orange Pi とは何か? 端的に言えば、Raspberry Pi 互換機です。ラズパイのように40本のGPIOが設定してあったり、マウスやキーボードに繋げるためのUSBコネクタがあったり、モニタに繋げるための HDMI があったりします。 Orangepi http://www.orangepi.org/ 互換機であるならば、普通にRaspberry Piを買った/使ったほうがいいだろうという話もありますが(実際に初心者的には無難なラズパイ3を薦めるところですが)、まあ、2台め3台目…n台目となると値段の関 … 続きを読む

カテゴリー: 開発, C# | コメントする

SWIG の文字列(string)の扱いが少しややこしいので、Marshal.* を使ってみるテスト

内部コードを std::string/char * にするか std::wstring/wchar_t * にするかで、SWIG の挙動が変わるような感じなので、その前段階のテスト 戻り値をstring型にする SWIG の技 C#側からみればC++のDLLから文字列を取得したい場合、GetName( const char *, int ) としてバッファを渡すよりも、string GetName() な形で、string 型を返して欲しいわけです。そうなると、dllimport の部分も な形にしておきたいところですよね。しかし、これはできません。戻り値は string に自動変換してくれないんですね。 不思議なことに、SWIG の場合は戻り値に string を使えて、まあこんな風に string 型を渡したり受け取ったりできます。 当然のことながら、これは Hello クラス内でラッ … 続きを読む

カテゴリー: 開発, C#, C++ | コメントする

SWIG を使って C++ のクラスを C# で読み込む方法

FFFTP2 のライブラリ化の前調査として、C++ のクラスに書き替えたときに、.NETから呼び出すことができるだろうか?というのを調べていました。基本 C# から C/C++ を呼び出すときは dllimport を使う訳ですが、これは「Cインターフェース」を使っているので、C++のクラスを直接呼び出すことはしていません。なので、C++の場合は、一度Cのインターフェースに直して呼び出さないといけないですよね。OpenCvSharp の場合も、OpenCV を呼び出すときに、dllimport を使っていますが、ひとつひとつ C インターフェスに直して組み替えています。ここの手間がなんとも言えないのと、将来的に C++ の構造が変わったときにはこの部分を手作業で直さないといけませんよね(実際 OpenCV2 から OpenCV3 の変換のときに発生している問題で)。となれば、Xamarin … 続きを読む

カテゴリー: 開発, C#, C++ | コメントする

格安ラズパイ互換機の Orange Pi One を活用する

ラズパイ互換機の一覧がイイ感じでまとまっていたので、死蔵していた Orange Pi One を引っ張り出して samba まで使えるようにしてみた経過です。 「Raspberry Pi」より強力なシングルボードコンピュータ20選–競合製品の長所と短所 – TechRepublic Japan https://japan.techrepublic.com/article/35108435.htm Raspberry Pi Zero W が1,000円程度で手に入るようになったので、以前より「格安」感は薄れていますが、ラズパイ3と同等レベル(あるいはそれ以上)のスペックを求めるときと、1個ではなく大量に使いたい(5個以上とか)ときには有効でしょう。1個だけ使う場合は、資料が多いラズパイを使ったほうが無難です。 100個以上使って製品化する場合には、専用の回路を組むとか … 続きを読む

カテゴリー: 開発, 組み込みボード | コメントする

ラズパイ2でNASを作る

以前から、業務PC内で動いていたファイルサーバーなのですが、去年あたりから別のPCから共有フォルダーが見れなくなって(業務PCから家庭用PCは見れる)、共有自体が変な状態になっていました。ここ数日あれこれと弄って悩んではいたんですが、面倒なので NAS にしてしまおうということで、ラズパイでNASを作ります。 NAS とはいえ、簡単なファイル置き場です。主に動画ファイルが置いてあるわけで、Windows PC からフォルダが見れればok。ということは、Linux + Samba で設定するだけで十分なので、仕組みは簡単です。 準備したもの HDD は家庭用なので RAID などは組まず、ちょっと不調気味だった PC から 2TB の 3.5 インチ HDD を取り外して使いました。共有フォルダが不調だったので、業務/家庭用PCに二重化されてしまったファイルをひとつにまとめることができるので … 続きを読む

カテゴリー: RaspberryPi | コメントする

学研ワールドアイとLattepandaの組み合わせを模索する

先日、学研ワールドアイという球体型ディスプレイ(実際は半球)を買いました。Amazon | 学研 Gakken ニューワールドアイ 地球儀を超えた無限の情報量 NEW WORLD EYE 通販 元値が、4万円近いものが、1万円ちょっとで投げ売りされています。おそらく見切り品なんだと思うのですが、よくわかりません。教材用のものらしく、学校で使うような教材がついています。 解像度は640×480 で、そのうちの480×480が球体のモニタに表示されています。ピントをうまく調節しても荒い感じになります。 これは、Amazon Fire TV から出力しているところです。HDMI の mini ポートが付いているので変換器を百均で買って付けました。 Lattepanda と組み合わせる 通常の HDMI が使えるので、ノートPC などからも出せる訳ですが、どうせならばワンセット … 続きを読む

カテゴリー: 開発 | コメントする

今更ながら VPS を借りました

ここのブログは bluehost.com を使って運営していますが、あれこれな .NET な実験は Azure 上でやっていました。何度か仮想OSを Azure 上に組んでみたりしたのですが、Visual Studio を動かすにはパワーがたりなく(Visual Studio Codeならいいかもしれませんね)、Windows Server を置いて活用するほどでもなく、かといって Linux をインストールして LAMP で使うぐらいだったら格安のレンタルホストで良いわけで。暫く、ローカルの VMWare で Unbutu + Redmine を入れて .NET Core アクセスをあれこれやっていたのですが、やっぱり Redmine は外にあったほうがよいだろうということで、VPS です。 場所は、VPS(仮想専用サーバー)|さくらインターネット の 1G のプランですがね。HDD に … 続きを読む

カテゴリー: 開発, OpenCCPM | コメントする