「YYY」を含む日記 RSS

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

2014-09-02

最近Web開発に感じる大きな谷(主にRails

10年くらいWeb開発業界にいて、ここ最近Railsアジャイルな高速開発的なものの周辺にいる。今は開発者マネージャの間を行き来しつつ顧客窓口〜実装まで一通りこなしている。

あちこち渡り歩いて色々なエンジニアと一緒に仕事をしたり、お客さんに頼まれてエンジニア面接やらに顔を出したりすることがあるのだが、ここ最近Web開発はますます主力級のゴリゴリ書けるエンジニア(いわゆるフルスタックエンジニアと呼ばれるものも多分ここに入る)と大したことのないエンジニアの差が開いてきたように思う。

主力級エンジニア

主力級のエンジニアは1〜2回がっつり打ち合わせしてプロジェクト重要点とざっくりラフイメージを共有すれば、どんなに遅くても1週間もすればプロトタイプが上がってきてお客さんに見せつつ微調整し、いわゆるアジャイルとかスパイラル開発的なことができる。デザイナがいなくてもBootstrapでとりあえず最低限の見た目を作ってくれるので、とりあえずデザイナ無しで開発して最終的にお客さんが気に入らなければWebデザイナに見た目整えさせてテンプレ取り込み、という開発がここ最近のメイン。

ソースコードフレームワークRESTfulの基本概念理解されているコードなので、後日の機能修正の時にそのエンジニアが動けなくても自分フォローして修正することもできる。

仕事もしやすいし、実質1〜2人の稼働でサクサク進められるのでコミュニケーションロスもなく楽しい

大したことなエンジニア

一方、大したことなエンジニアは前述した流れが全くできない。

まず決定的なのは、開発が遅い。ちょっとしたデザイン無しのCMSリッチUIなし)をRailsで書くのに1週間かかっても終わらなかったりする。これじゃ生PHPで書くのと変わらないかそれより遅いので、Rails使う意味がない。

次に、品質が低い。できあがったと言われて念のためチェックすると、基本的CRUDレベルエラーが出たり、お客さんに見せるプロトタイプだと言っているのに初期データseeds)の整備すらされていなかったりする。本人のローカル環境で動いてるけどstaging環境にdeployすると動かないとかはよくある。

パッと見に分からない部分もひどくて、ソース確認すればあちこちどこかからコピペしてきたコードのつぎはぎで、HTML規約違反JavaScriptエラーまで放置されていたり。あと実装しましたと口頭で言っていた機能ソースコードコメントではTODOになっていたこともあった。

最後に、成長しない。開発上詰まった所なんかを主力級エンジニアに聞くのは構わないのだが、表層的な理解に留まり応用が利かない。30分〜1時間も主力級エンジニア時間を浪費しながらもまた同じ様なところで同じ様なミスをする。自分もよくプチ勉強会みたいな状態になったときには参考図書や技術資料ポインタを投げたりしているのだが、参照先を見て深掘りすることはほぼない。

なぜ「大したことなエンジニア」がはびこるのか?

厄介なのは、こうした大したことなエンジニアも、Railsであればあちこちのチュートリアル記事書籍を参考に、そこそこそれっぽく見える自作サービスくらいなら作れてしまうという点にもある。

彼らの作るサービスはまさに書籍チュートリアルサイトコピペ集大成だが、個人が趣味でやっているサービスとしては十分に動く。そして周りには「エンジニアです。個人でWebサービスも公開してます」となる。サービスの外からは内部のコード品質などはわからない。

プライベートで開発するのはむしろ奨励しているのだが、彼らはその拙い(あえて「拙い」と書く)サービスでもって「俺はもういっぱしのエンジニアだ」と勘違いしてしまっている様に思える。

だが違うのだ、お前が書いているシステムは「とりあえず動く」レベルのものであって、受託開発としてお金をもらってお客さんに納品するシステムや、数千万〜数億の売上を左右するような業務システムではその素人クオリティでは話にならないのだ。

適切な例外処理担当者ミスしにくい管理画面の設計、お客さんの想定ユーザ数に耐えられるレベルでのスケールする設計開発者が入れ替わっても保守が続けられるようにするための最低限のドキュメントなど、production level qualityに足りていない部分がいくらでもあって、そこまで考えられて「主力級エンジニアなのだ

感じる「谷」

こうした主力級エンジニアと大したことなエンジニアの谷は以前から感じていたが、ここ最近ではさらに顕著に感じるようになってきたように思う。

例えば、主力級エンジニアRailsだけでなくミドルウェアやprovisioning(chefとかansible)、最近ではdockerCIAWS新サービスなどについても各自追いかけていて、自分も含めてちょいちょい議論をすることがある。「最近のアレってどうなん?」とか「はてブでやたらXXX流行ってるけど、これって結局数年前のYYYの焼き直しじゃん」みたいな。

そんなところに大したことなエンジニアはてブRSSなどで用語は聞いたことがあるので混じってくるのだが、まず前提知識がなさすぎて議論にならない。大体「XXXマジすごいっすね〜(意訳)」で終わっていて、その技術の背景や今後どうなりそうか、自分達が取り入れることで業務効率や開発の楽しさが改善するのかといった視点がない。

他にも、ちょっとしたトラブルシューティングの際も、基礎がなさ過ぎて問題の切りわけができない。問題の原因がネットワークレイヤなのか、ミドルウェアなのか、アプリなのかすら判断できなかったり、そもそもアタリを付けるのが絶望的に遅かったり勘が悪い。

単に作業が遅いというのではなく、問題の切りわけというエンジニアとして最低限できないといけない事すらおぼつかないケースも見かける。

「大したことなエンジニア」の今後

こうした大したことなエンジニアは速度・品質難易度面で新規開発プロジェクトアサインするリスクが高いので、必然既存サイト運用メンテちょっとしたページデザイン文言修正)といったタスクが回されるのだが、最近この辺りも仕事がなくなってきているように思う。

というのは、お客さん側にRails Tutorial程度の開発知識を持っている元エンジニア趣味ちょっと触ってみましたレベルの人が増えてきたから。これは恐らくRails特有な所(自作Webアプリ簡単に作れる啓蒙がなされている)がありそう。

ちょっと考えてみれば、文言修正デザイン修正する程度の作業、外注に頼むと数万かかる上に見積やら稼働確保やらで数日〜数週間待たされるのに対し、担当者自分でやってしまえばすぐに済む話というのはちょっと考えれば分かるわけで。

# もちろんそれでも保守契約責任分解点の関係外注するケースはあるだろうが、Rails採用するようなWebサービスは速度重視のことが多い

そんな中、この「大したことなエンジニア」の人達はどうなるんだろうなあ、と思う。開発会社ではなくRailsシステム運用しているユーザ企業に行けば多少は需要あるのかなーとも思うけど、ユーザ企業はできないエンジニア雇うほど余裕もないだろうし。

せめてコミュニケーションスキルが高いとかそういう利点があればいいんだけど、変に自分が「エンジニア」というプライドがあるのか、窓口とか管理方面は率先してやろうとしなかったりもするし。

早めに「エンジニア向いてないよ」と言ってあげるのが良いのだろうか?

2014-03-11

何度でも立ち上がる強さがほしい

小学生の時、昼ごはん弁当を隠された。

昼ごはんは班ごとに、6人グループで席を固めて、”いただきます”の号令で食べ始める。

5人が見守る中、俺はじっと俯いていた。

すると、となりの女子――クラスで人気のある女の子―が、「わたしの半分あげるね」と言って、分けてくれた。

当時の俺はとてもシンプルだったので、その一件以来、彼女のことが好きになってしまった。

そして、しばらく経って、告白した。

彼女は友だちと帰ることが多かったので、帰りのホームルームが始まる前に、廊下に呼び出して思いを告げた。

「君の事が好きなんだ!」梅干しみたいに顔真っ赤になってたと思う。

すると、彼女は、

「えーー、あれ?XXX君、ひょっとしてあの時お弁当上げたから、勘違いしちゃった〜〜〜!?

ねえねえ、皆きいて〜〜〜 」

唖然として立ち尽くす俺。

そして、地獄ホームルームが始まる。

独身、(たぶん)30代の女の先生が、「はーい、皆、帰りのホームルームを始めます。でもその前に、今日はXXX君がしちゃったことを話そうと思います

YYYちゃん、さっき何があったのかな?」

前に出てくる彼女

「さっき、XXX君がいきなり、私に『好きだ』って言ってきました。私は別にきじゃないのにーw」

クラスは笑いに包まれた。

YYYちゃん、それでどんな気持ちになったのかな?」ゲス顔で彼女に聞く先生

「すごくびっくりしました。好きじゃないのに、勝手に想われてる、って気がついて、嫌な気持ちになりました。」

はいYYYちゃん、よく言えたね。XXX君、女の子嫌がらせるのは、良くないことだよね。皆の前で謝ろうねーー」

のしたことはいけないことだったのか。自責の思いが頭をぐるぐる回っていた。

皆はニヤニヤしながら、俺が動くのを待っている。情けないことに俺は、理不尽さに歯を食いしばりながらも、彼女に頭を下げた。

YYYちゃん、許してあげる?」「うん。いーです別に。今度からは気をつけてねーw」

かなりの時間が経っている。実際はここまでグロテスクじゃなかったんだと思うが、大筋のところはこの通りだったと思う。

特に、俺の顔を覗き込んだ先生の『皆の前で謝ろうねー』は決して忘れることができない。記憶に焼き付いている。きっと死ぬとき最期に思い出すのはそのシーンなんだと思う。

中学に上がった頃、体格ががっしりしてきたためか、、俺がいじめられることはなくなった。

でも俺は学校では幽霊のようにしていた。目立たないように、目立たないように、”フツウ”を装って生きていた。

だが次第に、こんなことではダメだ。と思うようになった。

そして俺は恋愛勉強した。元増田(http://anond.hatelabo.jp/20140310070222)の言っているようなことは、今では全部知っている。

当時の彼女は、一人寂しくしている俺に「共感」して、「世話を焼こうとして」、俺に手を差し伸べてくれた。もちろん「特別好意があったわけじゃない」。

でもその行為は俺にとっての「シール」になって、俺の中で彼女を好きな気持ちは(爆発するまで)発散されることはなく、大きくなってしまった。

廊下告白したのも良くなかった。他の子のいる前で告白されるのは女子にとってはかなりの苦痛だったはずだ。

そもそも、クラスいじめられていたポジションの俺に好かれることは彼女にとって決して「自慢できることじゃなかった」だろう。そして先生にも子ども恋愛に対する嫉妬があったんだと思う。

からあんなことになった。

現在も俺はうまく女性告白する事ができない。

コミュ自体は、かなり良くなった(と思う)。でも気持ちを告げる、その時になって、固くなってしまう。声が震えてしまう。

フラれて関係が友だちに戻ってからしばらくして、「あのときのXXXさん、かなり怖かったですよw」って言われた。

ごめん。怖がらせて。忘れてくれるとうれしい。

最近、おふくろの容態が良くない。

もとから病弱だったが、このところ声にハリがなくなってきている。

病床でみるTVに、幼稚園光景が映って、子どもたちがはしゃいでいるのをみると、おふくろは屈託なく笑う。

おふくろのために、俺は何ができるだろうか。

恋愛において、テクニック大事だ。知らなきゃ手のうちようのないシーンは確かにあった。

実際の経験では多くを学べる。試行錯誤の後に成長を感じる。書きためたノートは3冊になった。

俺は俺自身のことを好きじゃない。どうしようもない。あの経験自分自身は、一体になっている。だから自分を好きになる努力なんて、できるはずもない。

それでも前に進まなきゃならない。

生物学実験に、こんなのがある。

チョウの蛹の腹部に、細いパイプコルセットのように当てる。

蛹の中身はドロドロの液体だから、そうしてもすぐには死なない。

やがてチョウは羽化する。

羽根を広げ、羽ばたこうとする。

けれど、絞られて細くなった下半身は、その重さに耐えられなくて、ぼとり、と落ちてしまう。

チョウも地面に落ちる。それでも羽ばたこうとする、でもやがて力尽きる。

俺も飛ぼうとしている。

だけど、相手と真剣に向きあおうとするほど、”裏切られるのではないか”という恐怖が強くなって、俺の顔を醜く歪ませる。

辛い。

でもこんな事で挫けている場合じゃない。

何度でも立ち上がる、そんな強さがほしい。

2013-08-13

研究ができない院生のはなし

私は,某国立大情報院生M1

入学してから4ヶ月くらい経つが,自分研究生としての素質の無さに悩む日々である

まず,研究テーマを見つけることができない.

自分大学院入学してから,これまで研究してきた分野とは違う分野の研究を始めた(どちらも情報系の分野ではあるが).

研究室に配属されてから論文を読んだり書籍を読んだりしていて,読んでいておもしろいとは思っているが,そこから疑問や問題点を見つけることができない.

読み終わった後は,たいてい「こんな研究もあるのか」「xxxとooo関係はこうなっていたんだなぁ」と思って,終わり.

一方で,先生や先輩方は「この論文ではaaaについて分析している.僕達は一歩進めてbbbについて分析してみよう」「じゃあoooyyy関係はどうなっているのだろう」などと議論している.

私もなんとか提案を入れてみようとするが,何も浮かんでこない.結局,相槌を打つだけである

次に,研究のサイクルを見通して作業することができない.

研究テーマに関しては上記の始末なので,現在指導教官から提案されたテーマ研究している.

しかし,ここでも上手くいかない.

研究をどう進めたらよいのかがまったく分からないのである

リサーチクエスチョンを立てることができない.

データの取り方が分からない.

統計的な分析の仕方がわからない.

結果,軽いパニックになって手が動かない.

入学以来,ずっとこんな感じである

それでもどうにかこうにかデータを取ることはできたが,先日,そのデータが実は研究必要データとは微妙に違うことに気がついた.

結構がんばってスクリプト書いたんだけどな...

ちなみに,指導教官にはそのこと(自分がとったデータと,本来とるべきデータが違うこと)は言い出せずにいる.

それにしても,こうやって書き出してみると自分が思ってた以上に自分ってバカなんだな.

大学にいたころはそれなりにデータもとれたし,研究発表もしたことあったんだけど,結局は当時の研究室先生手取り足取りやってくれたおかげだったんだよなぁ,

自分自身には何一つ身についていなかったのかと今更思う.

もはや大学院生以前に,学生としてのレベルを問われ兼ねない.

2013-02-20

Pythonistaこわい

誰もPHPの擁護なんてしてない(入れ子にするなと言ってるだけな)のに何と戦ってるんだ。コメントとしてはメタブに付けるべきものだし。

常識って何よ。インデントで整形することですか?

2011-10-19

docomoがIMEIを送出!のどこが問題なのか。素人が考えてみた。

今年冬以降に発売されるandroid端末のメディアプレイヤーHTTPヘッダのUser-Agentおよび拡張ヘッダにIMEI番号が含まれるということが分かり、騒動となった。

カレログapplogに続きNTTドコモが参戦? - http://togetter.com/li/202490

NTT docomo IMEI垂れ流し問題 http://togetter.com/li/202536

まず、

(1)IMEI送出のソース

音楽動画 | サービス機能 | NTTドコモ

http://www.nttdocomo.co.jp/service/developer/smart_phone/service_lineup/music_movie/index.html

魚拓http://megalodon.jp/2011-1019-1834-56/www.nttdocomo.co.jp/service/developer/smart_phone/service_lineup/music_movie/index.html

こう記述されている。

Android端末の一部機種では、音楽動画コンテンツ再生するためのメディアプレイヤードコモプリインストールします。

メディアプレイヤープリインストールされる機種は2011年度下期モデル以降の主なAndroid端末となります

ユーザエージェント

メディアプレイヤーHTTP通信を行う際のUser-Agentヘッダは以下となります

User-Agent:<SPDOCOMO/2.0SP>[AAA](MP;[BBB];Android;[CCC];[DDD]);imei:[xxxxxxxxxxxxxxx];networkoperator:[yyyzz]<CR><LF

SP>:半角スペース

CR><LF>:改行コード

[]以外は固定値

AAA:機種名

BBB:メディアプレイヤーバージョン

CCCOSバージョン

DDDビルド番号

xxxxxxxxxxxxxxx[15桁]:IMEI

yyy[3桁]:Mobile Country Code

zz[2桁]:Mobile Network Code

HTTP通信時の拡張ヘッダ付加情報

メディアプレイヤーHTTP通信を行う際は、以下の拡張ヘッダが付与されます

x-dcmstore-imei:<SP>xxxxxxxxxxxxxxx<CR><LF

SP>:半角スペース

CR><LF>:改行コード

xxxxxxxxxxxxxxx[15桁]:IMEI


(2)IMEI番号とは何か

ケータイ用語の基礎知識http://k-tai.impress.co.jp/cda/article/keyword/43518.html

によれば、

携帯電話データ通信カードが1台ずつ持っている識別番号です。原則として、各端末は1台1台、異なる番号になっています

IMEIは、1台ずつに違う番号が割り振られていて、USIMカードなどを差し替えても変わることはありません。

とある

端末に固有の番号であるという認識でよいだろう。パソコンで言うMACアドレスのようなものだ。

問題の切り分け

重複する部分もあるが、いくつかの問題が含まれているように思える。

twitterで見られた反応をいくつか整理してみた。

(a)共通・不変のIDであること

これが最も大きい問題。twitterでIMEIってつぶやいている人の大半はこれを問題視している。

IMEI番号をそのまま送信している。

すなわち、コンテンツプロバイダ(CP)Aにも、CP-Bにも同じ番号が送信されている。

まり空間的に広く使われている。

CP-AとCP-BでIMEI番号を突き合せて、収集した情報リンクさせることができてしまう。

IMEI番号は端末に紐付けられている。

したがって端末を買い替えない限り番号は変わらない。

まり長い時間、追跡され続けるということだ。

時間軸にも空間軸にも広く共通のIDが使われ続ける。

これが問題。

(a-1)過去の事例

10年以上前から同じことが繰り返されているため、空間時間的に広い共通IDを使うことの「何が問題か」知りたいなら過去の事例を参照するとよい。

高木浩光氏による行動トラッキング歴史と境界線についての備忘録 http://togetter.com/li/197732

インターネットにおけるIDトレーサビリティ(2003年)高木浩光http://www.nic.ad.jp/ja/materials/iw/2003/main/ipmeeting/panel-takagi.pdf

Tracking Cookie - Symantec http://www.symantec.com/ja/jp/security_response/writeup.jsp?docid=2006-080217-3524-99

(b)機種変更中古端末での不安

まだIMEI送信機能付きandroid端末が発売されていないので、どういう実装か不明のため、これは想像上の懸念だ。

このIMEI番号送信機能は、おそらくDRMに利用することが目的の一つだろう。

特定の機種でのみ購入した音楽再生できる機能が組み込まれている可能性がある。

その場合機種変更をするとIMEI番号が変わるために購入したコンテンツを利用できなくなる可能性がある。

あるいは一人で二台以上の端末を所有する場合、どちらか一方の端末でしかコンテンツが利用できない可能性もある。

実際、iPhoneにおいて似た事例が発生していた。認証にUDID(端末固有ID)を用いていたアプリ機種変更ののちに使えなくなる事例があった。

また、それまで利用していた端末をオークション等で販売する可能性もある。

その場合、端末の新しい所有者が、古い所有者の購入したコンテンツを利用できてしまう可能性もある。

ただしこれらは想像上の懸念だ。

(c)セキュリティの問題

UserAgentまたは拡張ヘッダに記述されたIMEI番号をもとに認証を行うサイトの出現が懸念される。

参考:かんたんログインの事例 http://www.atmarkit.co.jp/fsecurity/rensai/keitaiweb02/keitaiweb01.html

そもそもIMEI番号の取得はかんたんだ。

友達不用意にその辺に放置した端末で「*#06#」と入力すれば取得できてしまう。

あるいは、動画の置いた罠サイトを用意して

ユーザアクセスさせればドコモがIMEIを送信してくれる。

送信される番号はどのサイトに対しても共通なので、他のサイトで使うことができる。

そしてなりすましも容易だ。

とか。

ここまでしてIMEI番号を送りたいドコモの狙い

恐らくDRMへの活用と広告への活用ではないか

ぼくよくわかんない><

終わりに。

プライバシに関する専門家でもないので、補足訂正おねがいしまーす。

あと、この問題を扱うに当たって、何を「個人情報」だとするのかとらえ方が人によって違うことに注意したほうが余計な労力を使わなくて済む、と思いまーす。

# 増田でははてな記法が一部使えますって。

# 非対応大杉イライラするわ♡

# 来年インターンシップ生で改善してよ。

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