堕(惰)プログラマ開発記録

タイトル変えようかなとも思ってるけれど,思い浮かばない

函館で学会発表してきた (SSI2015)

大分遅くなりましたが,11月18日,SSI2015のポスターセッションで発表して参りました.当学会が私にとって初めての学会発表になります.

簡潔な感想としては,なかなか思ったことを上手く伝えられない上,あがってしまって大変でした.

当日まで

実は学会発表の申込をするまで,進捗といった進捗がなかったため,進捗創造が重要でした.その上,投稿論文を6ページ以内で作成する必要もありました.

論文書いて感じたのですが,論文を書くと頭整理されて良いですね.卒研始まったら,まず論文書くと良いですよ,マジで.と感じた瞬間.

オーラルに該当するかよく分かりませんでした.そこで先生と相談をした上で,ポスターは使い回しが効くように,プレゼンテーション風に作りました.お陰さまで卒研の最終発表の際にも,少し編集して使えそうです.

当日

会場は函館市の市民会館である,函館アリーナでした.ということで,東京から函館へ飛行機で向かう訳ですが,実は当日の12:00に現地(函館空港)入しました.バタバタしたけれども,緊張しにくい状況だったのかなと.それでもそれなりに緊張しましたが.


↑これがポスターセッションの準備が終わった図です.

おわりに

まあ何がなんでも,無事に終わってよかったです.人もそれなりに来て頂けたので,暇を持て余すなんて時間は無かったし.

ところで,ショートプレゼンという45秒プレゼンは具体的な話をすることができないので,意見交換の場としてはないほうが良いと感じました.逆にポスター発表1時間は短すぎますし,こっちを充実させて欲しいです.ショートをやらないのであればホール前面の机は退かせますし,それぞれのポスター間を大きく開けられるかと思います.その上で一斉にセッションをすれば,3.5時間ほどは確保できるのでは無いでしょうか.

チラ裏みたいになりましたが,率直な意見として掲載いたします。

大学3年次編入の受験勉強記録

はじめに

各学校に対する謎の記録については適当に遡って下さい.

使った参考書

数学

これで充分だと思う.徹底演習強すぎる.

物理

熱力と波動に強いものを追加すべき.力学は基本的に青いヤツのほうが難しいので,先に黄色い力学やろう.

英語

ポレポレ好きになった.大矢英作文は,作者に舐められて苛つくけれど,それなりに読める. 私のように暗記苦手な人はドラゴンイングリッシュいらないかも.

化学

もうどうしようもないし,頑張ってください.

やったことなど

4年春休み

まず,微分方程式の勉強を開始.微分方程式の授業がまともでなかったのに加え,これができないと,多くの物理の問題が解けないため.高専の数学3の「1.微分法~4.微分方程式」までざーっと終わらせた.

ところで,私が所属する情報工学科では,卒業までに電磁気学,解析数学(div, grad, rot...)を一切やらない問題がある.そこで次に,解析と積分の簡単な感覚を掴むことを目的として,電磁気学演習の1章・2章を行った.

更にこのころ,やっと数学徹底演習が手元に届いたので,1章~10.1章まで勉強を開始.それと同時に,電磁気学演習を6章まで勉強.イメージとしては,電磁気の勉強が辛くなったら数学に逃げる感じで. 当然のことながら,徹底演習の方が先に1周終わったため,もう1周.

全問題集で,解けなかった問題をメモ.上の画像は徹底演習のもの.流れとしては,

  1. 1周目に解けなかった問題を書いておく
  2. 2周目を開始.1周目に解けたのに,解けなくなった問題は追記.2回とも解けなかった問題は○印.
  3. メモした全問題を解く.解けなければ○印.
  4. ○印の問題を解く.解けなければ後日もう一度.
  5. 苦手部分をもう一度詰める.

4年前期

電磁気を諦め,演習力学.6章まで1周.授業が忙しいかと思いますが,夏休みまでに終わらせました. 平行して行っていた,徹底演習2周目も継続して,ここまでで終わらす.

4年夏休み

皆大好き複素積分電通受ける人にとってのラッキー問題なので,真面目に勉強した.

さらに第二次電磁気大戦ということで,電磁気が全然わかっていないのでやり直し. 電磁気難しいし,複素積分わけわからないしで一番ヘイト貯まってた. 唯一,「特異点」って単語の格好良さが救い.

4年後期

電磁気大戦で電磁波まで自学しましたが,おそらく電磁誘導まででいいかと. 無駄です.莫迦です.

このころ,物理学演習(青)を開始.力学は良さそうな問題だけ拾い,熱力学と波動は全部.熱と波動はこの本しか買ってなかったので……. ちゃんと熱力と波動の本を買わないと,私みたいに爆死します.

演習力学を更にここでもう一周.

数学に関しては,徹底演習を2回終了させた時点で,回答を間違えた問題のみをやり直し. 救いの数学が辛いのは辛いですが,辛いです.

ところでこの時期.プレ卒業研究の追い込みが有って,勉強全然出来なかった.今の研究室を選んで研究面では後悔していないけれど,合格ギリギリだって人は研究室選びは重要ですね.

5年春休み

  • 徹底演習のやりなおしを続けながら,電磁気のコンデンサの復習.
  • 物理学演習(青)の間違えた問題のやり直し.
  • 徹底演習の線型代数(ベクトル空間・基底・射)のやり直し.

自分の苦手とする分野を既にある程度把握していたので,つまり,それを補完した.

5年前期

  • ポレポレ英文読解プロセス50
  • 大矢英作文講義の実況中継
  • ドラゴン・イングリッシュ

春休み中に開始した勉強と平行して,これらを開始.それまでに"DUO3.0"と"速読英単語(必修編)"を何周も実施していた.東工大の英語を真面目にやるなら必修編じゃ足りないが,それより難しいのやったところで,さらに難しい英単語出るから妥協.

電通大は英作文あるので,下の2つを重点的にやって,コツを掴めた気がする.英作文の勉強すると,文法を意識するようになれるので良い.

あとは持っている過去問を全部2周ずつぐらい回して,微妙な部分を再度参考書で勉強した.

おわりに

ざっと書いてみたけれど,実際何を書けば良いのか解ってないです.もし他に知りたいことがあったら,適当な方法で連絡ください.

Thinkpad X240の部品交換

Thinkpad X240のFPC(フラットケーブル)の端子の接触が購入直後から悪かったため,適当にセロファンテープで固定して騙し騙し使ってました.しかし,セロファンテープでどうにもならなくなったこと,指紋センサー・クリックパッド・赤乳首の認識が悪くなったことを鑑みて,FRUでLenovoから部品購入しました.

購入した部品は「FPC FOR CLICKPAD KIT FOR LENOVO_X240」というもの. 金額は4000円ほど.国内から送ってもらえることを期待して,e-bayは使いませんでした.まあ中国からだったし,到着まで1ヶ月掛かりました.

到着後,早速付け替えましたが,赤乳首とクリックパッド使えるノートPCは快適ですね!いや,今まで,マウス縛りで使ってた私がおかしいんですが.

新旧のFPCの写真を乗っけておきますね.左側,何とか治そうと頑張った痕が見えます.

ああ,初期不良として,最初にFPC送ってもらえばよかった

平成28年度 東京工業大学 編入試験記

はじめに

東工大情報工学科受けた記録です. 電通大*1農工大*2のものとご一緒にご賞味頂ければと思います.(3部作)

服装については,電通大農工大と同じ感じです. なお,東工大「不合格」貰ってますので,反面教師にどうぞ.

もう忘れかけなので,短めに書いたつもり.

学力試験

数学

電通を受けるぐらいの人なら,全部取れるのではというのは,農工大と同じです. 時間も多分間に合うはずです.テンパらないように.

出来栄え 分野 問題
9割 線型代数 連立1次方程式の「係数行列の行列式」「方程式を解け」
10割 偏微分 2変数関数の極値問題
10割 偏微分 電通が好きそうな「微分可能関数の偏微分の和」
10割 積分 簡単な部類のはず

英語

長文読解数本

  • 問題中の文章を
    • 和英
    • 英和(並び替え)
  • 「難しい単語」の当てはめ
  • など

物理

ちょっと波動方程式やってたけど,文章読めなかったので足りなかった感. 静電エネルギーのお話も中々把握できない…….

出来栄え 分野 問題
9割 力学 定滑車の両端の質点
3割 電磁気学 コンデンサの静電エネルギー,電場のエネルギー
1割 波動方程式 u(x,t)=f(x-ct)+g(x+ct)のやつ

化学

有機反応を多めに憶えておいたのに,熱力の問題出すっていうのも辛いよ. とはいっても,そこらの問題が増えてもどこまで伸びるかだったけれど.

出来栄え 問題
7割 イオン化エネルギーと電池起電力
4割 電離平衡のpH近似値,酸塩基反応
7割 気体の自由度と内部エネルギー
5割 原子の電子状態,発光スペクトル
4割 有機反応,反応速度
5割 ルイス構造式,共役塩基,分子の立体

面接試験

2日目の午後,待合室集合
特に縛りはなかったから自由だったはず.

訊かれることは主に以下のとおり. こっちもだいたい5分ちょっとかな.

  • 志望理由
  • 英語について

感想

  • 情報工学科の倍率は6倍程度
  • 電気電子工学科の倍率は2.2倍程度 かな合格発表見る限り.

出来栄えの数字,自分が思ってる率なので,信頼性がわかりません. 自分が思っている出来栄え*0.5的な部分も多いかと.

なんだかなぁ….

平成28年度 東京農工大学 編入試験記

はじめに

農工大情報工学科受けた記録です. 電通大*1のものとご一緒に消化頂ければと思います.

服装については,農工大も面接がない日は私服で行っても問題なさそうです. というか,スーツで気が落ち着かなくて,解ける問題を落としてしまうくらいだったら, 寧ろ私服でったほうが無難.

学力試験

農工大も,第3志望として受験したので推薦試験は受けてません. 推薦試験に関しては別を当たってくれたら良いかと思います.

数学

電通を受けるぐらいの人なら,普通に解ける程度のレベルしか無いと思うので, 冷静に解いて,なるべく落とさないほうがよい. 数学でちゃんととっておけば,専門や英語で貯金として効くので. 私は専門,まともに習ってないために我流のところが多かったので,数学で助かったんじゃないかな.

時間は充分というほど有りますし,最後に全問題を検算するだけの時間も余りました. 過去問を解きながら,ちゃんと時間配分を考えておけば大丈夫だと思う.

出来栄え 分野 問題
10割 偏微分 2変数関数の極値(停留点6つだっけ)
10割 積分 2重積分(積分範囲は,正葉曲線のyが正の範囲)
10割 微分方程式 斉次形 + 特殊解2つ の重ねあわせ
10割 線型代数 行列の方程式の解条件

英語

長文読解が3つ.

  • 単語穴埋めの問題(選択・記述両方)
    • 似た意味の単語並んでたので,品詞についても考える必要あり
  • 同じ意味の節抜き出し
  • 英文に合う文章

物理

電磁気,そっちが出たか……. ってなったので,辛かったです.

出来栄え 分野 問題
7割 力学 2球の完全弾性衝突
6割 電磁気学 同心軸ケーブルの自己インダクタンス

専門分野(情報工学科)

1問捨てられるけれど,ちゃんと勉強しておきましょうね? ……凄く自分に刺さるけど,結果オーライ.

出来栄え 分野 問題
10割 基本 基数変換
10割 プログラミング 扇型格子
6割 順序回路 状態遷移表からD-FFを使って設計
6割 情報理論(?) 宇宙語の単語数数え上げ(漸化式)
未選択 アーキテクチャ スーパーバイザとかあの辺?

面接試験

学科別に面接するんだけど,情報工学科は面接室が1つしかないようなので,クソ時間掛かる. 待合室は私語・電子機器厳禁にされるので,精神的に暇すぎて死にます.とても重要. この待合室でアンケートあるのですが察して.

勉強等はしてもいいです.技科大の日程が近い人いたので,勉強推奨. 遠方から来た人から面接やるけれど,次の受験の日程も考慮して欲しい感はある.

訊かれることは主に以下のとおり. こっちもだいたい5分ちょっとかな.

  • 志望理由
  • 今までにコーディングしたもの
  • 英語について

感想

  • 待ち時間が長いので,無駄に緊張しましたね……
  • 物理が自分の欠点なこと解った
  • 東小金井駅の何とか口っての出て,信号渡ったらすぐです
  • 移動献血車が着てた.「私は喘息です」シール作って欲しい.

合否の方ですが,合格してました. ただ,電通大のほうが志望順位を上にしていたので,辞退しました.

平成28年度 電気通信大学 編入試験記

はじめに

電通大の情報・通信工学科の編入試験を受けたのですが, その前後に過去の編入生のエントリーを見たりして色々助かったので, そういう流れを繋げていくのも大切かなと思ったので. (なお,学校に提出した文章をまとめたものです)

ということで,適当に読んで,適当に参考にして頂ければ嬉しいです. 勉強方法等に関しては,気が向いたら(きっと9月に)上げます.

服装についてですが,1日目(学力試験日)は私服,2日目(面接試験日)はスーツで行きました.

学力試験

電通大は第2志望として受験したので,推薦試験は受けてません. 推薦試験に関しては別を当たってくれたら良いかと思います.

数学

まずは皆大好き数学です. 電通より上を目指している人も, 線型代数に関してはより詳細に勉強しないとなんじゃないかな.

数学はいつもどおり,120分*1で5問中4問選択でした. ただし,問1が難しく,問2が解きやすい問題になっていました.(いつもは逆)

どうせ線型代数のどちらかを捨てるのならば, 問題読み始めて直ぐにどっち解くか決めておくと良いです. 微分積分複素関数は,高専生ならわりかし簡単だと思うので.

なっかなかググってても出ない情報として, 私的に重要と思ったのは,「解答用紙の形式」です. 時間ギリギリの時はモロに響くと思うので.

1問1枚の無地,かつ裏面使用可能だったので,結構自由に使えます. 邪魔なのは,受験番号の枠と,選択した問題番号を記入する枠だけです.

出来栄え 分野 問題
未選択 線型代数 正方行列による3次元上の平面
10割 線型代数 線形写像の表現行列と固有値
8割 偏微分 f(x,y)のu,v微分極値
8割 積分 2重積分
10割 複素関数 広義積分[0→∞].上半円と偶関数性の使用

英語

今年は長文に対する要約っぽい問題が4問と,それに関する作文1本. レム睡眠とかノンレム睡眠とかのお話で, それに関する研究概要や学者への取材などをまとめたような文.

長さは5ページ程度. 要約問題が15点/問,作文が40点.

物理

力学は落としたら只々もったいないだけなので,落とさないほうが良いよね. まあ,テンパッててこんな問題……ってのを落としたけど.

電磁気学に化学要素が入ってきたので,その部分は捨てました. 加速してサイクロトロン運動に突入させる問題だから,難しくはない.

今年は熱力の傾向がサイクルの熱効率な問題から, 可逆非可逆サイクルの組合せサイクルの問題に変わってた. 参考までに『共立出版 基礎物理学演習 例題74』 *2より少し難しいやつ

出来栄え 分野 問題
6割 力学 2つバネによる球の運動
8割 電磁気学 V=qEdの加速後,サイクロトロン運動
0割 熱力学 可逆サイクルと非可逆サイクルの熱機関

面接試験

情報・通信工学化の学力試験では,代々口頭試問が無いらしい(っぽい口ぶり). 午後から面接 = 口頭試問なし なのかな.

他の学科はちゃんと有ったらしいので,悪しからず.

訊かれることは主に以下のとおり. だいたい5分ちょっとかな.

  • 志望理由
  • もし志望のコースに入れなかったら?
  • 数学は好きか
  • 併願状況と順序
  • アピール

併願状況,皆さん嘘吐いてる人も多いみたいだけど, 過去に沼にハマった人もいるので,私個人としてはお薦めしません.

感想

物理,冷静に考えればやったこと有るような問題だったので, やろうと思えば部分で点数を得ることが出来たのではないかと思う. ただ,1問目の力学で初期条件に関する文章を見落として,微分方程式が解けなかったためにテンパっていた. 問題文はちゃんと読むようにしましょう(まあ焦り始めるとそれが難しいんだが).

英語は英作文の点数は40点分で残りが日本語問題. 英作文である程度の文構造の文章が掛ければ,周りと差がつきにくい問題だったのかなぁと.

うーむ.数学で物理がカバーできれば良いのだが……

↑ なーんて書いて学校に提出したのですが,合格してました.

*1:受験票来るまで90分と思ってた

*2:この例題しか無いので,わざわざ買うのもちょっとって気がする

Boost.Spirit.X3のrepeat directiveっぽいの

有るのか無いのかよくわからなかった*1ので,Boost.Spirit.X3用のrepeatをkleeneを参考にしながら書いてみた*2
一応本家のコードではinclude文がコメントアウトされてるよね.

これだとinfみたいな指定もできないよね?みたいな問題もあったりすると思うんだけれど, "std::numeric_limits::max" で誤魔化せるよきっと.
テストを適当にしかやってないから,ご利用は計画的に.

一応,Qiのrepeat*3相当の使い方として,次の2通りについてサポートしています. repeat[a] は kleene(要は*) を使ってねってことで.

  • repeat(n)[a]
  • repeat(min, max)[a]

さて,以下がコード.(Gistとかに上げたほうがいいのかな?)

#include <boost/spirit/home/x3/core/parser.hpp>
#include <boost/spirit/home/x3/support/traits/move_to.hpp>
#include <boost/range/iterator_range.hpp>

namespace boost { namespace spirit { namespace x3
{
    template <typename Subject, typename Derived, typename T>
    struct repeat_value_holder
      : unary_parser<Subject, Derived>
    {
        typedef unary_parser<Subject, Derived> base_type;
        mutable T min, max;
        repeat_value_holder(Subject const& subject, T const& min, T const& max)
          : base_type(subject)
          , min(min)
          , max(max) {}
    };

    template <typename Subject, typename Derived, typename T>
    struct repeat_value_holder<Subject, Derived, T const>
      : unary_parser<Subject, Derived>
    {
        typedef unary_parser<Subject, Derived> base_type;
        T min, max;

        repeat_value_holder(Subject const& subject, T const& min, T const& max)
          : base_type(subject)
          , min(min)
          , max(max) {}
    };

    template <typename Subject, typename T>
    struct repeat_directive
      : repeat_value_holder<Subject, repeat_directive<Subject, T>, T>
    {
        typedef repeat_value_holder<Subject, repeat_directive<Subject, T>, T> base_type;
        static bool const handles_container = true;
        typedef Subject subject_type;

        repeat_directive(Subject const& subject, T const& min, T const& max)
          : base_type(subject, min, max) {}

        template <typename Iterator, typename Context
            , typename RContext, typename Attribute>
        bool parse(Iterator& first, Iterator const& last
          , Context const& context, RContext& rcontext, Attribute& attr) const
        {
            typename std::remove_const<T>::type num = 0;

            while(num < this->max && detail::parse_into_container(
                this->subject, first, last, context, rcontext, attr))
            {
                ++num;
            }

            return num >= this->min && num <= this->max;
        }
    };

    template <typename T>
    struct repeat_gen
    {
        T& min;
        T& max;

        repeat_gen(T& adjust)
          : min(adjust), max(adjust) {}

        repeat_gen(T& min, T& max)
          : min(min), max(max) {}

        template <typename Subject>
        repeat_directive<typename extension::as_parser<Subject>::value_type, T>
        operator[](Subject const& subject) const
        {
            return {as_parser(subject), min, max};
        }
    };

    template <typename T>
    inline repeat_gen<T> repeat(T& adjust)
    {
        return repeat_gen<T>{adjust};
    }

    template <typename T>
    inline repeat_gen<T const> repeat(T const& adjust)
    {
        return repeat_gen<T const>{adjust};
    }

    template <typename T>
    inline repeat_gen<T> repeat(T& min, T& max)
    {
        return repeat_gen<T>{min, max};
    }

    template <typename T>
    inline repeat_gen<T const> repeat(T const& min, T const& max)
    {
        return repeat_gen<T const>{min, max};
    }
}}}

こうしたほうがいいんじゃない?みたいなご意見有りましたら適当にどうぞ

余談

微熱で結構怠い
→論文読んだりしたくない
→というか,頭使いたくない
C++書こう.

*1:Spirit.Qiと被って,非常にググラビリティ低いしなぁ

*2:先週末ぐらいに書いたんだっけ?

*3:http://www.boost.org/doc/libs/1_57_0/libs/spirit/doc/html/spirit/qi/reference/directive/repeat.html