2009年07月09日22:00 カテゴリLightweight Languages 言語 = 文法 + 語彙 そのライブラリーに力を決めるのはなにか。 プログラミング言語の力における限界生産力逓減の法則とライブラリと - プログラミング言語を作る日記 書籍プログラミング言語を作るにも書きましたけど、言語の力ってのは結局のところほとんどライブラリの力で決まってしまうところがあります。 それが、文法ではないのか。 「何が言えるのか」を決めるのが、語彙(vocabulary)。 「どう言えるのか」を決めるのが、文法(syntax)。 言語は、この二つで出来ている。 ところが、この二つには、相反する要求がある。 語彙は、なるべく多い方がいい。多ければ多いほど、言えることは多くなるからだ。 しかし文法は、なるべく少ない方がいい。少ない方が覚えることが少なくなるからだ。 この矛盾を、言語はどう解決し
妹認証とは 妹認証は、PHP用のCAPTCHAモジュールです。他のCAPTCHAモジュールとは違い、 非常に斬新なCAPTCHAです。妹認証のコンセプトは「人間的対話による認証」です。 これはネタではありません。極めて真面目なBOT対策用モジュールです これは相手が人間かどうなのかを判断する目的で開発されました。 が、一部ネタも混じっていることを白状しまs 質問文と回答文に日本語を完全にサポートします。 質問文はPHP+GD+TTFフォントで画像出力を実現しています。 また、難読化の設定も存在します。(未完成です) また、PHP初級者でもかなり簡単に設置できます。 質問文を含め「妹」はパッケージとして自由に変更可能です。 標準でバンドルされている「れいにゃ」パッケージを元に、 自分のオリジナルキャラクターのパッケージを作るのもいいと思います。 「妹」に限らず「姉」や「弟」・・・・・・・・・
<< 2008/03/ 1 1. [Ruby] Ruby 1.9.0-1 snapshot released 2. 高木浩光@自宅の日記 - 公開鍵暗号方式の誤り解説の氾濫をそろそろどげんかせんと 3. [Ruby] Lisa Awards: Biggest Hack for a Language Runtime on Dion Almaer's Blog 2 1. [教会] 第一安息日 3 1. [言語] CS 11: Python track: python idioms 2. [Ruby] Binary search algorithm - Wikipedia, the free encyclopedia 3. [OSS] Theological Cultural Analysis of the Free Software Movement 4. 小寺信良:正直、テレビはもうダメかも
OpenFLP posted by p4life まだまだバグとか色々残っているかとは思いますが,リリースしました. OpenFLPhttp://code.google.com/p/openflp/OpenFLP は,Rails で作られているオープンソース版 Fastladder(OpenFL)を PHP のフレームワークである CakePHP を使って移植したものです.Rails によって作られているサーバーサイドプログラムとクローラーを Pure PHP に置き換え,Ruby/Rails への依存をなくしました.これによってレンタルサーバーなどへ簡単に Fastladder 互換の RSS/Atom フィードリーダーを導入することができます.ライセンスは オープンソース版 Fastladder と同じく,MIT ライセンスです. 必要環境 PHP 5.2, Apache, MySQL
■ 32 文字の SHA-1 ハッシュ値を返す関数 先日書いたように、 session.hash_bits_per_character = 5 に設定すると、 SHA-1 を用いたセッション ID を 32 文字で表現できる。 これと同じように、sha1() 関数の返り値も 32 文字の文字列にすることを考えてみた。 残念なことに sha1() 関数にそういったオプションは存在しないが、 検索してみると、rsky さんの作った関数が見つかった。 ハッシュに MD5 を使っているアプリケーションをデータベースのテーブル定義等を変更せずに SHA-1 に移行するために 4bit × 40文字でなく、5bit × 32文字のハッシュを返す関数をつくってみた。 function sha1_32($str) { $hex = sha1($str); $hash = ''; $c = array_ma
ついカッとなってやってしまった。後悔はしないことはないだろう。 諸君 私はPHPが好きだ 諸君 私はPHPが大好きだ PHP/FI2が好きだ PHP3が好きだ PHP4が好きだ PHP5が好きだ PHP6が好きだ PEARが好きだ PECLが好きだ Smartyが好きだ PHPマニュアルが好きだ PHP-CLIが好きだ Windowsで Linuxで UNIXで BSDで Macで りなざうで Blogで Wikiで サーバ上で クライアントPC上で この地上で行われるありとあらゆるPHPプログラミングが大好きだ file_{get|put}_contents()/file()でファイルの読み書きを一瞬で実装するのが好きだ xdebugで武装したベテランの連中がプロファイリングでボトルネックを検出した時など心がおどる PHP4でnewした結果を&つけ忘れたためオブジェクトがコピーされてしま
大変ご無沙汰です。約1年半ぶりの更新です。 昨日、ブログを設置しているサーバでOSのアップデートに問題が発生したため、これを機に新サーバ・新OSに乗り換えることにしました。 現在のブログがマルチサイトのため、そのままでは新サーバの構築に苦戦すると予想されるため、他のブログの記事を統合しました。 統合内容は以下の通りです。 ・C-Production ・・・ メインサイトのため、他のブログを吸収して継続。 ・♪8thNote♪ ・・・ メインサイトに統合済みだったので、削除。 ・モバイル魂 ・・・ メインサイトに記事を引き継ぎ、並行稼働中。 ・無線のドキュメント ・・・ もともと閉鎖予定だったので、そのまま削除 外部SNSのアカウントについてはそのまま継続します。 今後ともよろしくお願いします。
via - 乱数 とは 何年かまえにrandとmt_randの分布をgnuplotでやった記憶があるけど、忘れてたのでもう一度。 以下のスクリプトはデータを適当な場所に生成して、gnuplotにSTDINからスクリプトとデータを書き込んだ上、xvでpngデータを表示しようとするヤツ また、randで生成する最小、最大値は0から50の間 ちなみに、proc_openを使うことで、gunplotのような対話式のプログラムも実行できる <?php define('__CDIR__', dirname(__FILE__)); $srand = 'srand'; $rand = 'rand'; //$srand = 'mt_srand'; //$rand = 'mt_rand'; list($usec, $sec) = explode(' ', microtime()); $srand($sec +
PHP5より例外処理が導入され Fatal error も補足できるようになりましたが、PHP4では Fatal error を補足する手段は用意されていません。 そもそも Fatal error が発生しないようなプログラムを書くべきなのですが外部ライブラリ側のバグや事前予測不可能な場合等は発生してしまう可能性があります。 運用時においては、このような場合でもエラー出力してしまうのは好ましくないでしょう。 まず、PHPには標準で set_error_handler という関数が用意されていますが、これでは Fatal error は補足できません。 set_error_handler -- ユーザ定義のエラーハンドラ関数を設定する そこで、Fatal error を補足し適切な処理、出力およびロギングを行う方法について説明します。 PHP4では Fatal error 発生時、HTML出
(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)
via.Yahoo!がPHPエンジニアを雇う時に聞く質問 | IDEA*IDEA とりあえず適当に訳してみました。間違いがあれば指摘をお願いします :-) 1.配列usersに「john」を追加しないのはどれか? 1. $users[] = ‘john’; 2. array_add($users,’john’); 3. array_push($users,‘john’); 4. $users ||= ‘john’;2. sort(), assort(), ksort()の違いを述べよ。また、どういった状況で利用するかを述べよ。 3. 以下のコードは何を出力するか?それはなぜか? $num = 10; function multiply(){ $num = $num * 10; } multiply(); echo $num;4. 参照と通常の変数の違いを述べよ。また、どのように参照渡しをす
2007年05月21日04:00 カテゴリLightweight Languages そろそろPHPに関して一言いっとくか こんな記事まで出ていることだし。 [ThinkIT] 第1回:今だからこその「PHPのすすめ」 (1/3) プログラムをたしなまない方にご注意: こちらのPHPとはちょっと違います:-p finalventの日記 - そろそろPHPに関してもう一言いっとくか 各論 使うは天国、インストールは地獄 PHPが一旦インストールされたら、それを使うのは確かに簡単だ。普通にHTMLを書く感覚で <p>以下の環境変数が設定されています:</p> <pre> <?php while(list($k, $v) = each($_SERVER)){ echo "$k=$v\n"; } ?> </pre> とか書けばいい。しかし、PHPでいろいろやるためには、実際にはさまざまなライブラリ
はじめに 僕は、 PHP なんて大っ嫌いなんだから!って訳じゃないですよ><。 すごくいい言語だと思うし、プログラミングの入り口としては最高じゃないかなって思ってます。 おまけに、環境さえ整ってれば拡張子を html から php に変えるだけで、すぐプログラミングできるしね! ただ 僕にはもう PHP を始められないたった一つの理由があるんでつ>< それは PHP にはクロージャがない>< スクリプト言語なのに・・・。 クロージャがあれば 僕は諸手を挙げて PHP をやりたいです>< でも、でも、 クロージャのないスクリプト言語はもう触れない体になってしまったのです。 なんでって? だって、 function hoge(e) { : e.addEventListener('fuga', function() { e.piyo(); }, false); : } とかできない>< クロージ
うまくいかない日に仕込むラペ 「あぁ、今日のわたしダメダメだ…」 そういう日は何かで取り返したくなる。長々と夜更かしして本を読んだり、刺繍をしたり…日中の自分のミスを取り戻すが如く、意味のあることをしたくなるのです。 うまくいかなかった日のわたしの最近のリベンジ方法。美味しいラペを…
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く