Author Archives: susumuis

About susumuis

メイドカフェによく居るWebエンジニア

Advent Calendarをきっかけに久しぶりにフィルムカメラを使ってみた

この記事は フィルムカメラ Advent Calendar 2017 10日目です。素敵なアドベントカレンダーを見つけたので参加させていただきました。

はじめに

今回は主に Minolta のMFカメラ XG-E, X-700 を中心に、自分のフィルムカメラの思い出について書こうと思います。記事の最後に久しぶりにフィルムカメラでスナップしてきたものをアップします。

筆者のプロフィール

高校時代は写真部に所属して、自分でフィルム現像をしたりしたが、あくまで趣味の域。大学時代は登山をしていたためコンパクトデジタルを中心に変更。その後ずっとカメラからはご無沙汰となっていたが、最近メイドカフェ関係のイベントを主催するため、メイドさんの撮影をするために一眼レフの使用を再開しました。

撮影対象の遍歴: 鉄道 → 山 → メイドさん
使用機材の遍歴: MF一眼レフ → コンパクトデジカメ → ミラーレス

XG-Eを持って高校写真部に入部

今から20年くらい前、当時はAF(オートフォーカス)のフィルムカメラ全盛期でした。

親が突然「昔使っていたカメラを倉庫から見つけてきた。お前にやろう」と言ってくれたのがMinolta XG-Eというカメラでした。素人には使い方も分からず、写真部の人たちに見せにいったら「なんだこれは!○○先輩に見せよう!」「ほうほう。お前、ミノルタのMF担当な!」となって、(どの道一人では使いこなせないので)入部させてもらって色々教えてもらいました・

この頃、このXG-Eを首から下げてカメラ屋に行ったら年配のお客さんに「良いカメラ持ってるねー!今時はプラスティックばかりでだめだよねえ」などと声をかけられたりしました。たしかにね。冬なんか、ボディにほうを当てるとヒンヤリきたのを覚えています。(XG-Eはそれから10年くらい経った後、電源が入らなくなり完全にご臨終してしまいました)

レンズは MD-Rokkor 50/1.7 を使っていました。50mmは標準レンズと言われますが、この画角はコンパクトカメラによくある28mmや35mmに比べると「随分狭いな」と当時は思いました。これ一本で3年間強制的に練習した結果、今は50mmという画角が好きです。(写真部仲間はみんなズームレンズを使うっていて、単焦点を使っているのは僕だけでした)

XG-Eで撮影した写真

主に高校〜大学1年生くらいの時に愛用していました。これは2003年夏に宗谷本線で稚内まで旅行したときのものです。

X-700(1台目)

X-700は1981年に発売し2000年頃まで生産されていた、MinoltaのMFカメラの完成形とも言えるカメラです。

高校3年生の時に新宿のマップカメラで買いました。当時はまだ各社のフィルムカメラの中古がずらーっと並んでいて楽しかったですね。これを選んだのは Minolta X シリーズでは一番状態のいいものが手に入れやすかったからです。購入時店員さんに「僕も持ってたんですよー!懐かしいなあ」と言われて盛り上がりました。

X-700で撮影した写真(当時)

鉄な写真が多いのは鉄だったからですw

2度目のX-700

そんなX-700も一度は手放してしまい、大学生の頃は登山をしていたのでCoolpix 2100など軽くて、壊れてもそんなにショックではないコンパクトデジカメをメインにしていました。就職後はそれも手放して写真から離れていたのですが、3年前に思い立って再度X-700を手に入れました。レンズは前より少し良い MD-Rokkor 50mm/1.4 を付けました。本体とレンズそれぞれ 10000円くらいだったと思います。

撮影対象は時の流れとともに変わっていました。

最近はメイドカフェ関係によく出入りするのですが、この界隈にはレイヤー(コスプレイヤー)さんの撮影を趣味としている方が多く訪れるので、彼らはとても高スペックなカメラを持っています。そんな中で埋もれないためにはいっそこれくらい振り切ったほうが注目されるだろうという、あざとい魂胆もあったりしますw

X-700で撮影した写真(最近)

久しぶりに使ってみると、年で目が悪くなったのか、以前よりもピンボケと手ブレ写真を続出しました。それがかえって女の子から「雰囲気出る」と喜ばれたりもしました。。。orz

MFカメラの良さはファインダーにあり

MFカメラはファインダーにとても力が込められています。自分の目でフォーカスを合わせなければならないので、倍率が高く、明るく見えるように作られています。例えばこのX-700はアキュートマットが採用されているのでとても明るいのが特長です。

この技術はその後AFカメラになると別の方向へ向ってしまいました。AF時代ではフォーカスを合わせることは自動化されたため、より多くの情報を出すことに重点が置かれて行きました。デジタル一眼となると、なおさらそれに拍車がかかったように思います。

僕がデジタル一眼になかなか手を出せなかった理由がそれでした。そんなファインダーを見ることが残念だったからです。

X-700、α sweetで撮影してきた

せっかく Advent Calendar やるので、この X-700 と、もう一つ所有していたフィルムカメラ α sweet を使って、写真を撮ってきました。

フィルムは富士フイルムの業務用カラーフィルムを使用しました。今はフィルムが高いですね。(;´Д`)

2017/11/12 城ヶ島にて(X-700 MD-Rokkor 50/1.4 φ49)

2017/12/02 上野公園にて(X-700 MD-Rokkor 50/1.4 φ49)

2017/12/03 秋葉原にて(α sweer SIGMA UC ZOOM 28-105/4-5.6)

後日談、フィルムカメラを卒業しました

これらの写真を撮影した後、僕はフィルムカメラをその足で売ってきてしまいました。それは次の理由からでした。

  • 目が悪くなっていてファインダーを覗くことが辛くなっていた (←これが1番!)
  • 撮影後すぐにSNSにアップしたさを抑えられなかった (←これが2番!)
  • フィルムが高い (これは3番!)
  • もう満足した!

実は最初からそう決めていました。目的がない装備は持たないのが僕のモットーです。でも、カメラ・レンズってそうはさせてくれない力がすごいありますよね。おそらく現像から上がった写真を見てしまったらまた踏ん切りがつかなくなったはずです。だから、現像に出した直後に即売却しました。

僕がろくに使わないのに押し入れにあまり良くない状態で保管しておくより、他の人の手に渡ったほうが良いだろうと思ったことも理由です。今X-700を中古で買うともしかすると僕の手放したものかもしれません。ちなみに今、8980円くらいが相場のようです。

フィルムカメラが教えてくれたこと

手放してはしまいましたが、フィルムカメラからたくさんのことを学びました。その中でも次の2つは僕の撮影スタイルに影響していると思います。

その1、一枚一枚丁寧に撮ること

このアドベントカレンダーの他の方も書いているように、フィルムカメラはデジタルと違って失敗すると消すことができないため1枚1枚丁寧に撮ります。デジタルは無尽蔵に写真が撮れるので雑に僕は撮ってしまいがちです。でも、そうやって雑に撮った写真は「全部ダメだった」ということもよくあります。

その2、24枚、36枚でストーリーを作る

フィルムは24, 27, 36枚などの単位で売られています。つまり、このフィルム一本分を撮りきれないと現像に出せないし、撮りきってしまうともう撮れないというジレンマがありました。一本のフィルムでぜんぜん違う写真を並べるのも野暮いです。なので、当時は24枚や36枚でストーリーを作るぞ!と考えて撮影をしていました。

ストーリーを考えると「さっきこれを撮ったから次はこれだ」みたいに考えながらその日を楽しむことができます。受け身にならず一日をより能動的に過ごすことができます。

逆に、バシャバシャ撮ってしまうとファインダーを覗いてばかりで、「その日、その時」を楽しめない気がするんですよね。プロの場合は仕方がないかもしれませんが、僕は趣味なので

「失敗したらそれでも良いや」

くらいに思っている方が楽です。それくらいの距離感を忘れずにこれからもまったり写真を撮っていきたいです。

 

 

エンジニアが機械学習を仕事とする周辺環境

メイドカフェでノマド会 座談会開催しました!

を開催しました。

資料はこちらです。

僕はエンジニア視点で話しましたが、コンサルの方の参加もあって、話が広がりました。ここ数ヶ月もやっと思っていたことが議論をすることで腑に落ちた感じがします。若い学生の方の意見も聞くことができたこともよかったと思います。

議論の内容は結論はスライドに書いているとおりですので、そちらをご覧ください。

今後もこのようなプチイベントの開催を増やしていこうと思います。「参加したい!」「こんな企画をやりたい!」と思われた方はまずは、ノマド会の公式サイト にアクセスし、Slack, connpassに登録いただき、 Slack 上で声をかけていただければと思います。

別言語のWebプログラマーが突然Pythonで機械学習をやることになった時の心得

人工知能AI がブームになっています。エンジニアの間でもまた「機械学習」や「データ分析」方面の技術が注目されています。そして、言語としては Python が使われます。今、Pythonで機械学習をする仕事は増えてきています。

この時代の流れで、今後「データ分析」や「機械学習」を仕事とするWeb系出身のエンジニアは増えてくると思われます。Javaを使ってWebのプログラミングをしていたプログラマーが突然「Pythonでデータ分析をやってくれ!」「このCNNを使ったプログラムを解析してレポートを出してくれ」というように言われる日はもう訪れています。

実は、僕がそうでした。

僕は昨年12月に BeProud に入社するまでは、Javaの仕事を10年以上していました。昨年の9月まで Python を書いたことがなかったので、Python歴1年のひよっ子です。そんな僕が、なぜか入社以来、大小案件に関わらせてもらい、今では社内でも「機械学習系に詳しい人」のように見なされているようです。

このような事例は珍しいことではなくなるはずです。 次は、あなたかもしれません! そんなあなたのために、僕が一年間どのようにして、Pythonと機械学習と付き合ってきたのか、これから、Web系の人が機械学習の仕事に携わる時にどんな心構えをしていれば良いかを書こうと思います。

Javaやの僕はどのようにしてPythonを学習したか

「御社の募集要項を見ると Python という部分以外には一致しているように思います」

「弊社に入社する人の半数は業務での Python は未経験だから大丈夫です」

と、shacho に言われて、入社が決まったものの、そもそも「業務でのPython経験」がないどころか「1行もPythonを書いたことがない」に等しい僕が、初出社日までの2ヶ月間で 「Python のプロ」として出来上がっていないとまずいので、実は焦りました。そこで最初は本を読みました。

例えばこれとか

これとか

でも、読んでも書ける気になりません。「やばい!!」となったところで、なんと絶妙なタイミングでこれから入社する会社がこのサービスを出していました。


PyQ - 本気でプログラミングを学びたいあなたへ

そこからはひたすらPyQをやってなんとか入社までに基本的な文法はマスターしました!そのおかげで「受講生の声」の欄のトップに載ってしまいましたw

自社のサービスなので、宣伝臭いと言われそうですが、本当にPyQを使って覚えたスキルで実務で戦っているので、人に聞かれたらまず第一にオススメしています。これからPythonを学ぶ人はこの本を買うと3日間無料でPyQが使えるキャンペーンコードが付いているので、良いかもしれません。

エディタは Eclipse 時々 VSCode 時々 Atom , etc...

Javaは、Eclipse、NetBeans、IntelliJ IDEAのどれかを使用している人がほとんどですが、Pythonは様々なエディタを愛用している人がいるようです。Java出身の人は何を使えばいいでしょうか。

僕はEclipseを使っています。「PyDevなんて重いし使ってる人いないよ」と言われがちです。多分BP社内でもEclipseを愛用しているのは僕だけです。

EclipseがPythonの人たちに人気がないのは「重い」というのがあると思います。しかし、これは誤解で、みんなきっと「Java EE」版を使っているのではないかと思います。Java EE版EclipseはJavaプログラマーも敬遠したくなるほど重いのです。オススメなのが、PHP版のEclipseです。PHP版Eclipseは軽い上、しかもHTMLエディタなど、Web開発に必要なプラグインが最初から入っています。

とはいえ、僕はJava時代にEclipseに心酔してしまって、何度も寄付しているEclipseファンなので、普通に「Eclipseを使わされていた」くらいの人だったら、PyCharmは人気があるし良い選択肢だと思います。

その他には、VSCodeも人気があるようです。

Webやの僕はどのようにして機械学習を学んだか

機械学習の「き」の字も知らなかった中で、「データ分析系の案件に入ってもらうかもしれないから勉強してください。」みたいに言われ、入社前から社内勉強会に参加させてもらいました。その時読んだのがこの本

この本は何度も読み込んだのでバイブル的な存在ですが、pandas も Jupyter Notebook も何それ食えるのというレベルだと、ソースコードを「写経」することもままならないので、きつかったです。最初は、 Jupyter Notebookとpandasから入門することをオススメします。今、Jupyter Notebookとpandasを最初に入門するなら。。。やはりPyQがおすすめです。ww

PyQには、データ分析・pandasのコンテンツがあります。また、機械学習のコンテンツもあるので、まずはここで、「ロジスティック回帰」や「決定木」などの簡単な使い方を学んでから、専門的な本に進むことをオススメします!

いいなー。今から学ぶ人。

Webで経験した人が機械学習の世界で活躍するには

さて、ここからが本題です。

僕のような根っからのJavaやさんで、Webやさんが、「Pythonで機械学習」の仕事をやって足手まといではなかったのでしょうか?それが意外と活躍できてしまいました。

なぜかというと「機械学習」の現場で「エンジニア」の我々は、「データサイエンティスト」と呼ばれる人たちとは違う役割を期待されるからです。

主に、我々が作るのは「データパイプライン」という部分です。

パイプラインとは、細かいデータの操作を束ねた一連の処理セットのことです。機械学習で求める結果を得るためには、「機械学習アルゴリズム」だけを知っていても十分ではありません。データはSQLで取ってこなければいけないかもしれないし、結果はCSVを変形しなければならないかもしれません。

こういった、一連のデータの流れを設計できるのは、実は、業務フローや、データ設計をどっぷり経験してきた、エンタープライズシステムよろしくな、システム業界のエンジニアです!

入社して最初にやったことは、「機械学習に入力するデータ」をお客さんの「データベースからどのようなSQLで取ってくるか」という設計でした。「susumuisさんSQL得意なので助かります!」と隣の人に言われました。

「機械学習のアルゴリズム」の部分は、ライブラリもあるし「データサイエンティスト」の方が数式を提供してくれるので、基本的なアルゴリズムの名前と特性くらいを知っていれば何とかなります。

それよりも、どのデータを、いつ、どうやって取ってくるのか。あるいは、運用時に誰が、いつ、入れるのか、こういったワークフローや業務フローを設計するのはまさに「システムエンジニア」の得意技です。

どんなエンジニアになってはいけないか

勉強をやめてはいけません。

Webの世界でもいましたが、前時代にはエンジニアでも「今時の技術が全く分からなくて、前時代のノリで設計をして実装させようとする上司」がいたらうんざりです。

特に、機械学習の世界では、お客さんとデータサイエンティストのパイプ役にエンジニアが回りがちになります。その間に伝言ゲームの齟齬があると、連携プレーは崩壊します。データサイエンティストと、お客さん両方の言葉を理解し、それをシステムに落とし込むことができるエンジニア以外は居場所がありません。

これは一般論ですが、「伝言ゲーム」は多くなるほど失敗します。とりわけ「専門用語」が多い機械学習の分野で、伝言ゲームに失敗すると悲劇しか起こりません。そのため、エンジニアはフルスタック的であるべきで、設計から実装まで一貫して一人でできた方が良いでしょう。また、旧来型SIerの多重請負方式では、中間に多くの「専門家ではない人」が挟まるため、うまくいかないのではないかと思っています。

まとめ

以上のように、僕のように他言語、他分野から入って、機械学習界隈でも生きていくのに必要なことは次の4つです。

  1. データ設計能力とSQL
  2. お客さんと直接話せして設計から実装まで一貫してできるスキル
  3. Pythonのスキル
  4. 機械学習の基礎知識

いかがでしたでしょうか。普通の真面目なエンジニアは、1,2ができて当然なので、あとは 3,4 を学べば、もう明日から機械学習の現場に行っても問題ないはずです!

1,2 が未熟である場合は、Webエンジニアでも、業務システムエンジニアでも、いずれ限界が来ると思います。もし、大規模チームの「一担当」に落ち着いているなら、危機感を覚えた方が良いかもしれません。

3,4 は奇しくも PyQ で学べます! 自社のサービスなのでこれでは「ちょっとステマが過ぎるのではないか」と思われてしまうことだけが心配ですが、思っていることに間違いはないので、結論として締めくくらせていただきます。