[作り方]の検索結果


掲示板サイト「CommentPP」で使用しているスレッド型掲示板システムを「CommentPP 1.0」をオープンソースライセンス(GPLv2)でリリースしました。

CommentPP(コメントピーピー)1.0は、PHPとMySQL(データベース)で実装したオープンソースライセンス(GPLv2)のシンプルな日本語対応スレッド型掲示板システムで、その主な特徴は以下の通りです。

■CommentPP 1.0 の特徴

・シンプルなユーザーインタフェース
シンプルなユーザーインタフェースで誰でも見ただけで操作方法を理解することができます。

・オープンソースライセンス
オープンソースライセンス(GPLv2)で配布しています。

・PHP、MySQLで開発
プログラミング言語はウェブアプリケーションの開発言語として広く利用されているPHP、
データベースは多くのWebアプリケーションのデータベースサーバーとして利用され、格安レンタルサーバーでも利用可能なMySQLを使用して開発しています。

・スパム対応
ブラックリストに登録したキーワードに該当する投稿はスパムとして拒否することができます。

・会員制での運用も可能
動作モードの設定で管理人が登録したユーザーのみが閲覧・投稿が可能な会員制での運用も可能です。
会員制モードの場合ログインされていない場合はログイン画面が表示されます。


■動作環境

・PHPのバージョン PHP5.3以上
・MySQL MySQL5
・Smarty(テンプレートエンジン)

CommentPP 1.0のダウンロード
[2289] Posted by kagahiro at 2013/03/05 20:47:58
2 point | Link (2) | Trackback (0) | Comment (2)

日本語の文章では半角の英数字と全角の英数字、また、半角のカタカナと全角のカタカナが混在していることがよくあります。意味は半角でも全角でも同じですので、コンピュータで処理する場合はどちらかに統一してから処理したいところです。

Perlで全角半角変換を行う主な方法としては、

・標準モジュールのEncode.pmを使う
・Unicode::Japaneseモジュールを使う
・全角半角の変換に特化したLingua::JA::Regular::Unicodeモジュールを使う

などがあります。

Encode.pmは標準モジュールですので比較的使いやすいですが、euc-jp以外の文字エンコードの場合はeuc-jpに変換する必要があります。

Unicode::Japaneseモジュールは、現状では一番使いやすいと思われますが、標準モジュールではないのでレンタルサーバーで動かすWebアプリケーションではちょっと使いにくい面もあります。

Lingua::JA::Regular::Unicodeは、全角半角の変換に特化したモジュールですので非常に軽量ですが、全角半角の変換以外の処理を考えるとuse utf8;しないと動作しないというのはかなり面倒です。

これらのモジュールを使った全角半角の変換のコードについては、以下のブログ記事などに記述されています。

Encodeで全角半角変換
Perl で半角カナと全角カナの変換をする : Serendip - Webデザイン・プログラミング
perl - で全角半角変換をモダンに行う

しかし、いずれの方法もそれぞれ若干使いにくい面があるので、モジュールを使わずに自力で全角半角変換を行う方法を考えたいと思います。

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)
技術評論社 著者:矢野 啓介


amazon.co.jpのカスタマーレビューを見る
powered by amalink

[2247] Posted by kagahiro at 2012/12/14 23:52:52
0 point | Link (4) | Trackback (0) | Comment (0)

Perlの関数を使用して、以下の手順で10進数を2進文字列に変換することができます。

  1. sprintf関数で10進数を16進文字列に変換
  2. pack関数で16進文字列をバイナリーにパック
  3. unpack関数で2進文字列に変換

例えば、文字列の先頭文字のASCIIコード値(10進数)を取得し、それを2進文字列に変換に変換する場合は、 次のようなコードになります。

#!/usr/bin/perl

use strict;
use warnings;

my $ascii = "ABC";
my $asciicode = ord $ascii;  # 先頭文字のASCIIコード値を取得
my $str = _bitstr($asciicode, 8);
print "str   = $str\n"; # for debug

exit;

# 10進数を2進文字列に変換する関数
sub _bitstr {
    my ($code, $len) = @_;
    my $hexcode = sprintf("%X", $code); # 16進に変換
    my $bitstr = unpack("B".$len, pack("H2", $hexcode));
}

10進数を単に2進文字列に変換するだけならこれでも構わないのですが、ビット演算子を使ってビットのオン・オフを判定して、 2進文字列を作成していく方法もあります。以下のコードはその実装例です。

#!/usr/bin/perl

use strict;
use warnings;

my $ascii = "ABC";
my $asciicode = ord $ascii;  # 先頭文字のASCIIコード値を取得
my $str = _bitstrR($asciicode, 8);
print "str   = $str\n"; # for debug

exit;

# ビット演算で10進数を2進文字列に変換する関数
sub _bitstrR {
    my ($code, $len) = @_;
    my $bitstr = '';
    for my $i (1 .. $len) {
        $bitstr .= (0x80 & $code) ? '1' : '0'; # 0x80(2進数:10000000)でビット論理積をとる
        $code <<= 1;
    }
    return $bitstr;
}

ここで問題になるのはどちらの方法が処理速度が優れているかということですが、以下のコードのプロファイルを取ると・・・

#!/usr/bin/perl

use strict;
use warnings;

my $ascii = "ABC";
my $asciicode = ord $ascii;  # 先頭文字のASCIIコード値を取得

my $str = '';
for my $j (1 .. 10000) {
    $str = _bitstr($asciicode, 8);
    $str = _bitstrR($asciicode, 8);
}
print "str   = $str\n"; # for debug

exit;

sub _bitstr {
    my ($code, $len) = @_;
    my $hexcode = sprintf("%X", $code); # 16進に変換
    my $bitstr = unpack("B".$len, pack("H2", $hexcode));
}

sub _bitstrR {
    my ($code, $len) = @_;
    my $bitstr = '';
    for my $i (1 .. $len) {
        $bitstr .= (0x80 & $code) ? '1' : '0'; # 0x80(2進数:10000000)でビット論理積をとる
        $code <<= 1;
    }
    return $bitstr;
}


C:\xampp\htdocs\sample>perl -d:Dprof bitstr3.pl
str   = 01000001

C:\xampp\htdocs\sample>dprofpp
Total Elapsed Time = 0.018988 Seconds
  User+System Time = 0.016988 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c  Name
 223.   0.038  0.038  10000   0.0000 0.0000  main::_bitstr
 47.0   0.008  0.008  10000   0.0000 0.0000  main::_bitstrR
 0.00       - -0.000      1        -      -  strict::import
 0.00       - -0.000      1        -      -  warnings::import
 0.00       - -0.000      1        -      -  strict::bits
 0.00       - -0.000      2        -      -  main::BEGIN

やはり、ビット演算で2進文字列を作成するほうが早いようです。

プログラミングPerl〈VOLUME1〉
オライリー・ジャパン 著者:ラリー ウォール,ジョン オーワント,トム クリスチャンセン


amazon.co.jpのカスタマーレビューを見る
powered by amalink

[2239] Posted by kagahiro at 2012/12/09 20:36:29
0 point | Link (4) | Trackback (0) | Comment (0)

レスポンシブウェブデザイン(Responsive Web Design)は、PC、タブレット、スマートフォンなど、様々なデバイスに最適化したWebサイトを、単一のHTMLで構築するデザイン手法で、ブラウザのスクリーンサイズを基準に...
[2231] Posted by kagahiro at 2012/10/19 17:35:45
1 point | Link (4) | Trackback (0) | Comment (1)

日本電子書籍出版社協会(電書協)が加盟出版社向けに、国際的な電子書籍フォーマットであるEPUB3フォーマットの電子書籍を制作するためのガイド「電書協EPUB3制作ガイド ver.1.0」を公開した。電書協のサイトから無...
[2225] Posted by kagahiro at 2012/09/13 18:20:20
0 point | Link (2) | Trackback (0) | Comment (0)

ぼくはまちちゃんという方がライブドアの一部人気ブログのように、スクロールしてもサイドバーの広告が固定して表示されるようなJavaScriptを公開ししていますが、Googleの見解によるとこれはAdSenseポリシー違反にな...
[2223] Posted by kagahiro at 2012/08/31 17:44:06
0 point | Link (1) | Trackback (0) | Comment (0)

個人でWebサイトを運営するのは難しくなっていくということか。グーグルパンダのブランド贔屓は、企業のブランドドアウェイページが今までにないレベルで上位にランクインするきっかけを作った。この問題へのグーグル...
[2211] Posted by kagahiro at 2012/06/07 10:18:17
0 point | Link (0) | Trackback (0) | Comment (0)

なるほど、いろんな方法があるのですね。自分の読者が何を必要としているのか耳を傾ける。そして、それを届けるのだ。あなたが作るコンテンツにひらめきを与えているのはそれらの読者であることを認めるのだ。読者の...
[2193] Posted by kagahiro at 2012/05/24 16:40:24
0 point | Link (0) | Trackback (0) | Comment (0)

映画やドラマ、アニメ、音楽、お笑いなどの無料動画をFC2動画、YouTube、ニコニコ動画 、Veoh、Dailymotionなどから探す方法を解説。無料動画を探す方法としては、動画検索サイトで探したい動画に関連する任意のキー...
[2169] Posted by kagahiro at 2012/04/18 21:17:19
5 point | Link (17) | Trackback (5) | Comment (0)

Lancers(ランサーズ)は、仕事をしたい人(ランサー)と、仕事を依頼したい人(クライアント)をマッチングして、ネット上でお互いに匿名で仕事の取引ができる仕事マーケットプレイス。「コンペ方式」と「プロジェ...
[2120] Posted by kagahiro at 2011/04/23 23:04:40
0 point | Link (3) | Trackback (0) | Comment (0)

|< 先頭へ  < 前へ  3 4 5 6 7  次へ >


アクセスランキング

今日のアクセスランキング TOP 10

  1. 2NN 2ちゃんねるニュース速報+ナビ (5 PV)
  2. FC2動画やYouTubeなどから無料動画(映画やドラマ、アニメ、音楽など)を探す方法 (4 PV)
  3. ようつべ (YouTube) 動画のダウンロードと保存 (3 PV)
  4. 秋田県、記録的大雨で雄物川が氾濫し秋田新幹線も止まる (2 PV)
  5. 完全無料のMT4向けナンピンEA「Nanpin K(ナンピンケイ)」 #MT4 (2 PV)
  6. [C言語]UTF-8でエンコードされた文字列の文字数を取得するコード (2 PV)
  7. 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (2 PV)
  8. [映画]インセプション(Inception) (1 PV)
  9. Googleニュースを視覚化するnewsola (1 PV)
  10. [Perl][HTML::Template]<TMPL_LOOP>タグのサンプルプログラム (1 PV)

今月のアクセスランキング TOP 10

  1. 2NN 2ちゃんねるニュース速報+ナビ (3286 PV)
  2. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (526 PV)
  3. 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (107 PV)
  4. 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (98 PV)
  5. SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (76 PV)
  6. Million Dollar Ver 1.09向けの収益性を重視したゴールド(Gold、XAUUSD)ロングセットファイル (70 PV)
  7. 無料のMT4向けナンピンマーチン爆益(爆損)EA「Jipangu(ジパング)」 (69 PV)
  8. 仲値トレードが簡単にできる無料EA「NAKANE3 Ver 2.04」 #MT4 (61 PV)
  9. [FX]裁量ポジションを簡単に管理できるMT4向け無料の裁量補助EA「PositionKeeper」 (54 PV)
  10. 2chまとめサイト - 痛いニュース(ノ∀`) (48 PV)

アクセス統計

ディレクトリ

関連サイト