田舎っぺ大学生録

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

Javaでandroid始めようとしたら、kotlin出て来たからこっちはじめます

前ブログで研究でandroidアプリを使うと書いたと思うのですが、それで、最近せかされていたので、勉強しようと思った矢先、kotlinが正式にサポートされることが発表になりました。

この波に乗るしかない!!!と思い、今まで全く知らなかったkotlinなる言語を勉強して、androidアプリを作成してやろうじゃないかという感じです!

とりあえず、公式ページにしたがって、android studioにkotlinを入れまっせ!

Kotlin はじめっせ!

android studio -> Preferences -> Plugins -> Kotlin

で入ります! あとは、普通にプロジェクトを作成した後のに、Kotlinにコンバートできるので、コンバートしたら終わり!

kotlinlang.org

とりあえず….

とりあえず、やりたいことは研究で使う程度のアプリケーションを作成できるようになることが一番の目標ですが、まずはkotlinという言語自体を知らなければ話は始まらないので、そこからやっていきましょう

30分で覚えるKotlin文法 - Qiita

自分はここを参考にさせていただきました!

では早速アプリ!!

早速練習アプリを作っていきたいと思います! www.usaco-pg.com

こちらのサイトを真似て作らせていただきました!

まで作らせていただきました!

github.com

ちなみにここにあります! アプリは、ブランチで切り替えています

ここからの目標

とりあえず基本的な使い方などはわかったので、次は図形をかけるようにすることと、タッチ座標の取得を目標にしたいと思います!!!

SPAJAM2017 東京A予選の反省会

この土日(5/27,28)にSPAJAM2017の東京A予選に出場して来ました。 そして、惨敗して来ました。 その反省会を今回は行います。

作ったもの

テーマが笑顔だったので、自分たちはそれを、内輪で笑顔になるゲームを作ろうとしました

これがその時のソースです

github.com

作ろうとしたと言った時点で、完成というか、プロトタイプとして想定していた、地点までも達せませんでしたと大会自体のオチは先につけて起きます。

技術

使ったもの技術は、以前ブログにも書いた通り、React Nativeです。 他には、写真をアップロードするためにS3を使ったりしました。

想定地点

僕らの想定では、まず、一人一人、自分の思う最高の笑顔を絵で描き、それを真似て写真をとり、みんなでどの人が一番近いかを投票し、かつ顔認証apiを使って笑顔のラックのポイントの高い人順に順位をつけるアプリを作りたかったですが、

実際できたのは、写真を取るまで、投票や、顔認証apiを使った、判定などはアプリに盛り込むことができませんでした。

反省点

反省しなければならないところはいくつかあるのですが、自分が思うところをいくつか書いていきたいと思います。

React Native

React Nativeを僕はちょこちょこ触った程度でしたが、ぶっちゃけなんとかなると思っていました。しかし、問題が二つ発生しました。

1つ目は、コンフリクトの嵐

2つ目は、ルーティングがうまくいかない

まず一つ目のコンフリクトの嵐はreact native のパッケージ管理にあります。 僕らはそれぞれが、とりあえず、別々に機能を作成していきました。なので、ブランチごとに入っているパッケージが異なってきます。すると、react-naitve link をする際にios,androidみんな設定ファイルが、変わってしまい、うまくいかず、それを直すのに一人のリソースを最低待ったことは反省点でした、一度、三人で、簡単なものでいいので、作っておくべきだったのかもしれません、そうすればこのミスを回避するために、gitignoreにファイルを追加してやれたと思いました。

二つ目のルーティングがうまくいかないのは、UIをNative Baseというパッケージを使っていたのですが、そのアニメーションをつけようとすると、どうしてもReduxが必要になり、誰一人、Reduxに地検が深い奴がいなかったので、使えず、そこでかなり詰まりました別のチームのようにstateを別のサーバーで管理すればスムーズに言ったのかもしれません。

テーマ性にそい、かつ勝ちを狙えるアイデアの捻出

僕らは、三人エンジニアで挑んだのですが、昨年、アイデア出しでかなり苦戦したんで、それを踏まえすぐに決めました。 僕らの作ろうとしたものはぶっちゃけ内輪でやるぶんには楽しいアプリになるかもしれませんが、勝ちを狙えたかといえば、それはかなり、難しかっただろうと、終わった後に話に出ました。 確かに、プロトタイプとして、動作して、プレゼンの準備に時間を割くことができれば、優秀賞を狙えたかもしれませんが、そこまでを逆にできなければ、狙えないほどのハッカソン向きではない案だったのも反省点の一つです。作っている時や、アプリを使っている自分たちは楽しかったですがwww

路線変更可能性と技術固着

ここまで読んでくださったかたなら分かると思いますが、このアプリケーション、顔認証を行う部分以外、全てフロントで完結させることが可能です。なので、『React Native だけでいいじゃん!』 となってしまったことがそもそも間違いだッタノかもしれません。 サーバーを先に書いていれば面倒な処理はサーバーでさせればいいじゃんとなッたかもしれません。そういう意味でも、路線変更可能性を考えた上で、進めるべきで、react native 完結アプリという、固定観念に縛ってしまったことも反省しなければならないです。

反省を踏まえ

まぁ反省はしましたが、得られたこともありました。 しかし、やはり反省すべきことの方が多いですので、ハッカソンに出るときは次は気をつけることとして頭に入れつつ、デザイナーやプランナーの存在がとてもデカイのは知っていましたが、アイデア出しの面でも重要だとわかりました。

とりあえず

とりあえず、React native はしばらく触らず、Kotolinで研究のandroidを書くので、これを機に覚えて来年はこいつで勝負できるようになりたいなと思います! ので来年も参加させてもらえるように頑張ります

mixiさんについて調べててめっちゃ良さげなのみつけた話

はじまり

この前書いた、逆求人の話まで戻るのですが、そこでお話させていただいた企業さんの中で自分の中で興味を持った企業さんのことを最近調べています。その中で、mixiさんを調べている時に、 こんな記述を発見しました。 f:id:shota-df-412:20170508192146p:plain

自分は興味を持った企業さんのgithubをあさったりするのですが、まだmixiさんのは見ていなかったので早速飛んで見ました。

android アプリ開発のトレーニングリポジトリの発見

自分は研究でandroidを触ることにはなっているのですが、研究で使うレベルなので、製品レベルとまではいきませんが、それなりのチュートリアルが欲しいなと思っていたところでした。 以前、先輩に進められて、みたcookpadさんのサマーインターン2016年用のリポジトリを見たりもしたのですが、内容はとてもたになるのはわかるのですがまだ、はじめてもいない人間には厳しいものがありましたし、apirailsで作成してからスタートだったので、そこは話がずれてくるので、やめてしまっていました、

github.com

indexを見て

かなり細かい内容で別れているなという印象でした、ここまで、しっかり書いてある感じのものはなかなかフリーではないので、一からやっていこうと思っています。

java に関して

javaは自分は昨年度授業でやっていたので、基礎文法は分かっていますし、来期(2学期)にはjavaの応用編の遊行も取っているので、先に復習もできてちょうどいいかなって感じです。

ということで、、、

勝手に興味持ってあさってブログに載せてしまいましたが、また勝手に勉強させていただきたいと思います。

Raspberry pi でよく観光地で見るあれを作る ①

色々縁あって

田舎で大学生をしているのですが、観光地なので色々歴史好きにはたまらないであろう場所が多くあります(ちなみに僕は割と歴史好きです) そこで縁あってよく観光地や博物館で見かける押すと動画が流れるものをRaspberry pi で作ることになりました。  

セッティング

raspberry pi 3をとりあえずセッティングしていきます。 基本的にこちらの記事を参考にやっていきました qiita.com そのまま淡々と、インストールして、os イメージ焼いて、、、 と進んであっという間に起動まではいきました。

SSHの設定

さて開発を始めるにあたり、ラズパイ自体をいじってやって言ってもいいんですけど、sshして開発を進めていきたいので、設定していきます。 以前、raspberry pi zeroを触った時と同じかなー、と思い中がら説明の通りに進めて行こうと思いましたが、そんな時事件発生しました。

なんと以下のような画面が出てこない!!

スクリーンショット 2017-05-02 23.53.20.png

というのも9番のAdvanced Optionsが別の番号のところにあるし、そこへ言っても中にSSHはないし、どうしたらいいんダーーーーーとなって、公式ドキュメントをみにいきました。

www.raspberrypi.org

そうしたら、これ通りにやったらできました。他の色々なサイトをみたのですが全部バージョンが古くできませんでした。

これで開発ができるようになったので、これから作っていきたいと思います。

逆求人に行ってきた

逆求人イベントに行ってきました!

キャリアセレクト主催の逆求人イベントに行ってきました。 まだ3年になったばかりなのに早い気もしますが、せっかくお誘いを受けたので行ってきました。 (この土日レスポンス遅くて申し訳なかったです。)

モチベーション

どんな心持ちで行ったかと言いますと、「自分は評価されるのか?」 というところが一番大きです。

このブログの記事で行ったかどうかは覚えていませんが、自分はプログラミングを始めたのは大学に入ってから、というよりキーボーすらほとんど触らずにきた人生でなのです。この二年間がむしゃらにやってきたことがどう評価されるのか、そこが一番のポイントでした。

もう一つが自分の知らないサービスや取り組みを知っていきたいというのもありました。

プレゼンをしてみて

僕は4社の企業さんにプレゼンをさせてもらいましたが、なかなか体力が必要でした。同じことをなんども話すのと、企業さんごとに聞いてくる内容も違うので、頭をなかなか回転させて話さなければならなかったです。 あとは、初めから自分に興味を持ってくださっている企業さんはとてもやりやすかったです。(興味なさげに来られるとなかなかやりづらい… )

企業さんのイメージ

色々なことやってるんだなっと率直に感じ待ちた。 自分はまだまだ、企業さんの活動や、サービス知らないんだなと思いました。そして、面白いサービスもあれば、これから絶対伸びそうなサービスも見れて、興味が一段と沸いたのでもっといろんな方とお話したいなと思いましたし、今回お話できた企業さんの話ももっと詳しい話を聞けたらなと思っています。

これから

自分は単純にまだまだなんだなと感じさせられました。 周りの一緒にやってた同じ2019年卒業のエンジニアのみんなはとてもすごい人ばかりで、技術力や経験で全く歯が立たないし、自分はやはり狭い世界に住んでいるのだなと思い知らされました。ので、これからもっと山の壁を乗り越えて、外の東京や、別の活動している地域と関わっていきたいと思いました。

田舎大学生(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よりこっちのがいいだとか…