nenonnne_toy’s blog

情報系の学生の色々なこと

単語の検索

論文とか英語の文章を読んでいると、見たこともない単語が出てきて調べるの嫌だなあとなる時がある。

 

macとかiPhoneだと、そんな時に意味を知りたい単語をなぞって右クリックすると、「"XXXX"を調べる」というのがあるので、その場で意味を知ることができる。

 

いちいちブラウザで検索していた。

情報系の学生の研究の意味について

現在私は情報系の大学院1年生で、大学院ではセンサとかその他諸々を用いた研究をしています。情報系以外の方が、この記事を読んでもあまり参考にならないかもしれません。情報系以外の大学院生で、将来SEになりたいんです!という人には参考になるかもしれません。

 

もともと私はコンピュータに興味があって大学では情報系に進学して、大学3年生まではコンピュータの勉強は面白いなあと思っていました。(よく思い出してみると1年生の時は情報系の勉強がしたかったのに、なんでこんなに数学を勉強しなければならないんだ…。とか思っていた気がする。)

 

4年生になって研究室に配属されると、研究においてコンピュータ以外の、私の場合は信号処理とか機械学習とかの知識を要求されるようになり、それらについて勉強しなければならないこともありました。

 

そもそも、自分はコンピュータの勉強をしたかったのに、どうしてこんなことを勉強しているんだ、どうしてこんな研究をしているんだ、こんな研究をして将来なんの役に立つんだ、就職したらプログラムを書けることが有利になるのだからこんな研究は全く意味がないのではないか、とか思っていました。

 

そんなことを考えながら、研究は大して力を入れずに裏でコンピュータの勉強とか、プログラミングの勉強とかを必死に続けていました。

 

私の周りでは、大学院に進学せずに就職した人もいたので、それらの人たちが研修でプログラミングとかやっている話とかを聞くと、自分は大学院で何をやっているのだろうか、と思うこともありました。

 

ただ、最近になって考えが変わってきました。世の中には文系SEという単語があるように、IT業界にいる人はプログラムが書けることは当たり前になってきています。(もちろんSEとは名ばかりで、プログラムが書けない人が存在するのも事実です。)プログラミングができて当たり前、という世界の中で重要になるのは、反対にプログラミング以外のスキルなのではないでしょうか。

 

例えば、うちの会社もAIとかIoTに手を出したいんだけど…。となった時に、機械学習がわかるのでAIは任せてください、とか、信号処理がわかるのでIoTは任せてください。とか、学術的なことがわかるということは、プログラムを書くことしかできない人たちと将来的に大きな差になってくると思います。(英語もプログラミング以外の重要な一つな気がします。)

 

今はAI、IoT、ビッグデータなどが流行っていますが、この先、もっと学術的なことが問われることが多くなっていくと思われます。そんな中で、プログラムは書けますけど、難しいことはわかりませんというよりも、プログラムを書けて難しいこともわかります。という人が重宝されるのは間違いないと思います。プログラミングだけができる人にならないという意味で、大学院進学と就職を迷っている人には大学院進学を強くおすすめいたします。

 

私の研究室でも、研究は無駄と言う人がそれなりにいますが、果たして本当にそうなのでしょうか。もちろんプログラミングスキルは就職後に要求されますが、学術的知識は本当に要求されないのでしょうか。研究で身につけた知識は本当に役に立たないのでしょうか。

 

この先のIT業界を引っ張っていくのは、単にプログラムが上手に書ける人ではなく、学術的なことを理解できて、それを応用できる人なのではないかと私は思います。

競技プログラミング用メモ

この前書き忘れたけど、競技プログラミングは基本的にRubyを使ってます。

 

個人的に

コンピュータに優しい言語

C,C++JavaC#

 

人に優しい言語

RubyPython

 

みたいなイメージ。人に優しい言語を使っていたい。CとRubyだと実行速度に100倍以上差があるという噂もあるけど…。まあ実行するものにもよる気がする。

 

 

で、今回は競技プログラミングでの入力とか、出力用のメモ。intとstringの変換とかで時間をロスしたくないので…。

 

 

2 4 10 17 みたいな複数の入力には

x = gets.chomp.split(" ").map(&:to_i)
a, b, c, d = gets.chomp.split(" ").map(&:to_i)

とか。

 

4 みたいな単体の入力には

n = gets.to_i

を使うとそのままint型になってくれる。

 

出力には

puts ans
puts "#{ans1} #{ans2}"

 

みたいなのでいける。

Beginnerの4問制覇頑張りたい。

 

競技プログラミング

情報系の学生だけどもう何年もまともにプログラミングしていないので、そろそろまずいなあと思いつつ競技プログラミングatcoderをやってみました。

 

アカウントは随分前に登録していたので、今回はサクッとbeginnerの方に挑戦。

 

時間は100分間でA〜Dの4問。

 

A問題とB問題は割と簡単に解けたけれども、C問題の問題を理解するのに苦戦。その後もデバッグに苦戦してここでタイムアップ。

 

時間が100分間で集中が切れる前に終わるし、ちょうどいいので来週からも頑張りたい。

 

 

 

ちなみに開発環境はMacBook AirVisual Studio Code,ターミナル。vimもたまに使うよ。

GitHub Educationの申請をした話

今更感があるけどGitHubの学生版が無料らしいので申請しました。GitHubの学生版経由でAWSを登録するとちょっとお得らしいので実は本命はそっちだったり。そのうちこの辺も記事に…。

 

で、申請の方法がちょっと面倒だったという話。

 

Learn to Code with GitHub - GitHub Education

 

にアクセスして上の方にあるRequest a discountをクリックして色々埋めていく感じ。

 

GitHubのアカウントを持ってない人はアカウント作成ページに飛ばされる気がする。持ってる人はログインした状態でクリックすれば学生版の申請ページになる気がする。

 

どうやらGitHubのアカウントにedu.jpとかac.jpみたいなドメインのメールアドレスを登録していると楽に申請が終わるらしい。うちの大学のアドレスはそんなドメインじゃないのでめんどいことに…。

 

学生版なので学生であることを証明できればいいらしい、とのことで在学証明書とか学生証の写真をアップしろとか書かれていた。個人情報が…とか思ったけど、facebookを開けば他人が勝手に私のフルネームと写真をアップしちゃっているような世の中なので気にしないことにした。

 

スキャナとかめんどいので学生証をiPhoneで撮影して写真を即MacBook Airに移動してそれをアップした。

 

あと、なぜ学生版が必要なのかということをコメントに書けみたいなのがあった。なので

 

I am majoring in information engineering. I am programming in my research that's why I would like to use GitHub Education.

 

って正しいかもわからない英語を書いて送信したら3時間後ぐらいに審査通ったからGitHub Education使っていいよ的なメールが来た。

 

こんな雑な申請で良かったのか。

 

終わりだよ〜〜〜〜〜〜〜〜〜〜〜〜。

プリンセス・プリンシパルの話

今期のアニメだとプリンセス・プリンシパルが好きです。アンジェがかわいい。


アンジェ…。もう無理しないで…。という気持ちになる。


あとオラついたアンジェが好き。

スマートフォンが壊れた話

1年半ぐらい使ってたiPhone6がついに壊れた。FGOとかで発熱すごかったしなあという感じ。


昨日の夜にWi-Fi関連のあれこれがおかしくなって、今日起きたら反応がなくなっていた…。