読者です 読者をやめる 読者になる 読者になる

スベリミナル効果

技術的なことを書こうと思ってたけど何でも書くことにします

技術的なことを書きたいんですけどね… 指摘・質問・罵倒コメントください…
ダジャレ好きの方はこちらにどうぞ→スベリブログ2.0

映画(Netflix)の BLAME! は原作読んでから観た方がいいんじゃないかと思った

BLAME!』を川崎チネチッタ(映画館)で観てきました。

 

ご存知の方も多いと思いますが、こちらの作品、Netflixと同時公開というなかなか凄い試みをされているわけです。公開されてすぐにNetflixで観たのですが、もう一回映画館で見たいと思い、珍しく足を運んだわけです。以下の記事に引っ張られたのもあります。

長編アニメ映画「BLAME!」が劇場とNetflixで同時公開 ポリゴン・ピクチュアズとNetflixのキーマンがタッグの意義語る

 

昔から原作を読んでいた私としての感想をサラっと書くと、

- 原作が上手く凝縮されており、原作好きとしては凄く満足できる作品だった(あえて名ゼリフを引っ張ってきてる感じとか良かった)

- 難解な原作の要素が非常に分かりやすく(?)展開されていた

- ヌルヌルした動きがよかった(他のポリゴン系作品見てないので比較できないけど)

- シボはもう少し病弱な方がよいとは思った

- サナカンの発音への長い誤解が解けた(サ↑ナカンだと思ってたけど、"鯖缶"の発音だった)

- ボディライン(特に胸)へのこだわりが強く感じられた

- 音へのこだわりは自分にはあまり無いのでコメントしづらいけど、はくりょくがあった(小並

という感じでしょうか。個人的には2回観るほど良かったのですが、それはやはり、昔に原作を読んで自分なりの解釈をしてたり、そこから長い年月を経た後に『シドニアの騎士』と出会い、あの世界観に浸っていたからこそじゃないかなあ、と感じたことも事実でございます。 

 

そもそも、『BLAME!』の原作を知らない方がほとんどだと思います。今なら一巻無料のようですのでまずは読んでみることをオススメいたします。 

まず初めの感想としては「よくわからん」になるのではと予想しますが…(「気持ち悪い」もあるかもね…)

 

そう、原作はセリフも少なくて、いろいろと謎が多く、はっきり言って難解なコミックだと思います。好き嫌い分かれるだろうなあと。15年くらい前、高校生の頃(歳がバレる)に、友人から勧められて読んだのですが、当時も「よく分からんけど何となくスゲえ気がする」的な感想だったと記憶しています。

それから十数年、IT系の職につき、久々に電子書籍BLAME!を見つけて衝動買いしたんですが、そこには以下のような書籍解説文があったんです。

極限まで発達したインターネット世界。かつて、そこは『超構造体』に内蔵されたシステム(BIOS)上で起動する『統治局』(OS)が、正規アクセスする人間の要望を完璧に叶えていた理想世界だった。だが、破局が起こり人々はアクセス権を失い、『セーフガード』(ウイルスチェッカー)が容赦なく『駆除系』で不正規アクセス者を排除する、危険な世界へと変容してしまう。探索者・霧亥(キリイ)は『統治局』への再アクセスを可能にするために何千フロアも超構造体を放浪し、『感染前』の『ネット端末遺伝子』を求める。 

はあああ、そういう設定があったのかああああ、なるほどおおおお!と、なんか偉く感動してしまいました。PCの内部構造を元にしつつ、あの世界観にまで拡がっていたったのかあと。さらに、最近描かれた『シドニアの騎士』では、当事『BLAME!』で明かされなかった謎のルーツみたいなものが色々垣間みえたりするんですよね。そんな感じで、いろいろあった物語の謎が徐々に明かされて拡がっていく喜びにより、面白さが倍加されてきたと感じてます。

そんな私としては、原作知らない人が観たらどんな感想になるのかなあ、と思ってしまった次第です。この映画は原作の良さがかなり分かりやすく凝縮されているし、映像としてもクオリティが凄く高いので単体でも十分楽しめるものだと思うんです。でも、初めから分かりやすく入るより、原作の謎の世界観を前もって把握するだけでだいぶ感想が変わる気がしました。…なんか、すごく当たり前のことを言ってる気もしてきましたが… この作品ではそれが特に顕著なんじゃないかなあと。

まあ、素人の戯言ですので、軽く流してもらっていいんですけど、映画を観て「うーん」となった方も、一回原作を読んでみてもらいたいです。さらに「うーんうーん…」となるかもしれませんが、いつの間にか深みにハマっていくかもしれません。

 

原作読んだけどそう思わなかったぞ!と、ブラム(恨む)のだけはご勘弁ください…(1スベリ)

 

 

P.S. とか書いてから原作読み直し始めたけど、やっぱり原作は難しいし、なによりグログロしてるから、今回の映画とはやはり一線を画すべきものなのかなあとも思い始めました… まあ、感想なんて気分で変わるもんですしね(おい づるは原作のギャップある方が好きだなと思った。

オープンセミナー岡山に参加してきました #oso2017

オープンセミナー2017@岡山に参加してきました。さすがに神奈川からは遠いので迷いはしたんですが

  • 「レガシーとたたかう」というテーマが今の自分の苦悩にかなり刺さった
  • @t_wadaさんとか、@naoya_itoさんなど、業界有名人をあまり知らない私でも知っている登壇者のお名前が連なっている
  • しかも無料なんですってよ奥さん

ということで、仕事終わりでそのまま新幹線に飛び乗って前乗り参加しました。そんなこんなで聴かせて頂いた内容について、いつものようにつらつら書かせて頂きたいと思います。また、長文になってしまった…

発表一覧・資料については、以下に上がっていくようです。

レガシーコードの触り方

登壇者 :和田 卓人(@t_wada)さん (タワーズ・クエスト株式会社)
スライド:レガシーコードの触り方 / Working Effectively with Legacy Code // Speaker Deck
定義  :レガシーコード=テストの無いコード


まず、自己紹介として、t_wadaさんのスタンド「ワイルド・サバンナ」が登場です。テスト書かなきゃ…

     ,、,,,、,,, 
    _,,;' '" '' ;;,, 
  (rヽ,;''""''゛゛;,ノr)     
   ,; i ___ 、___iヽ゛;,  テスト書いてないとかお前それ@t_wadaの前でも同じ事言えんの?
  ,;'''|ヽ・〉〈・ノ |゙ ';, 
  ,;''"|   ▼   |゙゛';, 
  ,;'' ヽ _人_  / ,;'_ 
 /シ、    ヽ  ⌒⌒  /  リ \ 
|   "r,,`"'''゙´  ,,ミ| 
|     リ、    ,リ   | 
|  i  ゛r、ノ,,r" i _ | 
|  `ー――-----------┴ ⌒´ ) 
(ヽ  _____________ ,, _´) 
 (_⌒_______________ ,, ィ 
     T                 |
     |                 |


「あえて抽象度を下げた実際にコードとたたかう話」ということで、非常に具体的な内容をデモも交えてご説明いただきました。

弊社では2年前に大きな品質問題を出してしまってから、自動テストを徐々に拡充していこうという取り組みをしており、発表内容についてはウンウンとうなずけました。この辺はワイルド・サバンナもニッコリして頂けるかなと思いました。

ただ、実際にやってみると、

  • 最初から全部やろうとしない
  • 網羅性にこだわらない

っていうところにこだわりすぎてしまったり、

  • 設計の可動域を確保する
  • 接合部の検討と吟味

などは、ケースによってうーむ…と悩んでしまう部分ではないかと思います。テスト対象のレガシー具合や、どういう機能であるかにもよると思うので。後者の方は、やはり様々なケースでテスト作ってみて経験を積まないと、なかなか上手くいかない部分なのかなとも思いました。
デモでも(ダジャレじゃない)、「標準出力奪ってdiff取る」ってのがありましたが、あれもなかなか思いつかない(思いついてもできない)策じゃないかなと思いました。


こんなdiffもrpmbuildの接合部と言える?し、現状の動作から変更が無いことを確認できると思います(t_wadaさんからいいねされた、やったね!)。このへん、多分ケースバイケースなことが多く、今回のデモのような内容は非常に貴重で、正直もっと長く見ていたかったです。

あと、テストのトリアージについては、明確にやっていなかったので今後の参考にしたいです。(『リーン開発の現場』も積読のままだなので読まなきゃ…)

ミーハー的には、t_wadaさんの発表聞けたの初めてだったので嬉しかったです。

レガシーを解決する開発プロセス

登壇者 :角(すみ) 俊和 さん (NHNテコラス株式会社)
スライド:レガシーを解決する開発プロセス

「新技術を使っていい感じのサービスを立ち上げること」という無謀なお題に対してたたかうお話。
肝としては、キックオフと同時に仕様決め合宿を関係者全員集めてやり抜いて、ありがちな手戻りやリソース問題などを徹底的に潰した、ってことだと理解してます。逆に言うと、やるべきことをしっかりやりさえすれば上手くいく、とも言えるのかなと。
この事例はあくまで「社内システム=関係者が全員社内」だったからこそ「全員集めて徹底的に」ができたということもあったと思いますが、それでも、全員が納得できる合意にまとめあげることって、そう簡単じゃないと思うんですよね。5日間缶詰でそれが終わり、その後のちゃぶ台返しがほとんど発生しなかった、という点が本当の肝なのかも、と思ったりしました。要は、その5日間の合宿のやり方に秘訣があるのではと。この辺質問すればよかったな…

あと、単純に、こういう風にマネジメントしてもらえるの、正直うらやましいっす。

50年間の流通業の変化と、未来づくりのためのイノベーション

登壇者   :中山 博光さん (株式会社リゾーム 代表取締役社長)
ホームページ:リゾームとは | 経営分析、顧客分析システム、売上分析、デベロッパーマネジメントシステム:株式会社リゾーム

60名の社員で、主にショッピングセンターを対象とした幅広いサービスを行っている株式会社リゾームのお話でした。
全国のショッピングセンター 2000/3300 施設と何かしらの関連を持っているということで、凄いノウハウ持ってそうな雰囲気を感じました。それだけに、色々なありがたいお言葉を聞けた気がします。

  • やってみないと分からない 失敗はつきものだが、お客様目線があれば大きな失敗にはならない、失敗するときは欲を出しすぎたとき
  • 「現場に任せる」 結果バグも減りいい関係が築けた
  • 無人化AIの方が好みに合うかも (若干意訳したかもしれません)

といった話は心に響きました。地方活性化のために商業施設は必要不可欠なので、こういった所からの変革は重要だと改めて思いました。

最新ツールでレガシーをぶっ飛ばせ

登壇者:山本 裕介さん(株式会社サムライズム)

これはよい宣伝。
www.xlsoft.com

GitHub上のコードレビュー、当然のように行っている所が多いと思いますが、この作業自体が実はレガシーでは、という触れ込みから、Upsourceの実演、10名までは商用利用でも無料、ということで会場から歓声が。

でもスミマセン、うち、bazaarなんですわ…(個人で使えよ)

データベースリファクタリング

登壇者 :曽根 壮大(たけとも、通称そーだい)さん (株式会社はてな)
スライド:DataBase Refactoring // Speaker Deck

アプリケーションよりも長寿なDBのリファクタリングについて、絶版の『データベースリファクタリング』から最初の一歩をお伝えします!という熱い想いが伝わってくるお話でした。

  • モニタリングする
  • コツコツと長いスパンで
  • DBの機能を活用する

といった点が重要だと思いました(書いてあるまんまやん…)。いや、正直、DBについては定義されたものを使うだけ、そして大きな変更はずっと無い、というぬるま湯に浸かりっぱなしなので耳が痛かったです… 「問題は小さなうちに」そのとおりです… 手を動かせるよう頑張ります。

どうでもいいコメントしてスミマセンでした。


技術的負債と向き合う

登壇者 :伊藤 直也さん(株式会社一休)
スライド:技術的負債と向き合う // Speaker Deck
関連記事:伊藤直也氏が語る、マネジメントで本当に大事なのは「問題にフォーカスする」である理由|CodeIQ MAGAZINE


rebuild.fmリスナーとして、単純にミーハーな感じで聴きにきた感があったのですが、震える内容でした。本当、岡山まで来てよかったと。前日あたりに丁度バズった記事と内容が半分くらいかぶった、とのことでしたが、生で聴くことに意義があったと思います。一休での技術顧問二年間と、CTO着任後の一年間の2章+ラスボスという構成のお話でした(本当か?)。

技術顧問編では、外から来た事情の分からない人間として、問題を整理し継続的に取り組むことのきっかけとして上手く作用できたのではないかと。学ぶべき点としては、リスペクトすべきレガシーを否定するような取り組み方はダメで、レガシーはそりゃあるよ、じゃあなんでこうなってるんだろう、という考え方をしなければならないと。
もうこの時点でウンウンうなずきまくってましたが、ただ、やっぱこの部分だけでも、そう簡単に進むものではないと思うんですよね。当然、技術的課題を理解して整理できる能力があって、かつ、ある程度の信頼感がなければ諸々の改善って進まないと思うんです。だからこそnaoyaさんが招聘されているわけだと思いますが。この話を自身の現場で活かすとなると… って考えると、やっぱりそれなりにデキる人呼んでくるしか無いのかなあ…などと考えていました。

で、CTO着任編。何だかんだ進捗したけど、人間の本能的に目をそらしてきた大きな問題に着手していくと。ここで、改めて問題を整理し、説明できるレベルの資料に落としていった、というのが凄いのかなと。この成果物が整理・展開され、方針として降りてくる。そりゃ現場も納得するし、目的が明確だからきっとスムーズに作業が進むんだろうなと。さらに「背中を押す」といったところまでケアされてめでたしめでたし…

と思いきや、新のボス「レガシーコード・レガシーアーキテクチャー」がまだおった、的なことに。そこで自分の工数を使い、パターンを比較対象として用いながら、課題を明確に言語化していき… なんかもうこの辺で頭が上がらなくなってくるというか、技術者の側面とマネジメントの側面をフルに使った、言うなれば魔法戦士というか、バトルマスター賢者的にたたかいを繰り広げた感が垣間見えました(ぼくだけですかそうですか)。

自分の現環境に適用することを考えながら聞いてたんですが、まずは技術者として、課題の言語化・資料化っていうところをマネしてみたいかなと思いました。正直、マネジメントにはあまり期待できない環境だと思っている(ここも変えろという話が次にあったかもしれない)ので、ボトムアップでどう改善していくか… ひのきのぼう と ぬののふく の ただのまちのひと がどこまでできるか分かりませんが、部分部分のエッセンスを拾って活かしてみたいなと思いました。


うまくバランス取るだけでも相当難しいと思いますけどね…

日経電子版 レガシーな基礎の上に逹つ旅館

登壇者 :武市 大志さん(株式会社日本経済新聞社
スライド:日経電子版 レガシーな基礎の上に建つ旅館 // Speaker Deck


一緒にしたら失礼かもしれませんが、境遇的には自分と近い部分があって、最も共感が強かった発表でした。大きい企業で外注の方が主、サービスや機能を止められない、北海道で水道管工事したら沖縄で詰まる、など、あるある過ぎてつらくなりました。



まさか、こんな部分まで… スクリプトを作らずに耐える所がダメエンジニアですが…

レガシーができあがる経緯なども、それな、という感じでしたし、降ってくる案件をそのまま受け入れてしまいがちなところもまさにという感じでした… 本当に、こういった所を見直せなければ将来は無いと思っております…

とか偉そうなことを言いつつも、自分も「それはしょうがないよ!」の精神にどっぷり浸かってしまっていることを反省しなければと思わされました。よく「歴史的経緯」で誤魔化されがちだったりしますが、じゃあどうすれば他の世界線に行けるのか常に考えないといけないなと。こういうセミナーでこういう発表を聴くことが一つの小さな対策なのかと思いました。やっぱり来てよかった。

最後は度量の違いを突きつけられて終了。精進します…

企業もインターネット中心のアーキテクチャにしよう

登壇者:長谷川 秀樹さん(ハンズラボ株式会社 代表取締役社長)

なんか、色々すごかったです(こなみ)。

本日の発表は、キラキラ系(Web系)の人たちには全く面白くないお話です、というつかみからのスタート。懇親会でもずっとWeb系=キラキラ系が定着してました笑 そしてかなりレアと思われるAmazon Go現地の映像。話には聞いてたけど、確かに見たことなかった。トークと相まってドンドン引き込まれてしまいました。


そしてこれ。この点、何故か逆行しようとしている(?)現場の私としては公演に来てもらいたい…

ここからは怒涛のAWSへの移行、アップデート大好き、夜間バッチ止めろ、など、「つよい」内容がバシバシ飛んでました。マジで笑ったし、マジでリスペクトでした。ここまで徹底して舵をきれる人は見たこと無いです。さすがにそれは危険じゃないかなあ…なんて思う方針もありましたが、そんな矢先に
これを社長が言えるって凄すぎ。少しのクレームにも怯えて、不具合修正すらモゴモゴ遅らせてくるオッサンどもに喝を入れてもらいたいです。ある程度大袈裟な表現もあったんだろうなあと予想しますが、それにしてもつよかった…

そして、「Web系の人たちはもうちょっとドキュメントをかきなさい」で会場大爆笑。笑った。

最後は転職をオススメして終了。

正直、単純に楽しかったです。最後にこの発表っていうのが凄く良かったと思います。


ちなみに、後日談として。


懇親会

「日本一の懇親会会場」とハードルを上げてましたが、確かにそうだった。ライブやってたし。


そして、怒涛のLT大会の中、心を揺さぶられたのがこちら。
数式の書けるMastodonその名もMathtodon を作った (#OSO2017 懇親会LT) / Introduction to Mathtodon // Speaker Deck

Mathtodon(普通のマストドンじゃなくて、数学のやつね)を建てた方が発表を!そして、この開発手法がDDD(Dajare Driven Development)=ダジャレ駆動開発ですって! 勝手に「僕も負けないぞ!」と思いました(何も作ってないけど)。しかしMathtodon凄いよね。ダジャレは世界を変えるよね(違う


ってことで、思ったより分量多くなりましたが、非常にいい経験をさせて頂きました。発表者も豪華で、内容も充実してましたし、これ本当にタダで聞いていいんですか?って感じでした。岡山・広島周辺地域の結束力みたいなものも感じたし、懇親会も凄いし、これはちょまどさんも登壇した方がいいですよ、絶対(当方、全く面識ございませんが…)。

この経験を活かし、レガシーに勝ちうるそれがしーを目指すでござる。(台無しな1スベリ)

【当方徒歩、ほとほとトホホ】 vol2-1. ~鳥取~

そういえば、徒歩の旅に出たら毎回書こうと思ってたけど、結局vol1で途絶えた連載がありました… このGWも徒歩(というか電車・バス主体)の旅に出たので、せっかくですからダジャレを交えながら再び書いてみようかと思います。同じような経路を辿る方の参考にでもなれば幸いです。

 

今回の経路

鳥取(砂丘)→岩美(岩井温泉・浦富海岸)→城崎温泉玄武洞)→姫路(姫路城・太陽公園)

3泊4日ではありますが、徒歩主体にしては詰め込み気味なスケジュールだったかも。色々な見どころをすっ飛ばした感が否めません。

f:id:hijili2:20170505161519p:plain

 

vol2-1は鳥取駅周辺です(※到着時点でロケーション履歴がOFFになってたので空港周辺は手書き...)そこまで徒歩でもない・

f:id:hijili2:20170505162842p:plain

 

鳥取空港、かろいち

羽田から鳥取空港へ。右側の席だと着陸前に砂丘がよく見えます。

f:id:hijili2:20170505163743j:plain

 

鳥取砂丘コナン空港ということで少し不安はありましたが、問題は無かったようです。

 

空港から十分歩ける距離に、鳥取港海鮮市場かろいち があります。空港周辺はのどかな田舎道といった感じで、その上を飛行機が飛んで行く景色はまさに空港(風光)明媚でした。(1スベリ)

 

お昼前に空港着、少し歩いてかろいち、そして海鮮系の昼食はオススメです。

f:id:hijili2:20170505171441j:plain

 

この後は鳥取砂丘に行くわけですが、かろいちから砂丘まで歩くのはさすがに無理があったのでバスを使いました。土日祝・夏季ならループ麒麟獅子バスが便利です。一気に砂丘まで行けます。砂丘に早急に行けます。砂(サ)っと行けます。(2、3スベリ)

 

鳥取砂丘

先に展望台で降りると砂丘周辺を見渡すことができます。見渡す限り、砂ですな(4スベリ)

展望台から降りるリフトがありますが、歩いてもすぐに降りられます。

f:id:hijili2:20170505235020j:plain

 

砂丘は想像以上にワクワク感がありました。ドラクエXのゴブル砂漠を思い出しました(どうでもいい)。冒険っぽい気持ちがわいてきます。

f:id:hijili2:20170506010557j:plain

オアシス的な水場があったり。

f:id:hijili2:20170506010616j:plain

丘を越えると海岸に出ます。本当にロールプレイングゲーム的な感覚になりました。でも、砂漠を徒歩で進むのは、思いの外キツいので注意が必要です。体育会系の合宿に向いている気がしました。

f:id:hijili2:20170506010646j:plain

裸足で歩くと砂の感触が心地よいです(歩くのがより辛くなるけど)。夏は砂が熱過ぎて火傷になるそうですが、5月初旬時点では大丈夫でした。

f:id:hijili2:20170506010624j:plain

 

他に遊ぶものとして、バイク的なものやラクダ的なものや砂スベリ的なものなどがあるようでしたが、歩きまわって満足したのでこれで砂丘を後にします。バスでね。

 

鳥取城跡・仁風閣

適当にバスに乗ってみたら鳥取城跡を通ったので降りてみました。元々行こうと決めてたわけではないのですが、行きのバスで気になったので。鳥取城跡は石垣が積まれた単なる高台って感じでしたが、そのふもとになんとも雰囲気のある建物、仁風閣(じんぷうかく)があります。いやあ、この館を見逃さなくてやかった(良かった)(5スベリ)

f:id:hijili2:20170506014835j:plain

るろうに剣心に出てきそう、と思ってたら実写版のロケ地だったようです。以下のブログの方が詳しそうだったのでリンク貼っときます(説明丸投げ

るろうに剣心のロケ地「仁風閣」に行ってきた! | 鳥取もん

また、GW中の期間限定で、「すなば珈琲」の庭園カフェテラスがオープンしてたので、つい優雅にウィンナーコーヒーを注文してしまいました。このタイミングで偶然ここに来られたことはまさにウィンナー(WINNER)と言っていいのではないでしょうか。(6スベリ)

f:id:hijili2:20170506020642j:plain

といったように明治剣客浪漫譚感を味わいながら仁風閣を後にしました。ここから駅までは30分もかからないため、積極的に徒歩っていきます。

 

聖神

駅の前にちょっと寄り道。これを見つけたら行かざるをえない。秩父にもありましたし。ただ、まあ、普通の神社でした。秩父聖神社と違って観光対象では無かったようです。この神社に寄ったことで一時間に一本くらいしか来ない山陰本線を一回逃しました… でもいいんだもん、僕は聖なんだから。

f:id:hijili2:20170506021047j:plain

 

 

 

鳥取駅周辺はそんな感じでした。すべてを徒歩で踏破するには厳しいので、バスを駆使するのが良さそうです。行く日によっては本数が少なかったりするので、なかなかスケジュールが上手くいかない可能性も高いですがね…

 

とりあえず、この記事を一言でまとめてみると

した一日でした。

 

気が向いたら続く…

YAPC::Kansai 2017に行ってきてます

早いもので、前回のYAPC::Hokkaido から3ヶ月経ってたらしいですが、YAPC::Kansai 2017に参加してきました。前回はなぜか、参加後1ヶ月経過してからブログを書くという体たらくだったので今回は帰る前に書きます。

 

今回のYAPC::Kansaiは「温故知新」がテーマということでしたが、そのテーマどおり、様々な事柄について歴史的な視点で振り返って頂いた発表が多く、個人的には非常にタメになりました。2008年に就職した私ですが、その時点ではエンジニア的な知識はほとんどゼロな状態から始まり、分からないことを調べ続ける日々が10年弱経過し、やっとこさ目の前の仕事だけでなく外の世界も見えるようになってきたところで聞くには丁度良いテーマだったと思っています(10年弱でそれは遅過ぎだろというツッコミは御勘弁を…自認しております…)。

 

そんな感じで、今回も聞かせていただいた発表について、つらつら書かせて頂こうかなと思います。

 

実録すぐわかるPerl

この本の著者である深沢さんの発表でした。 

すぐわかる オブジェクト指向 Perl

すぐわかる オブジェクト指向 Perl

 

私が入社後さほど経たないうちに、そこそこ分かり難い既存Perlコードをメンテするにあたり、凄く役に立った本。いや、ウソです、その当事はイマイチピンとこなかったけど、ある程度の量のPerlコードを見てから再度読んだら「な〜るほど、東芝♪(古いし今はよくない)」って感じになって、一段レベルが上がった気になれた本という方が正しい。もっと早く理解できていれば…と思った記憶があります。

お話としては、自分が使うワンライナーならぬテンライナー、そして社内に展開するツールとしてのPerlについて。細かい話はスライドが公開されることを期待して省きますが、正規表現テスターという味噌蔵はマネしたいと思った。Perl正規表現は似たようなものが必要になったりするけど、社内ツールとかワンタイム作業だと、使った後は大抵どこか行ってしまうので。ポイントは、まちがえた正規表現も敢えて残すという所でしょうか。MS Officeとの共存も見習いたい、若干諦めてたから…

 

そんな深沢さんから、今からPerlを始める人にはこれ!という一冊が紹介されていたよ!みんな、もしこれからPerlを始める人がいたら、お勧めしてね!(私はさっきKindleで買ったのでこれから読みます) 

かんたん Perl (プログラミングの教科書)

かんたん Perl (プログラミングの教科書)

 

 

2017年春のPerl

@charsbar さん。前回のYAPC::Hokkaidoのおさらいを含めてという感じでした。CentOS5が終わっても、まだだ、まだ終わらんよ!(Solaris10 2018-01 5.8.4)というお話がよかったですね。前回も書きましたが、ミラクル・リナックスさんの素晴らしいサービスがあるので油断は禁物かもしれません。私はこのサービスを使う側になってしまっているので何も言えませんが…

 

レガシーな Perl システムに DDD(ドメイン駆動設計) を取り入れる

さいとう まさあき (@masakyst)さん。関西人は「まんねん」を使わないというお話でした。

もとい、長期サービスは人の入れ替わり・知識の継承・仕様の肥大化などで色々大変!という、共感の嵐を呼ぶモンスターに対してオブジェクト指向というアイテムで戦っていく勇者達のさくせんについてのお話。要約するとこんな感じでしょうか。

>さくせん >オブジェクト指向

指針が たりない!

>つかう >DDD戦術

DDDを全く勉強していない私が聞いていたところ、あれ?これ普通のオブジェクト指向の話だっけ?という感じになってしまったのですが、まとめでそういう所感が出てきたのでやっぱそうなのか、と思いました。DDDって難しそうということは分かった気がする。

そして、最後のこのワードが凄く重要だと思いました。

「理論が正でなく、チームで共有できたことが正」

正直、「オブジェクト指向」という概念だけでも人によって結構認識が違うので、コードレビューとかで喧嘩になるんですよね… まずは認識を合わせることが大事ですよね。見習いたいけど、難しいんだなあ、これが… そもそも、そんなもの、無いのかもしれないし…

 

MojoliciousとWebSocketでサーバPush配信

木本 裕紀さんの発表。「サンプルコードPerl入門」にはお世話になってきました。

MojoliciosもWebSocketも、何となくは知ってるけど… 程度だったので凄くよく理解できた気がする。是非何かで使ってみたいと思いました。構想はちょっとあるけどマッチするかはまだ分かっていない…

にしても、前の発表と連続して「Shift-JISとEUC-JPが混在するシステム」の話が出てきてすごくつらい気持ちになった。と思ったら「PerlPHPが混在」ということでますます恐ろしい気持ちになった。世の中、みんな色々大変なんだよね。勿論、最初にそういう構成にした人だって、悪意を持ってやったわけではないのだから…

 

mail_form.cgi reborn

小飼 弾 (@dankogai)さん, @moznion さんによるスペシャルセッション。主旨はここを参照。

ライブコーディングもさながらに、@dankogaiさんが放つdisの連続が面白かったりw

そしてライブコーディングの魔物がプロジェクタを落とすという悪行に…

マジで演出じゃないのかと思ったけど外しました。異様な盛り上がりがあり、すごく楽しかったです。あまり時間が無かったですが、修正の一つ一つに重要なポイントがさらりと含まれていて勉強になりました。

 

Perl ウェブ開発の中世 〜CGIPlack の間〜

OGATA Tetsuji (@xtetsuji)さんの発表。HTMLの普及から始まるお話はまさに温故知新という感じでした。聞けてよかった。最後におっしゃられていた、

「古い技術が悪、新しい技術が善ではない」

というのは本当に重要だと思います。私も自虐的に以下のようなツイートをしましたが

実際、上記のCGIはルータの設定UIみたいなものの話で、管理者が一日一回使うか使わないかみたいなものなんですね。そういう場合はCGIで十分なわけです。だから別に刷新とかも必要ないからCGIなんです(Perlのバージョンについてはちょっと置いといて…)。

ちょっと話がズレてる?かもしれませんが… いや、まさに例のメールフォームじゃないですが、動作している以上、本当に刷新が必要なのか否かが重要であり、「古いからヤダ!新しいのがいい!」という理由で無謀なリファクタをすべきでは無いです。そして、今のシステムに何が必要かを判断するためには、その古い技術がどういうものであり、どういう課題を解決するために新しい技術が生まれたかを知っていることが大きなポイントであり、そのエッセンスがふんだんに含まれた発表内容だったと感じました。こういう話は、私も後輩に伝えてあげないといけないなあと思いました。(と言っても、ぼくも2008年頃からのスタートだからまだ若い…ような気がする…)

 

はてなシステムの考古学

@motemenさん発表。これもまた、はてなというシステムに対する歴史のお話。実に興味深い内容がたくさんありました。メモ不足でしたが…

最後の方で、以下の言葉の引用がありましたが、

組織の知識は暗黙知形式知の間を行き来しながら発展する

なんか、今の自分の組織では上手くこれが回っていないなあと発表を聞いていて思いました。暗黙知のままずーっと保持されて人が居なくなるたび失われる… まずは考古学ができる下地が無いと温故知新も難しいのかもなあ…としんみりした感じになってました… さすがにこのスライドは公開されないですかね…?

 

LT

@makamaka さんのが凄かったです。Perlの話だったし!?間違いなく一番笑いをとっていたはず。見習いたい(そこをかよ)。

 

 

温故知新 (Keynote)

竹迫 良範さんの発表。なんかもう盛り沢山で消化しきれなかった感がありますが。

まずDirpcapは後で触ってみる。パケット見る必要のあるお仕事なので…

Dripcap - ☕️Caffeinated Packet Analyzer

 

アセンブラ短歌とか、パンチカード読めますよね、とか…レベル高杉内。この辺はちょっと追いつけない感がありましたね…

若者ってどのあたりまで含まれるのかな…1983年生まれは…ただの知識不足ですかそうですかつらい。

 

マインスイーパーのデモ。これがたまたま見てたんですよね。

2011年なんてYAPCの"や"の時も知らなかったんで知らないはずだけどなあ…と思い返していたらこんな動画を見ていたことに気づきました。ここに来て、生で聞けるなんて結構すごいことだなあと思いました。温故知新とは違う気がするけど、わりと感動した。

少なからず、情熱をあれだけ注げることがやっぱ凄いんですよね。その辺りが自分に一番足りない部分だとは思うのですが、こればかりは性格的な部分もあるので難しい… でもこういう発表を聞くのはすごく楽しいので、情熱を分けてもらう、刺激をもらう、的な意味でもすごくいい発表を聞けたと思いました。

 

 

まとめ

あー、疲れた。やっぱ書きたいこと全部書こうとすると時間かかっちゃいますね…

なんにせよ、やっぱりYAPCは楽しいです。最初にちゃんと覚えた言語は間違いなくPerlですし、その最初の頃(今もな気がするけど)お世話になった御本人様がたのお話を聞けるという凄く良い機会でした。既に次回の YAPC::Fukuoka 2017 HAKATA が決まっているということで、これはもう行くしかないよなあという気持ちで一杯でございます(まだ購入はしておりませんが)。

本当にいい話をして頂いたスピーカーの皆様、そして、YAPCを支えるスタッフの皆様、マジで毎度ありがとうございます。こんな短期間で開催してもらえるのが凄いです。いきものがかりのライブくらいしか旅行の動機が無かった私にとって本当にありがたいです(しらねーよ)。

 

ぼくももっと素敵なPerlフレンズになれるよう精進いたします…

 

 

明日は千鳥の漫才を見てから帰ります。どうもお疲れさまでした。

 

そういえば YAPC::Hokkaido 2016 SAPPORO に行ってきました

お久しぶりです、そしてあけましておめでとうございます。

もう一ヶ月前になりますが、YAPC::Asia改めYAPC::Japanとしての第一弾、YAPC::Hokkaido 2016 SAPPORO に思い切って参加してきました。神奈川在住なんですが、普通の土日に冬の北海道まで行くのはさすがに厳しいか…とは思ったものの、「スピーカーに @miyagawa さん呼んでおけば50人ぐらい増えるだろ」枠として頑張って参加しました(笑)  遅まきながら、聞かせて頂いたトークなどを交えて簡単にまとめておこうかと思います。

まともなレポートについては以下を読んでもらう方がよいと思います。

gihyo.jp

 

まずは天候との戦い

前日入りしないとキツイなあとか、関ジャニの札幌ドームライブが重なってホテル空いてねえとか諸々ありましたが、最大の敵は10年振りの記録的な大雪でした。

札幌の10日の最深積雪は65センチに達しました。積雪が65センチ以上となるのは12月上旬としては1987年以来29年ぶりでした

f:id:hijili2:20161210084356j:plain f:id:hijili2:20161210090648j:plain

会場へ行く途中の札幌市街、および会場付近。

♪行きも帰りも結構な欠航、でもYAPC決行、会場への道は雪との決闘(1~3スベリ)

とかおかしなテンションで口ずさんじゃいましたよ。もう笑うしかない雪でしたね。私の便は行きも帰りも運良く飛べたのですが、帰りの便が、元々21:00 発だったのが2時間ほどおして羽田に着いたのが深夜0時過ぎ… そこからタクシーの行列に並び、家に着いたのは3:00前でしたね… それでも、欠航で帰れなかった方々に比べたら全然良かったと思いますが。久々に、自然の厳しさを実感する機会になりました。さすが試される大地…

あ、あと靴は滑り止めが着いたものを最低限用意すべきと思いました。悩んだけど前日に買って履いていってマジよかった。降った後は凍ってスベりまくります、いや、ダジャレ言ってるからだろ、とかじゃなくて。 

 

以下、聞いたお話についてちょこっと書いていきます。

 

HTTP/2の課題と将来

スライド:http://blog.kazuhooku.com/2016/12/http2yapc-hokkaido.html

ほんとコレに尽きる。本当にありがたい。

HTTP/2の通信はもう1/3を占めてきているが、まだ技術課題が残っており、それに対するお話。HTTP/2ならずとも、TCPバッファの話とかは通信一般の話として勉強になりました。CDNとか使うにあたり、PUSHも意識しないといけないなあと思いました。正直、細かい部分は咀嚼しきれてないですが、こういう話があることを知っているだけでかなりプラスになると思いました。

 

2016年のPerl

スライド:http://www.slideshare.net/charsbar/2016perl-long-version

Perl6 と Web 開発と

スライド:https://docs.google.com/presentation/d/15op4A2s1aCSorX81myYukE2OnMGAx6AzR3Y0kj-iF2Y/embed?slide=id.p

 

Perl 5.24 とか、Perl6の話だったわけですが… 私の業務環境、CentOS5ベース(Perl 5.8.8)で…今度、やっとCentOS7ベース(Perl 5.16.3)に上げる(はず)という状況なもので…遠い未来の話でした。でも、LINEアプリなら言語バージョンが古くても作れる!やったね!

 

Number Unlimited

スライド…は無いけど関連URLはこちらの発表リンクから:https://yapcjapan.org/2016hokkaido/timetable.html

※今気づいたけど各スライドへのリンクは上記ページに貼られてましたね

コンピュータ(Computer)は「計算機」、「計算」が扱うのは「数」である、ということで、各言語の数の扱いについて解説いただきました。ただ、厳密な小数や素数を未だ使う機会が無いのでピンと来なかった部分もあります… 機械学習とか始めるとそんな機会もあるのかしら(4スベリ)

というか、Perlインタラクティブシェル的な使い方( $ perl -dE 1 )から知らなかったです… 2004年からやってるのか…

 

ちなみに、@dankogaiさんはポケモンGO TL35でした、すげえ。私は28です。メタモンまでは捕まえましたが、もうフェードアウト気味です(余談すぎる)。

 

10年モノ熟成Perlとの付き合い方

スライド:http://www.slideshare.net/masaki/10perl

今回一番共感した発表でした。同じような業務をやっている今日この頃なので… この課題に一人で取り組まれているということで、物凄く大変そうだなあと思ったり。懇親会でもお話させて頂きましたが、元々、私の会社と同規模(?)の競合企業におられたということで、その辺りの体験も似ていました…また一歩転職したくなった。そして、この点は本当に見習いたい。

ここまで継続させてきた先駆者の実績をリスペクトしましょう

歴史的な経緯があると、なんだこのクソコード!と言いたくなることもしばしばあるのですが、実際このコードが商品・サービスを動かしてきたから自分が雇われている、と思わなければいけないと反省いたしました。頑張ってクソ古いCPANとか更新していきます。JSON.pmが動かなくなっても直します。

 

AndApp RPGツクールMVの舞台裏とSPAの運用について

RPGツクールMVで遊びたくなった。でも、予想以上にFFXVにハマってしまっている身としては、ここにも手を出すのは、やっぱつれぇわ。

技術的な部分でも、Web業界ってやっぱ色々進んでるなあと感じました。一つ前の発表も踏まえるとそこに追いつくのも一苦労なんだよなあとしみじみ思ったり。やっぱつれぇわ。(言えたじゃねえか)

 

今から始めるMicrosoft Azure - Dive into Azure

うーむ、Microsoftさん打って出てるなあ、という動画からスタート。データセンターの広大な予定地など見せられてしまうと平伏する気しか起きない。色々ご説明頂いたのですが、やっぱ使わないとダメですね、まだ各種クラウドがピンと来てない自分がいる、マズい。それは次のスペシャルセッションでも痛感することとなる…

 

スペシャルセッション「今さら聞けない、でも聞きたい。クラウドの過去・現在・未来」

AWSからは荒木靖宏さん、さくらインターネットからは田中邦裕社長、Azureは久森達郎さん、GCPからは千歳滑走路封鎖のため飛行機が旋回して戻ってしまったけどリモートで参加の福田潔さん、司会が技術評論社の馮富久さん、というスペシャルなセッションでした。セッション中も言われていましたが、この4つのクラウドサービスの担当者が揃って話をするってそうそう無いですよね。

60分のセッションのエッセンスを簡単に拾ってみると、

 

クラウドに諸々を預けることに対する"安心感"は課題、安全性と分けて両立させる必要がある

 

・犯罪捜査時のデータ要求に対する判断は各国の法律に基づくため、リージョンによる事情も様々あるらしい。

 

・各社に様々な視点やオススメがありワケガワカラナイヨ目的用途に応じて使いわける必要がある。ちなみに、「日本に対するイチオシサービスをあえて1つ挙げるなら?」に対しては、以下のような回答がありました(担当者および私の個人的なニュアンスを含むのでその辺ご理解ください)

 GCP: App EngineとBigQuery、インフラ管理を無くすという流れにおいて特徴的なサービスとのこと

 AWS: S3、沢山のサービスが存在するがそのほとんどがS3と関連するため

 さくら: GPUクラスタと国内向けCDN、クラウドはもっと贅沢に使うべき。また、ゲームなどはグローバルを意識する必要があるだろうが、自治体など国内で閉じるものもあるためそのような視点として国内向けもある

 Azure: AppService, 開発ツール系、開発全体サイクルの中で使えるサービスが特徴的。生産性も考えてみてほしい。

また、日本は各社がリージョンを置いている特異な国であり、日本語でも沢山の情報が得られるのでもっと利用すべきという話もありました。確かに、そう考えると使わないのが勿体無い感じになってきます。

 

・Q:Webコンソール遅いんですけど…

 GCPAWS・Azure: API使おう

 さくら: 歴史的経緯でAPI無い…汎用性維持のために難しい部分もあるが頑張ります...

 

こんなところでしょうか。もっと色々な話はあったかと思いますが。にしても、さくらインターネットさんがこの3社に肩を並べて話しているのが凄いなあと思いました。さすがに最後の質問のような部分で差を見せつけられるような点は沢山ありますが、ともすると弱みになる部分を特徴に変えて戦うところが勉強になりました。なにはともあれ、やっぱりもっと積極的に利用しないとなあと、今更ながら再認識いたしました。

 

モジュールメンテナンスを通して感じる最近の Perl

スライド:https://speakerdeck.com/syohex/yapc-hokkaido-2016

Perlモジュールのメンテナンスの話ですが、やはりここでもPerlの盛り下がりが語られておりました。私もPython勉強しようと思いました(違)

メンテナンスのためにサポート対象を減らす、という話で、「なんでPerl 5.8なんだよ、そっちが上げろよ」(会場笑い)という流れがありましたが、笑えなかったぜ… 結局、どこも古いまま動かさざるをえない状況を作ってしまっているんですよね… 以下なんかはPerl5.8延命のお知らせですからね。

japan.zdnet.com

メンテナの方の負荷にもなるし、やはり今後は簡単にアップデートできるような構成を念頭に置かないといけないですね。その一つの手段がクラウドではありますかね(クラウドにすれば解決するとは言っていない)。

 

LINE Bot on the Perl

スライド:http://www.slideshare.net/kazuhiroosawa/line-bot-on-the-perl-yapchokkaido-ver

なんか、今回のYAPCではサブリミナル的にLINE Botの話が入ってきた印象があります。2016年4月頃にザワついたときにも興味はあったのですが、正式版でしかもコンテストがあるということなので、少し手を出してみようかなと思いました(がモノができるとは言っていない)。アイデアを出すことがまず難しい…

 

Delivering a CDN

待ってましたのmiyagawaさん発表。悲しいかなノートPCのバッテリーが終了してしまいメモを残せなかったのですが… 今の時代 toggetter 見ればいいよね。

  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;;  CDNなんて開発して面白いのかな・・・
  ヾ;;;ハ    ノ       .::!lリ;;r゙
   `Z;i   〈.,_..,.      ノ;;;;;;;;>  そんなふうに考えていた時期が
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f.   俺にもありました
   ~''戈ヽ   `二´    r'´:::. `!

 というような話でした(分かるか)。

安定稼働が必要とされるサービスでいかに継続的にリリースするか、という感じですが、まさに私がやっている業務と共通する部分が多くてためになりました。DarkLaunch(一部のユーザに先行リリース)はやっぱみんなやるんだよね。リリース後の監視は24時間で足りるのか?とも思いましたが、そこら辺はどういうサービスかにも依存しますよね。他にも、局所的にリリースするとか、リリース後に監視するとか、課題認識は同じだなあと思ったのですが、具体的に何を監視するかっていうのがかなり難しいところだろうなとも思います、提供するサービスによって全然違う部分も出ますしね。

まあ、ただのrebuild.fmファンなので、生で聴けただけで満足した感もありました笑 今年もsupporter継続しております。

 

最後に

私にとって初の北海道、そんな中大雪に見舞われるなど色々ありましたが、会場に入れば非常に快適で楽しいYAPCでした。スタッフの皆様、本当にありがとうございました。地方開催は、食べ物が美味しかったり、旅行のきっかけとしても良いと思いました(事前調査してなかったため寿司をが食えなかったことが悔やまれる…)YAPC::Kansaiも是非行きたいです。