プログラミング

rubyメモ

1.重複順列を数え上げる array.repeated_permutation(n) {|arr| block } 2.配列からブロック戻り値が最大となる要素を返す enum.max_by {|item| block } 最小はmin_by。 enum.min_by {|item| block } 3.配列からインデックスと要素を取り出す enum.each_with…

バッファオーバーフロー

初歩の初歩ですが、Cの入力取得。 同期の話を聞いて試してみた。 #include <stdio.h> void main(void){ char input[4]; gets(input); //オーバーフローする //fgets(input, sizeof(input), stdin); puts(input); } #include <stdio.h> void main(void){ char input[4]; //gets(</stdio.h></stdio.h>…

javacvで顔検出+画像合成

やってみた。 package jp.ne.hatena.d.matasaburou; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JFrame; import com.googlecode.javacv.CanvasFrame; impor…

ruby忘備録

配列の等価比較 a = [1, 2, 3] b = [1, 2, 3] a == b #=> true 配列の出力 [4,5,6].join(' ') #=> "4 5 6" 配列の合計 [1,2,3,4,5,6,7,8,9,10].inject(:+) #=>55 文字をすべて数字に置換 ["1","2","3"].map(&:to_i) #=>[1, 2, 3] 要素を選択 [1,2,3,4,5,6,7,…

複雑さに向き合う

複雑さの軽減について。 問題が複雑すぎて手に追えないと感じたら、実装したい処理をいくつかの関数として分割する。 コード量は増えるが、本来集中すべき問題に取り組めるようになる。 知識としては、CodeCompleteなどで知っていたが、実践はできていないと…