スタッフブログ
昨日のセミナーで、XOOPSを使い始めた頃を思い出したgusagiです。
今日は、Google AdsenseモバイルをXOOPSで使いたい場合について、少し書かせて頂きます。
個人・企業でユーザ向けサイトを公開している場合、アフィリエイトを導入してみたいと思う方は多いと思います。
携帯でインターネットを利用するユーザ数がここ数年でPCとほぼ同数にまで成長している状況を考えると、せっかく携帯サイトを作るのであれば、これは自然なことだと思います。
実際、携帯アフィリエイトサービスも、ここ数年で数がどんどん増えてきています。
その中で、自分がよく「これに対応していないの?」と聞くのがGoogle Adsenseモバイルです。
サービスの詳細は、上述のリンク先に書いてあるのですが、この導入方法をざっくり書きますと、
----
(1) サービスに申し込み、アカウントを取得する
(2) AdSense設定を行い、広告のタグを出力するPHPコードを生成する
(3) 出力されたPHPコードを自分のサイトに貼る
----
なのですが、レンタルサーバだったりすると上手くいかないことも結構あります。
今日は、Google AdsenseモバイルをXOOPSで使いたい場合について、少し書かせて頂きます。
個人・企業でユーザ向けサイトを公開している場合、アフィリエイトを導入してみたいと思う方は多いと思います。
携帯でインターネットを利用するユーザ数がここ数年でPCとほぼ同数にまで成長している状況を考えると、せっかく携帯サイトを作るのであれば、これは自然なことだと思います。
実際、携帯アフィリエイトサービスも、ここ数年で数がどんどん増えてきています。
その中で、自分がよく「これに対応していないの?」と聞くのがGoogle Adsenseモバイルです。
サービスの詳細は、上述のリンク先に書いてあるのですが、この導入方法をざっくり書きますと、
----
(1) サービスに申し込み、アカウントを取得する
(2) AdSense設定を行い、広告のタグを出力するPHPコードを生成する
(3) 出力されたPHPコードを自分のサイトに貼る
----
なのですが、レンタルサーバだったりすると上手くいかないことも結構あります。

RYUS初主催のXOOPSセミナー、本日無事終了いたしました。
初主催ということもあって、準備にも時間がかかり、セミナーでもいろいろ不手際があったかと思います。
2時間の予定ではじめたセミナーだったのですが、グループワークでは、様々な質問が飛び出し、結果的に2時間半ぐらいかかってしまいました。
お時間の無かった方には申し訳なかったです。
今後もRYUSでは、様々なXOOPSのセミナーを定期的に開催したいと思っておりますので、皆様よろしくお願いします。


いよいよ明日 CMS「XOOPS」活用&体験セミナー が開催されます!
来ていただいた皆さんにより多くの満足を感じていただけるよう、今日になっても「この資料はこうした方が!」とか「これも印刷しましょう」とか色々なアイデアを出して準備しています。
ほぼ、準備も整い、明日の開催を待つばかりとなりました。
今現在まだ「若干」席がございますで、まだお申し込みいただいていない方でも間に合います。この機会にCMSやXOOPSを体験してみませんか?
詳しくは
https://ryus.co.jp/modules/eguide/event.php?eid=1
をご覧ください。お待ちしています♪
来ていただいた皆さんにより多くの満足を感じていただけるよう、今日になっても「この資料はこうした方が!」とか「これも印刷しましょう」とか色々なアイデアを出して準備しています。
ほぼ、準備も整い、明日の開催を待つばかりとなりました。
今現在まだ「若干」席がございますで、まだお申し込みいただいていない方でも間に合います。この機会にCMSやXOOPSを体験してみませんか?
詳しくは
https://ryus.co.jp/modules/eguide/event.php?eid=1
をご覧ください。お待ちしています♪
今日は本日未明にアップロードされたHD-1.0.3RCについて書いてみようと思います。
http://www.xugj.org/modules/bulletin/index.php?page=article&storyid=134
引用:
大きな変更としては、去年の11月にリリースされたXOOPS本体のバージョンがXCL-2.1.6になった点です。その他にも細々とした修正がなされています。
HDではXCL本体と同じくリリース候補版であるRC版(Release Candidate version = リリース候補版)をまず公開して、それをテストして、そのテストからのフィードバックを修正していき、本番のリリース版を仕上げていく流れになります。
ですので、テストの過程が重要になります。
XAMPPやMAMPなどのローカルでテストできる環境を構築してのテストも良いと思います。
最新版のHDに興味がある方、現在XOOPSをHDで運用している方は是非チェックしてテストして見るとことをお勧めします。
http://www.xugj.org/modules/bulletin/index.php?page=article&storyid=134
引用:
"HD1.0 for XCL2.1" のマイナーアップデートである HD-1.0.3 のリリース候補版が公開されました。
このパッケージでは、XCL-2.1.6ベースとなっています。
今回は、モジュールの「追加」はほとんどありませんが、以前に収録されていたモジュールの機能的な意味で重要な「更新」が数多く含まれています。
大きな変更としては、去年の11月にリリースされたXOOPS本体のバージョンがXCL-2.1.6になった点です。その他にも細々とした修正がなされています。
HDではXCL本体と同じくリリース候補版であるRC版(Release Candidate version = リリース候補版)をまず公開して、それをテストして、そのテストからのフィードバックを修正していき、本番のリリース版を仕上げていく流れになります。
ですので、テストの過程が重要になります。
XAMPPやMAMPなどのローカルでテストできる環境を構築してのテストも良いと思います。
最新版のHDに興味がある方、現在XOOPSをHDで運用している方は是非チェックしてテストして見るとことをお勧めします。

jQuery派のなおとです。
今日もjQueryを使った画面表示などをいろいろやっていたのですが、まだまだ使いこなせていない自分にもどかしさを感じています。
キモはやはりセレクタをいかに使いこなせるかでしょうか。
XPathに近いようでいてまた一味違うし、集合の操作などSQL的なところもあったりして、奥深いです。
操作の対象をうまく掴むことができれば、あとは画像の切り替えや、テーブルのある行だけ背景色をハイライトしたり、また色を元に戻したりといった、よくあるような効果を追加するのは、すぐにできます。
まだたいしたことをしていないので、その方面もまだ修行が足りないと思っています。
とはいえやはり、おもしろい!javascriptでありながら独特な書き方があるのが、とても気に入っています。
satoです。
JavaScriptのライブラリでお馴染みのものにPrototype(prototype.js)があります。
このライブラリは、早い段階からJavaScriptでクラス機構を実現するための仕組みが用意されていたのですが、あまり使い勝手がいいと言えるものではありませんでした。
一昨年くらいに1.6がリリースされて、クラス作成周りが一新されたのですが、あまり情報がない(というか、あるのですが古い情報が優先して検索される)ので、ここでも書いておこうと思います。
■クラス作成
・1.5以前
・1.6
Class.createの中に直接書けるようになりました。ちなみに1.5以前の書き方でも通るようになっていますが、この後の継承などで問題が出ると思うので、1.6の書き方を使うようにしましょう。
■継承
・1.5以前
・1.6
Object.extendを使わなくなったのが大きな違いです。
そもそもObject.extendの実装を見ると、
のように、プロパティをコピーしているだけで、継承と呼ぶには厳しい実装でした。どちらかといえばmixinに近い実装だと思います。
1.6の実装になって何が嬉しいかと言うと、
・書き方がわかりやすい
Object.extendを複数回呼ぶ必要もありませんし、明示的にprototypeを指定する必要もなくなりました。
・親クラスのメンバを呼べるようになった
恐らくこれが一番大きいです。
1.5では、
のような強引な手法を採るしかありませんでしたが、1.6では、
のように、第一引数を$superという名前にすると、そこに親クラスのメソッドが入るようになりました。
ちなみにこの場合、getNameに引数を渡して受け取る場合、第二引数以降に割り当てられます。
みたいな感じです。
■まとめ
そもそもクラスとか定義するのはJavaScriptっぽくない感じはするのですが、単純に慣れているというのと、可読性が向上するという意味で積極的に使うようにしています。
最近はjQuery派とフルスクラッチ派が強い印象がありますが、prototype.jsは基本機能が整っていて、今でも十分実用的に使えるライブラリだと思います。
JavaScriptのライブラリでお馴染みのものにPrototype(prototype.js)があります。
このライブラリは、早い段階からJavaScriptでクラス機構を実現するための仕組みが用意されていたのですが、あまり使い勝手がいいと言えるものではありませんでした。
一昨年くらいに1.6がリリースされて、クラス作成周りが一新されたのですが、あまり情報がない(というか、あるのですが古い情報が優先して検索される)ので、ここでも書いておこうと思います。
■クラス作成
・1.5以前
var Animal = Class.create();
Animal.prototype = {
initialize: function() {
this.name = 'Animal';
},
getName: function() {
return this.name;
}
};
alert(new Animal().getName()); // 'Animal'
・1.6
var Animal = Class.create({
initialize: function() {
this.name = 'Animal';
},
getName: function() {
return this.name;
}
});
alert(new Animal().getName()); // 'Animal'
Class.createの中に直接書けるようになりました。ちなみに1.5以前の書き方でも通るようになっていますが、この後の継承などで問題が出ると思うので、1.6の書き方を使うようにしましょう。
■継承
・1.5以前
var Animal = Class.create();
Animal.prototype = {
initialize: function() {
this.name = 'Animal';
},
getName: function() {
return this.name;
}
};
var Cat = Class.create();
Object.extend(Cat.prototype, Animal.prototype);
Object.extend(Cat.prototype, {
initialize: function() {
this.name = 'Cat';
}
});
alert(new Animal().getName()); // 'Animal'
alert(new Cat().getName()); // 'Cat'
・1.6
var Animal = Class.create({
initialize: function() {
this.name = 'Animal';
},
getName: function() {
return this.name;
}
});
var Cat = Class.create(Animal, {
initialize: function() {
this.name = 'Cat';
}
});
alert(new Animal().getName()); // 'Animal'
alert(new Cat().getName()); // 'Cat'
Object.extendを使わなくなったのが大きな違いです。
そもそもObject.extendの実装を見ると、
Object.extend = function(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
return destination;
}
のように、プロパティをコピーしているだけで、継承と呼ぶには厳しい実装でした。どちらかといえばmixinに近い実装だと思います。
1.6の実装になって何が嬉しいかと言うと、
・書き方がわかりやすい
Object.extendを複数回呼ぶ必要もありませんし、明示的にprototypeを指定する必要もなくなりました。
・親クラスのメンバを呼べるようになった
恐らくこれが一番大きいです。
1.5では、
var Cat = Class.create();
Object.extend(Cat.prototype, Animal.prototype);
Object.extend(Cat.prototype, {
initialize: function() {
this.name = 'Cat';
},
getName: function() {
return (Animal.prototype.getName.bind(this))() + 'だよ';
}
});
alert(new Animal().getName()); // 'Animal'
alert(new Cat().getName()); // 'Catだよ'
のような強引な手法を採るしかありませんでしたが、1.6では、
var Cat = Class.create(Animal, {
initialize: function() {
this.name = 'Cat';
},
getName: function($super) {
return $super() + 'だよ';
}
});
alert(new Animal().getName()); // 'Animal'
alert(new Cat().getName()); // 'Catだよ'
のように、第一引数を$superという名前にすると、そこに親クラスのメソッドが入るようになりました。
ちなみにこの場合、getNameに引数を渡して受け取る場合、第二引数以降に割り当てられます。
getName('hoge') → getName: function($super, hoge) {
みたいな感じです。
■まとめ
そもそもクラスとか定義するのはJavaScriptっぽくない感じはするのですが、単純に慣れているというのと、可読性が向上するという意味で積極的に使うようにしています。
最近はjQuery派とフルスクラッチ派が強い印象がありますが、prototype.jsは基本機能が整っていて、今でも十分実用的に使えるライブラリだと思います。
HD1.0.3のリリース準備やら、OSC2009 Tokyo/Springの準備やらで、オーバーフロー気味なgusagiです
(来週のセミナーの準備をしている弊社のRyujiやhaltの方がもっと忙しいと思いますが^^;)
さて、今日のタイトルですが、何を今更と思われる方も多いかも知れません。
実は、今日の終業後、弊社のなおとやargonと携帯モジュールにこれから必要な機能って何だろう、という話をしていました。
その際に、「確かに、それは必要かも」という機能から「それって、自分としては使わないんだけど、本当に必要?」と思う機能まで、色々とアイデアを貰ったのですが、その際にふと思ったことが「自分がサービスを作る立場だったら、どんな機能が欲しいか」というものでした。
実は、RYUSに入社する前後から、あるサービスのアイデアをプライベートで練っていたりするのですが、その開発にXOOPS CubeとWizMobileの組み合わせを用いてみようと思っていたりします。
サービスを自分で作って運用してみることで、開発者としての目線だけでは思いつくことが出来ないアイデアが浮かべば、と期待していたりします。
もちろん、そこで開発した機能はWizMobileにも反映させて行くつもりですが、「それだったら、こんなサービス作れるの?」などといった関心のある方は、機会がありましたら声をおかけ下さい

(来週のセミナーの準備をしている弊社のRyujiやhaltの方がもっと忙しいと思いますが^^;)
さて、今日のタイトルですが、何を今更と思われる方も多いかも知れません。
実は、今日の終業後、弊社のなおとやargonと携帯モジュールにこれから必要な機能って何だろう、という話をしていました。
その際に、「確かに、それは必要かも」という機能から「それって、自分としては使わないんだけど、本当に必要?」と思う機能まで、色々とアイデアを貰ったのですが、その際にふと思ったことが「自分がサービスを作る立場だったら、どんな機能が欲しいか」というものでした。
実は、RYUSに入社する前後から、あるサービスのアイデアをプライベートで練っていたりするのですが、その開発にXOOPS CubeとWizMobileの組み合わせを用いてみようと思っていたりします。
サービスを自分で作って運用してみることで、開発者としての目線だけでは思いつくことが出来ないアイデアが浮かべば、と期待していたりします。
もちろん、そこで開発した機能はWizMobileにも反映させて行くつもりですが、「それだったら、こんなサービス作れるの?」などといった関心のある方は、機会がありましたら声をおかけ下さい

当サイトの左ブロックで告知中のXOOPS体験&活用セミナーの開催がいよいよ来週にせまってきました。
・XOOPS体験&活用セミナー
講師として話をするというのは、私も当社haltも、これまでに何回も経験してきたので、それほど心配してないのですが、今回のセミナーの後半の体験グループワークの準備で頭を悩ませてます。
1月28日のXOOPS体験&活用セミナーのグループワークでは、実際にXOOPSにふれていただき、「これなら、あんなことできそうだなぁ」とか「こういう使い方もできそうだ」という実感をもっていただけたらと思って企画したんですが、このグループワークが「XOOPS使い方講習」みたいにならないように、いかに楽しいセミナーにしようか日々考え続けてます
# さすがに、そろそろスタッフの皆さんに「いいかげんに内容FIXさせてくださいっ」って怒られそうですが(^^;
まだ開催まで1週間ありますので、ギリギリまで「役に立って、なおかつ楽しい」セミナーになるように、考え続けたいと思ってます。
・XOOPS体験&活用セミナー
講師として話をするというのは、私も当社haltも、これまでに何回も経験してきたので、それほど心配してないのですが、今回のセミナーの後半の体験グループワークの準備で頭を悩ませてます。
1月28日のXOOPS体験&活用セミナーのグループワークでは、実際にXOOPSにふれていただき、「これなら、あんなことできそうだなぁ」とか「こういう使い方もできそうだ」という実感をもっていただけたらと思って企画したんですが、このグループワークが「XOOPS使い方講習」みたいにならないように、いかに楽しいセミナーにしようか日々考え続けてます
# さすがに、そろそろスタッフの皆さんに「いいかげんに内容FIXさせてくださいっ」って怒られそうですが(^^;
まだ開催まで1週間ありますので、ギリギリまで「役に立って、なおかつ楽しい」セミナーになるように、考え続けたいと思ってます。

弊社で専門として利用しているものはCMSのXOOPSなので今更何をという感じではあると思いますが、今月下旬にセミナーを開きます。
このセミナーに参加した方にはこんなことを実現できるようになります!
・CMSやXOOPSのことが理解できた!
・CMSを活用したときのメリットを理解できた!
・今までさわったことがなかったXOOPSにさわって自分で
管理できるようになれると実感できる!
1月28日(水)14:00〜
という平日の昼間なのでなかなか集客に苦労しています。
上記書いてあることが実現できたらいいなと思われるかた、ほんの軽い気持ちで参加しませんか?
詳しくはこちらをご覧下さい
https://ryus.co.jp/modules/eguide/event.php?eid=1
このセミナーに参加した方にはこんなことを実現できるようになります!
・CMSやXOOPSのことが理解できた!
・CMSを活用したときのメリットを理解できた!
・今までさわったことがなかったXOOPSにさわって自分で
管理できるようになれると実感できる!
1月28日(水)14:00〜
という平日の昼間なのでなかなか集客に苦労しています。
上記書いてあることが実現できたらいいなと思われるかた、ほんの軽い気持ちで参加しませんか?
詳しくはこちらをご覧下さい
https://ryus.co.jp/modules/eguide/event.php?eid=1
argonです。
今回はWeb制作のちょっとしたTipsについて書いてみます。
ウェブ制作の過程でダミーテキストが必要な状況はわりとあると思います。
よくあるパターンは例えば
あああああああああああああああああああああああああああああああああああああああああああああああああ
あああああああああああああああああああああああああああああああああああああああああああああああああ
あああああああああああああああああああああああああああああああああああああああああああああああああ
とか
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
などで埋めるパターンが多いと思います。
そこで、ちょっとこったダミーテキスト素材として
日本国民は、正当に選挙された国会における代表者を通じて行動し、われらとわれらの子孫のために、
諸国民との協和による成果と、わが国全土にわたって自由のもたらす恵沢を確保し、政府の行為によって
再び戦争の惨禍が起ることのないやうにすることを決意し、ここに主権が国民に存することを宣言し、
この憲法を確定する。そもそも国政は、国民の厳粛な信託によるものであって、その権威は国民に由来し、
その権力は国民の代表者がこれを行使し、その福利は国民がこれを享受する。これは人類普遍の原理であり、
この憲法は、かかる原理に基くものである。われらは、これに反する一切の憲法、法令及び詔勅を排除する。
以上は日本国憲法の前文より。学生時代に暗記したのを思い出します…
このように意味のある、かつ著作権的問題もない文章をダミーテキストとして使えば、「あ」の羅列などに比べて全然文章らしいしので本番に近い雰囲気がでると思います。
文章のソースとして、他にも青空文庫のサイトから著作権の消滅した作品を使うというのもあります。ちょっと文学的な香り漂うかもしれません。
今回はWeb制作のちょっとしたTipsについて書いてみます。
ウェブ制作の過程でダミーテキストが必要な状況はわりとあると思います。
よくあるパターンは例えば
あああああああああああああああああああああああああああああああああああああああああああああああああ
あああああああああああああああああああああああああああああああああああああああああああああああああ
あああああああああああああああああああああああああああああああああああああああああああああああああ
とか
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
などで埋めるパターンが多いと思います。
そこで、ちょっとこったダミーテキスト素材として
日本国民は、正当に選挙された国会における代表者を通じて行動し、われらとわれらの子孫のために、
諸国民との協和による成果と、わが国全土にわたって自由のもたらす恵沢を確保し、政府の行為によって
再び戦争の惨禍が起ることのないやうにすることを決意し、ここに主権が国民に存することを宣言し、
この憲法を確定する。そもそも国政は、国民の厳粛な信託によるものであって、その権威は国民に由来し、
その権力は国民の代表者がこれを行使し、その福利は国民がこれを享受する。これは人類普遍の原理であり、
この憲法は、かかる原理に基くものである。われらは、これに反する一切の憲法、法令及び詔勅を排除する。
以上は日本国憲法の前文より。学生時代に暗記したのを思い出します…
このように意味のある、かつ著作権的問題もない文章をダミーテキストとして使えば、「あ」の羅列などに比べて全然文章らしいしので本番に近い雰囲気がでると思います。
文章のソースとして、他にも青空文庫のサイトから著作権の消滅した作品を使うというのもあります。ちょっと文学的な香り漂うかもしれません。



