たつをの ChangeLog

29 件 見つかりました。

1 2 3 4 5 6 [ 次へ ]

手元でのちょっとした用途で類似テキスト検索をやりたいのですが、
Linux環境であれこれインストールしなくても動かせて、
気ままにカスタマイズできる気が利いたやつがなかったので、
改めて作ってみました。
過去に何度も書いたことのあるプログラムなので目新しさはありませんが。
(「車輪の再発明を気にしない」が私の行動指針です!)

simpii


私の母プログラミング言語(母語)である Perl で書いています。
標準ライブラリしか使っていないので、
Perl さえインストールすればどこでも動くはずです。

転置インデックス(+リランキング)用のスクリプトと、リランキングだけするスクリプトがあります。
リランキング時のスコア計算方法は README.md を参照されたし。

関連記事


素の cut (-c) と fold コマンドは UTF-8 の文字列に対して途中で切っちゃうこともあって文字化けして困る。cut と fold のUTF8対応版が欲しい。

流石にネットのどこかにあるだろうと思って探してみたんだけど、探し方が悪かったのかすぐには見つからず。3分くらいがんばって調べてみたけど、こりゃ作った方が早いな、ということで車輪の再発明

ざっくりと perl で書いています。

cut8 - UTF8対応cut

"-c" オプションのみ。
#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Long;
use open ':utf8';
binmode STDIN, ":utf8";
binmode STDOUT, ":utf8";

my $cps_str = ""; # character positions
GetOptions("c=s" => \$cps_str);

my @cps = sort {_toint($a) <=> _toint($b)} split(/,/, $cps_str);
sub _toint {$_[0] =~ /^(\d+)/; $1}

while (<>) {
    chomp;
    my @c = split(//, $_);
    foreach my $cp (@cps) {
	if ($cp =~ /^(\d+)-(\d+)$/) {
	    print map {defined $_ ? $_ : ""} @c[($1-1)..($2-1)];
	} else {
	    print $c[$cp-1]||"";
	}
    }
    print "\n";
}
echo "あいうえおかきくけこ" | cut8 -c 1-3,7-9
あいうきくけ

fold8 - UTF8対応fold

"-w" オプションのみ。
#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Long;
use open ':utf8';
binmode STDIN, ":utf8";
binmode STDOUT, ":utf8";

my $width = 80;
GetOptions("width=s" => \$width);

while (<>) {
    chomp;
    my $line = $_;
    if (length($line)) {
        while ($line =~ s/^(.{$width})//) {
            print "$1\n";
        }
        next if not length($line);
    }
    print "$line\n";
}
echo "あいうえおかきくけこ" | fold8 -w 4
あいうえ
おかきく
けこ

(追記190325: fold8 の空行が出ないバグを修正)

自分用メモ。

アマゾンのドメインのどんな画像URLでもそのままbufferで扱えるようにしたい。

うまく扱えない画像は以下のものがある。

  • 一部のバナー画像
  • URL に「+」が含まれている画像(主に書影)

いちいちローカルにdownloadしてからbufferにuploadするの面倒。

なので、それ用のミニマムなツールを作った。
結局、1ページのみのCMSみたいなものになった。
こういう件では、車輪の再発明は気にしない。
自分で作った方が速いし、細かい調整も楽だし。

  • 課題
    • アマゾンのURLをbuffer(の入力フォーム)に貼るとき、画像が取り込めないことがある
    • 画像URL (.../*.jpg など) を直接bufferに貼っても画像は取り込めない
    • なんとかしたい
  • 解決策
    • 誰でもアクセスできるページ(permalinkあり)を自由にHTML編集できる簡単で安全なCMS
    • imgタグで画像URLを貼り保存ののち、そのページのURLをbufferに入力
    • bufferに画像を取り込んだら用済み
  • 実装
    • 「TextAreaWiki」をベースに (ref. [2018-10-09-1])
    • Editor (CGI) でユーザがHTMLを編集する
    • Editor は「https + Basic認証」なところに置かれるので安全
    • Editor はpermalinkに対応するディレクトリにHTMLファイルを出力
    • キャッシュ対策で、permalink URLの末尾にUTCを足す (例:.../cms/?1234567890)
  • 実行画面キャプチャ
    • Editor (https://.../opc.cgi)
      OnePageCMS for buffer
    • 出力先 permalink (https://.../cms/?1234567890)
      OnePageCMS for buffer
    • permalink を buffer に貼った様子(画像を選択したのち、本命テキストに置き換える)
      opc to buffer
  • Tips


コマンドラインで簡単に Twitter を検索できるスクリプトが手元にあるのですが、それを整理して github で公開しました。
特に画期的なポイントはないし、車輪の再発明的なものではありますが、いつも便利に使っているので公開しとこうかなー、と。


実行例:
perl twigrep.pl -q '検索 Twitter API'
who_you_me_2012	2017-08-24 00:18:03	「API 変更」でTwitter検索かけるとやっぱりみんな混乱してるみたい
loftkun	2017-08-23 22:11:52	[夏研ブログ][不定期紹介] こんなブログ記事書いてます ツイキャスAPIを...
KoheiYamashita	2017-08-23 09:04:25	Twitterの公式って検索タブでジャンル的なカテゴリからツイート探せ...

トークンは自分で取得したのをご利用ください。

参考


「はてなブログ」を対象とした被ブクマ数トップ1000のランキングを公開。

「こういうの昔あったよねー」

と思いながら作りました。
温故知新、車輪の再発明、歴史はめぐる。

ランキングは毎日更新されます。


はてなブログ読者数ランキング」と同じく、ランキングの対象となっているはてなブログは「ここ数ヶ月にはてなブログ限定のホットエントリと新着エントリに登場したもの」の一部です。そのため最近更新がないメジャーなブログが抜け落ちています。そのうち対処します。

参考


1 2 3 4 5 6 [ 次へ ]

たつをの ChangeLog
Powered by chalow