2013-01-01から1年間の記事一覧
コマンドラインで > を使うと、標準出力をファイルにリダイレクトできる 2> を使うと、標準エラーをリダイレクトできる printf()は、fprintf(stdout)のショートカットである fprintf(stderr)で標準エラーを出力できる 通常、1つのプロセスが持てるデータスト…
2014年3月17日追記本記事の課金方式に関する説明は、現在のドットインストールには当てはまりません(「登録日~月末」ではなく、「登録日から1ヶ月」に変更されています)。最新情報はドットインストールのヘルプページをご覧ください。ドットインストール…
string.hヘッダファイルには、便利な文字列関数が含まれている。 strstr(a,b)は、文字列aの中の文字列bのアドレスを返す。 strcpy()は、ある文字列を別の文字列にコピーする。 strcmp()は2つの文字列を比較する。 strcat()は2つの文字列を連結する。 strchar…
ファイルテスト演算子(読み・書き・実行・存在): #!/usr/bin/env perl use v5.12; use warnings; # コマンドラインに指定されたファイル名のリストを受け取って、それぞれについて、 # 読み出し可能か、書き込み可能か、実行可能か、又は存在しないか、を…
元ネタ:プラグインを使わずにMarkdownでWordPressのブログを更新する(実践編)今まで、Markdownでブログを書くときは、Mouでひと通り書く→HTMLファイルとして出力→出力したHTMLファイルのbody部分をコピペ という工程でやってました。今日初めて知ったんで…
Livedoor BlogでMarsEdit等が使えるようになった件については、以下の記事を参照してください。 MarsEditやWindows Live Writerなどの外部ブログエディタに対応しました MarsEditでのMarkdownの使用方法については、以下の記事が参考になります。 MarsEditで…
モジュール内の特定のサブルーチンだけインポートする: #!/usr/bin/env perl use v5.12; use warnings; use File::Basename qw/ basename /; # リストで指定 my $name = "/usr/local/bin/perl"; say basename $name; 日付の操作はDateTimeモジュールで: #!…
関数内で変数を宣言すると、コンピュータはスタックと呼ばれるメモリ部分に変数を格納する 関数の外側で変数を宣言すると、コンピュータはメモリのグローバルセクションに変数を格納する 変数のメモリアドレスを知るには、&演算子を使う。 変数のアドレスは…
function runc { gcc $1 -o ./out && ./out } 使い方: $ runc hoge.c →hoge.cが、outというファイル名でカレントディレクトリにコンパイルされ、それを実行。 →コンパイルエラーがある場合はエラーを吐いて終了。 動作環境:Mac OS X 10.9 / bash 3.2.51
JavaScriptパターン ―優れたアプリケーションのための作法 [大型本]Stoyan Stefanovオライリージャパン2011-02-16 オブジェクトの生成 new Object()は使わない。代わりにオブジェクトリテラルを使う。 → コンストラクタに渡す値によって、呼び出されるコンス…
if/unless/while/until/foreach等は、「修飾子」にできる: #!/usr/bin/env perl use v5.12; use warnings; my @array = (1, 2, 3); say foreach (@array); ブロックスコープ: #!/usr/bin/env perl use v5.12; use warnings; { print "Please enter a numbe…
#!/usr/bin/env perl use v5.12; use warnings; $_ = 123456789; s/ (?<=[0-9]) # 前に1文字以上の数字があり (?=(?:[0-9]{3})+ # 後ろに3文字の数字のセットが1個以上あり $) # 後ろに余計なものが続かない位置にマッチ /,/gx; # マッチした位置にカンマを…
大文字と小文字の変換: #!/usr/bin/env perl use v5.12; use warnings; $_ = "I saw Barney with Fred."; # 文字列全体を大文字・小文字にしたいときは、uc又はlcを使う say uc; # I SAW BARNEY WITH FRED. say lc; # i saw barney with fred # 一部分だけ…
JavaScriptパターン ―優れたアプリケーションのための作法 [大型本]Stoyan Stefanovオライリージャパン2011-02-16 単独varパターン:関数の先頭でvar文をひとつにまとめる その関数で必要なすべてのローカル変数が一目でわかる 変数定義前に変数を使用してし…
正規表現では、「分岐」は遅いです。「a又はb又はcのいずれかにマッチ」する正規表現であれば、(a|b|c)よりも、[abc]の方が確実に速いです。このことは、PHPマニュアルにも記載されています。実際にどのくらいの差があるのか、見てみましょう。(ベンチマー…
ドット(.)をあらゆる文字にマッチさせる/s: #!/usr/bin/env perl use v5.12; use warnings; $_ = "I saw Barney\ndown at the bowling alley\nwith Fred\nlast night.\n"; if (/Barney.*/) { # こっちはマッチしない say "matched"; } if (/Barney.*/s) {…
Perlでは、use utf8;を宣言することで、ソースコードのコメント・文字列以外の部分に、UTF-8文字列を含めることができる。 UTF-8文字列には、通常プログラムを書く際に用いるASCII文字列(いわゆる半角英数字+半角記号)に加え、日本語の文字列や、絵文字ま…
PHPで、PCRE正規表現の使用時に「u」オプションを指定すると、パターン文字列をUTF-8文字列として処理する「UTF-8モード」になります。 参考:PHP: 正規表現パターンに使用可能な修飾子 - Manual UTF-8モードでは、「\d」は半角数字以外の数字(全角数字等)…
後方参照(キャプチャした部分文字列を正規表現パターンの中で再利用する): #!/usr/bin/env perl use v5.12; use warnings; # 同じ文字列が連続するパターンがあれば「matched」、なければ「not matched」を表示する sub is_matched { my $_ = shift; if (…
ニコニコ動画のランキングにNGワードを設定するスクリプトをGINZA対応したの続き。// ==UserScript== // @name Nico Ranking NG Word // @namespace https://twitter.com/ryo511 // @include http://www.nicovideo.jp/ranking/* // @version 1.2 // @grant G…
Perlでは、キーと値のペアを格納したデータ構造のことをハッシュ(hash)と呼ぶハッシュのキーはユニークな文字列であるPerlのハッシュは、要素の順序を保存しない keys関数とvalues関数(全てのキー/値を取り出す): #!/usr/bin/env perl use v5.12; use …
Head First C ―頭とからだで覚えるCの基本 [大型本]David Griffithsオライリージャパン2013-04-03 Cの基本 通常、Cプログラムはコメントで始まる次に来るのはインクルード部(Cは小さな言語であるため、外部ライブラリがほぼ必須)ソースファイルの最後には…
プロになるための PHPプログラミング入門 [大型本]星野 香保子技術評論社2012-01-13本書の対象読者は、「PHPによるプログラミングを始めて少なくとも半年から1年以上の経験があり、PHPの基本的な文法を習得している人」「PHP以外にも、HTML、データベース、J…
行入力演算子:<> #!/usr/bin/env perl use v5.12; use warnings; while (defined(my $line = <STDIN>)) { say "I saw $line"; } # defined($line = <STDIN>) の省略形 while (<STDIN>) { say "I saw $_"; } # <STDIN> で1行ずつ読み込むのは、whileの場合だけ。 # foreachだと、全ての行</stdin></stdin></stdin></stdin>…
Mac標準アプリの1つ「プレビュー(Preview.app)」には、ブックマーク機能があります。この機能は、OS X Marvericksでも残っているのですが、アクセス方法が変わっています。Mountain Lionでは、メニューに「ブックマーク」があって、そこから「ブックマーク…
Perlでは、ユーザーが定義した関数のことをサブルーチン(subroutine)と呼ぶサブルーチンの名前には、頭にアンパーサンド(&)をつける(省略してもコードの意味が変わらない場合には、省略できる)サブルーチンはファイル内のどこで定義してもよい(プロト…
リスト(list):スカラーの集合に順序を付けて並べたもの配列(array):リストを格納する変数PHPの世界では何でもかんでも「配列(array)」だけど、Perlの世界では中身(リスト)と容れ物(配列)を区別する。たぶんPHPの方が異端。 配列とスカラー変数の名前空…
小さなチーム、大きな仕事〔完全版〕: 37シグナルズ成功の法則 [単行本]ジェイソン・フリード早川書房2012-01-11「37シグナルズ」といえば、「Ruby On Rails」の開発者、David Heinemeier Hansson(DHH)が在籍していることで有名。代表的な製品は、Basecampと…
APIフェーズ フック名 タイミング URL-to-filename変換 HTTPリクエスト後、すべての認証の開始前 fixup 認証フェーズ後、.htaccessは読まれたが、contentハンドラは有効になっていない mod_rewriteは、URLをURLへ、URLをファイル名へ、さらにファイル名をフ…
Perlは整数と小数を区別しないダブルクォート文字列の内部では変数が展開される(PHPと同じ)文字列の連結は .(ドット)演算子を使う(PHPと同じ)スカラー値を格納した変数は、頭に $(ドル)記号をつける(PHPはあらゆる変数の頭に$がつくけど、Perlはス…