やってみよう!AWSでWEBサーバー環境構築(Lambda|API Gateway|シリーズ第4回)

こんにちは、岩橋です。

やってみよう!AWSでWEBサーバー環境構築、久しぶりの続編です。
第4回は「AWS Lambda」「Amazon API Gateway」を使ったサーバーレスな画像リサイズAPIをクラウド上に構築して見たいと思います。

アーキテクチャ・設計概要

今回は以下のようなアーキテクチャで、Clientが指定した任意のサイズの画像を返却するAPIを構築していきます。
スクリーンショット 2018-03-23 14.53.29
続きを読む

新卒2年目になるわたしがコードレビューで指摘された3つのこと

こんにちは、もうすぐ新卒入社して2年目になる高嶋(@__1016t)です。
わたしはコードレビューで、基本的なコードの書き方やPHPでつかえる便利機能など、たくさん勉強してきました。
今回はその一部をまとめてみました。

1. インデントをそろえる

インデントとは?

ソースコードの見た目を整えてくれるもので、
ifやforなど波カッコ{}で囲まれるブロック内の各行をtabキーやスペースで字下げすることをいいます。

続きを読む

古いバージョンの MySQL を yum でインストールをする

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

MySQL の特定のバージョンをインストールしたい!
だけど yum でさくっとインストールしようとしたら、マイナーバージョンが上がっていて同じにならない。。
なんてことよくありますよね。そうです。先週の私です。

そこで今回は古いバージョンの MySQL を yum インストールする手順を記載したいと思います。

手順

1. 依存関係解決のために、最新のリポジトリを追加する

まずは最新のリポジトリをインストールしましょう。

続きを読む

PHP_CodeSniffer+GitHub+CircleCIでコードレビューの自動化

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

今日は、PHP_CodeSniffer+GitHub+CircleCIを使って、PHPのコードレビュー(コーディングルールの徹底)を一部自動化したことについて書きたいと思います。

目次

  • 興味を持った背景
  • 今回やったこと
  • 利用ツールについて
  • 実装の流れ
  • ハマったところ
  • まとめ

興味を持った背景

開発が進むにつれて、他の人が書いたコードと自分が書いたコードで、統一感を保つのが難しくなってきたな、という実感があったのとコーディングルールにあっていないコードを自動で見つけられたら便利だよね、と同僚と話す機会があったので試してみました。その他にも、下記のようなメリットがあるのではないかと考えました。

続きを読む

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

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

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

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

取り組んだテーマ

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

続きを読む

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

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

チームに課題が出て来た

私の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アドオンを開発し公開しましたので紹介します!ターゲットユーザが少ないと思うので、かなりニッチなアドオンです笑

続きを読む