タグ

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

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

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

    トレタのiPadアプリをSwift 3 対応しました - トレタ開発者ブログ
  • 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 にいってきました(前編) - トレタ開発者ブログ
  • Excelなテスト仕様書をMarkdown/GitHub/CircleCIに移行した話 - トレタ開発者ブログ

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

    Excelなテスト仕様書をMarkdown/GitHub/CircleCIに移行した話 - トレタ開発者ブログ
    yoshiki_coji
    yoshiki_coji 2016/09/02
    韃靼そば茶。
  • 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)、考え方 - トレタ開発者ブログ
    yoshiki_coji
    yoshiki_coji 2016/04/14
    佐野さんだッッッ
  • ZenHub Epicsでタスクをグループ化する - トレタ開発者ブログ

    開発部ディレクターの井上です。 トレタでは開発時の課題管理にZenHubを使用しています。今回は先日のバージョンアップで追加されたZenHub Epicsの紹介です。 ZenHub Epics Issueに対してラベルやマイルストーンを指定するのと同じようにエピックを指定できるようになりました。 エピックとは、アジャイル開発において「大きなユーザーストーリー」や「関連するユーザーストーリー郡」などとされていますが、トレタの課題管理においては、この機能により関連タスクのグループ化を容易に行えるようになりました。 トレタでは、当初新機能や改修といった括りで一つのIssueとして管理していましたが、中には粒度が大きくなってしまうこともありました。 独自に作成したバーンダウンチャートにより進捗の見える化を行っていましたが、そのような場合は開発終了日の前日にグラフが急激に下がることになり、あまり意味

    ZenHub Epicsでタスクをグループ化する - トレタ開発者ブログ
    yoshiki_coji
    yoshiki_coji 2016/04/12
    プロジェクト管理の話
  • トレタ(Web版)のこと - トレタ開発者ブログ

    はじめまして。予約/顧客台帳サービス「トレタ」のWeb版を開発をしているフロントエンドエンジニアの堀口です。 ブログが始まったばかりですので、今回はトレタのウェブ版がどのようなものか、簡単に紹介します。 トレタといえばiPadアプリやWeb予約が注目されるけど、Web版もしっかりあるんだよー、ということをお伝えしたいです。 Web版はiPadの移植ではない トレタのアプリにはiPadとWebの2つがあり、それぞれカバー領域が違います。簡単にいうと、iPadは現場での利用を想定していて、Webは現場というよりはバックオフィスや部での利用を想定しています。 以下の画像は、それぞれの領域を表したマトリクスです。 (縦軸: 顧客との距離 | 横軸: いつの予約か) iPadアプリとWeb版、いくつか同じ機能があります。ただ、まったく同じではなく、利用者・利用シーンに合わせて、細かい仕様を変更して

    トレタ(Web版)のこと - トレタ開発者ブログ
  • 高い互換性と寿命の長いWebAPIをつくるには - トレタ開発者ブログ

    Web APIの開発を担当しているswdyhです。 以前からWebサービスのサーバサイドの開発をしていたんですが、トレタに入るまでアプリのためのWeb APIの開発というのはしていませんでした。トレタに入って2年半くらいずっとアプリのためのAPIを開発していて、同じサーバサイドの開発でも、それまでとの開発とは違う点があり、悩ましくも面白く感じたのでまとめてみました。 サービスとアプリの話 トレタで提供しているサービスは、飲店むけの予約管理サービスで、電話などで予約を受け付けたときに、iPadのアプリを操作して予約を入力してもらい、実際にお客さんが来店したときにはiPadを見て案内するというふうに使ってもらうものです。他にもいろんな機能やこだわりポイントがあるサービスなんですが、そのへんはWebサイトを見てみてください。 トレタのアプリはiPadのネイティブアプリで、ほぼ全てのデータをサー

    高い互換性と寿命の長いWebAPIをつくるには - トレタ開発者ブログ
  • 1