goo blog サービス終了のお知らせ 

コード溜め

備忘録的コンピュータ日記

Ruby勉強メモ

2009-02-15 01:03:34 | shell
#Ruby 練習ノート
条件分岐 if <条件> then(省略可) (else) end
繰り返し
 while <繰り返し条件> end
 数値.times { }
 オブジェクト.each {|変数| }
 
関数 def メソッド名 ..処理.. end
配列 arrayname = [ 要素1, 要素2, 要素3,...]
ハッシュ hashname = {"key1"=> val1, "key2"=> val2,...}

each メソッド
 arrayname = {|n| 処理...}
 hashname={|key,value| 処理...}
 
引数 ARGV配列。添え字0はコマンドラインの最初の引数(コマンド名ではない)

ファイル入出力
オープン file = open(filename)
全体読み込み file.read
一行読み込み file.gets

正規表現
生成 //でくくる または pattern = Regexp.new(パターン文字列)
マッチング if pattern =~ string変数 then .. end

オブジェクトとクラス
|オブジェクト|クラス名|
|数値|Numeric|
|文字列|String|
|配列|Array|
|ハッシュ|Hash|
|正規表現| Regexp|
|ファイル|File|

変数と定数
ローカル変数   先頭が英文字小文字または_で始まるもの
グローバル変数 先頭が$で始まるもの

定数           先頭が英文字大文字で始まるもの
インスタンス変数 先頭が@で始まるもの
クラス変数       先頭が@@で始まるもの

オブジェクトの同一性と値の同一性
 オブジェクトのid val.object_id(または__id__)
 オブジェクトの同一性 val1.equal?(val2)
 値の同一性 val1.eql?(val2) # Numericクラスでは==と結果が異なる(1.0と1の比較等)
 
型変換
 Numericに変換 ARGV[0].to_i
 

RFC4566と2327の主な差分

2009-01-22 00:14:00 | shell

RFC4566の2327からの差分ダイジェスト(RFC4566 10節)

  • Section 9のABNFが修正されて2327の本文と文法での違いが解消された。
  • SDPのためのメディアタイプ登録が含まれた。IANAとの属性やその他のパラメータの登録に対する要求事項が明確になり、きつくなった。
  • "テキスト"と"メッセージ"がSDPとともに使えるメディアタイプとして有効になった。しかし、"コントロール"と"データ"は仕様化されず、反対されている。
  • 2119(MUST,Should)が一貫して使われている。2327よりも厳密である。
  • RTP/SAVP プロファイルとそのfmt名前空間が登録された。
  • a=inactiveとa=maxptimeが追加された
  • 2327でmandateだったe=とp=がoptionalになった。 k=フィールドに関する重要な制限が記載され、この仕様は避けられるべきとなった。
  •  x-プレフィクスの大概の利用が認められなくなった。

メディアタイプ(m=行冒頭)のリスト比較
2327 4566
audio audio
video video

text
application application
data
control

message


音声コーデック早見表

2009-01-11 00:34:08 | shell
規格名称
主な用途 音声帯域 符号化後のデータ量 備考
G.711(PCM) 電話網、企業内IP網 300Hz~3.4kHz 64kbps u-LawとA-Lawの2方式が定義。h北米と国内ではu-Law。欧州ではA-Law。接続点ではA-Lawがあれば、A-Lawに合わせる。
G.711.1
NGN
50Hz~7kHz
64k/80k/96kbps
ストリームの一部を取り出すだけでG.711にトランスコードできる
G.726(ADPCM) PHS、企業内IP網 3.4kHz 40k/32k/24k/16kbps
G.721(G.726 32kbpsモードと同じ)




G.723(G.726 40k/24kbps)




G.723.1(MP-MLQ/ACELP) インターネット電話/企業内IP網 3.4kHz 6.3k/5.3kbps
G.729(CS-ACELP) 携帯電話(PDC Docomo 208ハイパートーク)、企業内IP網 3.4kHz 8kbps G.729AはG.729の演算を簡略にしたもの。G.729Bはデータ通信ど併用するために無音データは送らないようにした仕様。
G.728(LD-CELP)
ISDNテレビ電話
3.4KHz
16kbps

G.722(SB-ADPCM) 企業内IP網 7kHz 64k/56k/48kbps
V-CELP
PDC
3.4kHz
11.2kbps

PSI-CELP
(PDC-HR(Half Rate))
PDC
3.4kHz
3.45kbps
(5.6kbps?)


AMR
(3GPP TS 26.071)
GSM,W-CDMA
Docomo iモーション
3.4kHz
12,20 kbit/s (GSM EFR)
10,20 kbit/s
7,95 kbit/s
7,40 kbit/s (IS-641)
6,70 kbit/s (PDC-EFR)
5,90 kbit/s
5,15 kbit/s
4,75 kbit/s
1,80 kbit/s


[Vista]特殊フォルダ

2008-09-23 02:12:20 | shell

Windows XP/2000でのユーザプロファイル(スタートメニューや各プログラムのデータなどが保存されるApplication dataやLocal Settings)などのフォルダのVistaでの保存位置に関する情報。 http://journal.mycom.co.jp/column/winvista/002/

以下の表で¥マークはブログ編集都合上全角となっています。また%USERPROFILE%は基本は「c:¥Users¥あなたのログインID」となっていると思います。

Windows XP Windows Vista
My Documents %USERPROFILE%Documents
Application Data %USERPROFILE%AppData¥Roaming
Local Settings %USERPROFILE%AppData¥Local
インターネット一時ファイル %USERPROFILE%AppData¥Local¥MicrosoftWindows¥Temporary Internet Files
インターネット履歴 %USERPROFILE%AppData¥Local¥MicrosoftWindows¥History
Cookies

%USERPROFILE%AppData¥Roaming¥MicrosoftWindows¥Cookies

NetHood %USERPROFILE%AppData¥Roaming¥MicrosoftWindows¥Network Shortcuts
PrintHood %USERPROFILE%AppData¥Roaming¥MicrosoftWindows¥Printer Shortcuts
最近使った項目 %USERPROFILE%AppData¥Roaming¥MicrosoftWindows¥Recent
送る %USERPROFILE%AppData¥Roaming¥MicrosoftWindows¥SendTo
テンプレート %USERPROFILE%AppData¥Roaming¥MicrosoftWindows¥Templates
プログラムメニュー(個人) %USERPROFILE%AppData¥Roaming¥MicrosoftWindows¥Start Menu¥Programs
プログラムメニュー(全体)

%ProgramData%MicrosoftWindows¥Start Menu¥Programs

 

なお、余談だけど、VistaではUNIXでいうところのシンボリックリンクができるようになったらしく、その機能はジャンクションというらしい。cmdでも dir /aでディレクトリリストをとると<JUNCTION>などと表示される。フォルダへのショートカットはこれで実現されているようだ。


SeaHorse 自動でフォームにメールアドレスを入れてサブミット

2008-01-24 00:32:33 | shell

SleipnirならSeaHorse、FireFoxならGreaseMonkeyに最近着目。
早速、ポイントサイトなどのポイントを自動でゲットするスクリプトを作った。↓

// ==UserScript==
// @name mail form automizer
// @description フォームのテキスト欄にメールアドレス入れて送信
// @include https://対象となるURL
// ==/UserScript==

//はじめにポイント取得画面のHTMLのソースをみて、フォーム(formタグ)と、テキスト欄(inputタグ)のnameプロパティの値を取得する

mailaddress="メールアドレスをここにかいてね";
document.forms["フォームのnameプロパティ値"].(テキスト欄のname).value = mailaddress;
document.forms["フォームのnameプロパティ値"].submit();


[linux]coreファイルのサイズを指定する、出力しないようにする

2007-11-29 11:15:31 | shell
  • bashの場合

ulimitコマンドを使う

  1. 最大サイズのcoreを吐かせる
    $ ulimit -c unlimited
  2. 出力させない
    $ ulimit -c 0
  • csh/tcshの場合

limitコマンドを使う

    1. 最大サイズのcoreを吐かせる
      % limit coredumpsize unlimited
    2. 出力させない
      %limit coredumpsize 0

なおサイズの指定は、b,k,mという単位がつけられる

★なお、サイズの上限はシステムでも決められている。そのサイズを上回る指定はできない。(hard limit)と呼ぶ。ulimit -Hcまたはlimit -h coredumpsizeで確認できる。


sh/bashでのリダイレクト

2007-09-09 23:04:19 | shell

よく忘れる.

  1. コマンド > ファイル            標準出力を上書き
  2. コマンド >> ファイル           標準出力を追記
  3. コマンド 2> ファイル          標準エラー出力のみ(上書き)
  4. コマンド  2>> ファイル         標準エラー出力のみ(追記)
  5. コマンド > ファイル 2>&1     両方(上書き)
  6. コマンド >> ファイル 2>&1  両方(追記)

 なお,間違ってファイルの上書きをしたりしないように禁止するには
  % set -C
 とする.(やめるときには+C)


[csh]シェルスクリプトのリファレンス

2007-04-29 02:06:51 | shell
* 変数の変換
:r 拡張子を取る
:e 拡張子のみ
:h ディレクトリのみ
:t ファイル名のみ
ex) basenameのみにする場合 -> ${var:r:t}

置換 :s/source/goal/
gs/source/goal/ (全てにマッチさせる場合)

*ヒストリ
!! 直前のコマンド !$ 直前コマンドの最後のフィールド
^a^d^ a->dに置換
!?xxx? ヒストリの内xxxにマッチするもの
!5:0 5番目のコマンドの最初のフィールド
!* コマンド自身の後ろにあるすべての引数

$0は$ARGV[0]と同義

#このページは私自身が良く忘れてしまうことのメモなのでもっとく詳しいことは下記がおすすめです

入門csh & tcsh

オライリー・ジャパン

このアイテムの詳細を見る