タグ

ブックマーク / gfx.hatenablog.com (8)

  • Fastly に入社しました - Islands in the byte stream

    2019年9月9日からFastlyに入社しています。勤務地は東京です。今後ともよろしくお願いいたします。 前職の Bit Journey, Inc. では3年ほどKibelaのサーバーサイドやフロントエンドアプリの開発に関わりました。Bit Journey在職中に子供がうまれ、現在も夫婦で分担しながら子育てをしていますが、この子育て初期という大変な時期*1にBit Journeyで気持ちよく働けたのはたいへんな僥倖でした。ここで改めて感謝いたします。 さて、Fastlyは方向性を変えて、ウェブアプリではなくVarnishやH2Oなどのミドルウェアの開発に関わります。 Kibelaは自分が数年のあいだ心血を注ぐにふさわしいサービスでしたし、実際のところ大いに開発を楽しみました。しかし、しばらく今後のキャリアの方向性を考えた結果、かねてから経験してみたいと思っていた低レイヤーなソフトウェア開発

    Fastly に入社しました - Islands in the byte stream
    jazzanova
    jazzanova 2019/09/27
  • DX: Developer Experience (開発体験)は重要だ - Islands in the byte stream

    DX: Developer Experience (開発体験)とは、あるシステムを「気持ちよく開発・保守できるかどうか」を示すもの 開発者は開発・保守という行為を通じたそのシステムのユーザーであり、DXUXの一種である DXがよいと日々の開発を楽しめるようになり、気持ちに余裕ができる 気持ちの余裕がでるとコードの品質があがり保守時のデグレも減らせる また、DXがよい事自体がDXを高める動機になり、正のスパイラルを見込める つまり、「定められたタスク」(=義務)以上のことを行うようになる DXが悪いと開発を楽しめず、「定められたタスク」以外のことをしたくなくなる DXは放置すると悪化するので、「DXがよくも悪くもない」プロダクトは時間が経つに連れ「DXが悪い」になる なので積極的にDXを良くしていく活動を奨励していくのがよい いくつか興味深いフィードバックがあったので記しておきます。 DX

    DX: Developer Experience (開発体験)は重要だ - Islands in the byte stream
  • 発表資料: Elasticsearchによる 全文検索の実装 - Islands in the byte stream

    Rails Developers Meetup 2018 (#railsdm) で話した資料です。Railsの話はほとんどなくて、全文検索の仕組みとスコアリングについてのまとめが主です。 Q&Aシステムでの質問もここで回答します。 Q. データの同期はどうされていますか? 同期はActiveRecordのcallbackでActiveJobに更新jobを投げる形で非同期で行っています。また、データ構造などの更新がある場合にindex再構築するときのためのblue-green deployment用のバッチがあります。 Q. 何かgemを使われていますか?使われているなら、どんな選定理由ですか? いまはelasticsearch-railsを使っていますが、このエントリの後半にあるような理由で捨てようと思っています。移行先はまだ決めていません。 Q. 辞書を作ったりしていますか? Amazo

    発表資料: Elasticsearchによる 全文検索の実装 - Islands in the byte stream
  • High Sierraには「アプリのリンクを踏んでもChromeの空白ページが開くだけ」というバグがあるっぽい - Islands in the byte stream

    一時的な回避策ですが、このバグが発現する状態になったら「Chromeを再起動する」で回復するようです。このエントリを書いている時点でのmacOSの最新版は 10.13.2 (High Sierra) なので、以降のバージョンでは直ってるかもしれません。 ぼく自身はまだSierraのままなので伝聞です*1。ただTwitterのタイムラインで頻繁にこれ系の悩みを見かけて、そのたびに返信しているのでもっと知られるべきだなと思い、キーボードを叩くことにしました。 追記: Chromeのアップデートがきているときに起きやすいようですが、アップデートが来ていなくても起きるようです。 なんか、アップデートが降って来てる状態だと発生するぽいです— SHIBATA Hiroshi (@hsbt) December 19, 2017 これみんななってたのか。アップデートなくても起きるなあ。 / “High S

    High Sierraには「アプリのリンクを踏んでもChromeの空白ページが開くだけ」というバグがあるっぽい - Islands in the byte stream
    jazzanova
    jazzanova 2017/12/19
    これ毎回面倒
  • カンファレンススタッフ用アプリがあるとよさそう - Islands in the byte stream

    DroidKaigi 2017お疲れさまでした。スタッフとしては3回目、スピーカーとしては初めての参加でした。 スタッフとしては、受付の誘導、司会、副司会、会場の片付けなどをしました。特に司会はわりと臨機応変に行動しなければならず、部屋ごとにけっこうバラバラだったのではないかなあと思います。 カンファレンスが始まってからも次々と様々な仕様変更がきて、「意識を高くもって気をつける」だけだとカバーしきれないところがあります。そういう点をカバーできるようにカンファレンススタッフ用アプリがあるといいなーと思って記憶が鮮明なうちにメモしておきます。もちろん関係者でのKTPは別途しますが、それは公開されないと思うので。 実際に起きたこと スタッフのシフト表の変更 頻繁におきてた印象、というのもいくつか不整合がみつかるので シフト表にいれるスタッフは40人くらいいるので、不整合なく保つのは至難の業 セッ

    カンファレンススタッフ用アプリがあるとよさそう - Islands in the byte stream
    jazzanova
    jazzanova 2017/03/13
  • Bit Journeyに転職してKibelaをリリースしました - Islands in the byte stream

    半年くらいまえにBit Journeyに転職してKibelaを作ってました。AndroidエンジニアからRails + Reactエンジニアへの転向ということになります。 Kibelaはこちら。ようやく日リリースできました。といっても開発面でいうとこれからが正念場ではあります。 Kibela - 個人の発信を組織の力にする情報共有ツール “個人の発信を組織の力にする情報共有ツール” と銘打っているとおり、これは 個人が組織内で自由に情報を発信すると組織が活性化する という仮説に基づいて設計されている、会社などの組織向けのサービスです。もちろんそれだけでなく、仕様書の整理につかったり議事録をとりあえず突っ込んでおくみたいなのもありです。 さてKibelaでできることはBlogとWikiを書くことです。これはつまり 個人が発信する情報 とそれ以外を分けるということです。このあたりの思想やベス

    Bit Journeyに転職してKibelaをリリースしました - Islands in the byte stream
    jazzanova
    jazzanova 2017/03/02
  • git branch の結果を時間順にソート: git branch --sort=-authordate - Islands in the byte stream

    id:kazuho さんと「gitのbranchを消すべきか否か」という話をしていて、ぼくの「ローカルにせよリモートにせよbranchが増えすぎると目的のブランチを見つけられない」という意見に対して次のエントリを教えてもらったのでした。 git branch の結果を時間順にソート - kazuhoのメモ置き場 一理あるかもしれないと思ってこれをgitに組み込むためにgitのソースコードを眺めていたら、実はもうできるということを知りました。それがこれ: # 新しいのが下 git branch --sort=authordate # 新しいのが上 git branch --sort=-authordate このソートに使えるフィールドは、 git branch --help を引くと "The keys supported are the same as those in git for-e

    git branch の結果を時間順にソート: git branch --sort=-authordate - Islands in the byte stream
  • ViewPagerを使った読書画面の基本的な実装 - Islands in the byte stream

    電子書籍関係者で勉強会をやったので資料を公開します*1。 speakerdeck.com 追記: Fragmentの状態の復帰はFragment#onViewStateRestred(Bundle)) でできるのではという指摘をいただきました。試したところ想定通り動いたのでコードの方は修正済みです。 デモ実装は https://github.com/gfx/TinyPdfReader で、以下のようなことが実装されています。詳細は資料をご覧ください。 ピンチイン・ピンチアウトでのズーム(PhotoViewを使用) 画面の左右タップでの移動 Landscape時の見開き(1画面2ページ) 見開きでも表紙は1ページだけでセンタリングする 画面回転時の読書位置の保存 ページロード時の非同期画像読み込み +ふわっと表示 全画面表示(immersive mode) & 画面中央タップでトグル その他

    ViewPagerを使った読書画面の基本的な実装 - Islands in the byte stream
  • 1