開発環境移行計画。

目指す環境: coLinux debian sarge emacs

これだけのことになんと時間を費やしてることか・・・。

coLinux, sargeインストール:
(略

sarge UTF-8化:

sudo apt-get install locales lv
cat "export LANG=ja_JP.UTF-8" >> ~/.bash_profile

ssh, cvs

sudo apt-get install keychain cvs
echo "keychain ~/.ssh/id_dsa" >> ~/.bash_profile
echo "source ~/.keychain/${HOSTNAME}-sh" >> ~/.bash_profile
echo "export CVS_RSH=ssh" >> ~/.bash_profile

emacs, utf-8, php:

sudo apt-get install emacs21 mule-ucs php-elisp
(set-language-environment "Japanese")
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(setq default-buffer-file-coding-system 'utf-8)

未解決:

phpのコードを書いてると関係無い部分の文字が壊れる。
タブ(インデント)の扱いがよくわからない。
emacs-lispの記述の意味がさっぱりわからない。

emacs + php説明の素敵なページはどこか!
emacsで混乱したときにvimを立ち上げると死ぬほど癒される。このままではっ、まずい・・・。

GNU Emacsデスクトップリファレンス
  • GNU Emacsデスクトップリファレンス
  • オライリー・ジャパン(1999-06)
  • (著)デブラ キャメロン
  • (原著)Debra Cameron
  • (翻訳)日本ルーセントテクノロジー
  • 定価:¥ 683
  • 新品価格:¥ 683
  • 中古価格:¥ 380
  • ASIN:4900900931
blog.xole.net : pregとevalでPHP6にする!(ネタ

はいらない。 また、(...)や[...]でarray(...)に置き換えとかやってみた。 ( via: kunitの日記 – [PHP] 配列の簡易書式 ) いろんな構文を単にpreg_replace()でeval()してるだけ!

うける。 設定ファイルとかに使えないかな?

p0t: Mojavi2大好き

俺もそこ問題だと思います。
http://forum.mojavi.org/index.php?showtopic=1119&hl=e_user_notice

自分ではここだけは2.0.3βから直して使ってますが、(略

とか言った手前、2.0.3bに対するパッチとパッチ当て済み2.0.3b2をアップしました。

Mojavi2.0.3b2

Mojavi2.0.3b用ErrorLoggerパッチ

*** mojavi.bk/opt/logging/ErrorLogger.class.php 2005-11-18 06:39:17.570000000 -0500
--- mojavi/opt/logging/ErrorLogger.class.php    2005-11-18 06:37:55.900000000 -0500
***************
*** 197,213 ****
              switch ($level)
              {

                  case E_USER_NOTICE:

                      $this->info($message, NULL, NULL, $file, $line);
                      break;

                  case E_USER_WARNING:

                      $this->warning($message, NULL, NULL, $file, $line);
                      break;

-                 case E_USER_ERROR:
                  default:

                      $this->fatal($message, NULL, NULL, $file, $line);
--- 197,216 ----
              switch ($level)
              {

+                 case E_NOTICE:
                  case E_USER_NOTICE:

                      $this->info($message, NULL, NULL, $file, $line);
                      break;

+                 case E_WARNING;
+                 case E_CORE_WARNING:
+                 case E_COMPILE_WARNING:
                  case E_USER_WARNING:

                      $this->warning($message, NULL, NULL, $file, $line);
                      break;

                  default:

                      $this->fatal($message, NULL, NULL, $file, $line);

colinux debianでja_JP.UTF-8 localeを作ろうとするとメモリが足らなくて落ちる。 64MB → 128MBに増やしたら動きました。

Collection & Copy – デザイン変更

自分が思う素晴らしいアイディアを他人に話し、それがウケたらそのアイディアはイケていないという法則を理屈無しに信じている。最近では本末転倒に、相手に万が一でもウケないように、わざと凡庸に言ったり、判り辛く言うほどだ。

これは癒されます。 これから何か書いて反応なくても、「ヨシッ!」

PHPエンジニア向けキャリアアップセミナーと登録説明会 – HotPHPPER News

株式会社デジタルスケープによりPHPエンジニア向けキャリアアップセミナー&登録説明会が開催されます。 これは無料で参加できるセミナーで、講師として株式会社アシアルの田中さんが講師を担当されるようです。

む、ちょっと興味が。 行ってきた人の話聞いてみたい。

kunitの日記

・・・がPHPにもあればもっとすっきりかけるんだけどな。必ず「array(....)」とかかないといけないので見た目が複雑になる。これがRubyやPerlのように「[....]」とか「(.....)」のようにかけるとほんとすっきりするんだけどな・・・

これはほんとにほしい。

[18:38:23] 親切なクムジャさん の発言:
先行って

[18:38:35] 親切なクムジャさん の発言: 何か”品”見てるって話になった

[18:38:49] komagata の発言: ””品”“かぁ

[18:39:20] 親切なクムジャさん の発言: SINA

[18:39:30] komagata の発言: 口、口、口と書

[18:40:46] 親切なクムジャさん の発言: 品の漢字の由来知ってるぜ

[18:41:18] komagata の発言: nani

[18:43:03] 親切なクムジャさん の発言: 三国志に出てくる牛金が

[18:43:52] 親切なクムジャさん の発言: しらねーし

[18:44:09] 親切なクムジャさん の発言: 何だよしらねーよ

[18:44:27] komagata の発言: うるせーよwww

[18:44:38] 親切なクムジャさん の発言: wwwwwwwwwwwwww

糞馬鹿野郎

なでしこ案件発生。
求むなでしこプログラマー。

おおおおおお!
って、都合良くいるかよ!なでしこプログラマー。

でもスゴイ気になります。なでしこ案件!

だってこれが、

public class Human {
    public String name;
    public String hobby;
    void introduceMyself() {
        System.out.println(name + "です。趣味は" + hobby + "です。");
    }
}

public class Nadeshiko {
    public static void main(String[] args) {
        Human tomoko = new Human();
        tomoko.name = "友子";
        tomoko.hobby = "読書";
        tomoko.introduceMyself();
    }

}

これだよ!?

■人間とは
 ・名前
 ・趣味
 ・自己紹介する~「{名前}です。趣味は{趣味}です。」と表示。

トモコとは人間
トモコの名前は「友子」
トモコの趣味は「読書」
トモコが自己紹介する

クラスが出てこないフレームワーク、AwesomeFrameworkを更新しました。

AwesomeFramework-0.7.0.tar.gz

変更点は

  • 余計なものを省いた。
  • assign, assign_by_ref関数追加。

というより短いのでソースコードを見たほうが早いです。

index.php:(フレームワーク本体)

<?php
//
// AwesomeFramework - extremely simple framework.
//
// Copyright (C) 2005 Masaki Komagata <komagata@p0t.jp> 
//     All rights reserved.
//     This is free software with ABSOLUTELY NO WARRANTY.
//
// You can redistribute it and/or modify it under the terms of 
// the PHP License, version 3.0.
//
define("AF_DEFAULT_ACTION", "default");
define("VERSION", "0.7.0");

$vars = array();
forward(isset($_REQUEST["a"]) ? $_REQUEST["a"] : AF_DEFAULT_ACTION);

function forward($action) {
    global $vars;
    extract($vars);
    unset($vars);
    include "{$action}.php";
}

function fetch($action) {
    ob_start();
    forward($action);
    $buffer = ob_get_contents();
    ob_end_clean();
    return $buffer;
}

function assign($name, $value) {
    global $vars;
    $vars[$name] = $value;
}

function assign_by_ref($name, &$value) {
    $vars[$name] =& $value;
}
?>

default.php:(サンプルアプリ:Action)

<?php
assign("message", "World");
forward("view");
?>

view.php:(サンプルアプリ:View)

<html>
<head><title>Hello World</title></head>
<body>
Hello <?=$message?>.
</body>
</html>

自分でライブラリやツールを書いた時、「本当にAwesomeFrameworkより便利か?」と自問して余計に複雑な物を作らないための戒め的存在!
自分で最小限の物を書いてみないと本当にわかったかどうか実感が持てないので地味に修正して行きたいです。