「正規化」を含む日記 RSS

はてなキーワード: 正規化とは

2016-03-18

住所入力フォームの全角強制について

Webフォームで住所入力するときに、「千代田区千代田1-1-1」みたいなのがダメで「千代田区千代田1−1−1」みたいに数字

ハイフンも全角入力しないといけないところが多くていらっとするんだけどなんでなの? 手抜き?

全角ハイフン変換もダッシュとか長音とか変換されちゃって再変換しなきゃなんないこともあるし。

データベース内では全角統一してるんだとしても、格納時に正規化すればいいと思うんだけど。

2016-03-12

保育園落ちるのは、不要な申し込みをしてる奴らのせいですよ。

割と待機児童が多いと批判される市の公務員なんですがね。現場感覚から指摘させてもらうと、現状でほぼ保育園の数と定員は足りてるが不必要な申し込みが多すぎて足りていない実態があります

政治が悪い、役所が悪い、と責めるのは構いませんし、たしかにそういう側面も有りますから声を上げるのは良いことですが、利用者の質についても問うべきです。

数年ほど前ですが、国勢調査の基礎統計(昼間人口動態)を元に就学前児童に対する保育所必要率を28%と算定しました。

まりどーいうことかといえば、国勢調査世帯状況から共働きだったり、核家族だったりで明らかに保育が必要児童数と、一年前の就業状態統計と出生数をクロスマッチさせて、出産を機に仕事をやめた人数の推計資料など、割りと横断的に公的統計資料を駆使して算出したのです。当然ながら地元大学統計学権威にも協力を仰いで算定したのがその数値です。

地域性もあるため必要率は変動するでしょうが都市部は似たような数字になるはずです。

で、ウチの場合現在の利用率が32%ぐらいあるので、統計値と比べると4%ほど乖離しています

この原因については抽出調査利用者実態調査をして、本来保育園を利用すべきではない人が利用しているために生じている誤差だろうという結論に至りました。

具体的に言えば保育料は世帯収入によって利用料金が変わるのですが、国勢調査世代世帯収入分布と保育料の利用料認定分布クロスマッチすると、明らかに歪なアンマッチが表面化しています

現場人間の肌感覚統計資料裏付けをとったものですが、結局これを正規化する動きは出来ないので審査方法を変えるなどして工夫しましたが、痴呆公務員に出来ることな限界があります

政治が悪いのではなく、じつは保育所のお迎え駐車場小一時間井戸端会議してるキノコヘッドたちが自省すれば、保育所は足りてるんですけどね。

それがわかってるから保育園を増やせないんですヨ。

2014-12-17

http://anond.hatelabo.jp/20141217051014

アルゴリズムがわかってるにこしたことは無いけど「コンピュータってやつの根っこ」ってそれだけじゃないし。

コンピュータアーキテクチャとかネットワーク/プロトコルとかもわかっててほしいし、各種OSでそれぞれのコマンド使って情報引き出すノウハウも持っててほしいし。



プログラム限定しても、アルゴリズムの知識以上に、名前付けのセンスとか、分割・整理のセンス重要だと思うし。

データベース設計だってアルゴリズムがわかればできるってもんでもないし、業務ロジック独立正規化して設計するのが原則RDBと、あらかじめクエリを想定して設計するドキュメントDBだと、全然考え方が違うし。



オープンソース活用にしても、今のフレームワークミドルウェアって、アルゴリズムレベルの知識だけじゃあ、ソース読んでも設計思想とかわからなくてPoEAAとかのアプリケーションアーキテクチャ設計の知識も必要だし。

実際使おうと思ったら、ソース読むだけじゃなくて、ドキュメント開発者ブログメーリングリストもチェックするべきだし。



色々考えると、英語ソースコード、問わず原典にあたって必要な知識を増やす姿勢と、それを整理して伝える力が重要ってことになる。

面接でやるとしたら、最近読んだ本、ドキュメントを挙げてもらって、説明してもらう、とかでいいんじゃないかな。

2014-06-15

http://anond.hatelabo.jp/20140614001149

戦前は、ホワイトカラー月給制、ブルーカラー日給制という厳然とした区別があった。日給制の人々は、月給取りになりたくて(家族に対してそう装いたくて)、日給月給という、計算は日給、支払は月給にしてもらった。戦後労働市場の需給がタイトになって、企業が囲い込みのために日給月給の人も月給化、正社員化したけれど、メーカーでは給料表が別体系なのが多い。そして、派遣を含めた非正規化は、ホワイトカラーも含めた単純労働を、再び組織市場調達から一般市場調達に戻そうということのように見える。労働の需給がタイトになればウニクロのように正社員だ、というけれど、景気が悪くなって緩めばまた戻すよ。

2014-06-04

http://anond.hatelabo.jp/20140604142859

nullableなDB設計は基本ダメだぞ。

余程「無い事当たり前」もしくは「無い事あっても何とかなる」データ以外はnullableにしてはいかん。

具体的には、下記のようなデータは「nullableにしてもええ」が、(性別が必ず二つでもないし分からん場合もあるし、何より性別システム制御されることはまずない)

CREATE TABLE PROFILE(

ID SERIAL,

NAME TINYTEXT NOT NULL,

SEX TINYINT NULL /* NULLにしてもいいやつ*/

);

下記のような「権限」とかについてはnullableを設定してはいけない。

CREATE TABLE 権限(

ID SERIAL,

NAME TINYTEXT NOT NULL,

AUTH BOOL NULL /* nullにしちゃアカン奴 */

)

あるかないか分からないけどもシステム制御する必要がある場合は、テーブル構造をこうする

CREATE TABLE ユーザ(

ID SERIAL,

NAME TINYINT NOT NULL

);

CREATE TABLE ユーザ権限(

USER_ID INTEGER UNSIGNED NOT NULL /*このカラムユーザ.IDと同じになる*/

AUTH BOOL NOT NULL

);

権限がある/ないユーザのみユーザ権限テーブルにレコードを持つ、って形式だな。

それ以外が未定義

まあ、普通に正規化」ってやつやが。

迂闊にNULL化のカラム作る奴は基本死ねばいいと思う。集計面倒くさいからな。

2014-03-29

ワーキングマザー問題につい思う

定時で帰ってもらってそこから引き継ぐ。そしたら私はいつまでたっても定時で帰れない


これワーママが考えている以上に深刻な問題なんだけど、やはり一旦非正規に鞍替えしてもらうしかないと思う。

特に広報部とか必然的にワーママだらけなってしま部署では、そうでもしないと他の人の負担半端ないブラック企業ならぬ「ブラック部署」化する。


正規化してしまえば、しない時に比べてアンバランス是正に人事が動きやすくなる。


あ、あと、メール署名欄に「勤務時間10:00〜16:00」とか書くのはやめた方がいいと思う。

社外の人から見たら、「じゃあ他の人を担当にしてよ」って言いたいし、社内からしたら「じゃあ急いでいる俺はどうすればいいの?お前だけ権利主張?」と、ワーママ以外の全ての人が不幸。

2014-01-27

http://anond.hatelabo.jp/20140127134314

世界規模=全世界隅々までじゃないだろ。

世界規模でないからビッグデータではない

それは肯定するけど、Googleの規模が、コンビニの規模と同じって事か?あきらかに規模小さくね?

http://ja.wikipedia.org/wiki/%E3%83%93%E3%83%83%E3%82%B0%E3%83%87%E3%83%BC%E3%82%BF

ビッグデータサイズは、常に動いている目標値であり、単一のデータ集合内では、2012年現在数十テラバイトからペタバイトの範囲である

定義上は 多めに見積もってようやく 下限ギリギリに入るけど ペタバイト クラスが 一般的ビッグデーターじゃね?

1桁から2桁 足りないよ。

 

売上高から逆算すると1レコード1K ぐらいで、ようやく1テラ/月だけど 正規化された売上DB普通レコードそんなに無い。

侮蔑表現が入っていました。ごめんなさい。

2013-12-08

https://twitter.com/souretu_bot/status/409150258795401217

[2005/11/13(日) 22:21:36]若い頃の思い出って大切だと思う。てか、老人にとってそれが全てだろ。 青年時代恋愛の一つもなかった、愛してくれた女性の一人もいなかったという記憶が、 老人喪男にどう圧し掛かるんだろうな?その前に狂ってしまってるかもな。

そっか。そうなんだな。正規化すると、「自分を愛してくれた女性」という体験も原体験も、自分人生には無いのだ。母親も、親友も、恋人も。



Tumblrで見かけたんだと思うけど:

ブサメンの末路は、告白せずに嘲笑されるか、告白して嘲笑されるかしかない」

非モテは難しいこと考えるくらいしかやることがない」

まさにこれ。



https://twitter.com/syakekan/status/409158707444854784

https://twitter.com/syakekan/status/409158195995607040

女の子と話をしていて、非モテブサメンを嫌いだという人の多くが、そういう人と話したこともない、という事実を目にするたびに、人間洗脳ってきっと簡単なんだろうなって思う。

これは本当。女子大生がな、悪気もなしに非モテブサメン嫌いって言うんだよ。で、「実際イヤな思いさせられたの?」って聞くと「存在自体がキモい」って言うんだ。 こういう洗脳は大人がひとつひとつ解いていくしかない。この年齢のうちに。>RT

あたまでっかちになっているんだよね。

自分の体験したことだけを信じろ」「歴史偉人や他人に学べ」

どっちの極端に偏ってもダメだと思うけど、そのバランス後者偏重してしまってるんだよね。

あとアイドルとか役者とかの、美しさへのブームの弊害もあると思う。

「美しくないものは、存在価値がない」という思想。それが自身や他者や世界観に影響を及ぼしている。




まあ自分もその頭でっかちになってるんだろうけど、もう「恋愛しよう」とかいモチベーション、気力と体力、リソース配分の優先度設定、そういうものがなくなってしまった。

恋愛意識するとつらくなるから、既婚者や恋人がいる女性のほうが安心して話ができる。変な気を起こさないから。

フリー女性だと変な気が起きやすいので、その場合は「俺は嫌われている」という仮想敵国みたいな設定をしている。

そのほうが「恋愛本能」のようなモノが働かなくなるのでオススメ。それが働いてしまうと、つらい思いしかしないし、つらい結果しかいから。

2013-10-21

衣食足りて礼節を知る、これを実践すれば税金未納率は確実に減るのに……

お金の無い者から徴収しても回収率が悪いのは当然である

例えば雇用面では今後非正規化に伴う雇用流動化が大きく進むだろう。その一方で給与体制や労働条件経営者側に大幅に有利になる仕組みを作って労働意欲を損なわせ、貯蓄に励み、消費を押さえがちになる悪循環に陥ってしまっている。そしてこれを常に煽動し更には増税路線を取ったため、誰も彼も国民年金を納めようという気力がなくなるのだ。

これではお話にならない。子供のお遊戯ではないのだから、絞るだけ取っても回収率が低いのは当然でその辺り安倍総理および自民党経済音痴と言わざるを得ない。

古の名宰相管仲に倣って、与えて取る事を実践するべきである

無い者から取って何になるだろうか、与えて国民を潤わせて初めて税金を納めようと努める余裕が生まれるのだ。

日々、困窮している人間に追い打ちのように雇用流動化を進めては、あるはずの労働力は賄えるはずがない。その上、賃金が安い外国人労働者を採る移民政策を立ち上げようとするのは、

如何にも現状を理解出来ていない、目先の利益しか考えていなさそうな人間がしそうなことだろう。これには大きな問題が含まれる。

例えばドイツ東西時代には、トルコ人や中国人など安い労働者を大量に獲得し労働を強いていたが、東西統一後、西ドイツ労働者東ドイツでも働き始めた影響で外国人労働者の問題が浮き彫りになった。後にネオナチと呼ばれる外国人排斥運動家が増加し社会問題になった。

近年ならば、中国に進出し中国の安い労働力を軸に生産工場を次々に起こしていた日本企業が、その後技術資本が軒並み現地労働者に乗っ取られた、いわゆるチャイナリスクの被害を被った事は記憶に新しいと思う。

今、正にこれと同じ状況が日本国内で行われようとしているのである

日本人生産力が乏しいか外国人積極的採用するとか外国資本を導入していくといった発想をどうか見直して欲しい。

フランス移民問題現在も深刻化しており、安易移民政策が如何に愚かしいか物語っているが、これを実践しようとしているのである

外国資本に乗っ取られるなどは前例があるため多少リスキーだが問題ない。

しかしながら、日本国内の問題を日本人に求めず海外に求めて成功した試しがない事をまず実感するべきである

日本人生産力が低下しているのは、終身雇用制度崩壊非正規雇用の大幅な緩和政策が原因であり、また今後実施されようとしているホワイトカラーエグゼンプション等正規労働者にすら、労働を強制する等の措置が取られれば、今の生産力ないし国民総生産が確実に減退するだろう。

日本企業日本人労働者に見返りのない安い労働力を求め過ぎたために、疲弊し生産力が落ち込んでいるにも拘らず、今後も今以上の労働者に痛みを伴わせる悪法実施しようとしている。

このような悪循環は更なる悪循環しか呼び込まない。

そうではなく、古の名案を採用し、与えて行く事が将来的な大幅な回収や生産力の向上に結び付く事である

これは実例がある話であり、また明治期の日本の急進的な成長、富国強兵路線にしても戦後経済成長にしてもまず与える事を実施した結果、生産力が増えて国民の中に愛国心を芽生えさせていったという素晴らしい軌跡がある。

これを実践せずして、経済が蘇る事はないし、税金未納を防ぐ事にならないと断言する。

2013-08-02

インターフェースとかちゃんと設計すれば必要ない。複雑にするだけ。

上司言葉

インターフェースとかそんなものをちゃんと設計を考えれば必要ない。複雑にするだけ。

リファクタリング必要を説明したところ…)バグでもないのに動いているシステムソースを書き換える?ふざけるな

Javaジェネリクスを見て)なんだこれは、ちょっとからいから説明して……ふむふむ、わかりにくいか配列しろ

DB正規化DBの使っていないテーブルの洗い出しという意味で使用)

UMLクラス図(フローチャートのこと)

Javaの最新は6(2013年言葉

JavaScript?あんな簡易言語なんて使えるのか?

(昨今のStruts脆弱性ニュースを聞き)よし!攻撃をされていないかチェックだ!ここのページ(なんかのニュース)を参考にして調査報告をしてくれ(Strutsは使っておりません)


役員言葉

昔ながらの静的でApacheのみで動く会社サイトについて)なんか簡単でいいからさ。資料問い合わせフォームみたいなのを作ってさ、メールが営業に飛ぶようにしてさ、そして問い合わせした会社データをためておい統計みたいなのをだしたいんだけど。

ほんと簡単なものでいいからさ。デザインとかは気にしないからさ。簡単なエクセルみたいなので出せるくらいでいいからさ。一週間くらいでできるかな

2013-07-19

DBのテーブル設計の難しさは異常。正規化の事ばかり考えたら、再帰的になって負荷はかかるし、表現の自由度(集計とか)も失われる気がする。何より時間がかかる。学習コスト半端ない。だから正規化してテーブル増やすより、カラム増やして要件満たされるならそれでいい気がする。

2013-07-09

http://anond.hatelabo.jp/20130709112301

システム側がスクリプトか何かを使って、全角英数字を半角に変換するなどの正規化を行うべきだな。

人間ルール完璧に守らせようって無理だし。

2012-09-04

"Hello world!"

このお話はたぶんフィクションです。実在の個人や企業とはあんまり関係ありません。そういうことにしろください。




10年前、20代になったばかりの頃の僕は、今思えば本当に最低な生活を送っていた。高校を中退し、実家とは疎遠で、友達もなく、金もなく、夢も希望もなく、ただバイト先と自宅を行き来するだけの毎日。いつも視界には霞がかかったようで、底の見えない空虚さだけが僕の心を支配していた。

それでも趣味らしいものはあった。オンボロマシンRedHatを入れ、ダイヤルアップの細い回線自宅サーバを立て、Perlでガラクタのようなプログラムを動かす。そんな子供じみた遊びだけど、プログラムを組んでいるときだけは空虚さを忘れ、画面の中に没頭できた。

ただ、そのときの僕はもうすでにいろんなものに打ちのめされていて、若者にありがちな全能感などというもの霧散していた。自分プログラミングで何かを成すだとか、それを仕事にしようなんてことは一切頭になかった。このまま夢も希望もなく人生を終えるのだと、そう思っていた。

それでも転機は訪れる。

勤めていた工場で派遣切りにあった僕は、「働きたくないでござる! 絶対に働きたくないでござる!」とか言いながらニート生活をしていた。そろそろ翌月の家賃も払えなくなってきたころ、派遣会社から電話がかかってきた。「プログラム開発の仕事があるんですがやりませんか?」と。そういや履歴書だかスキルシートだかに、Perlがどうたらとか書いたっけ。実務経験もない中卒に仕事まわすとかwww ……とは思ったものの、このままでは本気でホームレス一直線だったので引き受けた。

はじまりはそんなもの。たいした覚悟があったわけでもない。

派遣された先は従業員数10人くらい、パートさん含めても50人くらいの小さな会社だった。現在手書きの伝票でやっている処理をWeb化したいのだという。システム担当者はおらず、事務員さんがExcelAccessを使える程度。すべて僕一人でやらなければならない。マジか。

ともあれ、まずはサーバである。後々の運用を考えるとLinux系は使えない。事務所の片隅に放置されていたWindows 2000マシンApacheを入れてそれでよしとした。

次はデータベース。でもこの頃の僕は「正規化ってなんれすか?」というレベルだったので基礎から勉強した。なんかMySQLってのがいいらしい→社長に申請→「今Access使ってるからそれでいけ」→「はい」→パフォーマンスの面で問題出るだろうなとは思ったがしょうがない。

次は言語最初はPerlで書こうと思ってたけど、PHPってのが流行ってるらしいのでこっちにした。ウホッ! いい言語……。

そして業務内容を把握するため、現場あっちこっち駆けずり回りながらヒアリングする。ときには部長から愚痴を聞かされ、ときにはパートのおばちゃんから誘惑され、そんなこんなを繰り返し、仕様をつめていく。

そして数ヶ月かけて開発したシステムの稼働である。そのときのことは今でも忘れない。

現場の人がラインからデータ入力する。サーバデータが送られてくる。別の事業所からも送信されてきてる。問題ない。事務員さんが伝票処理を行う。問題ない。すげえ、ちゃんと動いてる。お遊びで作ったプログラムではなく、本当に本気の業務用プログラムである。それを僕が1人で作ったのだ。このプログラムで業務がまわり、利益を生み出すのだ。社会に対して、何らかの作用を及ぼすのだ。僕みたいなクズにでも、そんなことが可能だったのだ。

そのことに気付いたときの感動を、僕は今でも忘れない。




それからちょっといろいろあって、ホームレスになった。うん、急展開なのはわかってる。でもこの間のことは語ってもあまり面白くないし、公序良俗に反する話もあるのでざっくりはしょる。どうせフィションなんだから細かいことを気にしてはいけない。

話を戻そう。

ホームレスになってからの数日はひどい精神状態だった。足元から世界が崩れていく感覚。視界がぐにゃりと歪む。帰りたい。でも帰る家がない。だからホームレスというのか……というトートロジーを何度繰り返しただろうか。

もうあまり覚えていないけど、このときの僕は本当にもう何もかもどうでもよくなってたと思う。ただ、自分の全財産がバッグ1つしかないということに対する心地よさ、開放感があったのはよく覚えてる。そんな状況で地べたに座り込んで見る風景。きっと、今はもう見えない。あの頃の僕にしか見えない風景が、そこにはあった。

いろんな人と出会い、流れ流れて、最終的に西成のあいりん地区にたどり着いた。関西圏の人には説明不要かもしれないけど、よく言えば日雇い労働者の街、ぶっちゃけて言えばホームレスメッカである。今はもう綺麗になってしまったし、治安もそこそこよくなったけど、僕がいた頃はまさに「カオス」としか表現のしようがない状況だった。

どこから持ってきたんだといいたくなるようなガラクタばかりを並べた泥棒市。簡素な骨組みにビニールシートをかぶせただけの飲み屋。「ないかーないかー」と声が聞こえてきたので見てみると、警察署の近くなのに道端で堂々と丁半博打をやっている。コンビニトイレ張り紙には「トイレが詰まる原因になるので注射器を捨てないでください」とある。いやトイレが詰まるとかの前に気にすることがあるだろ。ケンカなんて日常茶飯事。頭から血を流したおっさん普通に歩いてる。数百人規模で並ぶ三角公園炊き出しは圧巻。四角公園の炊き出しでは誰もいない場所にワンカップの瓶とかがたくさん並んでる。何かと思って聞いてみたら「あれで並んどることになってん」と返ってくる。学食の席取りルールみたいだ。ああもう全然書ききれない。

でも一番印象に残っているのは、南海線の高架下、うず高く積まれたゴミ山の前でガラクタ解体していたおっちゃんのこと。奇声を発しながらハンマーを振り下ろしていたおっちゃん。その両目は、これ以上ないほどにキラキラと輝いていた。その鉄屑を売った金でビールが何本買えるか皮算用でもしているのか、あるいは幸せになる魔法の薬でもキメているのか、そのときの僕にはわからなかったけど。

そして、人生を投げ出していた僕に付き合ってくれたおっちゃん、あなたのことも忘れません。モーニングをおごってくれて、いろんな話をしてくれて、聞いてくれて、役所の福祉課まで連れて行ってくれたおっちゃん。あなたがいなければ、僕は今でも西成でぬるま湯の日々を送っていたかもしれない。

いろんな人に助けられて、ホームレスの施設に入ることになった。舞洲という人工島にあるのだけど、これがまた周囲に何もないのだ。スポーツ関連施設、ゴミ処理場、物流センターが点在するくらい。コンビニ1件ありゃしない。だけど施設での生活は意外にも楽しかった。2段ベッドが6つ並んだ12人部屋。むさくるしいけど、みんなバラエティに富んでいた。刑務所上がりのいかついおっちゃん、虚言癖のひどいおっちゃん、ほとんど一日中寝てるじいちゃん、薬のフラッシュバックがひどい兄ちゃん。そんな人達の中で過ごせば、自分がどれほどクズであっても気にならない。やはり僕はこちら側の人間だと再認識した。

市街地にある施設へ移ってからはいろんな仕事をした。生駒の山奥にドブさらいに行ったり、事務所移転バイトで腰をやってしまいそうになったり、なんやかんやあったけど、長くなるのではしょろう。結局のところ、またプログラマをすることになるのである

そろそろ身バレしそうな領域に入ってきたのでここでもう一度強調する。このお話はたぶんフィクションです! たぶんフィクションです! 大事なことなので2回言いました。




そう、またプログラマとして働くことになった。今度は従業員数300人くらいの大きな会社である日本人なら誰でも知ってるであろう大企業の子会社ということもあり、本社からの出向社員東大京大卒当たり前みたいな状況。そんな人達の前で中卒の僕が前に座ってプレゼンやら仕様検討会やらをするのだ。何の罰ゲームだよ……。

最初に思ったのは、「ここにいる人達は育ちがいい」ということだった。みんな礼儀正しい。喋り方や立ち居振る舞いまで、今まで僕がいた世界とは何もかもが違っていた。まるでドラマに出てくるような「ちゃんとした人生を送っている人達」だ。そんな人達に囲まれていると、「生きていてごめんなさい」と言いたくなる。本当に。

他に驚いたこと。社内で連絡を取り合うのにメール使ってる。やばい。社内メーリングリストとかもある。やばい。定期的にミーティングとか勉強会とかもする。なにそれ怖い。自分がいっぱしの社会人になったかのような錯覚に陥る。ちょっと前まで西成でゴミ拾いのバイトしてたのに。「勘違いするんじゃない! 西成の日々を思い出せ!」と何度も自分に言い聞かせ、自我を保った。

とはいえ、萎縮してばかりもいられない。気付いたことはどんどん提案した。あちこちに散らばっている共通の処理をライブラリ化したり、サーバで負荷がかかっている部分を改善したり。却下されたものも多かったけど、採用されたものもそれなりにあった。業務の改善案を考えるのは楽しい。誰かがプログラマの三大美徳に「無精」を上げていたっけ。極度のめんどくさがりで、楽をするための苦労は惜しまない僕には、こういう仕事天職なのかもしれない。

システム開発の方も順調に進んでいた。この頃はMicrosoftですらWeb版のOfficeを出すような状況で、デスクトップアプリに比べても遜色ないレベルのWebアプリがどんどん出てきていた。この会社で開発しているのも、そんなAjax技術を多用したWebアプリだ。JavaScriptを用いた本格的な開発に最初はとまどったけど、書けば書くほど言語自分の手に馴染んだ。クロージャprototypeといった基礎をちゃんと学ぶと、書けるコードレベルが段違いに上がっていくのが楽しかった。

仕様にもこだわった。実際に使う人がどんなふうに操作するのか、何度も何度も脳内でシミュレートし、どんなUIが最適なのか、データ構造はどうするべきか考え、実行速度とメンテナンス性の板挟みに苦しみ、何度も何度もリファクタリングを繰り返す。

そのとき開発していたシステムは、メイン画面でほとんどの処理を行うタイプのものだったのだけど、そのメイン画面のJavaScriptコードは最終的に1万行を超えた。もうこの頃にはJavaScriptでのオブジェクト指向的な開発手法というもの自分なりに構築されつつあった。そしてこのカチャカチャとした手触りの、安物のオモチャのような言語は、僕の一番好きな言語になったのだった。

そんなある日、僕が作ったシステムのメインユーザーである他部署の偉い人が来て、開口一番こう言った。

「あのシステムいいね!

この機能が素晴らしい、とか、あの発想はなかったわ、とか、とにかくべた褒めして、そして去っていった。機能追加要望の前口上だと思って身構えていた僕は拍子抜けした。「あの人が他人を褒めることなんてめったにないよ、すごいね」と近くの席の人が言う。

そのとき僕は「カチリ」という音を聞いた。

どこにもはまることのない歪な歯車。その僕が、社会という大きな機械の中に組み込まれる音だったのだと思う。まあすぐに外れてしまうのだけど。その一瞬だけは、僕は確かに社会の一部になれたのだ。




そして契約期間満了となり、再び僕は人生の岐路に立たされる。

これからどうするか? 今の技術力ならそれなりのところに就職できるかもしれない。でも僕にはやってみたいことがあった。半年かけて海外を旅するのだ。

今、僕の手元にはまとまったお金がある。こんなのは人生で初めてのことだ。そして僕は今、どこにも所属していない。どんなところに行ったっていいし、何をしたっていい。この先、そんな状況がどれだけあるだろうか? 人生長いのだ、そりゃあ何度だってあるかもしれない。でも今回やりたいことをやらなかったのなら、僕はきっと何度だってやらずにいるままだろう。

もちろん怖くなかったわけじゃない。なにせ海外なんて行ったことがなかったのだ。ずっと極貧の生活をしてきた僕は、国内旅行だって満足にしたことがない。

いろいろと考えた。ない頭を使って考えた。自分の英語は通じる? 病気になったときは? 荷物をなくしたら? あれこれ考えると心配事ばかりが頭をめぐって、わけがわからなくなる。

最終的に決定打になったのは、自分が何も持っていないという、この状況だった。

そう、僕は何も持っていない。家族友達も、夢も希望も。だけど、そんな人間だからこそできることがあるんじゃないかと思ったのだ。何も持たないからこそ、どこにだって行けるし、何にだってなれる。それはタロットカードの「愚者」みたいなものだ。愚かな者は恐れも何も知らぬからこそ、無限の可能性を秘めている。

心を決めたら後は早かった。

パスポートを取得した。航空券を手配した。住民票を海外転出した。トランクルームを借りた。住んでいた部屋を引き払った。

空港へ向かう電車の中で、懐かしい感覚に襲われた。あの日、ホームレスになったばかりのころの感覚世界が足元から崩れていく感覚。でもあのときとは決定的に違うことがあった。それは、今回は自分が望んでこうなったのだということ。流されるまま生きてきた僕が、初めて自分人生に対して主導権を得た。それだけが決定的に違っていた。それだけで十分だった。足の震えは、これからの旅路への、期待に対する震えなのだった。




初めて踏みしめる異国の地。最初はいろんなものに圧倒された。

自分とは異なる人種、異なる言語。街の看板すらまともに読めない。レストランの注文すらおぼつかない。ちょっと電車に乗るのも大仕事だ。それでも時間をかけてひとつひとつなんとかしていった。

見知らぬ街の匂い、喧騒、バケツをひっくり返したようなスコール、旅の中で出会う怪しい人、優しい人。僕の前でたくさんの風景が流れていく。

川辺のレストランで昼ご飯を食べた後ボケーッとしていると、猫が膝の上に乗ってくる。動くのもめんどくさくてボケーッとしてたら日が暮れてた。そのまま猫と一緒に晩ご飯を食べた。そんな日もあった。

長距離列車に乗っていたとき、車内食にピーナッツバターのようなものが付いていたので、普通にパンに塗って食べた。でも梅干的なものだったらしく、めちゃくちゃ酸っぱかった。「すっぱ! すっぱ!」とかやってたら向かいの席の女の子爆笑していた。僕も笑った。そんな日もあった。

最初は少し移動するのにも大変な思いをした。でもいつの間にか、ローカルバスに乗って気ままに旅するようになっていた。

たどたどしかった英語も、日常会話程度なら普通に喋れるようになっていた。

いろんな国のバックパッカーにもたくさん出会った。お互いつたない英語でやりとりするのも楽しかった。今度は彼らの国にも行ってみよう。だからいつか世界一周に出ようと、僕は心に決めた。

こんな旅に出たところで自分は何一つ変わらないと思ってた。でも、何かが変わってきている。それが何なのかはわからない。たとえば図太さだったり、適当さだったり、そういうのもあるのだけど、何か違う。それよりもっとプリミティブなもの。感情になる前の感情、行動になる前の行動。マグマのような熱量を持ったドロドロとしたものが、自分の中に渦巻いているのを感じる。それがいつ形を成すのかはわからない、今はまだ。だけどいつかどこかで、忘れた頃にひょっこり出てくるんじゃないかと思う。そのときを楽しみにしていよう。

そして夢のような日々は終わる。




日本に帰ってきたとき、手持ちの金は10万以下だった。部屋は解約していたので住むところもなかった。普通にホームレスだった。僕は焦らず慌てず、西成へ向かった。

しばらくはドヤ(安宿)に泊まった。一番安いところなら500円から泊まれる。西成はいいところだ。

宿に住民票を移し、ハロワ失業保険を申請した。

前の会社から戻ってこないかと誘われたけど、「働きたくないでござる! 絶対に働きたくないでござる!」と言って断った。

いや働きたくなかったのは本当だけど、もう1つ理由があった。職業訓練組み込み系を学ぼうと思っていたのだ。

スマートフォン含むタブレット端末の市場がこれからも拡大していくのは間違いない。そうすると必要になってくるのは組み込み系の知識。いやアプリ作るだけなら必要いかもしれないが、そういった知識があれば、自分ができることの幅がぐんと広がると思う。

それに、今の僕には基礎的な力が圧倒的に足りない。すべてを独学で、我流でやってきたけど、やはり限界を感じる場面が多々あった。だから今回ちゃんと体系的に学んで、足元を固めようと思ったのだ。

結果的には正解だったと思う。本当に基礎の基礎から学べた。

ブレッドボードを用いて回路を組むところから始まって、アセンブラC言語組み込みLinuxでのデバイスドライバ開発、アプリ開発。これまで高級言語の十分に進化しきった部分にしか触れてこなかった僕にとっては、どれも難しかったけど、どれも面白かった。これからどういう道に進むかまだわからないけど、ここで学んだことは絶対に無駄にならないと思う。

そうして職訓で勉強するかたわら、悶々と考えていたことがある。世界一周についてだ。

今はまだ金もないし、そんな金を稼げるあてもないのだけど、いつか(たぶん10年後くらいには)行こうと本気で思っている。

ルートだけでも今から考えておこうと思って、いろいろと旅程検討アプリを試してみたのだけど、どれもいまいち使い勝手が悪い。海外のものも含めて探しまくったけど、自分が思うようなものは見つからなかった。

だったらもう自分で作るしかない。せっかくだから就活ときポートフォリオとして使えるよう、ちゃんとしたWebアプリを作ることにした。

最初の1ヶ月は地図APIの選定と、検証コードを書き捨てるだけで終わった。

2ヶ月目は基礎部分の構築だけで終わった。

3ヶ月目に本気を出し、ほぼできあがった。

4ヶ月目でサーバドメインを用意し、最後の仕上げをした。

そしてベータ版リリースした。 http://planetter.com/

それが先週の話。

そして今、こうして増田投稿する文章を書いている。

だからこのお話はここで終わりだ。正確に言うなら、ここから先の展開はまだわからない。




10年間を振り返ってみて思う。あの頃と比べて、何か変わっただろうか?

家族や親類とは縁が切れたままだし、いまだに人付き合いは苦手だし、金はないし、夢も希望もない。それは今でも変わらない。ただ、あの頃あれほど感じていた空虚さは、跡形もなく消えている。

西成の高架下で見た光景を思い出す。ガラクタ解体していたおっちゃん。あのキラキラした目。たぶんあの瞬間に僕は、自分にとって一番大切なものは何なのか、心の深い部分で理解したんだと思う。

世界一周だなんだというのも本当はどうでもいい。僕はただ、いつだってドキドキしていたいのだ。

初めて人を好きになったときの気持ち。知らない街で暮らし始めたときの気持ち。そして、プログラムが思い通りに動いたときの気持ち。

それを持ち続けていたいのだ。いつだって新しい世界にワクワクしていたいのだ。

だから僕は、今日ガラクタのようなコードを書き続けている。

ふと目を閉じれば、まぶたの裏に映る、あの日のメッセージ

"Hello world!"




このお話はたぶんフィクションです。実在の個人や企業とはあんまり関係ありません。でも、ここに綴った僕の想いは、ノンフィクションです。

2012-04-10

http://anond.hatelabo.jp/20120409235328

新卒採用やらなかったら起きないというもんでもないと思うが

実際氷河期やら非正規化新卒採用終身雇用が昔に比べ崩れてきてる時に不況事故も起こったわけで

2012-02-20

http://anond.hatelabo.jp/20120220180139

パフォーマンスが上がらない話になると、「正規化が出来ていない」ってのもすげぇ話だよな。

http://anond.hatelabo.jp/20120220173853

その時点で、正規化できてないかSQLクエリおかしいことに気づけw

俺はそういう話をしてるんだがw

大前提として「絶対に正しい正規化が行われている」のであれば、そっちの世界では話が終了だ。

http://anond.hatelabo.jp/20120220170043

4段くらいリンクして、3段目のテーブル項目が条件指定に含まれてる

その時点で、正規化できてないかSQLクエリおかしいことに気づけw



ちなみに、MySQLだと「IN」を処理できないから遅くなるぞ。

oracleだと、ポインタ使えば高速化できるし

ビュー作って高速化できるパターンだってある。

http://anond.hatelabo.jp/20120220163222

なんか、正規化を絶対視したり、サブクエリの弊害に気を廻さず、使「わ」ないのを、使「え」ないって表現する奴居るよね。

正味サブクエリなんて、無いなら無いに越したことないのに。

あくまで、想像だけど。

4段くらいリンクして、3段目のテーブル項目が条件指定に含まれてるとか、「ばかじゃねぇの?」って設計になってるんじゃないかな。

それを「高速化」するために、再編成する必要があったとか・・・

良く見る光景だけどさ。

http://anond.hatelabo.jp/20120220163942

MySQLで下手なORDER BYとか、JOINとかやりまくるからじゃねーの?

そりゃ、「下手な」ORDER BYとか、JOINをしたら遅くなるだろw

「下手な」やり方なんだからさ。

大前提として、「必ずうまくやれる正規化になってる」があるなら、まぁそいつが悪いんだろう。

http://anond.hatelabo.jp/20120220161722

わかるわかるw

パフォーマンスのために冗長でも正規化してないって説明してるのにも関わらず

正規化してないっ怒る老害いるいる!

おまえみたいな奴だなw

http://anond.hatelabo.jp/20120220161722

第三正規化かぁ・・・

データベースに何使ってるかしらないけど、mysqlとかで正規化やり過ぎると、クエリが「filesort」になったりして逆に遅くなるからなぁ・・・

最初のテーブルできっちりとインデックスソートできるように考えられてる正規化なら、サブクエリもいらないんじゃないかって気もするし。

存外、「高速化(キリッ」ってのは、本当だったんじゃない?

http://anond.hatelabo.jp/20120220160548

SQL正規化っつたら、DB構造正規化だぜ?

第三正規化までしたDBがあるのに、サブクエリできないからって、独自に連結したテーブル作って「高速化するためにDB弄っておきました!(キリッ)」とかw

もはや、苦笑いしかできねぇよ…w

http://anond.hatelabo.jp/20120220132457

技術的に楽しくてスキルアップになれば

正直、SQL正規化どころか、サブクエリすらできねぇとかマジ使えないんですけどw

PHPしか組めねぇとか、Perljavascript、ActionScript3位は使えろ。

全然スキルアップできてねぇよw

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


追記

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