admin最近自宅のWiFiの接続状況が悪く、パケットの遅延とかロスが多発。ケーブルで繋いだPCは問題ないのでもしやWiFiのルータが故障気味なのかと考えていましたが、自己解決。PCで自宅のWiFiの状況を見てみると電波は弱いですが、アクセス可能なWiFiネットワークの多いこと、多いこと。数えてみると22もありました。見てみると、そのうちチャンネル1がいくつかありました。私の家のルータもチャンネル1....ためしに私の自宅近辺で私用されていないチャンネル6に変更してみると問題は一気に解消。快適にアクセスできるようになりました。いまやWiFiは一家に一台は常識、マンションのような集合住宅では電波の届く範囲に10以上あることも珍しくないでしょうね。WiFiルータもチャンネルは自動になっているので本当に競合するものがあればそのチャンネルは避けると思うのですが、それほどでなければ自然にチャンネル1が使われてしまうのしょう。私の環境でもチャンネル1を使用しているルータが一番多そうです。WiFiも電波を使用しているシステムですので、混信には気をつけるべきでした。admin最近サーバのリソースの消費が多くなってきたのでしょうか、知らない間にTomcatがダウンしていることがしばしばあります。Tomcatのログを見ても特にエラーなどは出さずに終了しています。messageには以下が残っていますので、単純にメモリーが少ないのでしょう。cpuset_print_task_mems_allowed+0×98/0xa0システムのチューニングなどでなんとか少ないメモリを共有していきたいのですが、とりあえず、Tomcatやmysqlがダウンしたときに自動的に再起動するスクリプトを作りました。このスクリプトを10分ごとにcronで動作させて様子をみようと思います。admin先日の、Jboss上のHibernateがMySQLにアクセスできなくなるという話。Aliveを組み込んでみました。Jboss上にServletを作成し、起動時での自動起動及び、Threadの無限ループで30分ごとにサーチを掛けるだけの物です。Aliveを組み込んでからはその現象は解消しました。サーブレット内のコードはこんな感じです。e){e.printStackTrace();}}}}GetやPostは実装しないで、init()だけで、localのThreadクラスに起動をかけているだけです。自分のHackとしてはこれでもいいのですが、平行してネットで現象を調べていくと要は、Hibernateにデフォルトで付属しているコネクションプールは試験的なのもで長時間未使用状態が続くとMySQL(DB)側でコネクションを切断してしまうのにたいして、Hibernate側ではまだコネクションが残っていると考えて問題が発生するようです。Jbossのログにはこんなメッセージが出ています。use!)Hibernateを使うのであればコネクションプールはThirdPartyのものを使えということのようです。Hibernateのマニュアルにもそのあたりの記述がありました。次はこのコネクションプールの設定方法が調査項目になります。admin本日青空文庫を覗いてみると、私本太平記の新刊が刊行されていました。ファイル変換を実施して私のKindleにメールすると供に、サイトにもアップしておきました。私も毎日読んでいるのですが、今は3みなかみ帖です。追いつけそうにありませんが、自分が読んでいる本の続きが刊行されるような経験は久しぶりなので楽しいです。Kindleのおかげで久しぶりに読書の楽しみを満喫しています。平家物語や信長、秀吉、家康などの戦国物語で平安から鎌倉、あるいは戦国時代の知識は世間一般に広まっていますが、鎌倉末期から室町初期のこの太平記が著している時代の知識はあまり一般に普及していないように思います。私も教科書などで読んだ単語としての知識程度を散発的に知っている程度です。その意味で、この太平記を読みながら、悪党とか田楽とか教科書で出てきた言葉の意味というか背景といったものが生き生き描かれると今までは無味乾燥としていた言葉が何か色づき始めます。吉川英治あるいは、原本の太平記での創作なのか分かりませんが、吉田兼好が出てきたり、あるいは後に中国の毛利家の祖となる人が出てきたり、読者の興味を外さないストーリーとしての面白さもあります。鎌倉時代という武士の時代でも、実は、朝廷側の力もあり、また、一部、両者からも独立した人たちがそれぞれ時代を生きていて、強い統治力は朝廷、鎌倉ももてないながら、あるいはそれゆえに、後の戦国の実力の時代につながっていくのだなぁと理解することが出来ます。この時代の六波羅探題はゲシュタポのような秘密警察、スパイ活動などを行っていることが分かります。ストーリーとしても面白いし、歴史の勉強にもなってわくわくします。この話で楽しめそうです。admin最近、Jboss上のDBにWebService経由でアクセスしようとするとExceptionが発生してデータベースにアクセスできません。Jbossを再起動すれば解消するのですが、今日は少し調査してみました。Jbossのコンソールログに現れるのは以下のメッセージです。executequeryおそらく、HibernateからMySQLへのコネクションがMySQL側では切断されているのにHibernate側ではまだそれが使用可能と思っているような気はします。Tomcatではこの現象は観察していません。あれば、Hibernateが使えなくなったコネクションを切断して、最終的には新たなコネクションを再作成して動きそうな気はするのですが、一旦この状態になると自律的には解消しないようです。Poolに関して、実装は試験用なのでThirdpartyのコードを使うことを推奨しているようにも見えました。そのようなライブラリもパッケージには入っているようです。そのあたりも学習するとして、本当にIdle時間が長くてTimeoutしているのかどうか、ダミーのThreadから定期的にDBへのアクセスをさせてみようかなと思います。所謂KeepAliveですね。KeepAliveで状況が変わるかを確認してさらにTuningしてみようと思います。admin以前にも実施していますが、EBSの追加方法。最近、サーバ上での毎日のバックアップ量が増えてきましたので、一月以上古いバックアップは別ディスクに移行することにしました。S3が重要なバックアップ先と考えていましたが、EBSにバックアップしてさらにその後EBSのSnapshotだけを保管するのも同じことかなと思い始めました。価格と使い勝手を考えながら平行して使っていこうと思います。Consoleで作成して、Attachします。その後はサーバ上で以下の手順でマウントされます。adminKindleはtextやhtmlファイルが読めるので青空文庫のファイルをそのまま読めますが、その場合、横書きになってしまいます。内容によってはそれでもかまいませんが、やはり、日本語の文学ですので、縦書きで読みたい。青空文庫の書籍も徐々にKindleのファイルになっていくのだとは思いますが、おそらく縦書き変換の方法があるのだろうと調べたところ色々なサイトで紹介されていました。大まかな流れは青空文庫に帰属しているアプリで縦書きフォーマットに変換し、それをさらにAmazon提供のKindle用のアプリで再変換することでKindle用のフォーマットに加工できました。このアプリで青空文庫のzipファイルを.epubというファイルフォーマットに変換します。このアプリで.epubを.mobiファイルに変換します。実際には.epubを開くと、自動的に.mobi形式のファイルが作成される動作になります。Amazon.com提供。細かい問題はあるかも知れませんが、とりあえず、これで吉川英治の「私本太平記」をKindle化できました。吉川英治はこれから三国志なども青空文庫に登場しそうなのでとても楽しみです。追記:私本太平記の.mobiファイルをサイトにアップロードしました。http://www.nantoka7.com/kindle/青空文庫には以下の注意書きがあります。「有償、無償を問わず、著作者人格権を侵害しない範囲でなら自由に加工して、使って良い。その際、事前にも、事後にも、青空文庫への連絡の必要はない。」これ以外にも説明を読むと青空文庫の目的の一つが著作権の切れた作品をデジタルアーカイブ化して広く社会での再利用を促進することがあるようです。私もこの趣旨に賛同して微力ですが、変換したファイルを自分のサイトに置いてみました。追記2:青空文庫コンテンツのファイル変換の方法ファイルの変換方法に関してPDFにまとめてみました。青空文庫の作品が単なるデータ変換しただけでKindleストアに有償で提供されています。ささやかな抵抗としてこちらの手順を利用してくれる人が増えると嬉しいです。adminこのサイトの諸々のバックアップをdailyでS3に保存しています。毎日バックアップしていますので、2週間も何もしないとフォルダ数も増えますし、最近はデイリーでのバックアップ量も増えてきましたのでS3上での使用領域も心配になります。1週間に1回程度適当にパージを手動で実施していたのですが、これを自動化するためにjavaでツールを作りました。私のバックアップの仕組みは毎日、PreFixとしてbackupに日付の文字列をつけ、さらにUUIDを生成したstringをバケット名として作成し、その日のバックアップデータをそのバケットに格納する仕組みです。パージの仕組みもS3上でバケット名をサーチしながら、バケット名からバックアップの日付を確認し、条件にマッチすればそのバケット内のオブジェクトを全て削除した上でバケットも削除という仕組みです。そのようなツールを作成してバケットとオブジェクトの削除を実施しました。Consoleでは該当バケットが削除されているのを確認しました。....バケットの削除を実行したのち、似たようなツールでS3上のバケット及びオブジェクトの検索をおこなったところ以下のようなエラーが出てしまいました。2526BFC1E7F3EAF8最初の行で出力されているのは今回削除したバケット名です。パージツールの実行で削除されたバケットの名前がなぜか、S3のバケットのリストの取得を実行すると名前だけは残っているようです。バケット名があるので、そのバケット内のオブジェクトを確認に行ったルーチンで、バケットが実際には存在しないのでこのようなエラーになっている様に思われます。うーん、現時点では理由が分かりません。実体の更新がAPI上の情報を同時には反映しないのかも知れません。ToolはワンショットのJavaのアプリケーションで実行しているのでClient側にキャッシュがあるわけではありません。AWS全体の仕組みのどこかに時間差があるのでしょうか?追記:とりあえず、解決策と思われる部分を見つけました。以前、S3のバックアップツールを作成した際に、デフォルトでバケットを作成すると日本ではなくUSになってしまうことを発見。そのため、S3のオブジェクトにendpointを明示的に設定しています。Consoleでみると、S3に関してはRegionの設定はありません。dataには若干時差があるのかも知れません。この部分を修正して安定したツールにしたいと思います。admin格闘と言うほどのことはありませんが、久しぶりにMySQLを触りました。このブログが載っているサーバでは簡単ですが、Apacheのログから日々アクセス情報を取得してDB(MySQL)に格納しています。今までも日々のアクセス数などはViewを作ってさらにhtmlで確認できるようにしていました。最近Googleのアクセスが非常に多いことは感じていましたが、少しずつですが、見知らぬアドレス、おそらく一般の方のアクセスが増えてきたように思います。それらのアクセス比率は微々たるものですが、サイトへの本当のアクセスともいえます。そのあたりのアクセスの様子、傾向が分かるようにアクセスデータの後処理を少し工夫してみました。MSNなどのbotと私個人のPrivateのアクセス、そしてそれらの件数をトータルから引けば一般のアクセス数が計算できます。出来上がりのテーブル、viewはこんな感じになります。147このviewを一つのSQLコマンドで作成しようと考えたのですが、今の私の能力では作れませんでした。仕方が無いので以下のステップで作成しました。Privateに関してそれぞれ日付で集計したViewを作成。DATE;これらとTotal数を含めて4つのviewを作成して以下のようにテーブルをjoinしてみました。d.DATE;joinは遥か昔にOracleを使った環境で使用した記憶がうっすらとありますが、今回、久しぶりに使用して少しは知識が深まったので良かったと思っています。一つは結合したテーブルにはNULLのフィールドができてしまい、そのままでは算術処理がうまく動かないことです。この問題もCOALESCEを使用すれば解決できることが分かりました。概算ですが、トータル数-(Googleなどのbotアクセス数)-(個人のアクセス数)が一般のアクセスと考えてみると、以前は多くても一日100件程度でしたが、最近では200件とか最大で500件を超える日もありました。私のサイトの一体どこに興味を持ってアクセスしてくれるかは分かりませんが、少しでも皆さんの役に立っている部分があれば嬉しいです。admin久しぶりにGadgetを購入してどきどきしています。Kindleは1年位前でしょうか、外国人の人が電車の中で使っていたのを見てそのディスプレィ上の文字がクリアに見えたので非常に気になっていました。Paperwhiteにしました。タブレットの方が当然、付加機能に優れているわけですが、結局それではパソコンやスマホと競合してキックがなくなってしまいます。私が感激した差別化されたスクリーンもエンジョイできないからです。3Gについても、自宅もオフィスもWifiは完備されていますし、基本的にはダウンロードしておいた本を読むのが目的ですからスキップしました。購入してとりあえず、青空文庫の無料コンテンツを主にダウンロードしていますが、使い勝手はかなりいいですね。実際の本のようにページを維持する必要がありません。閉じたり、しおりを入れる必要が無い。明るいところでも暗いところでもストレス無く文字を読むことができます。今は自宅で使っているだけですが、片手で保持できますし、今のところ重さは気になりません。文庫と比べるとあまり変わらないかも知れませんが、表紙がしっかりした厚めの本、たとえば、塩野七生のローマ人の物語の単行本などはやはり通勤に持って行くのはちょっと無理ですよね。そのあたりは非常に快適と思います。一方で今ひとつなのは自分の文章、特に仕事関連の英語のマニュアル類をアップロードしたのですが、PDFの場合、当然ですが、画面の拡大、縮小はできますが、文字レベルでの拡大縮小はできません。本文のフォーマットによっては文字が小さくて読み辛かったり、文字を大きくすると両サイドがはみ出してしまうこともあります。このあたりはもう少し使いこなしながら何かいい方法はないかを探っていこうと思います。コンテンツに関しては現在の膨大な書籍数に比べれば微々たる量であるのは仕方が無いと思いますが、そのため、かえって、夏目漱石や宮沢賢治を読み返してみるチャンスになったのは嬉しい誤算でした。大昔に教科書で呼んだ「坊ちゃん」の文章がとても生き生きして感じられます。宮沢賢治もいいですね。実際の書籍の装丁を楽しむ面も確かにありますが、Kindleによって、逆に文章そのものに集中できる面もあると思います。日常生活に楽しみが増えた感じです。