2007年12月29日土曜日

レプリケーション時のエラースキップ



MySQLのレプリケーションで、稼動中のマスターDBからスレーブDBに


データをコピーし、レプリケーションを開始したところ


ところどころで、error 1060 プライマリーキーの重複などのエラーがでました。


最初は、



SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
START SLAVE SQL_THREAD;


として、処理を再開していましたが、大量に出てきてこりゃ手に負えないわということで


my.cnf に以下を追記し再起動



[mysqld]
slave-skip-errors=1060


一応、今のところ問題なくレプリケーションしてます。


そもそも、稼動中のMySQLのレプリケーションのやり方を詳しく説明しているのを見つけることができず


とりあえずで、以下の手順でスレーブを作りました。


(1)マスターをコピーして、スレーブに移動


(2)マスターのバイナリーログをながめてレプリケーション開始のポジションを決める。


(3)スレーブの設定に slave-skip-errors をセットして問題ないエラーを回避する


マスターをシャットダウン(テーブルロック)できたら、こんなことにはならなかったと思うのですが


まぁ、止めたくなかったのでコピーを稼動中にするはめに。


更新処理がどんどん進めば、スレーブのデータのずれも


上書きされて、まぁ問題ないかと。


スレーブは基本参照用に使うつもりなので


致命的なデータのずれさえなければ、そんなに整合性にはこだわらなくても


いいのかとおもいます。マスターとの同期に時間的なずれがそもそもあるしね。





2007年11月30日金曜日

アバターの仕組み



アバターって、自分のキャラクターに容姿を自由に変更できるあれね。


Yahooのアバターってどうなってるんだろうと、興味本位からちょっとみてみると


透過画像を重ねて、部分的に入れ替えれるようにしてる。


GDとか使って、まるまる画像生成ってしてるのかとおもったら


意外と単純。(よく考えたらアニメーションGIFとか、そのまま合成できないからあたりまえか。。。)






<style>
div{
width :100px;
height: 100px;
position:absolute;
window. }
#img1 {background: url(img1.gif) transparent no-repeat; z-index:10;}
#img1 {background: url(img2.gif) transparent no-repeat; z-index:20;}
#img1 {background: url(img3.gif) transparent no-repeat; z-index:30;}
#img1 {background: url(img4.gif) transparent no-repeat; z-index:40;}
#img1 {background: url(img5.gif) transparent no-repeat; z-index:50;}
</style>

<div id="img1"></div>
<div id="img2"></div>
<div id="img3"></div>
<div id="img4"></div>
<div id="img5"></div>



こんな感じのHTMLに img1.gif ~ img5.gif の同じサイズの透過GIFでも用意したら


できあがり。


要は、その画像の組み合わせが大変だってことやね。


コンテンツ生成に高額な費用がかかるのがネック!





2007年11月11日日曜日

JQuery でごりごりJavascriptのプログラムを書いていたときに、



急にFireFoxの挙動がおかしくなり困ったことに。


画面の更新を何回かすると、アプリごと落ちる現象です。(更新回数とかは不規則)


Exception Interface Code:0xc00000005 Flags:0x00000000 Record: 0x0000000000000000 。。。。


詳細を見ると上記のようなエラーコードとか、モジュールの情報とかいろいろ詳でてくるんだけど


細かくちまちま調べる気になれず、何が起こったかを調べるより


Javascriptを順番にコメントアウトしてどの記述が影響しているのかを調べるほうに注力しました。


結論から言うと以下のコードは、落ちる可能性がある。(原因は不明)


リスト1



$(function($){

(function($){
コード1。。。
})($);

(function($){
コード2。。。
})($);

(function($){
  コード3。。。
 })($);

});


以下のように書き直すと、問題解決しました。


リスト2



$(function($){
コード1。。。
});

$(function($){
コード2。。。
});

$(function($){
  コード3。。。
});


どちらも、HTML読み込み完了後にJavascriptが実行されるような記述です。(JQuery参照)


リスト1のように、とりあえず内容別に名前空間を分けて書きたいなぁと、


深い意味も考えず書き始めました。


最初のコード1までは特に問題なく、コード2を書き足したあたりから、


不穏な動きが始まりコード3を書き足したときにようやく何かがおかしいなぁと思い始めた次第です。


(特にコードの量が増えると、落ちる頻度があがるような気がしました。)


もともと、FireFoxにFireBug、YSlow、Greasemonkeyなどのアドオンを


複数インストールしていた関係もあって、


FireFoxの挙動がおかしく強制終了するようなことはしょっちゅうありました。


プログラムを書いているときも、そういう別原因の要素が働いているのかとも思い、


納期もあるしあんまり原因追求へ脱線している時間もないと放置していたわけです。


(たまにIEで確認したりするときも問題はなかったので、余計放置していました。)


しかし、他のPCのFireFoxでも落ちる現象を確認したときは


さすがに自分のコードが原因だと確信しました。


Javascriptを書いているときって環境依存の部分の検出ってほんとに


めんどくさいし、手間のかかることだから蓋をしておきたくなりますよね。


でも、見つけた時は、あきらめてとりかかるしかない。。。


(もちろん、見つかっていない部分も探さないといけないですけどね。)


結局、現象はおさまりましたが、JQuery(Javascript)の勉強不足で


原因というのは分かっていません。


ただ、いろいろ調べてみて自分自身、原因特定の糸口もつかめず苦労したので


同じような現象になったかたがおられたら、とりあえずでもいいので


上記のように書き直してみて、現象がおさまれば幸いと思った次第です。


(書き直しによる解決は、あくまで自己責任でお願いします)


原因の調査はできるときにしたいと思いますが、誰か教えてくれる


親切な人がいましたら、是非ともトラックバックやコメントでお願いします。





2007年10月12日金曜日

PHPについて一言いっておくか

PHPさいこー。

・へぼプログラマーでも、がりがりかけちゃう。
・直感的で理解しやすい。
・テキストエディタで十分。IEDとか重いのいらない。
・組み込み関数がたくさんあって、リファレンス読めばたいがいできる。
・Webの仕組みに特化している

言語仕様的には、プログラマーにかなりやさしい言語ではないかと思います。
下手なデザインパターンや、オブジェクト指向できる言語より
PHP4ぐらいの中途半端な仕上がりで、がりがり書くほうが意外と効率的です。

設計重視の言語は、とりあえずガリガリ書いてみる派の私には向きません。
まぁ、PHPは私に向いている言語だと思います。


2007年9月28日金曜日

PHP5の関数をPHP4で使う - PHP_Compat

PHP_Compat


PHP4ユーザはまだまだ多いと思いますので
こういった互換ライブラリーは重宝しますね。

2007年9月14日金曜日

jQuery1.2 - javascript

prototype.js よりも個人的にはすきなJavascriptライブラリーの jQuery 1.2がリリースされました。

http://journal.mycom.co.jp/news/2007/09/13/016/index.html

新機能が増えたのと、XPathなどの一部機能がプラグインに分割されています。
このプラグインの付け足しが非常に便利!


2007年8月31日金曜日

iGoogleをprototypeで実現-Javascript

http://blog.xilinus.com/2007/8/26/prototype-portal-class

こういった、パッケージになっているライブラリーは非常に重宝しますね。
prototype.js ベースなので他のライブラリーとも相性はよさそうですね。
ドラッグして、移動させるフィールが気持ちいいです。
入れ替えたときの、コンテンツの移動も滑らかでいい!

2007年8月17日金曜日

IE対応Canvas - Javascript

ExplorerCanvas
http://excanvas.sourceforge.net/

IEでも Canvasを利用できます。
実際に使ってみたところ、一部思うように対応していないところもありましたが
だいたいOKでした。



Powered by ScribeFire.

2007年7月17日火曜日

楽天版 アドセンス-Web

楽天版「アドセンス」、サービス開始
Blogでアフィリエイとがんばっている人には朗報かも。
いちいち商品を選ばなくても、表示されるのはやっぱり便利です。
ただ、楽天自体の商品表示ページをもっとわかりやすくすれば
売り上げはもっと伸びるような気がします。(ちょっと醜いよね)


2007年7月13日金曜日

Google Map Image Cutter -Web

http://opentechpress.jp/developer/article.pl?sid=07/06/06/0117259&from=rss
GoogleMapsの画像を自由にすきな画像に差し替えれます。
画像の分割や、拡大縮小などはGoogleMapImageCutterが行ってくれます。
こういう応用が簡単にできるのがGoogleのすごいところですよね。


Powered by ScribeFire.

WebTemplates - Web

http://www.oswt.co.uk/commercial_templates/Template_Monster.php

こういった、テンプレートサイトはなるべく多く知っているほうが得ですね。
そのまま使わなくてもいろいろと参考になります。



Powered by ScribeFire.

2007年7月12日木曜日

30秒勇者-ゲーム

http://www.forest.impress.co.jp/article/2007/07/05/30secyuusya.html
30秒でゲームオーバーなRPG(笑)
制限時間が30秒しかないが、レベルを上げ経験値とお金をためると時間を延ばすことができる仕組み。
魔王が30秒で呪文を唱えてしまうかららしい。

Gladius DB - DB

http://gladius.sourceforge.net/
PHPを利用した簡単なDBです。
Web開発にDBは欠かせませんのでこういった簡易なDBが利用できるのは非常に有益です。
SQL92に基本的には準拠しているようです。
名前の「グラディウス」という響きに、往年のコナミゲームがすぐに頭に浮かぶのは年のせいでしょうか。。。


2007年7月10日火曜日

Webデザイン-Web

エレガントなWebデザイン

こういった、テンプレートサイトの日本語版がなかなかないのはなんでかなぇ。
ほとんど、海外のものがおおいよね。
日本人にはあまりデザインのセンスがないということなのでしょうか。。。

2007年7月9日月曜日

3DMailbox - Web



なんとも不思議なメーラーです。メール一つ一つにバーチャルのアバターが割り当てられて
リゾート地でのんびり過ごしています。
どうやらスパム関係のメールはサメに食われるといったこともあるみたいです。

2007年7月6日金曜日

ワードサラダ-スパム

http://www.blogwatcher.co.jp/kensuu/2007/07/post_4.html
ワードサラダというキーワードを聞いたことがあるでしょうか?
適当な単語に助詞をうまく並べて付けて、あたかも人が書いた文章のようにコメントスパムをする
ものだそうです。

なんとも、たまにコメントされていたなぞの文章はこういったスパムだったとは気がつきませんでした。
手の込んだことをするスパマーがいるもんですね。

2007年7月5日木曜日

Web2.0?

http://www.web20badges.com/
Web2.0的な画像の一覧でございます。
Yahoo By me とか、Google By me とか笑えるね。
これを利用しているサイトがあったら見てみたいな。

2007年6月27日水曜日

炎?水? - 画像

炎?水?
http://www.boredstop.com/liquidfire.htm

水を炎のように表現したデザインが見れます。
斬新でなかなかあたらしいですね。
こういった発想は、どこから生まれてくるのでしょうか。脱帽です。

2007年6月26日火曜日

Yahoo!Japan世界一 - WebNews


Yahoo! JAPANのPV数は世界一

http://internet.watch.impress.co.jp/cda/news/2007/06/25/16144.html



すごいですね。ネットの先進国アメリカや韓国を抜いて、Yahoo!Japanが世界一とは。

日本でYahooを知らない人はほとんどいませんからね。

しかし、世界でも通用するとは思いませんでした。

ただ、日本人の性格からいって、サービスがどうのというよりは、

Yahooをみんな使っているからっという理由で単純に利用している人がおおそうですけどね。

2007年6月22日金曜日

漫画史上最強ランキング-その他

http://rn-cdn.oricon.co.jp/news/rankingnews/45750/

漫画史上最強はだれだ?のランキングが表示されています。

個人的には、男塾の「江田島平八」がベスト10に入っていないのが残念。



便利ライブラリー - Javascript

http://www.smashingmagazine.com/2007/06/20/ajax-javascript-solutions-for-professional-coding/

80近くあるJavascriptのライブラリ紹介サイト



便利なものって必ず世の中にあるものだけど、探すのが大変ですからね。

まとめてくれるとありがたいです。

安すぎDELLサーバ

http://www1.jp.dell.com/content/topics/segtopic.aspx/misc/dm/wb2_landing?c=jp&l=jp&s=bsd&~tab=3

Dellの格安サーバ 25800円(キャンペーン価格)

HDD 80G

CPU 3GHz

Mem 1GB

これで、この価格は原価割れてなんじゃないかなと思ってみたり。

これなら購入してみたいですね。

2007年6月19日火曜日

Youtube-News

YouTube Japanがスタート--日本語をはじめ多言語化

http://japan.cnet.com/news/media/story/0,2000056023,20351120,00.htm?ref=rss



日本でも、YouTube が気軽に楽しめるようになりますね。













Powered by ScribeFire.

2007年6月14日木曜日

ウエブサービスAPI

ホットペッパーのWebAPI



http://servlet.sakura.ne.jp/wiki/index.php?Services_Hotpepper

「楽天トラベル」APIを公開、約21,500軒の宿泊施設情報が取得可能

http://internet.watch.impress.co.jp/cda/news/2007/02/28/14922.html



楽天ウェブサービス

http://webservice.rakuten.co.jp/



ぐるナビ Webサービス 約4万件の飲食店情報がAPIで利用できます。

http://api.gnavi.co.jp/api/service.htm





Powered by ScribeFire.

Javascript Game

Javascript でマリオ

http://overdrawn.net/mario/#



かなり良くできてます。すげーが、マリオがどこに?クリボーをクリックするとへこみます。

?ブロックをクリックするときのこがでてくるけど、とることができない。。。どうやるんだ?





ブロック崩し

これが、Javascriptでできてるとは信じられません。

DHTML Arkanoid V1.2B | Level 1





テトリス かなり完成度が高いです。

Javascript Tetris by Popov Sergey



Powered by ScribeFire.

ツールチップ - Javascript

Tooltip for forms

http://www.dhtmlgoodies.com/index.html?whichScript=form-field-tooltip



フォームの入力内容に、ツールチップ(吹き出し)を付けるJavascriptライブラリー





CSS Speech Bubbles

willmayo.com CSS Speech Bubbles









Powered by ScribeFire.

Drawライブラリー Javascript

Open-jACOB Draw2D



フローチャート図などVisioやPowerPointで書くような図がかけます。





ブラウザ上にそのままフリーハンドでかけます。

Thinkature - Real-time collaboration for the web







wz_jsgraphics.js 図形が非常にきれいにかけます。

DHTML: Draw Line, Ellipse, Oval, Circle, Polyline, Polygon, Triangle with JavaScript





Prototypeベースのグラフィックスフレームワーク

SVG/VML/Canvas の方式で描画することが出来ますのでIEでもOKです。

Prototype Graphic Framework













Powered by ScribeFire.

Javascript Game

Javascript でマリオ

http://overdrawn.net/mario/#



かなり良くできてます。すげーが、マリオがどこに?クリボーをクリックするとへこみます。

?ブロックをクリックするときのこがでてくるけど、とることができない。。。どうやるんだ?



ブロック崩し

これが、Javascriptでできてるとは信じられません。

DHTML Arkanoid V1.2B | Level 1









Powered by ScribeFire.

FireFox 拡張機能「ghostfox」

Firefox の画面を別ソフトのウィンドウ内へ表示することができるらしい。

 

http://ghostfox.mozdev.org/



現在の最新版は、ghostfox 0.1.4 でFireFox2.0b まで対応している。

残念ながらFireFox2.0.0.4にバージョンアップしてしまったので

このアドオンを今は利用できていない。Eclipse内で表示できると

非常に重宝するので、はやく対応したものがでてほしいな。

mozdev.org - ghostfox: installation

Nightly Tester

バージョン違いの拡張などを強引にインストールできる

Nightly Tester Tools



先のghostfoxを利用するためにインストールしてみました。





Powered by ScribeFire.





2007年6月13日水曜日

Prototype.js ベースのJavascript開発

最近は、WebUIを中心とした見た目をJavascriptでごりごり書いていく
プログラムをやっています。

Javascriptで開発をしていて思うことは

・デザイン
・機能
・データ

この3つの取り扱いを分離するのが非常に難しいなぁと。

特に、データとデザインの関連性を結ぶときに、ごりごり HTMLタグに id="xxx"と
名前をたくさん付けていくばかりになって、結局 id の名前ルールで制御をしている
なんてことは良くあります。

便利な prototype.js なんかを使うとますます $('xxx') みたいな
記述が増えて、設計上あまり考えずに付け足しつけたしになってしまうことが多いです。
後で見直すと、こりゃ書き直さなきゃ使い物にならないなぁ。。。と、絶望的な気分になります。

私が未熟なせいもありますが、もう少し扱いやすい言語であればいいのになぁと。


prototype.js リファレンスhttp://www.openspc2.org/JavaScript/Ajax/ref/prototype.js/ver1.4/index.html

2007年2月1日木曜日

Web関連