Yamashouは田舎に行きたい

ある田舎県の田舎の町で大学生やってた僕が、思ったこと、やったこと、勉強したこと、などをつらつら書いて行く

田舎大学生(2年生)の春休み一ヶ月

お久しぶりです!!

2ヶ月ぶり?の更新になると思います。ちょっと春休みが予想以上に忙しくなってしまって、更新できていませんでした。またこれから、だらだら書いて行きたいと思っていますのでお願いします。

春休み何してた?

基本的に田舎の外に出て活動してました。

時系列順に書くとこんな感じです。 東京旅行と台湾旅行は個人的な楽しみとしていったので、別にこれといって、特別なことはなく友達と楽しみましたw

ので、真ん中二つ、三週間の出来事について書いて行きたいと思います。

面白法人カヤックさんでのインターン

二年生なのに?と思う方もいるかもしれませんが、自分の通っている大学と縁があって、就活とか学年は関係なく参加させていただけるとのことだったので、だったら高校の頃から、ゲームもやっていましたし、大学に説明かにも来ていたのを知っていたので、参加したいと思ってお願いしたところ、4度の面接の末行かせてもらうことが決まりました!

何したの?

自分は技術部にエンジニアとして、二週間参加させていただくことになったので、エンジニアとしてインターン生にもできる、そのときあるお仕事のお手伝いをさせていただきました。他の会社と違うのが、インターン生用のプログラムがないところで、実務に直に携われるというところです!!最高ですね!

やったことは詳しくいっていいものなのかわからないのですが、軽くリストにするとこんな感じです。

  • webベースtweetカウントソフト
  • lambdaで関数作成
  • ブラウザ判定スクリプト
  • 画像編集スクリプト作成
  • webベースtweetカウントソフトのreact化

こんな感じで、使ったものは、

ですね、自分が普段多く触っているのが、pythonでその次ぐらいがjs、Rubyだったので、言語的問題はなかったのですが、expressは触ったことがなかったですし、Reactはまだまだ腑に落ちていない部分が多くある状態だったので、勉強しながらって感じでした。 画像編集スクリプト作成以外のものは基本的にjs系メインでした。 最近ちょっとjsから離れていたので、jsは古い知識などのアップデートをしながら、Rubyrailsをその頃触っていたので、使うライブラリの使用を見ながらやればなんとかなりました。

結局どうだったの?

なかなか濃い二週間で、充実していましたし、かなり集中してできていたのでかなり為になりましたし、Reactがつかめたのはかなり大きかったかなと思っています。自分的には横浜っていうのもかなり良かったです!東京ほど、平日からゴミゴミしていなくて!

Bold internship in usa メルカリ

こっちは軽い感じで、『どうせ受かんないし、書類審査通ったらメルカリの中が見れたらラッキー♪ぐらいの気持ちで受けました』 そしたら、最終審査で、周りが東京の名だたる大学の先輩や大学院生の方々ばかりで、内心『やっぱり受かんねーな、おわたな(゚∀゚)』と思ってがむしゃらに受けたら、通ってしまって、春休み唯一の何も入っていなかった一週間にぶち込んで、横浜から実家に帰り次の日に出発しました!(なかなかハードでしたw)

何したの?

エンジニア職で通ったとは言え、やることはエンジニアあんまり関係なくて、ガチャで決められた州にいってアメリカでメルカリを流行らせる方法をユーザーリサーチなど中心に、調査して報告する!というものです。英語が弱い自分は先にアンケートを知り合いに渡して、向こうの大学でやってもあってその結果と現地でのユーザーリサーチを行いました!

結局どうだったの?

初めての海外で何もかもが新鮮で、勉強の一週間でした。言葉の壁をここまで感じるとは思いませんでしたが、気合いでなんとか生きていける程度にはなんとかなりましたし、初めて別の文化の中に飛び込んで、自分がマイノリティーなって、日本に来ている海外の人たちの気持ちも少しはわかった気がしました。とにかくいい経験でしたし、機会があればまたいきたいなともいました。

ということで、

春休み前に立てた目標とはだいぶ違った春休みになってしまいましたが、貴重な経験ばかりでありがたい春休みでした。 Reactがわかって、そのあと余った日付で、react nativeだけは触って見て、なんとなくできるようになったので、続けて何か作って見たいと思います。

Bold internship in usa メルカリ URL www.mercari.com

僕なりipython notebookによるデータ解析

僕は長期インターンをやっていまして、今の仕事内容として、データ分析をやらさせていただいているのですが、そこで使っているのが、ipython notebook(jupter notebook)です

今日もその作業をやっていたので、その辺について書いていきたいと思います

なぜpython??

自分の中ではデータの量や型の制限が他言語に比べないと思っていて、データ解析を始めるにあたって、初めR言語を勉強しました。そしてRを使っていたのですがデータ量が多かったり、データの中に型違いがあったりして、そこに対応できなくて、もともと勉強していたpythonを使ってみて、そして、調べてipythonを使ってみて使いやすかったし、データ量、型違いにも対応できてかつ、スクリプトとして書いて、他の人に使ってもらうこともできたので、pythonにしています

python バージョン

anaconda3-4.1.1でpython3の開発環境をcondaで作ってやっています

いつも使っているライブラリ

  1. pandas
  2. numpy
  3. networkx
  4. graphviz
  5. matplotlib

作業順序

  1. 抽象的な依頼とデータを投げられる
  2. データの確認
  3. 必要データの抽出
  4. 欲しいデータ分析結果を出すために整形
  5. 解析用のスクリプトtest組む
  6. 別ファイルで、これまでのフローを一括でやれるスクリプトとして組み直す
  7. 6で作成したスクリプトを使って何通りかの分析を行う

だいたいこんな流れでやっています 正しいかどうかはわかんないです、助言が欲しいw

勉強したこと

この二つをやりました。 二つとも会社が勉強用に用意してくれたもので、それをやりました。 一つ目の本の方はなかなか面白くできましたし、こういう解析方法があるのか!と思いながら、実際にRをいじりながらできてなかなかためになりましたね

二つ目の講座の方は僕はあまり受け付けませんでした! というのも、僕が受けて見て思ったことが以下の通りです

  1. 翻訳を読んでいるかのようで頭に入ってこない
  2. 1より時間が経つと気持ち悪くなってくる
  3. 個人的にドットインストールの声のが好き

こんな感じで、続きませんでした。 あくまで個人的意見なので、受けて見てもいいかもしれません!

まとめ

こんな感じの環境と手法で解析しているのですが、田舎ではこう行った勉強会などは行われていないので、独学なのでぶっちゃけ古いのか間違っているのかもわかりません!!! ので詳しい人は教えていただけるとありがたいです! こんなツールがあるだとか、pythonよりこっちのがいいだとか…

春休みがやってきた!!!

昨日で、テストも終わり今日から大学生の長い長い春休みがやってきました。 と言っても、僕は私立大学ではないので、他の大学に比べたらさほど長くはないのですが、それでも、一ヶ月半自分には自由な時間が与えられました。ので、この春休みにやりたいことを書いていきます

前提条件

とりあえず今の僕のステータスを書いておきます。

  • 田舎の大学生
  • 情報系学科
  • 来年度から3回生

今勉強しているもの・使ってみているもの

今まで、(大学2年間で)独学でやってきたこと

言語

その他

  • serverless
  • チャットbot

やりたいこと!!

これまでweb関係など、かたっぱしから勉強してきましたが、そろそろ散らばった知識を固めて、アプリにして、形あるものにしていきたいと考えています!!

とりあえず、 今勉強していることを自由自在に操れるようになる!!!

ただ、なかなかのボリュームであるのはわかっていますし、どこまでできるようになるかはわかりませんが、とにかくやってみたいので、この一ヶ月半やってみたいと思います。

すでに決まっていることなど

ちょっと、いろいろ縁があって、一週間アメリカに行ってくるのと、ある都会の会社でインターンさせていただけることになったので、そこではRoRを使っているようなので、盗めるもの全部盗んでこようと思います!!

まとめ

こう書いてみると、わかっていたような気がしていた、自分の持っているものと持っていないものを再確認できました。 が、実際大したことないものなのに書いてしまっていいのかとかも思いましたが、書いてしまえば逃げられないので、書いてしまいました。 では、やってみますか!

とりあえずReact Native THE BASICSをやってみた

昨日から、やっと環境設定も終わってようやくはじめられたんでとりあえず、THE BASICSをやろうと思って始めました。

なんとなくでコードをかいてみる。

サンプルコードをとりあえず使ってみて、やってみました、 英語よくわかんないんで、コードからだいぶ読み取っていくことにしました Reactのチュートリアルもこの方法で一通りやってみたんですけど、だいたいわか理ましたし、React自体やってるんで、少し思い出しながらやっていきました。

やってみて…

とりあえず単純に写経したんですけど、アプリケーション名と違うと、エミュレーターが真っ赤になってしまいまして、あ、ここは同じじゃなきゃ行けないんだ!とはじめ思いました。 でも、だいぶReactと似ていて、違うのはhtmlとxmlの違いぐらいかなーと思っています。(今は)

感想

取れあえずTHE BASICSは全てやってみましたが、上記した通り、Reactに似ていて、それでスマートフォンアプリとして、できてしまうところにすごい魅力に感じていて、もしかして、web , ios, androidを同一のコードで、一括管理ができるのではないかと考えて、それができたら、めちゃくちゃすごいな!とも思っています。

次に

次にGUIDESをやっていきたいと思います。そして、その下GUIDES(Android)をやって行って、Androidを先にできるようにしたいと考えています。 目指せ、春休み明けに自由自在に操れるReact Nativer!!!!

テスト勉強とかやめて、React Native始めた

本日は2017/2/15明日は今期最後のテストがあります!!!!

まぁ、課題も出してるし、出席もちゃんとしているので、単位はもらえるでしょうということで、この春去年参加した、SPAJAMに今年も参加しようと思っていて、友達と参加する予定なのですが、去年もそうでしたが、僕らは モバイルアプリケーションを作ることができません!!!

普段、webアプリ関連や、データサイエンティストまがいなことばかりやっていて、全くではないですが、コンテストや発表のできるレベルのものは作れないのです ということで、昨年はmonacaとmobaile backendを使って開発しましたが、今年は React Nativeを使おうと思っているので、これから春休みをかけて、ちょこちょこ勉強していこうと考えています。

※僕はSwift2系で基礎的なアプリを作ったことはありますが、そこで止まっていて、忘れています

※本当はandroidの勉強もちょこちょこし研究で使うのでしていますが、研究で使う程度の機能なので、そこまで深く流行っていません

なぜReact Native??

なぜReact Nativeを選択しようと思っているかと言いますと、理由は二つあります

一つ目は ios,Android開発経験が薄いということ

二つ目は 全員JSを使った経験があるということ

この二つの理由から、最近よく聞くようになった(個人的に)のと、JSを使ったことがある経験値があることから、学習速度がiosandroidを勉強するより早いと思ったし、どちらにも対応できるということで選択しました。

とりあえず、チュートリアル

React Native チュートリアルをとりあえず、僕が今使っているのが、androidなのでandroidチュートリアルを始めました!! とりあえず、順序通りにやっていったのですが、ここでハマりました

スクリーンショット 2017-02-16 0.59.23.png

ここで

$ react-native run-android

....

Starting JS server...
Building and installing the app on the device (cd android && ./gradlew installDebug...

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> failed to find target with hash string 'android-23' in: /Users/hoge/Library/Android/sdk

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 6.472 secs
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/android-setup.html

と怒られてしまって、 まず、android-23がないと思ったので、android studioSDKを入れて再度試したのですが、変わらなくてだいぶ困りましたが、

http://stackoverflow.com/questions/32731858/react-native-target-with-hash-string-android-x-not-found

ここを参考にして、android/app/build.gradle をANDROID_HOME/platformsの中にあるもののバージョンに合わせて変えました

compileSdkVersion 23
buildToolsVersion "23.0.0"
compileSdkVersion 24
buildToolsVersion "24"

もう一度実行してみたところ、エミュレータが正しく動いて、やっと表示されました!!!

これからやりたいこと、

とりあえず、ひととおおり学んだら、クソアプリを2~3個作ってみて、そのあと、テンプレート的なもを作っておいて、ハッカソンなどで会うt買いやすいようにしていきたいと思います!!

感想

実はこの環境設定に気づくまで、一昨日からやっていたので、三日間かかっていしまいました、、、 いやー大変でした、本当出来た時もういっかな、って思っちゃうぐらいでしたが、ちゃんと勉強していきたいと思います。

勉強の技術を読んで

テスト勉強の逃避に溜まっていた引き出しの本を読んでみたので、本について書いて行きます

読んだ本

勉強の技術という 勉強の仕方について書いてある本で、記憶法から習慣まで勉強のために必要なフローを網羅して教えてくれました

買った理由

なぜこの本を買ったかと言いますと、僕はもともと、こういう本が好きで、中学、高校と勉強法、勉強理論に関する本を結構読んきていて、この本も目について、読みたいなと思って書いました。

この本に対する読む前の目的

この本を読むにあたって、欲しい情報と得体知識は

  • 生活と勉強の関連性
  • 技術的に効率の良い勉強法
  • 科学的な根拠

の三つが知れればいいかなと思って読み始めました

読んでみて…

得られたもの

従来法に対する説明と根拠

結構今まで読んできた本の内容と変わらない内容のものが多かったのですが、どの本も『自分が体験して、その方法を他人にもやってもらって成果が出たので、これが成功します!!』というのですが、それって、その人だからできたとも言えるし、失敗例があるのではと思ってしまい、半信半疑なのですが、この本では科学的根拠や、筆者の読んだ本からの引用、そして、自らの体験談によって書かれているので、説得力があり、従来どの本にも書いてあるようなことをさらに納得して自分に落とし込めました。

分析面

他の本でも多くの分析方法が載っていますが、大抵、どの本も一つの本にそこまで多くの手法に関する調査方法、分析方法は載っていませんが、この本には自らを分析するための方法が書いてあって、自らの足りないもの、あるものを洗いざらい見つけ出せ、どの本より、無駄を省けると感じました。

ここは違うかなと思ったこと

深く掘る

勉強は深く掘って行ったほうがいいと書いてあるのですが、僕はそうは思えなくて、確かに、受験勉強などは出る部分を掘ったほうがいいのかもしれないですが、それが深く掘っているのかどうかなんて見る尺度によって変わってくると思っていて、 例えば、TOEICを勉強するとする、当然高得点にしたいので、出る問題を勉強します。しかし、TOEICは受験者にとって、目的ではなく、通過点だとして、本当の最終目標が、英語のマスターだったら、これって、あんまり深くほれていないのではないのかと思いました。自分がコンピュータの勉強をしているので、そう思うのかもしれないですが…

取り入れたいこと

僕自身あまりノートをとって、メモを残したりする人ではないのですが、この本を読んで、紙やノートを計算用紙としてではなく、残せる、データとして残して行きたいと思いました。

まとめ

勉強法にはやはり多くの本で語られているような手法は大抵当てはまっていて正しいということを再確認したのと、それに至るまでの生活習慣やフローなどを知ることができました。