つよくなりたい

つよくなりたいです よろしくおねがいします

フォルシアさんのサマーインターンに行ってきた

突然ですが、フォルシア株式会社 さんの フロントエンドアプリ開発コースインターンに行ってきました!

技術系のアルバイトはやっていますがインターンも東京も初めてで、最初はちょっと不安でしたが最終的には自分も納得できるレベルの進捗が出せたかなと思います。 以下具体的にどんな感じだったのかを書いていきます。 フロントエンドよく分からないよって人は下のほうだけ読むといいかも。

インターンの内容

自分がやった課題は

  • Next.js + Redux + TypeScript ベースの雛形を使って既存のページを再実装する
  • 再実装の過程で気づいた雛形についての良かった点と改善点をフィードバックする

というものでした。 実装するページはデータ可視化アプリのような感じで、セレクトボックスやスライダーで入力された条件に従って API を叩き、その結果を棒グラフとして表示するやつでした。

Next.js も Redux もドキュメントをざっと読んだくらいで実際に触ったことはなく、作業できる時間も実質 4 日で 30 時間ほどと短かったのですが、個人的には結構いい出来で爪痕が残せたかなとは思っています。 (Redux くらいは募集要項にも書いてあったので触っておけよという感じですが。)

フィードバックのほうも「この記事を読んでこれをやるといいと思います」など具体的な提案ができて、「非常に良かった」と言っていただけたので自信につながりました。

感じたこと

既存のコードを読んで作業の方針を立てたりライブラリを選定したりは普段からやっており、そういう力がしっかり身についているなというのは感じました。 逆に CSSアルゴリズム力は全然で、特にアルゴリズム力については競プロをやっている人が多かったり表示するデータを計算する部分で苦労したりしたので、今後積極的に鍛えていかないといけないなと思いました。 分量を書いたことで Next.js や React の細々した知見も得られ、総合的にはかなり有意義でした。

インターンの環境について

インターン生は自分を含め 5 人だったのですが、みんな専門がバラバラで課題も違ったので良い刺激になりました。 またメンターさんや会社の皆さんが親切で、最終発表の感想をたくさんもらえたのも嬉しかったです。

会社の雰囲気も和気藹々としており、休憩スペースがあったりアイスが自由に食べられたり裁量労働制だったり、福利厚生にかなり力を入れているんだなというのを感じました。 あと、ご飯にも 6 回くらい連れて行ってもらいました。 (ほかのインターン生のツイートですがこんな感じです。)

あと自分はあまり何も考えてなかったのでちゃんとチェックしてなかったんですが、日給 2 万は他のインターンと比較してもかなり高いそうです。

まとめ

初めてのインターンだったこともあってどうなるかなと思っていましたが、親切な社員の皆さんのおかげで無事終えることができました。 機会があればまた行きたいです。 ありがとうございました。

SMLの環境を作った

そろそろ SML しないといけないのでは?と思い立ったので環境を作った。
以下はそのメモ。

とりあえずコンパイラだけ

とりあえずコンパイルはしたいので MLton を入れる。最適化が強力らしい。

sudo apt install mlton

…でもいいが例のごとくちょっと古い。
せっかく環境作るなら新しもの入れよう!と思ったので ここ とかを見る。

GMP とかいう C のライブラリが必要らしい。これはさすがに apt にはなかった*1ので ここ にあるのを落としてきて Install を見ながら

./configure
make
make check
sudo make install

/usr/local/includegmp.h ができるはず。
GMP 自身は こんな 感じで使うらしい。 make uninstall で消せるみたいなので残しておいたほうがいいかも。

MLton に戻る。各リリースのページから落とせるやつは Makefile がついてないのでだるい。 トップページの Download からいける SourceForge の2016年に更新されたやつには Makefile がついてるのでそっちを落とした。

sudo make install
mlton

エディタの設定をする

language-sml とかいう Atomプラグインがあったのでそれで。
普通に書ける。他にもあったのでこのあたりはお好みで。

REPLがほしい

書いてると「ちょっと動きを試したい」とか「これの型は?」となったので SML/NJ を入れる。

sudo apt install smlnj

…でもいいけど例のごとくちょっと古いので(ry
ここ を読むと、どうやら config フォルダが配布されててこれがそのまま設定のフォルダになるらしい。
/opt/smlnj とかに 解凍した config フォルダを配置して

config/install.sh
sml

sml main.sml とかすると起動時にファイルを読んでくれるので試すのに便利。

ところでこいつは↑とか効かなかったりするので rlwraper をかませる。
この通り に進めていく。 M4 とか autoconf もいるっぽいのでないなら apt で入れる。

autoreconf --install
./configure
make
make check
make install

rlwrap sml とすると↑とか効くようになってるはず、便利。 alias sml='rlwrap sml' とか ~/.bashrc に書いとくと捗る。ちなみに ocaml とかもこれでいける。

追記1 : 2017/10/4

GMP は普通に apt にあった。

sudo apt install libgmp10