NavigatorIOSからの脱却
この当たりを読んでいると、NavigatorIOSはiOSでしか動かない。NavigatorならAndroidでも動くよ的なことが書いてある。
もともとReact Nativeに興味を持ったのは、できるだけ低コストでiOSとAndroidの両方のアプリを作ることだったので、 ここはできる限りプラットフォームに依存しない形に書いていきたい。
Navigatorを使って頑張って書くのかなと思いきや、いい感じのライブラリがあるので使ってみる。
SyntaxError: Unexpected keyword 'const'.
しかし、このように怒られる。
nodeのバージョンも古くないしなー。JSの環境の問題ぽい気が。
とりあえずreact nativeのバージョンをv0.10.1
からv0.17.0
にあげる。
[tid:com.facebook.React.JavaScript] Requiring module "InitializeJavaScriptAppEngine" which threw an exception
とかいってシミュレータが落ちる。
Tested with react-native 0.15
なんてあるので、あげすぎたか。
さてと、ビルドも通らなくなった。
AppDelegate.m:48:48: No visible @interface for 'RCTRootView' declares the selector 'initWithBundleURL:moduleName:launchOptions:'
github.com
このissueにあるようにinitialProperties:nil
を追加したらビルド通るようになった。
ちょっと完全に意味わからん状態になってきた。 ミッション失敗。
react native メモ続編
バーコードリーダーを使ってみたい
これを入れて使ってみた感じ最高
ただ2つのバーコードが画面に入ってきた時に、 どちらを識別するかを別途制御する必要があると感じた。
TabBarのiconをカスタマイズする
iconプロパティで画像を指定できるみたいだけど、 やっぱりベクタのほうが綺麗かな? iPadとかのときに変わってくるのかな。 とりあえずfont awesome使ってみたい。
このあたりが候補になりそうだが、 iOSとAndroidのどちらにも対応してそうな前者で。
Make sure your app is checked under "Add to targets" and that "Create groups" is checked if you add the whole folder.
とあるが、これはAdd files to "NameOfYourProject"
のOptions
で設定する。
Copy Bundle Resources
にファイルが追加されたことを確認したほうがいいらしいが、
PROJECTにBuild Phases
ないなーと思っていたらTARGETのほうにあった。
見当たらない場合は、このボタンでPROJECTとTARGETの切り替えができるようになる。
なんか怒られたが、ライブラリのリンクをちゃんとしていないからぽい。
こちらを参考にするとできた。
Ioniconsを使うときの落とし穴
シンプルなアウトラインのアイコンが好きなので、Ioniconsいいなと思ったのだが、
?
が出てきていっこうに表示されない。システムフォントとしても読み込んでいるし。
と思っていたら、webページで出てくるアイコン名のion-
の接頭辞はいらないみたい。
OCRやってみる
世間は大晦日だが、実家にも帰らず納豆食べてる。
とりあえずサンプリをローカルで動かしてみたい。 いきなりの
./autogen.sh: line 60: aclocal: command not found
brew install autoconf brew install automake
さらに、
./autogen.sh: line 65: libtoolize: command not found ./autogen.sh: line 65: glibtoolize: command not found
brew install libtool
またまた、
checking for leptonica... configure: error: leptonica not found
brew install leptonica CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" ./configure
インストールが完了。
% tesseract input/test1.png output Tesseract Open Source OCR Engine v3.05.00dev with Leptonica Error opening data file /Users/papua/Documents/source/c/tesseract/tessdata/eng.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory. Failed loading language 'eng' Tesseract couldn't load any languages! Could not initialize tesseract.
言語ファイルを落としてきてリトライする。全部落とすと2GBくらいになるので注意。
うまくいけた。
かけ さろ 竈玉 レつぽ〈 アツアツ ヒヤヒヤ 天ぶら かけ ざる 釜玉 しっぽく アツァツ ヒヤヒヤ 天ぷら
一年前よりも精度は大分よくなってるぽい。
react native のサンプルを動かす
からソースを落としてきて、 いくつかサンプルがはいっている。
xcodeでビルドして起動後に赤画面になる。
ターミナルからnpm startしたないからだが、 いざすると
% npm start (git)-[master] > react-native@0.8.0 start /react/react-native > ./packager/packager.sh || true /react/react-native/packager/packager.js:223 const dumpName = '/tmp/dump_' + Date.now() + '.json'; ^^^^^ SyntaxError: Use of const in strict mode. at exports.runInThisContext (vm.js:73:16) at Module._compile (module.js:443:25) at Object.Module._extensions..js (module.js:478:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Function.Module.runMain (module.js:501:10) at startup (node.js:129:16) at node.js:814:3
とかで怒られる。 nodeのバージョンが原因。
node -v nvm list nvm use v4.1.1
などでいける。
react native メモ
react nativeを使ってアプリを作っている。
Intellijでプロジェクトを開く
サンプルとして Exsamplesをみてみたかったのだが、 Intellijをつかおうとすると、
のようなエラーがでるのでメモ。 ANDROID_HOMEは設定されていことを確認できたので、 local.propertiesファイルをつくって、 sdk.dirとndk.dirを設定したらいけた。
あっと、このへんにも書いてあった。
xcodeでiOSエミュレータ上で起動する
Exsamples/2048などではエラーがでる。
SyntaxError: Use of const in strict mode
nodeのバージョンをv4.1.1にしたがだめ。
どうやらreact nativeが起動時にbashを立ち上げてしまっていて、
そちらのnodeはバージョンが古いままのよう。
xcodeが古いからかと思ったが関係ないぽい。
./gradlew :Examples:SampleApp:android:app:installDebug
./packager/packager.sh
ののちに
SyntaxError: Use of const in strict mode
とのエラーnodeをv4.0.0以上に上げなくてはならないよう。
USBキーボードを一切使わずにRaspberry Pi に SSH 接続
タオルは3枚をヘビーローテーションして生活しているミニマリスト。好きな言葉は"在庫はコストだ"。最近、ミニマリストの面白い本を読んだ。オフ会に行ってみたいなと思ったりしている。
Raspberry PiのためにUSBキーボード買うくらいなら、タオル増やすよって感じなので、RasPiの操作は当然SSH接続。ネットワーク上にRasPiを発見できずに2時間も費やしてしまった(2週間ぶり2度目)ので、さすがに備忘録として残しておく。
必要なもの
※No.6のLANからUSBへの変換器は、No.2のSSH接続用の端末自体にLANケーブルが挿せれば必要ない。
No. | 名称 | 値段 |
---|---|---|
1 | Raspberry Pi | 5000円 |
2 | SSH接続用の端末 (ここではMacBook Pro Retina, 13-inch, Mid 2014, OS 10.10.5) |
- |
3 | LANケーブル | 500円 |
4 | USB電源 | 500円 |
5 | microSDカード | 1000円 |
6 | LANからUSBへの変換器 | 1000円 |
ケーブル類配線
- コンセントとRasPiをUSB電源で接続
- RasPiにLANケーブルを挿して、LANからUSBへの変換器で(または直接)SSH接続用端末に接続
SSH接続用端末側のNICのIPアドレスを確認
shellでifconfig
を叩くとズラズラっとでてくるのでen0以外のen〜のinetを確認する。
どれに該当するかは、LANケーブルを外した時に消えてなくなるやつというアナログな方法でも確認できるかと思う。
もしくはシステム環境設定>ネットワーク>USB EthernetのIPアドレスを確認する。
不明なRasPi側のNICのIPアドレスを確認
SSH端末側のIPアドレスが169.254.110.128でサブネットマスクが255.255.0.0ならば、RasPi側のNICのIPアドレスが169.254.〜であることが予測できる。ここでshellでarp -a
を叩くと
? (169.254.15.26) at (incomplete) on en0 [ethernet] ? (172.20.10.1) at 72:72:72:72:72:72 on en0 ifscope [ethernet] ? (172.20.10.2) at 72:72:72:72:72:72 on en0 ifscope permanent [ethernet]
という結果が得られ、これより169.254.15.26がRasPi側NICのIPアドレスであることがわかる。
RasPiにSSH接続
ssh pi@169.254.15.26
デフォルトのパスワードであるraspberry
を入力してログイン。
その他
SSH接続用の端末側のNICのIPアドレスは固定にする必要はなかった。
RasPi側で何かをinstallするとraspberrypi.local
で名前解決できるようになる。
つまり、
ssh pi@raspberrypi.local
でSSH接続できるようになる。
sudo apt-get install avahi-daemon
をすればできるようになるとの記述もあるがこれじゃなかった気がする。
arp -aってしたときに表示されるARP entryの表記の正確なリファレンスが欲しかったのだけど見つけられなかった。Mac OS XはFreeBSDをベースにしてるってはなしから、FreeBSDのリファレンスを見るんだけどどうもarpのオプションが何とかコマンドの使い方しか見あたらない。 こういうときどんな英語で調べるべきなんだろう。ちなみにunix arp entry formatとかで調べたんだけど。英語力がまだまだってことかな。
Google Apps Scriptではまったのでメモ
スクリプトエディタから直接うごかしてみる分には動くが、ウェブアプリケーションとして公開した途端に動かなくなってはまった。
Spreadsheetにアクセスするので権限周りが原因だと思われる。ちなみに「次のユーザとしてアクションを実行」を変更しても改善しなかった。
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("member");
SpreadsheetApp.openById('Id').getSheetByName("member")
openByIdでIdをもとにSpreadsheetを参照したらいけた。