[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

ブックマーク / tech.toreta.in (28)

  • RubyKaigi2017とModule Builder Pattern #rubykaigi - トレタ開発者ブログ

    サーバサイドエンジニアの中村です。先日開催されたRubyKaigi2017に参加しました。 その中で最も興味深かったセッションである The Ruby Module Builder Pattern について自分なりの理解をまとめてみようと思います。 Moduleの問題 module内でdefine_methodを使ってメソッド定義を行ったmethodに対して、そのmoduleをextendしたclass内で該当のメソッドに対して super を呼び出すことができません。 module AdderDefiner def define_adder(*keys) define_method :+ do |other| self.class.new( *(keys.map { |key| send(key) + other.send(key) }) ) end end end class Line

    RubyKaigi2017とModule Builder Pattern #rubykaigi - トレタ開発者ブログ
  • トレタはRubyKaigi 2017に参加しています - トレタ開発者ブログ

    サーバーサイドエンジニアの芹沢です。広島のホテルでこのエントリを書いています。 トレタはSilver SponsorとしてRuby Kaigi 2017にスポンサードしています。 また、トレタからは私を含むエンジニア3名とCTO増井が参加しております。 トレタはスポンサーブースは設置しておりませんが、増井が会場中を歩き回っておりますので、会場で見かけたらお気軽に話しかけてみてください。 また、今回参加するエンジニア3名がそれぞれこのブログにて参加レポートを書く予定です。 そのレポートの中では、事前に決めた各自の担当セッションについて解説する予定です。こちらもご期待ください。 さきほど初日のセッションが全て終了しましたが、とても濃いセッションが多い1日でした。 ruby commiterであるnobuさんのruby開発生活を紹介するキーノートから始まり(nobuさんのトークはruby界隈では

    トレタはRubyKaigi 2017に参加しています - トレタ開発者ブログ
  • トレタにおけるBigQueryの活用法について - トレタ開発者ブログ

    サーバーサイドエンジニアの芹沢です。 トレタは検索用のデータストアとしてBigQueryを使用しています。 奇抜な使い方はしていませんが、トレタにおけるBigQuery活用法を紹介します。 システム構成 BigQuery周りのシステム構成を1枚の図にまとめるとこんな感じです。珍しいものは使っていませんがその分安定した構成かと思います。 BigQueryにimportしているデータ 大きく分けて以下2種類のデータをBigQueryにimportしています。 1.APIが参照しているRDBのデータ APIが参照しているRDB(Amazon Aurora)のslaveからデータをimportしてデータ分析や調査用のデータ検索業務に使っています。 2.各種ログ 以下のログをfluentdでBigQueryに保存しています。 nginxのaccessログ railsで1リクエスト単位で出力しているカ

    トレタにおけるBigQueryの活用法について - トレタ開発者ブログ
  • UX Days Tokyo2017に参加しました - トレタ開発者ブログ

    トレタデザイン部の佐野 彩です。 先日行われたUX Days Tokyo2017というイベントに参加しました。 ニュースを流し読みするだけでは得られない、デザイナーの視点からの最新情報にまとめて触れることができる3日間でした。 2016年に起きた数々の事件が影響してか、UXというバズワードのみで捉えずに、心理学やモラルまでも踏まえた深みのあるセッションが多かったのが印象的でした。 それはもはやUXデザインがバズワードではなくなり常識になったことを示すのかもしれません。 とにかく1日でものすごい情報量に触れることができました。 まずは最初にカンファレンスの報告からいきたいと思います。 1. 計測のさらに先を読む(エリカ・ホール) 人間は完璧な存在ではありません。 データドリブンが良しとされがちな開発の現場で、デザイナーは数字に意味を見出す場合に気をつけるべきはどんなことかを問いかける発表でし

    UX Days Tokyo2017に参加しました - トレタ開発者ブログ
  • try! Swift Tokyo 2017に行ってきた - トレタ開発者ブログ

    iOSエンジニアの高です。去年に引き続き今年もtry! Swiftに参加してきました。 www.tryswift.co 最近のカンファレンスは後日スライドだけでなく動画まで公開していたりします。try! Swiftの場合はスポンサーのRealmが公開してくれてます。 try! Swift Conference こうやって資料が共有されると、そもそも参加する必要はあるのだろうか?と思ってしまいがちなのですが、やっぱりそこでの空気感だったり、他のエンジニアとの交流だったりは結構大事だなと思っていて出来る限り参加するようにしています。 海外からはもちろんですが、国内でも東京以外から参加されてる方も多かったです。僕が話した感じでは福岡が多かったなという印象です。 会場 ベルサール新宿セントラルパークビルで行われました。天井も高く、広々とした会場で良かったです。 所感 今年も興味深い話ばかりでしたが

    try! Swift Tokyo 2017に行ってきた - トレタ開発者ブログ
  • トレタのiPadアプリをSwift 3 対応しました - トレタ開発者ブログ

    iOSエンジニアの高(@y_koh)です。 この度トレタではiPadアプリのSwift 3対応を行いました。どんな感じで進めたのかと、ハマったところなど共有できればなと思います。 対応自体は去年末には終えていましたが、年が明けて1/10にリリースしました。 年末は飲店さま繁忙期のため、トレタではこの時期のアプリアップデートは控えています。例年このタイミングでリファクタリングやKaizenタスクなどを行っています。今回はSwift 3対応をメインに行いました。 先日サーバサイドもRailsを4.2にバージョンアップしています。言語やフレームワークのバージョンアップは機能改善に直接つながるものではないので後回しにしがちですが、将来的に負債になってしまうだけなので出来る限り時間を作って適宜アップデートするようにしています。 今回のSwift 3対応については、昨年のpotatotips#35で

    トレタのiPadアプリをSwift 3 対応しました - トレタ開発者ブログ
  • トレタのRailsを4.2にアップグレードしました - トレタ開発者ブログ

    サーバサイドエンジニアの中村です。 今回はトレタのAPIに使っているRailsのバージョンを4.1.12から4.2.7.1にアップグレードしたので、その手順について紹介いたします。 トレタのAPIでrake statsを実行した結果は以下の通りです。同じ規模感のサービスのRailsをアップグレードするときに役立てていただけたら幸いです。 +----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC | Classes | Methods | M/C | LOC/M | +----------------------+-------+-------+---------+---------+-----+-------+ | Controllers | 19554 |

    トレタのRailsを4.2にアップグレードしました - トレタ開発者ブログ
    horimislime
    horimislime 2017/01/20
    🎉
  • 最速かつ継続的に価値を届け続けるためのユーザー理解 - トレタ開発者ブログ

    こんにちは。デザイナーの上ノ郷谷です。私たちトレタが提供している予約/顧客管理サービスは、ユーザーである飲店のスタッフからみると会社が選んだ業務ツールです。しかも予約や顧客を管理することは飲店にとって大切とはいえ、メインの業務ではありません。そういった現場で使ってもらい、サービスの価値を上げていくには、いつも通りに使っていたら、気付かないうちに便利になっていると感じてもらえるような、できるだけ早く、継続的に価値を提供していく必要があると考えています。使うための学習や、操作中の迷い、没入させてしまったりすることがすべてコストになってしまうからです。 そのために私たちは、根源的なユーザー理解と、開発チーム内での認識にブレがないように情報フォーマットを持って、コミュニケーションコストを下げるなど、さまざまな取り組みを行なっています。今回はその中でも根源的なユーザー理解のために行なっているいく

    最速かつ継続的に価値を届け続けるためのユーザー理解 - トレタ開発者ブログ
  • DevFest.Asia 2016 Singapore にいってきました(前編) - トレタ開発者ブログ

    この記事はトレタ トレタ Advent Calendar 2016 15日目の記事になります。 こんにちは、フロントエンドエンジニアの堀口です。 弊社のカンファレンス補助制度を利用して、DevFest.Asia 2016 Singapore に参加してきました。 DevFest.Asia は CSSConf.Asia 2016 Singapore と JSConf.Asia 2016 Singapore 、2つのカンファレンスをあわせたものです。 開催日は11月24日〜26日の3日間。ちょうど、トレタ(Web版) のシンガポール対応の時期と重なっていたため、現地のスタッフへのプレゼンも兼ねてシンガポールへいってきました。 今回は、前編で面白かったセッションを、後編でカンファレンスの雰囲気を、簡単に紹介したいと思います。 セッション紹介 カンファレンスのスライド一覧は以下から確認できます。

    DevFest.Asia 2016 Singapore にいってきました(前編) - トレタ開発者ブログ
    horimislime
    horimislime 2016/12/16
    NeuroJS面白い
  • 「トレタ Advent Calendar 2016」やります - トレタ開発者ブログ

    こんにちは。ボケ防止に数学検定の問題集解くのが最近のマイブーム、サーバーサイドエンジニアの芹沢です。今年、数学検定2級を受験して2次試験不合格により見事に落としましたので来年リベンジします。 今年も残す所あと僅かとなり、みなさまに置かれましてはそろそろアドベントカレンダーの担当日の締め切りが気になり始める頃ではないでしょうか(自分は2015年は3つ参加してましたが日々いい感じにプレッシャーを感じながら師走を過ごした覚えがあります)。 今年はトレタもアドベントカレンダーにTryしてみることにしました。私も3日分参加する予定です。 現在、弊社の開発部は総勢19名(エンジニア+デザイナー+プロジェクトマネージャー)ということで、総員でアドベントカレンダーに挑んでも1人辺り1.25記事書かないと埋まらない厳しい戦いを強いられております。 そのため、毎年のアドベントカレンダーを楽に25日分埋めてくれ

    「トレタ Advent Calendar 2016」やります - トレタ開発者ブログ
    horimislime
    horimislime 2016/12/01
    始まった!
  • ログ収集サービスのlogdnaを試す - トレタ開発者ブログ

    佐野です。ここ2ヶ月くらい坐骨神経痛を患って、座ると痛い、立つと痛い、歩くと痛い、朝起きると痛い、くしゃみすると痛い。下がはけない(痛いから)、しゃがめない(痛いから)、夜痛みで目が覚める。という生活をしています。こちらの記事( 頭痛に耐えかねて自殺する人も…【激痛を伴う病気ワースト5】 )によると、痛すぎる病気ワースト4位らしいです。さて、ご近所のplaidさんからlogdnaというログ収集サービスを教えていただいたのですが、試してみました。 logdna logdna https://logdna.com/ ローンチは2016年、つまり今年のようです。fluentd同様、エージェントをサーバに棲ませて、それがログをlogdnaに転送します。トレジャーデータ似ていますが、まだ機能は少なくて分析などはできないです。特定文言のハイライト、通知、grep...など全サーバのログを一覧するよう

    ログ収集サービスのlogdnaを試す - トレタ開発者ブログ
  • AngularConnectに参加してきました - トレタ開発者ブログ

    こんにちは、トレタのウェブフロントを担当している吉田です。 トレタではウェブ予約やトレタ(Web版)などAngularプロジェクトが数多くあります。 業務の一環でトレタのカンファレンス補助制度を利用して、AngularConnectに9/27,28と両日参加してきました。 (NgConfに行きたかったのにすぐチケットが埋まって行けなかったのは内緒です。) AngularConnectとはEUから離脱をしてしまうことが確定しているイギリスはロンドンで毎年開催している最大級のカンファレンスとなっています。 今年の目玉は何と言っても開催2週間前に発表されたstableになったAngular 2です。 こちらのカンファレンスはその日の初回にキーノートがあり、それが終わると発表2つ ワークショップ1つ 質問1つ Q&Aセッション1つ とセッションが4つに別れます。 発表に関してはセッションリストから

    AngularConnectに参加してきました - トレタ開発者ブログ
  • 「データサイエンティスト協会3rdシンポジウム」に参加しました - トレタ開発者ブログ

    トレタのAPIをメンテしている芹沢です。 2016年10月14に開催されたデータサイエンティスト協会3rdシンポジウムに参加してきたのでシンポジウムの発表内容を簡単にご紹介します。 発表内容について 産学問わず様々な登壇者があつまっており、私は以下のセッションを拝聴させていただきました。 「計算機視覚技術人工知能の古くからの問題と新たな可能性」 データサイエンスアワード2016 最終プレゼンテーション 「実務者達のデータサイエンティスト「業」 フリートークセッション~結局、実際の業務やデータ分析チームで必要なスキルって何?~」 「統計学・計算機・データサイエンス」 「滋賀大学データサイエンス学部で学ぶこと」 「限られた情報から精度良く:機械学習技術の最近の発展」 自分自身の統計学や機械学習のスキルは嗜み程度なのであまり専門的なことは理解できませんでしたが、その中でも 「統計学・計算機・

    「データサイエンティスト協会3rdシンポジウム」に参加しました - トレタ開発者ブログ
  • Rubyを2.0から2.3にバージョンアップした効果とか - トレタ開発者ブログ

    インフラをチョメチョメしている佐野です。今日はRubyを現最新バージョンの2.3.1にアップデートしたのでその効果について書きます(2.0、とっくにEOLですしね...)。gemのバージョンアップはserizawaニキがやってくれました。結論から言いますと、 CPU使用率が劇的に下がり、メモリ使用率が少し上がった。 サーバ台数削減できる。 です。 CPU 9/6の昼過ぎくらいに2.3に切り替えたのですがそれ以降、CPUが下がっていることがわかります。 メモリ メモリについては使用率が上がっています。 2.3 2.0 何が使っているのかというと、Ruby2.3なプロセスのメモリ使用量が全体的に増えました。次のtopコマンドは左ペインが2.3、右ペインが2.0なのですが、rubyないしbundleとなっているものがunicorn, sidekiqになります。これら全般的に2.3の方がメモリ使用

    Rubyを2.0から2.3にバージョンアップした効果とか - トレタ開発者ブログ
    horimislime
    horimislime 2016/09/13
    ルビー
  • Excelなテスト仕様書をMarkdown/GitHub/CircleCIに移行した話 - トレタ開発者ブログ

    こんにちは、QAエンジニアの井上恵一です。好きな飲み物は一番搾りと韃靼そば茶です。 初回からニッチなネタではありますが、昨年入社した直後に行った、 iPad アプリのテスト仕様書の管理方法を見直したときの話を紹介しようと思います。 見直しのきっかけ トレタは飲店向けの予約/顧客台帳アプリです。だれでもかんたんに使いこなせるシンプルさを追求してはいますが、製品の進化に伴ってそのテストケース数はすでに数千という単位にまで膨れあがっています。 製品の品質を安定させるためには、テストの内容自体をブラッシュアップすることが重要なのは言うまでもありません。ただ、安定した製品を永続的に提供していくためには、それに加えて、膨大なテストケースを効率よくメンテナンスし続けるためのプロセス作りも欠かせません。 入社のタイミングでトレタのテスト設計を担当することになったので、テストケースの管理方法についてもいち

    Excelなテスト仕様書をMarkdown/GitHub/CircleCIに移行した話 - トレタ開発者ブログ
  • EngineyardからAWSに移設してAuroraの運用を開始した - トレタ開発者ブログ

    どうも佐野です。トレタのインフラはEngineyardでワオワオやってたんですが、あの、なんていうのAurora?それを使いたかったわけです。 さて、私が書いた前々回の記事にて、「コア機能のAWS化」を今後のTODOとして挙げていましたが、5/9にEngineyardからAWSへの移設が完了していました。EngineyardはRailsやnodejsなどのWEB-DB環境を簡単に構築できるPaaSです。Herokuとの違いはサーバにsshしたり、chefを利用してFluentdなどのミドルウェアを入れたり、既存のコンフィグレーションをカスタマイズしたりすることができる点が挙げられます。比較的自由度の高いPaaSと言えるでしょう。トレタでは創業〜先月までお世話になりました。 今回は移設とAuroraの運用に関するTipsの紹介になります。なお、記事に示す設計・運用方針はAWSのソリューショ

    EngineyardからAWSに移設してAuroraの運用を開始した - トレタ開発者ブログ
  • Shoryukenでつくるバッチ処理基盤 - トレタ開発者ブログ

    トレタのAPI開発を担当している芹沢です。 トレタでは、長時間かかるバッチ処理を複数台のサーバ上で処理させて短時間で処理できるバッチ処理基盤をAWS上で構築しました。この仕組みについて説明します。 目的 短期的には以下の課題を解決するため、長期的には似たような要件が再度発生した時に、同じ手法で解決できることを目的に作りました。 非同期でDBをデータソースとしたデータを加工してCSVファイルとして出力してS3にputしたい データソースはDBに入っているリアルタイムのデータであることが求められる CSVファイルの作成は決められた時間内に完了する必要がある 対象となるデータソースの量は日々増加し続けるが、常に決められた時間内にCSV作成が完了している必要がある 難点 今回の要件で技術的に難しい点は以下の2点です。 DBを直接参照しながら大量のデータを処理する 例えば、データソースとしてDBから

    Shoryukenでつくるバッチ処理基盤 - トレタ開発者ブログ
  • テストデータ生成に欠かせない便利な◯◯kitの勧め - トレタ開発者ブログ

    iOSを担当している高です。 開発しているとそれっぽいテストデータが欲しいってことが結構あります。今までは各々がローカルで都度スクリプト書いてるような状態で、僕の場合はトレタアプリの中に直接書いて都度書き捨ててる感じでした。 これは相当効率が悪いですし、自分用に書いたものは人にも共有しづらいという問題があったのでこれを機にツールを作ってみることにしました。 開発上の課題 iOS開発をする上でこの様な課題がありました。 パフォーマンス確認のために大量データが欲しい テーブル数などの設定をかんたんに変えたい 外部連携が必要なテストデータが欲しい。けれどE2Eで作るのはちょっと大変 大量データは文字のごとくです。通信時間やアプリ上での描画パフォーマンスを確認するために想定される最大のデータを用意したい。データ作成が1回だけで良ければ手で作ってもいいのですが、トレタの場合日付が軸になるので次の日に

    テストデータ生成に欠かせない便利な◯◯kitの勧め - トレタ開発者ブログ
  • メールの配信状況を可視化、追跡する - トレタ開発者ブログ

    週1でスープカレーってる佐野です。仕事ではトレタのインフラをあれこれしています。今回はメール配信の異変にいち早く気づき、カスタマーサポートのレスポンスを向上する取り組みについてです。 スマートフォンの普及、メッセンジャーの台頭などによって個人間でのメールでのやりとりは減っているかもしれませんが、通知の仕組みとしてまだまだメールは現役です。弊社ではお店への予約確定の通知、お店への予約一覧のPDF送信、お客様への来店日のリマインド...などにメールを活用しています。メールを使っていると、たまにお客様から弊社カスタマーサポートに「メールが届かない」「突然届かなくなった」という問い合わせをいただくことがあります。担当者は原因(トレタの障害?メール配信システムの障害?お客様のメールアドレス間違い?...etc)を即座に調べて回答する必要があります。今日はその仕組みについて。技術的には簡単な話です。

    メールの配信状況を可視化、追跡する - トレタ開発者ブログ
  • トレタのインフラ運用、支えている道具(Packer, Terraform, Serverspec, Ansible, Roadworker, Circle CI)、考え方 - トレタ開発者ブログ

    インフラをアレしてる佐野です。トレタのコア部分はEngineyardで運用していますが、事業拡大に伴いサブシステムも増えてきました。新しいサブシステムは主にAWSで運用しています。そこで今回は事例として弊社の新規部分のインフラ運用のやり方、そこで使われている道具(Packer, Terraform, Serverspec, Ansible, Roadworker, Circle CI)、考え方などについて書きます。これらの道具はもはやよく知られたものであり、あまり真新しくはないとは思っています。しかしながら弊社に遊びに来た方や採用の応募者の方などからトレタのシステム運用に関する質問をいただくことがあり、その説明資料のかわりになるかな、という目的もあって書かせていただきます。これ以外にも道具はあるのですが、なんとなく興味をもってくれそうなワードをタイトルに羅列させていただきました。以下、目次

    トレタのインフラ運用、支えている道具(Packer, Terraform, Serverspec, Ansible, Roadworker, Circle CI)、考え方 - トレタ開発者ブログ