Introduction

ブログ内検索

  • このサイトの記事を検索 by Google

おすすめの一冊!

無料ブログはココログ

ウェブログ・ココログ関連

2013-04-18

KMmacro (その3)


KMmacro Tips 第三弾です。

  ⇒ 第一弾の記事はこちら第二弾の記事はこちら


■ 乱数の生成

ちょーてきとうな疑似乱数の生成です。

KMmacro の演算精度とかわからないので(たぶん 32bit 整数演算なのかな?)、
とりあえず値域の制限された線形合同法とか使ってみます。

; 【SUB】"0~524286" の乱数生成ルーチン(途中の演算結果も31bitに収まるような線形合同法) DIM %randomize_A %randomize_B %randomize_M :RANDOMIZE set %randomize_A 4096 ; AX+B が 31bit に収まるような数 set %randomize_B 5039 ; =7!-1 ※ n!-1 タイプの素数 set %randomize_M 524287 ; =2^19-1 ※メルセンヌ素数 set %randomSeed (mod (+ (* %randomSeed %randomize_A) %randomize_B) %randomize_M) set %randomValue %randomSeed if (or (<= %randomMax 0) (<= %randomize_M %randomMax)) goto :RANDOMIZE_END set %randomValue (mod %randomValue (+ %randomMax 1)) ; 指定値域に丸める :RANDOMIZE_END set %randomMax 0 ; 念のためリセット return
あらかじめメインルーチン側で変数宣言と乱数シードの初期化が必要です。
DIM %randomMax %randomSeed %randomValue ; RANDOMIZE ルーチン用(非保持) set %randomMax 0 set %randomSeed (& "1" (date "nnss")) ; 現在時刻で乱数系列を初期化
使うときは、%randomMax に上限値を設定して call するだけ。 %randomValue にその上限値以下の乱数が設定されます。 たとえば、400ms 以下のランダムな時間だけ sleep したいときは 次のようなコードになります。
set %randomMax 400 call :RANDOMIZE set %sleepPeriod %randomValue call :SLEEP_WITH_YIELD
第二弾で紹介した関数 SLEEP_WITH_YIELD を使ってます。 まぁ、マクロ内で乱数を使うようなケースは、待ち時間をランダムに変えて 「あたかも人間が操作しているようにみせかける」くらいしか使い道が 思いつかないですが、まぁ、そこは大人の了解で。

2013-03-31

WordPress のサーバ移行

ココログから自前 WordPress への移行準備をすすめてます。

これまで自前の VPS 上で WordPress の構築トライアルしていたのですが
(エラーログとか見られるので便利)、最終的には LaCoocan で運用したいので、
実際に LaCoocan 上で WordPress が動くか確認してみました。
(※ "LaCoocan" は @nifty の共有 Web サーバサービス)

移行作業でいくつかノウハウが得られたので、メモしておきます。


今回の環境は次のような構成です:

    移行元: VPS (Virtual Private Server) / CentOS 5 / Apache
    移行先: LaCoocan (@nifty の共有サーバ)


ちなみに、移行先の LaCoocan では Apache の mod_rewrite モジュールが
使えないので、Permalink (固定リンク)を変更しないといけない場合があります。
というか、デフォルト以外の設定にしている場合はたぶんダメです。
投稿記事中のリンクも書き換えないといけないので、かなり面倒です‥‥
(※ Permalink の変更は以下の手順には含まれていません)


さて、今回の移行手順は、ざっくり言うと三段階になります。

    1. 移行先サーバで MySQL が使えるようにしておく。
    2. WordPress 関連ファイル一式を移行。
    3. MySQL データベースを移行。

データベースの移行でちょっと罠がありました(後述)。
ちなみに、最後の手順が終わるまで、移行先の WordPress の URL に
アクセスしないほうが安全かと(単にエラーになるだけだと思いますが)。


以下、詳細です。

    1-1. LaCoocan でデータベースを作成しておく。

        ⇒ http://homepage.nifty.com/help/manage/options/db.htm

        すでに作成済みならこの手順は不要です。
        ちなみに、LaCoocan ではアカウントごとに1個しかデータベースは作れませんが、
        DB テーブルの prefix を変えれば問題になることはないと思われます。


    1-2. LaCoocan で phpMyAdmin が使えるようにしておく。

        MySQL のデータベースをインポートするためです。
        自分でインストールしてもいいですが、今回は LaCoocan の
       「簡単インストーラー」サービスを使いました。カンタン!

        ⇒ http://homepage.nifty.com/help/webapps/index.htm#P10


    2-1. 元サーバの WordPress フォルダを丸ごと FTP ダウンロードしておく。

        てきとーな FTP/SFTP ソフトを使ってください。
        .htaccesss とか .htpasswd とか(あれば)忘れずに。


    2-2. もしあれば、.htaccess から mod_rewrite の記述を削除。

        前述の通り、LaCoocan は mod_rewrite が使えません。
        もともと .htaccess が無ければこの手順は不要です。
        あるとしたら、ダウンロードした最上位のフォルダ
        (WordPress ルートフォルダ)だと思います。

    2-3. WordPress 設定ファイル wp-config.php を編集

        'DB_NAME' と 'DB_USER' と 'DB_PASSWORD' と 'DB_HOST' を
        LaCoocan のデータベース設定に合わせて変更してください。


    2-4. フォルダを丸ごと LaCoocan に FTP アップロード。

        てきとーな FTP/SFTP ソフトを使ってください。
        .htaccesss とか .htpasswd とか(あれば)忘れずに。
        ファイルのパーミッション(アクセス権限)は 644 で OK です。
        (.htaccesss.htpasswd だけは 604 のほうが安全かも?)


    3-1. 元サーバの MySQL データベースのダンプを取得。

        ⇒ データベースのバックアップ - WordPress Codex 日本語版

        今回は VPS ということでシェルのコマンドラインが使えたので、
        mysqldump コマンドで取得しました(ついでに gzip 圧縮)。

            # mysqldump --add-drop-table --user=ユーザ名 -p データベース名 | gzip > dump.sql.gz

        これで作られた dump.sql.gz を FTP/SFTP でダウンロードすれば OK です。

        あるいは、phpMyAdmin でエクスポートしてもかまいません。


    3-2. LaCoocan の MySQL データベースにインポート。

        手順 1-2 で設定しておいた phpMyAdmin で dump.spl.gz をインポートします。

        ⇒ データベースの復元 - WordPress Codex 日本語版


    3-3. データベースに記録されている旧 URL を新 URL に置き換える。

        ここが今回の記事のハイライト!

        Codex 日本語版の手順では、dump.sql をテキストエディタで開いて一括置換する、
        と書かれていますが、それだと問題が生じる場合があるようです。
        なぜなら、「PHP の文字列」(文字列の長さが先頭に付いたデータ)として
        データベースに格納されている場合に、データの整合性がくずれてしまうから。

        ⇒ http://webcre-archive.com/2012/10/04/wordpress-db-url-replace/

        そこで、本家 Codex で推奨されているスクリプトを使います。
        (Search and Replace for WordPress Databases Script)

        ⇒ WordPress Serialized PHP Search Replace Tool - Interconnect IT

        使い方はカンタンで、スクリプトを新サーバにアップロードして、ブラウザからその
        ファイルの URL にアクセスして、新旧 URL を入力するだけ。


        3-3-1. 上記 URL からスクリプト(zip ファイル)をダウンロードしてくる。

        3-3-2. zip ファイルを展開する("searchreplacedb2.php" というファイルができる)。

        3-3-3. "searchreplacedb2.php" を別の名前に変更する。"searchreplacedb2-hogehoge.php" とか。

        3-3-4. そのファイルを新サーバにアップロードする。 ※旧サーバではなく新サーバです

            WordPress ルートフォルダ(wp-config.php のあるフォルダ)に置いてください。

        3-3-5. ブラウザからそのファイルの URL にアクセス。

        3-3-6. 「wp-config.php の設定を読み込むか?」と聞かれるので、そのまま "Submit"。

        3-3-7. データベースの設定を確認されるので、そのまま "Submit DB details"。

            初期値として wp-config.php から読み取った設定が記入されているので、変更不要。

        3-3-8. 変更するテーブルを聞かれるので、全選択のまま "Continue"。

        3-3-8. 「ちゃんと必要なテーブルを選択したか?」と確認ダイアログが出るので、"OK"。

        3-3-9. 置換する文字列(旧 URL と新 URL)を入力して、"Submit Search string"。

            たとえば、

                Search for (case sensitive string):
                    http://old.example.com/foo/bar/

                Replace with:
                    http://new.example.com/

            のように入力すればよい。

        3-3-10. 「ホントに置換してよい?」と確認ダイアログが出るので、"OK"。

        3-3-11. "Completed" と書かれたページが出れば成功!

        3-3-12. ここで使ったファイル(3-3-4 でアップロードしたファイル)を削除。

            思わぬセキュリティホールになる可能性があるので、忘れずに削除!


手順は以上。


補足その1。
LaCoocan では mod_write が使えないので、Pretty Permalink は使えません。
次善の策である PATHINFO ("Almost Pretty") を使います。
URL に "/index.php/" と入るのがカッコ悪いですが‥‥


補足その2.
Permalink の設定で %postname% を使っていると、日本語タイトルの記事が表示できません。
URL に日本語が含まれていると LaCoocan ではエラーになります。
VPS だと動いていたので、LaCoocan の Web サーバの問題かもしれません。
とりあえず、Permalink の設定で %postname% を使うのをあきらめました‥‥


以上、ご参考まで。

2010-05-12

デザインを変えてみました

このブログに Opera でアクセスすると表示がおかしくなる、
という問題に気がついたので、これを機会にデザインを一新しました。

新デザインのコンセプトは「シンプル&パステル」。

ついつい濃い見た目になってしまうのを抑えて、
できるだけ明るいイメージにしてみました。

いままでずっと3カラム(両サイドバー)のデザインだったので、
妙に右側がスカスカしてる感じもしますが、2カラムになったことで
長いコードを載せてもちゃんと読めるようになりましたw

ちなみに、画像の作成&加工には、フリーソフトの GIMP を使っています。
背景などは純粋に GIMP だけで作っています。とっても便利♪

とりあえず各ブラウザで表示を確認したので、たぶん表示が化けて
読めなくなることは無いと思うのですが、もしあればご連絡ください。
この記事にコメントいただくか、または Twitter 上で @seaoak2003 まで!

p.s. ココログのテンプレートは、JavaScript が OFF のときに
   余計な p 要素を生成してくれるみたいで、表示がズレました。
   いちおう対策しましたが、ホント、勘弁してほしいです・・・

2009-08-21

CSS の pseudo-class

前から気になっていたモノが記事になっていたので、メモ:

CSS擬似クラスを使うべき理由 【マイコミジャーナル, 2008/02/06, 後藤大地】
CSS の pseudo-class を活用して HTML のマークアップを シンプルにしよう、というお話です。 pseudo-class を使うと、ブログのサイドバーのように単に div 要素が 並んでいるだけの HTML ソースであっても、CSS 側だけで各要素に 個別にスタイルを指定できるようになります(pseudo-class を使わない 場合は各 div 要素にクラスや ID を指定しておく必要があります)。 下手に使うとソースの見通しが悪くなる可能性もあるので、 ある意味では飛び道具的かもしれませんけど、便利は便利。 ココログのように HTML ソースを直接いじれない場合には 特に威力を発揮しそうです。 # ココログでも「プロ」プランなら HTML ソースをいじれたハズ(?) で、上記の記事で引用している A LIST apart の記事をみると、 ":nth-child(#)" のようなさらに高機能な pseudo-class も 紹介されています。が、さらにリンク先をたどっていくと、 これらの先進的なやつは IE7 でもサポートしていないようです。 残念ながらしばらくはお遊び要素としてしか使えないみたいですね‥‥ まぁ、そもそも ":nth-child(#)" などは CSS2 ではなくて CSS3 の範囲のようですから、仕方ないところです。 CSS2 で規定されている ":first-child" などは IE7 でもちゃんとサポートされてますしね。 ところで、"pseudo-class" の日本語訳って、「疑似クラス」なのか 「擬似クラス」なのか、どちらが正しいのでしょう??? ググってもヒット件数はほぼ同数ですし、解説サイトによっては 両者を混在して使っていたりするのですが・・・(困

2009-08-18

IE6 No More !

  
みなさん、InternetExplorer はちゃんとバージョンアップしてますか?

Seaoak は1年前くらいに IE7 にアップデートしました。
WindowsUpdate での自動配布開始から時間もたって、
世の中の Web サイトもほとんど IE7 に対応しただろうから
そろそろ頃合いかと。

ところが、世間ではまだまだ IE6 ユーザの人が予想外に多いみたいです。
(とある調査によればシェアがまだ 27% もあるとか)

じつは Seaoak はもうひとつブログをもっていて、
例によって CSS をいじくってカスタマイズしているのですが、
「透過 PNG 画像」という IE6 未対応の機能を使ったところ、
何人もの方から「ページが崩れる」と言われてしまったのでした・・・

ページをカスタマイズしていて思ったのですが、正直なところ
透過 PNG を使わないのはかなりの制約になってしまいます。
タイトル画像ひとつにしても、透過 PNG にしておけば位置の変更も
簡単なのですが、背景に合わせて画像を切り出すやり方だと
作る手間もかかるし位置の微調整ができなかったりするのです。
フィルタ機能(IE 独自機能)を使えば画像の透過だけはいちおう
できるようになるのですが、画像と重なっているリンクが
クリックできなくなったりと、イマイチです(CSS が汚くなるし)。



というわけで、Seaoak もそろそろ

    " IE6 No More! "

と声を上げたいと思いますっ


ネット上で「IE6 No More」という運動があって、
ちょっとした仕掛けを提供してくれてます。

この記事を IE6 で見ると、こんな看板が出るハズ↓

看板サンプル


仕掛けは単純で、IE のバージョン振り分けコメントで
IE7 未満のブラウザに対して JavaScript を実行しているだけですw


ちなみに、この「IE6 No More」ですが、
マイコミジャーナルの記事で知ったモノです。

IE6 はいらない、IE6 No More.com (マイコミジャーナル, 2009/Aug/07, 後藤大地)
まぁ、IE6 が出た頃は「IE もようやく Web スタンダードに準拠した」とか 言われていたような気がしますが、時代は進むものですね~w ■ 追記 (2009/08/22) 一説によると、IE6 は 2014 年まで生き続けるらしい・・・
MicrosoftはIE6サポートを2014年まで切れない!? 【マイコミジャーナル, 2009/08/12, Junya Suzuki】

2008-12-06

ウェブデザインのお勉強

Seaoak は別名でもうひとつブログを持っているのですが、
そのブログを IE 以外のブラウザで見たときに
「次の記事へ」などのリンクが見えなくなっていたり
することに気がつきました(とっても使いにくい><

そのブログのテンプレートは前に自作したものだったのですが、
ちゃんと Firefox とかで表示確認してなかったのが敗因。
一時的に公式テンプレートに変更しておいて、
そのウラで全面的に改装することにしました。

というわけで、ひさびさにウェブデザインのお勉強です♪
以前に読んだ本を再読して、さらに何冊か購入。

本の表紙画像 大藤 幹 〔著〕 世界の「最先端」事例に学ぶ CSS プロフェッショナル・スタイル (Web Designing Books)

本の表紙画像 大藤 幹 〔著〕 世界の「最先端」事例に学ぶ CSS ベスト・プラクティス (Web Designing Books)

本の表紙画像 瀧上 園枝 〔著〕 Web プロフェッショナルのための黄金則 「旬」なサイトに学ぶ 76 のデザイン・エッセンス (Web Designing Books)

本の表紙画像 香西 睦 〔著〕 WEB デザインレイアウト (ウェブクリエーターズバイブルシリーズ)

本の表紙画像 Dave Shea, Molly E. Holzschlag 〔著〕 CSS Zen Garden Book ― Web デザインのベストプラクティスに学ぶ、CSS クリエイティブ・テクニック (Web Designing BOOKS)

雑誌 Web Designing からの派生本は良質に思います。 大幹さんの本は (X)HTML+CSS のいろいろな hack について、 「なぜその hack を使うのか(使わないのか)」 を解説してくれている貴重な本です。 また、いろいろなブラウザごとの挙動の違いについて、 具体的な例を挙げて解説してくれています。 とっても勉強になるいい本です。 CSS Zen Garden は、ひとつの XHTML 文書に対して CSS を変えるだけでどれだけ見た目が変えられるか、というテーマで 世界中のヒトの作品が集められているサイトです。 上記の本はその解説本。 思わず「こんなアイディアがあったのかぁ~」と感心してしまう アイディアがたくさん紹介されています。 CSS のお勉強にも最適。 瀧上さんの本は Photoshop を使ったデザイン例の紹介です。 Seaoak は Photoshop ではなくて GIMP を使っているのですが、 十分参考になります。 とりあえず、お勉強が面白くて実際のデザインがなかなか進みませんw

2005-05-02

ココログプラスにしてみました

ココログプラスにしてみました.とっても基本的な1機能のためだけに…

プラスにすると,見た目(テンプレート)がちょびっと変えられるとか,
ブログが3個まで作れるようになるとか,『マイフォト』が使えるようになるとか,
アクセス解析ができるようになるとか,まぁ,いろいろ特典があるわけですが,
Seaoak としてはこの辺の機能については特に必要性を感じてません.
見た目は CSS で勝手に変えてるし(大きな声で言うと禁止されちゃう?),
別のブログを作る気はないし(もし作るなら別のサービスを使うと思う),
もともと写真を撮る趣味は無いし(携帯のカメラもめったに使わない),
アクセス解析もカウンタの要領でフリーのをつければいいし,
というわけです.

今回の変更の目的はただひとつ,『マイリストの読み込み・書き出し』だけです.

このブログでは,『乱読録』と題して Seaoak の読んだ本を記録し続けています.
ブログの右サイドバーに並んでる本たちがそれです(基本的には読んだ順).
この『乱読録』には,ココログの『マイリスト(本)』を利用しています.
ISBN を入力するだけで書名&著者名&表紙画像が出てくるのはとても便利です.
とても使いやすくて,レスポンスも早くて,かなり満足度の高いサービスです.
だた,ひとつだけ問題があって,ローカルマシン(Seaoak のパソコン)に
リストの内容をダウンロードしたり,逆にアップロードしたりすることが,
ベーシックプランだとできないのです.バックアップや整理(分析?)や
再利用をするためには,プラスへのプラン変更が必要なのでした.

というわけで,プラン変更してみました.
マイリストのダウンロードを試してみたら,あっさりできました.
OPML 1.1 という XML 文書のようですね.

ダウンロードしたデータで遊ぶ話はまた今度…

2005-03-20

雑誌『Web Designing』

WebDesigning_2005_04雑誌『Web Designing』(2005年4月号)をチェック.

まぁ,いわゆる Web デザイナ向け雑誌なのですが,
Seaoak みたいな素人でも楽しく読める雑誌です.
Web ページの見た目(スタイル)はもちろん,
ユーザビリティやアクセサビリティの話も多いです.
XHTML/CSS/FLASH/JavaScript/PHP などのテクニックも
書かれていて,実際にサイトを作る際に参考になります.
Seaoak もこのブログのスタイルを変えたりするときに
バックナンバーを読み返してますから.

で,今月号の内容です.

特集1『XHTML+CSS トラブルシューティングガイド』は,IE 対策がメインです.
例によって『一番普及してるけど微妙に規格から外れた挙動』をしてくれるので,
いろいろと規格と実装のウラを突いたテクニックが必要になってしまうわけですね.
Seaoak 的には,今年の夏にリリースされるとかいう噂の IE7 に期待するしか
ないかなぁ,って感じです.といっても普及までにはかなり時間がかかりそうな
気もしますが(Windows2000 を切り捨てるようなマネは頼むからやめてほしい…).
ちなみに,このブログでは特に対策はしていません(そこまでシビアじゃない).
一応,Firefox と IE6 で動作確認していますけど.

特集2『都道府県サイトで考える「使いやすい Web」』は面白いです.
自治体ごとの違いが意外に大きくて,積極的に CMS を導入していたり,
トップページにひと工夫していたり,独特のサービスがあったりしてます.
どのサイトも巨大なので,担当者はかなり苦労してるみたいですね.
まぁ,『お役所』ならではの抵抗勢力(?)が多そうな気もしますけど.
でも,正直な印象としては『意外にがんばってるな』と思いました.
今後も注目したいと思います.

とりあえず,今月号は買う価値アリだった思います.よかった.

2005-03-15

『匿名』だからできること(?)

このブログの『乱読録』(右サイドバーの本たち)には,Seaoak が読んだ本を全部載せてます.
『この本はちょっと恥ずかしいなぁ…』と思っても,読み終えた順に登録しちゃってます.
『こんな本を読んでる怪しいヤツのブログなんて読めるか!!』って思われたらイヤだなぁ,
と怯えつつも,あえて『素の Seaoak を出したい』と思って登録してます.
# もしかすると予期しないリアクションがあるかもしれないかなと思って…

で,正直言って,こんなことができるのインターネットの匿名性のおかげかな,と思います.
実際,身近な人たち(職場の人とか)にバレたらちょっと人間性を疑われかねないですし.
ご多分にもれず,Seaoak も外面は作ってますので…(そうじゃない人がいたら怖いと思う).
昨日の記事にならって言えば,『現実世界の Seaoak を知らない人』というのがこのブログの
唯一の想定読者像と言えるのかもしれません.現実世界の Seaoak を知らない人が
このブログを見たときにどんな風に感じるか,とても気になるところです.
ある面,より素の Seaoak に近い人物像かもしれませんから.

まぁ,バレてるバレてないは別にしても,このブログみたいに現実世界の自分とは
ちょっと違う角度での自分を演出できるのは,とても面白いことだと思います.
今の自分の周りの人たちとはまったく違うタイプの人たちと出会える可能性も
あるかもしれませんからね(まだ無いですが…).

というわけで,公開ブログとしての一般性も公共性もないですが,
今後も『素の Seaoak』をできるだけ出せればいいなと思います!

2005-03-14

文章の書き方

れぷとん先生の今週のテーマは『書くこと』
人に読んでもらうにはどんな文章を心がければいいか,というお話です.

結論(?)としては『どんな人が読むのかを想定しながら書きましょう』.
どんな人が自分の文章を読んでくれるのか,どんなことを期待して
自分の文章を読んでくれているのか,そこを意識しましょうということ.
たとえば,最先端の技術情報が欲しいのか,業界の裏話が聞きたいのか,
なつかしい昔話を楽しみたいのか,などなど考えられると思います.
プレゼンや論文でも同じことが言えると思いますが,いずれにしても,
いざ実践しようとするとなかなか難しいのではないでしょうか.

Seaoak はこのブログを始めたばかりです.気の向くままに書くばかりで,
どんな人が読んでくれるのかちゃんと考えて書くのはまだ難しいです.
# まぁ,そもそも読んでくれる人がいるかどうかもわかりませんけれども‥‥

こんなブログでも,しばらく書き続けていれば『型』ができるかもしれません.
それがいいことかどうかはわかりませんが,そんな頃に今日の記事を振り返って
『どんな人が読んでくれているのかなぁ…』と思えたらいいな,と思います.

まずは『まめに書く』ことから‥‥


p.s. 山本さんの書かれた『正確な文章の書き方』は参考になりました.

より以前の記事一覧