初めてオープンソースを自分好みに編集した【プログラム再利用】
研究進捗の記事です.
タイトルをどう決めるかかなり悩みました.先に言っておくと,オープンソースプロジェクト(OSS)にコミットしたとかではないです.笑
何をしたのかというと,Githubで公開されているプログラム変換ツールを自分好みに編集しました.Githubで公開されているツールということで,タイトルではオープンソースと表現しました.
機能単位(例えばCSVの入出力,Webスクレイピングなど)の数行単位の再利用は頻繁に行うのですが,数千行に及ぶプロジェクトを再利用したのは初めてでした.
具体的には,約3000行程度のPythonファイルを二つ編集したって感じです.プログラムの処理を理解,コードの追加,修正などを行うとなると,さすがに結構時間がかかり,おかげで4日丸々潰れました.コード編集の際はGithubに適宜コミットしながら行なっていましたが,コード編集によるエラー発生とか結構あったので,おそらくGithubを使っていなかったらもっと時間を要することになっていたと思います.
テストに関しては,ファイル100件を変換にかけてみて,エラーなく変換できれば問題ないだろう,という感じで行いました.結果,特に問題なく全ファイル希望通りの形式で変換できたので,とりあえずは成功かな?
ここからは所感です.
初めてオープンソースの中身を読みましたが,モジュールごとにしっかりと分けられ,またコメントアウトも適宜施されていたので,数千行とは言えど,非常に読みやすく,理解がしやすかったです.また,処理の実装方法(コードのテクニック?)などで学べる内容も多かったです.研究を進めるために今回の取り組みを行ないましたが,同時にかなり勉強になったと思います.
興味深かったのは,ソースコード内のコメントアウトで"TODO"があったことです.TODOの意味はそのままで,要はソースコード内にしなければならないことをメモする,といったもので,開発者は実装時にTODOを見て,次に実装しなければならないものなどを判断します.そのため,本来であれば出荷時,公開時にはTODOはゼロであることが当然なのですが,残っているということは問題では,,,?となりました.僕の研究分野はソフトウェア工学なのですが,このようなソースコード内に残ったTODOなどの対応に関する問題解決で「Technical Debt(技術的負債)」という研究トピックもありますが,この話はまた追々...
てなわけで最近はこんなことしてました,って記事でした.
初めは結構大変な作業になるだろうな...と思っていましたが,やり始めるとコードをいじってだんだんと自分好みになっていく様が楽しくて仕方なく,朝5,6時まで作業するって日がほとんどでした.笑
おかげさまで生活リズムは更に狂ってきていますが,進捗としてはかなり出たと思うので,近いうちにまた論文書けそうかな???
とりあえず,ペースを落とさず,この調子で研究を進めていけるように頑張ります!
昼夜逆転生活
おはようございます。
ではなく、眠れなくてこの時間です。(ちなみに朝6時の投稿です)
以前、論文締切前で遅い時間まで執筆するという生活を送ってから昼夜が逆転してしまい、未だ戻れないという状況が続いています。
もちろんそれ以外にも心当たりはある、というか心当たりしかないのですが、、、
夜遅くまで作業をするというのはいけないですね。
今日も朝の4時くらいまで研究関連の作業でコードをいじっていたのですが、そろそろ寝ないと…と思って布団に入っても、さっきまで活発だった脳が急に大人しくなることはなく、むしろ冴え切っているので全く眠れないです。
明日は作業せずにすぐに寝よう!と思っても、また同じことを繰り返してしまい、結局この無限ループから抜けられないです。
生活リズムは最悪なのですが、夜遅くまで作業をしている時は、研究が順調、楽しんで取り組めている時がほとんどなので、研究の側面では非常に良いです。
ただ、長い目で見ると体調には良くないですね。
明日は作業したいという気持ちを抑えて早くに寝よう。
(じゃあブログ書かずに早く寝ろ!)
P.S. 最近は定期的に走ったり、毎日筋トレをしたりして、運動をする機会が圧倒的に増えたので、以前と比べると体が軽くなった気がします。やっぱり運動は良いですね。
10日ぶりの研究室
今日は10日ぶりに研究室に行きました.
実家で休暇しているときは「あーーー,もうずっと実家で生活しときたいー」ってなっていたのですが,いざ研究室に行ってみるとやっぱりしっくりきますね.
隣で同じように研究している人を見ていると自分も頑張ろう!ってなりますし,設備などに関しては圧倒的に研究室の方が実家よりも充実しているので作業も捗ります.
やっぱり研究室の環境は良いです.
明日にはベッドソファー?ソファーベッド?が届くみたいなので,さらに設備が充実するみたいです.
そして,肝心の研究について.
研究室に行くメリットは先ほどあげた内容ももちろんですが,何よりも大きいのは先生と研究について相談できることです.
先日の論文執筆終了以降,研究に関して大きな進展はなく,とりあえずやれることをちょっとずつやっていこうというスタンスだったのですが,本日先生と相談した結果,従来の手法に加えて,また新たな切り口からやっていこう!という形になりました.
とりあえずは今の手法でキリの良いところまでを終わらせてから,次のステップに移るといった流れです.
ただ,次のステップの手法は結構楽しそうです.
手法が楽しそうというか,その手法を用いることでどんな結果が得られるか,なのかな?
また,次にむけて(どの学会に出すか)の話し合いも行い,9月頭くらいまでのスケジュールはおおよそですが決まりました.
ゆっくりしてられるのも6月前半くらいになりそうです.
自分で決めたことですが,結構きつそう...(8月の忙しさを考えただけでゾッとする.)
まぁ,今頑張っておけば,おそらく卒論の負担は楽になるでしょう!!
で,全然話変わるのですが,,,
研究生活をし始めてから,頭を使う機会が増えたせいか,食う量が大幅に増えました.
ただ,自分は昔から太らない体質だったので,余裕こいて昼も爆食い,夜も爆食いしていて,特にこの前の論文執筆の時期とかすごい食べていたのですが,,,
そしたらなんとGWの時期と比較して体重が約4キロ増えました.笑
これはまじでやばいです...
運動しなければ,,,と思い,昨日からランニングと筋トレを始めました.
さて,これがいつまで続くのか...
とりあえず,研究&運動,頑張ります!!
React Nativeの勉強
今日はReact Nativeのお勉強をしていました.
1年か2年前くらいに一度勉強して挫折して,ReactNativeはもうやらん!props意味わからん!ってなっていたのですが,最近,そのうちやってくる就活に備えて,研究進めるのもいいが何個かモノを作っておくのもありかなーと思い,先週から触り始めました.
ただ,,,一個前の記事をみてみましょう.
そういえば,論文提出(5/27)が終わってから何かアプリとか作りたいなーと思い,いろいろ調べたりしてます.
xamarinとかReactNativeとかDjangoとか,,,
で,作ろうと思ったのですが,,,難しいですね笑
あと作業している途中で
「これ作ってもどこで役に立つんだろう.このスキルを使う機会はあるのか.工数に対してどれだけのものが得られるのか.」
とか考えだすと結局やめて研究しているほうが自分の為にもなるんじゃね?
ってなり,結局いつもみたいに研究の作業に回帰しました.
勉強することに完全に意味をなくしていますね笑笑笑
今ブログを書きながら「そういえばそんなこと言ってたわ」ってなりました笑
前の記事の発言は忘れてください.笑
多分,前の記事を書いて,寝て起きてやっぱりなんか作っとかんとあかん!ってなったんだと思います.
とりあえず,今日からちょっとずつReact Nativeを勉強して何か作ろうと思います.
React Native関連の記事が3つできたらカテゴリ"React Native"を作成します.
今はまずこちらの記事を参考に勉強を進めています.
ただ,途中props,ref,stateあたりが入りだしてから難易度があがり理解が追いつかなくなってきたので,一度コードを全部書いて,その後,分からなかった箇所をピックアップして問題解決していこうと思います.
多分,その時に細切れに記事にしていくと思います.
難しいですが,良い勉強にはなりそうです.
頑張ります.
6月突入
早いもんですね.
もう6月です.
今月が終われば,2019年も残り半分.
いや〜〜〜早い!
まだ始まったところやけど,言うてる間に6月もあっという間に終わりそう.
1月から5月までを振り返ると,割といろいろあったんじゃないかな〜って思います.
書こうかな〜と思いましたが,それはまた6月が終わってからと言うことで...
6月はこれと言って大きなイベントはないですが,7月,8月にはオープンラボや研究室に後輩が入ってきたり,他にも学会発表?や院試験があります.
そう考えると,6月自体にはイベントがなくてもしっかりと動き出しておかないと,あとになって死にそうですね...笑
がんばって動き出そう...
とは言っても,いつもギリギリにならないと動かないので今回こそは...
そういえば,論文提出(5/27)が終わってから何かアプリとか作りたいなーと思い,いろいろ調べたりしてます.
xamarinとかReactNativeとかDjangoとか,,,
で,作ろうと思ったのですが,,,難しいですね笑
あと作業している途中で
「これ作ってもどこで役に立つんだろう.このスキルを使う機会はあるのか.工数に対してどれだけのものが得られるのか.」
とか考えだすと結局やめて研究しているほうが自分の為にもなるんじゃね?
ってなり,結局いつもみたいに研究の作業に回帰しました.
(自分に爆速開発スキルがあればもっと楽しくアプリとかも作っているんだろうなー)
ただ,良い息抜きにはなりました.
明後日からまたいつもの研究室生活に戻ります.
今日,明日とあと少しだけ休暇を満喫しよう.
初のフルペーパー論文執筆の感想
昨日,初めてのフルペーパー論文を書き終え,提出しました.
フルペーパー論文ってのは,だいたい6ページから12ページくらいの論文のことで(なかには数10ページに及ぶものもあるそうですが,,,),今回僕は8ページの論文を書きました.
ちなみにこの論文は8月末に行われる学会に提出したのですが,査読付きということで,それもまた初めての経験なのでどんな感じで返ってくるのか少し楽しみです.論文が通るか通らないかは,圧倒的経験不足な以上,今はなんとも言えないです.
論文執筆は,そもそも取りかかれたのが締切10日前とかで,その上,直前でWi-Fiが潰れたり,締切当日にMacが急につかなくなったりと本当に大変でした...
幸いWindowsのPCが別にあり,データもGoogleドライブ上にあげていたのでなんとかなりましたが,もしPCがなかったら,,,と考えるとゾッとします.
反省点・課題点としては以下の感じです.
- 自分の考えを言語化できない!
- 参考文献少ない!
読んで字の如くです.
今回論文を書く上で,先生と一番議論したのが結果の考察です.
長く議論してようやく一つの答えがでました.ただ,それをなかなか言語化できず...
もともと国語が一番嫌いで,もちろん本も一切読まない人なので,とにかく文を書くのが苦手です.それ故,今回も頭ではわかっているのに文字に起こせないという壁にぶち当たりました.
最終的には書けたので良かったものの,時間はかけ過ぎてしまったと思います.
また,論文を書く上で従来研究で示されている結果などから引用できそうなものがあれば参考文献として論文内に引用するのですが,今回僕が引用した参考文献は9本と,フルペーパーの中では比較的少ない引用数でした.
これに関してハッキリと言えることは,自分の関連研究のサーベイが足りてなさすぎるということです.正直,論文執筆する際に同時並行で関連研究をサーベイするというのは時間的にも厳しいですし,勿体無いので,普段から関連研究がないかサーベイする癖をつけておかないといけないと思いました.実際,卒論ではかなりの数を引用しないといけないと言いますしね.
そんな感じで反省点・課題点が見つかったものの,もちろん得れたものもあったと思います.4回生の5月の段階でフルペーパー論文が書けたというのは,1つとして大きなアドバンテージになったと思います.
あとはやっぱり回数が大事なんだな,と思いました.前回は2ページの原稿を書いて,今回は8ページのフルだった訳ですが,前回と比較すると少しは文もマシになり,最低限の論文の言い回しも分かってきました.今回みつけた反省点・課題点も何度も論文を書いていくと自然と解消される問題だろうなーって思っています.
とりあえず,良い経験にはなりました.
この調子でこれからも頑張ろう!
論文執筆中
最近忙しすぎて死んでます.
なぜ?と言いますと
タイトルを見てわかる通り,論文執筆です.
27日が最終〆の論文を現在進行形で書いているのですが,やっぱりしんどいです.笑
特にサボっていたと言う訳ではないのですが,書こうとしていた内容の結果がうまいこと出ず,改善するのに結構時間がかかってしまった結果,論文に割ける時間が短くなり,切羽詰まっていると言うのが今の状況です.
だいたい2カラム6ページくらいの論文ですが,今まで2カラム2ページの原稿しか書いたことがなかったので,今回のようにまとまったものを書くのは初めてです.
それゆえ,苦戦しています.
なにが一番きついか.
間違いなく言語化することですね.
先生との議論ではある程度意見もまとまってきて,あとは書くだけ!って感じではあるのですが,なんせ文字に起こすのが苦手で,,,
こういうとき文章表現能力がある人は強いんだろうな〜なんて考えてしまいます.
ブログを書いていたら論文も書けるんじゃね?って思っていましたが,そんなうまい話はなかったですね泣
(まぁ,ブログを書いている期間も短いのでまたなんとも言えませんが,,,)
今週末にはTOEICもあります.
これはホントに死ねます.笑
とりあえず27日が終われば,一旦休めそうな気がしますがそれまでは耐えですね.
最近,自分の周りの友達で頑張っている人が多いので,僕も負けてられないなーと思いながら頑張ります.