pixiv SUMMER BOOT CAMP 2017に参加してきた

ピクシブさんのインターンに参加してきたのでその体験記。

recruit.pixiv.net

参加まで

きっかけは普段からpixivを使っているからという単純なもので、インターンの募集を見つけた時はそんな軽い気持ちでページを眺めていた気がする。

Github選考でエントリーという素晴らしいシステムのおかげで、自分のGithubのURLをいれてポチッとするだけでエントリー完了。とてもシンプルで応募時期に少々忙しかった自分としてはとてもありがたかった。

とても雰囲気の良い空間

オフィスに入るとカラフルで開放的な空間が広がってて、壁には絵が飾られていたり、大きな本棚に大量のコミックがあったりとピクシブさんらしさの溢れるオフィス。

部屋の中には仕切りがほとんどなくて、全体でつながっている感じがして居心地の良い空間だなという印象だった。

そんな場所で働いている方々もとても個性的な方ばかりで、いろいろお話ができて楽しかった。

pixivの中をさわる

ふだんユーザーとして使っているサービスのコードを見れて純粋に感動する。そんな余韻に浸っている暇もなく、メンターさんから説明を受け、課題を見つけてコードを読み始めた。

初日はチュートリアル的な感じで細かなスタイルの修正。しかしながらその該当箇所を探すのがまずひとつ大きな壁だ。度々、そのコードベースの大きさに圧倒される。

技術的なところではTypeScriptでReactのコンポーネントを書いたりしているのがほとんどで、すこしサーバー側のphpをいじったりしていた。Vimがとても強い方がいたり、Babel,TypeScript,Webpackのコントリビュータがいたりと、いろいろ技術的にも深いお話が聞けて圧倒的成長といった感じだ。

実際に本番で動く喜び

具体的にやったことは、ディスカバリー(https://www.pixiv.net/discovery)というおすすめ作品がみれるページの"関連作品をみる"というUIまわりをいじっていた。

こんなの↓

f:id:pnly:20170915201700p:plain

本番へのデプロイに到ったのは一部分だったが、実際にpixiv.net動いてたくさんのユーザーさんに見られていると思うととても感慨深い。かつてOSSにコントリビュートしはじめた頃にPRがmasterにマージされた時の感動と似たようなものを感じた。

自分は普段から日常的にpixivを使っているので、自分の使いたいように実装を考えたりできてその点でも充実した5日間であった。

さいごに

自分はpixivをわりと長く使っているからこそ、その変遷を知っていたこともあって、いままでのpixivの裏話とかpixivについて深く知ることができたことが一番の楽しさだった気がする。

5日間という短い間でしたが、本当に楽しかったです。ピクシブ社員の皆様、インターン生の皆様、ありがとうございました。

印刷に特化したMarkdownエディタをつくってます

印刷に特化したMarkdownエディタを開発中で、とりあえず最低限動く程度までできたので公開しました。

できたもの

いまのところ最低限の動作ということで、下のことだけできます。

  • ThematicBreak(---とか)で改ページ
  • リアルタイムプレビュー
  • PDF書き出し
  • ファイル読み込み、保存 (ファイル入出力まわりはかなり慎重に作ったけれどバグがあるかもしれないので注意です)

github.com

macOS版のみappにして配布してます。(releaseのとこ)

f:id:pnly:20170721232816p:plain

動機

  • レポートとかでMarkdownで書くけれど印刷するときに改ページがうまくいかない
    • page-breakを挟んでPDF出力→確認 を繰り返すしかなかった…
  • 数式がある程度まともに埋め込めるのがほしい
  • ざっと探した範囲ではMarkdownを印刷物に特化させたものがなさそう
    • スライドをMarkdownで作れるやつとかは改ページの概念があったけど、印刷用ではない
  • コミケ組版をするときにMarkdown+CSSでうまくやりたい
    • リアルタイムプレビューができるのがなかった

やりたいこと

  • リアルタイムで印刷されるのと同じものをプレビューする
  • 改ページのシンタックス(---とか***とか)
  • 数式の埋め込み
  • 数式番号、図表番号、ページ番号の自動割り振り
  • 目次の自動構成
  • 右ページ、左ページの組版用スタイル

こまかなこと(印刷フォーマットの対応とかUIの改善とか)はいろいろありますが、すこしずつ進めていきます。いつか技術的な話とかもしたいですね。

使っていただけたら嬉しいです。バグレポ/PR歓迎です。

vimはじめました

elcapitanからsierraにアップデートしようとしたら事故ってしまったので、環境をリセットしました。

プロビジョニングとかも考えていなかったので、これはよい機会だと思って環境の再考ついでに、いろいろ試してみることにしました。

環境再考

今回の死因はストレージ不足。

brew cleanup -s とかしてだましだましストレージカツカツでつかってきたけれど、やっぱりむりでした。

dockerでパッケージを明示して管理したい。

  • brew脱却
  • dockerでがんばる
  • tmux+zsh+vim
  • よさげな見た目

いちおうこんなかんじで構成したけれど、まだ微妙。いろいろまずいのも入ってるので公開はしてないです。

dockerイメージが肥え気味だけれども、これからいろいろしてダイエットを考え中。

Sublimeはバイバイ。emacsキーマップもバイバイ。でも<C-e>だけは無理そうなので輸入しようかと心が傾いています。

vimの闇に浸透中。ドットが便利すぎるよ、というのが今の感想です。

スクリーンショット

見た目いじるのけっこうすきです。

f:id:pnly:20170428023232p:plain

f:id:pnly:20170428023242p:plain

f:id:pnly:20170428023249p:plain

f:id:pnly:20170428023256p:plain

微妙な記事の置き場所

Qiitaに置くとまずそうなポエムちっくなものや、やったことの記録として朽ちるタイプの記事を置く場所がなかったのではてなブログに置くことにしました。

かんたんな文章を気軽に置けそうな場所が欲しかったというのが正直なところです。

よろしくお願いします。 

http://pnly.jp