2015/3/18 水曜日.
xcode で c 言語のコンパイル
Filed under: エンジニアとして Blog — kawahara @ 9:59:02 ページTOPへ
表題の件。
なーんでも無いのですがちょっとびっくりする程はまったので、共有。
#この文章はそんな方に届くのか・・・?(笑
xcode の objective-c で c 言語や、c++ はコンパイル可能です。やり方は沢山 web 上にありますので、ご参考まで。特段、難しい事でもありません。
ところが。ちょっとはまりました。
コンパイルすると「リンクエラー」。
c 言語で書いたクラスに以下の記述が無かったので、c++ から見えませんでした。
==
#ifdef __cplusplus
extern “C” {
#endif
==
まぁ、よくある奴ですよね。
で、上記の対応をする前に、以下の対応をしてしまいました。当該ファイルに対するコンパイラの指定を xcode の gui で実行してしまったのです。
具体的には以下の設定。
このファイルは「c でコンパイルするよ」と。
この設定で、c++ のソースからは呼び出す事ができました。
ところが、当該ファイルの関数を objective-c から呼び出すとまたして「リンクエラー」。
呼び出し元が、C++ ソースならコンパイルに成功するのに、objective-c ソースなら、リンクエラー。かなーり、ハマりました。
しかも、上記の設定をしたのが私では無かったのでだいぶ悩みました。
結果は、設定ミス。上記の[extern “C”]さえ書いておけば、対象の c 言語ソースのコンパイラ設定は以下のデフォルトの設定のままで良かったようです。
いやー、時間取られましたー。
2015/3/11 水曜日.
コウモリにみられる“チープデザイン設計”による“スマートなアクティブセンシングシステム”
Filed under: エンジニアとして Blog — kawahara @ 9:50:48 ページTOPへ
昨日、同志社大学の「”新ビジネス”フォーラム」に参加してきました。
私の母校です。
どうしちゃったの大学。
あ、母校を悪く言ってはいけませんね。特にフォローする訳ではありませんが、素晴らしい大学でした。特に田辺キャンパスは。なにより、田舎にあるので非常にアカデミック。素晴らしい環境だったと思います。
その母校が、先日「スーパーグローバル大学」の選から漏れました。残念、というかとほほ、です。
○ スーパーグローバル大学
http://www.jsps.go.jp/j-sgu/
○ wiki にも以下の記述
==
本命とみられていた一橋大や神戸大、同志社大などが落選するなど、波乱含みの展開となった
==
http://ja.wikipedia.org/wiki/スーパーグローバル大学
まぁ、それは良いとしまして。
「”新ビジネス”フォーラム」とは要は産学連携していきましょう、という枠組みです。同志社は関西基盤で関東が弱いので関東版を立ち上げました、という事です。もちろん、新島スピリッツを引き継いで、という事ですが。
その際に、2つの研究テーマを発表いただきました。
以下の2つ。
1) 知的照明
http://www.nikkeibp.co.jp/article/tk/20111114/290339/?rt=nocnt
2) コウモリにみられる“チープデザイン設計”による“スマートなアクティブセンシングシステム”
http://www1.doshisha.ac.jp/~bioinfo/concept.html
1) は私の出身中学の先輩がされている研究です。何度かお話を伺っていて、今回で3回目。何度目でも面白いお話です。今回も為になりました。
逆に、1) を聞きに伺ったのですが、2) が新鮮で面白かったです。
特に「チープデザイン設計」という概念が。
人間は主に視覚から情報を収集しています。特に覚醒している状況ではほぼほぼ視覚。視覚とは非常に情報量の多い感覚器です。ですので、人間が考えるセンシングシステムは非常に「重い」システムになる、という論調です。コウモリはほぼ「音」しかない。かつ、脳の処理能力も非常に低い。ただ、それで、狭い洞窟内に群がるコウモリは相互に高速で飛行しながらも衝突は発生しない、という事実があります。
空間認識という非常に多大な計算を要するように感じられる処理も、対象を絞り込めば、単一センサで、かつ、処理量少なく、かつ、精度の高い解析結果が得られるのだ、という事をお話いただきました。
目からうろこ。
現在、弊社では IoT の到来(本格普及)に伴って、センサを山ほど利用したサンプルアプリを作成しています。そしてやればやる程泥沼にハマっています。
#上手く解析できずにおります。。。
発想の転換とはこの事ですね。
もう一度、原点に戻って考え直してみます。
とても、貴重な時間をいただきました。
飛龍先生、ありがとうございました!
2014/12/27 土曜日.
php の処理性能が意外な所で悪化した件
Filed under: エンジニアとして Blog — kawahara @ 15:09:22 ページTOPへ
珍しく技術的な記事を。
もう、年末ですねー。
そろそろ、お仕事も終わりにしたいのですが、今年はダメのようです。もう少し頑張れって、神様が。
先日来、ミリ秒オーダで処理を依頼されている案件がありまして。
意外な所で php の処理性能が悪化したので、備忘の為記録。もう、皆さんには当然でしょうか。
環境は AWS。web サーバは apache 2.2.15。php は 5.3.3。
以外と性能ネックになっていたのは以下の処理2つ。
1) microtime()
2500 回のループ処理で、4[ms]。
よくデータ処理時間の記録等で多用される可能性も高いですよね。要注意です。
しかも、システムリソースに逐次確認が入るらしく、cpu リソースを使いきらない処理となる模様。
#ほんとのところはよくわからない。
2) 参照先未定変数利用
例えば定義し忘れた変数を使う場合。
いきなり、「echo $hoge;」等として、$hoge がどこにも無いパターンも該当。こちらは1処理あたり、3[ms] 必要。
これだけだと「そらそーだよね」と思うのですが、ちょっとびっくりするのがこんな例。
==
// 関数定義
function hogeFunc($a1, $a2){
// nop
}
// 呼び出し側
hogeFunc($arg1); // < 2つ目の引数を指定していない
==
上記の呼び出し形式で、hogeFunc を呼び出すと、関数呼び出しは当然正常に動作しますが、関数呼び出しコストがかかる(今回の場合、3[ms])。
えー、お作法守っているのにー。要注意です。
とまぁ、あんまりお役に立たない情報ですかね。
お後がよろしいようで。
2011/12/25 日曜日.
Java から R を呼び出す(F.Y.I.)
Filed under: エンジニアとして Blog — kawahara @ 19:30:06 ページTOPへ
社内の情報を転記しておこうかと。
==
かなり、詰まりました。
解決したので、F.Y.I. 流します。
基本、以下を参考。
http://d.hatena.ne.jp/hamadakoichi/20100111/1263227076
ココにほぼ書いてあるけど、一点だけ、記述もれあり。
Step3. Run -> Run Configuration
・以下の変数を設定する。
Path: C:\R\R-2.10.1\bin
※ココ!!!
実際には以下。
Path: C:\R\R-2.10.1\bin;C:\R\R-2.10.1\bin\i386
i386 用の dll もパスを通さなければならなかったです。
R がよくわかんないので、かなり悩んでしまいました。
2011/5/27 金曜日.
ノートPC の性能必要だね
Filed under: エンジニアとして Blog — kawahara @ 7:46:33 ページTOPへ
先日、ノートPC が壊れました。もとい、壊しました。
突然の事態でしたので、代替が無く、自宅ノート(奥さん用)で仕事しています。
基本的に、ノートPC は「メモ用」/「WEB ブラウズ用」ですので、性能はほとんど要らない(なんでも OK)だと思っていました。
ところが。
必要ですね。やっぱり、ある程度のスペックは。自宅用 PC は DELL の Vostro V13 なのですが、まともに仕事にならないです。Gmail 見るのも、Gcal 見るのも。知らなかった。Gmail なんてメール一覧を表示するのに、数秒かかります。ワンタイムだと気にならないのですが、仕事としてあっち見たり、こっち見たりしながら返信しようとすると、どうにも仕事にならない。
実は、壊してしまった理由が理由なので、安価なノート(DELL Vostro V130)の購入を検討していたのですが、やめてよかった。作業効率に影響したらどうしよう、と、最終的な「注文する」のボタン押下に躊躇して、結果的にもう少しスペックの良いものを発注しました(Vaio)。
あー、アブね。
2010/3/30 火曜日.
「HTC Desire」 のわくわく感
Filed under: エンジニアとして Blog — kawahara @ 8:49:38 ページTOPへ
このわくわく感は何でしょうね。
久しぶりです。
IT Media の記事。
写真で解説する「HTC Desire」
http://plusd.itmedia.co.jp/mobile/articles/1003/29/news059.html
Android 2.1端末という”だけ”なら、スペック愛好者では無い私は、「ふーん」程度で終わるのですが、凄く分かりやすい「面白そう」な機能がいっぱいあります。
「光学ジョイスティック」とか、「ピンチインで、7つの画面がサムネイル表示」とか。
実は手元にかなり新しいフィーチャーフォンがあります。ところがこちらは全然わくわくしない(開発担当の方、すみません)。手に入れて最初の驚きがプリインストールされたドラクエの「音キレー」ですからね。。。。なんか、もう、驚くところが無いから驚いている感じ(笑)。
私は初代 Android 端末も使ってみましたが、iPhone ユーザです。それでも、「あ、使ってみたいな」と思わせる端末だとは思うのですよねー。個人の端末の買い替え時を悩みます。。。。
2010/2/24 水曜日.
禁酒終了
Filed under: エンジニアとして Blog — kawahara @ 8:54:44 ページTOPへ
開発に専念しております。
社内、社外の皆様に「今はちょっと待って」と言わせていただきながら・・・・
ついでに生活改善もしてしまおうかと禁酒もしてみました。
2010.02.21 22:00 – 2010.02.23 23:00 まで。
36時間以上呑まなかったのは軽く 1000日以上ぶりでは無いでしょうか。
すごーい!体が軽ーい!
・・・ってなることを期待していたのですがどうも一日ではならないみたいです。禁煙とは違うみたい。
効果がてきめんでは無かったので辞めてみました(笑)。
リフレッシュ効果を優先するという事で。
また、本日も PC 前から動かず、で頑張ります。
2010/1/23 土曜日.
アバター観てきました(IMAX)
Filed under: エンジニアとして Blog — kawahara @ 21:21:40 ページTOPへ
遅ればせナガラ。
観てきました。本日。
劇場 3D の表現力がどうしても知りたくて。
以下の Blog とか読むとどうしても気になって。
アバター』3D全方式完全制覇レビュー
http://itsa.blog.so-net.ne.jp/2010-01-15
#勝手にリンク貼ってごめんなさい(笑)。
まず、皆さん既にご存じだと思いますが、3D 映画は眼鏡をかけます。
#今のところ、TV も、ですよね?
以下、ざっと感想です。
・感覚としてはやはり、眼鏡は邪魔。後述しますが、やはり、近視の方はハンデです。私は SE なので、当然近視です(笑)。
・眼鏡をかけなければ、いわゆる 3D 画像を想像してもらった通り、ダブった画像が見える(当然ですね)
・IMAX の場合、首を傾けても上記と同様のダブりは発生
※ただし、姿勢を維持するのがしんどい、というほどのものではありませんでした。
・何より凄かったのは音響でした。
※ IMAX って音響も規定されているのですよね?
結局、映像の表現力を観に行ったのですが、びっくりしたのは音の表現力のほうでしたね。
しかも、実は左のコンタクトがずれていて始終画面はぼやけていました。それが、なぜぼやけているのか気付くまでに、2.5hかかってしまいました。余りにも映像がにじむことに違和感を感じたのは文字だけが表示されているエンドロールというお粗末な落ちはついています。
2009/12/22 火曜日.
久しぶりのノウハウ本
Filed under: エンジニアとして Blog — kawahara @ 20:14:36 ページTOPへ
ノウハウ本は結構読みません。
小さい人間なので、ライフハックや、ビジネススキルの根本概念的なことは「そんなこと知っているよ」とか、思ってしまって上手く頭に入ってこないのですよね。
それでもここのところ、自分自身の考え方ややり方に多少(かなり?)自信が無くなってきたので、ちょっとはノウハウ本も読んでみようと少し気になった本を手にしてみました。
まぁ、結論から言いますとやっぱり「それくらいはやっているなー」と思う事が多かったです。もちろん、やり方の部分では見習う個所(新しい方式を取り入れるべきところ)もありましたけど。
一番心に残ったことは「アイデアは移動している時に一番出てくる」という表現でした。こちらはノート術(メモ術)の本なので基本的には「そのタイミングでアイデアを忘れ無いようにどうするべきか」という本なのですが、アイデアを思いつくタイミングが同じだったので、ちょっと心に引っ掛かりました。
私も良く移動中に考えます。ビジネス(事業)的なものは絶対に移動中ですね。開発の設計も移動しながら考えると効率が良いととても思っています。会社のデスクに座っていても煮詰まってくると「散歩」に出かけるほどです。サザエさんちの隣に住む文壇の先生みたいですよね(笑)。でも、気持ちは分かります。とても、良く分かる。
まぁ、それはさておき。
実は今回の本を読んで強く思った事は別にあります。
この手のライフハック的なものは私は結構実践できているほうだと思います。逆に言うと「それくらいしていないとついていけないだろう」という気持ちです。
・・・・でも。
多分、皆さんしてないんですよね。
なんていうか、「自分自身のライフハックはこれ!」みたいな話が節々に出ない方が多い気がします。私の周りには。それはそれで良いのですけど・・・・ちょっとその点では物足りなくなりますね。残念ながら。
うーん、この Blog を読んでくれている方は私の周りの方自身なのであまり言うと角が立ちますけど(笑)。
そうです、貴方の事を指しています!! なーんてね。
もちろん、私も足りないのは自覚しています。
逆説的ですが、足りないと思っているから議論したいし、アイデアと刺激を貰いたいんですよねー。
2009/12/15 火曜日.
Dog Fooding って言うんだー
Filed under: エンジニアとして Blog — kawahara @ 12:22:38 ページTOPへ
はじめて知りました。
この業界用語(笑)。
社員テストの事です。
例の Andorid 端末(「Nexus One」)のリークに絡んで出回っている言葉ですよね。
そう言えば、以前に TOEIC 900 Over の友人がバギーって言葉を知りませんでしたね。Buggy なのかな?でもそれじゃ、車になりますよね(笑)。ひょっとして日本語なのか?
うーん。
それにしても、「Google社員、ハイエンドAndroid端末「Nexus One」をドッグフード中」とか、ちょっと最初は意味わかりませんよね?
この端末、1月5日とか言われていますけど、日本ではいつから使えるのでしょうか。ネットで買えるらしいので、買って送ってもらおうかな。でも、使いよう無い無いなぁ(笑)。通信つながって無いと。