カブトムシのつぼ

茹で蛙防止!

Learning React Native を読んだ (1-1) What Is React Native?

 

 この本のChapter1あたりの自分なりの解釈を箇条書きしていく。

 

Learning React Native: Building Native Mobile Apps with JavaScript

Learning React Native: Building Native Mobile Apps with JavaScript

 

 

  • React Native は iOSAndroidのネイティブのモバイルアプリケーションを作るためのJavaScriptフレームワーク
  • Reactが基になっている。Reactはブラウザ向け、React Nativeはモバイルプラットフォーム向け、と捉えて良さそう。
  • Reactが基になっているので、JSの知識を持っている人がネイティブのモバイルアプリケーションを書けるというのが一つの魅力。
  • 更にいうと、React Nativeで一回書けばAndroidiOS両アプリのビルドを出来る。
  • React Nativeは JavaScriptXMLを混ぜたような記法 - JSX で書かれる。
  • では、React Nativeの内部はどうなっているかというと、React Native "bridge"がそれぞれのネイティブのAPIを叩いて描画している。なので、WebViewではなく、ネイティブのアプリケーションを描画出来る、という仕組み。
  • JSからプラットフォームのAPIにアクセスするので、カメラのAPIGPSなども利用可能。
  • 有名どころでいうと、FacebookAirbnbWalmart、BaiduといったアプリがReact Nativeで作られている。

 

と書いてて思ったけど、公式に書いてあることばっかりだな、この辺は。。。

Learning React Native を読んだ (0)


Learning React Native
 というReact Nativeのオライリー本を読んだ。

 

Learning React Native: Building Native Mobile Apps with JavaScript

Learning React Native: Building Native Mobile Apps with JavaScript

 

 

 

総評としては、React Nativeを初めて触る人向けの本としては良かったかな、という感じだった。ただ、React Native自体が物凄いスピードでアップデートされてるので、本の内容が既に古いところもチラホラとあった。(2週間に一度バージョンが上がっている。)

2ヶ月くらいかけてちびちびと読んだのだけども、折角読んだのに、前半の方とか忘れてきてて、勿体無い。なので、もう一度最初の方からおさらいしつつ、ブログに書いていこうと思う。

生きることはリスク

結局、全ては

結局、全てのことは「リスクを取るか、そうしないか」じゃん? と思ったので書く。

 

僕はそろそろ社会人5年目になるIT系のエンジニアだ。思えば、高専の2年頃からC言語を習っていたので、歴で言うと、10年くらいになるかもしれない。その時からエラー文が出るたびに発狂しそうになっていて、周りには僕よりスイスイとプログラミングをやってのける猛者たちがいて「あぁ自分にはプログラミングのセンスは無いし、向いてないのだろう」と自覚していた。

 

なのに、今こうして渋谷のITのおっきい会社でエンジニアをやっているのはなぜだ?と言うことが実は自分でもうまく落とし所が見つからなかったのだけど、結局のところ、__「あぁ、僕は究極的にリスクを取りたくなかっただけだったんだなぁ」というところに落ち着いた。

 

例えば、高専を卒業して名の知れたメーカーに行くことも出来たのだろうけど、それだと、スキルがその会社に依存してしまって他に出れなくなったら終わりやんと思っていた。そしてそもそも日本の会社でしか通用しない技術って日本全体がオワコンになってしまったら(高専の時に考えていた妄想なのでバカにしないでください)、終わりやん、それリスクやんとかも考えていた。

 

じゃあ、どういうスキルだったらロックされないで自由に生きれるの?って考えた時に、「インターネットさえあればどこでもやっていけて、差別化も図れるスキル = プログラミング」っていうところに導かれたのかなって思う。


リスク・リスク・リスク

 しかし、社会人としてエンジニアをやっていて、優秀なエンジニアの方々を見ていて一つ残念なことに気づいてしまった。『そもそもプログラミング自体も流行り廃りが激しい世界だから、常に学んで変化に対応していくことでしかリスクを軽減出来ないやん!!』ってことだ。なんか、それに気づいてしまった結果、リスクを0に出来ないかとか考えている自分がちょっと恥ずかしくなった。 

 

これはあくまで僕の一例だけど、多分なにやったってリスクはつきまとうんだと思う。量に差はあれども。だから、怖がってないで、受け入れて、楽しむか、楽しまないかでしかないんだと思う。僕は最近、それを楽しむことにした。

手づかみじゃがいもツナおやき

 

今日は手づかみじゃがいもツナおやきを作りました。

 

レンジでチンしておけば具材に火が通っているか心配しないで済むというのが、良かったな。

 

 

我が子、もうすぐで1歳になるけど、すくすく育っていて本当に何より。

Androidアプリの画面のキャプチャをコマンド一発でPCに転送する

Androidアプリを開発してて、端末の画面キャプチャをPCに送りたい場面って多々あると思います。

僕はそうしたい時はPushbulletを使ってたのですが、もっと良い感じにコマンド一発で出来ないかなぁなんて思っていたらありました。

Android Debug Bridge (adb) | Android Studio

ちゃんと公式を見ようぜって話でした。本当にいつもいつもお世話になります。

スクリーンショットを撮る

端末がadb接続されていることを確認し、以下のコマンドを打ちます。

$ adb shell screencap /sdcard/screen.png

/sdcard/screen.pngというのがスクリーンショットした画像ファイルが端末に保存されるところなので、パスとかファイル名は良い感じにしたら良いと思います。

スクリーンショットを端末からPCに送る

$ adb pull /sdcard/screen.png ~/Desktop/

  • (pullしてきた画像は適当にDesktopに配置する感じにしました。)

あとは、上記のコマンドをまとめたエイリアスなど作って、ファイル名をタイムスタンプにしたりすればコマンド一発でスクショがPCに転送出来そうです。Amazingですね。

追記(2018/01/29)

  • 僕は、.zshrcファイルに以下のエイリアスを書いて使うようにしています。
alias cap='adb shell screencap /sdcard/`date +%Y%m%d%H%M`.png && adb pull /sdcard/`date +%Y%m%d%H%M`.png ~/Desktop/capture-files'

ハトにフランスパンをあげる

 

www.nhk.or.jp

 

元旦恒例の「大人のピタゴラスイッチ 想像力としかくい穴」が今年も放送されていて、録画したのを昨日見た。面白かった。

 

日常生活の中で、「これはきっとこうなるだろう」と想像したものが実際やってみると「そうなるのか!」というのがテーマで、想像と現実のギャップが面白い映像とその解説の数々だった。

 

中でも印象に残ったのは、「ハトにフランスパンをあげないでください」の話。

 

実際どうなるかというと、動画の通り。

 

www.nanigoto.net

 

www.youtube.com

 

ギャップはありましたか?

 

途中まで、「想像してみても、結局、実証してみないと分からないこともある」っていうのが今回のテーマの伝えたいことなのかなと思って見てたけど、あるキャラクターが「私たちは、想像する時に物事の起点と終点だけを考えて、終点にたどり着くまでの過程を考えるのを抜かして考えてしまいがちだ」と言っていて、そっちかってなった。

 

とても面白かったのでぜひ色々な人にみて欲しいのですが、たぶん違法アップロードされた動画しかインターネットにあがってないので、再放送を期待するか、来年の新作まで待ってください。それでは。

Inkdropを使ってみてる


www.inkdrop.info

 

 僕は何かを見たり聞いたりすると、自分の頭で分解したり推測して色々な可能性を考えている内に寄り道してまいがちなので、整理のために今考えていることを書き出してしまうことが多い。

 

そのため、エディタをよく使う。これまではよくkobitoというQiita投稿用のスニペットでメモしていたのだけど、自分のモバイルの端末とシュッと同期出来ないのが難点だったので、探したら、Inkdropという個人で作ったマークダウンエディタが60日間だけ試せるようなので、先ほどダウンロードして使ってみてる。

 

確かに同期は出来るようで便利という感じだったけど、思ったよりシンプルでなく、色々出来てしまいそうな印象を受けた。ただ、無料お試し期間の内は、使って見る。