エンジニアインターン運営の裏側

こんにちは。サーバサイドエンジニア兼QAエンジニアの斉藤(@saik1010)です。

本日は、今年の1月9〜1月12日に開催したエンジニア職インターンシップの運営について、お話しさせて頂こうと思います。

当日の様子はWantedlyでもご覧になれますので、合わせてご確認頂ければと思います!

取り組んだテーマ

例年、対象サービスに機能追加をするというテーマ設定で行ってきましたが、少しマンネリ化してきたこともあり、今年は新しいテーマを模索していました。
そこで、弊社エンジニア・デザイナーでいくつかのチームに分かれ、社内コンペを実施してテーマを決定することに。

続きを読む

Redmineをしっかり活用してチーム運用改善したら、チーム力がグンと上がった話

こんにちは、エンジニアの西脇です。今日は、チーム運用改善の話をしたいと思います。これからチーム運用をしていく方々に少しでも響けばいいな、参考事例になればいいな、と思って書いておきます。ちなみに、テーマを変えて続編も書く予定ですので楽しみにしてもらえればと思います。

チームに課題が出て来た

私のSREチームはこれまでは2人と少数精鋭でした。そこに昨年全く違う背景を持つメンバーが入って来ました。(ちなみにSREチームに改名した件も近々どこかで書こうと思います。)最初は仕事のやり方を変えずにやっていたものの、仕事が増えて連携する場面が増えると、2人のときの阿吽の呼吸だけではどうしても回らなくなることが増えてきました。他にも思考のすれ違いなど幾つか課題が出始めました。項目にするとこんな感じです。

  • 少数メンバーのため、人に依存したタスクが多かった。
  • チームメンバー同士での現状把握が出来ていない。
  • タスクの可視化や優先度の把握が不十分。
  • ロードマップの優先度付けも弱い。

それぞれこれまでやれてなくて出て来た課題なので、向き合って進めればいいのですが、
さて、どうやって解決していくのが楽しいか。やるなら楽しく進めたいものです。

そうだ!

うちはRedmineを使ってるので、
Redmineをフル活用すれば、「あーして、こうして」、結構いいかも。

と思いつきました。思いついたら吉日。即日動きました。

続きを読む

JavaScriptの非同期処理Promise・async awaitを学んでみた

こんにちは、サーバーサイドエンジニアの菅原です。

今回はJavaScriptの非同期処理について今更ながら学んでみました。昔ながらのCallback、ES6から追加されたPromise、ES7から追加されたasync await、さらにはRxJsについても調べてみました。

背景

昨今はUXの需要の高まりから非同期処理を書くことが多くなり、リアルタイム性やチャット機能、パフォーマンス改善のためにも非同期処理のコードを書くことが増えています。ただ非同期処理のJavaScriptのコードは処理が増えるごとにコールバック地獄と呼ばれる可読性が損なわれる危険性があることも事実です。

今回は以下のプログラミング条件から非同期処理について簡単なコードを用いての紹介と補足でRxJsを用いた非同期処理を紹介していきます。

続きを読む

Headless Chrome でブラウザテスト自動化入門

こんにちは。サーバーサイドエンジニアの@akane_256です。

今日は、Headless Chromeを使ったブラウザテストの自動化(入門)について書きたいと思います。

目次

  • Headless Chromeとは?
  • 興味を持った背景
  • 今回やったこと
  • 実際のソースコード
  • まとめ

Headless Chromeとは?

  • Chrome59(2017/6月頃)から搭載された機能
  • ChromeをGUIなしでコマンドラインから実行できる
  • DOMのノードを取得したり、画面キャプチャを撮ったりできる
  • ツールと組み合わせて自動テストに使ったりする

ブラウザを開いて、特定のページを開き、自分で目視確認しなくても、
あらかじめ作ったプログラムをコマンドから実行をすれば
自動でキャプチャをとったり指定の要素を取得したりすることができます。

続きを読む

作業ミスを減らすFirefoxアドオンを公開

結婚写真を撮影できるスタジオ検索サイト「Photorait」担当エンジニアの武田(@takedajs)です。

先日、自分が担当しているPhotoraitでスタジオを探し実際に結婚写真を撮影してきました。自分が携わってるサービスをユーザとして使うのは、感慨深いですね!一つ夢が叶いました涙

さて本題です。
最近Firefoxの大きなバージョンアップ(Firefox Quantum)があり、ページ読み込み速度の大幅な改善などありましたが、その一方で最新の開発手法(以下、WebExtensions)ではないFirefoxアドオンが利用できなくなりました。僕の場合、利用していたFirefoxアドオンが全て利用不可に。。。マジか。。。

そこで今回は、最新のFirefoxでも利用できる、作業ミスを減らすFirefoxアドオンを開発し公開しましたので紹介します!ターゲットユーザが少ないと思うので、かなりニッチなアドオンです笑

続きを読む

MySQLからRDSへの移行手順と暗号化の注意点

こんにちは。インフラエンジニアの綿引です。

既存のシステムを刷新する際やリニューアルなどを行う時など
インフラ構成をいろいろ考えるかと思いますが、
DB のクラウド化を検討された方も中にはいらっしゃるのではないでしょうか。

メリット・デメリットはあるかとは思いますが、まずは現状のシステムから
移行可能かという点が気になるかと思います。

そこで本日はオンプレや EC2 インスタンスにインストールした MySQL から、
AWS の RDS の MySQL に移行する方法を試してみたので書いていきたいと思います。
またせっかくなのでRDSの暗号化も一緒にやってみたいと思います。

手順

今回は EC2 にインストールした MySQL から RDS に移行したいと思います。
実施した手順としては以下です。

1. RDS パラメータグループ作成
2. RDS インスタンス作成
3. EC2 レプリケーション事前準備
4. EC2 mysqldump エクスポート
5. RDS mysqldump インポート
6. EC2 → RDS レプリケーション構築
7. アプリケーション向き先変更
8. EC2 → RDS レプリケーション解除

では早速構築していきます。

続きを読む

Apacheで403 Forbiddenが表示された時のチェックポイント5選

エンジニアの阿久津です。
今回はApacheの403 Forbiddenが表示された時のチェックポイントについて記事にしたいと思います。

環境

  • Vagrant 1.9.5
  • CentOS Linux release 7.1.1503 (Core)
  • Apache 2.4.6

前提

  • 設定ファイル
     /etc/httpd/conf/httpd.conf

  • DocumentRoot
     /var/hoge

  • テストページ
     /var/hoge/index.html

事象

テストページを表示しようとすると403 Forbiddenが表示される。

Forbidden

続きを読む

AWS Route53の「マルチバリュー応答」試してみました

はじめに

こんにちは。エンジニアの西脇です。
2016年6月より AWS Route53にてマルチバリュー応答ができるようになりました。

Amazon Route 53 announces support for multivalue answers in response to DNS queries

できるようになってからかなり日が経ってしまいましたが、少し試してみたのでその記録となります。

このニュースの何が驚きだったかというと、

  • これまでも、Route53ではバリュー(Aレコード)に複数登録することで、DNSラウンドロビンは利用可能であった。
      ※ここでは、「DNSラウンドロビン」という言葉に集約しますが、「Routing Policy」次第で色々な機能があります。

  • マルチバリュー応答の機能により、バリュー(Aレコード)の登録IPの一つ一つに対して、「Routing Policy」を設定できるようになった。

この設定の組み合わせにより、ELBなどの導入がコスト面や設計の面でできない場合にでも、Route53を利用してある程度柔軟に負荷分散(限定的な)ができるようになりました。

では、マルチバリュー応答を試していきましょう。

続きを読む

goofys インストールと s3fs との速度検証について

こんにちは。インフラエンジニアの綿引です。

本日は goofys という AWS S3 マウント用ソリューションの
インストールについて記載しようと思います。

goofysとは

goofys とはサーバから S3 バケットをファイルシステムのようにマウントして、
OS上からディレクトリの様に使用できるソリューションです。

スクリーンショット-2017-11-15-19.52.53

S3 の使用方法としては、
1. 静的ウェブサイトホスティング機能を有効にして S3 側でホスティングを行う
2. ログなどを格納する (aws cli などを用いて)
といったものが一般的だと思います。

ただ今回の goofys を用いると OS側からマウントができるので、
Linux の「cp」 コマンドや 「ls」 コマンドが使用可能となり、使い方の幅が広がります。

同様の機能を持つソリューションの一つに s3fs というものもあり、
私も今までこちらを使っていたのですがいかんせん遅い。。

最後に goofys と s3fs での簡単な速度検証も行ったので、
是非参考にして頂けたらと思います。

続きを読む

ウエディングパーク完全HTTPSプロジェクトを通じた、完全HTTPS化(常時SSL/TLS化)のススメ

こんにちは。エンジニアの西脇です。今年4月ウエディングパークはサイトを一部HTTPSから完全HTTPSに移行致しました。移行したことによって、より安心してユーザにもサイトをご利用頂けるようになっております。

完全HTTPS化(常時SSL/TLS化)プロジェクトを実施した4月よりもますます常時SSL化はwebサービスには必須になってきておりますゆえ、その必要性と必要作業について書きたいと思います。

完全HTTPS化(常時SSL/TLS化)が必要な理由

完全HTTPS化(常時SSL/TLS化)はなぜ必要なのでしょうか、弊社では主に以下のように考えました。

続きを読む