2013-01-01から1年間の記事一覧

『Head First C』第3章 小さなツールの作成

コマンドラインで > を使うと、標準出力をファイルにリダイレクトできる 2> を使うと、標準エラーをリダイレクトできる printf()は、fprintf(stdout)のショートカットである fprintf(stderr)で標準エラーを出力できる 通常、1つのプロセスが持てるデータスト…

ドットインストールのプレミアムサービスの課金方式について調べた

2014年3月17日追記本記事の課金方式に関する説明は、現在のドットインストールには当てはまりません(「登録日~月末」ではなく、「登録日から1ヶ月」に変更されています)。最新情報はドットインストールのヘルプページをご覧ください。ドットインストール…

『Head First C』第2.5章 文字列

string.hヘッダファイルには、便利な文字列関数が含まれている。 strstr(a,b)は、文字列aの中の文字列bのアドレスを返す。 strcpy()は、ある文字列を別の文字列にコピーする。 strcmp()は2つの文字列を比較する。 strcat()は2つの文字列を連結する。 strchar…

『初めてのPerl』第12章 ファイルテスト

ファイルテスト演算子(読み・書き・実行・存在): #!/usr/bin/env perl use v5.12; use warnings; # コマンドラインに指定されたファイル名のリストを受け取って、それぞれについて、 # 読み出し可能か、書き込み可能か、実行可能か、又は存在しないか、を…

MouでMarkdown→HTMLの変換をファイル出力無しに行う方法

元ネタ:プラグインを使わずにMarkdownでWordPressのブログを更新する(実践編)今まで、Markdownでブログを書くときは、Mouでひと通り書く→HTMLファイルとして出力→出力したHTMLファイルのbody部分をコピペ という工程でやってました。今日初めて知ったんで…

MarsEditでMarkdownを編集してLivedoor Blogに投稿してみた

Livedoor BlogでMarsEdit等が使えるようになった件については、以下の記事を参照してください。 MarsEditやWindows Live Writerなどの外部ブログエディタに対応しました MarsEditでのMarkdownの使用方法については、以下の記事が参考になります。 MarsEditで…

『初めてのPerl』第11章 Perlモジュール

モジュール内の特定のサブルーチンだけインポートする: #!/usr/bin/env perl use v5.12; use warnings; use File::Basename qw/ basename /; # リストで指定 my $name = "/usr/local/bin/perl"; say basename $name; 日付の操作はDateTimeモジュールで: #!…

『Head First C』第2章 ポインタ

関数内で変数を宣言すると、コンピュータはスタックと呼ばれるメモリ部分に変数を格納する 関数の外側で変数を宣言すると、コンピュータはメモリのグローバルセクションに変数を格納する 変数のメモリアドレスを知るには、&演算子を使う。 変数のアドレスは…

Cのコンパイルと実行を1行でやるシェルスクリプト

function runc { gcc $1 -o ./out && ./out } 使い方: $ runc hoge.c →hoge.cが、outというファイル名でカレントディレクトリにコンパイルされ、それを実行。 →コンパイルエラーがある場合はエラーを吐いて終了。 動作環境:Mac OS X 10.9 / bash 3.2.51

『JavaScriptパターン』第2章 オブジェクト

JavaScriptパターン ―優れたアプリケーションのための作法 [大型本]Stoyan Stefanovオライリージャパン2011-02-16 オブジェクトの生成 new Object()は使わない。代わりにオブジェクトリテラルを使う。 → コンストラクタに渡す値によって、呼び出されるコンス…

『初めてのPerl』第10章 さまざまな制御構造

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; # マッチした位置にカンマを…

『初めてのPerl』第9章 正規表現によるテキスト処理

大文字と小文字の変換: #!/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パターン』読書メモ

JavaScriptパターン ―優れたアプリケーションのための作法 [大型本]Stoyan Stefanovオライリージャパン2011-02-16 単独varパターン:関数の先頭でvar文をひとつにまとめる その関数で必要なすべてのローカル変数が一目でわかる 変数定義前に変数を使用してし…

分岐は遅い

正規表現では、「分岐」は遅いです。「a又はb又はcのいずれかにマッチ」する正規表現であれば、(a|b|c)よりも、[abc]の方が確実に速いです。このことは、PHPマニュアルにも記載されています。実際にどのくらいの差があるのか、見てみましょう。(ベンチマー…

『初めてのPerl』第8章 正規表現によるマッチ

ドット(.)をあらゆる文字にマッチさせる/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文字列(いわゆる半角英数字+半角記号)に加え、日本語の文字列や、絵文字ま…

PCRE正規表現のUTF-8モードにおける「\d」の挙動

PHPで、PCRE正規表現の使用時に「u」オプションを指定すると、パターン文字列をUTF-8文字列として処理する「UTF-8モード」になります。 参考:PHP: 正規表現パターンに使用可能な修飾子 - Manual UTF-8モードでは、「\d」は半角数字以外の数字(全角数字等)…

『初めてのPerl』第7章 正規表現の世界

後方参照(キャプチャした部分文字列を正規表現パターンの中で再利用する): #!/usr/bin/env perl use v5.12; use warnings; # 同じ文字列が連続するパターンがあれば「matched」、なければ「not matched」を表示する sub is_matched { my $_ = shift; if (…

ニコニコ動画ランキングにNGワードを設定するスクリプトを更新した

ニコニコ動画のランキングに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』第6章 ハッシュ

Perlでは、キーと値のペアを格納したデータ構造のことをハッシュ(hash)と呼ぶハッシュのキーはユニークな文字列であるPerlのハッシュは、要素の順序を保存しない keys関数とvalues関数(全てのキー/値を取り出す): #!/usr/bin/env perl use v5.12; use …

『Head First C』第1章 Cを始める

Head First C ―頭とからだで覚えるCの基本 [大型本]David Griffithsオライリージャパン2013-04-03 Cの基本 通常、Cプログラムはコメントで始まる次に来るのはインクルード部(Cは小さな言語であるため、外部ライブラリがほぼ必須)ソースファイルの最後には…

『プロになるためのPHPプログラミング入門』を読んだ

プロになるための PHPプログラミング入門 [大型本]星野 香保子技術評論社2012-01-13本書の対象読者は、「PHPによるプログラミングを始めて少なくとも半年から1年以上の経験があり、PHPの基本的な文法を習得している人」「PHP以外にも、HTML、データベース、J…

『初めてのPerl』第5章 入出力

行入力演算子:<> #!/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>…

OS X Marvericksのプレビュー.appでブックマークを使う

Mac標準アプリの1つ「プレビュー(Preview.app)」には、ブックマーク機能があります。この機能は、OS X Marvericksでも残っているのですが、アクセス方法が変わっています。Mountain Lionでは、メニューに「ブックマーク」があって、そこから「ブックマーク…

『初めてのPerl』第4章 サブルーチン

Perlでは、ユーザーが定義した関数のことをサブルーチン(subroutine)と呼ぶサブルーチンの名前には、頭にアンパーサンド(&)をつける(省略してもコードの意味が変わらない場合には、省略できる)サブルーチンはファイル内のどこで定義してもよい(プロト…

『初めてのPerl』第3章 リストと配列

リスト(list):スカラーの集合に順序を付けて並べたもの配列(array):リストを格納する変数PHPの世界では何でもかんでも「配列(array)」だけど、Perlの世界では中身(リスト)と容れ物(配列)を区別する。たぶんPHPの方が異端。 配列とスカラー変数の名前空…

『小さなチーム、大きな仕事』

小さなチーム、大きな仕事〔完全版〕: 37シグナルズ成功の法則 [単行本]ジェイソン・フリード早川書房2012-01-11「37シグナルズ」といえば、「Ruby On Rails」の開発者、David Heinemeier Hansson(DHH)が在籍していることで有名。代表的な製品は、Basecampと…

mod_rewriteの内部処理

APIフェーズ フック名 タイミング URL-to-filename変換 HTTPリクエスト後、すべての認証の開始前 fixup 認証フェーズ後、.htaccessは読まれたが、contentハンドラは有効になっていない mod_rewriteは、URLをURLへ、URLをファイル名へ、さらにファイル名をフ…

『初めてのPerl』第2章 - スカラーデータ

Perlは整数と小数を区別しないダブルクォート文字列の内部では変数が展開される(PHPと同じ)文字列の連結は .(ドット)演算子を使う(PHPと同じ)スカラー値を格納した変数は、頭に $(ドル)記号をつける(PHPはあらゆる変数の頭に$がつくけど、Perlはス…