凡庸なる人のブログ

凡庸な自分が思ったことや何かしらの感想、コンピュータ系などの調べごとを書くブログです。  【結論】ってのは私個人の結論です。記事全体は個人的な調査結果や感想です。

高校生のときに無意識に「ラバーダックデバッキング」をしていた

「ラバーダックデバッキング」とは…

バーダックデバッギング、ラバーダッキングラバーダッキーテストとは、ある独特なデバッグ手法の名称である。このデバッグ手法を行うには、ラバーダックのような無機物に対して、コードがいかにして動作するかということを一行づつ逐次説明する。その説明の過程において、間違ったコードに到達した時点で、説明ができなくなる、あるいは説明とコードが合わなくなることを発見することによって、不具合箇所も発見できることを期待したデバッグ手法である。

本の虫: ラバーダックデバッグとは

 

 

 

 

 誰かに向かって説明すると自分の理解不足な点や分からない問題に気づいたりする。

 

 高校生のときに英語の参考書で「この説明とこの説明って矛盾してね?」ってときがあった。英語の授業終わりに先生に質問しにいくために、参考書のそのページを開きながら「なんて質問しようか」と質問内容を考えながら歩いて行く途中に「なんだ矛盾してないじゃん」って言うことが多々あった。

 

 先生は自分に向かってくる存在に気づいているし、私自身も先生が私に気づいていることに気づいてる。そこで引き返すのは中々に気まずい感じなので、とりあえず私の考えが間違っていないかを確認するために質問する。

 

 なんにしても、誰かに向かって説明するというのは理解や矛盾発見に対して中々に強力だと思う。

 

 最近、私は理解しているかを確認するためにパワーポイントで誰かにプレゼンするための準備をするかのようにパワーポイントを作成するようにしている。これも「ラバーダックデバッキング」なのかもしれない。

python 配列に格納されている複数の最大値のインデックスを取得

メイン部分の流れ

  1. max()で最大値を取得
  2. for文で配列のすべての値をチェック
  3. if文で最大値と同じであればそのインデックスをresultにその都度追加
# coding: utf-8

#サンプル
table = [9,1,2,3,4,5,6,7,8,9] 

# 最大値を table_max に設定
table_max = max(table)

# 確認
print "table_max = %d" %(table_max)


# 複数の最大値の要素を取得し、その結果を空の配列 result に設定
result = []
for x in xrange(0,len(table)):
	if table_max == table[x]:
		result.append(x)

print result

結果
=========
table_max = 9
[0, 9]
=========

国が頑張るのではなくて、自分たちが頑張るべきでは?

と思ってきた今日この頃。

 

とあるはてな匿名ダイアリーを読んだんですよ。

anond.hatelabo.jp

 

日本という「国」に頼るのではなく、「自分がこの国を変えてやるぜ」ぐらいの気持ちを持ち合わせた方がいいのでは?って思った。

 

うあーガンバロ、びっくになろ。