EatSmartシステム部ブログ

ウェブサイトの開発や運営に関する情報です。

2018-01-01から1年間の記事一覧

2018年を振り返って

2018年はサービスのシステム開発だけでなく、色々な挑戦や取り組みをした1年でした。 自分にとってどんな1年だったかを振り返ってみたいと思います。 今年やったこと 1月〜3月 iDC移転 今年の前半は何と言ってもiDC移転が一番大きなトピックでした。 計画・…

Apache / Tomcatの基本設定と連携

こんにちは、EatSmartの新人エンジニアです。 弊社サービスであるもぐナビの開発に入るにあたり 環境構築を行いました。ApacheとTomcatの導入、基本設定について振り返ってみたいと思います。 WEBサーバー:Apache APサーバー:Tomcat 言語:Java IDE:eclip…

シナリオテストをやってみて

イートスマートの新人エンジニアが、今回はシナリオテストをやってみて学んだことを振り返っていきます。 シナリオテスト実施の背景 弊社が提供する料理教室情報サイト「クスパ」の方で、新たな機能を追加し、リリースさせるという流れがあります。 実施した…

ZabbixからTomcatコンテナを監視する

EatSmartではサーバ、サービスの監視にZabbixを利用しています。 利用するテンプレートは、サーバの監視には"Template OS Linux"を、Tomcatの監視には"Template App Generic Java JMX"と独自に拡張したものを利用しています。 これらの構成はデータセンター…

Spring Bootのサービス稼働環境

弊社では食品の検索に対してXMLで結果を返すRESTfulのAPIを運営しているのですが、今回、機能追加やJSONでの返却を可能にするバージョンアップを計画しています。 今まではJSP+Servletでの実装だったんですが、今回はSpring Bootで実装してみました。 Spring…

Javaの単体テストJunit入門

こんにちは、EatSmartの新人エンジニアです。弊社のサービスの一つであるカロリーチェックAPIの開発を行った際にJavaの単体テストを行ったのでその流れを振り返ってみたいと思います。 JUnitとは Javaでユニットテストの自動化を行うためのフレームワーク ユ…

Google Map APIについて

クスパでは料理教室の所在地をGoogle Map APIを利用して表示していますが、2018年6月にGoogle Map APIのサービスが見直され、Google Maps Platformというサービスに変更されました。その際に調査したことなどを記載したいと思います。 Google Maps Platform…

Javaの開発環境を構築する(Windows編)

イートスマートの新人エンジニアが、今回はJavaの開発環境の構築について、業務を通して行ったので 流れを簡単に振り返ってみたいと思います。以下の書籍を参考にしました。 スッキリわかるJava入門 第2版 (スッキリシリーズ)作者: 中山清喬,国本大悟出版社/…

DockerコンテナでJenkinsを稼働させる

今回は、イートスマートのサービスのビルド・デプロイに利用しているJenkinsについて書きます。 DockerコンテナでJenkinsを稼働させるための手順をまとめました。 現在はJenkins以外にも同様のツール・サービスが多数ありますが、手元のサーバ上で手軽に利用…

webpackを使ったVue.jsのモジュール開発

前回の続きで、今度はクライアント側でVue.jsを使い、前回作ったNode.jsのAPIからデータを取得して表示するページを作りたいと思います。 eatsmart.hatenablog.com インストール まず、プロジェクトのフォルダを作り、初期化します。 $ npm init 次に、webpa…

RailsでMinitestを実行する

EatSmartの新人エンジニアです。現在、社内向けツールの開発をRuby on railsを用いて行っています。 今回、テストコードを書くにあたりMinitestを使用したので実装内容を振り返ってみいたいと思います。 テストに関する知見が浅いのでこちらの本を読みました…

ImageFluxの導入について

イートスマートでは複数のサービスを運営していますが、各サービスで画像を扱う際に、オリジナル画像から独自でサムネイル画像を作成しています。 その場合、サイトリニューアル時に、速度低下やディスク使用量、ディスクI/O負荷等の懸念がありました。 それ…

仮想環境上でrailsを動かすまでの流れ

今回は、イートスマート1年目エンジニアが仮想環境を構築後、railsを起動するまでの一連の流れをざっとみていきたいと思います。※VirtualBox及びCentOS7の各種設定については、割愛させて頂きます。 環境について ・Windows 10 ・VirtualBox 5.2 ・CentOS7 …

Nginx/Apacheのアクセスログを可視化してみる

今回は、Nginx/Apacheのアクセスログの可視化について書きたいと思います。 イートスマート社では、WEBサービスの解析にGoogleアナリティクスを利用しています。 Googleアナリティクスでサイトへ訪問するユーザーやアクセス状況の分析を行い、日々サービスの…

docker+Node.js(express+pg-promise)で簡単なAPIサーバーを作成

インフラの構成を変更して自由度が上がったので、サービスに必要な簡単なAPIをdocker+Node.jsで構築してみました。 eatsmart.hatenablog.com 今までNode.jsは、sassを使うために呪文のようにnpmを使った程度なので、一から調べながら始めたのですが、結構簡…

Gitの基本操作について

Git

EatSmartの新人エンジニアが第二回目のブログを更新したいと思います。 今回はGitの基本操作についてまとめてみました。 Gitとは 分散型バージョン管理システム ローカルにリモートリポジトリの複製を作成し、複数人は各々のローカルで変更履歴を利用して自…

FacebookAPIのpublish_actions廃止について

2018年4月24日にセキュリティ向上の目的でFacebookから発表があった、 "New Facebook Platform Product Changes and Policy Updates" の「publish_actions」廃止について簡単にまとめてみました。developers.facebook.com 「publish_actions」とは ユーザー…

環境構築の際に行った工夫

以前、以下の記事でデータセンターからクラウドへ移行したことを書きました。 eatsmart.hatenablog.com このとき、以前から利用していたDockerの適用範囲を広げ、Apache/Tomcat等もコンテナ化しました。 あわせて環境構築のためAnsibleの導入も行い、Nginxな…

tomcat上のwebアプリケーションをコンテナ化する

アプリケーションの稼働環境をdockerコンテナ化することは、環境の可搬性やネットワークの自由度などとても有用なので、弊社のサービスをコンテナ化しています。 先日、tomcatで動作しているwebアプリケーションをコンテナ化した際にやったことをブログに残…

Dockerについて

初めまして、EatSmartの新人エンジニアが初ブログを更新したいと思います。 入社してちょうど1ヶ月が経ちました。現在、社内向けのツールを開発中でその際にdockerで仮想環境を構築しました。 初めてDockerを動かすことになったので調べた内容をまとめてみ…

Postgresql DB移行

インフラの見直しに伴いDB移行を行う事になりましたが、フルダンプの移行だと数日かかることが判明した為、いくつか時間短縮の施策を検討してみました。 移行環境 (移行前) postgresql8.3.5 ※移行前の容量は400G程度 (移行後) postgresql9.3.5 施策1 ま…

データセンターからクラウドへの移行

これまでイートスマートでは、サービスの大部分をデータセンターを利用して提供してきました。 データセンターの利用を開始してから年月が経つことで、ネットワーク機器・サーバの故障や容量不足が目立つようになりました。 データセンターを利用しているな…

docker buildでURLを指定する

こんにちは。お久しぶりです。 大分長い間ブログを寝かせていましたが、ブログを再開することにしました。 まずはウォーミングアップで、簡単なネタから…。 アプリケーションのビルドとデプロイ 弊社では、ソース管理にgit、アプリケーションの稼働にdocker…