月刊食べチョクこんにちは、エンジニアの鹿倉です。食べチョクでは、お客様、生産者さまからご意見を頂戴しながら、日々サービスのカイゼンを行なっております。11月もたくさんのご意見を頂きカイゼンを行いました!11月のカイゼンサマリーはこちらです。検索精度をカイゼンしました今までのフリーワード検索は検索の対象が広域であるため、意図しない検索結果となることがありました。「トマト」と検索した場合に、「メロン」の商品が表示されるといった具合です。複数品目を栽培している生産者様の場合、商品説明文に他の品目についても記載されている場合があるため意図しない品目が引っかかってしまうというのが大きな理由でした。以前は商品数が少なかったため、なるべくヒットしやすいように検索対象を広くしていましたが、商品数も増えてきて十分な結果を返せるようになってきたため、商品説明文を検索対象から外しています。お問い合わせページと会員登録画面にてスパム対策を行いましたサービスの成長に伴い、ボットからの不正アクセスが増えてきたため、reCAPTCHAを導入しました。ユーザの皆様に影響のある改善ではございませんが、セキュリティ向上のためにも今回の対策を行いました。お歳暮特集をリリースしました!お歳暮シーズンに向けて、特集ページをリリースしました。ギフトとしても喜ばれることはもちろんですし、自分へのご褒美としてもいかがでしょうか!www.tabechoku.com私のオススメは椎茸です。肉厚で香り高く、1口食べただけで幸せになります。フルーツセレクトに関する投稿が出来る様になりました10月にリリースしたフルーツセレクトですが、初回発送が11月ということもあり、実はまだ10月時点ではフルーツセレクトに関する投稿が出来ませんでした。初回の発送に合わせて、フルーツセレクトに関する投稿も出来るようになっています。ご投稿いただいているユーザ様もいます。www.tabechoku.comwww.tabechoku.com是非、フルーツセレクトをご利用の際はお客様の声を生産者に届けてみてください。システム上は、お届け日の登録が必須のため、発送完了が出来ない、または無理にお届け日を登録してもお客様に不適切なご案内になるとのご指摘を頂きました。上記のご指摘を受けて配送方法(配送業者)にクリックポストを追加しております。クリックポストを指定した場合もお届け日の入力はシステム上必要ではありますが、あくまで目安の扱いとなりますので、お客様にお届け日をご案内することはございません。[生産者向けリリース]出荷リストをCSVダウンロード出来るようになりました生産者から出荷リストをCSVでも扱えるようにしたいとのご意見がございました。一覧ページの右上の操作ボタンからダウンロードが出来るように対応しています。Rails6にアップデートしました!直接お客様に関係あることではございませんが、食べチョクもようやくRails6へアップデートしました!!!こちらについては別途ブログを書こうと思っています。最後に今後もユーザーの皆様・生産者の皆様のお声を積極的に取り入れていきたいと考えております。食べチョクトップページの下部にご意見フォームを設置しておりますので、なにか気になることがございましたら、ささいなことでもお伝えいただければ幸いです。食べチョクではデザイナー・エンジニアを切に募集しています。月刊食べチョクこんにちは、食べチョクの鹿倉です。食べチョクでは、お客様、生産者さまからご意見を頂戴しながら、日々サービスのカイゼンを行なっております。10月もたくさんのご意見を頂きカイゼンを行いました!10月のカイゼンサマリーはこちらです。フルーツセレクト」は毎月、旬の美味しい果物をお届けするサブスクリプションサービスです。農家さんから直送です!!ご契約プランは「1ヶ月」「3ヶ月」「6ヶ月」の3つのプランからお選びすることができ、契約期間が長くなるほど料金がお安くなる料金体系です。下記の通り、6ヶ月プランだと1ヶ月プランに比べて3000円お得になります!お届けする果物は毎月1日にメールにてご案内いたします。(マイページでもご確認頂けます)そして、11月は北東農園さんの完熟極早生みかんを予定しております!私も食べてみましたが、とっても美味しいので是非皆さんのも食べていただきたい一品です。note.mu美味しすぎてnoteも書いてますので、よろしければ是非ご覧ください。記事機能をリリースしました!!www.tabechoku.com運営からオススメの商品や情報をお届けする記事機能をリリースしています。トップページに品目の一覧を追加しました!!以前からサイドメニューに品目から探せるリンクを設置していましたが、スマホだとサイドメニューが閉じた状態のため気づきにくく、ユーザーの方々より品目から探せることを知らなかったというご意見を頂きました。そこでトップページにも品目の一覧を追加してユーザーが分かりやすいようにしています。注文リストに並び替え条件&絞り込み機能を追加しました!!これまで注文リストはお届け日順で並んでいるだけで、生産者様の作業に合わせて一覧を表示することが出来ていませんでした。そのため、生産者様より注文数増加によりご注文の受付業務が煩雑になってきたとのご意見を頂きました。そこで、生産者様の作業に合わせて注文リストを表示できるように並び替え条件の変更と絞り込み機能を追加しています。以下の条件で並び替えができるようになりました。以下のステータスで絞り込みができるようになりました。未確認の注文だけを表示します。確認済みで発送待ちの注文だけを表示します。最後に今後もユーザーの皆様・生産者の皆様のお声を積極的に取り入れていきたいと考えております。食べチョクトップページの下部にご意見フォームを設置しておりますので、なにか気になることがございましたら、ささいなことでもお伝えいただければ幸いです。食べチョクではデザイナー・エンジニアを切に募集しています。月刊食べチョクこんにちは、食べチョクエンジニアの鹿倉です。「セブンルール」に弊社代表およびサービスを取り上げていただくということで劇的なユーザ増加が予想されました。予想通り、今までにはないアクセスがあり、たくさんのお客様にサービスをご利用していただくことができました。その裏で、9月もたくさんのカイゼンを行なっておりますのでカイゼン内容をご紹介いたします。全体の改善サマリーは以下の通りです。「セブンルール」の影響で急激なアクセス増加が予想されました。そのためテレビ放送中であってもサービスをダウンさせることなく快適にご利用頂くためのカイゼンを行なっております。「酒チョク」をリリースしました!9/30よりお酒の取り扱いも開始いたしました。珍しいお酒も取り揃えております。チェックしてみてください!www.tabechoku.comちなみにこのリリースにより10月からカイゼンスピードは爆上がりする予定です。お酒が入ることで弊社エンジニア陣のサービス開発速度爆上がりの予感です。消費税率の変更に伴う対応を行いました2019年10月より一部の消費税率が10%に変更になることに伴い内部的な改修を行なっております。食品は軽減税率が適用され消費税率8%となります。配送料や酒類に関しては消費税率10%となります。発行している領収書の内訳については税率ごとに区分した内容を記載するように変更しております。食べチョクコンシェルジュ(おまかせ定期便)の配送曜日の追加&申し込みフォームをカイゼンしました!これまで食べチョクコンシェルジュのお届け可能曜日は水曜日と土曜日のみでしたが、木曜日と金曜日もお届け可能となりました。お届け希望曜日の変更は[マイページ->コンシェルジュ情報->申込変更]より行うことが可能ですので、水曜日と土曜日以外をご希望のお客様は変更をお願いいたします。初回お申し込みフォームについてもお客様の入力の手間を減らすようカイゼンを行なっております。商品ページで生産者のこだわりが見れるようにしました!これまでお客様が商品を選ぶために最も重要な「生産者のこだわり」が商品ページでは見ることができず、生産者ページでしか確認することが出来ませんでした。お客様がスムーズに購入が出来るように、商品ページでも「生産者のこだわり」が見れるようにしました。ページの表示速度をカイゼンしました!ページの初期表示の速度改善のために画像の遅延読み込みを導入しました。これまではページ内にある画像を全て初回に読み込むようになっており、ページがリッチになっていくにつれて初期表示が遅くなる問題がありました。今回の対応により、画面に表示されている画像だけを読み込むようになり、初期表示速度がカイゼンしております。Insightsの改善前と改善後の結果ですBeforeAfter今まで、遅すぎないか、、、(汗)というのもありますが、大きく改善することが出来ました。速度はユーザビリティに大きく影響しますので、引き続きカイゼンを行なっていきます。最後に9月はテレビ放送という1つの山場を越えることが出来ました。10月以降も引き続き、大きなカイゼン予定が詰まっていますので気を引き締めて頑張ります。食べチョクではまだまだエンジニアを募集しています。興味のある方は、是非Wantedlyよりご連絡ください。皆さんこんにちは、エンジニアの西尾です。弊社代表およびサービスを取り上げていただきました。システムを落とすことなく、かつパフォーマンスも落とすことなく無事に稼働させることができました。今回はテレビ放送前に、食べチョク開発チームが行ったパフォーマンス対策を紹介いたします。開発チームのミッション放送日が決まった時、代表が一言、Slackにつぶやきました。サーバーを落とさない放送中にサーバーは絶対落とさない。この日から少しずつパフォーマンス対策を始めることにしました。食べチョクはAWS上で運用しており、構成はとてもオーソドックスなものとなっています。EC2,ELB,RDS,ElasticCache(Redis),S3,CloudFrontを主に利用しています。React、DBはMySQLです。データベースのレプリケーションは行っていません。闇雲にパフォーマンス・チューニングをはじめても本当に効果があるのかはわからないものです。Benchをかけて、どこがボトルネックになりそうかを探ります。アプリサーバー、重い!アプリサーバーがとにかく重くて、性能がでない。放送日前までに行ったパフォーマンス対策めちゃくちゃ高性能なインスタンスとDBを立てれば、高負荷にも耐えられる可能性があります。アプリのパフォーマンス改善も行いました。NewrelicとPrometheus(Grafana)を見ながら、1つずつ重い箇所を改善していくことにしました。撲滅N+1クエリ、気をつけているつもりですが、ちょいちょいいました。renderingもいて、パフォーマンスを悪化させていました。簡単なところから改善。重い処理を分割・改善するたとえば、以下は改善前の商品情報ページのコードですが、もうなんというか見ただけで重そうで、実際重かったです。改善前の商品詳細のコード重い処理があるとサーバーが詰まってしまうので、一部を別処理・別APIに切り出したりしました。Controllerも改善できて、よかった。ムダにデータを読み込んでいるところを無くす不要なデータを読み込んで、かつレンダリングまでしている箇所がいくつもありました。HTMLをよくよく見てみると...無駄なデータ読み込みを排除データは全部読んで、CSSで隠してました。Cacheを利用するRailsのビューレンダリングは遅いし、重いです。処理速度を改善していきました。共通ヘッダーを軽くするヘッダーは基本全画面に表示されますが、微妙に処理が遅かったです。ここを少し早くすれば全ページの読み込み速度が改善されるので、キャッシュを部分的に入れるなどして速度改善をしました。jsファイルや一部バナー画像などはWebサーバーから直接配信していました。Webサーバーの負荷は少しでも軽くしたいので、これらをCDN経由で配信するように改修しました。データベースは現状レプリケーションを行ってないため、スケールアウトができない状態です。テレビ放送中にデータベースがパンクしたらシステムダウンを発生させてしまう可能性がありました。データベースアクセスをできるだけ少なくするような改修をしました。このキャッシュ機能は基本的にはオフにしているのと、重要な処理では使わないようにしています。実際には商品が売り切れているのに売出し中と表示されてしまう、みたいな問題が起きないように注意しました。キャッシュクリアの仕組みも作りました。テレビ放送中は、キャッシュをTTL=15分でONにすることでデータベースの負荷を下げることにしました。テレビ放送当日はc5.2xlargeを使いました。CPUがいっぱいいっぱいでレスポンスが悪くなりがちだったので、2xlargeを使うことにしました。2xlargeは高いけど、使っちゃうか2xlargeのインスタンスに合わせて、puma(アプリサーバー)のworker数とthread数を調整しました。poolの値もworker/thread数に合わせて増加させました。ELB(ロードバランサー)は突然の高負荷でアクセス不可になってしまう可能性があります。参考に、AWSにあらかじめELB暖気申請を出しておきました。システムが落ちない保証はありません。最悪の事態に備えて、Sorryページ(エラーページ)も作ることにしました。使う事態にならなくて助かりましたが、一応以下ページを用意していました。Sorryページそして迎えたテレビ放送9月24日のセブンルール(テレビ放送)は、夜の23:20から始まりました。本番開始直後の開発チームのSlackを張っておきます。焦っていて日本語がおかしい。放送が始まった時のSlackシステムが落ちないか心配で、放送時間中にはちゃんとテレビは見られませんでした。放送開始から終了までの30分間、アクセスを無事さばき切ることができました。パフォーマンスはどうだったか番組放送中の食べチョクトップページと商品詳細ページのパフォーマンスは以下のとおりです。アクセスをさばけました。改善7でいれたDBのレコードキャッシュ機能をオフにしたためです。放送中の商品詳細ページのパフォーマンス商品詳細も高速にレスポンスを返しています。サイトにはかつて無いアクセスが押し寄せましたが、無事乗り切ることができました。参加の経験が役に立ったなと感じました。実装を見比べながら、地道に改善を行いました。ISUCON、今年は忙しくて参加できなかったのですが、来年は開発チームのメンバーと出場できたらと目論んでいます。パフォーマンス対策も忘れずに実装いけたらと思います。放送を見逃した方へ以下サイトで10/1(火)22:30まで見逃し配信をしています。tver.jpktv-smart.jp関連リンクよろしければこちらも御覧ください。皆さんこんにちは、エンジニアの西尾です。今日は食べチョク開発チーム内で利用している、進捗レポーティングツールのご紹介をいたします。使いづらい食べチョクの開発チームでは、スクラムを組んで開発を行っています。スプリント期間は1週間、短く回してなるべく素早く開発をこなすようにしています。今回はスクラムの話は置いておいて、この開発にかかせないツールがJIRAです。カンバン機能など、アジャイルツールが充実しています。JIRAはタスク管理ツールとしては申し分ないのですが、レポート機能に関しては不満があります。スプリント内でどのタスク・エピックをどのくらいこなしたのかパット見でわかりません。開発チームでは、大きな機能の改修にはエピックをつけて進捗のトラッキングをしています。JIRAのベロシティチャート。not)毎に見て振り返りをしたいのですが、簡単に出力できないのが辛い。これも複数タスクを俯瞰して見られたらなあという思いがありました。spreadsheetなりなんなりで出力すればいいのでは。欲しかったレポートは以下のとおりです。いうのがひと目で分かるグラフ。ScriptをJIRAにつないで、ごにょごにょするだけで作れそうだなあという気がします。以下技術を使って作ってみることにしました。Frameworkインフラメンテとかしたくないので、作るならサーバーレスかなぁ。フレームワークはメジャーっぽいやつ選んでみるか、くらいのノリで採用しました。Node.jsローカル環境で開発したいです。Nodeがツール周りで一番充実してそうだったので選択。Spreadsheetに。サーバーレスアプリケーション側は、シンプルに以下のようなJSONを返すような作りにしました。Script)側では、この結果をグラフに落とし込むところだけを実装しています。},]作ったツールを公開します完成したツールは以下のとおりです。Script側のコードは公開してないのですが、レポートの元データを作り出すツール側のみ公開してます。このツールは、弊社開発チームのレポート出力機能に特化しており、そのまま他の会社・プロジェクトで使えるものではないと思っています。Frameworkでアプリを作るとこういう感じになるよ、というexampleにはなるかなと思い、今回公開することにしました。おわりに開発チーム内で使っているツールを、サーバーレスアプリケーションとして作成しました。作ったので、サーバーレスでアプリ作るとこうなるよ、というサンプルには使えるかなと思い、ソースも公開することにしました。サーバーレスアプリケーションは、インフラ管理の手間もなく、サクッとアプリを作れるのは楽だなと感じました。今後簡単な社内ツールは、サーバーレスで作っていけたらなと思っています。月刊食べチョクこんにちは、食べチョクエンジニアの鹿倉です。8月17日に食べチョクは2周年を迎えました!今年も恒例の企業さんへのお野菜お配り企画を実施し、エンジニアも総動員で企業訪問してきました。社内では、「あの会社、無理やりエンジニアに野菜配らせるとか肉体労働させてやばい・・・とか思われないだろうか」と言う声も上がりましたが、エンジニア陣は前職のエンジニア仲間に会えたりもする良い機会なので結構、楽しくやっています。項目この中からいくつかカイゼンをピックアップしてご紹介いたします。商品を都道府県から検索できるようになりました!自分の地元の野菜が食べたい、四国のお野菜が食べてみたい、など産地で選びたいという声を多数頂いておりましたので追加した機能です。フリーワード検索から都道府県を入力することで検索することもできましたが、今回のカイゼンでより精度の高い都道府県検索が可能になりました。生産者を検索できるようになりました!今までは商品の検索しか行うことが出来ませんでしたが、生産者も検索できるようになりました。栽培方法や都道府県での絞り込み検索も可能です。生産者によって、同じ品目でもこだわっているところや土地柄など全然違います。コンシェルジュ便の領収書を発行できるようにしました!これまでは通常のご購入のみ領収書が発行できましたが、コンシェルジュ便(おまかせ定期便)でも発行できるようになりました。初回申し込み画面からは領収書発行の設定はできません。お申込み内容の変更」にて以下の更新をお願いいたします。生産者向けに支払明細確認機能を追加しました!実はいままで、生産者様へのお支払い明細はメールでのみお送りしておりました。(汗この機能により、明細一覧・詳細の確認、PDFダウンロードが管理画面よりできるようになりました。※本機能は2019年6月分の売上以降を対象としております。2周年記念の特集ページ公開しました!2019/8/17に食べチョクは2周年に伴いキャンペーンページをリリースしています。(2019/8/31に終了しています)www.tabechoku.comキャンペーンのツイートも多くのリツイートを頂きました!また、オフィス訪問についても多くのご依頼を頂き大盛況でした。下記のキャンペーンの様子です。twitter.com今回、ご応募いただいたのに訪問できなかった企業様、大変申し訳ございませんでした。来年も実施予定ですので、来年こそは訪問させてください!最後に今月から食べチョクは3年目を迎えます。今まで以上にスピード感を持ってカイゼンに取り組みます。引き続き、食べチョクをよろしくお願いいたいます。カイゼンこんにちは、食べチョクエンジニアの鹿倉です。7月に、食べチョクでは95項目の機能カイゼンを行いました!7月はなんと言っても「肉チョク」「魚チョク」(食べチョクでの肉・魚取り扱い開始)のリリースがありました。代表のテレビ出演が2度もあり、エンジニアはスパイクアクセスへの対応にも追われるなど、とても忙しい月でした。肉魚の取り扱い開始に合わせて、システム側もデータの持ち方を変えるなど、目に見えない部分のカイゼンも行なっています。これらシステム内部の話も掘り下げて紹介いたします。上記の中から、主要な改修をいくつかピックアップしてご紹介いたします。肉チョク・魚チョク特集ページを追加しました食べチョクでお肉、魚介類の販売をはじめました。特集ページも新たに作成し、絶品のお肉・お魚をいくつか紹介しております。www.tabechoku.com今回取り扱いを開始した商品、どれも絶品なのでぜひ食べてみてほしいです。あまりに美味しくて、個人でも紹介記事を書いてしまいました。カテゴライズがされていませんでした(汗)。これらの情報は、商品に対してすべてタグ付けする仕組みにしていました。生産者様は、お米であれば「米」などのタグをセットしたり、桃であれば「果物」というタグをセットしたりする仕組みです。このタグ付けの仕組み、自由度が高すぎることもあり、商品数が増えてくるに従って商品検索の精度が悪くなっていきました。ユーザーさんは「果物」を探したいのに、欲しい情報がちゃんとでてこない。今回カテゴリーを追加したことにより、より欲しい商品情報にたどり着きやすくなりました。品目/商品に入っているお野菜データの整理しました品目/商品に入っているお野菜のデータを整理しました。このカイゼンは、まだユーザの皆様への影響はありませんが、今後より便利にご利用いただくための修正になりますのでご紹介させていたします。各箇所で利用している情報が統一されておらずバラバラの状態でした。その為、検索精度が良くなかったり、オススメ商品や類似商品の提案が難しい仕組みになっていました。今後のカイゼン今回、システムの内部で品目情報/入っているお野菜の情報の大幅な整理・改善を行いました。この対応により、今後、検索精度の向上や確度が高いオススメ商品のご提案できるようになります。今後の食べチョクを楽しみにしていてください。食べチョクコンシェルジュ(おまかせ定期便)を継続していただくとクーポンをプレゼントするようにしました毎回、違う生産者から野菜セットが届く食べチョクコンシェルジュ。ご継続頂いているお客様に、お届け回数に応じて食べチョクでご利用いただけるクーポン券をプレゼントいたします。お買い物の際は、お得なクーポンをご利用ください。食べチョクコンシェルジュお申し込みページをリニューアルしております。食べチョクコンシェルジュのことを詳しく知らないお客様。チェックしてみてください。テレビ放送に向けての負荷対策を実施テレビ番組に代表の秋元が出演いたしました。テレビ朝日「朝まで生テレビ!」この放送に合わせて、急激なアクセスがあってもシステムダウンしないように負荷対策を行いました。大きなアクセスに合わせてスケールアップ、スケールアウトできる構成に変更しております。今後もテレビ放映の予定がありますので、出演の際にはチェックしてみてください。笑8月からはエンジニアも1名増えて、今後大きめのカイゼンを予定しております。引き続きよろしくおねがいいたします。出張マルシェビビッドガーデンスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。