はらへり日記

腹に弾丸

入社して1年半くらいで自分の手で世に出した機能を自慢しておこうと思う

メルカリに入社して1年半くらい経ったのだけど、7月から1年近くいたチームから別のチームに移ることになった。

かなりドラスティックに組織を変えていく文化の中で1年間同じチームにいたのは社内でも稀有な経験だったこと、前職でも1年間同じチームにいたことはなかったことから自分にとって大きめの節目なので、転職するときの意志として強かった「自分の手で人に自慢できる機能を世に出したい」ということがどれくらいできたか勝手に振り返ってみる。

細々した機能から大きめの機能まであるけど全部語れないのでいくつかメモしておく。

試しに入社してから今日までにmergeされたPRの数を数えたら408個だった。土日含めて一日0.7個のPRをリリースしてる計算らしい。

続きを読む

発表資料の作り方

エンジニアとして世に出荷されて3年、そこそこ外部で発表してきたのでその時にやってよかったことやメソッドをまとめておく。

過去の登壇歴

SlideShare, Scrapbox, SpeakerDeckにあげてある

基本的に新しいものは全部SpeakerDeck, 資料作る時間無いときはScrapboxって感じに使い分けてる

Sota Sugiura’s Presentations on SlideShare

Presentations by Sota Sugiura // Speaker Deck

sota1235のスライド置き場 - Scrapbox

30min以上話したイベントの登壇歴だとこんな感じです。

続きを読む

テンプレートから新しいScrapboxページを作るためのブックマークレット書いた

動機

  • 今、ほぼすべての自分の情報をScrapboxに集約してる
    • 約1400ページくらいある
  • その中でフォーマットが決まってるものがいくつかある
    • 日記、CFP下書き、スライド下書き等々
  • そういう場合、テンプレートページを作って毎回そこからコピペしてた
  • が、めんどくさすぎなので簡略化したかった
  • Hakone.swift #2で作った

やったこと

  • ブックマークレット作った
  • #テンプレート[テンプレート]って文字があるページで実行すると新しいページが作れる

https://gyazo.com/01969ebaf58a1192f4de7e596b0e6457

実装

実装とそのままブックマークとして登録すれば動くものをGistにアップロードしています。

gist.github.com

以下ハマりどころ

  • 公式APIドキュメントが間違ってる?
    • 本文を取るAPI/textつけると書いてあるが401が返る
    • https://scrapbox.io/api/pages/${projectName}/${pageTitle}で取れた
  • \nencodeURIComponentしてからwindow.openしないとおかしくなる
  • 何回も実行すると変数の二重定義で動かなくなるので全ての処理を即時関数で括った
  • fetch APIはオプションでcredentials: 'same-origin'と明示的に宣言しないとCookieを送信せずエラーになる XMLHttpRequestは明示的に宣言する必要なし -res.json()ぐう便利
  • consoleでprompt()実行すると上手く動かないから毎回ブックマークレット更新してデバッグしなきゃいけなくて面倒くさい

その他

気が向いたら拡張機能にして対象ページの右上にはこのテンプレートで新しいページ作るボタン表示させたりしたい

追記

shokaiさんから既にその機能あるよと指摘もらいました。

f:id:sota1235:20180319152908p:plain

右側のボタンから行けた…

f:id:sota1235:20180319152935p:plain

テンプレートがあったら1クリックで行けるようにする、ぐらいしないとあまり作る意味がないことになってしまいました。残念