「CSV」を含む日記 RSS

はてなキーワード: CSVとは

2012-01-07

事務職リーマンwebサービス作ってみた

Webシステムとは縁遠い事務職のリーマンが、ある日思い立って、ニッチな用途の検索エンジンサービス作ってみたので、ちょっと書いてみようと思います

ちなみに、検索エンジンといっても、googleカスタム検索とかのお茶濁し系じゃなくて、apache Solrというオープンソース検索エンジンを、VPS上で動かしているという、それなりに本

気度の高いものです。

なんで素人がそんな物騒なものを動かす羽目になったかは、後述。



アイデアときっかけ

やりたい構想みたいなことを思いついたのは、もう6、7年前ほど前のこと。初めて独り暮らしを始めたときに、ひどく不便を感じたことがあり、こんなサービスがあったら便利だなあ、

と、ぼんやり妄想していました。

ちなみにその妄想をふと高校の同期に話したとき、そのサービスはどこにあるのか?!と、えらくがっつかれたのを、覚えてます。まあ、俺と同じく偏執狂の奴だったからだと思います

が。

ただ、しがない事務職リーマンということもあり、当然、技術も無く、そのときは、やるならこんな名前サービス名だろうなあ、とか、そんな妄想レベルで、話は終わっていました。

そんな感じで、5年ほど月日は経ち、なんとなくリーマン人生の流れも見えてきたところで、以前、妄想していたことを、ふと思い出しました。

5年も経ったら、さすがに自分が考えたようなこと、誰かがやっているだろうと調べてみたところ、意外なことに、競合になるようなサービス存在せず。ちょうど異動があって、少し時

間が出来たこともあり、じゃあ、着手してみようかと思い立ちました。



やりたいことは非常に面倒だった

やりたいことは、大手サイト情報検索。ただ、商品ページ内の特定情報、それも、商品ごとに正規化されていない表記を、正規化して抽出する必要があったので、大手サイトの既設API

だけではとても実現不可能でした。

まあ、だからこそ、5年間、誰もやろうとしなかったんでしょうが

ということで、とても一発では解決できなさそうな内容だったので、自分でなんとか実現できそうな機能に細分化して、各個撃破していくことにしました。



面倒なサービスをどう実現するか

随分と考えた結果、

以上に区分できると考えて、これらを各個撃破していくこととしました。

また、技術もなく、プログラミングも出来ず、ましてやlinuxサーバのお守りをしたことなんて当然ないので、インターネット上に置くサーバですべての処理を完結させるのではなく、イ

ンターネット上に置くリソースは最小限に留め、できる限り、勝手がわかる自宅のwindowsパソコンで処理を行うことにしました。

ちなみにさらっと結論だけ書いてますが、ここまで至るまでに、いろいろと調べ続たり、考え込んだりしていたので、思い立ってから3ヵ月は掛かってます。。。



検索エンジン周りの開発

さて、やる方針を決めたあと、はじめに着手したのは、要の検索エンジンサーバです。

いろいろとググって調べて、mySQLというやつか、apache Solrというやつかに絞りましたが、結局、Solrを使うことにしました。

MySQLのほうが実績は多そうだったのですが、Solrのほうが検索専門で、滅茶苦茶動作が速いらしいということ、MySQLでも出来るが特に速度が遅いらしい全文検索機能も使いたかったこ

と、あとファセット機能ジャンル絞りこみに便利に使えそうだったので、というのが理由です。

ちょうどSolr本が発売されていたこともあり、それを参考に、自分が使うように設定ファイルを変更していきました。

しかし、初めは設定ファイルの内容も意味不明な上に、私の書き方も雑なのか、少しいじっただけでまったく動かなくなる。結局、設定ファイルを一文字ずつ変更しては動作検証、とい

った始末で、進捗は地を這うよう。ある程度思い通りにSolrを扱えるようになるまで、3ヵ月以上掛かったでしょうか。。。

さらに、検索エンジンフロントエンドSolr検索結果を、htmlに変換するプログラム)も書かなければならない。プログラミングが出来ない人間には、これが本当に辛かった。

Solr本に、いろんなプログラミング言語でサンプルがあったのですが、迷った末に、わずか数行なら書いた(≒コピペした)経験があるという理由で、javascriptを苦渋の選択。

しかし、選択はしてみたが、基礎が本当に無いから内容がサッパリ頭に入ってこない。こちらも、わかるところから本当に1文字ずつ変えていくといった手探り状態。

プログラミングについては、今回のためだけだから、といった理由で、一切基礎をやらずに着手したのが裏目に出たのか、サンプルのソースをモノにして、書き上げるのに、ゆうに半年

以上。本当に時間が掛かりました。



kanzen21.comに衝撃を受ける

さらに、Solr周りで計9ヶ月間ハマっていた頃、忘れもしない、kanzen21のおっさん彗星のように現れて、衝撃を受けることになります

大手サイトのページをクロールして検索エンジンを作る手法は、私と考えていた構想の枠組みとまさに「完全に一致」な訳で。。。

図書館事件に注目していたのも同じで、あまりの一致具合に衝撃を受けっぱなしでした。

その後の成り行き等も含めて、興味深く観察させて頂き、本当に参考になりました。



クローラ周りとかの開発

そんな感じで紆余曲折もありましたが、ようやく難題だった、プログラミング関連に目処が立ってきたので、あとはクローラと肝心のデータ処理です。ここからは、勝手知ったるwindows

の領域なので、多少の安心感があります

まず、クローラですが、専用のクローラwindows用に探してきたり、それを設定するのも大変なので、今回はテレホーダイ時代に使っていたような、フリーweb巡回ソフトを利用する

こととしました。指定のhtmlダウンロードしてくるだけなので、別に変に新しいものに手を出す必要もないので。

また、ダウンロードしてきたhtmlファイルについては、これまたフリー日本語処理ツールでcsv方式に加工することにして、処理ルール部分を相当に作り込みました。

このあたりは、全体を通して見てもキモの部分なんですが、ある意味ちょっとしたパズル感覚だったので、プログラミング言語の部分と違って、かなり楽しかったです。

あとは、msdosバッチファイル(これは前から知っていた)で、これらの処理を繋ぎcygwincurlかいうツールで、連続して検索エンジンサーバcsvファイルアップロードする

仕組みを作りました

検索エンジンサーバには、容量は少ないが、安くて高性能という、今回の用途にピッタリだった、さくらVPSを借りて設定。CentOSサーバ構築ホームページを見ながら、サーバとか

Solr管理URLとかにセキュリティを掛けて、こちらも素人ながら、意外とすんなり設定。

ホームページは、vpsサーバ相乗りさせるのではなく、別にさくらレンタルサーバを借りました。apacheの設定方法等を習得する必要がありませんし、vpsリソースapacheと分け

合う必要が無くなるので。ホームページhtmlファイルcssファイル等も調べながら設定し、画像も準備しました。

あと、構想を思いついたとき妄想していたサービス名の.comドメインは、すでに他者に取得されていたのですが、どうも使っている風にも見えなかったので、whoisで出てきたメール

ドレスに連絡して交渉し、幾ばくか払って買い取りました。



ようやく完成

結局、足かけ18か月。ようやく完成。



楽天市場家具を、幅x奥行x高さ(家具サイズ)で検索できる、楽天市場家具カテゴリ専門の検索エンジン

カグサイズ検索

http://kagusize.com



この商品数規模(データ収録約30万アイテム)で、1センチ単位家具サイズ指定検索が可能な手段は、商用サービスも含めて、ほかには存在しないと思います

kanzen21と違って、エロじゃないから華はないけどね。。。




カグサイズ検索提供する価値について

ちなみに冒頭で少し書いたきっかけですが、就職して独り暮らしを開始したときに、新しい家にピッタリサイズ家具が欲しかったのですが、これが楽天で探すのは至難の技でして。

楽天家具を探してみようと思った人には判っていただけると思うのですが、楽天では、価格では範囲指定やソートができても、サイズでは検索出来ないんです。

これは、楽天では、商品のサイズ情報は商品の自由記述欄に記載することになっているためで、商品ごとにサイズの記載方法がバラバラのため、検索事実上、不能となっています

家電製品とかに関しては、種類が少ないこともあり、メーカーホームページとかでサイズを確認した上で、商品型番で検索すればいいので、それほど問題にはならないのですが、家具

って、種類が非常に多く、型番もあったり無かったりで、家電のようにサイズを調べることができません。

しかも、サイズが非常に重要な商品です。なんて不便な!


・・・ということで、カグサイズでは、楽天の商品ページにいろいろな書式で書かれているサイズ情報を拾って解析して正規化し、範囲指定やソートして検索ができるようにしています

また、単に寸法サイズを拾うだけでは、梱包サイズとか引き出し内寸とかも引っ掛かってしまうので、それらは出来るだけ排除して、商品の外寸が優先して引っ掛かるよう、アルゴリズ

ムを調整しています

単位センチミリ)に関しても、商品ごとにバラバラ(単に単位だけでなく、商品説明のどこに"センチ"とか"ミリ"と記載しているかについてもバラバラです。)なので、サイズ表記

前後の状況をみて、正しいと思われる単位で拾うようにしています




その他

あと、変わった使い方としては、欲しい家具価格比較みたいなこともできます

家具は、同じ商品でも、店ごとに型番が違ったりすることがよくあり、簡単には価格比較が行いづらいジャンルの商品です。

しかし、型番は違っても、同じ商品なら原則、サイズは同じですから、欲しい商品とまったく同じサイズ検索をかけると、同等商品があるのかどうか比較しやすい・・・といった使い

方もできます


おわりに

と、そんな感じで、しがない事務職リーマン作ってみたニッチな用途の検索webサービスを、サービスインさせて頂きました。

一般に公開されていて、誰でもアクセスできる情報でも、ニーズが有りそうな切り口の条件で検索性を高めれば、新しい価値創造できるんじゃないかという実験です。

もしよろしければ、ぜひ、使ってみてくださいー。それでは!

----------

カグサイズ検索

http://kagusize.com


追記

アップ直前の変更により、最大サイズの指定がうまく働かなくなっていたため、修正をしました。ご指摘有難うございました。

2011-12-18

真のプログラマーHTMLの生成にExcelテキストエディタも使わない

http://webrocketsmagazine.com/entry/20111209/html-code-generation-using-excel.html

http://mattn.kaoriya.net/software/vim/20111215034338.htm

http://d.hatena.ne.jp/takuya_1st/20111217/1324105198

真のプログラマーなら単純なHTML生成するのにテキストエディタは使わないよ。単純なHTML生成が必要なプログラマーなら、プログラムでやるでしょ。いちいちプログラムを書くのがだるい?いやいや、単純なHTMLの生成が必要なプログラマーなら、リストやディクショナリといった汎用的なデータ構造CSVファイルといった汎用的な形式のファイルから自動的にHTMLを出力するライブラリぐらい書いてるでしょ。わざわざ同じ作業をやるなんてめんどくさい。それにそのプログラムは他でも使うことができるしね。しかPythonRubyならほぼシェル感覚で使える。わざわざテキストエディタを使って同じ作業をする必要性はないね。真のプログラマーなら単純なHTMLの生成はプログラムでやるでしょ。プログラマーなんだから

2011-09-16

あなたの目の前にはインストール直後のWindowsXPマシンがあります

それを使って10レコードあるCSVファイルソートする必要があります

どうしたら良いでしょうか……





他に思いつかなくてJavascriptWSH向けのソートするプログラム書いた。他にどんなやり方あるのかな。

2011-07-06

最近よく使う英単語勉強ツールまとめ

パソコンの前でPSSいわゆるゴッド)をやる時間を確保しにくくなった自分のやり方メモ

勉強の場は電車の中やらその辺。下準備はPC上で行う。

■Super英単語30000を中心にしたもの

・Super英単語30000(iPoneアプリ)

の一日分のテストで瞬間的に意味がでてこなかったものtxtに書き出し、ある程度量がたまったら

自分場合10日分ぐらい)

・apsse(PSS問題作成補助ソフト)

に覚えられない単語を突っ込んで問題ファイル(.csv)を生成。

単語の羅列だけいれても、和訳までちゃんとついてcsvファイルになる。

・i暗記(iPoneアプリ

インポートし、好きなモードで覚える。

ここは問題の共有ができるけれど、apsseで作成した問題を再配布するのは禁止されてるから注意。

再度Super英単語30000でテスト

あとは忘却曲線理論とか思い出しつつ適宜復習。

復習時は最初に作ったi暗記用の「初期の自分がわからなかった単語カード」が結構役に立つ。

Super英単語のいいところは、クリアした章でもすぐに初期化して最初からテストできること。

自分殆どその機能しか使っていない。


■ずるっこ!を中心にしたもの

・ずるっこ!http://zurukko.jp/

に登録されている単語→覚えているものと仮定

・apsse

の無視リストにずるっこ!から引っ張ってきた暗記済み単語リストをいれる。

そのままのコピペだと行頭の数字邪魔から

http://www.vector.co.jp/soft/win95/util/se270425.html

この辺のソフトを使って整形してから追加。

あとは適当に覚えたい単語リストをapsseにつっこめば、ずるっこ!に登録された単語は除外された問題ファイルができる。

そのファイルとi暗記にいれてぽちぽちやる。

ずるっこ!にあまり簡単な単語が登録されていなくて、レベルの低い単語でも問題が生成されて煩わしい場合

http://d.hatena.ne.jp/softether/20110129

http://d.hatena.ne.jp/softether/20110204

開発者が公開してくれたこのリストが非常に役立つ。クリックしまくる。

単語リストとしては

読書猿さんがまとめてくれた記事が役立つ。

http://readingmonkey.blog45.fc2.com/blog-entry-413.html

他、多少古いけど

北海道大学英語語彙表

http://icarus.imc.hokudai.ac.jp/jugyo/huvl/

なんかは大学教授からの「願い」を感じるリストで眺めていて非常に感じ入るものがある。

★(単語リスト)-(ずるっこ登録リスト)=覚える単語リスト

覚える単語リストが「覚えた単語リスト」になったら、もちろんapsseの無視単語リストに追加。

数回繰り返すと、ずるっこ!との連携がしんどくなってくるかも?


i暗記じゃ音声がでないって?この方法じゃ発音記号もでないって?

そうなんだよ。

リスニング教材には好きなpodcastや市販の教材をあてるべきだと思う。

でも、隙間時間ボキャビルやってみたいって人にはちょっとおすすめしてみたい。いろいろ応用効きます

なんかいろいろ便利になってるなーと実感した今日この頃

今i暗記セール中で115円。Super英単語30000も通常価格で115円。

他にあげたツールは無料だし、この機会に200円投資して英単語に取り組むのも悪くないんじゃないですかね。

2011-03-07

健康的に確実に三ヶ月で30キロ痩せるための道具について

※ただし100kg超のデブ

http://anond.hatelabo.jp/20110306231354

健康的に確実に三ヶ月で30キロ痩せる方法

増田ですどうも。

http://anond.hatelabo.jp/20110307003651

どのエアロバイクを買ったか教えてもらおうじゃないか(当方120kg)

答えてみるぜ。ついでに他の道具についても書いておくぜ。

運動器具は何を使う?

俺が使っているのはコンビウエルネス社(コナミスポーツ子会社)のエアロバイクaiだ。

これ店によっては15万などと値付けがされているようだが、買うところを間違えなければ10万ぐらいだ。(Amazonでも送料無料で買える)ポイント

と言うところだ。説明すると

メーカ保証体重値が130kgまでいける
いものたいてい80kg程度までしか対応していない。よくて100kg。悪いと対応体重について具体的な記述がない物ある。もちろんそれらは過体重の奴が使って壊れるのは保証してくれないし、単に保証してないだけでは無く、事実壊れる。まずペダルの根元、次にサドルとイカレてくる
連続運動時間に制限がない
当たり前に思うかもしれないが、実は多くのエアロバイクは30分程度しか連続運転ができない。一方、この機種は二桁の表示限界まで連続しようでき、表示限界を超えても直後にすぐ再スタートができるようになっている。
今市販されているエアロバイクは多くは電磁式だ。永久磁石/磁性体を電磁石の力で引っ張ってブレーキをかけ、それによって負荷をかけている。この方式のメリットは音が少なく構造も簡単であることだが電磁気の力でブレーキをかけ、それを無理矢理に動かすことを行うため発熱してくる。発熱してくると機械寿命が落ち、また効率が落ちてくるので同じ負荷をかけるにも電気を食うようになるし、最終的には負荷がかからなくなってしまう。
多くの安価エアロバイクはこの現象をさけるために、30分までしか連続運動ができないようになっている。それ以上使おうとしても安全装置が働いて少し休憩を挟まなければ続きができない。
エアロバイクというのは有酸素運動目的としているので、低負荷でもできる限り継続して運動した方が効率が良い(そうで無ければ意味が無いという意味はない)また気分が乗っているときに「ピー」などと無粋な警告音と共に機械の方が先に止まってしまってはやる気もそがれる。
それに対してこの機種はその点を何らかの方法でクリアーしており、メータが2桁しかない表示限界はあるものの、表示限界を迎えても一度止めて時間をおかずすぐにスタートできる。
購入する前は30分だけ動けばいいやと初めは思っていても、やっているうちに体ができてきて30分ではあまり運動したような気がしなくなってくる。そこで買い換える事になるのだが、この手の運動器具はどれも巨大で重たいので、粗大ゴミなどとして出すことになり処分に困る事になる。だからできる限り初めから後々を見通し購入した方が良い。
心拍数による自動制御がついている
これは近頃のちょっと気の利いたエアロバイクならついていることが多いのだが、特に100kg超の人間運動するには必須だ。体がでかいと言う事は心臓は通常の人よりも高い力で血液を送り出していることになる。つまり血圧が高く、またわずかな運動でも心拍数が上がりやすいことを意味する。あまり心拍数を上げすぎるとシャレにならない事になる。上記2つは機材が壊れる程度で済むが、心拍数制御・安全装置がついていない機種を選んで過大運動をすると命に関わる。これは比喩でも何でも無く事実なのでこれは必須条件にした方が良い。

このポイントは最低限重視した方がよいと言うポイントであり、この点を満たしている物というのは安価なものではほとんど無く、家庭用では俺が調べた範囲ではコンビウエルネス社のエアロバイクaiしかなかったのでエアロバイクaiを使っている。他に良いものがあればそれでもいい。

また選ぶ課程でアルインコエアロバイクを買い、買って1週間でペダル部分いかれてこすれるような音がするようになり、スムーズに回らなくなった事を書いておく。それは当然といえば当然で、耐荷重100キロの奴を130キロが乗れば壊れる。決してメーカが悪い訳ではなく、選び方を間違えるとこうなるという話だ。

このほかにゴム製の防振マットは買ったりしているが、それらは住宅事情に合わせて購入すると良いと思う。


最後に、何故俺がウォーカーマルチトレーナーの類いでは無く、エアロバイクを選んだについて書いておく。何故かと言えば、足腰への負担をさけたかたからだ。

ウォーカーなどだといくらクッションをひいても体重が足にかかってくるので過体重の奴は膝や腰に強い負担がかかる。一方エアロバイクなどの自転車運動では、サドル体重を預けることができるのでかなり足腰への負荷は軽い。(ただゼロはならない。ほぼゼロというと水中運動)また帰宅がよる遅くになることが多いのと、好きなことをしながら運動ができる事なども重視して今はエアロバイクメインにしてやってる。ここら辺は何度も言うようだが自分希望住宅事情などを加味し、それぞれがあったものをやるのが一番だと思う。ただその場合でも「保証体重」「連続動作時間」「脈拍計測機能」の三つは要チェックだ。


計測装置はどう選ぶ?

このほかに道具について俺が使っている物を書いておく。

一応リンク貼っておくので参考にできる方は参考にして欲しい

テーマはずばり「つまらルーチン計測は極力簡単に」だ。

これらは別に自分グラフを書いて記録していく気があるならこういう記録機能がついたもので無くても良いと思う。俺はそれはとてもできそうに無いしデータ継続して取得してこそ意義があると言う面もあって自動記録を選んだ。

100キロ超の人間が、特に体重計を選ぶとき

  • 最大測定重量
  • 測定単位

は確実にチェックしておいた方が良い。安価体重計だと基準100キロで110キロぐらいましか計れなかったり、100キロまでは100グラム単位だが100キロ以上は200グラム単位などとなっていて毎日計測する上ではあまり役に立たないものもある。

また血圧計も、

  • 手首計測タイプは正確さにかける
    • 特に手に脂肪がついている場合は特に誤差が大きくなる。手首計測タイプはよほど計測感覚を長くしないといけない人以外はあまりおすすめしない。
  • 上腕タイプでもカフ(巻き付けて空気を入れるアレ)がはまるか確認する。
    • 昔は布だけだったのでどうにでもなったが、最近は簡単に固定できるように骨が入っていて付けにくいことがあるためだ。太っている奴の体型は千差万別なので、実際に店に足を運んで試着してみることをおすすめする。

ちなみに何故血圧計も買ったかというと、100キロ超のデブがやせていく課程では、血圧が簡単に計測でき体の状態が良くなっていくことを実感しやすい指標であるためだ。

体が大きい場合、体中に血液を送らなければならないため一部の例外を除いて心臓は高い圧力で値を送る。そのため血圧は高くなる。これは肥満が原因のものであればやせることで直る。そのためやせていく課程で血圧も落ちていき、体重と同じく知っておくとぐんぐん数字改善していくので励みにしやすい。





このほかに何かあればわかる範囲で答えるぜ。

2010-04-04

http://anond.hatelabo.jp/20100404185806

「こっちが金払ってるんだから、ちゃんとやってくれるだろう。システム内部までいちいちチェックしなくていいよね」って思ってると思うぞ。

「こっちが金払ってるんだから、ちゃんとやってくれるだろう。申請内容までいちいちチェックしなくていいよね」

「こっちが金払ってるんだから、ちゃんとやってくれるだろう。検査結果までいちいちチェックしなくていいよね」

姉歯とか道路保全技術センターとかの依頼担当者もそういうふうに思ってたと思うぞw



ちゃかすのは置いといて。

今までにこういうのがなかったなら「油断してたのかなー」と思うんだけれども、前もこんなのなかったっけ?

すごく単純に考えたって、外から見えるところに、しかもCSV形式で置くデータじゃないっしょ。

自分web関係は大昔にちょこっとかじったくらいしか知識はないけれど、それでもおかしいと思う内容だよ。

ましてや商売で、少なくないお金が絡んでるんだから、「買ったものだからわかりません」は通らないよ。

全部把握しろ、自社で作れとは言わないけどさ。



情報漏れた人たちはどうするんだろ。電話番号は変えられなくないけど、名前と住所はなぁ。

見ちゃった人の中に知人がいたらもうオワタ

2010-03-15

http://anond.hatelabo.jp/20100103122140

楽天 : メールアドレス流出騒ぎ 

http://gigazine.net/index.php?/news/comments/20090527_rakuten_csv/

10円で販売というのは、システムを悪意に取っているが、特定業者にはCSV形式で個人情報DLできるようになっていたことと

メールアドレス流出した嫌疑は本物

http://japan.cnet.com/news/sec/story/0,2000056024,20085874,00.htm 

個人情報流出騒ぎ2005年

 

mixi : サン牧流出騒ぎ 画像流出騒ぎ

などがあるものの、基本的にmixi本体による騒動はなし。

パスワードも平文を送ってくるなどという事は無し

 

DeNA : http://www.security-next.com/004849.html

子会社顧客情報流出

モバゲー事態はセキュリティというよりも、青少年育成の観点から問題視される

 

はてな:有名どころではDoCoMoなどもモバイルURLをそのまま出したために

セッションハイジャックされた件などが記憶に新しい。

 

他、悪徳商法マニアクス関連でトラブル

セキュリティというより、法務周りでトラブルを抱える。

悪徳商法マニアクスが悪徳商法関連の記事を書いたところ、営業妨害としてはてなクレームをもらい

裁判の結果を待たずに削除。逆にはてなが訴えられる。

GREE:ウォッチしてないので、知らんw

 

いずれにしろ、mixi GREE DeNAなどは、いわゆる非技術者向けサービスのためにフィッシング詐欺が憂慮されるが、

あまり、フィッシング詐欺(マンインミドル含む)にたいして強固とは言えないのではないか?という疑惑はある。

 

Yahoo銀行はコレに対抗するためにセキュリティシールなどを導入している。が、やはり、マンインミドルにたいして

安全かどうかは疑問。



つか、銀行でも、行員による使い込みなどは、たまに起きるし、セキュリティーってなに?って気はする。

 

あと、某大手、キャリーアが提携していた大型サービスパスワード平文でおどろいた。

結構、古い大企業がやっているところはパスワード平文が目立つ気がする。

2009-05-29

違うだろ / 楽天個人情報流出疑惑まとめ改訂版

http://anond.hatelabo.jp/20090528203547

楽天専用のメールアドレス」なのに、名前・住所等個人情報が入ったSPAMメールが届くという報告が相次ぎ、段々大きな騒ぎになっていく

GIGAZINEがその件を紹介。

(ここが重要) 疑問:以前の個人情報流出事件を受けて、楽天を仲介させることでメルアド店舗に渡さないようにしましたと宣言してたんだからそんなことはもう起きえない筈だけど何故? http://www.rakuten.co.jp/com/faq/information/20050802/GIGAZINEが疑問を提示

GIGAZINEが答えを見つける) 楽天ユーザーにはそう説明しながら店舗メルアドを見れる状態にしていた。さらに申請と許可が必要だけど金を払うとCSVでまとめて個人情報の提供を受けることも出来る。

GIGAZINEが『楽天、利用者のメールアドレスを含む個人情報を「1件10円」でダウンロード販売していることが判明』というタイトルで記事をリリース

x:それを見た人がmixiblogに「楽天SPAM業者に個人情報を売りつけた!許せない!!」と書く

○:それを見た人がmixiblogに「楽天個人情報店舗側に漏らした上で、それで商売までしている。」と書く


楽天擁護派: それはCSV手数料であって、情報に対する料金ではない

冷静:楽天メルアド店舗に渡さないと嘘付いていたのが問題。メルアド渡したり、販売してるのは事実だけど、情報料と見るか、システム利用料と見るかで言い分・見方は変わるよね。

慌てる派:クレカ情報までかよ!退会だ!(クレカ情報が渡っているのは例外的に認められた一部の店舗だけ)

楽天が「事実認識の誤り」と主張。事実が違うともどこが違うとも言わないので、答えになっていないよなとまだ騒ぎは続く。

GIGAZINE続報待ち。

2009-04-05

ほんとに、読みづらい。、

ネットの書き込みとかで、たまに見るんだけど、やたら句読点を、たくさん、付ける人って、なんなの?、

自分自分の、文章を、読み返して、みて、読みづらいとか、思わないんだろうか。、

それとも、あれか。、CSVとかで、後で、パースするのか?、

それならまあ、許さんでもない。、

2009-03-03

ExcelCSVファイルを開いてから保存するときに、

3,4回確認ダイアログが表示されるのがウザい。

2009-01-27

民主党googleの選択候補

グーグル民主党」検索の不思議◆みんなで見よう!Youtubeニコニコ動画◆ ~Fall Season~―秋のみん見よ、始まる―

http://hyukkyyy.blog122.fc2.com/blog-entry-1113.html

今(2009/1/27 03:00:00)はもう、「民主」で検索すると普通に検索候補が出てくるんだけどね。でもさっき(0時ごろ)までは、出てこなかった。

ということで既に用無しの感もあるけど、せっかくなので検索候補をメモしてみた(CSV形式w)。手打ちなのでミスがあるかもしれないけどゴメン。

何かが見えてくると面白いのだけれど。

◆◆◆

み,みずほ銀行,5150000,みぃ,34100000,みんカラ,95600000,三井住友,6910000,三菱東京ufj,7560000,三菱,48300000,三菱電機,3810000,ミクシィ,5200000,宮崎あおい,1910000,三越5090000

みん,みんカラ,95600000,みんなの就職活動日記,665000,みんなのうた,1460000,みんなのキャンパス,410000,みんなのゴルフ,610000,みんなのfx,1320000,みんなのシネマ,898000,民事再生法,2950000,民法,8120000,ミント神戸,342000

みんし,みんしゅう,60400,民主党本部,466000,民主主義,3010000,民主党 韓国,1680000,民主党 支持母体,519000,民主党議員,825000,民宿,11600000,民宿 検索,2430000,民商,1320000,民社党,175000

みんしゅ,みんしゅう,60400,民主党本部,466000,民主主義,3010000,民主党 韓国,1680000,民主党 支持母体,519000,民主党議員,825000,民主党 前原,690000,民主党 岡田,1370000,民宿,11600000,民宿 検索,2430000

みんしゅと,民主党本部,466000,民主党 韓国,1680000,民主党 支持母体,519000,民主党議員,825000,民主党 前原,690000,民主党 岡田,1370000,民主党 政策,4310000,民主党 長妻,341000,民主党 前田,626000,民主党 沖縄ビジョン,170000

みんしゅとう,民主党本部,466000,民主党 韓国,1680000,民主党 支持母体,519000,民主党議員,825000,民主党 前原,690000,民主党 岡田,1370000,民主党 政策,4310000,民主党 長妻,341000,民主党 前田,626000,民主党 沖縄ビジョン,170000

民,民事再生法,295000,民事再生法 とは,699000,民事訴訟法,653000,民法,8120000,民安ともえ,297000,民宿,11600000,民生委員,613000,民明書房,239000,民族衣装,894000,民音,369000

民主

民主を,民主を斬る,103000,民衆を導く自由の女神,29900

民主に,民主にいがた,14700,民主に一度、政権任せてもよい,169000,民主には政権担当能力はない,27100

民主の,民主の壁,508000,民主平岡,140000,民主石井,725000,民主の山岡,166000,民主の正体,295000,民主マルチ問題,858000,民主政党マーク,244000,民主hp,802000

民主が,民主政権交代を急いでいるのは一刻も早く韓国を支援したいからだ,9970,民主政権,698000,民主政権を取って、日本中国属国になるよりはマシだろ。,394000,民主単独過半数,147000,民主が税制大綱骨格,3350

民主党

◆◆◆

ちなみに「民主党+格助詞」では、何も候補が出ませんでした。

Aというワードを入力してBを引っ張り出せなくても、Bというワードを入力してAを引っ張り出せるんですね。これは面白い。

民主」のキーワード(NGワード)にズバリフィルタをかけていたのかな。

そして「名+NGワード」「NGワード+名」「名+NGワード+名」もNGにした。

ただし「NGワード+格助詞+何か」で1つの慣用句のようになった(みんなが同じ言い回しをする)ワードはすり抜けた。

読み仮名経由もすり抜けた。

こんなとこ?

2008-12-17

SP

javascript:(function(){var t={0:"No Play",1:"Failed",2:"Assist Clear",3:"Easy Clear",4:"Clear",5:"Hard Clear",6:"Full Combo"};var f={0:"f0",1:"f1",2:"f2",3:"f3",4:"f4",5:"f5",6:"f6"};var l={AAA:"aaa",AA:"aa",A:"a",B:"b",C:"c",D:"d",E:"e",F:"f"};new frames[0].Ajax.Request('../data/getMusicList.do?'+frames[0].Music.tags,{method:'get',onComplete:function(r){eval("var m="+r.responseText);new frames[0].Ajax.Request('../data/getMusicData.do?'+frames[0].MusicScore.tags,{method:'get',onComplete:function(r){eval("var s="+r.responseText);var h=window.open("about:blank");var d=h.document;d.open();d.write("<title>csv</title><pre>Ver,Title,Difficulty,NRank,NScore,NClear,HRank,HScore,HClear,ARank,AScore,AClear");var r=s.rivalsscore.score.sp;for(var i=0;i<r.length;i++){d.write(","+s.rivalsscore.name.sp[i]+",N/H/A,Score(Clear),,,");}d.write("\n");for(var i in m.music_list){var x=s.myscore[m.music_list[i].mid];d.write(m.version[m.music_list[i].version].name+",\""+m.music_list[i].name+"\",["+m.music_list[i].diff[0]+"|"+m.music_list[i].diff[1]+"|"+m.music_list[i].diff[2]+"],"+x.level[0]+","+x.score[0]+","+t[x.flag[0]]+","+x.level[1]+","+x.score[1]+","+t[x.flag[1]]+","+x.level[2]+","+x.score[2]+","+t[x.flag[2]]);for(var j=0;j<r.length;j++){var z=r[j][m.music_list[i].mid];if(!z){continue;}d.write(","+z.score[0]+","+t[z.flag[0]]+","+z.score[1]+","+t[z.flag[1]]+","+z.score[2]+","+t[z.flag[2]]);}d.write("\n");}d.write("</pre>");d.close();}});}});})();

(たぶん)DP用

javascript:(function(){var t={0:"No Play",1:"Failed",2:"Assist Clear",3:"Easy Clear",4:"Clear",5:"Hard Clear",6:"Full Combo"};var f={0:"f0",1:"f1",2:"f2",3:"f3",4:"f4",5:"f5",6:"f6"};var l={AAA:"aaa",AA:"aa",A:"a",B:"b",C:"c",D:"d",E:"e",F:"f"};new frames[0].Ajax.Request('../data/getMusicList.do?'+frames[0].Music.tags,{method:'get',onComplete:function(r){eval("var m="+r.responseText);new frames[0].Ajax.Request('../data/getMusicData.do?'+frames[0].MusicScore.tags,{method:'get',onComplete:function(r){eval("var s="+r.responseText);var h=window.open("about:blank");var d=h.document;d.open();d.write("<title>csv</title><pre>Ver,Title,Difficulty,NRank,NScore,NClear,HRank,HScore,HClear,ARank,AScore,AClear");var r=s.rivalsscore.score.dp;for(var i=0;i<r.length;i++){d.write(","+s.rivalsscore.name.dp[i]+",N/H/A,Score(Clear),,,");}d.write("\n");for(var i in m.music_list){var x=s.myscore[m.music_list[i].mid];d.write(m.version[m.music_list[i].version].name+",\""+m.music_list[i].name+"\",["+m.music_list[i].diff[3]+"|"+m.music_list[i].diff[4]+"|"+m.music_list[i].diff[5]+"],"+x.level[3]+","+x.score[3]+","+t[x.flag[3]]+","+x.level[4]+","+x.score[4]+","+t[x.flag[4]]+","+x.level[5]+","+x.score[5]+","+t[x.flag[5]]);for(var j=0;j<r.length;j++){var z=r[j][m.music_list[i].mid];if(!z){continue;}d.write(","+z.score[0]+","+t[z.flag[0]]+","+z.score[1]+","+t[z.flag[1]]+","+z.score[2]+","+t[z.flag[2]]);}d.write("\n");}d.write("</pre>");d.close();}});}});})();

2008-11-04

社会人になってはじめて三連休出勤した

あれだなー、落ち込むなー。

世に言うデスマーチと比べりゃ、今月生理なかったけどヤバいかしら!!くらいの落ち込みなんだろうが。

なにが悪かったんだろうか。どうすればよかったのだろうか。

データの入れ替えが、上手く行っていなかったんだ。社会人二年目のぼくは、係長とタッグを組んで、お客様の現行システムデータを、新システム仕様にあわせて変換して、テーブルに移し変える、いわゆるコンバート作業を言い渡されていた(本当はデータ変換プログラムを作るだけだった)。

とりあえず係長の用意した仕様にあわせて……いや、違う。仕様書はなかったんだ。旧データと新データの項目の対応付けだけ、言い渡されたんだった(データ型も項目長も違っていた)。

まずプログラムの作りからして、間違っていた。実行前に踏むべき手順が、この作りだと多すぎる。とっととパンツ脱がしてズッポシ行きたいのに、昭和臭いコートから脱がしてあげなきゃならん作りになっている。手間がかかりすぎる。要は旧データCSV吐き出し⇒CSVをSQLLorderで取り込み⇒取り込んだワークテーブルをプログラムで実データに変換⇒やっとInsert、なんてことをしなくちゃいけない。

それから変換プログラム自体のパフォーマンスだ。2年分のデータを取り込む、という作業に耐えられていない。ってか2年分もあるんスか係長、ぼくまだ学生だったころのデータなんスけど。とか言ったら鼻で笑われた。ともあれ、実行するだけで一晩かかるような処理を4本抱えていて、それを一日でやれというのだから、土台無理な話だ。時をかけるリーマン(With生成データ)にならないといけない。もっと早く動くものを作るか、もっと早く元データが用意されていなければいけなかった。

そして、作られたデータも正しくなかった。

コンバートした後で、新システム上で正常に動かなかった。これは、きっと事前にチェックできていれば回避できた。ぼくはそれをぼくの仕事ではないと思っていたし(言われたとおりのデータが用意できたかどうかの確認までしかしなかった)、他の人にしても、それを確かめる余裕がなかった。

あー。問題としては、

  • 事前準備に手間がかかりすぎる
  • プログラムが終わらなさすぎる遅すぎる
  • 間違いが多すぎる
  • 時間が足りなすぎる

こういうことか。特に、重い処理を一晩で終わらせたい、というあたりと、ミスが多いというあたりが今回ぼくの三連休を奪った原因の主たる部分だな。殺す。

じゃあどうすればよかったのか。

  • 事前準備に手間がかかりすぎる
    • 事前準備に手間がかからないような設計が必要だった。仕様段階にはぼくはタッチできないので、プログラムの作りを見直すべきだった。たとえば、CSVをじかに読み取る、とかに。
  • プログラムが終わらなさすぎる遅すぎる
    • 最初からチューニングをしておけばよかった。日ごろからチューニング勉強をしておけばよかった。原因の切り分けができるぐらいの知識はほしかった。見直しして作り直して取り込みなおす作業だけで土曜日がつぶれた。
  • 間違いが多すぎる
  • 時間が足りなすぎる
    • きちんと計画を立てるべきだった。もっと時間に余裕を持って、コンバートの作業をするべきだった。そうでなくとも、実際に連休に入る前から、二年分のデータを取り込むのであれば、事前に二年分のデータの取り込みにどれくらいかかるか確かめるべきだった。

三連休は昼も夜もなくセックスする予定だったのが、すべて駄目になった。けれどもまあ、こういう経験もいつの日かプラスに作用する日が繰るかも……

「明日から戦争だから」

「マジスか!!」

山を越えられる気がしない。

2008-10-31

ドロップシッピング

いま私が作っているホームページの6割ぐらいは

Bloggerを使って忍者ホームページ

公開しているわけだが、昨日、忍者ホームページ

簡単にドロップシッピングができるツールを見つけてしまった!

もしもドロップシッピングの超できすぎくんだ!

作成例はコレだが、ものの15分もあれば6つの商品

紹介しただけの簡単なホームページができてしまう!

超できすぎくんでは5つのホームページを作ることが可能だ。

5つ作っても1時間ちょっとぐらいしかかからない。

また、もしもドロップシッピングには全商品を網羅した

csvが提供されているのが、データが大きすぎて

メモ帳で、(ここにshop_idを入れてください)という部分を

変換しようと思ったが、パソコンが固まってしまって

実行できなかった。3年前のパソコンメモリが512MB

では厳しいと実感…ちなみにこのパソコン民事再生法

を申請した九十九ツクモ)電機で購入したものだ。寂しいねぇ…

2008-04-15

http://anond.hatelabo.jp/20080415173401

反応してくれた人がイター!

ちょっと嬉しい。


> 別にrubyでもsedでも良いけど、正規表現で問題なくパース出来るんじゃない?

毎回正規表現考えるのも面倒かなーとかとか。


> 位置あわせでよいのかな?ほかにある?

理想を語ると出力形式指定できれば最強だなーとか妄想してた。

 --output-style "[%p<>%u<>%g<>%s] %n"

とすると

|   |-- [-rw-r--r--<>hoge<>hoge<>9108] HTTP_BAD_GATEWAY.html.var

みたいな。

別にコマンド的である必要はまったくないっす。


> # tree -pugs | perl -e '@line=<>; $max=(sort map {/(.*?)\[/; length($1)} @line)[0]; map {s/(.*?)\[/$1 . " "x($max-length($1))."\["/e} @line; print @line'

実行してみたら出力に変化がなかった。アルェー?

何にせよPerlじゃね?ってのは超同意。


とかく出力形式を指定できたら便利だなーと。

この手のディレクトリ状況調べて提出してちょ、みたいな要求はちらほらあるのですよ。

付け加えると、CSVで出してちょーみたいな要求の場合はfindとかlsとかgrepとかその辺組み合わせてどうにでもなる感じです。

ツリー構造が見える形でいろんな出力できると楽しいよね!とかちみっと思って。

2008-02-27

Joel On Software私訳

訳してみた。あらためて、和訳はものすごく時間を要する作業だということがわかった。もうしないと思う。

注意:以下は意訳、適当訳、稚拙訳であり、誤訳を多々含んでいることは確実であり、Joel氏が本当に以下のように述べているとは限りません。

なぜMicrosoft Officeファイルフォーマットはこんなにもややこしいのか (そしてその対処法を幾つか)

Tuesday, February 19, 2008


先週、MicrosoftOfficeバイナリフォーマットを公開したが、このフォーマットは殆ど正気でないように見える。Excel 97-2003ファイルフォーマットは349ページのPDFファイルだ。でも待って、それで全部じゃない。このドキュメントには次の面白いコメントが書いてある。

それぞれのExcelワークブックは1つのcompound fileに収められている

つまり、Excel 97-2003ファイルはOLE coumpound documentで、それは結局、1つのファイル内にあるファイルシステムである。これは、理解するのにあと9ページはスペックを読まなくちゃならないぐらいには十分に複雑だ。そしてこれらの「スペック」は、普通我々が考えるようなスペックというよりは、Cデータ構造みたいに見える。これ全体が階層的ファイルシステムなのだ。

もしあなたが週末を、Wordドキュメントブログインポートしたり、あなたの個人的な財務データからExcelフォーマットスプレッドシートを生成するような気の利いたコードを書くのに使おうと思ってこれらのドキュメントを読み始めたなら、このスペックのややこしさと長さがそんな気をあっという間に失せさせるだろう。普通プログラマはこのOfficeバイナリファイルフォーマットについて次のような結論を下す:

この4つ全てについて、きみは間違っている。ちょっとだけ掘り下げて、これらのファイルフォーマットがどうしてこんなに信じがたいくらいに複雑なのか、なぜMicrosoftの悪いプログラミングを反映しているのではないのか、そしてそれを回避するためにあなたに何ができるか、を明らかにしよう。

理解すべき最初のことは、これらのバイナリファイルフォーマットはちょっと違ったデザインゴールを持って設計されたということだ。たとえばHTMLとは。

これらはすごく古いコンピュータで速く処理できるようにデザインされた。Excel for Windowsの初期のバージョンでは、1MBのRAM、20MHz動作の80386が Excelを快適に走らせることができるための妥当なものだった。このファイルフォーマット内には、ファイルを素早く開いたり閉じたりするための最適化が沢山仕込まれている:

これはライブラリを使うことを想定して設計されている。もしあなたがバイナリインポートするものを1から書き上げたいと思ったら、Windows Metafile Format (何か図を描く場合) や OLE Counpound Storage みたいなものをサポートしなくてはいけなくなる。もしあなたが Windows上でやるのなら、そうしたことをたいしたことのない作業にするためのライブラリサポート存在する... そういったフィーチャーを使うことは(元々)マイクロソフトチームのためのショートカットだった。でもあなたが全部を自分でスクラッチから書くなら、全部の作業を自分自身でやらなくてはいけない。

オフィスはcompound documentsに対して広範囲のサポートを持っている。例えば、スプレッドシートWord文書に埋め込んだりできる。完璧Wordファイルフォーマットのparserは、同じように、埋め込まれたスプレッドシートで何かインテリジェントなことが出来るべきだろう。

それは相互協調性(interoperability)を意識してデザインされてはいない。仮定されていたのは、WordファイルフォーマットWordからのみ読み書きされなくてはいけない、ということで、それは当時においては十分に合理的なものだった。これは、Wordチームのプログラマファイルフォーマットをどう変更するかについて決定を行う場合にはいつでも、彼らが気にするのは (a)何が高速か (b)Wordコードベースにおいて最小の行数になるのは何か、だったことを意味する。SGMLHTML-interchangeableといった標準ファイルフォーマットのようなアイデアは、最初にインターネットドキュメントの相互交換を実現するまで現実のものにはならなかった。それはOfficeバイナリフォーマットが最初に考案されてから10年後のことだったのだ。ドキュメントを交換するのにインポーターエクスポーターを使うことができるという仮定が常にあった。実際Wordは簡便な交換のために設計されたRTFと呼ばれるフォーマットを持っており、そのフォーマットは殆ど最初のころからあり、今も100%サポートされている。

それはアプリケーションの全ての複雑さを反映していなくてはいけない。 全部のチェックボックス、全部のフォーマッティングオプション、そして全部の、Microsoft Officeのフィーチャーは、ファイルフォーマットのどこかで叙述されていなくてはいけない。Wordパラグラフメニューにある、"Keep With Next" と呼ばれるチェックボックス、これはパラグラフを、その後ろのパラグラフと同じページに置くのに必要な場合は、次のページに移動させるもの(?)だが、これもファイルフォーマットの中に無くてはいけない。そしてこれはつまり、あなたがWordドキュメントを正しく読み込める完璧Wordクローンを実装したいなら、そういったフィーチャーを実装しなくてはいけないということだ。Wordドキュメントをロードする競争力のあるワードプロセッサを作っているのなら、ファイルフォーマットからそのビットをロードするコードを書くのには1分しかかからないかもしれないが、ページのレイアウトアルゴリズムをそれに対応させるのに何週間もかかるかもしれない。もしあなたがそうしない場合、カスタマーがあなたのクローンWordファイルを読み込んだら、全部のページがぐちゃぐちゃになってしまうだろう。

それはアプリケーション歴史を反映していなくてはいけない。 このファイルフォーマットに見られる多くの複雑さは、古く、複雑で、愛されず、めったに使われないフィーチャーを反映している。それらはファイルフォーマットのなかに後方互換性のためにまだあり、そしてMicrosoftにとってその辺りのコードを残しておくことには何らコストはかからない。しかしあなたがこれらのファイルフォーマットをparseおよびwriteする一貫した完全な仕事をしたいと思うなら、Microsoftインターンが15年前にやったのと同じことを全て、またやらなくてはいけない。要点は、何千人年の仕事が今のWordExcelには費やされてきたのであり、これらのアプリケーション完璧クローンを作りたいと本当に欲するなら、あなたは何千人年を費やさなくてはならないことになる、ということだ。ファイルフォーマットは単に、アプリケーションサポートする全てのフィーチャーの簡潔なサマリーなのだ。

手始めに、小さな例を一つ、深く見てみよう。Excelのワークシートは色々なタイプのBIFFレコードの集まったものだ。私はスペックの一番最初のBIFFを見てみたい。1904と呼ばれるレコードだ。

Excelファイルフォーマット仕様のこのレコードについての記述は非常に曖昧なものだ。そこでは単に、1904レコードが「1904日付システムが使われているかどうか」を示すレコードだ、と述べているだけだ。ああ、使えない仕様書の典型的な一例だ。あなたがExcelファイルフォーマットで何かしている開発者で、そしてファイルフォーマット仕様にこう書いてあるのを見つけたなら、あなたがMiocrosoftは何かを隠しているのだと結論付けたとしても無理はない。この情報の断片は十分な情報をあなたに与えはしない。あなたには幾ばくか外部の情報が必要で、私は今ここで、それを提供しよう。Excelワークシートには、2種類ある。日付のエポックが1900/1/1のもの(これには、Lotus 1-2-3 との互換性のために故意に入れられた閏年に関するバグがあるが、ここでそれについて述べるのは退屈すぎる)、および、1904/1/1のものだ。Excelは両方をサポートしているが、それはExcelの最初のバージョンMac版であり、それは単に簡単だったという理由でOSエポックを使っていて、しかしWindows版のExcel1-2-3ファイルインポートできなくてはならず、そしてそれは1900/1/1をエポックとして採用していたからだ。あなたが涙ぐむのも無理はない。歴史のどの時点においても、プログラマが正しいことをしなかった、という時はないのだが、しかし現実にあなたが手にしているものはこれなのだ。

1900と1904のファイルタイプは両方とも世の中には広く存在しており、それは通常、ファイルWindowsMacのどちらで作られたかによる。一方のタイプから他方のタイプへ黙って変換するのはIntegrity的に問題があるので、Excelファイルタイプを変換することをしない。Excelファイルをparseするためには、あなたは両方を扱わなくてはならない。それはファイルからこのbitをロードするだけの問題ではなく、あなたが日付表示と両方のエポックを扱うparsingのコードまで書き直さなくてはいけないということを意味する。実装には何日かかかるだろうと私は思う。

実際、あなたがExcelクローンの作業をするなら、日付の扱いについて、あらゆる種類の微妙ディティール発見することになるだろう。Excelは日付の値をいつ変換するのか? 表示の整形はどうやっているのか? なぜ1/31は今年の January 31と翻訳され、また一方で1/50はJanuary 1st, 1950と翻訳されるのか? Excelソースコードと同じだけの量のドキュメントを書かないがぎり、振る舞いに関しての微妙ビットを全て完全に記述することはできない。

そしてこのレコードは、あなたが扱う何百もあるBIFFレコードの最初の1つに過ぎず、しかももっとも単純なものなのだ。他のレコードの殆どは、より多くのプログラマーを涙に暮れさせるぐらいには十分複雑だ。

唯一導き得る結論はこれだ。

MicrosoftMicrosoftOfficeファイルフォーマットリリースしたことは大変有用なことだが、しかしそれでOfficeファイルフォーマットインポートしたり保存したりするのが楽になるということは全く無さそうだ。それらは狂気じみて複雑で、リッチアプリケーションで、そしてあなたは人気のある20%の部分を実装して80%の人々を幸せにするというくらいのことしかできない。バイナリファイル仕様によってなされるのは、多く見積もっても、著しく複雑なシステムリバースエンジニアリングにかかる時間を何分か削減するくらいだろう。

オーケー, 私はいくつか回避法を教えると約束した。良いニュースは、殆どの良く知られたアプリケーションにとって、Officeバイナリファイルフォーマットを読み書きしようと試みることは誤った決定だということだ。あなたが真剣に考えなくてはいけない代案が2つある。Officeそのものにそれをやらせるか、書き込むのが簡単なファイルフォーマットを使うかだ。

ヘビーな仕事Officeにやらせよう。WordExcelは実に完全なオブジェクトモデルを持っており、COMオートメーションの手段が可能で、これであなたは何でもプログラムでやるようにできる。多くのシチュエーションでは、Office内のコードを再利用するほうがそれを実装しようとするよりも良い。ここにいくつか例がある。

  1. Webベースアプリケーションがあって、それが既存のWordファイルPDFフォーマットに出力するようにする必要がある場合、それを実装するにはこうする: ファイルを読み込んでからWord 2007のビルトインのPDFエクスポーターを使ってそれをPDFとして保存する、数行のWord VBAコードだ。あなたはこのコードIISで動作しているASPASP.NETコードから直接呼び出す。これでうまくいく。最初にWordを立ち上げるときは数秒かかる。2回目はCOMサブシステムによりWordはまたあなたがそれを必要としたときのためにメモリ中にキープされている。それは通常のWebベースアプリケーションにとっては十分に速い。
  2. 上と同じ。ただしあなたのWebホスティング環境Linuxだった場合。フルライセンスWordインストールされたWindows 2003サーバを買う。そしてその仕事をする小さなWebサービスを構築する。C#ASP.NETでの半日の作業だ。
  3. 上と同じ、ただしあなたがよりスケールさせたいと望む場合。ステップ2で構築した全部のボックスの前にロードバランサーを置きなさい。コードは必要ない。

この手のアプローチは、全ての種類の一般的なOfficeタイプについての、サーバ上であなたがやりたいと思うであろうアプリケーションで、うまくいくだろう。例えば:

これらのケースの全てにおいて、Officeオブジェクトインタラクティブ動作でないことを教えてやる方法があり、だから表示をアップデートするのに煩わされたり、ユーザ入力を促す必要はない。ところで、このようなやりかたでいく場合には、gotchas(?)がいくつかあり、そしてそれはMicrosoftは公式にサポートしているものではない。だからあなたがそれを始める前にはKnowledge baseの記事を読むように。

書き込むファイルにはもっとシンプルフォーマットを使いなさい。単にOfficeドキュメントプログラムで生成したいなら、殆どいつでもOfficeバイナリフォーマットよりももっと良いフォーマットWordExcelでも問題なく開くことができるようなフォーマット存在する。

いずれにせよ、全てのOfficeファイルを完全に読み書きできるような、文字通りのOffice競合製品を作ろうとする(その場合には、何千年もの作業があなたに予約される) のでない限り、Officeバイナリフォーマットの読み書きをするというのは、何であれあなたが解決しようとしている問題を解決するためのもっとも労働集約的な方法だ。

2007-11-21

http://anond.hatelabo.jp/20071120165319

時間があったので電話でちろりと問い合わせてみた。

派遣だかアルバイトだかの女の子を問い詰めても可哀相だなと思うので、

事務的にどんな情報漏れたのか逐一確認。

電話番号が漏れたみたいだが、どうせネットショップに出してる名前と電話だから仕方ないや。

セールス電話が掛かってくるのはこういう所から纏めて漏れてるのかな??)


で、聞きたかったのはwinny漏れたというより、

何で派遣データを持ち帰ってるんだよ?ということ。

担当者が変わった。


この度、当社の広告主のご担当者情報を含む業務関連情報が、ファイル

交換ソフトWinny」を通じてインターネット上に流出したことが確認されました

ので、以下の通りご報告申し上げます。

その前にこのwinnyで流出したという表現が疑問だったので、

ウイルス感染したということですよね?と聞いてみた。

ウイルス感染したというのでなければ意図的にもらしたということになる。

そういうことですか?と聞いた。


そしたら的外れな答えが返ってきたのだが、その答えが驚くべき回答だった。

派遣フリーメールアドレスに自宅にデータを添付送信してwinny漏れたということ。


いやいやいやいや、ちょっとまて。

それはwinnyでなくてもフリーメールで送ってる時点でデータ漏れしてるだろ。

やっぱりどんな形式で漏れたのか気になる。

CSVだったら内部体制プゲラもいいところだ。




おまけ

平素はXXXXXXXをご利用いただき、誠にありがとうございます。

この度、当社の広告主のご担当者情報を含む業務関連情報が、ファイル
交換ソフトWinny」を通じてインターネット上に流出したことが確認されました
ので、以下の通りご報告申し上げます。
このような事態が発生し、広告主の皆様に多大なるご迷惑とご心配をおかけ
しておりますことを深くお詫び申し上げます。


1.流出した情報
広告主ご担当者情報を含む業務関連情報が流出いたしました。
ご担当者情報は、弊社の管理画面をお使いいただく際にご登録いただい
ているご担当者様の氏名、Email、会社名、会社住所、電話番号等です。 
ご登録いただいたパスワードおよびクレジットカード番号、銀行口座など一般
の方が入手して悪用できるような情報は含まれておりません。

なお、情報の流出が確認されたお客様アカウントは以下となります。
XXXXXXXXXXXXXXX


2. 経緯
当社に2007年8月まで勤務しておりました元派遣社員が、自宅で作業をする
ために広告主ご担当者情報を含む業務関連ファイルを無断で自宅の個人
所有PCに保存しており、この情報ファイル交換ソフトWinny」のネットワーク
上に流出いたしました。 


3. 再発防止策
弊社は、これまでも、お客様情報保護を図るため、社内規程の制定をは
じめとする安全管理体制の整備、アクセス制限やデータの保管ルールの徹底
等によるセキュリティの強化、従業員に対する継続的な教育研修、といった
種々の安全管理措置を講じて参りました。しかし、今回このような事態が発生
したことを厳粛に受け止め、従業員教育をこれまで以上に徹底し、退職契約
終了時の情報漏洩対策を含む情報セキュリティ管理体制を一層強化すること
により再発の防止に努め、お客様からの信頼の回復に全力を尽くして参ります。


4. 本件に関するお問い合せ
このメールの返信にてお問い合わせいただきました場合には、ご返答までに
かなりのお時間を要する可能性がございます。お問い合わせに関しましては、
下記フリーダイヤルにいただきますようお願い申し上げます。

     フリーダイヤル: 0120-XXXXXXXX  
                   受付時間: 9:00??18:00(土日祝日は除く)


なお弊社では、情報流出が判明した場合、原則速やかに公表する方針として
おります。しかし「Winny」を介しての情報流出の場合は、IPA(独立行政法人 
情報処理推進機構)の指針を参考とし、公表を控えるという方針をとっておりま
す。これは「Winny」の特性上、公表することによりお客様情報が伝播する可
能制が高まり、更なるご迷惑をおかけする可能性も高まるからです。
今回の件は、この方針に基づき公表を控え、お客様に個別にご連絡を差し上げ
ております。

この度は、広告主の皆様の情報が流出する事態となり、ご心配とご迷惑をお
かけしておりますことを重ねて深くお詫び申し上げます。

2007-03-13

理系なのでおとなしく疑問に思ったことは調べる

だらか理系はいつまでたっても文系の小間使いなんだ。ふんがー

http://anond.hatelabo.jp/20070313163701


そう思ったらid:kibashiri先生がまとめてくれていた。

http://d.hatena.ne.jp/kibashiri/20060501

理系らしくコピペ→置換を駆使してcsvに→エクセルソート→集計。


衆議院480名 12.29%

医学部 7
歯学部 1
工学部 25
工学化学 1
理工学専攻 1
旧制大阪高等医学専門学校 1
農学部 8
薬学部 4
理学部 2
理工学部 9

参議院242名中(15.70%)

医学専門学群 1
医学部 11
工学部 9
歯学部 1
地球環境科学 1
理工学 2
農学部 9
薬学部 2
理学部 1
電気工学科 1

ここまでやってからkibashiriさんのところに既に理系について纏まってた。がっくときたぜ。

どうでもいいけど参議院高卒多くない?ざっと見て60人ぐらいいるよ?

衆議院は12人ぐらいしかいないのに……。参議院だから??

2007-03-06

そういうのはCSV

http://anond.hatelabo.jp/20070306042536

再利用しにくいじゃん

- 転職ならen
- 派遣ならen
 
1ページ中1ページ目を表示(合計:21件)