Wiita

自分にとってのメモと, プログラミングに関する情報を発信していきます. サイト名の意味は特にありません.

電気通信大学大学院を修了できそうです

電気通信大学大学院 修士課程を修了できそうです.

編入学してから卒業までを振り返って行こうと思います.

一番感じたことは,いい大学に行くのももちろん大事なんですが,どの大学に行っても,自分でいかにいい方向(楽しい方向)に持っていけるかが大事だなぁ っていうことです. なんとなく過ごしてたらまじでもったいない.

編入直後

編入してからは単位認定に励んだのですが,結構認定してもらえました.先生がとても協力的だったのが幸運でした.

勉強

電気電子工学科から,情報系へ入ったのですが,高専でもOSの話とか信号処理,アルゴリズムはやってたのでそこらへんも認定してもらえて,学部の授業は本当に学びたいことだけを学べました.

データベース論や,ネットワーク系,あとはプログラミング言語の話などなど. もちろん3年生なのに2年生に混じって英会話したり,1年生に混じって保険の授業受けたり,1・2年生に混じって体育(スキー合宿)したりもしてました. 結構一般教養科目を取らないといけないので時間割は他の3年生に比べるとパツパツでしたが,楽しかったです.

電通大の1類 コンピューターサイエンスコースの実験はとっても良い授業で,こんなことやりました

すごい楽しかった...またやり直したい.

サークル・部活

サークルではありませんが,高玉研究室でやっているARLISSというプロジェクトに編入生の先輩つながりで参加しました. 大学やってよかったことの1つは,このARLISSへの参加です.

アルバイトが23時に終わってから実験を行うようなハードさで,めちゃくちゃしんどかったですが,めちゃくちゃ楽しかったし,この動画はいつみても「あぁ〜〜あのときは頑張ってたなぁ〜〜〜」って思える最高の動画です...

アメリカのブラックロック砂漠で,自分が作ったロボットがロケットに積まれて発射され,無事に着陸して走り出したときは感動しました.

www.youtube.com

学部4年の 研究室生活

研究室は今流行りのAIとビッグデータを謳う研究室へ.

学部3年生のときからテスト勉強を一緒にしてた友人3人が同じ研究室だったので最高に楽しめました.

ビッグデータ!AI!というよりは,IoTシステムを作ることが多く,実装が好きな自分にとっては良かったのかもしれません.

休学期間

学部4年から働き始めたベンチャーで1年間もがくために,休学しました. 大学でやってよかったことの2つ目はこの休学でした.

ずっとそのベンチャーだったわけではありませんが,総じてとてもいい経験ができました.

2社での長期的なインターン(業務委託みたいな感じ)と,リクルートでの短期インターンを通して

「どういう会社で働きたいんだ?」「どういうことができるようになりたいんだ??」「何が好きなんだ?」

みたいなところがクリアになったと思います.

修士生活

最初の1年はM2になったB4の時の同期と仲良く研究室生活を送っていたのですが,僕がM2になると仲が良い人はみんな卒業したので,最後はとてもさみしい一年間でした笑

研究一筋!というよりは,自分の時間を大切にして,英語の勉強やサマーインターン,アルバイトにも注力してました. そういうところに注力できるくらい,時間に関してはゆるい研究室を選んだのは良かったと思います.

研究もM1の最初はやりたいことができてないと感じてましたが,最後はあれよあれよとやりたい方向に寄っていくことができたと思います.

満足の行く成果はありませんが,どうにか後輩が発展させてくれるといいなと思っております...

大学院は授業もいいのがありました.

ハイパフォーマンスコンピューティングの授業は,アルゴリズムとか計算量じゃなく,実際にプログラム的にどう高速化できるのか,という話で,SIMDOpenMPを使ったプログラムを書いたりしました. CUDAとかもやって,「なるほどーーーむずい」って感じで,評価は「可」でしたww

ベイズとか深層学習とか,P2Pの授業も良かったです.

ソフトウェアセキュリティの話はめっちゃ面白かったです. どうやって攻撃してるのか,その防御方法は?みたいな話をしてくれてました.

まとめ

編入して,休学期間も合わせて5年間の大学・大学院生活でしたが,とても良いものでした. 支えてくれた家族には感謝しかない.

4月からの社会人も頑張ろうと思います!!

春休みは手を付けにくいようなことを頑張ってやります!!OS自作入門とか,CPU創る本をやる予定です!!!

おすすめの本があったら教えて下さい!!

jetson agx xavierにPyTorchをインストールする

pipからpytorchをインストールしようとすると,このようなエラーがでちゃいました...

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-7PRgOy/torch/

ARM用にビルドされたバイナリを使う必要がある

こんな手順でできるそうです. これは公式がサポートしてくれています. 1.7.0をインストールする手順を示していますが,他のバージョンのインストールも可能です. (URLとかは先程のリンクにあります!)

pip3 install cython
wget https://nvidia.box.com/shared/static/cs3xn3td6sfgtene6jdvsxlr366m2dhq.whl
mv cs3xn3td6sfgtene6jdvsxlr366m2dhq.whl  torch-1.7.0-cp36-cp36m-linux_aarch64.whl
pip3 install torch-1.7.0-cp36-cp36m-linux_aarch64.whl
sudo apt install libopenblas-dev

cythonをインストールせずに行うとこういうエラーがでます

ModuleNotFoundError: No module named 'Cython'
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-3caqz9c0/numpy/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-qk46wyli-record/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-build-3caqz9c0/numpy/

libopenblas-devをインストールせずにtorchをimportするとこんなエラーもでます

libopenblas.so.0: cannot open shared object file: No such file or directory

追記: torchvisionのインストール

sudo apt install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
git clone --branch v0.8.1 https://github.com/pytorch/vision torchvision
cd torchvision
export BUILD_VERSION=0.8.1
pip3 install --user setuptools
python3 setup.py install --user

www.syarudhi.net

ここ5年くらいで買ってよかったもの

鍋つかみ

100均でOK.QOLが圧倒的に違う.

BAGGUのエコバッグ

かわいいし大容量. でかいパックのお肉を横にしなくても良いから助かる.

NaTure Remo Mini

Alexaと一緒に使っているけど,QOLが圧倒的に上がる.

家に帰ってきたら電気ついたり,デスクで作業していて少し暗くなってきたなと思ったら声だけで電気点けれる. 家の証明がリモコンで制御できる家に住んでたらめっちゃおすすめ.

オキシクリン

こいつで洗濯機洗浄したらめっちゃフィルターにサビがついてた...!!! 恐ろしい.

オキシクリーン 1500g

オキシクリーン 1500g

  • メディア: ヘルスケア&ケア用品

電動歯ブラシ

電動歯ブラシは絶対にフィリップスがいいらしい. 歯ざわりが全然違う. 僕は歯並びがすごく悪いけどそれでもいい感じ.

Fire TV Stick

テレビだけあってアンテナ繋いでないんですが,Fire TVだけあればめっちゃいい. めっちゃ布教してる.TVerYoutubeもAbemaもプライムビデオも見れる. 暇なときはとりあえずAbemaのアニメチャンネルを垂れ流すようにしてたらあたしンちにドハマリした.

リストレスト(パームレスト)

セパレートキーボードを使ってたのでセパレート式を買った.普通にキーボードなら長いやつ1つあると良さそうだけど,トラックパッド用に小さいのも合っていいと思う. 結構手首が痛くなってたけど,これ買ってから痛みが減った. 木のやつとかあるけど,そっちは知らない.Twitter見てる感じ木のやつも良さそう.

タイガーの魔法瓶

500ml入るし,何よりも軽い. めっちゃ愛用してる.

タイガー魔法瓶(TIGER) マグボトル グラファイト 500ml MMZ-A502KG

タイガー魔法瓶(TIGER) マグボトル グラファイト 500ml MMZ-A502KG

  • 発売日: 2019/08/21
  • メディア: ホーム&キッチン

めっちゃうるさい目覚まし

全く起きれなかった僕が必ず目をさますほど音がでかい目覚まし. 二度寝はするけど「目覚ましに気づかなくて...」ってことは無くなった. 僕が思うにデジタルな音より鐘がなるような物理的に出される音のほうが響くからいい.

LaTeXのlistingで「Listing」とか「プログラム」って書かれるのを好きな言葉に変えたい

LaTeX初心者で jslisting.sty がないと,プログラム番号の名前を変更できないのかと思ってました. ちなみに僕は環境の都合上 jvlistingが使われてるみたいです.それが何なのかも分かってないけど.

Listingとかプログラムを好きな言葉に変更したい

例えば「コード」にしたい場合は下記を追加すればOK.

\renewcommand{\lstlistingname}{コード}

めっちゃ簡単でした.

LaTeX苦手です.

2020年の振り返りと2021年やりたいこと

2020年がもう終わりますね.

2020年の振り返りと2021年にやりたいことを自己満で書いていきます.

作ってたサービス終了

2019年2月頃からピボットをしながら作り上げたサービスが2020年2月にようやくリリース. そして2020年にクローズです. 詳細はこちらを.

wally-ngm.hatenablog.com

クローズしてから結構社内でも反省会を開いたり,社員さんは「起業の科学」という本を読んだりしてました.

起業の科学 スタートアップサイエンス | 田所 雅之 |本 | 通販 | Amazon

色々といい経験になったというか,「もっとこうしてればよかった」みたいな反省点が浮き彫りになりましたね.

エンジニア目線でいうと,Kotlinを使ってAndroidアプリ開発を思いっきりできたのは良い経験でした.最後はnavigationを導入したりしてました.

GoとFlutterでサービス開発

サービスがクローズしたので次のサービスをGoとFlutterで開発することに.

社員さんがFlutterの技術検証を始めてから2ヶ月程度でリリースできたと思います.Flutterを教えてもらったりしながら,僕はGoでサーバーサイド書いております.

サービス開発でGoを使うのは初めてなのですが悪くない印象です.静的に型をつけれるので安心感はありますし,ライブラリとかも使いやすいです.echo-swaggerを使うことでめっちゃ楽にドキュメント作れてるのは最高です.有識者が社内にいないので,良くないところに気づけ無いの不安材料になってます.OSSとかブログを読んで改善していこうと思います.

github.com

Flutterもちょこちょこ書きますけど,すごく良いです.結構好きになりました.

その事業はというと今はまだまだ検証段階です...! 検証もヒアリングを通して,という感じでなかなかスピーディーにはいってないですが,検証を回してるのを間近で見れてるのはすごくいい経験かもしれません.データみて定量的にユーザーの行動を分析できる方が多分スピード感はあるし,楽しいですよね.でもそれまでの道のりはめちゃくちゃ泥臭く,地道なものなんだと痛感しました.今動いているユーザーが多いサービスもきっとこういう地道な検証を積み重ねて大きくなったんだなと.

会社に属してではなく, 初めて友人と2人でサービスをリリース

10月頃に一回リリースしたんですが,自分たちで使ってみて,よくないなと感じたところを修正しようとして,今リニューアル途中です〜!

自分たちが「こういうのあったら良かったのに」と始めた教育っぽいサービスなので大学生とかに好きになってもらえるように,ほそぼそと開発を続けていこうと思います!

修士卒業(希望)

やりたいことを100%できているわけではありませんが, どうにか修士を卒業しようと奮闘中でございます.

今も絶賛最後の実験をして,データ出したりその精度を出そうとしたりしているところです.1月から修論執筆を始めようと思いますw

初のオンライン英会話

今は月額料金を払えるほど裕福ではないことを理由に, やめていますがオンライン英会話を体験しました.

やってみるだけで結構英語への敷居は下がったので, TOEICとかが目標ではなく「英語をスキルとして身につけたい」と思っている人には結構おすすめです.

ちなみに私はネイティブキャンプをしました. 1日にレッスンは受け放題なのと, ネイティブスピーカーを選ばなければ全然レッスン空いてましたので良かったです. フィリピンの方は発音に違和感なかったですが, アフリカの方の方が少しだけ違和感がありました(発音を語れるほど流暢ではないですけどw)

本を(自分にしては)たくさん読んだ!

今年はたくさん本を読んでインプットができたなと思っています!

DevOpsっていうけど,DevOpsの考え方ってそもそも何,みたいな話が書いてあってとても好きな本です.また読み返したい.

数学の復習から,実装までを一通り学べました.楽しかった.

エピソードがたらたらと書いてますけど,ふわふわと生きてる自分の妹に読ませたい一冊でしたw

本当に基礎の基礎という感じ.機械学習とかデータサイエンスをこれから入門しようとしてる人とか,非エンジニアでサービスにAI組み込みたい人とかにおすすめできそうです.

研究室には自然言語処理やってる人もいるので少しでもゼミで内容を理解できるようにとやってみました.自然言語処理をサービス・システムに組み込むならこんなふうにやるよ〜みたいな感じで進める本なので,僕は結構楽しめました.自然言語処理そのものを勉強したい人にはおすすめできませんが,自然言語処理という技術を使って何か生み出したい人にはおすすめです.

株の基礎中の基礎を学んでおきましたw

実際にコードを動かさず本を読んで概要を掴んだだけなのですが,LSTM, Attentionなど新し目の内容(今ではもう古いかもですがwwwww)をしれたと思っています.自分もそろそろ流行りに乗っかっていきたいですね.

2021年やりたいこと!

旅行!!

帰省じゃない旅行に行きたい〜〜〜

「XXXが一番得意です」といえる分野を作る

今まで何をやっても浅かったので,言語でもフレームワークでもなんでもいいので技術面で得意分野を作りたいと思っています.

バックエンド全般,でもいいですしデータベースでもいいし,バックエンドで使う言語(GoとかJavaとかRuby)でもいいなぁと思っています.

頑張りまっす.

勉強!

  • Kaggle, Signate等のコンペに参加

モデルをつくるというより,分析に強くなりたいなと思ってその腕試しとして.

  • 統計のお勉強

こちらも同じく,モデルをつくるというより「どういう傾向があるの」「何が一番強い要因なんだろ」みたいなところを定量的に判断できる力がほしいなと思ってやってみようと思ってます.

  • 英語の勉強 <= 一番アツい

まずは読むこと,そして聞くこと・話すことができるようになりたいです.

active-adminで管理者の新規登録をできなくする

最近active-adminを使って管理画面を作ったりしてました.

github.com

ログイン画面を開くと管理者として新規登録ができてしまってとんでもないことになっていたので,できないようにする方法をメモっておきます.

管理者の新規登録をできなくする方法

active-adminではdeviseが使われていて,deviseの設定によってログイン画面の機能も変わってくるようです.

deviseの設定はmodelに書かれていますのでこれを変更します.

おそらく最初はこんな感じです.

class AdminUser < ApplicationRecord
  devise :database_authenticatable, :registerable, :recoverable, :validatable
end

:registerableを消すと,devise経由での新規登録ができなくなると同時に,active-adminの登録導線も消えます

class AdminUser < ApplicationRecord
  devise :database_authenticatable, :recoverable, :validatable
end

めっちゃかんたんでした.

就活を終えました

無事に就活が終わり, 修論をどうにか出すだけとなりました.

就活始まりから, 就職先を選ぶまでを自己満で書こうと思います.

以下の内容で書いています.

  • インターンどうやって探したの
  • どこ受けたの
  • どこいくの・なんでそこにしたの

これから就活する人たちに伝えたいことは「インターンは行っとけ!可能なら複数社行っとけ!!」ってことです.

インターンどうやって探したの

インターンと就活はすごく密接な気がしていて, インターンに行った会社の中から入社する会社を選ぶ人も多いのではないでしょうか...

なのでインターンについても少しだけ触れておこうと思います.

インターンは基本的に魔法のスプレッドシートで探しました.

いろんな人の価値観に触れたい・大きい会社でしか味わえない(技術的・組織的な)苦労を知りたいし乗り越える経験をしたいという願望がすでにあったので, 数百人規模の大きい会社から, メガベンチャーくらいの規模に絞って応募を考えていました. (長期インターンを小さい会社でやっててこの考えに至りました. 短期・長期に関わらずインターンの経験がないと「こういう会社がいい!」とかって定めにくいと僕は感じているので, 早めに動いて複数社行くことをおすすめします.)

2019年のインターンの応募候補としてはDeNA, リクルート, DMM, LINE, VOYAGE GROUP, M3, Cyber Agent, Cybozu, クックパッドあたりです.

結局2019年の春(2月)にリクルート, 2019年の夏にVOYAGE GROUP・Cybozu, 2020年の春にCyberAgentに行きました.

LINEとDeNAに落ちて, 他は日程が合わずインターンの選考すら受けてないです.

インターン参加記録たちもよかったら見てね.

wally-ngm.hatenablog.com

wally-ngm.hatenablog.com

wally-ngm.hatenablog.com

時期に関しては春休み・夏休みがメインになると思いますので, それに向けてインターンを探すといいと思います.

冬休みにも若干ありますが, 1day〜2daysの超短期なものが多いと思います. 1dayくらいだと会社のことを深くは知れないと思っているのでそんなにオススメはしないですが, 行かないより行ったほうが会社のことも業界のことも知れるので何も定まってないならぜひ行ってほしいと思います.

どこ受けたの

「就活するか〜」って考えてた頃の受ける候補は

でした. 結局受けたのは以下の3社でした.

DMM, LINEはインターンに行ってなかったので, 仮に受かっても行くかは分からなかったので受けませんでした.

M3は4月にインターンに行く予定だったのですが学会で研究が忙しくなりそうなことと, 事業を多角的にやっている会社の方が選択肢が多いので僕が嬉しいという判断でインターンと新卒エントリーをお断りさせていただきました. Cybozuも, メイン事業が1つという理由からエントリーを断らせていただきました.

どこいくの・なんでそこにしたの

リクルートに行きます.

サマーインターン終わった時から第一志望はリクルートでした. VGとCAの2社にはその旨を伝えた上で就活を進めさせていただきました. VOYAGE GROUPもCyber Agentも, 僕の就活に合わせて(リクルートは6月に内定が出るので遅い)早期に面談を組むことをせず, リクルートの時期と足並みを揃えてくださいました. 本当に真摯に向き合ってくださって大変ありがたかったです.

6月にお断りをするときもとても胸が苦しかったです...!入社してないのに「お世話になりました...!」という気分すらありました笑

なぜリクルートにしたかというと, 色んな価値観に触れたいというのが大きいです.

「なんでリクルートってあんな大きくなってるんだろう」, 「大きくなっていく過程で出てきた課題ってどうやって解決してきたんだろう」, 「リクルートのエンジニアの育成ってどういう風に考えてるんだろう」, そういうのをたくさん見て肌で感じたくてリクルートにしました.

エンジニアとしての価値観も合っていたと思います.

僕はギークになりたいというより, ユーザーや周囲の人に価値を感じてもらえてやりがいを感じるタイプなのですが, 課題を解決するためにエンジニアリングを使っているという価値観が合ってると感じました. 他の2社がそういう考えは持ってなかったという意味ではないです. VG, CAもそういう価値観で働いてる印象でした.

ただ, リクルートは課題解決のフィールドが広い(組織的に解決しようとしてる. コードだけで解決しようともしてない)し, 解決するまでもしっかり考え抜いてると感じました. しっかり考え抜いてる分「えいやっ」では済まされないフットワークの重さはありますが, 考え抜いた上でのエンジニアリングはどこに行っても通用する力になると思いましたし, 今の自分が身につけたいところでもありました.

これからは修論がんばります.

そういえばリクルートの冬バイトが2020年10月27日締め切りらしいので, 興味があればぜひ.

bit.ly