0x19f (Shinya Kato) の日報

主にプログラミング関連の話をします

6/30 ハードウェア記述言語しんどい

 昨日は夜寝落ちして, 日付が変わってからVHDL実験のレポートを書き始めた. TeXカルノー図を書く方法についての知見を得た. めっちゃそれっぽい図がかけるのでおすすめ. あんまり使う頻度高くないだろうけど.

masawada.hatenablog.jp

まぁ, そんな感じでレポート書いてたんだけれど, 明け方ぐらいにネットリストがなんかおかしいことに気づく. ん?入力1ビットしかなくね? どうやら印刷するときにミスったみたい. 仕方ないので, 午前中に実験室に行ってネットリストを印刷. 試問はいろいろ質問されたけどそんなに困ることはなかった. ただ, 「構造記述もできればやってきてね〜, そっちの方が採点が楽だから.」とTAさんに言われてしまう. TAも上からの不思議な力で強いられてるんだなぁ〜と. あと, ステートマシンのハザードは状態の振り方を工夫すると無くせるらしい(?)

 

AOJ-ICPC(最近課題に追われてやれてなかった)

 

夜中からずっと起きてるんでしんどいっす.

6/28 言語処理系のレポート倒した

言語処理系のレポート終わった〜. かなり手強かったですねぇ. とりあえず, 必須の課題に加えて配列と除算/剰余を実装しておいた. 本当は最適化も少ししたかったけれど疲れたので諦めた. 結構ちゃんとしたプログラムも書けるコンパイラになっていたので, 配列使った例としてエラトステネスのふるいでの素数列挙と剰余の例としてユークリッドの互除法での最大公約数を求めるプログラムを実行したりしてた.

 

そういえば, 昨日は特筆することないって書いたけれど, SoC設計技術AでSSDの話聞いてきたのがおもしろかったのを思い出した. 特性上書き込んだ領域は一度消さないと書き込みができないらしく, 上書きの時は空いている領域に新しく書き込んでアドレス変換テーブルにそのアドレスを記録しているとのこと. 領域が足りなくなったらガーベージコレクションをして, 消したい領域にまだ有効なデータがあったら空いているところに移動させるらしい. あとよく言われる書き込み回数の上限は1000回程度なのだけれど, こんな感じで特定のアドレスにアクセスが集中するのを分散しているから, かなりハードな書き込み量で5年ほど使っても平均書き込み回数は200回程度にしかならないらしい. なるほど.

 

全然関係ないけどニコニコでゼロの使い魔が無料で配信されてるので見てる. 初めて見たけど2期のOPで「これ聞いたことある〜」ってなったよね. 残念ながら1期の無料期間は今日で終わりなのだけど, 2期は7/3までらしいので.

ch.nicovideo.jp

 

来週が教習所の卒検なのだけれど, それ以前に効果測定に合格できる気がしねぇ......

6/26 レポート用のTeXのテンプレートを整理した

レポート用のTeXテンプレートに少し手を入れた. 今回の大きな成果としてはプログラムリストを外部ファイルから読み込んで表示する方法を学んだこと. TeXでソースコードを埋め込む - Qiitaを参考にした.あと, 図表式の番号が一括で振られるようにした(2年生の子に教えてもらいました, 本当にありがとう). その他で個人的に他に欲しいなと思うのはCSVファイルを表として埋め込む機能とかですかね. できる限り整理して実験レポートの作成に苦しむであろう後輩たちに残していきたいなと. あれをWordで作るのはただの苦行でしかないので.

github.com

 

話は変わって, 『リーン・スタートアップ』という本を読んでいるという話. 内容をかいつまんで説明すると, 「時間をかけて"完璧"な製品を作って世の中に送り出したのに全く売れなかった」というほどの無駄はないので, 必要最小限の製品を売り出して顧客の反応を見ながら売れるものは何かということを検証しようというもの. 思い立ったらまず作り始めてしまうタイプの技術者には少し耳が痛い. まぁ, スタートアップは顧客が何を求めているのかすら分からない状況で製品を作らなければならないのだから, おっしゃる通りといった感じ. まだ途中までしか読んでいないが, 2章からは検証のサイクルを短くするための方法が述べられる模様. こういうプロジェクトにこそアジャイルの真価が発揮されるんじゃないかなと.

 

AtCoderの国内ランキングなるものを教えてもらった. 以外と国内で400番ぐらいだったりするらしい. まだまだ精進が必要ですね...

 

言語処理系の課題が思っていた100倍ぐらい大変そうでしんどい. レポートのテンプレートは整えたけれど, レポート本体はほとんど進んでないです(). いや, 配列の実現とか除算の実現とか絶対にしんどいでしょ.

6/25 TOEIC受けてきた

タイトルの通り, TOEIC受けてきた. しばらくサボっていたのでListeningはなに言ってるのか全然わからなかった. 「ここは日本だぞ, 日本語でしゃべってくれ」という気持ちになった. Readingはなんとなく前より読むの楽になった(?). 最近必要に迫られて英語のドキュメント読んだりする機会が増えたせいかな. まぁ, スコアが上がるかどうかはわからないんですが.

 

部屋の片付けをしたのだが, あんまり片付いてない. 届いたまま放置してあるプリンターとか設置するつもりだったんだけどなぁ.

 

 AOJ-ICPC

 

なお, 本日は課題の進捗ありません. 今のところの残りは, SoC, 言語処理系, ハードウェア記述言語, (ソフトウェア制作). 今週死ぬ未来が容易に想像できますね.

6/24 冴えてる

昨日の夜の話になるけれど, 「海外の修士に行ったら?」と言われた. 曰く, ソフトウェアエンジニアリングで働くなら海外でマスター取った方がいいんじゃないかと. まぁ, 確かにソフトウェアの本場で働くってのを目標にするなら, 大きな分岐点になるってのはわかる. それに, 海外の修士に行ったとしても日本国内で働くって選択肢は消えるわけじゃない. とは言うものの自分の周りでそういうキャリアパスを歩んできた人って全然いないので実際のところどうなのかが微塵もわからない. チャレンジしてみて行けたらラッキーぐらいのものだと思っておいた方が良さそう.

 

ついでに本を読みなさいというお話を聞いてきたので, 紹介された本の中から何冊かここに書いておこうかと思う. どっちも大学1年生の頃に読んだ本(だったはず). 他にもデザイン系でオススメはノンデザとかですかね. それにしても最近全然本読んでないなぁ. 技術書は読むの時間かかるので数冊並列して読み進めてたりするし. 個人的にはカーネギーの『道は開ける』を読もうかなと(人生に迷っているので).

www.amazon.co.jp

www.amazon.co.jp

 

今日は朝一度起きて二度寝したらお昼過ぎになっていた. どうやら結構疲れていたらしい. プロBの課題が難しい. C言語でx * M + y / N(M, N: 定数)を計算する関数をコンパイルしたオブジェクトファイルが与えられて, それを逆アセンブルしてM, Nを推測しろという内容. 3問のうち1, 2問目は普通にわかる. 3問目, 割り算なのに掛け算してる!?みたいな感じ. なんかこんな感じの整数除算の最適化をしているらしい. 課題の方は64ビットなのだけれど, 本当にそれ正しく除算の答え出るのかよといった感じ.

 

今日のARCは調子がよくてC, D, Eと解けた. Dは最小全域木の問題だけど, N^2個も辺があったらクラスカル法じゃ間に合なくね?と思って諦めそうになった. 結局X/Y方向にソートして隣り合うノードの距離をpriority_queueに入れて, 普通にクラスカル法すれば良いのだけれど. Eは周上の点を一周ぐるっと周りながらスタックトップと同じものが出てきたら取り除く, そうでなければスタックに積んでいく. 最終的にスタックが空になれば交差しないと判定できる(こんなの思いつくとか本当冴えてるな, 今日の俺).

 

 

6/23 課題が本気を出してきた(?)

Postgresのダンプファイルをもらったのだけど, いい感じにMySQLにインポートする方法ってないだろうか.

qiita.com

この辺が参考になるのかなぁと思いつつダンプするときにいくつかオプション指定する必要があるみたいなので, まずはPostgresにダンプファイルをインポートしている. psqlほとんど使ったことないので何をやるにも調べなければならないのがつらい...

 

AOJ-ICPC

  • Twin book report | Aizu Online Judge [解答]
    DP自体は難しくないのだけれど, そこにたどり着くまでの発想がでない. 結局zuraのおじさんに教えてもらった. 読むのに時間が一番かかる本とその他の本を読むのにかかる時間の和の大小で場合分けが必要. (その他の本の和) >= (一番時間かかる本)なら, 2人とも本を読んでいない空き時間を作らずに全ての本が読み切れる. そうでない時は空き時間ができるので, そこにできる限り感想文を書く時間が長くなるように詰め込む必要がある. ここはDPでO(N^2)で求められる. (DPでミスったのは内緒)

  • King's Inspection | Aizu Online Judge [解答]
    こういう問題は確実に正解する方法をとっていきたい.

 

後藤先生ってJ○NICの理事長だったんですね... 先生方やべーやつしかいないな.

そろそろ課題が溜まってきて死にそうな未来が見えますねぇ...