オレオレ、オレだよ日記 RSSフィード

2006-10-06 Flashの知らなかった事実メモ

[]Flashの知らなかった事実メモ

いまFusekitのソースを読んでるところだけど、色々知らないことがわかってきたのでとりあえずメモ。


1. functionの引数はすべてarguments変数に格納されている。

例えば

function countArgs(args : String) : Void {

trace(arguments[1]);

for(var str : String in arguments){

trace(arguments[str]);

}

}

countArgs("sss","ccc","ddd")

//output

ccc

ddd

ccc

sss

まったく持って知らんかった、若干ショック。

引数の定義ってすごいあいまいなのね。


2. newを動的に行う方法

var _array = new ("Array")("111","222");

trace(_array[1]);

//output

222

これでクラスを動的に組み込める。ヤッホー(AA略

[追記]

newするクラスはObjectを継承していないと動作しない。

なんでだろ?

[追記の追記]

どうもそのnewする前にあらかじめどこかでインスタンスを作っていないと動作しないみたい。

ヌカ喜びだった...

2006-05-23 bind9の設定

[]bind9の設定

会社のサーバリプレイス中。

まずは第一弾でbind9のインストール

まずは/usr/local/etc/pkgtools.confにオプションを書いてインストール

vi /usr/local/etc/pkgtools.conf

---

MAKE_ARGS = {

'dns/bind9' => 'WITH_PORT_REPLACES_BASE_BIND9=yes',

}

---

portinstall dns/bind9


次に/etc/rc.confにOS起動時に立ち上がるように記述

vi /etc/rc.conf

---

named_enable="YES"

named_program="/usr/sbin/named"

named_flags="-4 -u bind"

named_pidfile="/var/run/named/pid"

named_chrootdir="/var/named"

named_chroot_autoupdate="YES"

named_symlink_enable="YES"

---


/var/named/etc/namedbに移動して設定ファイルをいじる準備をする

cd /var/named/etc/namedb

sh make-localhost

vi chg_cache.sh

---

#!/bin/sh

#generated by pmobiuse

/usr/bin/dig @a.root-servers.net . ns >/etc/namedb/named.root.new 2>&1

case `cat /etc/namedb/named.root.new` in

echo "The root.hints file update has FAILED."

echo "This is the dig output reported:"

echo

cat /etc/namedb/named.root.new

exit 0

;;

esac

echo "The root.hints file has been updated to contain the following infomation:"

cat /etc/namedb/named.root.new

chown root.wheel /etc/namedb/named.root.new

chmod 444 /etc/namedb/named.root.new

rm -f /etc/namedb/named.root.old

mv -f /etc/namedb/named.root /etc/namedb/named.root.old

mv -f /etc/namedb/named.root.new /etc/namedb/named.root

kill -HUP `/bin/cat /var/run/named.pid`

echo "The nameserver has been restarted to ensure that the update is complete."

echo "The previous root.hints file is now called /etc/namedb/named.root.old"

exit 0

---

rndc-confgen -a -b 512 -r /dev/urandom -u bind

chown bind:bind rndc.key && chmod 0400 rndc.key

cp rndc.conf.sample rndc.conf

chmod 600 rndc.conf

vi rndc.conf

---

options {

default-server localhost;

default-key "rndc-key";

};

server localhost {

key "rndc-key";

};

#key "key" {

# algorithm hmac-md5;

# secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K";

#};

include "/etc/namedb/rndc.key";

---

chg_cache.shIPv6のために bind9 を覚えるページ(fkimura.com)からいただきました。

rootサーバが変更時の対応に使う。

rndcはbindを再起動せずに設定を反映するために使うらしいけど、いつも再起動してるからあまり使ったことがない。


いよいよ

bindの設定ファイルいじります。

とりあえず内部向けに動いていればいいのでnamed.confはこんな感じ

vi named.conf

---

include "/etc/namedb/rndc.key";

controls {

inet 127.0.0.1 allow { localhost; } keys { "rndc-key"; };

};

options {

directory "/etc/namedb";

pid-file "/var/run/named/pid";

dump-file "/var/dump/named_dump.db";

statistics-file "/var/stats/named.stats";

version "";

listen-on-v6 { none; };

auth-nxdomain yes;

allow-transfer { none; };

//slave server none;

};

logging {

channel bind_log {

file "/var/log/named.log" versions 3 size 2m;

severity dynamic;

print-time yes;

print-category yes;

};

category xfer-out {

bind_log;

};

category default {

default_syslog;

};

};

//zone "." {

// type hint;

// file "named.root";

//};

//zone "0.0.127.IN-ADDR.ARPA" {

// type master;

// file "master/localhost.rev";

//};

// RFC 3152

//zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA" {

// type master;

// file "master/localhost-v6.rev";

//};

acl "intra" {

172.29.0.0/16;

127.0.0.1;

};

view "internal" {

match-clients { intra; };

recursion yes;

zone "." {

type hint;

file "named.root";

};

zone "localhost" {

type master;

file "master/localhost.rev";

};

zone "0.0.127.in-addr.arpa" {

type master;

file "master/0.0.127.in-addr.arpa";

};

zone "example.jp" {

type master;

file "master/example.jp.zone";

};

zone "29.172.in-addr.arpa" {

type master;

file "master/29.172.in-addr.arpa";

};

};

---


最後にゾーンファイルを作成して終わり

cd master

cp localhost.rev 0.0.127.in-addr.arpa

vi 0.0.127.in-addr.arpa

---

$TTL 3600

@ IN SOA gw.example.jp. root.gw.example.jp. (

20060501 ; Serial

3600 ; Refresh

900 ; Retry

3600000 ; Expire

3600 ) ; Minimum

IN NS gw.example.jp.

1 IN PTR localhost.

---

vi 29.172.in-addr.arpa

---

$TTL 3600

@ IN SOA gw.example.jp. root.gw.example.jp. (

20060501 ; Serial

3600 ; Refresh

900 ; Retry

3600000 ; Expire

3600 ) ; Minimum

IN NS gw.example.jp.

1 IN PTR localhost.

---

vi example.jp.zone

---

$TTL 3600

vi example.jp.zone

@ IN SOA gw.example.jp. root.gw.example.jp. (

20060428 ; Serial

3600 ; Refresh

900 ; Retry

3600000 ; Expire

3600 ) ; Minimum

IN NS gw.example.jp.

IN MX 10 gw.example.jp.

IN A 172.29.0.1

gw IN A 172.29.0.1

---

以上(また長いエントリになった...)。

2006-05-11 [FreeBSD]カーネルファイルが読込、追記、削除ができるようになって

[]カーネルファイルが読込、追記、削除ができるようになってます

Mimori’s Algorithms tDiaryから

そういうことらしい。

必要な分を必要なだけ書き込めばよくなったことでだいぶ見通しがよくなった。

とりあえず自分が必要なのはALTQとIPSec追記ぐらいかな。

デバイス削るのもだるいしな。

include GENERIC

ident OJOS

options ALTQ

options ALTQ_CBQ

options ALTQ_RED

options ALTQ_RIO

options ALTQ_HFSC

options ALTQ_CDNR

options ALTQ_PRIQ

options IPSEC

options IPSEC_ESP

2006-04-27 Winkで説明書作成

[]Winkで説明書作成

Winkとはディスクトップをキャプチャしてswfを吐き出してくれるアプリケーションwindows版とlinux版がある。


あるサイトの管理をほかの会社に移管することになり私がしていたユーザ登録とそれに伴うシステムの設定を先方に伝えるための資料が欲しいと言われ、当初は画面のキャプチャとそれに説明を書き加えたPDFを渡そうと思っていたのだが、使い慣れない堅苦しい文章を書くのが面倒くさくなり、画面操作なんだから文書より画面操作そのものを見たほうが先方もわかりやすいはずと勝手に決め込んでwinkを使用した。


久々に使ってまず驚いたのがメニューに日本語が選択できるようになっていたこと。一々メニューの項目の意味をgooさんに問い合わせなくてよくていい感じ。


それと"タイムキャプチャ"なる機能が発見。

以前は手動でキャプチャをとりたいところでキー操作してキャプチャをとり、キャプチャの間を補完するアニメーションをアプリケーションが作ってくれる(カーソルの動きなど)という感じで使っていたのだが、"タイムキャプチャ"はアプリケーションが自動でキャプチャをとっていってくれるのでとても便利だった。


ただいいことばかりではなく説明書きの日本語を打ち込んだときフォントが90度回転して入力されるのは直ってなかった。これはOpen Typeのフォントを使うと正常に入力される。


とりあえずサクっと作った割にはいい感じにできた。今度からこういう仕事はwinkでしよう。

2006-04-03 図形描画クラス(軽量アルミとポリカーボネイト)

描画

[]図形描画クラス(軽量アルミとポリカーボネイト)

前回のエントリで使った図形描画クラスで他の素材感も出してみた


import jp.ojos.tools.Shapes;

var rgb = 0x000000;

var rgb2 = 0x666666;

var __width = 200;

var __height = 50;

var __x = 100;

var __y1 = 50;

var __y2 = 150;

var __y3 = 250;



//aqua

Shapes.drawRoundRect(this, __x, __y1, __width, __height, __height / 2,0x000000,15);

Shapes.drawRoundRect(this, __x + 1, __y1 + 1, __width - 2, __height - 2, (__height - 1) /2,rgb,100);

Shapes.drawRoundRect(this, __x + 1, __y1 + 1, __width - 2, __height - 2, (__height - 1) /2,[0xffffff,0xffffff],[0,100],

{matrixType:"box", x:__x + 1, y:__y1 + 1, w:__width - 2, h:__height - 2, r:(90/180)*Math.PI},"linear",

[130,255]);

Shapes.drawRoundRect(this, __x + (__height - 2) / 4,

__y1 + 1,

__width - (__height - 2) / 2,

(__height - 2) / 2,

(__height - 2) / 4,

[0xffffff,0xffffff],

[100,0],

{matrixType:"box", x:__x + (__height - 2) / 4,

y:__y1 + 1,

w:__width - (__height - 2) / 2,

h:(__height - 2) / 2,

r:(90/180)*Math.PI},"linear");

//メタル

Shapes.drawRoundRect(this, __x, __y2, __width, __height, __height / 2,0x000000,50);

Shapes.drawRoundRect(this, __x + 2, __y2 + 2, __width - 4, __height - 4, (__height - 2) /2,0xffffff,70);

Shapes.drawRoundRect(this, __x + 2, __y2 + 2, __width - 4, __height - 4, (__height - 2) /2,[0xffffff,0xffffff],[100,0],

{matrixType:"box", x:__x + 2, y:__y2 + 2, w:__width - 4, h:__height - 4, r:(90/180)*Math.PI},"linear",

[0,150]);



//ポリカーボネイト風

Shapes.drawRoundRect(this, __x, __y3, __width, __height, __height / 2,rgb,65);

Shapes.drawRoundRect(this, __x + 2, __y3 + 2, __width - 4, __height - 4, (__height - 2) /2,rgb2,100);

Shapes.drawRoundRect(this, __x + 2, __y3 + 2, __width - 4, __height - 4, (__height - 2) /2,[0xffffff,0xffffff],[70,0],

{matrixType:"box", x:__x + 2, y:__y3 + 2, w:__width - 4, h:__height - 4, r:(90/180)*Math.PI},"linear",

[0,120]);

流行にのってみた。