= めも = == 2014/06/28 == === mallocとcallocの違い === ==== 参考 ==== * http://www.bohyoh.com/CandCPP/FAQ/FAQ00054.html * http://www.bohyoh.com/CandCPP/FAQ/FAQ00096.html * http://ja.wikipedia.org/wiki/Malloc * http://www.ocw.titech.ac.jp/index.php?module=General&action=DownLoad&file=201017211-99-0-71.pdf&type=cal&JWC=201017211 ==== なにがちがう ==== * mallocは指定された分だけ領域を確保する * callocは確保した領域をゼロクリアする(0で初期化される) * 初期化する分だけmallocよりも時間はかかるが安心らしい? * 確保した領域すべてを初期化できることに"気持ちよさ"があるらしい * stdlib.hをインクルードし忘れない限りvoid*型で番地が返ってくるという * キャストは必要ない * インクルードを忘れるとmallocはint型として扱われる == 2014/06/27 == === ffmpegでtsファイルから音声をmp3で抽出 === ref:[[http://quartz-net.co.uk/quartzwiki/index.php/TS_convert_using_ffmpeg#Audio_conversion]] {{{ ffmpeg -i (inputfile) -f mp3 -acodec mp3 -ab 128k -ar 44100 -vn (outputfile).mp3 }}} * ({input,output}file)は好きな名前 * -ab …Audio Bitrate * -ar …Audio Rate * -vn …disable video == 2014/04/17 == === 食事会の参加人数知りたい === [[bbs/2014食事会|これ]]にみんな綺麗に書き込んでくれたので適当に抽出する系Rubyスクリプト {{{ # For MMA Wiki BBS require 'yaml' if (ARGV[0]) then begin body = File.read(ARGV[0]).split('---')[1..-1].map{|a| YAML.load(a)["body"]} rescue puts "Error! Is this file from MMA Wiki BBS's yamlbbs-format?" exit end else puts "Usage: parsebody.rb filename" exit(1) end # 掲示板の本文のみを抽出 puts body # 正規表現の末尾"i"は大小区別しない指定 puts "New Member: #{body.grep(/yes:yes/i).length}" puts "Existing Member: #{body.grep(/no:yes/i).length}" }}} == 2013/10/15 == === ログインできないユーザーを作る === * http://fujiyama443.blog102.fc2.com/blog-entry-4.html * http://codezine.jp/unixdic/w/adduser {{{ # useradd (-g ) -s /sbin/nologin }}} or {{{ # adduser (-g ) -s /sbin/nologin }}} * nologinの場所は環境によって違うかも。 * shellを/bin/falseにするのもありかな? == 2013/09/18 == === DebianにてRAM上のキャッシュをお掃除 === * http://superuser.com/questions/470170/how-to-clear-cached-memory-in-debian * http://www.math.kobe-u.ac.jp/~kodama/tips-disk-cache-flush.html {{{ # sync && echo 3 > /proc/sys/vm/drop_caches }}} * sync 3回やると安心安全…なの? === Guakeのマルチディスプレイ設定 === * http://nort-wmli.blogspot.jp/2013/07/guake.html * /usr/bin/guake(Pythonコード)におまじないを書けば大丈夫らしい * #! 余談。 http://d.hatena.ne.jp/karasuyamatengu/20110217/1297960228 == 2013/09/12 == === Cygwinでapt-cygの設定 === ミラーはjaist * apt-cyg -m http://ftp.jaist.ac.jp/pub/cygwin/ updateとしても404 * この中にx86とx86_64というディレクトリ * URLのおしりにx86_64を付け足すとupdateは成功する * しかしinstallするときにhttp://ftp.jaist.ac.jp/pub/cygwin/x86_64/x86_64/~~となって失敗 * 次のサイトにお世話になりました * http://rcmdnk.github.io/blog/2013/08/08/computer-windows-cygwin/ * これですっきり。 == 2013/08/28 == AOJ 0025: Hit and Blowやった。 === [Ruby]配列の要素に指定した値or文字列が含まれているかどうか確認する === 配列に対してincludeメソッドを使う。 [http://doc.ruby-lang.org/ja/1.9.2/class/Array.html] {{{ a = [1, 2, 3, 4, 5] a.include(3) #=>true a.include(9) #=>false }}} という感じで確認できる。 AOJ 0025: Hit and Blowではif文と組み合わせて使うことでBlowをいい感じにカウントできた。 === [Ruby]AOJで使えておきたいイディオム的なアレ === ==== プログラムを終了させるまで入力をやめない ==== {{{ while [variable] = gets #入力開始。変数は必要に応じて  〜ごにょごにょ〜 #以下ループしたい内容 end #プログラムの終点 }}} * スペースで区切った数値を整数型で配列に代入したい {{{ while numbers = gets.split.map(&:to_i) #=>1 2 3 4 -> [1, 2, 3, 4] }}} とか {{{ while gets numbers = $_.split.map($:to_i) }}}