シンクロ・フード エンジニアブログ

飲食店.COMを運営する、株式会社シンクロ・フードの技術ブログです

社内独自の Rails のコーディング規約のチェックを自動化した話

こんにちは。サービスチームの寸田です。 今回は、Rails アプリケーション開発における社内独自のコーディング規約のチェックを、Querly と reviewdog によって自動化した話をします。 サービス開発で抱える課題 サービス開発をしていると、社内独自のコーデ…

AWS Organizations で複数の AWS アカウントを良い感じに運用する

SRE チームの @fohte です。 今回は、社内インフラ環境の AWS 移行を進めるにあたって課題となった、AWS の権限分割を目的とした AWS Organizations を用いた複数 AWS アカウントの設計や運用の話をします。 AWS Organizations とは AWS Organizations は、…

リポジトリを横断したコンポーネント(Sass)管理を行う

シンクロ・フードの四之宮です。 前回ブログを書いてからかなり時間が経ってしまいましたが、その間に自作キーボードデビューしました。 Mint60, レツプリ, Helix, Fortitude60, ErgoDash を作りました。 社内の自作キーボード勢もかなりいるので、いずれ社…

90名で使っていた無料版Slackから有料のスタンダードプランにアップグレードする際にやったこと

こんにちは。最近は動画制作を勉強している、シンクロ・フードの大久保です。 今更なのですが、弊社ではつい最近、Slackを有料のスタンダードプランにアップグレードしました。 すでにスタンダードでSlackを利用している企業は多いと思うのですが、弊社のよ…

Drone CI で手軽に Docker コンテナで並列にジョブをぶん回す環境を構築した

基盤チームで CI 職人をやっている @fohte です。 今回は、Jenkins と独自ジョブスクリプトを用いたお手製 CI/CD 環境に無限のつらみが発生していたため、OSS の CI/CD ツールである Drone を使った CI/CD 環境に移行した話をします。 Drone とは? Drone は…

builderscon tokyo 2018に参加してサービス開発への知見を深めた話

こんにちは、サービスチームの日下です。 9月6日〜9月8日にかけて開催された『builderscon tokyo 2018』に参加してきました! buildersconは技術的な制約のない、様々なテーマのトークを聞けるとても濃密な内容のカンファレンスです。 buildersconではトーク…

builderscon tokyo 2018 に参加してきました! (@fohte)

基盤チームで CI 職人をやっている @fohte です。 9 月 6 日 (金)、9 月 7 日 (土) に開催された builderscon tokyo 2018 に参加しました! builderscon.io 今回は、個人的ベストスピーカー賞のいくつかのセッションをご紹介させていただきます。 セッション…

iOSDC Japan 2018 に参加してきました

こんにちは、アプリチームの増山です。 8月30日(木) から 9月2日(日) にかけて開催された、iOSDC Japan 2018 というカンファレンスに参加してきました! 今回は参加したセッションの中でいくつか印象に残ったものをご紹介させていただきます。 Playground 駆…

RubyKaigi 2018 に参加してきました (@n0_h0)

開発部サービスチームの日下(@n0_h0)です。 今回、初めて RubyKaigi に参加してきました! この記事では、印象に残ったセッションを3つご紹介いたします。 弊社からは2人参加しており、もう1つのレポート記事は以下のリンクになります。 セッション紹介 banc…

RubyKaigi 2018 に参加してきました (@fohte)

基盤チームの川井 (@fohte) です。 2018 年 5 月 31 日 (木) 〜 6 月 2 日 (土) に仙台で開催された RubyKaigi 2018 に業務として参加してきました。 弊社はスポンサー枠ではありませんが、出張として宿泊費や交通費を負担していただいて参加しました。 今回…

EC2上のMySQLからAuroraへの移行作業で失敗・想定外だったこと

こんにちは、pubgで全然ドン勝できない、開発部の大久保です。 今回は弊社が調査含め半年ほどかけて実施した、Aurora移行のお話しをしようかと思います。 ただ、Auroraへ移行するための情報自体は世の中に溢れていると思うので、今回は移行する際に失敗した…

AWS 認定ソリューションアーキテクト アソシエイト(新版)を取得しました

基盤チームの安藤です。 今回はAWS 認定ソリューションアーキテクト アソシエイトを取得した話を紹介しようと思います。 インフラ歴は3年ほどで最近までは開発と半々でしたが、積極的にインフラに関わっていくことになったためこの資格に挑戦しました。 AWS …

依存しあう複数の Git リポジトリを git subtree で monorepo 化する

基盤チームの川井 (@fohte) です。 今回は、monorepo と呼ばれる複数のリポジトリを単一のリポジトリで管理する運用方法の紹介と、実際にその運用に切り替えた話をします。 弊社は GitHub Enterprise を使っており、Git Flow を独自に拡張した master, devel…

Flow で静的型付けしながらフロントエンド開発した話

基盤チームの川井 (@fohte) です。 今回は飲食店リサーチというサービスのフロントエンドを Flow で型付けしながら React で開発して得た知見の話をします。 Flow とは? Flow は Facebook 社が開発した、JavaScript の構文を拡張して静的型解析機能を提供す…

Irisという超絶キュートなキーボードを作成した話

こんにちは、シンクロ・フードの大久保です。 今回はあまり社内の業務と関係がないのですが、Irisというキーボードを作成したお話しをしようかと思います。 これがIrisです TL;DR IrisというキーボードはコンパクトなErgoDoxで、作って良かった! 組み立て式…

AWS Lambda+API Gateway + S3で格安リアルタイム画像リサイズAPIを作成する

こんにちは、シンクロ・フードの大久保です。 今回は実際に弊社で運用しているAWS Lambdaを使ったリアルタイム画像変換APIについてご紹介したいと思います。 リアルタイム画像変換APIについては、あまり詳しく説明しませんが、画像のサイズ変換等をURLパラメ…

Filelint を作って社内プログラムのコーディングスタイルを矯正した話

はじめまして。今年新卒で入社した基盤チームの川井 (@fohte) です。 最近までは、新卒企画研修として開発した wenu という飲食店向け Web サービスの開発基盤を整えたり、フロントエンド (React) のロジック部分を担当していました。 社内の既存プログラム…

徳丸浩先生をお招きしてセキュリティ研修を行いました!

こんにちは、シンクロ・フードの大久保です。 弊社では今年の4月に入社した新卒エンジニアを対象に、セキュアスカイ・テクノロジー社(以下SST社)の「eラーニング研修」+「1日オンサイト研修」を行いました。 安全なWebサイト構築のための教育[eラーニング]…

ReactでLINE風チャット画面を実装してみた

シンクロ・フードでフロントエンドの開発を担当している四之宮です。 今回は、前回のブログで宣言した通り、ReactでLINE風チャット画面を実装してみたことについてお話ししたいと思います。 ReactとCSSがある程度わかることが前提になります。 作成した機能…

Compassのsprite-mapによるスプライト画像生成を、spritesmithに移行する

シンクロ・フードでフロントエンドの開発を担当している四之宮です。 最近は、ReactでLine風のやりとり機能を実装しました。 近々こちらについても、ご紹介できたらと思います。 では、本題に入っていきたいと思います。 タイトルには入っていないですが、レ…

Tomcatを高速に起動する

こんにちは、シンクロ・フードの大久保です。最近はAWSのLambdaを触っています。近々、そのネタもブログにしようと思っています。 さて、今回はTomcatの起動高速化のお話しをしようかと思います。Railsもやっていますが、なんだかんだ言って弊社はTomcatとの…

レガシーなフレームワークでcssの圧縮を自動化する

シンクロ・フードでフロントエンドの開発を担当している四之宮です。 前回投稿した「レガシーなフレームワークでcss/javascriptのキャッシュクリアを自動化する」が思っていた以上にアクセスがありましたので、今回はその続編となります。 本記事からでも理…

既に稼働しているWebサービスに対してgulp+webpackでReactをビルドする

こんにちは。エンジニアの大久保です。年の瀬ギリギリにブログを書いてみました。 シンクロ・フードでは、半年くらい前からReactの導入を少しずつやっているのですが、今回はgulpが動作している非SPAサイトに対するReactビルド環境を紹介したいと思います。 …

レガシーなフレームワークでcss/javascriptのキャッシュクリアを自動化する

シンクロ・フードでフロントエンドの開発を担当している四之宮です。 今回は、「cssとjavascriptのキャッシュクリアの自動化に対応していないフレームワークでのキャッシュクリア自動化」についてについてお話したいと思います。 ここでいうキャッシュクリア…

IonicとAngularJSを使ってSPAでサービスを作った話

こんにちは、最近CourseraのMachine Learningコースで機械学習を勉強中の安藤です。 今回は食材発注ツール「PlaceOrders」 の開発についてお話したいと思います。 PlaceOrdersの開発ではIonicを使って初めてSingle Page Application(SPA)を構築したので、そ…

Tomcatのクラスタリング環境でのセッションレプリケーションについて

シンクロ・フードの越森です。 今回は、Tomcatのクラスタリング環境でのセッションレプリケーションについてお話したいと思います。 弊社ではAWS移行したことをきっかけにTomcatのセッションレプリケーションを見直すことになったのですが、中々これといった…

シンクロ・フードのブランチ運用フロー

シンクロ・フードの五十嵐です。 今回は、私たちの開発フローについてお話したいと思います。 特にGitのブランチ運用については皆さん頭を悩ませる部分だと思いますので、弊社の紆余曲折した経緯も踏まえて公開します。 Gitへの移行を検討している方などの参…

Webサイトの文字コードをShift_JISからUTF-8に変更するときに実施したこと

こんにちは、シンクロ・フードの大久保です。 10年以上運用しているWebサービスだと、文字コードがShift_JIS、という状況は多いのではないでしょうか。 弊社もそうだったのですが、昨年、自社で運用するWebサイトすべての文字コードをShift_JISからUTF-8に変…

シンクロ・フードのサービスとシステム構成

シンクロ・フードの大久保です。当社でもエンジニアブログを始めてみました。 まずは弊社サービスのご紹介と、システム構成を簡単にお伝えしたいと思っています。 サービスと組織 シンクロ・フードは、「飲食店.COM」や「求人@飲食店.COM」など、飲食店向け…