カブトムシのつぼ

茹で蛙防止!

terminalからAndroid Studioを立ち上げる

背景

  • 僕らAndroidエンジニアは来る日も来る日も、Android Studioを立ち上げていると思うのですが、

    • (1) 下のランチャーからAndroid Studioを選ぶ
    • (2) プロジェクトを選ぶ

ってするの面倒じゃないですか?僕は面倒です。

CLIからAndroid Studioを立ち上げる

1

  • Android Studioの[Tools]から "Create Command-line Launcher..."を選びます。次に、Android Studioの実行パスが表示されるので、okします。

f:id:namaninotiteti1026:20180326084743p:plain

2

  • terminalで以下を打つと、Android Studioが立ち上がってくれます。便利〜。

$ studio {プロジェクトのパス}

参考

qiita.com

React Native 作る時の雑なメモ

新しくReact Nativeのプロジェクトを作る時のメモ

  • 前提 : React Nativeインストール済

作る

$ react-native init {プロジェクト名}

  • Quick Startの $ create-react-native-app AwesomeProject で開くと、Expoアプリで開いてしまうので、あまり自分は使わない。

移動して

$ cd {プロジェクト名}

iOSのシミュレータで動かしてみる

$ react-native run-ios

  • Androidエミュレータでも良いけど、iOSの方が、シミュレータ勝手に立ち上がってくれて便利なので、そうしてる。

(参考URL) facebook.github.io

Activitiy transitionの自分なりの雑まとめ

 

最初に読んだ方が良いもの

Enter,Exit,Shared Elements遷移の3つがあって、どう実装するかくらいは掴んでおいた方が良い。

 

応用編のやつ(RecyclerViewからActivityへの遷移など)

 

 

 

応用は今まさにやっているとこなので、まだ理解できてない。理解できたらちゃんとブログに書く。

プログラミングで大事なことは関数

ぽけ〜っと頭を休めて書きたくなったので、とりとめもなく書く。

 

僕がプログラミングそのもののことをちゃんと考えたのは、上杉周作さんの geek salonの講演を見たことが一番初めだと思う。話の内容としては、上杉さんがカーネギーメロン大学でプログラミングを教えていた経験から「プログラミング学習」について話す、という内容だった。

 

 

本当に残念ながら今はこの動画は無いようで、もう見れないようだ。確か5年前とかに見たのだけど、未だに覚えていることがあって、それは

 

「プログラミングが出来る・出来ないを分ける一番大事なことは"関数"だ。プログラムの全ては小さな関数の集まりである。」

 

ということで、当時、この言葉を聞いて「それだーーーーっ!!!!」ってなったことを覚えてる。今までふわふわとしていたプログラミングの知識が繋がった瞬間だったんだと思う。

 

で、今でも思うのだけども。プログラミングを最初から学ぶと、のっぺりと、この関数のあたりもそっと他の"型"とか"クラス"とかの知識とともに触れていく感じだろうけど、その感じが良くないと思う。もっともっと"全部、関数だ!"って中心に置いてやっても良いのでは?って思う。

 

でも、そんながっつり初心者の方に教えるような機会もそうそうないので、その時までこの気持ちは取っておこうと思う。

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に出来ないかとか考えている自分がちょっと恥ずかしくなった。 

 

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