20130930

S1昇格!

s1に昇格しやした!

デネブラクソだったけど、榴弾脳死プレイで昇格。

申し訳ないw

SSまでいけるかな?

20130924

PerlのNull判定

PHPとか他の言語と一緒に組んでると、いつも忘れるので、リマインド。

if( !defined($auau) ){処理A} else {処理B}

$auau = ""     ->処理A
$auau = 0    ->処理B

pg_dumpとリストア

★pg_dump [DB名] > [ダンプファイルパス/ファイル名]
 →プレーンテキストダンプ
 →リストア:psql -U postgres -f [ダンプファイルパス/ファイル名]

★pg_dump -Fc [DB名] > [ダンプファイルパス/ファイル名]
 →アーカイブ(バイナリ)ダンプ
 →リストア:pg_restor -C -d postgres -U postgres -f [ダンプファイルパス/ファイル名]

20130906

PHPでモジュールを追加する



環境柄、インターネットへ接続ができないサーバでのアドオン。

アドオンソースをPHPのソース元(makeソースね)./ext/ディレクトリへコピー。
コピーしたディレクトリで以下のコマンド実行。

$ phpize

configureファイルが作成されるので、以下のコマンド実行。

$ ./configure
$ make
$ make install

※気になる人は、make testしてね。

make installのログに表示されるけど、インストールされているPHPのディレクトリ(デフォルトは/usr/local/lib/php,/usr/lib/phpかな)配下、extensionsディレクトリへ「*.so」なるファイルが作成される。

このファイルをphp.iniファイルへ以下のように追記して、apache等のwebサーバを再起動すると使えるようになる。

extension=*.so

20130603

タスク(ToDo)管理

タスク管理について自分ルールを書き留めておこうと思う。

4年前ぐらいは、タスク管理をしていたが、あまりにも忙しく目の前のことをクリアにすることが精一杯で、管理するのをやめた。

この時は、必須以外のことは切り捨てていたので、管理するのをやめた。他の人がリマインダーだったり、タスク管理だったw
人に言われ仕事するとか、ビジネスマンとしては、失格だと思うが、本流が達成できれば、問題ないと思っていた。

じゃあタスク管理なんていらないんじゃ?確かに、必要なかったが、タスク管理する一番の意味は、自分が何をしたか、なにを達成してきたかの確認をするためだと思う。

まず簡単に定義のの話をしたい。
タスク(=ToDo)は最小単位である。タスクに日付が入るとスケジュールになり、スケジュールを目的でグルーピングすると、プランになる。
WBSの考え方だ。

よくタスク管理というと、なにをするかわからなくなった時のために必要という内容の記事をみるが、自分は違う。
なにをしなければならないかは覚えているもので、逆にタスクを達成してしまうと、達成感から忘れてしまう。
忘れてしまうと、プラン進捗が達成出来てるかを確認する時に苦労するからだ。。

つぎにタスク管理のルールだ。
大きく2つ作成に関して。

1つは1時間以内に終わるように作成すること。
時間を決めることが重要ではなく、タスクは終わらせるためにある。自分的に1時間以内が適当なだけである。作成すること。

2つめは成果物を決めること。
アウトプットを明確にし、アウトプットしなければ、達成とは言えないからだ。別に書類等の物にこだわるわけではなく、「◯◯さんに電話して△△のアポイントメントをとる」でよい。
これがタスクとなる。

この2つが大事。
あとは、定義通りに管理できるツールがあれば、管理できる。
ツールを探さなきゃ。。

20130214

出力するデータにナンバリングするSQL関数

使えそうなので、リマインド。

[確認:PostgreSQL 9.1、SQL Server 2005]
※MySQL、Oracleは使えるっぽいが、未確認。

#---
ROW_NUMBER() OVER(ORDER BY item1,item2...)
#---

ex)
SELECT ROW_NUMBER() OVER(ORDER BY item1) as rows,item1, item2 FROM table WHERE item1 <= '5';

rows Item1 Item2
#---
1 1 B
2 2 D
3 3 F
4 4 H
5 5 J

ナンバリングした番号に条件を付けたいとき。

select * from
(SELECT ROW_NUMBER() OVER(ORDER BY item1) as rows , item2 FROM table) tbl
where rows between '200' and '299';


ipv6でbgp

ciscoのルータではまったので、リマインド。
基本的な設定は以下の通りでうまく行きました。

!---
IOS version:15.0

!---
!active ipv6 routing
!---
(config)# ipv6 unicast-routing

!---
!interface to ISP router
!---
(config-if)# ipv6 address [----:----:----:----::-/--]*1
(config-if)# ipv6 enable
*1 ISPから払い出されているIPアドレスを設定。

!---
!interface to LAN
!---
(config-if)# ipv6 address [----:----:----:----::-/--]*2
(config-if)# ipv6 enable
*2 ISPから払い出されているNWアドレスから割当てたIPアドレスを設定。

!---
!bgp routing
!---
(config)# router bgp [-----]*3
*3 ISPから払い出されているプライベートAS番号を設定。

(config-router)# bgp router-id [-.-.-.-]*4
*4 IPv6には自動的に設定されなくて、かつ無くては動かないので適当に設定する。例:1.1.1.1。

(config-router)# bgp log-neighbor-changes
↑ 隣接ルータとのBGP接続が状態変化した際にログへ出力する設定。
(config-router)# bgp graceful-restart restart-time 120
(config-router)# bgp graceful-restart stalepath-time 360
(config-router)# bgp graceful-restart
↑ グレースフルリスタートの設定。経路情報が障害等で取得できない状況でも、パケット転送を継続させること。
(config-router)# neighbor [----:----:----:----::-/--]*5 remote-as [-----]*6
↑ 接続先のAS情報を設定。
(config-router)# neighbor [----:----:----:----::-/--]*5 update-source FastEthernet [-/--]*7
↑ BGPメッセージの送信元IPアドレスを設定。これがないとリンクローカルアドレスにて通信を行う可能性があり、ルーティングがうまくいかない。
(config-router)# address-family ipv6
(config-router-af)# network [----:----:----::/--]*8
↑ 自身が経路広告するネットワークを設定。
(config-router-af)# neighbor [----:----:----:----::-/--]*5 activate
↑ 隣接インターフェースのBGP接続を有効にする。
(config-router-af)# neighbor [----:----:----:----::-/--]*5 soft-reconfiguration inbound
↑ 隣接インターフェースからのUPDATEメッセージ内容を保持する。必要ないかもしれない。

(config)# ipv6 route [----:----:----::/--]*8 Null0
↑ パケットのループを防止するために、経路広告しているNWを集約する。

*5 ISPから通知されている対向のインターフェースIPアドレスを設定。
*6 ISPから通知されている接続先のAS番号を設定。
*7 ISPの対向ルータへ接続するインターフェース番号を指定。FastEthernetでなくても良い。
*8 ISPから払い出されているNWアドレスを設定。

!---
!check bgp routing
!---
#show ipv6 route (bgp)
#show bgp ipv6
#show bgp ipv6 unicast summry
#show bgp ipv6 unicast neightbors [----:----:----:----::-]*5 advertised-routes
↑ 自身が経路広告できているかを確認する。
#show bgp ipv6 unicast neightbors [----:----:----:----::-]*5 received-routes
↑ 隣接ルータから経路を受信できているかを確認する。

20130203

家庭用ゲームについて その2

WiiUって、センスがなさすぎじゃない?

何で子機をDSにしなかったのか。

技術的に難しいのかもしれんが、Wiiがホストサーバになって、DSにコンテンツ配信できたりすれば、今頃任天堂の天下だと思う。

で、DSのスマホなんて出したら、最強。

本当もったいない。


20130123

そろそろ

SkypeとかLineとか。。

そろそろ、ドメイン指定のID指定で別音声サービス間の通話できるようにしたらいいのに。

誰も思わんのかな?俺だけ?

これが出来たら電話会社無くていいのに。

20130110

家庭用ゲームについて その1

いい加減目を覚まして欲しいわけで。

ハード競争の成長期がとおにすぎているのに、われよわれよとこぞって自社ハードにこだわってるのは、ナンセンスだよね。

ゲームに限ったことじゃないが、こだわりとか信念は大事だけど、一番大事なのはユーザってことを理解してない。

特にSONYは許せない。

任天堂は許せる。

SONYは潰れてしまえばいい、と思うぐらい。

一番許せないのは互換性。
ps123で互換性は皆無で、良いゲームが廃れてしまう。

後、俺の技術は凄いだろ、使え。みたいなドヤ顔感。

きぃぃぃ。

めんどくさい。潰れたらいいよ。

確かにすごいと思うし、デザインとかもかっこ良いよ。

だけど、ユーザを見ていない。
苦労をしてゲームするほどドMじゃない。

と、ここまでは愚痴。

続きは次で、こうなったらいいなを書きたい。