はじめに 本文書は、Rubyによりコーディングを行う際の規約について述べる。 実際のプロジェクトに適用する際には、このコーディング規約をカスタ マイズして用いることを推奨する。 ソースコードの整形 インデント プログラムを読みやすくするため、インデントを適宜行う。インデント 幅は2とする。また、インデントにはスペースのみを使用し、タブは使用 しない。(環境によりタブ幅が異なるため。) 例: if x > 0 if y > 0 puts "x > 0 && y > 0" end end 一行の桁数 一行の桁数は最大80桁までとする。 空行 複数のクラスの区切には空行を挿入する。 例: class Foo ... end class Bar ... end 誤った例: class Foo ... end class Bar ... end また、クラス内の各構成要素の区切にも空行を挿入する。
プログラムの最も早い習得方法は、他人のソースを見ながら勉強することだ。興味がもてる材料だけに、ただ本を眺めるよりも効率的に覚えることができる。 では興味の対象がソースを公開していなかったらどうしたら良いだろう。そのためにこれがある。 今回紹介するフリーウェアはFlare、Flashのデコンパイラーだ。 デコンパイラーは名称のまま、逆コンパイルをするためのソフトウェアだ。構成する素材全てが取れるわけではなく、flrという拡張子でActionScript部分が抽出される。逆に素材が欲しい場合は、HugFlashを使おう。 ソースを見てみる事で、実際に行われている処理やサポートされている関数を知ることができる。実は明文化されていない裏APIがあった、なんて事があるかも知れない。尚、動作はWindows、Mac OSX、DOS、Linux、Solarisとなっている(GUI版のMac OSXではう
本ページの情報は、2016年10月時点のものです。2023年10月に再構成をいたしました。 なお、内容に変更はありません。 2016年10月版 2002年2月に「Webプログラマコース」と「製品プログラマコース」、2007年の6月に「Webアプリケーション編」、9月に「C/C++編」と分けて公開してきた講座のうち、原則を中心として共通的なものをまとめて2016年10月に再編しました。 なお、資料内の参照先はすべてサイトリニューアル前のURLであるため、リダイレクトを設定しています。 セキュア・プログラミング講座(2016年10月版/2017年6月一部修正)(PDF:2.3 MB) 2007年版 「ソースコード検査技術の脆弱性検出能力向上のための研究」(注釈1)を実施した一環として取りまとめた内容を、2002年から公開していたセキュア・プログラミング講座(旧版)の改訂版(2007年版)として
2008年06月03日06:00 カテゴリLightweight Languages perl - 勝手に添削 - Perl入門#1@ITPro さすがに出典が日経Linux 2003年7月号だけあって、少しトウがたってはいるけど、現在でもわずかな修正で使える記事。さすが川合さんといったところか。 第1回 Perlの文法の基本:ITpro というわけで、この記事の「現代化」Patchを。 全般 use strict;だけではなくuse warnings;も加えましょう。 さらに,調べても分からないことがあれば,メーリング・リストやユーザー・グループ*2に質問してみてもよいでしょう。 blogに書くのもアリです。あと私は使っていないけどIRCとか。 ビルトイン関数は()でくくらない方が視認性が上がります。 before: chomp($sLine); after: chomp $sLine;
2007年04月23日22:45 カテゴリLightweight Languages perl - 万能なnewの書き方 Perl 5のOOは、慣れてしまうと簡単だ。 継承とか考えずに、普通にクラスを作りたければ、必要なのは以下の二行だけ。 package Klass; sub new { bless {} }; これだけでは何もできないので、とりあえずnameというアクセサーを追加してみる。これだけ。 sub name { my $self = shift; $self->{name} = shift if @_; return $self->{name}; } しかし、上の形式だと、継承をサポートしていない。だから、 package Klass; sub new { bless {} }; package Klass::Sub; our @ISA = qw/Klass/; # new
ここでは、コーディング規約を公開しています。当規約をより良いものにするため、ディスカッション用としてメーリングリストをご用意しました。メーリングリストへの 入会方法は、このページの末尾にあります。 コーディング規約に関する情報をご紹介します。 ■株式会社電通国際情報サービス版 Javaコーディング規約2004(04/09/30) ・PDF(約430KB) 本Javaコーディング規約の担当者へのご意見はjava-coding-info at ObjectClub.jpまでお寄せください。本Javaコーディング規約は、(株)電通国際情報サービス様の『Javaコーディング規約2004』をもとにしております。 『Javaコーディング規約2004』の改版として、『Javaルールブック ~読みやすく効率的なコードの原則』が出版されております。 ■オブジェクト倶楽部版 Javaコーディング規約(04/0
(2012/11/01追記) 4年ほど前の記事「PHP5.3.0alpha3のround関数の実装がPHP5.2.6と変わった - hnwの日記」でお伝えした通り、PHP 5.3.0から別の実装が採用されており、本ページで指摘しているような挙動のPHPは既に絶滅危惧種です。念のため。 さて、プログラミングの話題もたまには書いてみます。今回はPHPのround関数の挙動が変だ!という話題です。 round()は浮動小数点数を四捨五入する関数で、大抵の言語に同じ名前で実装されているかと思います。ではPHPのround関数の何が問題なのか、ちょっと試してみましょう。 $ uname -sro Linux 2.6.9-42.0.10.plus.c4smp GNU/Linux $ php --version PHP 5.1.6 (cli) (built: Feb 23 2007 06:56:38)
いくつか、分かっていることとわかっていないことがあります。 以下に分かっている範囲でのポイントを挙げます。 Timeout for inactivity during Makefile.PL? [0]では0(デフォルト)にする ここでTimeoutを指定してしまうと、完了またはタイムアウトの通知にalarm関数を使います。 alarm関数はActivePerlでは実装されていないため、エラーになります。 makeは、perl -V:makeが返すものを使う makefile.plはperl -V:makeが返すmakeプログラムにあったmakefileを作るようです。 perl -V:makeがnmakeを返す場合、dmakeを使うとエラーが発生します。 これ以外の設定は、実施者の任意で構いません。 私が意識して行った設定は以下のものです。 Select as many URLs as y
?さん 「言語何使ってる?」 僕 「Perl がメインかなぁ〜」 ?さん 「( ´_ゝ`)フーン Java じゃないんだぁ・・・今時 CGI で書いてるの?」 ここで言う Java ってのは Tomcat や Resin に代表される Servlet / JSP コンテナを利用したプロセス常駐型 java の事を指してます。決して Java-cgi のことを意味していません。多分彼らも、そういったことは意識していないと思います。 本業で随分昔(servlet 技術が出る前)に作成した Java-cgi で作られたアプリケーションが現役で活躍していますが、とてつもなく遅いです。いわゆる Perl-cgi が遅いと言われる理由と一緒です。一番の勘違いのポイントは、 CGI = Perl って図式が無意識のうちにあると言うことですね。でも実際は、CGI の定義は、アクセスがあるたびにサーバが新し
What is Mongrel? Mongrel is a fast HTTP library and server for Ruby that is intended for hosting Ruby web applications of any kind using plain HTTP rather than FastCGI or SCGI. It is framework agnostic and already supports Ruby On Rails, Og+Nitro, Camping, and IOWA frameworks. Mongrel was originally written by Zed A. Shaw. It is licensed under the Ruby License. Getting Started The easiest way to g
else は上で示したように常に単独の行に書いてください。 return の後には else を使わないでください。 if (x < y) return -1; if (x > y) return 1; return 0; i++ も ++i も使用可能です。 インライン関数はそのデバッグが楽になるように名前を付けてください。関数をプロパティに代入しただけではその関数に名前を付けることはできません。次のようにしてください。 var offlineObserver = { observe: function OO_observe(aSubject, aTopic, aState) { if (aTopic == "network:offline-status-changed") setOfflineUI(aState == "offline"); } }; 名前や列挙値には interCap
.NET Framework 2.0では、CLR上で動作するプログラム(以降、.NETプログラム)を生成するための新たなビルド・エンジンとして「MSBuild」が搭載された。 そこで本特集では、前・後編の2回に分けてMSBuildの詳細を解説する。前編では、「MSBuildとは何かについてとその利用方法」について、後編では「ビルドの手順(以降、ビルド・プロセス)を記述したMSBuild用ファイルの読み方や書き方、またMSBuildにカスタムの機能を追加して拡張する方法」について説明する。 それではさっそくMSBuildとは何かから説明していこう。 1. 「MSBuild」および「MSBuildファイル」とは? MSBuildとは、独自のXMLフォーマットのファイル(以降、MSBuildファイル)を解釈して、それに従い.NETプログラムをビルドするためのツールである。 MSBuildファイル
「やる気のない社員との接し方」という記事に対して 「俺自身がやる気なくしているし」という内容のコメントでブックマークやブログを書かれている方が結構いました。 やる気をなくしている人の中には、自分がやる気をなくしていていることを自覚していつつ、他人にはその理由を言いにくいということが多いのではないかと勝手に予想してみました。 恐らく、やる気をなくしている理由が言い訳に過ぎないと自覚しているのではないかと思われます。 今回は、口に出される事がない、やる気をなくしている理由を妄想してみました。 正当な理由でやる気をなくしているものは今回のネタの範疇外です。 なお、あくまでフィクションです。 ご注意下さい。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く