株式会社はてなに入社しました
今年もよろしくお願いします
会社の朝会で話したやつ2
前回
今回はキングダム ハーツの話をした。
ちょっと旬は過ぎましたが、キングダム ハーツⅢ 発売されましたね、めでたいですね。
KH2から13年以上待っているので、実に今までの人生の半分待っていたことになる
— Yutaro Muta (@yutailang0119) 2019年1月24日
スクエア・エニックスがディスニー協力の元、制作/販売しているRPGゲーム作品、およびそのシリーズ。
ミッキー、ドナルド、グーフィーが武器を振り回したりするゲーム。
KHオリジナルのキャラクターの版権も、全てディズニーが持っている。
ナンバリングタイトル (KH1, KH2, KH3) がソラが主人公の正史、それ以外は外伝という扱い (だったはず)
KH2から3の間に5作の外伝をはさんだもの、正史を13年待った。
ナンバリングタイトル以外もやらないと、普通に話がわからない。
2002年3月28日発売のKHが発売されてから17年、ダークシーカー編という大きな1章が完結したが、まだまだ終わりが見えない。
KH10周年の時に、20周年には完全完結するだろうと言われてたけど、絶対3年後までに次作が出ているのかさえ怪しい
発売順 ≠ 時系列ではなく、さらには同じ名前の人物が複数人いて、輪をかけて混乱する。
でも、KH3までやると、いろいろと繋がるので、ぜひやってほしい。
2002年12月26日発売
初めてプレイしたキングダム ハーツ
好きなワールドは ハロウィンタウン (ナイトメアー・ビフォア・クリスマス)
発売は2002年12月26日だけど、この頃はPS2は持ってなく、春に新しくクラスが一緒になった友達の家でちょっとずつやって進めた記憶があるので、2003年の4月頃にやったんだと思う。
当時、小学5年生。
ファイナル ミックス (以下、FM) は北米版ベースに追加要素が加わった英語版で、英語のゲームをしているだけでもかっこいい感じがしてた。
ちなみにここまでスクエア発売らしい。 *1
記念すべきKHシリーズ始まりの物語なので、ぜひやってほしい。
2004年11月11日発売
ナンバリングタイトルじゃないけど、これは正史。
好きなワールドはやっぱり ハロウィンタウン (KH1とワールド構成がほぼ一緒)
当時、小学6年生で、ゲームボーイアドバンスは持っていたので、クリスマスに買ってもらった。
KHシリーズとゲームシステムが全然違って、ひどく落胆した覚えがある。
今考えると、ソーシャルゲーム感ある。
自分はKHキャラクターの中で、リクが好きだったので、シナリオはおもしろかったので、ぜひやってほしい。
2005年12月22日発売
好きなワールドは タイムレス・リバー (蒸気船ウィリー)
中学生になっていたので、かなり自由にゲームを買えるようになっていたので、自分で買った。
ゲームシステムがかなり改善されているし、シナリオが本当に泣けます。
裏ボスまで辿りつく気力がなくて、後述のFMでやって驚いた。
ここからKH3の発売を13年待つこととなる。
今なら待たずにKH3までできるので、ぜひやってほしい。
2009年5月30日発売
好きなワールドは トワイライトタウン (KHオリジナル)
ⅩⅢ機関と呼ばれる、前作までの敵視点で進めていくので、ちょっとディズニー感が薄くて、物足りないかも。
DSだったので、高校の休み時間にやってた。
今後のKHシリーズで重要な情報が紛れている可能性があるので、ぜひやってほしい。
2007年3月29日発売
コンテンツがKH2とCOMのリミックスだったので、2010年くらいに後からやった。
KH2でまた泣いた。
2回KH2で泣きたい人は、ぜひやってほしい。
2010年10月7日発売
好きなワールドは 忘却の城 (KHオリジナル)
元々携帯用ゲームで展開していたものシナリオを、DSに移植したもの。
Daysの続きでやってた。
今考えると、受験期によくやれてたと思う。
手軽にできるので、ぜひやってほしい。
2011年1月20日発売
好きなワールドは レイディアントガーデン (KHオリジナル)
BbS無印は2010年1月9日に発売されてたんだけど、英語版がやりたくて待ってた。
結果、受験期に直撃して、受験が終わるまで我慢した。
受験が終わってぶっ通しでやって、1日ちょっとで終わらせた。
これも本当におすすめできるので、ぜひやってほしい。
2012年3月29日発売
好きなワールドは シンフォニー・オブ・ソーサリー (ファンタジ)
ソフトだけ友達に借りてやった。
約10周年のタイトルで、操作性をかなり刷新して賛否両論あるけど、自分はおもしろかった。
シナリオの印象は薄めだったけど、KH3の直前の物語で、やっていてよかったので、ぜひやってほしい。
iOS/Androidのソーシャルゲーム
惰性でやってたけど、KH3の腹落ち感のためには必須だったので、ぜひやってほしい。
2019年1月25日発売
全部のワールドがよくできてて好きだけど、1つだけ上げるなら トイボックス (トイ・ストーリー)
最高、待ってた。
本当にダークシーカー編の完結って感じで、とてもよかった。
エピローグとシークレットムービーを見ると、まだまだまだまだ物語は続きそうだなぁとなった。
これのためにPS4 Proと42inch 4Kディスプレイを買った。
買うだけの価値があったので、みんな買って、ぜひやってほしい。
実はKH3が終わってから、キングダム ハーツ HD 2.8 ファイナル チャプター プロローグを買って、やっと新規映像特典のχ BCを見た。
KH3やる前に見ておくべきだったので、ぜひ先に見てほしい。
で気持ちを高めて、 KINGDOM HEARTS INTEGRUM MASTERPIECE | 公式PlayStation™Store 日本 を気づいたら買ってほしい。
可愛いドナルドの姿をお楽しみください。 (⚠️KH3の画像を含みます)
バグなのか、ドナルドが挟まって動かないんだけどwww #PS4share pic.twitter.com/Sdb5yLt7VC
— Yutaro Muta (@yutailang0119) 2019年1月28日
ちょっと遅くなったけど、2/11 (月) で、株式会社はてなに入社して1年が過ぎた。
なにかしらの数字にして、振り返ります。
あたりが主。
拡張子レベルの粒度だと、fastlaneとかGradleとかJenkinsfileとかxmlとかもあるので、10は超えそう。
株式会社はてなに入ってからの半年を振り返る - がんばってなんか書く にも書いたけど、マンガチームから、ブックマークチームに移動して、今ではテックリードに近いロールも担当している。
やりたいことはいっぱいあるし、しばらくはブックマークかなぁと思っている。*1
入社半年で付与された10日丸々残ってる。
柔軟に働けてるので、手続きのために有休取らなきゃいけないなんてことがない。
それはそれとして、今までもそんな有休取らないタイプだったかも。
有給休暇の取得と辻褄合わないじゃんと思われるけど、それ以外でも休みがある。
有給休暇付与までの間に上長承認があれば使える特別休暇で休んだ。
WWDC後にサンフランシスコ観光して1日と、実家から新幹線出社してる最中に地震で動けなくなってしまって1日使った。
それ以外に夏休みで3日 *2 あった。
前述の地震で痛い目を見たので、億劫にはなってしまったけど、年2回は自分にしては多い方。
新幹線でシュッと帰れる距離なのは、非常に楽。
はてなは8月が期初で、半年に一度の査定なので、タイミングよく2回。
じゃあ、給料いくら上がったのって思われる*3と思うので、少しぼかしで書いたけど、こんなもん。
2回経てもこんなもんか…
200万くらい、ぽんと上がるとよいんだけどなーとは思う。
ついでにグレードも上げたい。
昨年末から副業でiOSアプリ開発をしている。
とりあえず3ヶ月という契約でスタートしたけど、昨日確認したら継続したいとのことで、自分も特に不満がないので、継続になりそう。
GraphQL最高。
はてなは副業は許可制なので、ちゃんと申請した上で始めた。
何かおもしろい仕事があれば、ご相談ください🙌
年間比で2倍 (前年10本) なので、数値としては大きく増加。
絶対数でいうと、もう少し書きたいですね。
Advent Calendarあたりから、Developer Blog大臣をするようになったので、コンテンツ考えたりもしています。
次年はもっと書くことになるはず!
主だったものを数字で上げてみた。
昇給のこととか書いてるので、怒られが発生するかも?
また半年後にお会いしましょう。
あけましておめでとうございますには、もう遅い時期だけど、2019年最初のブログ
先週の1/19 (土) に誕生日を迎えまして、26歳になった。
@yutailang0119 誕生日おめでとう
— Yutaro Muta (@yutailang0119) 2019年1月18日
お祝いくださった皆様、ありがとうございます!!!
まだ届いていないものも多くありますが、皆さま今年もありがとうございます! pic.twitter.com/hqqm8QRpiu
— Yutaro Muta (@yutailang0119) 2019年1月20日
.@ikesyo からラブライブ!のCDが送られて来て、さすがにおもしろい pic.twitter.com/k9aSiFPZTI
— Yutaro Muta (@yutailang0119) 2019年1月21日
26歳の抱負は「人、チームとの向き合い方の再考」
2019年の年明けから、チームメンバーが推してくれたこともあり、所属チームのモバイルアプリ側のテックリード (以下、TL) に近いロールを拝命した。
近いと濁したのは、チームレベルのTLは別でいて、自分はあくまでその中のモバイルアプリ側を担当することから。
はてなに於いてのTLはポジションではなく、ロールとして位置づけられている。
形式的には、テックリードにはチームの技術的な窓口となってもらっています。
はてなにおけるテックリード、そしてサービスプラットフォームチームのテックリードについて - Hatena Developer Blog
また、テックリードには、ディレクターなど非エンジニアとエンジニアとの橋渡し役になることも期待しています。技術的な事情に関する説明責任を果たしたり、技術的な側面から意思決定の手助けをしたりと、チームのエンジニアを代表する存在でもあります。
はてなにおけるテックリード、そしてサービスプラットフォームチームのテックリードについて - Hatena Developer Blog
実は自分にこういった役割が回って来たのは、アプリケーションエンジニア人生初めての経験。
はてな入社前は、だいたいの場面でiOS1人/Android1人/他サーバーサイド/フロントエンドみたいな環境にいることが多かった。
たまにiOS2人という時期も自分はサポートだったし、そもそもスマホアプリが3人以上ということに出会わなかった気がする。
今回、いろいろなタイミングが重なって、モバイルアプリメンバー内にも必要になるフェーズだと思っていたけれど、なんとなく別の人がやるもんだと思っていた。
まだ今年は1ヶ月も経っていないけど、すでに課題感は感じている。
前述の通り、こういうロールの経験がないことで、歯がゆい気持ちになることが起きている。
やってみて、今更ながら足りない部分が見えてきた。
そもそもでエンジニア組織自体のメンタリングの経験もないので、無勉強で突入したのがよくなかった。
本を読むだとか、単純に知識をインプットすることで緩和できることもあるはずなので、おすすめのトレーニングがあれば、知りたい。
新しい言語を学ぶ時と同じように、チュートリアルをやって、ドキュメントを読むべき。
それとは別で、人間性の部分もネックになっていると思う。
元からの自分を知っている人ならわかると思うけど、恥を忍んで言うと、基本的に自分は口調が強いし、イライラを態度に出しがち。
前々から自覚はあるので、最大限の注意を払って気をつけてはいたのだけど、去年晩秋くらいから度々反省することがあった。
これの解消に効く薬はないとは思うものの、今現在の自己分析では心の余裕が足りないからかなと思っている。
そんな26歳の抱負と滑り出しだった。
相談乗るよという人がいたら、いつでも声をかけてください。
今年に限らない目標だと、「挑戦」
はてなのバリューズの一つに挑戦が好きというのがあるし、 はてなのエンジニアのバリューズ - Hatena Developer Blog を支えるのも挑戦だし、まだまだやれてないこと、やりたいことは無数にあるので、今年もいろいろやっていきたい。
去年の誕生日は有給消化期間で、転職や京都に来る直前だったので、そういった環境変化への不安だったので、たいぶ様変わりした。
もうすぐ、はてなに入社して、そして京都に移住して1年になるので、それもまたよきタイミングでまとめを書く。
これは Swift Advent Calendar 2018 24日目の記事です。
昨日23日目は @uounɹɐʇの「Conditional Conformanceで遊ぼう」でした。
先日福岡で行われた 第5回 HAKATA.swift ~福岡でSwiftの勉強会~ でLTとして話した内容です。
READMEの冒頭には
SwiftSyntax is a set of Swift bindings for the libSyntax library. It allows for Swift tools to parse, inspect, generate, and transform Swift source code.
とあり、Swiftの
に用いることができ、所謂、メタプログラミングに使用できます。
メタプログラミングについてはこちらがおすすめ
iOSで色を扱う場合にお馴染み、UIKitデフォルトAPIとして提供されるイニシャライザ
UIColor.init(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
ですが、これには以下のような不満点があります。
ということで、swift-syntaxをを用いて、コメントでHexColorを入れてみようと思います。
Contents.swift
import UIKit let string = "ABCDE" let color1 = UIColor(red: 0.55, green: 0.0, blue: 0.0, alpha: 1.0) let array = [1, 2, 3, 4, 5] let color2 = UIColor(red: 0.0, green: 1.0, blue: 0.0, alpha: 1.0) let dictionary = ["foo": 1, "bar": 2, "baz": 3] let color3 = UIColor.init(red: 0.0, green: 0.0, blue: 1.0, alpha: 1.0)
$ swift run swift-color-detector help dump \(path): Dump code rewrite \(path): Add HexColor Comments and Save
これをdumpしてみると
$ swift run swift-color-detector dump Contents.swift
import UIKit let string = "ABCDE" let color1 = UIColor(red: 0.55, green: 0.0, blue: 0.0, alpha: 1.0) /* #8C0000 */ let array = [1, 2, 3, 4, 5] let color2 = UIColor(red: 0.0, green: 1.0, blue: 0.0, alpha: 1.0) /* #00FF00 */ let dictionary = ["foo": 1, "bar": 2, "baz": 3] let color3 = UIColor.init(red: 0.0, green: 0.0, blue: 1.0, alpha: 1.0) /* #0000FF */
と出力されます。
$ swift run swift-color-detector rewrite Contents.swift
とすると、与えたpathのコードの書き換えも行います。
今回のサンプルでswift-syntaxをメインで扱う部分は、以下ファイルの60行強で実現されています。
段階としては
ColorSyntaxRewriter
ColorInitializerSyntaxRewriter
UIColor.init(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
を検査ColorLiteralSyntaxRewriter
という3ステップで実現しています。
いかがでしたでしょうか?
簡単に扱えそうな気がしてきませんか?
そもそも自分もメタプログラミングは挑戦を始めたばかりで、 apple/swift-syntax
も手探りなため、最適解とは限りません。
ぜひ、アドバイスをもらえるとありがたいです。
発売、めでたいですね。
この為にゲームキューブコントローラー (以下、GCコン) とタップも準備して、早速繋いで準備した。
会社出た時に思い立って、ヨドバシに駆け込んだら、GCコンとタップ買えた。残念ながら、ビックカメラには在庫なかった
— Yutaro Muta (@yutailang0119) 2018年12月6日
数年ぶりにGCコンを持ってみると、とてもしっくりきて、千数時間 (?) と握った感覚が蘇ってきた。
そこで最近の身の回りのデバイスと比較して考えることがあったので、何度も書かれていることだろうけど、備考録的に書いておく。
自分のことを知らない人が読んだ時のエクスキューズになるように一応書いておくが、自分の本業はスマートフォン、とりわけiOSのアプリケーションエンジニアで、UI/UXに造詣が深い訳ではないということを踏まえて、読んでもらいたい。
前述の通り、ここではGCコンをイメージしている。
GCコンでの横移動はメインはスティックでの操作が、一般的だと思う。
昨日GCコンを持ってみてスティックをいじると、頭の中ではキャラクターを操作するようなイメージだった。
まだスマブラSPは起動できていないが、きっとそういう操作を想像するだろう。
スティックに限らず、十字キーでも同じく、1コマずつキャラクターが動くイメージだ。
なにが言いたいかというと、自然と 「主観的に (自分が) 動いている 」という感覚になったということだ。
PCにも十字キーはある。
ただ、これを操作しても、キャラクター (≒自分) が動くイメージはなく、動くのはモニターに映るカーソルであろう。
十字キーを押した方向に、カーソルが動く。
つまり、これは「 客観的に (モノを) 動かしている 」という感覚になる。
同じ十字キーなのに、カーソルを自分だと思えない原因は、コントローラーという物理デバイスを握っているかどうかなのかな。
ただ、ゲームのメニュー画面は、カーソルを動かすそのままの体験だとも思うので、自分がどうやって区別しているのか難しい。
トラックパッドはちょっと特殊で、設定によって後述するスマートフォンのような動きにもなり得る。*1
スマートフォンには十字キーは基本的なく、スワイプがその操作に該当する。
スワイプは、どういう感覚かと言うと、タッチ面のモノを物理的に動かす感覚に似ている。
スマートフォンアプリ、特にiOSのUIの話では「スキューモーフィズム」が大切にされてきた。*2
要するにメタファー表現。
電子書籍でよくある、ページをめくる感覚が、横移動と言えるだろう。
これは前述のPCトラックパッドも同様で、ブラウザのページ送りも、本をめくる感覚だ。
そう考えると、「(モノを) 動かしている感覚ではあるものの、主観的に見ている」のではないだろうか。
「いやいや、PCのカーソル操作と何が違うんだ。」という意見もわかるのだけど、少なくとも自分は、スマートフォンの場合は身体の延長にある気がしている。
コントローラーの操作と連動して、動いている感覚
十字キーの操作と連動して、動かしている感覚 トラックパッドの操作で、動かしている感覚
スワイプ操作で、動かしている感覚
まとめられてないとは思うものの、朝になんとなく頭に浮かんだことをできる限り言語化してみた。
最近新しいアプリを見たり、UI考察をあまりできていなかったので、【新版】UI GRAPHICS 成功事例と思想から学ぶ、これからのインターフェイスデザインとUX も読もうと思う。
それはそれとして、GCコンは本当によくできたコントローラーだなと惚れ惚れした。
*1:自分はmacOS端末をほぼ100%使うので、ものによっては違うかもしれない
*2:それもスキューモーフィズム -> フラットデザイン -> Fluid Interfacesと変遷してきてはいる UI GRAPHICS新版に寄稿しました - Appleが目指す「流れるインターフェース」|Go Ando / THE GUILD|note
早いもので、iOSアプリケーションエンジニアとして天寿を全うされた id:niwatako さんが、株式会社はてなを旅立ち、メルペイに入社して2ヶ月弱経ちました。
今日が仏教でいうところの 四十九日 にあたるので、お祈りブログを書くことにします。
そんな今日は、セブンイレブンの 練乳ミルククリームの香ばしいフランスパン
を買って、袋に入れずに手に持ったまま、出社しました。 *1
仲悪くなってないです。
そもそも扱いは元からこんな感じだったし、むしろ、自分の入社前後のがひどかったと思う。
前々日くらいに「京都行くから泊めてー」みたいな感じでしたし。
id:niwatako が東京勤務になった時の方が、接点減った感じがします。
今も普通に社外のSlackで会話してるしね。
id:niwatako に頂いた iPhone Core Audio プログラミング は大切に読んでいます。
ブロックチェーンエンジニアとして転生されて、第二の人生を歩んでいる模様。
今日から上海に言っているらしいです。
アメリカですらお会計出来なかった僕が中国でお会計できるはずがない
— にわタコ (@niwatako) October 18, 2018
ただ、iOSの勉強会にも出没しているらしい。
成仏したはずでは?🤔
はてなブックマークのチームで、なぜか業務の半分をPerl読み書きして過ごしています。
id:niwatako から誘われた時と話が違う、おかしい🤔
日本酒飲み仲間が減って、日本酒を飲む量が減りました。
そろそろおでんの時期ですね。
京都でお待ちしています。*2
結局、転職祝いを送っていないので、何がほしいか教えてください。
それと早く一人暮らしして、東京に行った時の宿をください。
*1: id:niwatako の出社風景
*2: id:niwatako に限らず