hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

作ったプレゼンがどこまで届くか

勉強会で発表すると,数十人とか数百人くらいに聞いてもらえる.そこで終わりだともったいない.数時間かけてリリースしたウェブサービスが数十PVだと,元をとれてないと感じそう.

YAPCの発表の動画は2800回見てもらえている.通常の人間が2800人の前で話せる機会はないので,すごく効率がよい.一度喋ったのがそのまま再利用というかリピートされているのもお得.この動画なぜか人気で,いろんな人に,複数回観たって言ってもらえている.動画を公開してくださった勉強会のスタッフの皆さまには感謝しています.
www.youtube.com

発表資料は33000回見てもらえていた.こっちは自分でめくっていかないと読めないのと,お喋りがある前提で資料を作っているから,これだけ見てもいまいちかもしれない.
speakerdeck.com

工数ゼロで展開できるのも便利で,同じ話を,動画を使わずに2800人に届けようとすると,数十回か何百回か,同じことを話さないといけない.40分話すのは疲れるので,回数が少なく済むと楽.動画にしておけば何万回でも再生できる.
Courseraの授業は,録画して構成された動画のコースを見ていく,という流れで,日本に居ながらすばらしい授業を聞くことができるのも良いし,講師側としても,毎年同じ授業の話をしなくてよいのでお得だと思う.
動画はコミュニケーションのパスとして優れていて,蓄積でき,動画サイトに上げておけば場所も取らず,ソフトウェアみたいに勝手に壊れたり負債になったりせず,再生でき,すぐさま資産になるので,多少面倒でも,動画を撮って公開していくとプレゼンスアップできてよいのではないか.

今日の自習タイム

VSCodeでPerlのアウトラインを作るのをやっていた.左下のOUTLINEってコーナーを出すための活動.

f:id:hitode909:20180711101900p:plain

最低限は動くけど,構文解析しているわけではなくて,粗悪な正規表現で見ている.sub {があると,名前が{になってしまう.ほかのエディタ用のPerlのプラグインなどから,もうちょっとほどよい正規表現を借りてきたら精度上がりそう.

/\b(package|sub)\b +([^ ;\n]+)/g;

f:id:hitode909:20180711102840p:plain:w356

もうちょっと進むと,language-serverを作ることになると思う.perlのプロセスを裏で動かしておいて,JSON-RPCで投げ付けていくと,シンボル列が返ってくる,みたいな.

参考になったのはこのへん

使いたかったら,~/.vscode/extensions/以下にcloneすると動きます.
github.com

今日の自習タイム

最新のVSCodeではoutline viewを見られるようになった.これのPerl版は当然ない!ので作ろうと思って,DocumentSymbolProvidersまわりの様子をみていた.手元にVSCodeはclone済で,VSCodeでVSCodeのコードをpullしたり検索したりできている.たいへん便利.
いろんな人たちがDocumentSymbolProvidersを定義するとどうなってしまうのか,いろんな拡張が単一のファイルに対して有効になったとき,その優先度はどのように決まるのか,あたりが気になっている.

日曜日

なんかプログラムを書いてるとして,あまりに複雑だったり,奇妙な条件分を書いていたら,問題について,まだ気付いていない,なにか見落してることがあるに違いない,と感じる.
複雑な構造の音楽とか,聴いてると,なんだこれ,たいへんなことになっている!!!って,あわせて踊ってみましょうって言われても,だんだんずれていって,わけわからなくなるけど,注意深く聴くと,この曲は7拍子なんだ,と気付いて,そうすると,頭の中で1から7まで順番に数えながら聴いてみる.そうすると,頭の中の曲のカウントと,聴いてる曲のカウントが一致して,どこまでいってもずれない,ということになる.
問題の子細について考えたり覚えたりしておかなくても,概観だけ分かっていれば,そのルールにしたがって振舞える.そうなるまでは,なにか見落してるにちがいないと思わないといけない.ふだんごちゃごちゃしたコードを書いててもそう思って,書いてから1ヶ月後に,これはこういうことだったんだなって分かったりする.似たようなことを2回書いてたけど,よくみると÷2したら同じことになったりとか.