ブックマーク / ota42y.com (67)

  • 株式会社FiNC Technologiesを退職します

    まとめ 6月末でやめます 成長できる環境に…要は「俺より強い奴に会いに行く」 有給あまり過ぎてて暇 誰? 私です⊂(・8・)⊃ RubyKaigi 2019でOpenAPI 3について登壇したり RailsDM 2019でマイクロサービスについての登壇をしたり JAWS DAYS 2019でAWS SageMakerを活用してる話をしたり 技術書典でマイクロサービスよろずを出したり 検索結果の良さを計測して定量的に改善していく話をDevelopers Boostで話したり してました。 6月末で退職で、ちょうど3年いた感じです。 辞めるのは一ヶ月前から決まってましたが、口止めが解除されて誰にでも言って良くなったのと、 ぷりんたいさんの株式会社SmartHR退職しますみたいに退職前に退職ブログ書くの良さそうと思って書きました⊂(・8・)⊃ なんで辞めるのか 公開できる理由としてはぷりん

    ota42y
    ota42y 2019/05/24
    退職しますエントリ⊂(・8・)⊃
  • AFTER RubyKaigi 2019でOpenAPI 3とcommitteeの発表をしました

    AFTER RubyKaigi 2019で、『Q&A for “how to use OpenAPI3 for API developer”』を発表しました。 資料はこちら ベンチマークのコードはこちらになります。 https://gist.github.com/ota42y/1a5fb27e31aa5868af307fd66f52878b ベンチマークは登壇直後のブログで書いたのよりより誤差が少ない方法にしたため、 こちらのほうがより正確で、やはり気にするほどの影響はなさそうです。 ちょうどGW前に軽く書いて、きちんと作ってどこかで発表するかなーと思っていたところにちょうどいいタイミングであったので助かりました。 committeeのベンチマークをちゃんと取ったけど、どこかrubykaigi振り返りで発表枠ある所あるかな…ちこくkaigは予定かぶってた(´・_・`) — おおた@Ruby

    ota42y
    ota42y 2019/05/16
    #afterrubykaigi でRubyKaigiの補足的な話をしました⊂(・8・)⊃
  • RailsDM 2019でマイクロサービスについての登壇をしました

    だいぶ時間が空きましたが、2019/03/22-23で行われたRails Developers Meetup 2019にて、「我々はマイクロサービスとどう向き合うべきか」という発表を行いました。 言いたいこととしてはほぼスライドどおりで、だいたい以下の内容になります。 マイクロサービスは麻薬 適切に使えば嬉しい 嬉しすぎてついつい適切以上に使ってしまう 適切以上なマイクロサービスは辛い マイクロサービスは問題をより難しくする 例えば分割の失敗 別サービスを対象にしたリファクタリングは難しい モノリシックならまだリファクタリングができる どれくらいが適切かは組織の能力による 小規模でマイクロサービスはオーバーヘッドが多い テクノロジーの進化で中規模でもマイクロサービスがやれるようになってる 組織のパワーが上がるとマイクロサービスが大きくても大丈夫 Railsはマイクロサービスでも十分便利 マ

    ota42y
    ota42y 2019/04/28
    書いてないことに気がついたので⊂(・8・)⊃
  • RubyKaigi 2019で登壇した時のCFPや準備の話

    今回は未来の発表者のために発表までの準備や流れについて覚えているうちに書いていこうと思います。 発表内容はこちらを参考にしてください。 RubyKaigi 2019でOpenAPI 3について登壇しました 採択されたCFP 採択されたCFPを公開している例はある123ので、こちらでも公開していこうと思います。 ## Title How to use OpenAPI3 for API developer ## Abstract I'll talk about how to use OpenAPI 3 and another tools in production. JSON is widely used in the current Web. But the request / response format is not in the JSON specification, so we c

  • RubyKaigi 2019でOpenAPI 3について登壇しました

    2019/04/18-20で行われたRubyKaigi 2019にて、 How to use OpenAPI3 for API developerという内容で発表を行いました。 スライドはこちらになります。 CFPとかは別記事 OpenAPI 3はREST APIをやってるなら使って損しないので、絶対使ったほうがいいよなーと思っています。 実際に業務でかなり使ってますが、クライアントとサーバが別の人だとこういう仕組みを構築しないとすぐに危ない実装になりますし、自分の書いた古いコードとかに対しても役立つのですごく便利です。 発表は前半と最後がOpenAPI 3に興味がある人向け、真ん中がOpenAPI 3を実際に使ってみたい人向けの話で、どちらもそこそこ反響があったようでいい感じの構成だったようです。 追記事項 スライドの最後に付け足していますが、質問で多かったものに対しての回答をつけました

    RubyKaigi 2019でOpenAPI 3について登壇しました
  • マイクロサービスよろず本その三を出しました

    過去の回と比較するとこのようになります。 まとめ 前回よりチェック数は大幅に伸びていますが、販売冊数としては100冊ぐらい少ない結果になりました。 チェック数はおおよその売上の予想にはなりますが、精度としてはかなり荒い感じになりました… (売上としては黒字なので死んではないです) 総集編である一&二がかなり売れたことや、実際に見比べてそちらを買っていく方が多いことを考えると、 三冊目なので三とつけたために先に読まないとわからない、もしくは発展的な内容であると思われてしまったのが原因かと思います。 実際に話しの流れとしてはどこから読んでも問題ない内容であり、雑誌のように2019 Springみたいなタイトルで誤解を招かないようにするべきだったかなというのが反省点です。 ただ、内容としても初心者向けのような内容は三冊目にはなく、そういったものを求めていた人もいたので難しいな…といったところです

    ota42y
    ota42y 2019/04/15
  • 技術書典6でマイクロサービスよろず本その三を出します

    4/14の技術書典6で「Microservices architecture よろず その三」を出します。場所はう51「すべてがM(icro)になる」です。 こちらはよろずシリーズ三冊目になりますが、これまでとはまた違ったトピックを扱っており、既刊を読んだことがあってもなくても有益なになると思います。なお、目次はこの記事の一番下にあります。 https://techbookfest.org/event/tbf06/circle/60290003 また、「Microservices architecture よろず その一&その二」を出します。 こちらは過去に頒布したその一とその二をそのままあわせたになります。 両方別々に買うよりも安いので、新しく買う方はこちらを買うと良いと思います。 既刊の「Microservices architecture よろず」および「Microser

    ota42y
    ota42y 2019/04/13
  • JAWS DAYS 2019でAWS SageMakerを活用してる話をした

    JAWS DAYS 2019で、AWS SageMakerを使ってTensorFlowのモデルを運用しているという話をしました。 速報によると1900人も参加しており、JAWS-UGの熱気が凄かったです。 TensorFlowモデルのファイル構成について 編では省きましたが、SageMakerではTessorFlow Serving方式のデプロイと、Python-based Endpointsとでは用意するファイルのフォルダ構成が違います。 探しても公式のドキュメントには見つからなかったので、ハマりやすいポイントだと思います。 具体的には、TensorFlow Servingは基的に MODEL_NAME/VERSION/ 以下にpbファイル等を置くことを要求します。 (例: fmnist/1/saved_model.pb) ─ <モデル名> └── <version number>

    JAWS DAYS 2019でAWS SageMakerを活用してる話をした
    ota42y
    ota42y 2019/02/25
    JAWS DAYS 2019でSageMakerを使ってるって話をしました。わりとハマったところもあったり… #jawsdays #jawsug #jawsdays2019
  • TensorFlow ServingでTensorFlowのモデルを運用する

    TensorFlow ServingとはTensorFlowのモデルをマネージしてくれるサーバです。 モデルを処理するサーバ機能に加えて、複数モデルの管理、バージョンの管理、新たなモデルの自動ロード等を提供してくれます。 通信はgRPCやRESTで行うため、言語を問わずこれを立ち上げるだけで機械学習の恩恵を受けられる優れものです。 TensorFlow公式で、Google社内でも使っているっぽいのである程度の安心感があります。 モデルの用意 まずTensorFlowのモデルを用意します。 今回のチュートリアルにあるFashion MNISTを使います。 https://www.tensorflow.org/tutorials/keras/basic_classification Fashion MNISTは28*28のサイズに洋服の絵が描かれたデータセットです。 10種類のカテゴリからなり

    ota42y
    ota42y 2019/02/11
    TenserFlow Serving、モデルの運用周りをまるっと任せられるので便利⊂(・8・)⊃
  • committeeのOpenAPI 3対応がでました

    committee 3.0.0をリリースしました]。 このバージョンは主にOpenAPI 3対応が入っており、OpenAPI 3の定義ファイルを利用してリクエスト・レスポンスのバリデーションができます。 また、committee-railsも最新のバージョンで3.0.0に対応してるため、railsを利用している人はこちらも導入すると便利に扱えます。 OpenAPI 3を使う場合は様々なオプションが推奨設定になっているため、初めて使う場合はフルにその恩恵を受けられるはずです。 JSON Hyper-SchemaからOpenAPI 3への移行 JSON Hyper-SchemaからOpenAPI 3に上げる場合は変換スクリプトがあるのでこれを使うと便利です。 ただし、仕様上完全に変換することができないため、手で書いた場合に比べて冗長だったり、一部のnull非許可の設定がうまく変換できないことが

    ota42y
    ota42y 2019/02/02
    committeeのOpenAPI 3対応がでたよ( ゚∀゚)o彡゚
  • committee 3.0.0.alphaとOpenAPI3対応状況

    committeeの3.0.0.alphaがリリースされました。 OpenAPI3対応とそれに伴う大規模なリファクタリングが入っています。 手元のプロジェクトではとりあえずテストが全て通りstaging環境でも動作していますが、使っていない部分や定義ファイルによってはバグる可能性があるので、ご確認をお願いします。 JSON Hyper-Schemaからの変換であれば、変換用スクリプトを書いたので、ある程度は自動で変換ができます。 初期化方法の変更 前回の方針の通り、Committee::Driversのクラスを使う初期化方法のみをサポートします。 具体的には以下のようにJSONをパースしてHyperSchemaオブジェクトを作成して渡します。 json = JSON.parse(File.read(...)) schema = Committee::Drivers::HyperSchema

    ota42y
    ota42y 2018/12/27
    alphaが出たので。メイン部分は多分うごく、オプションのいくつかとかコーナーケースがまだ危ういかもみたいな感じ
  • 小さい組織でMicroservices Architectureは止めた方がいい

    この投稿はMicroservices Advent Calendar 2018 19日目の投稿です。 簡単なまとめ マイクロサービスの大きな利点は、 チームに権限と責任を委譲することで、 組織が拡大してもチーム毎に自走することで開発スピードが落ちないことです。 小規模組織だとチーム毎に自走することが難しい場合が多く、マイクロサービスとしてのチームを組んでいることが足枷になります。 障害の局所化やビルドの高速化を欲しいならそれは垂直分割した分散システムで十分です。1 そのため、分散システムを持つチーム(≠マイクロサービスのチームではない)という認識を持った方が、無駄なオーバーヘッドが無くなりお得だと思います。 マイクロサービスの利点とは何か マイクロサービスではプロダクト毎にチームとシステムを分割し、 各チームが独自の権限で自分達のシステムを開発していくことで、 コミュニケーションコストを抑

    ota42y
    ota42y 2018/12/20
  • 検索結果の良さを計測して定量的に改善していく話をDevelopers Boostで話しました

    12/15日に開かれたDevelopers Boostというイベントで、検索結果の良さを計測して定量的に改善していくという内容で発表をさせて頂きました。 簡単な内容説明 我々は物事を比較するときに何らかの基準=「ものさし」を使って比較をします。 もちろん仕事の上でも様々な「ものさし」を利用して仕事をしています。 ですが目の前の問題に有効な「ものさし」を常に持っているとは限りません。 そのような場合、いかに「ものさし」を探すかというのが重要になってきます。 この発表では実例を元にどうやって「ものさし」を探したかという話をしました。 基的には新しい「ものさし」を作る事は大変なので、いかに問題を整理して既に解かれている問題にマッピングするかを考えるべきです。 既存の問題にマッピングできれば、そこで用意されている物差しを利用できます。(=巨人の肩に乗る) また、「ものさし」によって定量的に問題を

    ota42y
    ota42y 2018/12/18
  • Developers Boostで検索結果の良さを計測して定量的に改善していく話をします

    12/15日にDevelopers Boostというイベントが開かれますが、こちらで検索結果の良さを計測して定量的に改善していくという内容で講演をします。3つある公募セッションのうちの1つになり、16:15分からの話になります。 内容としては、アプリの検索精度の改善をした実際のケースを元に、良さという主観的な物事をいかに定量的に計れるように落としていったか、それによってどういう利点があり、最終的にどういった結果になったかを話す予定です。 技術書展で書いた話が、質的に何が利点だったのかといった、もう一段上の視点から話す感じです。 ちなみに公式サイトのスピーカーを見てもらうと一人だけアイコン画像でめっっっっっっっちゃ浮いてます…みんなかっこいい写真を用意しているの凄い… (深く考えずにアイコン画像を送った⊂(・8・)⊃)

    ota42y
    ota42y 2018/12/02
    再来週のDevelopers Boostで話します( ゚∀゚)o彡゚ 公式ページで一人だけ浮いているのは…(´・_・`)
  • ヒヤリハットの対義語はヤハリヒットなのか?

    結論 Web上の2016/10/22以前のページをすべて調べた(数十ページなので) ヒヤリハットの対義語としている文献はなさそう ヤハリヒットという単語自体は過去にあったが、やっぱりヒットという意味が主(誤変換やUTAU) ヒヤリハットと関連付けた初出は2016/03/21の2chの書き込み とはいえ、面白いアナグラムなので広まっていきそう 概要 ヒヤリハットの対義語として、ヤハリヒットというものが存在するという言説を発見した。 「ヒヤリハット」の対義語が「ヤハリヒット」(事故るだろうと思って見てたら案の定、事故った)というの、草。 祥太 (`@shota_`) 2017年1月9日 ヒヤリハット(事故なんか起きないと思っていたのに、意に反してもう少しで事故になりそうだったので驚いた)の反対が、ヤハリヒット(いつか事故になると思っていたら、案の定事故になって大いに納得した)になっているのはす

    ota42y
    ota42y 2018/11/17
    ヒヤリハットの対義語がヤハリヒットは本当なのか????をWeb上で調べられる限り調べた。
  • JSON Hyper-SchemaからOpenAPI3に変換するスクリプトを作った

    JSON Hyper-SchemaからOpenAPI3に変換するスクリプトを作りました。 一旦はOpenAPI3でエラーのない状態に変換できます。 https://github.com/ota42y/json_hyperscheme_to_openapi3 残念ながらこの2つの仕様には完全な互換性はありません。 そのため、手元のJSON Hyper-Schemaデータに特化したいくつかの前提条件をおいています。 他の環境下ではこの前提条件が崩れる可能性があり、その場合はうまく変換できないのでご留意ください。 なお、現状ではまだ変換したファイルを使い込んでいないため、今後よりきちんと変換機能を作り込んでいく可能性はあります。 Objectに関する制約事項 Path Item Objectへの自動変換 JSON Hyper-SchemaにはOpenAPI3のPath Item Objectは存

    ota42y
    ota42y 2018/11/02
    OpenAPI3対応を進めている一環⊂(・8・)⊃
  • 技術書典5で本を3冊出しました | おおたの物置

    10/8の技術書典5で関わったを3冊出しました。 お買い求めくださった方、ありがとうございます。 また、マイクロサービスFlutterはBOOTHでも販売していますのでどうぞ。 また、既刊のマイクロサービスもBOOTHで販売中です。 Microservices architecture よろず その二 - ota42y - BOOTH(同人誌通販・ダウンロード) How to Develop Flutter Apps - ota42y - BOOTH(同人誌通販・ダウンロード) Microservices architecture よろず - ota42y - BOOTH(同人誌通販・ダウンロード) なお、マイクロサービスはリアルに私に合う人であれば、紙のも少数ですが販売します。 販売結果 マイクロサービスは新刊300、既刊100冊+αを持って行きましたが、どちらもほと

    ota42y
    ota42y 2018/10/10
  • 技術書典5で本が3冊出ます

    10/8の技術書典5で関わったが3冊でます。 技術書典5で私が何故か3サークルの運営に関与していたので… Microservices architecture よろず その二 か13「すべてがM(icro)になる」でマイクロサービスよろずその二を頒布します! https://techbookfest.org/event/tbf05/circle/28570001 このはマイクロサービスアーキテクチャに関する実践を元にしたになります。 インフラから概念的なレイヤーまで幅広く扱っています。 また、べログさんやQuipperさんにインタビューした記事があったりとかなり充実した内容になっています。 私はPub/Subメッセージと冪等性について書いてます。 既刊の販売もあり、どれも電子版も用意しています。 こんな感じです How to Develop Flutter Apps う70「牛

    ota42y
    ota42y 2018/10/06
  • Amazon Web Servicesサーバーレスレシピ という本を出します | おおたの物置

    Amazon Web Servicesサーバーレスレシピ というが明日10/5に出ます。 元々技術書典で書いたを更に加筆修正したものになります。 どんな このは元々技術書典4で私も記事を書いた「Amazon Web Services サーバーレスレシピ 2018.04」がベースになっています。 技術書典4でAWSサーバーレス出します! 実際にサーバレスアプリケーションを組み立てる上で、こういうふうに組み合わせればいいんだよみたいな例を乗っけたものになります。 私は主にAWS Serverless Application Model(SAM)でECサイトを作るみたいなことを書きました。 技術書典版との差分 技術書典版ではNode.jsでコードを書いていましたが、Go言語ですべて書き直しました。 冗長な部分を削ったり、薄かった番デプロイの説明を暑くするなど、ほぼ同じテーマで書いたの

    ota42y
    ota42y 2018/10/04
  • RustでGyazoクローンを作った

    RustでGyazoのサーバ側と同じ機能を有するRyazoを作りました。リポジトリはここです。 https://github.com/ota42y/ryazo オリジナルのGyazoと比べてDBSQLiteを使っているところが若干違いがあります。 使い方 サーバを立てる docker hub にpushしてあるので、pullするだけで使えます。 ただし、DBファイルを先に作る必要があります。 mkdir data cargo install diesel_cli --no-default-features --features sqlite export DATABASE_URL=./data/ryazo.db diesel setup docker run -v `pwd`/data:/app/data -p 8888:8888 -e SERVER_ADDRESS=localhost:

    ota42y
    ota42y 2018/08/01
    rustでウェブアプリを書いた⊂(・8・)⊃ (まだとりあえず動くレベル