Lean Engineer

リーンエンジニア〜効率的に実験しながら、技術を学ぶブログ

nodebrew + sentryを使っているとReactNativeのbuildができない

ReactNativeのクラッシュログの収集にはsentry.ioを使っている。無料利用可能であり、個人開発にはぴったりだ。もちろん有料にすれば、さらに十分な機能を利用することができる。 さて、ReactNativeで使うnodeをnodebrewに移行した。nodeのバージョン管理を…

react-native-sortable-listviewでwrapperLayout.pageYでクラッシュする

ReactNativeでユーザーが自由のドラッグでソートできるような機能を提供している。そのために、react-native-sortable-listviewというライブラリを利用させていただいている。こんな感じになる。 とても便利なライブラリなのだが、たまにクラッシュする。以…

Pythonのvirtualenv(venv)がVisual Studio CodeのPythonの選択肢に現れてくれない問題

Pythonの開発環境をVisual Studio Codeに移行しようと思っているのだが、なかなかハードルがある。もともとPyCharmというとても便利な有料IDEを使っていたので、それに比べるとやっぱり見劣りしてしまう。PyCharmのママでもいいのだが、年額でそれなりにお値…

ReactNativationでネイティブからのinitialPropertiesを扱う

ReactNativeで開発するときのルーターとしては、ReactNavigationを使うことが多いだろう。 さて、そうすると、AppRegistry.registerComponentされるComponentはReactNavigationのComponentであるため、initialPropertiesでネイティブから受け取った値を、Rea…

ネイティブアプリからReactNativeに情報を渡す方法

ネイティブアプリからReactNativeに情報を渡すには、initialPropertiesに渡してあげれば良い。すると、表示するReactNativeのmoduleのpropsに情報が入る。 RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"App…

ReactNativeでハイブリッドでプロダクション環境を設定する

ReactNativeのハイブリッドをリリースしようと思うと、jsをバンドルし、Xcodeに埋め込む必要がある。 また、開発時点だと以下のようになっているが、localhostからjsを読み込んでいるので、ここも修正する必要がある。 NSURL *jsCodeLocation; jsCodeLocatio…

複数枚のReactNativeViewを、ネイティブアプリに表示する

ReactNativeをネイティブアプリに表示する方法を書いた。表示するだけのページなどであれば、iOS/Androidが両方同じソースコードで管理できるため便利だ。 さて、複数の固定ページを表示するには、どうしたらいいか?それは、ReactNative側のindex.jsで、App…

【iOS編】ReactNativeをネイティブアプリとハイブリッドに使ってみる

まずは、ネイティブアプリとのインテグレーションをやっていく。僕は、iOSのエンジニアなので、まずはiOSから。そのうち、Androidもやりたいと思っているが、Androidはメルカリの人がよいチュートリアルを書いている。 ReactNativeのインテグレーションは、…

ReactNativeでハイブリッドアプリのメリット・デメリットを考える

ReactNativeはiOS / Androidアプリを同一コードで作れる便利なライブラリで、FacebookやInstagramなどが採用している。 ReactNativeで一からアプリを作る場合は、とても便利である。何個か簡単なアプリを作ってみたが、同一コードで両OS動くのは便利だ。それ…

Macでpip install -U pipがSSLエラーになる

しばらくPythonを触ってなかったら、pipがうまく動かなくなっていた。定期的にメンテナンスしないとダメ。 ➜ ~ pip install --upgrade pip Could not fetch URL https://pypi.python.org/simple/pip/: There was a problem confirming the ssl certificate: …

ReactNative 0.56.0へのアップデートがツラかったので、対応したことをメモ

ReactNative 0.56.0でAndroidの予想変換時の絵文字入力でのクラッシュが治ってるとのことで、「さっそくアップデートだ!」と意気込んでいたのだが、泥沼だった。いろいろあったので、対応したことをメモしておく。アップデートはreact-native-git-upgradeコ…

ReactNative 0.56(0.54以上)でiOSの日本語入力の変換が動かない問題

「人狼ゲームマスター」という人狼ゲームのゲームマスターをやってくれる、超絶便利なアプリ(自画自賛)を作っているのだが、ReactNativeを0.53からアップデートしたら、iOSですごくバグって困った。ご不便おかけしました。ちなみに、Androidでは同問題は起こ…

ReactNativeでcocoapodsを1.4.0から1.5.3に上げたら、ビルドができなくなる問題

ReactNativeの開発で、ネイティブのライブラリを使うためにiOSはcocoapodsを利用している。cocoapods 1.4.0では上手く動いていたのに、1.5.3にアップデートするとiOSのビルドが通らなくなってしまった。エラーは以下、 'React/RCTDefines.h' file not found …

ReactNativeのハイブリッドアプリを作ってるときに、command + Rでロードできない問題を解決

すでにネイティブで作っているアプリの一部をReactNativeにして、iOS/Androidの開発を楽にしたいという実験をやっている。しかし、いろいろ難所があって、なかなか難しい。 で、こまったのが、ReactNativeのViewがネイティブアプリに表示されたのは良いもの…

ReactNativeでXcodeのコンソールにSocketのログが出すぎる問題

ReactNativeをXcodeでビルドして、Xcodeのコンソール見ていると、すごい勢いでログが表示されていた。こんな感じ。 nw_connection_get_connected_socket 1 Connection has no connected handler nw_connection_get_connected_socket 2 Connection has no con…

Visual Studio Codeで設定しているユーザー設定

エディタはVisual Studio Codeを使っているのですが、Atomより軽いのが良いですね。あと、設定が楽チンでいいですね。今のところ、こんな感じで使っています。複雑になりすぎると、めんどくさくなるので最小限で。フォーマットを自動でしてくれるのは楽でい…

R言語の環境をMacで整える ~ Jupyter notebookまで

R

データ分析をRでやることになったので、Rの環境をMacで整えてみる(Pythonでいいじゃん!という気がするが、まだライブラリが追いついてなかったり、Rのほうがサンプルコードが多かったりという理由がある)。 brewでインストール brewでRをインストールする…

スマートコントラクトで独自トークンを発行し、Metamaskを使ってブラウザで送ってみる

イーサリアムの面白いところは、スマートコントラクトを使い、簡単に自分のトークンを発行できるところだろう。これを利用してICOであったり、CryptoKittiesが作られている。 さて、今回はICOなどにも使われている一番オーソドックスなトークンを発行してみ…

GPUでイーサリアムをマイニング!Dockerでサクサク掘るよ

イーサリアムが欲しくなったので、GPUマシンで掘る方法について調べて、掘ってみた。 NVIDIAのGPUで動くDockerfileをビルドする DockerfileはAnthony-Tatowicz/nvidia-dockerを利用する(CUDAのバージョンが7.5と古いため、手動ビルドした方が本当はいいかも…

CryptoKittiesのスマートコントラクトを動かしながら、見てみる

CryptoKittiesの遊び方を書いたが、実際にどのようなスマートコントラクトがイーサリアムのブロックチェーン上で動いているのか見ていきたい。ここが面白いところだ。 まず、実際に動いているスマートコントラクトが、こちら。また、その解説がこちら。Crypt…

スマートコントラクトゲームCryptoKitties(暗号猫)の遊び方

イーサリアムのスマートコントラクトってどのように動くのか?そもそも本当に動くのか?どのようなアプリがあるのか?気になるところだ。そんな中でリリースされて話題なのがCryptoKitties。TechCrunchの記事が詳しい。 このような感じで、いろいろな種類の…

Lean Engineer(リーンエンジニア)ブログをはじめます

Lean Engineerというタイトルで、ブログをはじめようと思います。効率的に実験しながら、技術を学んでいこう!という目的のブログです。 もともとブログはPEAKを生きるという僕のメインブログがあって、こちらに技術の話も書いていたのです。しかし、それ以…