はてなキーワード: YYYとは
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)、最近ではdockerやCI、AWSの新サービスなどについても各自追いかけていて、自分も含めてちょいちょい議論をすることがある。「最近のアレってどうなん?」とか「はてブでやたらXXX流行ってるけど、これって結局数年前のYYYの焼き直しじゃん」みたいな。
そんなところに大したことないエンジニアもはてブやRSSなどで用語は聞いたことがあるので混じってくるのだが、まず前提知識がなさすぎて議論にならない。大体「XXXマジすごいっすね〜(意訳)」で終わっていて、その技術の背景や今後どうなりそうか、自分達が取り入れることで業務効率や開発の楽しさが改善するのかといった視点がない。
他にも、ちょっとしたトラブルシューティングの際も、基礎がなさ過ぎて問題の切りわけができない。問題の原因がネットワークレイヤなのか、ミドルウェアなのか、アプリなのかすら判断できなかったり、そもそもアタリを付けるのが絶望的に遅かったり勘が悪い。
単に作業が遅いというのではなく、問題の切りわけというエンジニアとして最低限できないといけない事すらおぼつかないケースも見かける。
こうした大したことないエンジニアは速度・品質・難易度面で新規開発プロジェクトにアサインするリスクが高いので、必然既存サイトの運用・メンテ(ちょっとしたページデザインや文言修正)といったタスクが回されるのだが、最近この辺りも仕事がなくなってきているように思う。
というのは、お客さん側にRails Tutorial程度の開発知識を持っている元エンジニアや趣味でちょっと触ってみましたレベルの人が増えてきたから。これは恐らくRails特有な所(自作Webアプリ簡単に作れる啓蒙がなされている)がありそう。
ちょっと考えてみれば、文言修正やデザイン修正する程度の作業、外注に頼むと数万かかる上に見積やら稼働確保やらで数日〜数週間待たされるのに対し、担当者が自分でやってしまえばすぐに済む話というのはちょっと考えれば分かるわけで。
# もちろんそれでも保守契約や責任分解点の関係で外注するケースはあるだろうが、Railsを採用するようなWebサービスは速度重視のことが多い
そんな中、この「大したことないエンジニア」の人達はどうなるんだろうなあ、と思う。開発会社ではなくRailsシステムを運用しているユーザ企業に行けば多少は需要あるのかなーとも思うけど、ユーザ企業はできないエンジニア雇うほど余裕もないだろうし。
せめてコミュニケーションスキルが高いとかそういう利点があればいいんだけど、変に自分が「エンジニア」というプライドがあるのか、窓口とか管理方面は率先してやろうとしなかったりもするし。
早めに「エンジニア向いてないよ」と言ってあげるのが良いのだろうか?
昼ごはんは班ごとに、6人グループで席を固めて、”いただきます”の号令で食べ始める。
5人が見守る中、俺はじっと俯いていた。
すると、となりの女子――クラスで人気のある女の子―が、「わたしの半分あげるね」と言って、分けてくれた。
当時の俺はとてもシンプルだったので、その一件以来、彼女のことが好きになってしまった。
そして、しばらく経って、告白した。
彼女は友だちと帰ることが多かったので、帰りのホームルームが始まる前に、廊下に呼び出して思いを告げた。
「君の事が好きなんだ!」梅干しみたいに顔真っ赤になってたと思う。
すると、彼女は、
「えーー、あれ?XXX君、ひょっとしてあの時お弁当上げたから、勘違いしちゃった〜〜〜!??
ねえねえ、皆きいて〜〜〜 」
唖然として立ち尽くす俺。
独身、(たぶん)30代の女の先生が、「はーい、皆、帰りのホームルームを始めます。でもその前に、今日はXXX君がしちゃったことを話そうと思います」
「YYYちゃん、さっき何があったのかな?」
前に出てくる彼女。
「さっき、XXX君がいきなり、私に『好きだ』って言ってきました。私は別に好きじゃないのにーw」
クラスは笑いに包まれた。
「YYYちゃん、それでどんな気持ちになったのかな?」ゲス顔で彼女に聞く先生。
「すごくびっくりしました。好きじゃないのに、勝手に想われてる、って気がついて、嫌な気持ちになりました。」
「はい、YYYちゃん、よく言えたね。XXX君、女の子を嫌がらせるのは、良くないことだよね。皆の前で謝ろうねーー」
俺のしたことはいけないことだったのか。自責の思いが頭をぐるぐる回っていた。
皆はニヤニヤしながら、俺が動くのを待っている。情けないことに俺は、理不尽さに歯を食いしばりながらも、彼女に頭を下げた。
「YYYちゃん、許してあげる?」「うん。いーです別に。今度からは気をつけてねーw」
かなりの時間が経っている。実際はここまでグロテスクじゃなかったんだと思うが、大筋のところはこの通りだったと思う。
特に、俺の顔を覗き込んだ先生の『皆の前で謝ろうねー』は決して忘れることができない。記憶に焼き付いている。きっと死ぬとき最期に思い出すのはそのシーンなんだと思う。
中学に上がった頃、体格ががっしりしてきたためか、、俺がいじめられることはなくなった。
でも俺は学校では幽霊のようにしていた。目立たないように、目立たないように、”フツウ”を装って生きていた。
だが次第に、こんなことではダメだ。と思うようになった。
そして俺は恋愛を勉強した。元増田(http://anond.hatelabo.jp/20140310070222)の言っているようなことは、今では全部知っている。
当時の彼女は、一人寂しくしている俺に「共感」して、「世話を焼こうとして」、俺に手を差し伸べてくれた。もちろん「特別な好意があったわけじゃない」。
でもその行為は俺にとっての「シール」になって、俺の中で彼女を好きな気持ちは(爆発するまで)発散されることはなく、大きくなってしまった。
廊下で告白したのも良くなかった。他の子のいる前で告白されるのは女子にとってはかなりの苦痛だったはずだ。
そもそも、クラスでいじめられていたポジションの俺に好かれることは彼女にとって決して「自慢できることじゃなかった」だろう。そして先生にも子どもの恋愛に対する嫉妬があったんだと思う。
だからあんなことになった。
コミュ症自体は、かなり良くなった(と思う)。でも気持ちを告げる、その時になって、固くなってしまう。声が震えてしまう。
フラれて関係が友だちに戻ってからしばらくして、「あのときのXXXさん、かなり怖かったですよw」って言われた。
ごめん。怖がらせて。忘れてくれるとうれしい。
もとから病弱だったが、このところ声にハリがなくなってきている。
病床でみるTVに、幼稚園の光景が映って、子どもたちがはしゃいでいるのをみると、おふくろは屈託なく笑う。
おふくろのために、俺は何ができるだろうか。
恋愛において、テクニックは大事だ。知らなきゃ手のうちようのないシーンは確かにあった。
実際の経験では多くを学べる。試行錯誤の後に成長を感じる。書きためたノートは3冊になった。
俺は俺自身のことを好きじゃない。どうしようもない。あの経験と自分自身は、一体になっている。だから、自分を好きになる努力なんて、できるはずもない。
それでも前に進まなきゃならない。
蛹の中身はドロドロの液体だから、そうしてもすぐには死なない。
やがてチョウは羽化する。
羽根を広げ、羽ばたこうとする。
けれど、絞られて細くなった下半身は、その重さに耐えられなくて、ぼとり、と落ちてしまう。
チョウも地面に落ちる。それでも羽ばたこうとする、でもやがて力尽きる。
俺も飛ぼうとしている。
だけど、相手と真剣に向きあおうとするほど、”裏切られるのではないか”という恐怖が強くなって、俺の顔を醜く歪ませる。
辛い。
でもこんな事で挫けている場合じゃない。
何度でも立ち上がる、そんな強さがほしい。
入学してから4ヶ月くらい経つが,自分の研究生としての素質の無さに悩む日々である.
自分は大学院に入学してから,これまで研究してきた分野とは違う分野の研究を始めた(どちらも情報系の分野ではあるが).
研究室に配属されてからは論文を読んだり書籍を読んだりしていて,読んでいておもしろいとは思っているが,そこから疑問や問題点を見つけることができない.
読み終わった後は,たいてい「こんな研究もあるのか」「xxxとoooの関係はこうなっていたんだなぁ」と思って,終わり.
一方で,先生や先輩方は「この論文ではaaaについて分析している.僕達は一歩進めてbbbについて分析してみよう」「じゃあoooとyyyの関係はどうなっているのだろう」などと議論している.
私もなんとか提案を入れてみようとするが,何も浮かんでこない.結局,相槌を打つだけである.
次に,研究のサイクルを見通して作業することができない.
研究テーマに関しては上記の始末なので,現在は指導教官から提案されたテーマで研究している.
結果,軽いパニックになって手が動かない.
それでもどうにかこうにかデータを取ることはできたが,先日,そのデータが実は研究に必要なデータとは微妙に違うことに気がついた.
ちなみに,指導教官にはそのこと(自分がとったデータと,本来とるべきデータが違うこと)は言い出せずにいる.
それにしても,こうやって書き出してみると自分が思ってた以上に自分ってバカなんだな.
大学にいたころはそれなりにデータもとれたし,研究発表もしたことあったんだけど,結局は当時の研究室の先生が手取り足取りやってくれたおかげだったんだよなぁ,
自分自身には何一つ身についていなかったのかと今更思う.
3項演算子を入れ子にするなってのは同意なんだけど、それはエラーどころか警告も出さずに常識と異なる動作をするphpの擁護にはなってない。 / “PHP言語仕様のバグ - れぷそる・ふぁいやぁ・ぶれぇど” htn.to/te1Nss— INADA Naokiさん (@methane) 2013年2月20日
誰もPHPの擁護なんてしてない(入れ子にするなと言ってるだけな)のに何と戦ってるんだ。コメントとしてはメタブに付けるべきものだし。
x &= cond ? xxx : yyy; が構文エラーになったり、 php の構文が見た目から常識的に考えられる構造になってない場面はたくさんある。 php に慣れるというのは非常識な挙動に数時間を奪われることを繰り返し、地雷の避け方を覚える事。— INADA Naokiさん (@methane) 2013年2月20日
今年冬以降に発売されるandroid端末のメディアプレイヤーはHTTPヘッダのUser-Agentおよび拡張ヘッダにIMEI番号が含まれるということが分かり、騒動となった。
カレログ、applogに続きNTTドコモが参戦? - http://togetter.com/li/202490
NTT docomo IMEI垂れ流し問題 http://togetter.com/li/202536
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:<SP>DOCOMO/2.0<SP>[AAA](MP;[BBB];Android;[CCC];[DDD]);imei:[xxxxxxxxxxxxxxx];networkoperator:[yyyzz]<CR><LF>
<SP>:半角スペース
[]以外は固定値
AAA:機種名
xxxxxxxxxxxxxxx[15桁]:IMEI
yyy[3桁]:Mobile Country Code
HTTP通信時の拡張ヘッダ付加情報
メディアプレイヤーがHTTP通信を行う際は、以下の拡張ヘッダが付与されます。
x-dcmstore-imei:<SP>xxxxxxxxxxxxxxx<CR><LF>
<SP>:半角スペース
xxxxxxxxxxxxxxx[15桁]:IMEI
ケータイ用語の基礎知識http://k-tai.impress.co.jp/cda/article/keyword/43518.html
によれば、
とある。
端末に固有の番号であるという認識でよいだろう。パソコンで言うMACアドレスのようなものだ。
重複する部分もあるが、いくつかの問題が含まれているように思える。
twitterで見られた反応をいくつか整理してみた。
これが最も大きい問題。twitterでIMEIってつぶやいている人の大半はこれを問題視している。
IMEI番号をそのまま送信している。
すなわち、コンテンツプロバイダ(CP)Aにも、CP-Bにも同じ番号が送信されている。
CP-AとCP-BでIMEI番号を突き合せて、収集した情報をリンクさせることができてしまう。
IMEI番号は端末に紐付けられている。
したがって端末を買い替えない限り番号は変わらない。
これが問題。
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
まだIMEI送信機能付きandroid端末が発売されていないので、どういう実装か不明のため、これは想像上の懸念だ。
このIMEI番号送信機能は、おそらくDRMに利用することが目的の一つだろう。
特定の機種でのみ購入した音楽が再生できる機能が組み込まれている可能性がある。
その場合、機種変更をするとIMEI番号が変わるために購入したコンテンツを利用できなくなる可能性がある。
あるいは一人で二台以上の端末を所有する場合、どちらか一方の端末でしかコンテンツが利用できない可能性もある。
実際、iPhoneにおいて似た事例が発生していた。認証にUDID(端末固有ID)を用いていたアプリが機種変更ののちに使えなくなる事例があった。
また、それまで利用していた端末をオークション等で販売する可能性もある。
その場合、端末の新しい所有者が、古い所有者の購入したコンテンツを利用できてしまう可能性もある。
ただしこれらは想像上の懸念だ。
UserAgentまたは拡張ヘッダに記述されたIMEI番号をもとに認証を行うサイトの出現が懸念される。
参考:かんたんログインの事例 http://www.atmarkit.co.jp/fsecurity/rensai/keitaiweb02/keitaiweb01.html
そもそもIMEI番号の取得はかんたんだ。
友達が不用意にその辺に放置した端末で「*#06#」と入力すれば取得できてしまう。
送信される番号はどのサイトに対しても共通なので、他のサイトで使うことができる。
そしてなりすましも容易だ。
とか。
ぼくよくわかんない><
プライバシに関する専門家でもないので、補足訂正おねがいしまーす。
あと、この問題を扱うに当たって、何を「個人情報」だとするのかとらえ方が人によって違うことに注意したほうが余計な労力を使わなくて済む、と思いまーす。