hunachi’s diary

Android studio でお勉強してます。

pixivさんの冬のインターン(ハッカソン)に参加してきた!

こんにちは!

ふなちです(((o(*゚▽゚*)o)))

 

今回は,pixivさんの冬のインターンに参加させていただきました!

ãã¯ã·ãæ ªå¼ä¼ç¤¾

recruit.pixiv.net

私はアプリ開発Android)での参加しました.

メンターさんは,まーくん (@m4kvn) | Twitterさんでした!

 

面接のコーディングテストではありえないくらい緊張して頭真っ白になってしまいましたが,結果的に参加させていただけたので良かったです.(倍率はそこそこあったみたいだったので運が良かったです.)

ちなみに交通費,宿泊場所(前後泊入れて3泊分),食事を提供していただけたので何不自由なく過ごすことができました.お金のない学生にとってはとてもありがたかったです.

 

1日目

前入りしたので,たくさん寝れました!

インターンやバイトの初日は5割の確率で遅刻するのですが,今回は遅刻しなくて良かったです.(社会性が上がってる!)

 

初めてpixivさんにお邪魔したのですが,いろんな所に絵が描いてあってカラフルオフィスでした.可愛かった.

 

私を含め,6人がインターンに参加していました.Androidインターン生は私を入れて2人でした.

今回のハッカソンは「1人1人で自分にとって最強のアプリを作る」だったのでインターン生1人+メンターさん1つアプリを作りました.1人のメンターさん(まーくんさん)に二人のインターン生が付いていたのですが,別々の物を作りました!アイディアは共有しあってましたが!

 

最初に自己紹介フェズがあったのですが,どの方も色んな分野に手を伸ばしていて,すごいなぁと思いました.

私もAndroid以外の分野にも興味を持てるようになりたいです!(手を出すならKotlinでサーバサイドかな!)

社員さんの方々の自己紹介も面白くて緊張がほぐれました.

 

自己紹介が終わったら早速,アイディアをメンターさんに紹介して,開発をはじめました.

メンターさんが用意してくださったテンプレート(アプリとしての最低限の機能を備えたもので,pagingなども使われており,あまり時間をかけずに作ったという事に驚きました)を参考にさせていただいたものの.最初pagingが使われている部分のアイテムを動的に変化させたいと考えていたため結局メンターさんのテンプレは使わず一から作りました..(そのまま作ってもでけたのでは?とあとで後悔しました(> <。))

 

 \_ヾ(^-^ヽ)

 

ひるめし

f:id:hanahanahunachi:20181219204308j:plain

めっちゃ美味しかった. 

 

\_ヾ(^-^ヽ)

 

Coroutine の Dispatcher.Mainが(UI Thread≒)Main Threadをさすわけではないということをメンターさんから教えていただき驚きました.UI Threadを指したいときはUnconfinedを指定してあげなきゃなんですね.(完全に時代遅れだった)

ちなみに,調べてみたところ,DefaultはCommonPool(Background thread)を指すんですね!

 

\_ヾ(^-^ヽ)

 

ゆうごはん

f:id:hanahanahunachi:20181219204333j:plain

帰りにミルクティーまで頂きました.(このミルクティーめっちゃ好きでした.)

f:id:hanahanahunachi:20181219203846j:plain

 

\_ヾ(^-^ヽ)!!!!

 

(°_°)!

kapt?(コード生成)周りでエラーが....RoomのDatabaseインスタンスが生成されない.治った!と思ったら今度はdatabinding周りでエラーが(号泣)

メンターさんに助けを求めたました.

 

豪華な差し入れを頂きました.

f:id:hanahanahunachi:20181219203945j:plain 

結局,バグとメンターさんを残したまま終電でホテルに帰ることに.

インターン生全員同じホテルをとってくださっていたので安心して帰れました.

 

ホテルについて,まずは休憩にと「寄宿学校のジュリエット」を視聴.期待通り面白かったので疲れが取れました.

 

そのあと頑張って寝る準備をした後,寝る前にもう一度errorと戦いました.

 

\_ヾ(^-^ヽ)

 

戦っている途中でメンターさんから助け舟プルリクを頂いたので,そのプルリクをマージし再戦.でも途中まではうまくいくものの,Databaseのインスタンスが生成されない....apply kotlin-kaptをいれると生成されるが,databindingのエラーがぁ....ほにゃぁ!!!

 そのあと,Room周りのコードの書き方に問題があることに気が付いた.プロパティ名をprivateにしていたし,なんか使ってない引数をとってる関数があるしでやばかったので直しました.

 

諦めて寝ることに.

(´-`).。oO

 

2日目

6時に目が覚めてしまいました.

2度寝を試みるも眠れなかったので諦めて,開発を続けることにしました.

で,バグの方も諦めてdatabindingを使わないことで解決させた.kotlin extentionのおかげでそんなに書き換えるところもなかったし,databinidngの恩恵を得られてなかったので使わないようにしたこと自体は別に悪いことじゃなかったと思います.

メンターさんにも手伝ってもらったのにエラーから逃げてしまいました....すみません.

 

ハッカソン終わった後に試して見た所,

 

apply plugin: 'kotlin-kapt'

...

dependencies{

         kapt "androidx.room:room-compiler:$room_version"

}

を追加して,

やばいプロパティ名やら基本的なミスを直せばいいだけだったぽくて泣いた.

databindingが本質的ではないエラーを出すのはお決まりなのを完全に忘れていました.(この問題はもうそろそろ改善されるっぽいけど.)

ハッカソンあるあるとはいえ,実力がなさすぎてダメヾ(。>д<)シ 

 

その後,9時15分過ぎぐらいに一緒にホテルに泊まっていた方々と会社に向かった.集合時間のon timeで着くことができました.

 

\_ヾ(^-^ヽ)

 

お昼はまーくんさんが買ってきてくださった🍙*2を食べた.シャケと「ごはんです」味.

 

\_ヾ(^-^ヽ)

 

最低限のアプリが出来上がった.

 

差し入れに豪華なケーキをいただいた.

f:id:hanahanahunachi:20181219203938j:plain

発表までそんなに時間がなかったので,スライド作りを始めた.

まーくんさん(メンターさん)にスライドの書き方のコツを教えてもらいながらスライドを書きました.

アプリ名に迷っていたところ,Hunaxivという名前をつけていただいたのにも関わらずその後思いついたFamixivにアプリ名に変えました.(自分の協調性を疑う(> <。))

 

最後の発表の時間!って時になって,アプリのお気に入り一覧が表示されなくなった.

焦ったのですが.アプリのキャッシュを全て消したら治ったので発表には間に合ってデモも上手くいきました.Room周りのバグだったのか....怖いしちゃんと原因を探りたいです.

 

他のインターン生の発表は素晴らしかったです.日本語力を分けて欲しい.

しかも,アイディアも面白くて,特に自分や他人がいつ絵を書いたか見れるカレンダーのアプリと,ただただ絵を見続けられるアプリ(サイト)が好きでした.

特に後者は優秀賞をとっていたのですが,圧倒的でした.私も使いたいと思いました\*1/

 

私の作ったアプリのスライド(一部)とデモ動画をのっけておきます.

f:id:hanahanahunachi:20181221015139p:plainf:id:hanahanahunachi:20181221015202p:plainf:id:hanahanahunachi:20181221015220p:plain

www.youtube.com

 

 結果は,特別賞でした.(なんか色々勘違いがあったみたいで,申し訳ないですが嬉しかったです.)

f:id:hanahanahunachi:20181221015636j:plain

f:id:hanahanahunachi:20181221015253j:plain

FGOの絵がたくさん載ってる本(FGOに詳しくないけどどの絵も綺麗で好き)

本をいただけて嬉しかったです.

絵を書くのが好きな友達に貸したのですが,好きなイラストレーターが書いた絵があったらしく喜んでもらえたのでとても嬉しかったです.

 

懇談会

生魚が食べられないといったら,ピザを頼んでもらえる事になりました.申し訳なかったのですが,ザがすごく美味しくて感動したので頼んでいただけて良かったです.ありがとうございます!! Uber Eatsが便利ということも学べました.

f:id:hanahanahunachi:20181219204215j:plain

f:id:hanahanahunachi:20181219204335j:plain

懇談会では,まーくんさんと軽く設計のお話などをさせてもらえて良かったです.勉強になりました.

人事のかみこさんにも気にかけてもらえて嬉しかったです.ふなちちゃんって呼んでくださりありがとうございます!嬉しかったです.でも気にかけてもらってばっかじゃなくなるくらいもうちょっとしっかりした大人になれるよう頑張ります💪(´-`💪)

 

ごはんを食べた後,ちげさんが持ってきてくださったプログラミングかるたと,gitかるたで遊びました.

楽しかったです.

社員さん方(特にCEOのえどばくふさんとまーくんさん)が強くてさすがだなぁって思いました.私も何枚か取ることができて嬉しかったです.

コードの方でプログラミングかるたをしたら全然先に進まなかったのは面白かったです.

f:id:hanahanahunachi:20181219204238j:plain

 

明日の朝も早いので20時半ごろに先に帰らせていただきました.

 

この後の壮絶なレポートとの戦いは,pixivさんのインターンと関係ないため別記事に後々書きたいと思います.

 

色々ありましたが,無事12時すぎに学校に到着し,実験にも間に合いました.

 

感想

楽しかったです.

pixivさんが思っていたよりもずっとフレンドリーな雰囲気で技術力も高い会社だという事を知ることができて良かったです.久留米高専OBのはるかさんがいらっしゃる関係で弊校(久留米高専)には何度かpixivさんがきているというのにその時に限って留学してたり,インターンいってたりで一度もpixivさんと触れ合うことができてなかったのでとてもいい機会になりました.

 

強い他の学生の方々と知り合うことができたのも良かったです.(今まで参加させていただいたインターンでは他のインターン生の方との交流というものがほぼなかったので...!)

 

作って持ってきたシールも貰って頂けて嬉しかったです(((o(*゚▽゚*)o)))

 

また,まーくんさん(メンターさん)に色々教えていただけて良かったです.最新のCoroutine周りがまだよくわかっていなかったので勉強になりました.

ただ,実際の業務のコードを少しでも見せていただくのを忘れていた(これは面接の時に見せてもらえますか?と聞いてOKをもらってたのに....)し,まーくんさんにgradle kotlin dslについて教えていただきたかったのを忘れてました.もうちょっと計画的に行動できるようになりたいです.

もし次お世話になる機会があったら,その時にでもこれらのやりたかったことを達成したいです.楽しかったので実力を積んでから,もう一度くらいお世話になれるよう頑張ります💪(´-`💪)

 

また,今回のアイディアはインターン当日に急いで決定したものだったので,自分でも納得の行くものではありませんでした.しかももうちょっとAndroidである事を生かせるいいアイディアあったわ....とインターン後に後悔する事になったので次もし同じような機会があったらその時はもっとハッカソンの経験を生かしたアイディアで勝負できるようにしたいです.

 

パーカーやファイル,本など頂いた物はこれからも大事に使わせていただきます.

なんだかんだ福岡は暖かいみたいで,今もpixivさんパーカーでもなんとか寒さをしのげていて,パーカーがとても活躍しています.圧倒的感謝.

f:id:hanahanahunachi:20181224173057j:plain 

最後に,pixivさんの社員のみなさま,他のインターン生の方々,ありがとうございました🙇‍♂️

*1: °ω°