「Csv」を含む日記 RSS

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

2014-11-13

CSVってなによ状態で困ってます

俗にいう「使えないシステム」ってやつをつかまされたのかもしれない。

今、WEBアプリみたいので、業務ツール作っているんだけど完成が見えてきた段階で実はボロボロのものが出来上がってることに気が付いてきた。たとえば月報とか日報みたいなアウトプット必要データ10種類ぐらいあるんだけど、全部CSVっていう言語しか出せない。CSVエクセルで開くとところどころ文字化けになってて全然使えないし、そもそも罫線もないしページングもされてない。社外のコンサルに聞いても、CSV機械同士がやり取りするための言語で、人が使うデータエクセルで出せるようにするのが普通って言っている。ベンダーにそういったら「それは無理」の一点張りコンサルベンダー瑕疵からなおさせろ、ベンダーはやらない、で膠着状態。CSVだけじゃなくてほかにも必要な集計が画面上でできなかったり、そもそも機能自体が欠落していたりとかしてどうにもならない。

このまま話がすすまないで納期間に合わなくなったら大変なことになるって言っても「仕様変更納期が延びるのは当然だし、その場合再見積もりになる」とかサラッというし。20代のクソガキが!つうか仕様変更じゃねーしおめーの能力不足でこっちが迷惑こうむってんの!って、ベンダーに文句言ったところで何かが変わるとは思えない。だからといって追加で払う金もない。裁判する時間金もない。死にそうです。

2014-10-03

国・地方自治体の口座情報オープンデータしろ

地方公共団体とか国とかの公的団体は、所有している普通預金口座・当座預金口座、郵貯口座を、

 ネットリアルタイムで開示するシステムを入れてみてはどうか?

 (但し、個人との間の入出金取引は、個人情報関係で個人名だけマスキングする。

  個人情報とは関係ない法人名は100%開示される)

★例えば

 「茨木市名義の、関西アーバン銀行当座預金口座の、10月3日の入出金状況」を、

 市民市民以外もネットで閲覧できる。

 「こういう業者に市は34万円支払ったんだ」

 「こういう業者から市に42万円入金があったんだ」

 と全てガラス貼りになる。

 最初からガラス張りのシステムを用意しておけば、

 そもそも情報公開手続きとか、開示申請云々は不要になる。

★恐らく全法人法人税固定資産税消費税等の納税情報が、全てガラス張りになる結果になる。

 つまり、全ての企業の納税額や対政府自治体取引が開示されることになる。

 

 「それは問題だ」という意見もあるだろうが、そもそも法人税納税情報は、隠すべき情報なのか?

★全ての政府自治体の入出金情報ガラス張りにするだけじゃなく、

 そのデータCSV形式で自由ダウンロードできるようにすれば、それを使った各種ビッグデータ解析が生まれる。

 今までにないサービス生まれる。

 企業の与信調査とか、こういうガラス張りシステムがあれば、ものすごく捗る

システムとしても、そんなに難しいシステムじゃないでしょ?

 銀行預金データの中から公的機関所有口座に関する情報だけ

 「外部から読み出し可能」な状況にして、SaaSサービスで外部からデータ取り出しできるようにすればいい。

 ビッグデータ革命起こしたいのなら、公共団体の出納データは相当インパクトあるのだが。

2014-07-22

http://anond.hatelabo.jp/20140722115605

関数型やらオブジェクト指向やらの話に反応してるんだから、ある程度規模のあるソフトウェア人間にとって分かり易く構成する話するんじゃないの?

行書捨てなら、シェルスクリプトがいいだろうよ。

まあ一応Python

print [line.split(",")[0] for line in file("file.csv").readlines()]

個人的には速度以前にifとかforが必要になった時点で、読みやすさの点からPythonにする。

2014-06-18

大学教師が新入生に薦める100冊」のCSV

大学教師が新入生に薦める100冊: わたしが知らないスゴ本は、きっとあなたが読んでいる」のCSVファイルを重複排除ソート出現数3回以上だけを抜き出してみた。記号が統一されていなくて漏れしまっているのもあるかも知れない。(ゲーデルエッシャーバッハの長音風記号はなぜか統一されていて、Amazonでも全く同じ表記

2014-04-11

AV(エロのほう)なウェブサービスを作ったとき発見したこと。

 

世の中にはマニアがあふれている。

これに尽きます

「僕は世の中を知っている大人だ。」なんて

漠然と思っていたりもしましたけれど

こんな身近に知らない世界はありました。

中でも僕を驚かせたのは

嘔吐好き」と「キワモノ好き」の2つです。(´・_・`)

嘔吐好きとか、

ゲロはいてる女性見て、なんで興奮するんですか!? Σ(゚∀゚ノ)ノ

そのゲロかぶって、なんで興奮するんですか!? Σ(゚∀゚ノ)ノ

キワモノ好きなんて、

裸の女性ミミズ昆虫にまみれて、それを食ってんですよ! Σ(゚∀゚ノ)ノ

さすがに気持ち悪くなりました。。。

キワモノAVはサービスデータから除外しました。。)

今、日本人口が約1億4千万人として

男は半分の7千万人でしょ?

エロ情熱がある若者から中年層だとその半分強で4千万人として

その4千万のうち

嘔吐好きな変態さん。

キワモノ好きな変態さん。

ってどのくらいいるんでしょうね。。。

作る人がいて見る人がいるんだから、まあソコソコな人数いるんだろうなあ。。


作ったサービスについて


【らぶらぶAVさーち】

http://love2av.com/

AVの検索サイトです。

ちなみに、ワンクリック検索できるピックアップ検索は私の趣味です。w

最近は、つぼみ紗倉まなほしのあすか臼井あいみがオススメです。www ぐう可愛い!(゜∀゜


内部的な仕組み


Nginx + php-fpm + MySQL で動いています

言語PHP + Smarty + Javascript(jQuery) で書いています

あと、スクレイピング用に .NETwindowsアプリ作りました

え、スクレイピングPHP で作ればいいのにって?

スクレイピングってサイトデザインが変わったら

すぐ誤動作してしまうのですよね。。。

PHPだと対応し直しが面倒なので .NET に逃げました。。。。ヽ(°▽、°)ノエヘヘヘヘ

データ更新


データは、アフィリをやっている

動画サイトのduga さんと、MGS動画さんから持ってきています

アフィリじゃないリンクを置いておきますね。

DUGA

http://duga.jp/

MGS動画

http://www.mgstage.com/

データを常に最新にしておくために


という作業をcronで6時間ごとに実行しています

おすすめの使い方


個人的には

待ち合わせで暇なとき

スマホちょっとエロ画像見よう」 ( ・ω・)

てな感じで使っています

 

2014-02-14

http://anond.hatelabo.jp/20140214071330

日付の計算ライブラリ依存だし、CSVの出力もライブラリ依存の、極めて無能プログラマの俺には関係なかった。

いやいやいやいや、ライブラリ存在することを知っていてそれを使える時点で十分以上に有能ですよ。

# 何でライブラリ呼び出し3行で済む処理を100行以上も費やしてなおかつバグ作り込むかなー……。

http://anond.hatelabo.jp/20140212180803

んで、プログラマー()とか言ってる奴の仕事の大半はただただ命令通りにコードを書いてくだけなんだから一昔まえの事務仕事と一緒。

誰でも出来る簡単なお仕事

なぁなぁ、それってどうやって実現してんだ?

SI界隈でメシ食ってるけど、見てきたコードの9割がクソコードなんだが。今日でも20年前より状況が良くなってる感じがしないぞ。

ヒープとスタック区別も知らないスコープ意味もわかってない時間計算量も空間計算量も考慮されてなくて、

利用者が1人なら動くけど10人で利用すると挙動おかしいとか、

データ100件ならすぐ終わるけど10000件だと24時間たっても終わらないとかメモリがあふれるとか、

月や年をまたいだはずなのに32日になってるとか13月になってるとか、月末締切のはずなのに月末の前日に締め切られるとか、

SQLインジェクションどころか認証もしてないのに他人のパスワード書き換えられるとか、

カンマやダブルクォート入力したらCSVな出力データが壊れるとか、

マルチバイト文字列バイト単位で分割して分割部分の文字を壊すとか、

そういうことがおきないんだよな? おまえのとこでは。

本当にどうやって実現してるんだ?

2013-12-04

http://anond.hatelabo.jp/20131204101200

A社のB部署に導入する新しい業務システムについて

構築担当者さんと打合せが始まりました。

今までExcel管理してたもの殆ど

今後も表組みで管理していきたいので

機能面も丸ごとリプレースしてほしい、と我々に伝えてこられ

非常に困ってしまいました。

Excelのものを作れって言われましてもねえ。

例えばフィルターを多々活用されておられます

タブを任意に増やしてハイパーリンクでつないで

データから引っ張ってきて計算して表組みを作成するなど

できる方は日常的にやっておられるようです。

同様の処理を実現するシステムを構築することは、可能か不可能かで言えば可能ですが

現実問題として時間的にも予算的にも厳しいと思われます

帳票はよく使うレイアウトのものを中心に移行しましょう。

から帳票を増やすと増やした分だけ費用が発生するので

最初にしっかり仕様固めしましょう。

表形式の編集画面はご提供できますが、Excelほど柔軟には作業できません。

列ごとコピーしてデータ貼り付けて表作るという一見簡単そうに見えることでも

作り込んだらそれなりに費用が加算されます

レアな表を作成する場合CSVで保存してExcelに取り込んで加工してください。

・・・とご説明申し上げたところ

担当者さんはげんなりした表情ですっかりやる気をなくされたようなんですが

この先大丈夫でしょうか…

エクセルでできることができない何百万のシステム・・

うちの部署に入れる新しい業務システムの構築の担当になって、昨日から打合せが始まった。今までエクセル管理してたものが多くて結構表組みで管理したいものがたくさんあったから、そういう要望を業者に伝えたら「いや~、、ハハハ・・(だったら今まで通りエクセルでやれば?)」みたいな反応。例えばフィルターとか超使ってるし、タブをドンドン増やしてハイパーリンクでつないで元データから引っ張ってきて計算して表組みを作成するとかいつもやってるような作業が新システムだと厳しい(=できないor莫大な時間と金がかかる)らしい・・。帳票は固定になりますね、帳票増やすと増やした分だけ金かかります、みたいな感じ。いちばんビビったのがコピーペーストができないって言われたこと。列ごとコピーしてデータ貼り付けて表作るっていう単純なことが、何百万だか払って作るシステムではできないとか・・。(CSVで保存してアップロードしてくださいとかなんとか言ってたけどそんなことしてられっか!みたいな・・・)なんかいきなりやる気なくなってるんですけどこの先大丈夫かな・・。

2013-09-20

コンピュータ教育のあり方

振り返ると

現在二十代後半の自分小学校でのコンピュータ教育が始まったタイミング世代です。

始めは「学校コンピュータ導入しました」みたいな申し訳程度な感じだったと記憶しています

  

小学校  

小学校でのコンピュータ教育の内容としてはCD-ROMを配布され、ODへ挿れるとソフトウェアが書き込まれたISO自動起動して、そのソフトウェア上でコンピュータを学ぶという形式だったはずです。

学習ソフトウェア勝手フルスクリーンになるわけですが、今思えば無知小学生OSの設定を変えてしまわない配慮だったのだと思います

実はこのあたりの記憶曖昧なので学習ソフトウェアの内容は以下のような感じだったはずです。

これ以外もあったような気がしなくも無いですが、前提として私は小学生男子なので興味のないもの記憶からすっぽり抜け落ちている可能性が高いです。

  

この中で一番出来が良いのはパラパラマンガツールで、おそらくはプレゼンテーションなどを学ばせるためのものだったのでしょう。

時代を考えるとFlashが出始めの頃でありユーザーインタフェース機能Flash作成ツールから影響を受けていたようです。

ポケモン戦闘シーンを完全再現したことでクラス内でヒーロになったのでこのツールには思い入れが深いですw

感覚として元も近いFlash作成ツールはParaFla!で、ParaFla!とペイントを足して2で割ってタイムラインシーケンスが無い感じでした。

  

地図を学ぶゲーム比較的良い出来で、ユーザーインタフェースシムシティな感じでしたね。思いっきり影響を受けてるようでした。

確かストーリー仕立てになっていてクリックしてるだけで進み、地図記号とか学べるんじゃなかったかなあ?と記憶曖昧です。

  

この学習ソフトウェア、どうコンピュータ教育に活かされていたか?と言えば、何にも活かされていませんでした。

教師は軽くマウスキーボードの使い方を指導するだけで、あとは良い言葉を選ぶなら生徒の自主性に任せて、変な設定等を行わないように監視しているだけでした。

どういう指導要領になっていたかは知りませんが、コンピュータによるオートメーションを過剰評価して授業もオートメーション化出来るかも?と国は考えたのでしょうか?

まあコンピュータ教育が導入された最初期ですから実験的な意味合いも多分に含まれていたと思います

中学校

中学校へ入ると学ばされたのはMS Officeです。

パソコンの起動方法からまりローマ字入力(小学校ひらがな入力)、そしてMS Officeへと入りいます

このあたりは民間パソコン教室と変わりがないかも知れません。

小学校で行われていた学習のオートメーション化への期待は無惨にも崩れたらしく、教師は手取り足取り教えてくれます

  

しかしおそらくは民間パソコン教室と違う部分もあります

それは新規フォルダや新規ファイル作成方法メールWebブラウザの使用方法、その他今現在皆さんが日常的に使うであろうソフトウェア指導が全く無いです。

どうやら学習のオートメーション化は不可能だと気づいたため、今度は思いっき実用に振ってMS Officeマスターを育てるという選択をしたようです。

  

でもこの指導にもおかしな点は沢山ありました。

Wordでは文字の大きさや色、背景色、ワードアートの使用法、図の挿入、印刷などが中心に指導されます

ワードプロセッサソフトが大好きな方は気付いたと思います。そうですWordなのにマークアップ指導が一切ありません。

完全に見た目の変更の仕方と印刷だけの指導であり、Wordなのにアウトラインとか完全に無視です。

  

Excel指導は酷いものでした。

見た目中心の指導を行うことはWordと変わらないですが、Excel関数指導に入ると関数意味ほとんど教えず「B1へ=SUM(A1:A5)と入力してください。はいA1からA5が足された答えがB1に表示されました。次は...」といった感じです。

生徒は教師の指示通り入力するだけで応用とかそういうの全くわかりません。しっかり理解してるのは見た目の変更の仕方くらいです。

  

時代ですね。こうして互換無視オフィスファイルは作られていったのでした。国がそう教えてましたから。

あっそうそうPowerpointとかAccessは授業でやりませんでした。

  

高校

端的に言うのならば同上。

しかPowerpointが追加されました。流石にPowerpointも教えないといけないと気付いたのでしょうか?

  

高校によっては工業高校商業高校高専ではもっとマシな指導をしていた可能性はあります

ただやっぱり社会人から見るとツッコミ入れたくなるような指導が一部で取られていたと思います。国も手探りですから

  

大学

この年齢くらいになると学校の授業で覚えたと言うよりも独学でパソコンを習得してる生徒が殆どになっていました。

全くと言って良いほど学校の授業からは得たものがなく、エロ画像探しのほうがコンピュータリテラシーを僕に与えてくれました。

  

そして大学時代教授ゴリ押しからOSWindowsからEmacsに変わりました。

  

これを教えて欲しかった

今のコンピュータ教育がどうなっているかは知りません。

はてブ小学生向けにビジュアルプログラミングScratch流行り始めてるんだなと知ったくらいでコンピュータ教育の授業の内情がどうなっているか全く知らないです。

なので僕が少年期に受けたコンピュータ教育を前提として「こうだったら良かったのに」というのを書きます

  

データ整理整頓

コンピュータを扱うにおいデータ管理というのは非常に大事です。

何故判りやすファイル名を付けるのか?何故フォルダを作るのか?そういうことをしっかりと指導しなくてはなりません。

とりあえず僕も誰かに教える気になって書いてみたいと思います

  

保存されるデータの種類

保存されるデータの種類は基本的に3種類存在します。

今だけ使えれば良いデータはどうせ直ぐに破棄するデータなので用途合致すればどんな風に作っても構いません。チャットやっててウケを狙うためにネットからダウンロードする時にファイル名を「a.jpg」にするとかそういうことです。どうせ消します。

  

注意しなければいけないのは残り2つです。残り2つは前提として後々見たり使ったりするデータです。

このデータファイル名を「a.txt」とかにしたら何のデータか全くわかりません。

まり後々使ったりするってことは探すってことです。探すのに判りにくいファイル名にしてたら意味もなく違うファイルを開いて探しまわることになります最近流行の「名前重要」です。

  

探すってことは探す場所重要になってきます

このジャンルデータはある特定のフォルダ(ディレクトリ)に保存すると決めておけば探すとき非常に楽です。

そのため各OSは、例えばWindowsならば「マイドキュメント」や「マイピクチャ」「マイミュージック」などを用意してくれてます(ソフトウェア空気を読んでデフォルトの保存先をそういうのにする)。

せっかく用意してくれているので使うようにし、もし自分フォルダを作るとき名前重要ですから判りやすフォルダにしておきましょう。

  

例えばTwitterであるジャンルの話を同好の士に読んでもらいたい場合どうしますか?ハッシュタグを付けますよね?

そうやって名前を判りやすくしておけば自分以外の他人が使う時も非常に楽なのです。

  

「でもよく使うデータを深い階層に置いてたら面倒じゃん」っていう意見もっともです。

実はそのために「デスクトップ」という階層や「ショートカット」があるんですね。

デスクトップアイコンだらけの人ってたまに居ますけど、きっとそういう人はコンピュータ教育は受けたけど保存されるデータの種類を知らない人です。あなたは悪くないですコンピュータ教育が悪い。

  

データの中身

世の中には目の見えない人が居ます。そんな人たちがコンピュータを使えるように「読み上げソフト」ってのがあります

あいろんな意味で"文字通り"読み上げるためのソフトウェアなわけですが、このソフトは何も編綴もないテキストデータを読み上げるとめちゃくちゃ棒読みです。

それが更に平仮名ばかりで句読点もないテキストだと読み上げソフト棒読みで一気に読みあげて目の見えない人はものすごく聞き取りにくいです。こんなテキストは目の見える僕たちでさえ読みにくいです。

そこで僕達は漢字を使ったり句読点を使ったりして可能な限り読みやすします。実はこれがデータの中身にとって重要なのです。

  

句読点は文章を判りやすくする目印ですが、これを付けることをコンピュータ世界では「マークアップ」と言います

読み上げソフトマークアップされた文章だと、何処がタイトルで何処が本文というのが判別できるようになり、更に強調マークアップされている部分では音量を上げたりするので目の見えない人は非常に聞き取りやすくなります

  

もしここまで読んである点に気が付いた人はかなり賢いです。その点とは「目が見えないのは機械も同じ」という点です。

マークアップされた文章は機械にとっても非常に判別がしやすい文章であり、実例をあげるのであれば検索するときに使う「Google」が検索結果へWebページのタイトルを載せてくれるのも、マークアップされたタイトルを拾い上げているからなんです。

Wordでも「見出し」と指定された行は機械的に判別され、アウトライン機能で文書の管理が非常にしやすくなったりします。

PDFでも同じでアウトライン表示されたり、読み上げソフトPDF対応していたらマークアップに合わせて読みあげてくれます

  

少しだけ専門的になりますが、データベースとして使われているCSVファイルJSONファイルも特定の記号を使われているのでコンピュータは楽に判断できるのです。

更にしっかりとマークアップしておけばPDF電子書籍でよく使われているEPUBに変換するなど、他形式への変換が失敗しにくくなる利点もあります

  

コンピュータ教育のあり方

今まで行なってきたコンピュータ教育は正直「コンピュータ教育をしてますよ」という体裁だけを保っている教育の仕方だと思います

コンピュータが使われるようになったか教育に導入し、MS Officeが使われるようになったかMS Officeを教え、IT市場が大きくなったかプログラミングを教える。

高速に変わっていくコンピュータの状況に合わせてしっかり教育対応して居るように見えますが、現状のコンピュータ教育が見ているのはコンピュータの上っ面だけです。だから教育も上っ面になる。

コンピュータ教育ではタブレット端末の導入を現在検討しているらしいですが、どうみてもこれは上っ面な判断です。

  

コンピュータで高速に変わっていってるのは上っ面だけであり基礎の部分は。ハッカーが使ってそうないわゆる黒い画面、つまり端末(コマンドプロンプト/ターミナル)の頃とあまり変わってません。

その基礎を教えずしてOfficeだのビジュアルプログラミングだのを教えても生徒が得るものは何もないと言って良いと思います

正直この記事は総合職さんやプログラマさん、エンジニアさんから見たら「なにそんな当たり前の常識的なことをドヤ顔で記事にしてんの?」って嘲笑されるような内容です。

その嘲笑されるような内容をコンピュータ教育はできていないわけです。

これWindowsじゃなくたって教えられること、最新ハードじゃない中古PC-98だって教えられること、中学生以上は持ってそうなスマホだって教えられることです。

  

ただ教えてれば良いとするコンピュータ教育のあり方を今こそ議論していく必要があるんじゃないですか?とここに主張したい。

2013-07-11

http://anond.hatelabo.jp/20130710162957

ここのブコメほとんどが、やまもといちろうグーグルグループGmail勘違いしてるように思って、しかも大量に☆ついてて笑った。

というのは置いておいて、

本当はそういうのまずいはずだよ。一応これらも国の機密事項だから。そもそも国内でも研究内容漏れちゃったらまずいし。でも使っちゃうんだよね。

そういうのがここ10年ぐらいで変わったなあっていうのは、やっぱりサービス側がその敷居を下げるために、ネット下地を作って色々やってるよなあ。

例えばグループウェアクライアントソフトでやってたのが、ブラウザ経由で操作させるようになった。

(見た目の敷居が低くなったのと、プロキシとかポートブロックをすり抜けてシステム管理者が知らないうちに当事者勝手に使ってる状況を作っている)

Googleが自前のブラウザを作ったのも大きい)

また、ルックアンドフィール。操作性。

ユーザーがすぐ使えるっていう直感性でいうと、一般人YahooGoogleに慣れ、その操作感がデファクトスタンダードになってる。

それに反する操作だと、一般人は分かんないよね。

(また、見た目は昔MacユーザWindowsルックアンドフィールをバカにしてたような、古くさいインターフェースだったりする。

 Mac VS Windowsの一見非生産的なやり取りが、今の状況に与えた影響って少なからずあるんじゃないかなあ

 Gmailの「ラベル」はMacタグ管理

国産グループウェアは、エラー情報が一般ユーザーに分かりづらいのもある。

あとは、Web標準という意味のくみ取り方。

icalvcard対応とか。

国産グループウェアブラウザ版がIEのみ、バージョンに振り回されるのも。

WebサービスほとんどアンチMSに傾いているので、ここで違いも出たはずだ。

からカレンダーicalか、サポートのあるMicrosoft Exchangeかという選択で。

ここで始末の悪いのが、Microsoft Exchangeが高価だからCSVで吐き出して分かる奴がつかえってのがアホな選択。

それで、なんで国産グループウェアがそこまでダメなんだろうって事だけど。

企業契約結んでお金が貰える国産グループウェアと、無料で来て貰ってどう収益化するか必死Webポータルの違いだよね。

2013-06-25

http://anond.hatelabo.jp/20130625232445

これがコード臭いがしない上司というやつか...

受け入れ試験とか基本つまらないし、その分ダミーユーザー名とかコメント名で遊ぶ気持ちすげーわかるわ。

ユーザー太郎1、ユーザー太郎2とかで試験したくないよね。

うちのところはDB管理者が分かってる人で、モバマスメンバー全員の名前が入ったCSVとか用意するとちゃんと作ってくれるw

2013-03-28

Amazon楽天

http://anond.hatelabo.jp/20130327222045

内容は大概同意だけど、うちの場合Amazonが月800~1,000万、楽天は800万前後って感じだなぁ、ちなみに自社サイトは3000万くらい。

AmazonはFBAにすると売れ方が全然違うが、独自の在庫管理システムとか、複数のモール店舗を一括で管理するシステム入れてるショップはFBAはやりずらいんだよね。

※FBAってのマケプレ商品をAmazonに納品して、売れたらAmazon倉庫から発送されるやつね、これだとプライムの対象になる。

客層の違いなんだろうけど、Amazonでスゲー売れるけど楽天はさっぱりってのが結構有る、その逆も有るんだけど、その場合は大抵Amazonが最安なんでマケプレでは勝負になんない場合が多い感じかな。

俺も細々と手数料を抜いていく楽天よりもAmazonの方が手数料は確かに高いけど分かりやすくて好きだけどね。

ただ、Amazon手数料に関してはFBA使用する事で結構変わったりする、FBAの発送手数料梱包代、人件費、運送費で考えるとかなりお得になる。

コストのみを考えると、自社の発送部門の人間全員クビにしてAmaoznのFBAのみにした方が良いんじゃないかと思うくらいですよ。

ただ、Amaoznはよく売れる商品に関してはAmaozn自体が取り扱いを開始する場合があるんで、それが怖い。あいつら本気出すとあり得ない価格でやりだすんで超怖い。

本当かどうかは知らないけど、他の業者に聞いた話だと商品の値付担当は仕入額の確認は出来なくて、あくまで売れる額でやれって言われてるらしい。

バイヤーに対しても、そういった値付けを前提とした価格で仕入れをしろってプレッシャーにもなるって事だそうで。

(まぁ、メーカー系の商品は補填とかリベートとか有るんだろうけども)

本当、どの仕入先よりもAmazonが一番安い時とかあるもんな。

ちなみに手数料に関しては以前税務調査が入った時は、うちは田舎にあるんで税務署員がネット通販メインの会社に関して経験が少なく、説明しても頭を抱えてたのが面白かった。

Amazonに関しては注文1件につき、手数料はコレだけって金額が出てくるんで分かりやすいんだけど、楽天はそもそもの手数料がクソわかりづらい上に、送り状を発行するためCSVデータダウンロードが注文1件につき何円とか、アフィ経由の手数料が取られてるが、どの注文に対しての物なのかは不明とか細々抜かれる手数料を一通り説明したら暫く沈黙した後に、「これ(楽天)に関しては、そのままで良いです」ってほぼスルーだったよ。

2013-03-04

プログラマからWebデザイナー転職して1年と半年経った

Webデザイナーといっても、プログラミング経験があるからCMSカスタマイズ

小規模なシステム構築を任されることのほうが多いけれど。

最近その辺りの仕事のやり方で思うことがありすぎるので書いてきます

見た目の部分しか考えない

見た目っていうのは、デザインのものHTMLについての部分。

通常システムを作る場合設計をすると思うんだけど、まずそれをしない。

というかしないでいいと思ってる。

それはデザインが全てで、最終的に出力されるものデザイン通りであれば、

完成したということになるからだと思う。(もちろんHTMLは綺麗にコーディングする)

デザインしか考えないから、画面の仕様を簡単に変更してしまうし、

それが裏側にどれくらい影響を与えるものなのか意識できない。

見た目やユーザビリティ的にいいという理由で、製造中に画面を変えられてしま

ことが多くてとても困った。

このことは、プログラマデザイナーの衝突の原因にもなるんじゃないかと思う。

データの理解

ふだんはCMSを使っていても記事を入力したりするくらいだから仕方ないのかな、

とは思ったけど、CSVだけ渡されて 「これ取り込んでおいて」とだけ言われたのには

驚いた。

DBphpmyadminインポートエクスポートくらいしかしないから、そのくらいの時間

すむと思ったんだろうか。CSV取り込み機能なんて作らなければ存在しないのに。

DB構造意識しないので、画面上に出力するデータ整合性が取れないときがある。

モックを先に作っておきたいからと言われて、出力する配列を固定で定義してもらっていた

けど、無理やり作るしかない構造になっていたりした。

テストをしない

もちろん動作確認はしてバグがあれば修正というところはやるのだけど、

表示結果が正しければよしとしてしまう。

デザイナーでいうデバッグテストを混同しているところがあるように思う。

からまともなテスト期間なんてないし、費用納期などの問題があると

真っ先に削られてしまう。

僕自身、自分たちで作っていたシステムの見た目を改善したくて(いわゆる業務系

システムの古臭いデザインだったから)こうしてデザイン勉強をしているのだけど、

それでもデザイン重視だなんて思わないし、見た目も機能の一部だと思うので、

できるだけバランスのよいプロセスものを作っていくべきだと思う。

上に書いたことは僕の技術経験が未熟なせいで起きている問題もあるし、

コミュニケーション改善できたこともあると思う。

ただ、周りが誰一人としてシステムに関する理解がない状態で、

システムを作っていくのはプレッシャーがすごくて、

(まともなプロセスでないし、一人で責任を負わなければならないから)

最近は心労がすごくて、辞めようかという気持ちになっている。

Webデザイナーの中には、きちんとシステムへの理解があって、

プログラマーと協力しながらうまくやっている人もいるので、

どうにかなることではあると思うけど、このままではやっていけない気がする。

2012-07-28

シェル操作課題 SQLによる解答例

シェル操作課題 (cut, sort, uniq などで集計を行う) 設問編 - Yamashiro0217の日記の解答例です。MySQL 5.5です。

準備
mysql> CREATE TABLE log (
    ->   id          BIGINT PRIMARY KEY AUTO_INCREMENT,
    ->   server_host VARCHAR(30),
    ->   access_time DATETIME,
    ->   user_id     INT,
    ->   access_url  VARCHAR(191)
    -> );
Query OK, 0 rows affected (0.00 sec)

mysql> LOAD DATA LOCAL INFILE 'log.csv'
    -> INTO TABLE log
    -> FIELDS TERMINATED BY ','
    -> (server_host, @unixtime, user_id, access_url)
    -> SET access_time = FROM_UNIXTIME(@unixtime);
Query OK, 9 rows affected (0.01 sec)
Records: 9  Deleted: 0  Skipped: 0  Warnings: 0
問1 このファイルを表示しろ
mysqlSELECT server_host, access_time, user_id, access_url
    -> FROM log;
+-------------+---------------------+---------+--------------+
| server_host | access_time         | user_id | access_url   |
+-------------+---------------------+---------+--------------+
| server1     | 2012-07-27 13:25:24 |      30 | /video.php   |
| server2     | 2012-07-27 13:25:10 |      20 | /profile.php |
| server3     | 2012-07-27 13:25:15 |       7 | /login.php   |
| server1     | 2012-07-27 13:25:05 |       8 | /profile.php |
| server2     | 2012-07-27 13:26:45 |      35 | /profile.php |
| server2     | 2012-07-27 13:25:10 |      20 | /profile.php |
| server3     | 2012-07-27 13:26:45 |      30 | /login.php   |
| server4     | 2012-07-27 13:27:05 |      12 | /video.php   |
| server1     | 2012-07-27 13:27:45 |       7 | /video.php   |
+-------------+---------------------+---------+--------------+
9 rows in set (0.00 sec)
問2 このファイルからサーバー名とアクセス先だけ表示しろ
mysqlSELECT server_host, access_url
    -> FROM log;
+-------------+--------------+
| server_host | access_url   |
+-------------+--------------+
| server1     | /video.php   |
| server2     | /profile.php |
| server3     | /login.php   |
| server1     | /profile.php |
| server2     | /profile.php |
| server2     | /profile.php |
| server3     | /login.php   |
| server4     | /video.php   |
| server1     | /video.php   |
+-------------+--------------+
9 rows in set (0.00 sec)
問3 このファイルからserver4の行だけ表示しろ
mysql> CREATE INDEX log_ix1 ON log (server_host);
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysqlSELECT server_host, access_time, user_id, access_url
    -> FROM log
    -> WHERE server_host = 'server4';
+-------------+---------------------+---------+------------+
| server_host | access_time         | user_id | access_url |
+-------------+---------------------+---------+------------+
| server4     | 2012-07-27 13:27:05 |      12 | /video.php |
+-------------+---------------------+---------+------------+
1 row in set (0.00 sec)

インデックスを作らなかった場合は減点します。

問4 このファイルの行数を表示しろ
mysqlSELECT COUNT(*)
    -> FROM log;
+----------+
| COUNT(*) |
+----------+
|        9 |
+----------+
1 row in set (0.00 sec)
問5 このファイルサーバー名、ユーザーIDの昇順で5行だけ表示しろ
mysqlSELECT server_host, access_time, user_id, access_url
    -> FROM log
    -> ORDER BY server_host, user_id
    -> LIMIT 5;
+-------------+---------------------+---------+--------------+
| server_host | access_time         | user_id | access_url   |
+-------------+---------------------+---------+--------------+
| server1     | 2012-07-27 13:27:45 |       7 | /video.php   |
| server1     | 2012-07-27 13:25:05 |       8 | /profile.php |
| server1     | 2012-07-27 13:25:24 |      30 | /video.php   |
| server2     | 2012-07-27 13:25:10 |      20 | /profile.php |
| server2     | 2012-07-27 13:25:10 |      20 | /profile.php |
+-------------+---------------------+---------+--------------+
5 rows in set (0.00 sec)
問6 このファイルには重複行がある。重複行はまとめて数え行数を表示しろ
mysqlSELECT COUNT(DISTINCT server_host, access_time, user_id, access_url)
    -> FROM log;
+---------------------------------------------------------------+
| COUNT(DISTINCT server_host, access_time, user_id, access_url) |
+---------------------------------------------------------------+
|                                                             8 |
+---------------------------------------------------------------+
1 row in set (0.00 sec)

COUNT関数の中にDISTINCTを書けるのは覚えておくと便利です。

問7 このログのUU(ユニークユーザー)数を表示しろ
mysqlSELECT COUNT(DISTINCT user_id)
    -> FROM log;
+-------------------------+
| COUNT(DISTINCT user_id) |
+-------------------------+
|                       6 |
+-------------------------+
1 row in set (0.00 sec)
問8 このログアクセス先ごとにアクセス数を数え上位1つを表示しろ
mysqlSELECT access_url, COUNT(*)
    -> FROM log
    -> GROUP BY access_url
    -> ORDER BY COUNT(*) DESC
    -> LIMIT 1;
+--------------+----------+
| access_url   | COUNT(*) |
+--------------+----------+
| /profile.php |        4 |
+--------------+----------+
1 row in set (0.00 sec)
問9 このログのserverという文字列をxxxという文字列に変え、サーバー毎のアクセス数を表示しろ
mysqlSELECT REPLACE(server_host, 'server', 'xxx'), COUNT(*)
    -> FROM log
    -> GROUP BY server_host;
+---------------------------------------+----------+
| REPLACE(server_host, 'server', 'xxx') | COUNT(*) |
+---------------------------------------+----------+
| xxx1                                  |        3 |
| xxx2                                  |        3 |
| xxx3                                  |        2 |
| xxx4                                  |        1 |
+---------------------------------------+----------+
4 rows in set (0.00 sec)
10 このログユーザーID10以上の人のユニークユーザーIDユーザーIDソートして表示しろ
mysqlSELECT DISTINCT user_id
    -> FROM log
    -> WHERE user_id >= 10
    -> ORDER BY user_id;
+---------+
| user_id |
+---------+
|      12 |
|      20 |
|      30 |
|      35 |
+---------+
4 rows in set (0.00 sec)
個人的な感触

2012-03-29

http://anond.hatelabo.jp/20120328185251

あくまで自分経験談だが

定期的にサンプリング分析されてcsvの形で出力されるデータとかがあるんだが

1装置分析時間に差が出ないからと将来必要になるかもしれないからと本来は必要ないデータまで含んでファイルに出力されることがある。

そういうファイルからほんとうに必要なデータ項目だけを引っ張り出して1ファイルに纏めたりするって話じゃないかな?

自分場合環境中の温度とかのデータ連続測定装置だった。1時間に1個ファイルが出来る装置で1ファイル当たり30種類くらいデータが取れる。

これを1つの項目だけ経時変化を見たい場合csvファイルからその1項目だけ抜き出してその項目だけの経時変化を1つのファイルとしてまとめる。

仮に1月分を1つのファイルコピペ30秒とすると30日*24h*0.5min/60min=6hour概算だが人力だとこれだけ作業時間がかかることになるのを

最初に準備に4時間かかったとしても自動化してやれば2時間の短縮って計算になる。

仮に同様の装置10個、20単位であったとしたらそれぞれの装置に対してデータを抜き出す箇所、出力ファイル名が被らないようにという設定に"仮に1時間"かかったとしても

ベースが既にできてるわけだから残りの装置に対してはそれぞれ5時間の短縮。これがこういう性質のデータは数ヶ月、年単位で取るものから装置の数に比例して

人力コピペだと数人専従の雑用スタッフが必要だったところが要らなくなる計算になるんだ。

2012-03-08

SQL JET ODBC OLEDB MDB ACCESS CSV 複数のテーブル JOIN 結合

3つ以上のテーブル(表)を結合させたSQL文を発行させると

'演算子がありません'

エラーになる。


http://homepage1.nifty.com/rucio/main/VBdotNet/Database/Database10.htm

の「3.複数テーブルの結合」

に、解決方法が。多謝。

2012-02-26

http://anond.hatelabo.jp/20120223114947

まずは、発注者上司に取材してみよう。

(1)1年間限定ですか?それとも、問題がなかったら、3~5年など継続して使いますか?

 ・通常は、ソフトウェア瑕疵担保は1年(1年は、ソフトミスは、開発業者が直す)。

 1年以上経つと、責任がなくなるので、保守などが必要になる。

 ・仮に、サーバトラブルや、システムトラブルで、システムが止まったときに、どの程度止まることが許容できますか?

 ・年数は、自動化するか?どうか?の見極めに使う。

 月給25万のサラリーマンだと、年収300。保険等も加えると、人を雇うコストはそれなりに高い。

 数年使うのであれば、ある程度、初期投資をしても良いという判断が働く。

 (400万でも、5年使うのであれば、年間80万。)

 普通スタッフ一人(が専任・手動で今回の対応を行う)やとうのと、

 システム400万は、会社から見ると、経費の観点では変わらない。

 やってみなきゃわからないだと、あったらいいな便利機能は極力削って、必要最小限の機能

 対応して、実際のオペレーションで不便な箇所を、追加発注で、自動化等の修正してもらえばいい。

(2)個人情報管理しますか? 初期の申込み専用のシステムですか?

 ・多分あると思うので、SSL必須ベリサインでなくても良い。

 ・毎年~数年毎に更新必要。担当者が変わる(自分が辞める)ことも想定して、引き継ぎ項目に加えておく。

 ・多分あると思うので、サーバは専用にした方がいい。(Amazon安い)

 ・ドメインも多分必要。毎年~数年毎に更新必要なので、引き継ぎ項目に加えておく。

(3)バックアップは必要ですよね?

 ・ハードウェアみたいな形があるものは必ず壊れる。オペミスで飛ばすこともある。何らかの方法で、サーバ以外に、入力データを持っておく。暗号化はしておいた方がいい。

 システムは納品業者が持っているけど、入力データは持っていない。サーバが飛んだら、取り戻しがきかない。

 ・できれば、(お客さまの名前は伏せて)、メール自動返信する場合には、自社スタッフにもメールCCしておく(個人情報はのせない)。最悪、バックアップがない状態で、サーバが飛んだときでも、お客さまのメアドは判る。

(4)入金管理はやりますか?クレジットカードは取り扱いますか?

 ・クレカを取り扱うとすれば、それはどこになりますか?

 ・入金管理等の履歴も、WEBシステム上で管理しますか?

 (WEBシステム管理すると、顧客情報などをまとめて、CSVで落とせる。細かいところはエクセルで調整が効く)

(5)携帯や、スマートフォン対応しますか?

 ・講習会ターゲットによる。やった方が、反応は高くなる。

 ・お金もかかる。

(6)会員サポートは、どうしますか? メールだけですか?電話対応しますか?

 ・5000人超えると、個人情報保護法適用業者になる。

 ・電話対応メール対応どちらも担当者が変わる(自分が辞める)ことを想定して、マニュアルや、メール場合には回答テンプレートを作っておく。

(7)会場の増減、時間の変更、会員のキャンセル等は、誰が、どうやって、対応しますか?

 ・会場の増減があるのであれば、WEB管理画面から管理できるのがいい。CSVで落とせること推奨→エクセル管理できる→自社対応できる

 ・仮に、会場の増減や、会議キャンセル時間変更等があった場合には、どのようにして会員に通知しますか?

  システム作る方がいいけど、100名程度なら、一括送信できるWindowsアプリがあるからそれを使う。システム化すると、お金がかかる。

(8) 過去キャンセル率、問い合わせ率を教えて下さい。もしくは、調べる方法を教えて下さい。

 ・100名応募で、20名キャンセル場合、本当は、キャパあるからもったいない

 過去実績から、大目に人員を募集して、席が足りない場合には、どうにかなるか?あたりを相談

 ・キャンセルは、返金等にも影響。

 ・問い合わせ率は、人間がやった場合費用を算出(兼任もあるので、一概に比較できない)

 システム見積もりも聞いて、どちらが安く済むかを上司相談

 多いのであれば、自動化推奨。

 ・メールアドレスベースは、管理が楽なのだが、不通トラブルも多い。

 それを避けるのは、最初に、疎通確認してから、問い合わせの方式がベターではある。

 ・簡単に、会員様の情報ID+PWで管理できるサイトを作ると、

 会社側の管理コストが減る。(最初の質問のどのくらい使いますか?によってくる)

 ・自動化もできるけど、最初は、手動対応推奨。(データ集めのため)

(9)デザインテストにどのくらいの費用がかけられますか?仕様書マニュアルは必要ですか?

 ・デザインは、決定権者の好み(好き、嫌い)が入るので難しい。

 システムは、論理性で押せる。(いる、いらない。高い、安い)

 ・継続的な業務であれば、仕様書マニュアルも作ってもらった方がいい。

(10)納期はいつですか? 仮に、何らかのトラブルがあって、

お金品質時間のどれかを犠牲にしないといけない場合

この3つのプライオリティはどうなりますか?優先度をつけてください。

参考までに、予算がまったくない!というのであれば、

ワードプレス+問い合わせプラグインで、何とか物はできる。

メールをもらった後は手動管理。手動の人は大変だけど。

2012-02-23

http://anond.hatelabo.jp/20120223114947

端的に言うと『ダケ』じゃないから。

 

年間に1万人 と書いてあるけど、会員登録するのか?顧客管理するのか?がまったくかかれていない。

100会場が固定なのか、追加・削除の編集機能が必要なのかかかれていない。

追加・削除もどの程度かんたんなUIが必要なのかかかれていない。 CSVファイルおいておくのとWebDB使ってWebから編集可能では山ほど違う。

デザインについてかかれていない。

そんな指摘が山ほど。その指摘を無料でというのは無理すぎる。それがコンサルティングという。

 

正直、会員登録なし登録時にフォームから入力だけ、登録されたらメールが飛んでくるだけ あとは 事務員さんがメール読んで、手作業でやってくれ的なものなら20万とか、もっといかもだし

1万人の管理登録するし、キャンセルとかも扱うし、たまにDMとかも飛ばしたいし、電話番号含め、サポート対応するし・・・

会場とかのアナウンスとか時間とか場所とかアクセスとかも、表示して管理していくなら 数百万だろ。

 

よくあるのが、簡単ですよね。20万のでいいです。って担当者が言う。>契約する。>社長が 鶴の一声で会員登録必要とか言い始める > 予算増額希望 > ぼったくり!高い!ありえない!詐欺だ!言われ始める。

 

たどり着くところがシステム屋としては、知識のない人とはトラブルが起きるので極力かかわらないか、はじめから数百万の方しか売らない。

 

まりにも、よくあるケースすぎるんだよこういうの。

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向けのソートするプログラム書いた。他にどんなやり方あるのかな。

ログイン ユーザー登録
ようこそ ゲスト さん