So-net無料ブログ作成
検索選択
独楽サーバ ブログトップ
前の10件 | -

再現テストで新たに見つかった不具合 [独楽サーバ]

先日、”一回だけ出た不具合の原因が掴めない”と書きましたが、不具合を再現しようととあれこれ試していて新たに別の不具合を見つけてしまいました。 orz.

新たな不具合は”間違いの有無をチェックする”ボタンをクリックしてから”間違い箇所を調べる”ボタンをクリックすると”入力した数字が全て不明の字に置き換わってしまう”というものです。

”間違いの有無をチェックする”と”間違い箇所を調べる”とは似ていますが微妙に違う機能です。前者はプレーヤーが入力した回答数字をそのまま残して、最後まで解けるかどうか調べます。後者は問題の初期配置からプレーヤーが入力した数字を順に辿って正解と異なる箇所を探すものです。

二つのチェックが同時に走ることを考慮していなかったので、盤面の表示が混乱してしまいました。チェックの途中に別のチェックを開始しないようにclickイベントを制御すれば不具合対策は可能と思っていますが・・・

結局、最初の不具合の原因は判らないままボード全体を書き直すことにしました。
こんな感じ(3秒間後に9×9の盤面を書き直す)です。

setTimeout(function(){$.boardResetting(); $.notesSetting();},3000);

$.boardResetting()で初期配置数字とプレーヤーが書き込んだ回答数字を再表示し、$.notesSetting()でプレーヤーが各セルに書き込んだ候補数字を再表示します。もたつきも無く素早く書き換わることが判ったので、これで行くことにしました。別のチェックが同時に走っても同じ盤面を二度書き直すだけ(ほとんど判らない)なので、clickイベントを制御する必要も無さそうです。

取りあえず『一件落着~~』。
しかし直ぐ別件が見つかり、まだまだ不具合の嵐は続きます。orz.

独楽サイトはこちらです。

にほんブログ村 IT技術ブログへ
に

ほんブログ村 ネットブログ コミュニティサイトへ
にほんブログ村 IT技術ブログ オープンソースへ


再現しない不具合 [独楽サーバ]

色々問題を抱えつつも公開に漕ぎ着けた独楽サイト”http://dokuraku.com”ですが、先日原因不明の不具合に遭遇しました。

独楽には途中まで回答した段階で間違いがないか調べる機能を付けました。問題を解いていて、最後の最後になって破綻する(数字を置けないセルが出てくる)のはとっても辛いので、途中で間違いの無いことが確認出来ると嬉しいんじゃないかと思ったのです。

こんな状態で、”解法チェック”ボタンをクリックすると・・・

shot2s.png

不明の文字が空きセルを埋めていって
shot1s.png

最後まで行くと問題が解けたことになり”今の配置で問題ありません”(最後まで行かなかったときは”どこかに間違いがあるようです”)というメッセージが表示されます。そして、暫くすると不明の文字が消えて、元の状態に戻ります。

チェックの途中に何も表示しないと変化の無い画面を眺めて数十秒間待つことになり、具合が悪かったので数字を表示してみました。しかし、まだ解いていない所の数字が判ってしまうのも興ざめなので、数字を別の文字(13種)に置き換えて表示することにしました。

上手く機能していると思ったのですが、”不明な文字の一部が消去されずに残る”という不具合が一度だけ発生しました。ログアウトしてログインし直すと正しい表示に戻りました。

????
今のところ原因は掴めていません。というか不具合が再現しません。
チェック終了時に、ログアウト/ログインの手続きを行えば、表面上は不具合が起きなくなると思いますが・・・さて、とうしたものでしょう。

独楽サイトはこちらです。

にほんブログ村 IT技術ブログへ
に

ほんブログ村 ネットブログ コミュニティサイトへ
にほんブログ村 IT技術ブログ オープンソースへ


独楽サーバの構築(その14 何とか開設!) [独楽サーバ]

遅々として進まなかった独楽サーバの構築作業ですが、何とか開設(仮設?)することが出来ました。
”パチパチパチ~”

昨年末には『年明け2月頃には・・・』

そして3月初めには『4月中頃には・・・』

4月になって『連休前にはなんとか・・・』と思っていましたが、オープン出来たのは『連休三日目』でした。相変わらずの延納癖です!

構築した独楽サイトはこちらです。

今後は”親族SNS管理人”改め”親族SNS及び独楽サイト管理人”と致しますので何卒宜しくお願い申し上げます。

現在、”versionアップするとcookieでエラーを起こす”という問題を抱えています。javascriptのコードに難読化を施す際に生じた不具合で、サイトに登録するまで気づきませんでした。今のままでもゲームには支障無いので公開することにしました。

”納期優先・・・”というのは嘘です。問題は他にもあるのですが、全てが片付くのを待っていたらいつまで経ってもオープンできなくなりそうだったので見切り発車することにしました。

数独ゲームに興味があれば(無くても)、是非独楽サイトにお越し下さい。
独楽サイトはこちらです。

にほんブログ村 IT技術ブログへ
に

ほんブログ村 ネットブログ コミュニティサイトへ
にほんブログ村 IT技術ブログ オープンソースへ

独楽サーバの構築(その13 ログイン管理) [独楽サーバ]

独楽サーバの構築作業は遅々として進みません。以外に面倒なのがユーザ・インターフェースの部分でログイン管理のロジックが混乱気味です。

独楽サイトは誰でも使えるようにするつもりです。ですからパスワードを知らない人を排除することが”ログイン管理”の目的ではありません。”家族共用のパソコン”が多い親族SNSで、個人別のcookieを上手く管理するのが第一の目的です。さらに将来の発展性を考慮して、パスワードによりユーザを限定して個人別のcookieにアクセスする機能を提供するというのが第二の目的です。

設計要件は・・・
(1)パスワード無しの匿名アクセスを許す。
(2)複数ユーザのアクセスを考慮(ユーザ別にcookieを管理)する。
(3)パスワードを用いた排他アクセスも(パスワード無しの運用にも有りの運用にも対応)可能にする。
といった感じでしょうか?

設計上の対応は・・・
(1)デフォールト・ユーザを”誰かさん”とする。
(2)予めユーザ・リストに”誰かさん”を登録しておく。
(3)”誰かさん”はパスワードを入力せずにログインできる。
   (”パスワード”入力欄は表示せず、ログイン・ボタンを表示する)
(4)新しい名前が設定されたときはユーザ・リストに追加する。
(5)パスワードを設定していないユーザはパスワード無しにログインできる。
   (”パスワード”入力欄は表示せず、ログイン・ボタンを表示する)
(6)パスワードを設定していないユーザには”パスワード設定”ボタンを表示する。
(7)パスワードを設定しているユーザには”パスワード”欄を表示する。
(8)名前とパスワードの一致が確認されたときにログイン・ボタンを表示する。
(9)ユーザ名と一対一に対応するローカルIDを設けて、ローカルIDでcookieを管理する。

パスワードの変更操作とログアウト後のユーザ変更操作に問題が残っていますが、大体こんな感じで動いています。まだまだ先は長そうです。少し前”楽しんでいる”と書きましたが、結構シンドクなってきました。

にほんブログ村 IT技術ブログへ
に

ほんブログ村 ネットブログ コミュニティサイトへ
にほんブログ村 IT技術ブログ オープンソースへ


独楽サーバの構築(その12 当面の課題) [独楽サーバ]

独楽(残)作業メモ

<起動時のクラス&問題番号表示がおかしい>
ユーザが独楽サイトを再訪したとき、cookieに保存しておいた状態を再表示するのですが、クラスと問題番号が正しく表示されません。

<誤解答の調査結果がボードに表示されない>
誤解答を調査して、その結果を現在はステータス欄に文字表示しています。できればこれを盤面の数字で表したい(フリッカさせるとか・・・)と考えています。

<お名前入力への対応>
独りで楽しむ”独楽”ですが、サイトを訪れるユーザ間の交流に期待しています。(自作の数独問題を投稿してもらうとか・・・)その場合、ユーザを識別するIDが必要になります。独楽SNS(OpenPNE)のログインIDを第一候補と考えていますが、具体的なことは今後の検討課題です。

<xy_wing_checkにバグがある>
ちゃんと動いていると思っていたのですが、解ける筈の問題に”この問題は解けません”という判定を下すようになって、不具合が発覚しました。(xy_wing_checkを外すとちゃんと解けるようになる)

Chain系のロジックの組み込みを検討する>
一応、backtrackアルゴリズムを使ってどんな数独問題でも解ける(筈)のですが、問題によってかなり時間が掛かる場合があります。Chain系のロジックを上手く使うと解析時間を短縮できるものと思います。

マニュアルの整備、トップ・ページの作成以外に、これだけ大きな作業がまだ残っています。

”えっ、大変そう?”
いえいえ、結構楽しんでいるんです。

にほんブログ村 IT技術ブログへ
に

ほんブログ村 ネットブログ コミュニティサイトへ
にほんブログ村 IT技術ブログ オープンソースへ


独楽サーバの構築(その11 着々と準備中) [独楽サーバ]

予定より遅れていますが、独楽サーバの開設に向けて着々と準備を進めています。昨日、ネーム・サーバに登録して外部からアクセス出来るようになりました。

OpenPNE、Plone、Webmail、問い合わせフォームなどは、サーバ構築スクリプトを使って一気にインストールした後、ドメイン名の修正だけで取りあえず動きだしました。しかし、肝心の数独ゲームがまだ出来ていません。

もうちょっと”完成度を高めてから”公開しようか?
==>最初に””酷いサイトだ!”という烙印を押されるのは辛いし・・・
それとも”見切り発車”してしまおうか?
==>”お叱りを頂きながら手直ししていく”って言うのも有りだと思うし・・・
悩ましいところです。

最低でも”操作方法(マニュアル)”は準備しなくてはなりません。しかし、これがまた厄介で・・・
昔から、ドキュメントとかマニュアルの作成は気が進みません。はっきり言って”億劫”です。

まぁ、納期がある訳でもないのでぼちぼち進める心算ですが、こんな調子でいつになったら出来るんだろう?

にほんブログ村 IT技術ブログへ
に

ほんブログ村 ネットブログ コミュニティサイトへ
にほんブログ村 IT技術ブログ オープンソースへ


独楽サーバの構築(その10 良いものを見つけた!) [独楽サーバ]

先日、
”doc/manual.htmlを紐解いて、rsyslog.confを設定しなければなりません。”
と書きましたが、manualを拾い読みしていて、良いものを見つけました。

マニュアル・トップ・ページの中ほど

RSyslog - Documentation

Rsyslog is an enhanced syslogd supporting, among others, MySQL, PostgreSQL,
<省略>

Follow the links below for the

* troubleshooting rsyslog problems
* configuration file syntax (rsyslog.conf)
* a regular expression checker/generator tool for rsyslog
* property replacer, an important core component
* a commented sample rsyslog.conf
* rsyslog bug list
* understanding rsyslog message parsers
* backgrounder on generic syslog application design
* description of rsyslog modules
* rsyslog packages
* the rsyslog "cookbook" - a set of configurations ready to use
   (↑)これです。

こんな表題で、リンクを辿ると具体的に設定とその解説が記されています。
Writing specific messages to a file and discarding them
Sending Messages to a Remote Syslog Server
Receiving Messages from a Remote System
Using a different log Format for all Files
Discarding unwanted messages

これなら、rsyslog.confを書き上げられそうな気が・・・(する?)

にほんブログ村 IT技術ブログへ
に

ほんブログ村 ネットブログ コミュニティサイトへ
にほんブログ村 IT技術ブログ オープンソースへ


独楽サーバの構築(その9 rsyslogの設定は時間が掛かりそう) [独楽サーバ]

2011-03-16T17:23:01.402963+09:00 test rsyslogd: [origin software="rsyslogd" swVersion="5.6.4" x-pid="13958" x-info="http://www.rsyslog.com"] start
と、rsyslogは取りあえず動いていますが・・・
ちなみに、現在rsyslogが動いているのは何もサービスを起動していない仮想サーバ上です。

参考にしていたサイト(ここ)の情報がほとんど役に立ちません。もちろん、それはインストールしたrsyslogのVersion
(サイトのrsyslogは3.18.6で親族SNS管理人がインストールしたのは5.6.4)が異なるためです。そして、困ったことに日本語で書かれたrsyslog-5.?の設定情報がWeb上には見つかりません。本家筋にはこんなページも有りましたが、あまり役に立ちそうもありません。

展開したrsyslogのソース・ディレクトリにあったrsyslog.confとslackware/rc.rcsyslogdを参考にして、適当に/etc/init.d/rsyslogと/etc/rsyslog.confを作り、syslogdを止めて、rsyslogを起動してみました。

すると・・・

rsyslogが何やらWarningを吐きながら動き出しました。『ふむ、こんな感じ?』と思っていたら暫くしてコンソールメッセージ

”Out of Memory ・・・ [rsyslogd]”

Oops!”設定が悪くて起動しない”というのはよくある話ですが、起動してから”Out of Memory”というのはstable版のデーモンとしてはなかなか珍しい体験です。tcpとudpのモジュールを有効にして、起動オプションに-c5を追加したら何となく動くところまで来ました。ここから先はdoc/manual.htmlを紐解いて、きちんと理解したうえで、rsyslog.confとrsyslogdの起動パラメータを設定しなければなりません。

”rsyslog-5.6.4”の設定には暫く時間が掛かりそうです。

にほんブログ村 IT技術ブログへ
に

ほんブログ村 ネットブログ コミュニティサイトへ
にほんブログ村 IT技術ブログ オープンソースへ


独楽サーバの構築(その8 次世代syslogにUpdate) [独楽サーバ]

独楽サーバのセキュリティ対策の関連で”syslog”の設定に関して調べていてこんな記事を見つけました。ふむふむ、syslog-serverを設けるなら次世代syslogが良い訳か!

ということでsyslog_ngをインストールしてみようとしたのですが、”LIBDBIが・・・”、”gilb-2.10が・・・”と色々注文が付いてなかなか./configureから先に進めません。”輪番停電がどうたら、こうたら”騒がしい中でひとしきり粘ったのですがついにギブアップ。

すごく気落ちしたのですが、rsyslog(これ)を持ってきて”ものは試し”とやってみると・・・

./configure
make
make install

すんなりインストール出来てしまいました。

syslog_ngの設定ばかり調べていたので、rsyslogの設定は、まだ何も判っていません。
停電が心配なので、取りあえず今日はここまで。

にほんブログ村 IT技術ブログへ
に

ほんブログ村 ネットブログ コミュニティサイトへ
にほんブログ村 IT技術ブログ オープンソースへ

独楽サーバの構築(その7 不要なサービスを止める) [独楽サーバ]

tripwireのインストールに関する情報を調べていて見つけたこのサイトの記事に基づいて、独楽サーバのセキュリティ対策を見直すことにしました。

”第1回 不要なサービスの停止こそ管理の第一歩”と言う事で、先ずはそこから始めることにしました。”CentOSの不要なサービス”に関して情報を載せているサイトは他にもいくつかあります。
こことか

こことか

それらのサイトの情報を参考にして、起動しているサービスをチェックしてみました。

# lsof -i -n -P
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
httpd 1004 apache 3u IPv6 1072500 TCP *:80 (LISTEN)
httpd 1006 apache 3u IPv6 1072500 TCP *:80 (LISTEN)
httpd 1007 apache 3u IPv6 1072500 TCP *:80 (LISTEN)
httpd 1008 apache 3u IPv6 1072500 TCP *:80 (LISTEN)
httpd 1009 apache 3u IPv6 1072500 TCP *:80 (LISTEN)
httpd 2063 apache 3u IPv6 1072500 TCP *:80 (LISTEN)
sshd 2068 root 3u IPv6 1002210 TCP *:22 (LISTEN)
<省略>
sshd 26665 root 3u IPv6 333271 TCP *:22 (LISTEN)
httpd 27445 root 3u IPv6 1072500 TCP *:80 (LISTEN)

httpdは仮想サーバ側で起動したサービスですがホスト側にもプロセスが登録されています。

# chkconfig --list | grep 3:on
acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
apmd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
<省略>
xfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off
yum-updatesd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

この中でoffにするものを選ぶのですが、何がどんなサービスなのか(止めて良いのか駄目なのか)正式に技術資料として提供されているものをネット上で見つけることが出来ませんでした。そこで先人の知恵にすがって、こちらのサイトの情報に基づいて停止するサービスを決定することにしました。

acpid 電源管理
auditd システム監査結果のログ保存などを行う
autofs ファイルシステムの自動マウントを行う
avahi-daemon LAN内でのネットワーク自動構成を行う
bluetooth bluetoothに対応させる
cups 印刷の管理を行う
firstboot インストール直後に呼び出される
gpm コンソールマウス機能
haldaemon D-BUSサポートを行う
hidd bluetoothのキーボードやマウスを対応させる
isdn ISDN用のサービス。ただし海外向け
kudzu ハードウェアの構成変更を検知する
lvm2-monitor LVMの障害監視を行う
mcstrans SELinuxの運用サポート
mdmonitor mdデバイスの監視を行う
messagebus D-BUSサポートを行う
netfs NFSクライアント
nfslock NFSロック
pcscd スマートカードの管理
portmap RPCのポートマッパー
rawdevices ハードディスクをブロックデバイスとして利用する際の補助
restorecond SELinuxの運用サポート
rpcgssd RPCサポート
rpcidmapd RPCサポート
sendmail
smartd S.M.A.R.Tのサポート
xfs X-Window System用のフォントサーバ
yum-updatesd CentOSの自動アップデートを行う

このリストに基づいて、以下のようなスクリプトを実行してホストを再起動しました。

chkconfig --level 3 acpid
chkconfig --level 3 audit
<省略>
chkconfig --level 3 smart
chkconfig --level 3 xfs
chkconfig --level 3 yum-updatesd

システムのrebootが早くなって、なかなか良い感じになりました。リモート・ログインもメールもウェブも問題ありません。

実は上のリストに何故か”network”が紛れ込んでいて、rebootしたらリモート・ログインもメールもウェブも動かなくなって大慌てしたのは内緒です。

にほんブログ村 IT技術ブログへ
に

ほんブログ村 ネットブログ コミュニティサイトへ
にほんブログ村 IT技術ブログ オープンソースへ


前の10件 | - 独楽サーバ ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。