基本概念と特徴 リポジトリ Subversion は共有情報の一元管理システムであり、情報はリポジトリに格納される。 リポジトリは情報をファイルシステムツリー(一般的なファイルとディレクトリの階層構造)の形で保持する。 Subversion ではリポジトリの場所は URL によって表現される。 リポジトリにアクセスするための URL には以下のようなものがある。 file:/// リポジトリへの直接アクセス (ローカルディスク上) http:// Apacheサーバ への WebDAV プロトコル経由でのアクセス https:// http:// と同じだが、SSL による暗号化 svn:// svnserve サーバに対する独自 TCP/IP プロトコル経由でのアクセス svn+ssh:// svn:// と同じだが、SSH トンネルを利用する ほとんどの場合、Subversion の
今日は何度も「なぜPythonの整数の割り算はC言語のようにゼロに向けて丸めるのではなく、切り捨てなのか?」と聞かれた。 数値が両方とも正の場合には、何も驚くようなことは発生しない。 >>> 5//2 2 しかし、どちらかの数値が負の場合、結果は切り捨てられる。言い換えると、ゼロから遠い方向(負の無限大方向)に向けて丸められる。 >>> -5//2 -3 >>> 5//-2 -3 この挙動は何人かの人を混乱させたようであるが、このような実装になっているのは数学的な根拠がある。整数の割り算の演算子(//)と、その弟の余りを計算する演算子(%)は、次のような数学的な関係を保っている。すべての変数は整数とする。 a/b = q あまり r これは、次のような関係性を持っている。 b * q + r = a かつ 0 <= r < b (ただし、a, bはともに0以上の整数) もしも、この式の関係
PDTでデバッグ機能を利用するためには、本体とは別にデバッガを自分でインストール・設定する必要があります。対応しているのは ZendDebugger と Xdebug のみで、DBG には対応していません。ただし、PDTのXdebugサポートはPDT本体とは開発主体が異なるので、マルチバイトをサポートしていない[2.0からサポートされます]、値の変更で eval が使えない、Linked Folder をサポートしていない[1.0.3で修正されました]、Watch の事前設定が使えない等々、さまざまな欠陥があります。これらの欠陥は開発主体に「バグである」との認識が無いため、改修される可能性は極めて低いです。PDTではZendDebuggerを使いましょう。(ただしPDT+ZendDebuggerは mod_rewrite や pathinfo に対応していないので、それらが必要な場合はXd
Yahoo!のAndreiさんのプレゼンのPDFを勉強がてら訳していってます。訳は微妙です。 元記事: Andrei Zmievski: "VIM for (PHP) Programmers" slides and resources この記事シリーズまとめはこちら: (PHP)プログラマのためのVIM (まとめ) - おぎろぐはてな カーソル位置・カーソル移動・マーク・挿入 削除・検索 置換・テキストオブジェクト コピー/削除/貼り付け、レジスタ undo ビジュアルモード、ウィンドウ、タブ 補完・マップ・オプション セッション、misc、ヘルプ そのまえに ここからは、Andreiの実際使っているvimの設定についての説明が含まれます。ファイルは元記事からダウンロードすることができます。 カスタマイズ vimをカスタマイズするには、~/.vimディレクトリにファイルを配置 filety
Python勉強し始めて一ヶ月くらいたったんで一度復習を兼ねてまとめてみようと思います。僕が今までPHPとかPerlとかJavaScriptを使っていて、Pythonはこうやるのかーとか、これは便利だなーと思ったところ、開発していてはまったところなどピックアップしてみました。 初めてのPythonを読んで初心者向け勉強会に参加した程度の知識です。とりあえず初めてのPythonがかなりいいのでこれ読むだけで大体基礎は習得できた気がします。基本的な文法の説明だけでなく、大事なことは何回も繰り返し書いてあったり、Pythonの思想などにも触れているのでなぜこういう実装になっているかということも理解できます。これオススメ。 尚、このエントリーではPythonのバージョンは2.5をベースにしてます(主にGoogleAppEngineで使ってるので)。間違えなどあったらツッコミお待ちしてます。 文法、
はじめに PHP界隈では現在、PHP 4からPHP 5への移行が進んできており、ここ最近ではPHP 5の機能を活用したフレームワークも多く出てくるようになりました。 PHP 5は、PHP 4に比べオブジェクト指向のサポートや速度面での向上などが取り上げられる中、最も注目すべき点であるデータベースへのアクセスを抽象化したレイヤーとしてPDOが登場しました。 今回はそのPDOに注目し、サンプルを交えてPDOの使い方を紹介します。 対象読者 PHP 5を使ったことがある方 以前PEAR::DBなどを用いてデータベースを使ったアプリケーションを作成したことのある方 必要な環境 PDOはPHP 5.1から標準で導入されるようになりました。Windows/UNIXを問わず利用することができます。よってPHP 5.1の環境と、PDOの動作に必要なデータベースの構築を行ってください。 PDOとは PDO(
4. Scalaとのであい 、、、,. ,._ >>Scalaくん…… Scalaくん……… ィ`‘′ ヽ 〃/ノノ八レレ、. | Scalaくんに託すっ…! ル三’‘′`三ヽ. | [ ≧|ニ|≦_]~|^)ト、 虫のいい話なんだが…… . | ,-L__」 -、u |ト:| |’‘‐- ...__ _.. -┬|l王l王l王l`/ .| | | Haskellの代わりに… . ∧ |├‐┬─‐’‘′/ || ぼくをきたえあげて…… / l |.l-―|、___/-―┤ | ̄ ̄|.| | | ヽ. / | | 関数型をわからせてやってくれ… /.| | l. | | Y。 || \/~三三..l | ̄ ̄ ̄ ̄ ̄  ̄| たのむ…… /、 丁` /ヽ「| /.| | . / へ、./ | l. /⊿ |_ | / |/ | |. └‐::┐r‐┘ .| . ! / |_|. └' |==
» What is it? PEAR is a framework and distribution system for reusable PHP components. Sounds good? Perhaps you might want to know about installing PEAR on your system or installing pear packages. You can find help using PEAR packages in the online manual and the FAQ. If you have been told by other PEAR developers to sign up for a PEAR website account, you can use this interface. » Hot off the Pre
OCamlの 型推論 ---- OCamlとは ---- プログラミング 言語の ひとつ ---- 型推論 とは ---- 型を推論 すること ---- 例 ---- fun a b c → c(if a then b else "あ") + 5 ---- 型は書いて ないけど ---- fun a b c → c(if a then b else "あ") + 5 <font color="red">: bool→string→(string→int) →int</font> ---- コンパイラが 自動で 推論 ---- 直感的に 言うと ---- (if a then ...) ということは ---- a は bool に ---- 決定 ---- (... then b else "あ") ということは ---- b と "あ" は 同じ型 ---- つまり b は ---- st
入門書を3〜5冊くらい読む バイブル的書籍にざっと目を通す(大体「プログラミング言語○○」って名前) 辞書的なリファレンスマニュアルと首っ引きでなんか作る(.chmみたいのでさくさく引ける状況が理想だけどオンラインマニュアルでも可) 2, 3個作ってみて「なんか時間かかるなー」「なんか無駄がある気がするなー」と思う 「その言語を美しく効果的に適切に使うための本」を読んで何度も頷く 大枠ではこんな感じだと思うんだけどPHPなんですよPHP。「Effective PHP」とか「PHPベストプラクティス」とか「WRITING SOLID PHP」とか「エキスパートPHPプログラミング」とか「PHP Good Parts」とかそーゆーの無いのかな。PHPから入った人向けの「とりあえず目的を達成できればいい」から一歩抜けだすための本。でも目的達成できれば御の字だし一歩抜け出したら余計なこと考え出して
【概要】 オブジェクトをディープコピーに対応させる際に、コピー対象のオブジェクトごとに clone() メソッドを定義していく手間を省くことができるシリアライズを利用したディープコピーの方法の紹介。 【キーワード】 ディープコピー、Deep Copy、シリアライズ、直列化、Serialization、Serialize Java でディープコピー(DeepCopy)を行うには clone() メソッドをオーバーライドしてディープコピーの動作を自分で記述しけばよいが、他にも直列化(シリアライズ)の機構を利用してディープコピーを行う方法もある。 例えば次のような File クラスを考えてみる。 import java.util.Date; public class File { private String name; private String description; private D
Pure Pure Code ++ Language: C++, Haskell, Python ... are the programming languages of choice for discriminating hackers. 今年のICFP Programming Contestにて優勝しました。(コンテスト中の様子は http://d.hatena.ne.jp/tanakh/20100702#p1 こちらにあります) 一次ソース(http://www.icfpcontest.org/2010/)はまだ来ていませんが、今年のICFP@ボルチモアにて表彰されてきました。こちら(http://twitpic.com/2swi5c)に証拠写真がアップロードされています。 Our Score: 13597.354 Our Solved: 3451 Our Cars: 72 >=5
ご挨拶 こんにちは、ロンドンのNew Bambooという会社でWebエンジニアとして働いている@makoto_inoueです。ここのところ、PusherというWebSocketのクラウドサービスの開発に関わっています。今回から3回に渡ってWebSocketに関する短期連載を担当させていただきます。 私を含めたNew Bambooの面々(我々は自分たちのことをBambinoと呼んでいます)がWebSocketになぜ興味を持ったかということからはじまり、実際にクラウドサービスを始めるまでにいたったストーリーをお話ししたいと思います。そのストーリーを通じて、WebSocketが切り開く「リアルタイムWeb」な世界への可能性や技術的課題を皆さんと共有できればと思っています。
OAuth 調べてみたら難しくて理解出来なかったので, Python で標準ライブラリだけで 1 から書いてみました. / \ / _ノ ヽ、_ \ / o゚((●)) ((●))゚o \ twitter の OAuth 難しいお… | (__人__)' | \ `⌒´ / ____ /⌒ ⌒\ /( ●) (●)\ /::::::⌒(__人__)⌒::::: \ だからやる夫でやるお! | |r┬-| | \ `ー'´ / Python のサンプルコードを付けていますが, 上から順に読めるようにおもいっきり手続き型で書いています. コメントで実際の処理の説明を書いています. Consumer Key と Consumer Secret の入手 / ̄ ̄\ / u \ .____ |:
「きみの会社はJavaからScalaへ移行したらしいね。」 「ああ。」 「やはり、移行するのは大変だったろう。」 「そうでもないよ。開発者がみんなハッピーになれたからね。」 「それはいいな。」 「だが、再びJavaで開発することになったよ。」 「そりゃまた、どうしてだい?」 「Scalaになって、コードの行数が激減したからさ。」 「お気の毒に。」 「きみの会社はJavaからRubyへ移行したらしいね。」 「ああ。」 「やはり、移行するのは大変だったろう。」 「そうでもないよ。開発者がみんなハッピーになれたからね。」 「それはいいな。」 「だが、再びJavaで開発することになったよ。」 「そりゃまた、どうしてだい?」 「Rubyになって、人月計算がおかしくなったからさ。」 「お気の毒に。」 「きみの会社はJavaからObjective-Cへ移行したらしいね。」 「ああ。」 「やはり、移行する
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く