ブックマーク / blog.yugui.jp (6)

  • 転職エントリ(1年後) - 世界線航跡蔵

    Nianticに転職して1年あまりが過ぎた。 2018年の9月からNianticで働いているのだが、そういえば転職エントリーを書きそびれていた。 転職して以来、相変わらずサーバーサイドの開発をしていている。なお、開発しているのはIngressでもPokémon GOでもハリー・ポッター:魔法同盟でもない。 Nianticとの関わり Ingressは2014年12月から続けていて、Pokémon GOも日での正式リリース日からぼちぼちやってきているものの、それにしてもNianticで働くようになるとは思ってもみなかった。 Pokémon GOがなんかえらく流行り始めたときも、自分とは関係ない話だと思いつつGoogle Maps時代の知り合いが何人か関わっているのを思い出して無責任に祝福していたぐらいである。知り合いへのご祝儀のつもりでポケコインを1万円分ぐらい買って、行動圏内にルアーモジュ

    転職エントリ(1年後) - 世界線航跡蔵
    koyancya
    koyancya 2019/10/25
  • Automation Accountパターン - 世界線航跡蔵

    コンテキスト あなたが開発しているサービスはユーザー向けにAPIを提供している。そして、APIを利用するにはユーザーは短寿命の認可情報(たとえばOAuth2トークン)を提示しなければならない。 ユーザーは認可情報が紐付いているアカウントの権限でリソースを読み取ったり、作成したり、所有したり、編集または削除したりする。 ここで、ユーザーは人間(が操作するユーザーエージェント)であることもあるが、人間の手を離れてバックグラウンドで自動実行されるプログラムかもしれない。 また、あなたは悪用目的でアカウントが大量登録されるのを防ぐためにCaptchaを利用したいと思っている。 さらに、課金目的で請求書送付先を登録させたいとも思っているかもしれない。 問題 プログラムが利用するアカウントを安全に管理するのがユーザーにとって困難である。 プログラムは自分でCaptchaを解いたりEメールを受け取るのが

    Automation Accountパターン - 世界線航跡蔵
    koyancya
    koyancya 2016/01/07
  • APIデザインケーススタディ —— Rubyライブラリを移植する前に読む本 - 世界線航跡蔵

    APIデザインケーススタディ 』というを頂戴したので読んでみた。 ライブラリ作者に向けて このRuby標準ライブラリを題材にして、分かりやすく、多様な機能をサポートして、互換性を保つAPIの設計をするにはどのように考えるべきかを教えてくれる。 ここでAPIと言っているのは、一般的なRubyのクラスとオブジェクトとメソッドから成るライブラリをどうデザインするか、という話である。 別にChef RecipeやRSpec DSLのようなちょっと変わったDSLを設計するとかそういう話ではない。確かにその種の言語内DSLのデザインには固有のセンスが必要とされるし、 Ruby DSL Handbook なんてが書かれているように実装にあたってもある種のテクニックが必要なのも確かだ。でも、それ以外の「ふつう」のライブラリのデザインは果たして簡単だろうか。 適切な粒度のクラスを定義する。必要な

    APIデザインケーススタディ —— Rubyライブラリを移植する前に読む本 - 世界線航跡蔵
    koyancya
    koyancya 2016/01/07
  • Managed VMsに移行 - 世界線航跡蔵

    今までこのblogはVPS上で動作させてきたが、この度 Managed VMs に移行した。 Wikiと全文検索は一時的に利用不能になっているが、他はそのまま動作しているはずだ。 主な動機はいまどき個人blogのためだけにシステムを管理するのは厭ということである。 慣れているのと安いのでManaged VMsにしたが、システムをDockerizeしてあるので、必要であれば少しの手間でElastic Beanstalkでもどこでも移動できる。 難点としては、このblogにはVMがオーバースペックということだ。Managed VMs(elastic beanstalkも同じだった筈だが)はdockerコンテナとそれを走らせるVMを1:1にmapするので、この程度の負荷だとリソースが余ってしまう。複数のコンテナ(モジュール)でシステムを構成しようとするとVMの利用料がかなり無駄である。当はN:

    Managed VMsに移行 - 世界線航跡蔵
    koyancya
    koyancya 2015/07/19
  • Rubyの呼び出し可能オブジェクトの比較(1) - 世界線航跡蔵

    Rubyにはコード片を表すオブジェクトが複数ある。 Method , UnboundMethod , Proc である。 Continuation は少し違うけど、実行コンテキストを記憶しているオブジェクトという意味では近いものがあるか。『 Ruby Way 』にはこういういろいろがあることについて「驚くほどのことではありません」と書いてあるけれども私は驚いた。で、これらが微妙に違うのだ。困ったもんだ。いや、便利なのかもしれないが。 それで今回はこれらの概要を眺めてみたいと思う。 普通のメソッド defでメソッドを定義するのが一番普通だやな。 class C def greeting(arg) puts "C#greeting reveived #{arg}" end def iterator yield 'iterator 1st' yield 'iterator 2nd' yield

    Rubyの呼び出し可能オブジェクトの比較(1) - 世界線航跡蔵
    koyancya
    koyancya 2014/12/02
  • Dockerで何が変わるのか - 世界線航跡蔵

    DockerCon 2014 に行ってきた。 この会期中には各社からいくつもの製品が紹介/発表された。そして、それによってクラウドという技術は次のステージに移行したと言っても過言ではないだろう。 より自由にユーザーがクラウドベンダーを選べる時代へ。どうやってクラウドにうまくデプロイするかではなく、アプリケーションそのものに注力できる時代へ。 Dockerとは Docker とはいわゆるコンテナ技術の1つで、Linuxホスト環境の中に隔離された別のLinux環境を作ってくれる技術だ。 軽量仮想マシンと呼ばれたりもする。 Solaris Container とも似ている。 新しくないDocker 1つ述べておくとDocker技術的には新しくない。Dockerの価値は技術以外にある(とDockerCEODockerConで言ってた)。 技術的にはSolarisにはSolaris 10の頃か

    Dockerで何が変わるのか - 世界線航跡蔵
    koyancya
    koyancya 2014/07/14
  • 1