スタッフブログ

  • 最新配信
  • RSS

CMSでサイトを活性化しませんか?

mik : イベント 2009/1/16 17:39

Blogger's Avatar

弊社で専門として利用しているものはCMSのXOOPSなので今更何をという感じではあると思いますが、今月下旬にセミナーを開きます。

このセミナーに参加した方にはこんなことを実現できるようになります!

・CMSやXOOPSのことが理解できた!
・CMSを活用したときのメリットを理解できた!
・今までさわったことがなかったXOOPSにさわって自分で
 管理できるようになれると実感できる!

1月28日(水)14:00〜

という平日の昼間なのでなかなか集客に苦労しています。
上記書いてあることが実現できたらいいなと思われるかた、ほんの軽い気持ちで参加しませんか?

詳しくはこちらをご覧下さい
https://ryus.co.jp/modules/eguide/event.php?eid=1

ダミーテキスト

 : 技術全般 2009/1/15 14:25

Blogger's Avatar

argonです。

今回はWeb制作のちょっとしたTipsについて書いてみます。

ウェブ制作の過程でダミーテキストが必要な状況はわりとあると思います。
よくあるパターンは例えば

あああああああああああああああああああああああああああああああああああああああああああああああああ
あああああああああああああああああああああああああああああああああああああああああああああああああ
あああああああああああああああああああああああああああああああああああああああああああああああああ

とか

ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト
ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト

などで埋めるパターンが多いと思います。
そこで、ちょっとこったダミーテキスト素材として

日本国民は、正当に選挙された国会における代表者を通じて行動し、われらとわれらの子孫のために、
諸国民との協和による成果と、わが国全土にわたって自由のもたらす恵沢を確保し、政府の行為によって
再び戦争の惨禍が起ることのないやうにすることを決意し、ここに主権が国民に存することを宣言し、
この憲法を確定する。そもそも国政は、国民の厳粛な信託によるものであって、その権威は国民に由来し、
その権力は国民の代表者がこれを行使し、その福利は国民がこれを享受する。これは人類普遍の原理であり、
この憲法は、かかる原理に基くものである。われらは、これに反する一切の憲法、法令及び詔勅を排除する。

以上は日本国憲法の前文より。学生時代に暗記したのを思い出します…
このように意味のある、かつ著作権的問題もない文章をダミーテキストとして使えば、「あ」の羅列などに比べて全然文章らしいしので本番に近い雰囲気がでると思います。
文章のソースとして、他にも青空文庫のサイトから著作権の消滅した作品を使うというのもあります。ちょっと文学的な香り漂うかもしれません。

連休のすごし方

 : その他 2009/1/15 12:17

Blogger's Avatar

haltです.
三連休を利用して,ザ・ペニンシュラ東京(http://www.peninsula.com/Tokyo/jp/default.aspx)に宿泊してきました.
近年,マンダリンオリエンタル,ザ・リッツカールトン,ペニンシュラ等,外資系世界最高級ホテルの多くが進出.
東京をにぎわせていますが,自分は一度もこのクラスのホテルに宿泊した事がなかったので,
時間のできた三連休に宿泊してきました.



香港からきたホテルという事で,オリエンタルな雰囲気があり,非常に落ちつきます.外に出るのが億劫になるくらいです.
ベッドサイドにあるコンソールでなんでも操作できるのも動く気力をそいでくれます.

ディナーはヘイフンテラス等のホテル内レストランもよかったのですが,
猛烈にフレンチが食べたくなったので銀座のビストロ ヌガ(http://www.lenougat.jp/)に.
低価格でちゃんとしたフレンチを楽しむ事ができるのでオススメです.



IT関係の仕事をしていると休日でもついついコンピュータの前に座って仕事の事を考えてしまったりしますが,たまにはコンピュータのない所でゆっくり過ごすのも良いのではないでしょうか.

WEKOで使われている全文検索の方法

naoto : 技術全般 2009/1/13 9:52

Blogger's Avatar

なおとです。 先週とある指令を受けて、WEKOに興味を持ちました。

ブログの記事を読むと、弊社の龍司社長はオフィス文書の検索に感心したようです。 そこに焦点を当てて調べてみました。

まずWEKOモジュールをダウンロードして、ソースを眺めてみることにします。

  • weko1.31.tar.gz

私は弊社の他のメンバーと違ってNetCommons2の経験が少々足りないので、勉強を兼ねて手探り状態です。

始めに、データベースのテーブル定義を見ます。 同時に日本語の言語ファイルも見て、関係がありそうなところにアタリをつけていきます。

  • repository/sql/mysql/table.sql
  • repository/language/japanese/main.ini

すでに前記の記事で書かれているように、検索エンジンとして、MySQLに標準で組み込まれている全文テキスト検索(FULLTEXT INDEX)が使われているようです。

これで検索用インデックスが格納されるテーブルの名前「repository_fulltext_data」が分かりました。

※Windows上で動いているなどで対応していない場合には、部分一致検索(LIKE検索)に切り替えるようです。

そこでテーブル名をキーにソースを全文検索すると、次の2つのファイルが該当することが分かりました。

  • repository/components/RepositoryAction.class.php
  • repository/action/edit/createfulltext/Createfulltext.class.php

ここまで絞り込まれると、あとはソースを読むだけです。

オフィス文書をテキスト形式のデータに変換する

この仕組みで検索可能にするためには、対象となる内容を予めテーブルに置き、さらにインデックスという、素早く効率的な検索をするための付加的なデータが必要です。まずはデータを登録する部分を見ていきます。

すると、PHPから外部のコマンドラインを呼び出して、オフィス文書をテキスト形式のデータに変換する処理を見つけました。 ごく簡単に、核心部分を引用します。

  • wvWare
    • wvHtml input.doc output.html
  • xlhtml
    • xlhtml input.xsl > output.html
  • poppler
    • pdftotext -enc UTF-8 input.pdf output.txt

詳しくは各ツールのマニュアルでコマンドライン・オプションを調べると分かります。 (例:man poppler)

検索用インデックスを作成〜実際に検索する

上記のように変換したテキストファイルの中身をテーブルに挿入したあと、インデックスを生成しています。

検索はデータベースに対して検索クエリを投げると、結果が帰ってきます。

最後の方は駆け足になりましたが、概要は以上です。

私は数年前に、Namazuを使った全文検索を扱ったことがありました。 wvWareやxlhtmlといったツールは、その時にも使われていたのを思い出しました。

...続きを読む

Box2DFlashAS3を使ってみた

 : 技術全般 2009/1/9 14:28

Blogger's Avatar

satoです。
今回は、前回に引き続き、Flashを作ってみました。

[こちらからご覧下さい]

クリックすると何か出ます。それだけです。時間がなかったのでしょぼくて申し訳ないです。
今回はBox2DFlashAS3を使用しています。
前回使用したAPEより高機能で、描画ロジックが分離されているため、PaperVision3D等と組み合わせることも可能なのですが、資料が少なく、情報を調べるのが若干面倒です。

基本的には、gihyo.jp様の連載を見ながら進めるのが一番覚えやすいと思います。
ただし、現行バージョンとは若干違う部分もあるようなので、更に詳しくはBox2Dのマニュアル日本語訳)やクラスリファレンスを参照するといいと思います。Box2DFlashAS3自体の公式のドキュメントはほとんど存在しないようです。(Box2DFlashAS3はBox2DをAS3に移植したものです)

Box2DFlashAS3で作られたものは、引越し奉行等が有名だと思います。
アイデア次第でいろいろ作れると思うので、是非試してみてください。

携帯モジュールの絵文字実験中

 : 技術全般 2009/1/8 18:45

Blogger's Avatar

年末年始の休みぼけがようやく抜けてきたgusagiです
今日は、自分のサイトで行っている携帯モジュールの実験について、書かせて頂きます。

こちらの記事にも書きましたが、自分のサイトで絵文字フィルターの実験を行っています。
幾つか不具合っぽい部分も残っていますが、ひとまず一般公開出来るようになってきたので、思い切って公開してしまいました
依存しているPEARライブラリのライセンスとの兼ね合いで、一般配布まではもう少し調整が必要ですが、最低限の形にはなってきたと思っています。

実験がもう少し進んだら、このRYUSのサイトなどにも同様の機能を突っ込んでみる予定です。
また、ライセンスの関係で配布は出来ないものの、通常動作には支障なないレベルになってきているので、興味のある方はXOOPS関連のイベントや、こちらのセミナーの際にでも声をかけて下さい

PDFやwordファイルの中身まで全文検索できる WEKO

Ryuji : 技術全般 2009/1/8 13:01

Blogger's Avatar

回を重ねる毎に参加人数が増えつづけているCMSナイト。昨夜も盛況でした。

毎回、様々なCMSや、CMSの拡張機能についての紹介や利用事例などの紹介があるのですが、昨夜はNetCommons2用モジュールの「WEKO」の紹介がありました。

WEKO

このwekoの発表の中で「お!」と思ったのが、登録した wordやpdfの中身の全文検索機能があったことでした。

仕組みとしては、word や pdfの中身を登録したときに、別のソフトウェアで、ファイルからテキストを取り出して、データベースに登録しておき、wekoからはデータベースを検索するという形でした。

このテキスト抽出に使っているソフトウェア名をお聞きすることができたので、それを利用してXOOPSのダウンロードモジュールに全文検索機能を追加してみようかと思います。

実際に各ソフトウェアをどうやって呼び出してるのかは、WEKO のソースコードを読んで調べてみようと思ってます。(こういうときにオープンソースだと、簡単にノウハウを知ることができて便利ですね)

というわけで、誰かチャレンジしてみてね>RYUSスタッフ

年の始めに情報整理

mik : ビジネス 2009/1/6 16:58

Blogger's Avatar

明けましておめでとうございます!今年もRYUSをよろしくお願いします。

だいたいの会社が昨日から仕事始めだったのではと思います。RYUSも昨日から輝ける2009年の営業を開始しました。

年初だからと言って特に目新しいことはなく、いつも通りの仕事だったのですが個人的に年初らしいことをしてみました。

一つはクリーンデスクトップの実行です。プライバシーマーク取得のため、運用を開始しているのですが一度はきれいにしたクリーンデスクトップ(PCのデスクトップにショートカットを置きすぎない)が、日にちが経つにつれてまただんだんとごちゃごちゃしてきました。年初でもあるし、えいっ!と再度かたづけてみました。現在はマイドキュメントとかゴミ箱などの規定のアイコンの他は自分で作ったフォルダが2つだけあるのみのきれいなデスクトップになりスッキリしました。

もう一つはブラウザのブックマーク(お気に入り)の整理です。もともとがあまり整理好きな人間ではないもので、最初はフォルダを作ってそれぞれ用途別にブックマークを保管してるものが時間が経つにつれ、ええぃ面倒だとりあえずブックマークしとけ、という感じでフォルダにではなくルートにずらずらーとブックマークが林立していました。

実際使い勝手も良くないので、年初ということで整理してスッキリしました。また、なぜかIE7のお気に入りの整理で片付けようとするとIEが固まってしまうので

C:\Documents and Settings\自分のユーザ名\Favorites

を開いて、ファイルやフォルダ単位でドラッグアンドドロップして整理しました。ファイルと同じなので、こちらの方がずっと簡単に早く整理できました。

ということでデスクトップもブックマークもスッキリして、より業務に励みたいと思います。よろしくお願いいたします♪

2009年元旦秋葉原

 : その他 2009/1/5 14:36

Blogger's Avatar

argonです。
あけましておめでとうございます。今年もよろしくお願いします。

元旦に秋葉原電気街へ行ったので、その事について書いてみようと思います。

元旦でも秋葉原は結構お店やってるよという情報を知人から得たので会社にノートPCの電源アダプタとデジカメを忘れたのを回収、そして買い物に元旦の秋葉原に行ってきました。

弊社のオフィスはホテルとの共同施設です。ホテルは当然、元旦も営業中でした。
3階の会社へ行き、さくっと忘れものを回収。そして秋葉原電気街へ移動。
2009年元旦秋葉原
いやぁ、結構な人がいますね〜。やっぱり福袋とか目当てなのかな?
僕は福袋は買わないので、そこにはあまり興味はなかったですが、いくつかのお店で福袋セールしていました。
自分が目にしたのはソフマップ、ヨドバシカメラ、あきばお〜などなどでした。
そして、気になったのは秋葉原の駅のロッカー近くで見かけたヨドバシカメラの(おそらく)福袋を10ヶ!を
買ったとおぼしき(たぶん)中国人の方でしょうか。福袋そんなに良いもの入ってたのかなぁ・・・
あとは、元旦だからなのかは分からないですが、全体的にいつもよりもさらに外国人のお客さんが多い。
昨今の為替の円高化の影響で海外からの観光客の方には厳しい情勢じゃないかなとは思うのですが、そんな事は
あまり関係ないのかも?と思うほど多くの外国人の方をみかけました。

買い物自体はPCのパーツと雑誌、文具などをつつがなく購入。
ヨドバシカメラで元旦から4日まで太っ腹なゴールドポイント+5%加算セールしていたのが印象的でした。

正月休みでPC関係のショップなどいつも行くお店が3-4店お休みでしたが、全体的には人も多く賑やかな秋葉原電気街でした。

HttpWebRequestでcheckboxの値をPOSTする方法

 : ツール 2009/1/5 2:55

Blogger's Avatar

セールで買ったシルバーアクセサリーの福袋が割と当たりだったhaltです.

C#のHttpWebRequestクラスを利用するとGETやPOSTによるHTTP通信を行う事ができます.以下は割と適当に書いたHttpPostを行うメソッドです.
(Cookieはメンバ変数から拾っているのでそのままでは動作しません)

第一引数に送信先のurlを指定し,第二引数に送信する内容をDictionary形式で指定する事で,データを送信する事ができます.

            private string HttpPost(string url, Dictionary<string, string> vals) {
                string param = "";
                foreach (string k in vals.Keys) {
                    string key = k.Replace("#", "");
                    param += String.Format("{0}={1}&", key, vals[k]);
                }
                byte[] data = Encoding.ASCII.GetBytes(param);

                // リクエストの作成
                System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
                req.Method = "POST";
                req.ContentType = "application/x-www-form-urlencoded";
                req.ContentLength = data.Length;
                req.CookieContainer = _cookieContainer;

                // ポスト・データの書き込み
                System.IO.Stream reqStream = req.GetRequestStream();
                reqStream.Write(data, 0, data.Length);
                reqStream.Close();

                System.Net.WebResponse res = req.GetResponse();

                // レスポンスの読み取り
                System.IO.Stream resStream = res.GetResponseStream();
                System.IO.StreamReader sr = new System.IO.StreamReader(resStream, encoder);
                string result = sr.ReadToEnd();
                sr.Close();
                resStream.Close();

                return result;
            }

ようは,送信したい値をname=value形式でつないでencodeしたものを付加するのですが,
textareaやtextboxの内容を送信する事はできるのですが,checkboxのような,一つのnameに対して複数の値を持つ要素を送信する方法がわかりません.

詳しい人に聞いてみた所,checkboxのような複数の値を持つものは,以下のように,送信する数だけname=value形式で連結すれば良いそうです.

my_check=1&my_check=2&my_check=3...

となると,キーがuniqueなDictionary形式は使えないですね.専用の構造体を作った方がいいのかもしれません.

スタッフブログ最新
カテゴリ一覧

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階
お問い合わせ TEL 03-3524-8860

Copyright(c) 2012 RYUS.All Rights Reserved.