nDiki : プラグイン

プラグイン - plugin、plug-in

ホストソフトウェアに対して追加の機能を提供するプログラム。 インポータ/エクスポータなどを追加するのに良く用いられる。

一般的にエクステンションよりも、ホストソフトウェアとの境界が明確に分かれている。

Perlプラグインを作る

プラガブルモジュールを使う。

  • Module::Pluggable
  • Class::Component
  • Class::Pluggable
    • 比較的シンプル。プラグインモジュールでは @EXPORT_AS_PLUGIN を定義しておく必要がある。0.022 現在、指定したディレクトリ以下のプラグインモジュールをスキャンする機能などはない。
  • Hook::Modular
  • Class::Trigger

スポンサード リンク

2007年12月29日 (土)

Twitter ベイジアンフィルタプロキシ

Twitter で following が増えてくるにつれて、タイムラインに目を通すのが大変になってきた(という程きちんと見ている訳ではないが)。 さっとタイムラインをなめて面白そうな情報をピックアップしたい時は、「おはよう」とか「風呂入った」とか「トイレ」とかは除外して読みたい(そういう書き込み自体は嫌いじゃないのだが、人生はあまりにも短い)。

Twit や P3:PeraPeraPrv では NG ワード指定ができて、それらを含むステータスは表示しないようにできるのだが、Twitter の書き込みは揺らぎが激しすぎて指定しきれないという弱点がる。

ということでベイジアンフィルタでフィルタリングしてみることにした。

自前で Twitter クライアントを作る気はないので、proxy の形でさっと実装してみた。

 #!/usr/bin/perl

 use strict;
 use warnings;

 use HTTP::Proxy;
 use HTTP::Proxy::BodyFilter::complete;

 my $proxy = HTTP::Proxy->new(port => 8088);
 $proxy->push_filter(response => HTTP::Proxy::BodyFilter::complete->new,
                     mime     => 'application/xml');
 $proxy->push_filter(response => Bsfilter->new,
                     mime     => 'application/xml');
 $proxy->start;

 {

   package Bsfilter;

   use File::Temp qw/tempfile/;
   use XML::XPath;
   use base qw(HTTP::Proxy::BodyFilter);

   sub filter {
     my ($self, $dataref, $message, $protocol, $buffer) = @_;
     return unless defined($$dataref) && $$dataref ne '';
     eval {
       my $xml = XML::XPath->new(xml => $$dataref);
       my @nodes = $xml->findnodes('/statuses/status/text/text()');
       return unless @nodes;
       for my $node (@nodes) {
         my $text = $node->getNodeValue;
         if (is_NG($text)) {
           $node->setNodeValue("[NG] $text");
         }
       }
       $$dataref = qq(<?xml version="1.0" encoding="UTF-8"?>\n);
       $$dataref .= $xml->get_context->toString;
       utf8::encode($$dataref);
     };
     if ($@) {
       warn $@;
     }
   }

   sub will_modify { 1 }

   sub is_NG {
     my ($text) = @_;

     my ($fh, $filename) = tempfile();
     utf8::encode($text);
     print $fh $text;
     close($fh);
     my $result
       = system(
       "bsfilter --homedir ~/.twitter-bsfilter --ignore-header --auto-update $filename"
       );
     unlink($filename);

     return !$result;
   }
 }

HTTP proxy の作成

PerlHTTP proxy を作ろうとして真っ先に思い浮かんだのは POE だけれど、ちょっとヘビーなので今回は HTTP::Proxy をチョイス。 もともとフィルタリング HTTP proxy を作ることを念頭に置いた Perl モジュールなので今回の目的にぴったり。

1つはまった点といえば、filter の呼び出しがレスポンス全てを取得してからではなく一部分ずつの呼び出しになるところ。その仕様に気がつくのにちょっと時間がかかってしまった。 例えば XML 形式のレスポンスをフィルタしようとしても、普通に HTTP::Proxy を使うと XML の一部ずつがフィルタに渡されるため、XML のパースがうまくいかない。

これについては HTTP::Proxy::BodyFilter::complete を使うことで、まとめてフィルタに渡せるようになった。

レスポンスの処理

Twitter のタイムライン取得については P3:PeraPeraPrvXML 形式で取得しているので、そのタイプのレスポンスをフィルタするようにした。

XML::XPath でステータス部分を抜き出して NG 判定し、NG であれば先頭に [NG] を追加する。 これで Twitter クライアント側で [NG] を NG ワード指定すれば、表示されないようにすることができる。

bsfilter による NG 判定

NG 判定は普段メールspam フィルタとして使っている bsfilter を使った。 単純に system 関数で呼び出して結果を取得するだけ。

今回は対象がメールではないので --ignore-header を指定。また自動的に学習するように --auto-update を指定。 それと普段メールのフィルタリングに使っているのとは bsfilterデータベースを別にしたいので、--homedir も指定しておく。

NG と非 NG の学習。

NG ワードを twitter-NG.txt に、非 NG ワードを twitter-clean.txt に書いて以下のコマンドを実行。

 bsfilter --add-clean --ignore-header --homedir ~/.twitter-bsfilter twitter-clean.txt
 bsfilter --add-spam --ignore-header --homedir ~/.twitter-bsfilter twitter-NG.txt
 bsfilter --update --homedir ~/.twitter-bsfilter

自分の環境 (Debian GNU/Linux sid)では、UTF-8 で書いておいて問題なかった。

フィルタリングしてみる

あとは先の proxy を起動し、P3:PeraPeraPrv でプロキシとして localhost:8088 を指定すれば OK。

タイムラインを取得するたびに bsfilter が動いて NG なステータスには [NG] が挿入される。

フィルタリングの精度

これについては、まだまだチューンの必要ありかな。

  • 事前の学習データが少ない。
  • --auto-update していることもあり、最初に NG 判定が多いとそちら側に強化されすぎる。
  • 毎回 bsfilter を呼んでいるため、同じステータスが何度も学習される。

まだ使える精度まで上がってないけれど、教師データを増やせばそれなりにいけるかもしれない。

proxy の枠組ができたので、(@~は抜いてから bsfilter に渡すとか、前後の文脈も含めるとか)いろいろ試して遊べそうではある。 別に bsfilter にこだわらず、正規表現による判定などをしてもよいし。

この辺り P3 は Java で書かれているので、プラグインを書いて拡張できるよう将来になると面白いなと思ってみたり。

スポンサード リンク
[ 12月29日全て ]

2008年12月25日 (木)

PlaggerTwitter のあれこれをメールで通知

Twitter 上で要チェックなポストは、今年の4月から MAILPIAケータイメール通知するようにしていた(記事)のだが、最近メールが届かなくなってしまった。 フィードを変更してみたりメールアドレスを変えてみたりしたが駄目。 他に良さそうなフィードメール通知サービスが無さそうだったので Plagger を使うことにした。

Plagger は以前途中までインストールしようと思ったのだが、依存 Perl モジュールが多くて途中でやめてしまった。 今回は目的があってインストールするので、頑張ってインストールした。

インストールするホストに libxml2 と OpenSSL が無くて必須モジュールが入らなかったので、これを別途インストールPlaggerSubversion リポジトリの trunk をチェックアウトしてインストール。 依存 Perl モジュールCPAN から。

ケータイ向けにテキスト形式のメールを送る Publish プラグインWeb で見つけたものを流用。まずは以下の3つレシピcron で 10分毎に実行するように設定した。 メールは基本的に Gmail アカウントに送ってフィルタでケータイに転送。 うまくいっている感じ。

Twitter リプライをメールで通知

PlaggerTwitter にログインして replies API にアクセスするようにもできるけれどパスワードを書いておきたくないので、先月作成した CGI スクリプト(記事)経由で取得することにした。

  [Twitter]
    ↑
  [replies.atom さらし CGI スクリプト]
    ↑
  [Plagger (cron で 10分毎)]
    ↓
  [Gmail]
    ↓
  [ケータイ]

指定した Twitter-ers のポストのメール通知

Plagger で直接各 Twitter-ers のフィードを取ってこれるけれど、10分毎にアクセスするほどでもないので、Google リーダーTwitter-ers のフィードをフェッチさせてタグでたばねて公開したフィード経由で取得することにした。

Plaggerレシピをいじらないで Google リーダー上で Twitter-ers を追加・削除でき、Google リーダーでもポストを読めるというのが利点。 ポストが少ない Twitter-er のフィードは Google リーダーが巡回頻度を下げるのでタイムラグが大きくなることがあるのが欠点。

 [Twitter]
   ↑
 [Google リーダー]  ← [Web ブラウザ (設定・チェック)]
   ↑
 [Plagger (cron で 10分毎)]
   ↓
 [Gmail]
   ↓
 [ケータイ]

twitter検索結果をケータイにプッシュ

外出先などで、居場所やイベントの情報を Twitter でチェックしたい時がある(役に立つかどうかは別として)。 ケータイから定期的に検索かけるなんてありえないので、メールでプッシュしておいて(気がむけば)読むぐらいにしておきたい。 キーワードの設定・管理については、操作・サーバ実装とも楽したい。

Twitter 関連ということで頻繁にケータイでアクセスして画面に出ている MovaTwitter を活用したい。 ということで MovaTwitter のクリボーに「アクセス keyword」と書くことで検索キーワードを指定できるように組んでみた。

 [MovaTwitter クリボー] ← [ケータイ (キーワード書き込み)]
   ↑
   ↑ クリボーのフィードを読んでキーワードを取得
   ↑
 [CGI スクリプト] → [twitter検索]
   ↑
 [Plagger (cron で 10分毎)]
   ↓
 [Gmail]
   ↓
 [ケータイ]

いまさらだけれど、Plagger 便利だな。 とっかかり(インストールと概要理解)がちょっと難しいけれど、それを乗り越えてしまえば Perl なんでどうとでもなるという感じ。

[ 12月25日全て ]

2010年8月30日 (月)

今日のさえずり: ユーザが一部の機能しか使っていないという話

naney:4948620108

2010年08月30日

[ 8月30日全て ]

2011年3月1日 (火)

Notepad++perltidy する

やっぱり Perl スクリプトは perltidy をかけておかないと気持ち悪いよね。 Emacs からは perltidy を呼べるように設定済み

基本 Perl スクリプトを書く時は Emacs なのだが、Windows 上でさくっと書く時もある。最近は Windows 上のテキストエディタNotepad++ を使っているので、同様に Notepad++ からも呼べるように設定しておこう。

以下 Notepad++ v5.8.7 (UNICODE)、[全般設定] で言語に日本語を指定してある状態での設定手順。PerlStrawberry Perl で cpanm が入った状態。

perltidyインストール

以下のコマンドで perltidyインストールする。

 cpanm Perl::Tidy

NppExec v0.4.1 をインストール

Notepad++ v5.8.7 に 外部コマンドを実行する NppExec プラグインが入っていなかったのでインストール

NppExec_041_dll_Unicode.zip をダウンロードしてきて展開し c:\Program Files\Notepad++\plugins に NppExec.dll をコピーする。

Notepad++ から perltidy を呼び出せるようにする

Notepad++ を起動し以下の設定を行う。途中 Notepad を再起動するように指定されたら指示に従って起動しなおす。

perltidy 呼び出しを定義
 c:\strawberry\perl\bin\wperl.exe -x -S perltidy --quiet --preserve-line-endings --backup-and-modify-in-place "$(FULL_CURRENT_PATH)"
  1. [プラグイン]-[NppExec]-[Execute]。
  2. 開いたダイアログの Command(s): に上記コマンドを入力。
  3. [Save] ボタンを押す。
  4. Script name: に perltidy と入力して [Save] ボタン。
  5. もう1回 [Save] を押してダイアログを閉じる。
[マクロ] メニューに登録する
  1. [プラグイン]-[NppExec]-[Advancecd Options]。
  2. 開いたダイアログの Item name: に perltidy と入力。
  3. Associated script: で perltidy を選択。
  4. [Add/Modify] を押す。Menu items に perltidy :: perltidy が追加される。
  5. [Place to Macros submenu] にチェック。

これで [マクロ]-[perltidy] と指定できるようになる。

.perltidyrc を置く

お気に入りの .perltidyrc (perltidy.ini でも OK)を

 perltidy -dpro

で表示されるディレクトリのどこかに置くか、置き場所を PERLTIDY 環境変数に設定しておくか、コマンドラインオプションに -pro=filename という形で指定しておく。

Naney の .perltidyrc はこんな感じ

実行する

適当に Perl スクリプトファイルを開いて [マクロ]-[perltidy] を実行。ウィンドウの下部に Console 出力が表示される。 処理が終わったら [ファイル]-[開き直す]をすると整形された Perl スクリプトが表示される。

上記の手順を Notepad++ マクロ化しようとしたんだけれど、これは失敗。

[ 3月1日全て ]

2012年4月3日 (火)

Twitter から Facebookmixi への連携止めた

Twitter から Facebookmixi に Tweet を流すことの是非には各人主張があろうと思うが、個人的にはアリである。で自分も連携設定していたのだけれど、ここ数日 Facebook への連携が何度か止まってしまうことがあった。ということでこの機会に投稿連携はやめて、必要に応じてマルチポストするように変えることにした。

PC からの投稿

ここ最近は Google Chrome 拡張の Taberareloo で TwitterGoogle+ に投稿して、Twitter から Facebookmixi に流れるようにしていた。

これを TwitterFacebookmixi にマルチポスト対応している HootSuite を使うように変更。Google+ は……まいっか。

HootSuite の1つ嫌なところは URL短縮サービスが ow.ly になってしまうところ。 まあ URL を共有する際には Facebook では近況アップデートURL を貼るとか、mixi ではmixiチェックを使うとかが正統なので、Twitter 含め個別にポストするとしよう。

Android からの投稿

今までは twicca + TwiccaPlusPlugin で TwitterGoogle+ に投稿して後は連携で。

最初は HootSuiteTwitter + Facebook マルチポストにしようと思ったのだけれど、mixi には対応していないので Feel on! for Twitter にしてみることにした。TwitterFacebookmixi にマルチポスト可能なことに加え twicca プラグイン対応していて TwiccaPlusPlugin を使って Google+ 投稿も直接でないけれどできたりする。投稿は Feel on! でしばらくしてみるつもり。

閲覧は Twitter は twicca で、FacebookHootSuite で(AndroidFacebook は閲覧には使い物にならない)、mixi は公式アプリで。

写真投稿

今までは Android 端末から Flickr にメールアップロードし、 Flickr2TwitterTwitter へ自動的に URL 投稿するという流れと、Flickr から Facebook への連携で投稿されるという流れ。

Flickr への投稿は維持したいので前者は今まで通りかな。後者は最近流れなくなっていたのでこれを機に連携を解除。連携経由で投稿したものは、Facebook で直接投稿したものに比べて表現がしょぼいし。当面は AndroidFacebook から直接投稿するかなという感じ。可能であればここを同時にやれるようにしたいところ 。

今日のさえずり: 早期帰宅する人を見送ると沖田十三の気分が味わえます

naney:7042277569

2012年04月03日

[ 4月3日全て ]

2012年4月26日 (木)

今日のさえずり: 「イイネ!」と書くか「いいね!」と書くかで忠誠心をはかるゲーム

2012年04月26日

  • 07:06 寝ている間に4アカウント Google ドライブがアクティベートされた。
  • 09:59 ちょっと風強い? (@ 株式会社ミクシィ (mixi, Inc.) w/ @lapis25) http://t.co/GkUNLjW7
  • 10:45 プロジェクト名・タスク名の最後に「ゲーム」をつけてみる。というゲーム
  • 10:54 Yahoo! のリアルタイム検索で ShootingStar 検索すると酷いことになってる。
  • 11:14 「イイネ!」と書くか「いいね!」と書くかで忠誠心をはかるゲーム
  • 11:30 RT @NAVER_LINE: 【リリース】お待たせしました!LINE公式カメラアプリ「LINE camera」のiPhone版を公開しました!スタンプの人気キャラで写真をデコってお楽しみください♪ http://t.co/Sgm5JePi #LINEcamera #LINE
  • 11:38 RT @kazeburo: +1 RT @Naney: 「イイネ!」と書くか「いいね!」と書くかで忠誠心をはかるゲーム
  • 12:56 bash-completion で Git ブランチ名とかタグ名とか補完効くの忘れてつい全部打ってる。
  • 12:57 RT @py0n: 「イイネ!」ボタンじゃなくて「Shine」ボタンが欲しい。「死ね」と読むか「輝く」と読むか。
  • 13:00 渋谷ヒカリエの重力に魂を引かれた人々。
  • 13:21 ShootingStar インストールしてから、アプリ名の意味に気付いた。廃人じゃなくて良かった。
  • 13:24 よくわからないけど ShootingStar Lv.2 にいきなりなった。
  • 13:42 @yaizawa それはそれで廃人ですね。
  • 15:19 @yaizawa 検索してなるほどと思ったパンピーでございます。
  • 19:07 git diff <since>..<until> --stat -- <path>
  • 19:07 git log <since>..<until> --stat -- <path>
  • 19:56 今度バンナイズ渋谷店行ってみる。っていうか今月は27日と28日しか営業してないとかすごいな。
  • 20:20 退勤。いっぱいゲームクリアした。
  • 20:29 ShootingStar の操作割り当てが前衛的すぎるので若干変更した。
  • 20:36 RT @nissen: 今まで比較的まともだったニッセンのmixiページhttp://t.co/rS1bvNGa )、担当者の料理対決という世にもふしぎなコンテンツを公開中です。ぼくも「豚肉とマッシュルームのカレー ~見えない明日を探して~」という料理で参戦してますの ...
  • 20:51 ShootingStar は twicca プラグインとインテント対応があればいいね。つまり Read It Later したい。
  • 22:21 明日バンナイズ渋谷店行ってみよう。とりあえず欲しいもの候補はデスクオントレー/Mサイズ VA461。バッグ系はジャストミートっていうのが無さそげなので、あとは小物系とかかな。
  • 22:27 おもいっきり通勤路の途中じゃん。
  • 25:10 データはデータだよ。
[ 4月26日全て ]

2013年2月3日 (日)

nDikiサイドバー無くした

nDiki(この Web 日記)では長らく右にサイドバーのある2列レイアウトにしていたんだけれど、昔みたいな「ブログパーツ!」みたいな時代でもとうに無くなっているし、簡単な自己紹介と直近の Tweets を載せているぐらいだったので、バスッと消すことにした。

時代はスマートフォンだしね(スマートフォン向けにまでは CSS 修正していないから、まだまだ最適化されていないけど)。

あと昔貼った Facebook ソーシャルプラグインの挙動が変になってきたので、HTML5 用の新しいのに変えた。多少ましになったかな。

時代とともに仕様もデバイスもトレンドも変わっていってしまうから、長く継続していくにシンプルにしてメンテナンスコストを抑えよう。

今日のさえずり: 「80歳の頃が懐かしい。」

2013年02月03日

  • 08:02 業界が 恵まれたいのよ 恵方巻
  • 08:32 ドキドキはちょい時差で観ます。
  • 09:19 ドキドキ!プリキュア、王道感あって良かった。
  • 09:42 @maru_kei L2TP/IPsec って自分は使うかなーと思って調べたら、スマートフォンからの VPN 接続で使うというシチュエーションがありますね。
  • 09:52 RT @maru_kei: @Naney NEC、コンシューマー用ルータでl2tp/ipsecに対応すると言って随分経つけど、いつまでも製品が出ないので買い換えられないです。
  • 11:11 レンジフードのフィルター交換。2カ月に1度はがっつり拭いた方が良さそげ。
  • 12:12 豆まいた。
  • 12:52 先週に引き続き、ふさかけ設置。
  • 12:52 洗面所のフィルターも交換。
  • 14:07 おしゃれキャット観る。マリーのやつ。 http://t.co/agxSg1Pq
  • 14:10 「80歳の頃が懐かしい。」
  • 15:45 マリーの映画、ジャズ映画だった。
  • 15:48 閉店間際の恵方巻投げ売りに期待が高まる。
  • 19:14 昨日の陽気で花粉本気出しましたね?
  • 23:06 昔貼った Facebook ソーシャルプラグインの挙動が変になってきたので、HTML5 用の新しいのに変えた。
[ 2月3日全て ]

2015年3月13日 (金)

今日のさえずり: 「外道達のララバイ」

2015年03月13日

[ 3月13日全て ]

2015年8月3日 (月)

Lightning Talk for Over 18 #0 (LTO18 #0)

image:https://www.naney.org/nDiki/2015/08/03/LTO18.png

「18歳以上向けの情報共有のための社交場」、Over 18(18歳以上)向けの LT イベント「Lightning Talk for Over 18 #0」がいい感じの人数感なので参加してみました。考えてみるとエロテーマな勉強会/トークイベントは 「GXEB #3『ヒトはどこまでイケルのか』」以来かも。

「日本の出会いが歩んできた道、そして今」 Takuya Iwamoto 氏

日本の出会い系の歴史を真面目に解説してくれたトークです。これはコミュニティサイト運営者としては、ぜひ新卒研修でやっていただきたいと思える良いトークでした(最後のエロデバイスの昨今の話はおいておくとして)。

「商業作品内におけるトランス状態の重要性」 ブラックキャット氏

ご本人が目の前にいながらにして、事前に録音されたなんともいえない語り口のトークを再生したのをみんながじっと聞くという新感覚トーク。話題が催眠的なものなので、気をつけないとやられてしまうのではという「このまま聞き続けるの怖い」感じさせる緊張感のあるトークでした。子供の頃に家の電話から説法ダイヤルにかけて和尚さんのテープを聞いたのを思い出しました。

内容的には変性意識についての初歩の話。あらためてちょっと調べてみたいと思います。

「ホール素子を使って紳士的なデバイスを作ってみた」 shima 氏

「ホール」というのでてっきりあのホールかと思いましたが、普通に「ホール素子」でした。抱きまくらの話前座で後半のおっぱい入力デバイス開発がメイン。おっぱいにかける並々ならぬ情熱に涙無しにはきけませんでした。

「Porn Reward のチカラ」 kuniwak 氏

これぞまさに LT (lightning talk) という感じのすっきりとした、それでいて今回のテーマをきちんとくんだ良いトークでありました。トークで紹介されていた Naked Password という「設定しようとしているパスワードの強度に応じてドット絵が脱いでいく」 jQuery プラグインは、なかなか良いパスワードを設定してもらえないサービス事業者の悩みに対する救世主のように感じられました。

終わって

今回は #0 ということでテーマがバラエティに富んだ会でした。エロ・風俗満載だった GXEB からするとぜんぜんエロくなくて、これなら O18 限定じゃなくてもいけそうな感じ。ぜひ次回はもっと突き抜けたトークが揃うのを期待したいです。

運営の @kiy0p0n 氏 @orga_chem 氏 @shakuji 氏ありがとうございました。

(画像http://connpass.com/event/17686/ より。)

[ 8月3日全て ]

2016年11月7日 (月)

テキストファイル todo.txt でのタスク管理

先週の金曜日からテキストファイル todo.txt でタスク管理をするアプリを試してみています。

1行に1タスクを書くシンプルな todo.txt フォーマットが定義されており、それら対応した Todo.txt CLI やスマートフォン向けアプリ、デスクトップアプリ、エディタプラグインなどがいろいろ作られています。

これらを使ってタスクを追加・編集していきます。もちろんテキストエディタで簡単に追加・編集できます。Dropbox を使うことで複数のデバイスでも問題なく運用できます。

アプリ

まずは以下のアプリは使うことにしました。

  • Mac
    • TodoTxtMac
      • 複数のファイルをそれぞれ別ウインドウで開けます。
      • 残念ながら日本語入力と相性が悪く、実質テキスト入力はできません。
      • インクリメンタル検索で絞り込みができるけれど AND 検索はできない模様。
  • EmacsiA Writer・Atom
    • ファイルに変更があるとすぐに再読み込みしてくれるので、他のアプリとの併用に便利。
  • Android
    • Simpletask
      • UI はシンプルですが使い勝手は良いです。同時に1つしかファイルは開けません。
  • iOS
    • SwiftoDo
    • Simpletask ほどではないけれどまずまず使えそう。

サブタスク

仕様上サブタスクという概念はありません。「+プロジェクト名」という記法でタスクをタグ付けできるのですが、これだけだと見にくいので

 # プロジェクト名 h:1
 (A) タスク1 +project1 @office
 (B) タスク2 +project1 @home

のように書いてみています。「h:数字」は hidden を表す key:value で、各アプリはこれが書かれたタスク(行)を隠すことができます。一方 Markdown 対応テキストエディタで見出し扱いにしてくれるので視認性が良くなります。

雑感

コンテキスト(@文字列)やプロジェクト(+文字列)をタスク文中に埋め込める点、そしてそれらが空白は許さないことから WikiForum に書き込んでいるような感じがしました。

いわゆる開始日指定にあたる threshold や繰り返しのための rec などが指定できるため一通りのことはできそうです。 Remember The Milk から一部タスクを移して運用してみます。

[ 11月7日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィでマネージャー・PO をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

follow us in feedly

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.164337s / load averages: 2.44, 1.61, 1.15
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker