perl一覧

重複した行を削除したい! 行の並べ替えをしない Perl スクリプト

同じ行の繰り返しが気になる

the rest of the family
(きみたちは──みんな違うからいいんだよ)

コマンドライン・シェル「NYAOS」のログなど、重複する行が いくつもあるファイルは、ものすご~~~く気になります。

いままでは、「そ~太」というツールを使っていました。ところが、「行を並べ替えてから、前後で同じ行を削除する」という仕様です。

名前のとおりで正しい。でも、モヤモヤが残る──。

もっと、こう、ドラッグ──────アンド・ドロップ的な手軽さで、気持ちよくスッキリしたいピー!(ピー?)

『ULTIMATE Perl』に答えあり

山ほどある「買ったけれど理解できなかったプログラミング本」を、なんとなく読み返してみる──。すると、水野 貴明氏の『ULTIMATE Perl』に、そのものずばりの答えが載っていました!

続きを読む


YouTube の「埋め込みコード」を Valid にする! HTML5 時代編

YouTube 動画の「埋め込みコード」

YouTube 動画の新旧「埋め込みコード」
リトルモンスターなら──貼らずには いられない)

YouTube で公開されている動画をブログで紹介したいぜ! ──ブロガ (Blog + er) なら、食欲と同じレベルで湧いてくる欲求ですよね。たぶん。

全ブロガの 98 割は、YouTube が提供する標準の「埋め込みコード」で満足することでしょう。「みんなと一緒」は、この国でも・あの国でも、絶対的な正義なのです。

ところが──、今も昔も、ゆーちゅーぶ先生が教えてくれるコードは、(X)HTML 的に・W3C 的に「よろしくない」。

そこで、以前は下の User Script を利用していました。これを GreasemonkeyScriptish などから使うと、Valid な HTML コードを出してくれます。

Valid YouTube Embed for Greasemonkey

しかし、現在のユーチューブは仕様が変更されました。

このスクリプトを使うには、わざわざ以前の埋め込みコードを使用するという項目にチェックを入れる必要があります。──この記事の上にある画像を参照してくださいね。

その上、ユーザ・スクリプトを利用しても、それほどクリーンなコードでもない……。

今回は、イイ感じに埋め込みコードを変更する方法──のヒントを紹介します。ちょっと歯切れが悪いのは、続きを読んでの お楽しみ……。

続きを読む


MTLoop 内で MTIf, MTUnless を使うと __value__ が異常になる

MTLoop の仕様に注意

Fruit Loop (by Thomas Hawk) (by Thomas Hawk)

タイトルの通りなのだが、「なんのこっちゃ」と思われるだろう。Movable Type というブログ・システムの話だが、少々マニアックな内容だ。

Movable Type: 世界標準の CMS プラットフォーム

実例を挙げる。そのほうが話が早い。

MT4.1x 以上で、下記ページのサンプルコードを適当なインデックス・テンプレートに張り付けて実行する。

MTLoop | テンプレートタグリファレンス

期待通りの結果(月の略称と名称が並んだリスト)が得られるはずだ。

さて、本題だ。上に挙げたサンプルに対して「8 月は除いて表示したい」と思ったとする。あなたなら、どう書く? ただし、<mt:loop> の内部のみを書き換える、というのが条件だ。

続きを読む


『独習 PHP』で勉強中

PHP 勉強中

『独習 PHP』で勉強中です(お前もか~、と言う人も多いのでは?)。

photo

独習PHP
山田 祥寛
翔泳社 2006-01-24
楽天ブックス: 独習PHP

PHPによるWebアプリケーションスーパーサンプル 活用編 MySQL入門以前 PHPによるWebアプリケーションスーパーサンプル 第2版 PHPサイバーテロの技法―攻撃と防御の実際 まるごとPHP!〈Vol.1〉

by G-Tools , 2008/01/30

きっかけは pha さん

きっかけは(もちろん)、この記事。

田口元の「ひとりで作るネットサービス」探訪:「圧縮新聞」「訃報ドットコム」始めて半年で数々のサービスを生み出す、自称"ニート"──phaさん – ITmedia Biz.ID

その後、id:pha さんの記事を読んで、(「うーん、さんぜんえん か……」)──す、すぐに『独習 PHP』を買いました。

全ての文系ブロガーはPHPをやるべき – phaのニート日記

続きを読む


KeyCached プラグインを Cache::FileCache で超高速化!

KeyCached プラグインを改造

KeyCached プラグインで再構築の高速化! : 亜細亜ノ蛾 で紹介した、KeyCached プラグインを愛用しています。

キャッシュを利用して再構築を高速化するプラグイン KeyCached – Open MagicVox.net

ちょっとコードを見てみると、このプラグインは、Perl モジュールの「Cache::File」を利用しています。

Cache::File – Filesystem based implementation of the Cache interface – search.cpan.org

──が、どうも、同じ用途で同じような名前の「Cache::FileCache」のほうが何倍も速い、という噂をよく聞きます。

Cache::FileCache — implements the Cache interface. – search.cpan.org

パッチを書いてみた

どちらもモジュールも、使い方はほとんど同じなので、ちゃちゃっとパッチを書いてみました。

KeyCached.diff.txt

元のプラグインファイルを「KeyCached.orig」にリネームし、パッチを当てると、Cache::FileCache 版の「KeyCached.pl」ができる、はず。

パッチの当て方は、下記を参照ください。

Windows環境で「ファイルにパッチ(patch)を当てる」 : 亜細亜ノ蛾

さて、Cache::FileCache 版の実力は?

(結論: 超超超~速くなった、けど……)

続きを読む


PositLog(ポジログ) 手書きもできる Web アプリ

PositLog(ポジログ)

とうとうここまで来たか、という凄すぎる Web アプリが登場しました。

PositLog [ポジログ]PositLog [ポジログ]

この、一件なんでもないような、まるで table レイアウトのような紹介ページも、「ポジログ」で作られています。

まず、文字が書いてない場所でマウスをドラッグすると、Adobe リーダで PDF ファイルを閲覧している時のように、ページ全体をドラッグできます。それと同時に、左下にある全体マップが動きます。全体マップの中でドラッグしても画面が動きます(Photoshop みたい)。巨大なページを作成しても、見通しが良さそう。

特徴
  1. 自由な配置
    • 文章や写真をページ上の好きな場所に置くことができる
    • ページの広さに制限なし
    • 地図サービスのようにドラッグしたり、全体地図の中から見たい場所をクリックして閲覧できる
    • ページ上の特定の位置に対してリンクを張ることができる
  2. ブラウザに手描き
    • 手描きの装飾や、絵、地図などをWebブラウザの画面に直接描き込むことができる
  3. オンライン編集
    • Web ブラウザ以外のツールは必要ない
    • ブラウザ上で編集し、すぐに結果が反映される
    • 画像やファイルをアップロードすることもできる
  4. グループ機能
    • グループで利用できる
    • ページごとに編集・閲覧権限の設定が可能
    • スプライト(ページ内に貼り付ける部品)には編集権限が設定されている
  5. そのほか
    • 追加のソフトウェアのインストールは不要
    • いわゆる Ajax 技術を使用している
    • プラグイン機能
      • 外部のコンテンツをスプライトに取り込むことができる
      • はてなダイアリーやはてなアンテナ、ココログなどのプラグインあり
      • 最新コンテンツをトップに表示するブログ風のプラグインあり

続きを読む


【宝の】Perl 本で勉強中【持ち腐れ】

Perl 本いろいろ

現在、自分こと asiamoth は Perl のお勉強中である──

──が、勉強法が如何に間違っているかをさらけ出そうかと。

で、最初に結論を言うならば、プログラミングを学ぶなら「本を読むのもいいが、まずは手を動かす(コードを書く)のが大事」なのだなぁ、と。

続きを読む


MT × 携帯電話、「MT4i」 の次期バージョン予告

MT4i Version 3.0 !!

MT4i という、Movable Type の記事を携帯電話から閲覧、それに編集も(!)できる CGI があります。現在、新バージョンの開発が進んでいるそうです。

現在、MT4i Version 3.0 の開発を黙々と続けております。(……)

3.0 についてネタばらしすると、目玉は HTML::Template 対応とキャッシュ機能の搭載になります。Template を使用して(比較的)楽にデザイン/レイアウトを変更できるようになり、キャッシュ機能により、DB へ負荷をかけずに、あるいは DB のレスポンスに引きずられないようになる…予定です(ぇ

HTML::Template の エラー検出オプション、”die_on_bad_params” (talk to oneself 2)

キャッシュ機能 キタ ━ (゚ ∀ ゚) ━ !!

MT4i は導入しているが

実は、このブログでもとっっっくに MT4i を導入しています。PC 版と同じ URL に(フルブラウザ非対応の)携帯電話でアクセスすると、携帯電話向けのページが表示されます。または、http://asiamoth.com/mt/i/ で携帯電話向けのトップページが表示されます。

──が、ご覧の通り、大々的には公表していません。何故かというと──うっかり携帯電話でのアクセス数が増えると、かなりサーバに負担がかかるからです。どうも、現在の MT4i は自分の環境(Xrea.com)ではかなり重い動作になっています。一日に数百のアクセスがあると、そのうちの一割は 500 エラーが出ている状態です。数日に一回は Googlebot-Mobile タソ がやってくるので、公表していなくても結局はエラー出まくりなのですが……。

かなり期待

それが、キャッシュ機能が付くことによって負担が軽減されるとうれしいです。──実は、自分で 現在の CGI を改変し、キャッシュ機能を付けようとしたのですが、うまく行きませんでした……。もうちょっと Perl の知識とセンスがあれば、軽く作れそうなのですが。

あと、MT でもお馴染みの HTML::Template を使ったテンプレート機能も期待です。

ref.: HTML::Template – CGI スクリプトから HTML テンプレートを使うための Perl モジュール


対SPAM最終兵器“Junk slowdown”!!

タイトルに偽りなし

今回紹介するSPAMコメント・トラックバックの対策方法は、“Junk slowdown”というスクリプトの導入です。

結論から先に言うと、自分がいろいろ試したSPAM対策の中で、一番効果があったのがこの方法です。

まずはその前に、従来のSPAM対策の説明、そして“Junk slowdown”導入方法、導入後の状況を書きます。

続きを読む


MT3.2にアップデート完了、プラグインも正常動作

[Movable Type – News – Announcing Movable Type 3.2](http://www.sixapart.com/movabletype/news/2005/08/movable_type_3_2.html “Movable Type – News – Announcing Movable Type 3.2”)
Powered by Movable Type 3.2
Movable Type3.2もベータが取れたので、アップデートしてみた。*どきどきしながら*。
以下、簡単にアップデート手順を説明します。

続きを読む