サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
engineers.weddingpark.co.jp
こんにちは。サーバーサイドエンジニアの@akane_256です。 今日は、PHP_CodeSniffer+GitHub+CircleCIを使って、PHPのコードレビュー(コーディングルールの徹底)を一部自動化したことについて書きたいと思います。 目次 興味を持った背景 今回やったこと 利用ツールについて 実装の流れ ハマったところ まとめ 興味を持った背景 開発が進むにつれて、他の人が書いたコードと自分が書いたコードで、統一感を保つのが難しくなってきたな、という実感があったのとコーディングルールにあっていないコードを自動で見つけられたら便利だよね、と同僚と話す機会があったので試してみました。その他にも、下記のようなメリットがあるのではないかと考えました。 少ない人数でコードレビュー時間を十分に取れない場合でもソースコードの品質を保てる。 もし人が増えた時でも、ソースコードの書き方に統一感を
こんにちは。サーバサイドエンジニア兼QAエンジニアの斉藤(@saik1010)です。 本日は、今年の1月9〜1月12日に開催したエンジニア職インターンシップの運営について、お話しさせて頂こうと思います。 当日の様子はWantedlyでもご覧になれますので、合わせてご確認頂ければと思います! 取り組んだテーマ 例年、対象サービスに機能追加をするというテーマ設定で行ってきましたが、少しマンネリ化してきたこともあり、今年は新しいテーマを模索していました。 そこで、弊社エンジニア・デザイナーでいくつかのチームに分かれ、社内コンペを実施してテーマを決定することに。 見事、熱戦を制したチームが考えたテーマはこちら!! 思わず式場見学にいきたくなる! とびっきりのタイアップページ(広告ページ)を考えよう! 実際に結婚式場を見学してから「企画〜開発」までを行うカリキュラムというのが大きな目玉となっています
こんにちは、SREチーム エンジニアの西脇(@yasuhiro1711)です。今日は、チーム運用改善の話をしたいと思います。これからチーム運用をしていく方々に少しでも響けばいいな、参考事例になればいいな、と思って書いておきます。ちなみに、テーマを変えて続編も書く予定ですので楽しみにしてもらえればと思います。 チームに課題が出て来た 私のSREチームはこれまでは2人と少数精鋭でした。そこに昨年全く違う背景を持つメンバーが入って来ました。(ちなみにSREチームに改名した件も近々どこかで書こうと思います。)最初は仕事のやり方を変えずにやっていたものの、仕事が増えて連携する場面が増えると、2人のときの阿吽の呼吸だけではどうしても回らなくなることが増えてきました。他にも思考のすれ違いなど幾つか課題が出始めました。項目にするとこんな感じです。 少数メンバーのため、人に依存したタスクが多かった。 チーム
こんにちは、サーバーサイドエンジニアの菅原です。 今回はJavaScriptの非同期処理について今更ながら学んでみました。昔ながらのCallback、ES6から追加されたPromise、ES7から追加されたasync await、さらにはRxJsについても調べてみました。 背景 昨今はUXの需要の高まりから非同期処理を書くことが多くなり、リアルタイム性やチャット機能、パフォーマンス改善のためにも非同期処理のコードを書くことが増えています。ただ非同期処理のJavaScriptのコードは処理が増えるごとにコールバック地獄と呼ばれる可読性が損なわれる危険性があることも事実です。 今回は以下のプログラミング条件から非同期処理について簡単なコードを用いての紹介と補足でRxJsを用いた非同期処理を紹介していきます。 実行プログラムの条件 1, 認証ユーザかチェックを行う。 2, 1が成功するとウエパち
こんにちは。サーバーサイドエンジニアの@akane_256です。 今日は、Headless Chromeを使ったブラウザテストの自動化(入門)について書きたいと思います。 目次 Headless Chromeとは? 興味を持った背景 今回やったこと 実際のソースコード まとめ Headless Chromeとは? Chrome59(2017/6月頃)から搭載された機能 ChromeをGUIなしでコマンドラインから実行できる DOMのノードを取得したり、画面キャプチャを撮ったりできる ツールと組み合わせて自動テストに使ったりする ブラウザを開いて、特定のページを開き、自分で目視確認しなくても、 あらかじめ作ったプログラムをコマンドから実行をすれば 自動でキャプチャをとったり指定の要素を取得したりすることができます。 興味を持った背景 私は普段 Ringraph という結婚指輪・婚約指輪の口コ
結婚写真を撮影できるスタジオ検索サイト「Photorait」担当エンジニアの武田(@takedajs)です。 先日、自分が担当しているPhotoraitでスタジオを探し実際に結婚写真を撮影してきました。自分が携わってるサービスをユーザとして使うのは、感慨深いですね!一つ夢が叶いました涙 さて本題です。 最近Firefoxの大きなバージョンアップ(Firefox Quantum)があり、ページ読み込み速度の大幅な改善などありましたが、その一方で最新の開発手法(以下、WebExtensions)ではないFirefoxアドオンが利用できなくなりました。僕の場合、利用していたFirefoxアドオンが全て利用不可に。。。マジか。。。 そこで今回は、最新のFirefoxでも利用できる、作業ミスを減らすFirefoxアドオンを開発し公開しましたので紹介します!ターゲットユーザが少ないと思うので、かなりニ
DBインスタンスのクラスとを赤字にしておりますが、RDS の暗号化を行うにあたって 暗号化が可能なインスタンスクラスと、そうでないインスタンスクラスが存在します。 ここを間違えてしまうと暗号化ができないのでご注意ください。 また暗号化には上記のような注意すべきポイントが幾つかあります。 例えば、暗号化は DB インスタンスの作成時のみしか有効にできないなどです。 詳細は以下の公式ページをご覧ください。 Amazon RDS リソースの暗号化 3. EC2 レプリケーション事前準備 ではレプリケーションを行うための事前準備をしていきましょう。 ここは単純に MySQL のレプリケーションを構築する方法と一緒です。 まずはレプリケーション用のユーザを作成します。 mysql> SHOW GRANTS for test@'%'; mysql> GRANT REPLICATION SLAVE, R
SREチーム エンジニアの阿久津です。 今回は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が表示される。 ①Apacheの再起動をしていない 設定ファイルを変更した場合、Apacheを再起動しないと変更が反映されません。 そのため再起動していない場合は、実施します。 ■再起動 $ sudo systemctl restart httpd.service ■リロー
上記3台のサーバをhealth check登録 AWS console > Route53 > Health checks にて登録します。 Health checksは、ローカルIPには対応していないのでご注意ください。 3台のサーバのIPを既存の「シングルバリュー」で登録 Route53にて登録します。あるレコードに対して複数のIPを設定できます。 「あるレコード」は、同じ名前では複数作成できませんでした。 digの結果は以下です。 # dig +short single_value.xxxxxxxx.net 172.25.0.111 172.25.0.112 172.25.0.113 3台が出てきていますね。 3台のサーバのIPを「マルチバリュー」で登録 続いてマルチバリューを試してみましょう。 こちらもRoute53にて登録します。あるレコードに対して、1つのIPだけ設定しますが、
こんにちは。SREチーム インフラエンジニアの綿引です。 本日は goofys という AWS S3 マウント用ソリューションの インストールについて記載しようと思います。 goofysとは goofys とはサーバから S3 バケットをファイルシステムのようにマウントして、 OS上からディレクトリの様に使用できるソリューションです。 S3 の使用方法としては、 1. 静的ウェブサイトホスティング機能を有効にして S3 側でホスティングを行う 2. ログなどを格納する (aws cli などを用いて) といったものが一般的だと思います。 ただ今回の goofys を用いると OS側からマウントができるので、 Linux の「cp」 コマンドや 「ls」 コマンドが使用可能となり、使い方の幅が広がります。 同様の機能を持つソリューションの一つに s3fs というものもあり、 私も今までこちら
初めまして。エンジニアの阿久津です。 今回は社内でDNSサーバを構築する機会がありましたのでそれを記事にしたいと思います。 概要 CentOS6にBINDをインストールし、DNSサーバ(内部向け用)を構築します。 自身のクライアントPCからDNSサーバに問い合わせて、名前解決ができるところまでがゴールになります。 環境 物理サーバ CentOS release 6.9 (Final) BIND 9.8.2 BINDインストール インストール $ sudo yum install bind 確認 以下のように表示されればインストールが完了しています。 $ yum list installed | grep bind bind.x86_64 32:9.8.2-0.62.rc1.el6_9.4 bind-libs.x86_64 32:9.8.2-0.62.rc1.el6_9.4 設定ファイル(n
こんにちは。SREチーム インフラエンジニアの綿引です。 今までMySQLの記事ばかり書いておりましたが、 今回は運用面の話でも書かせて頂こうと思っております。 結論から申し上げると、 GitLabのバックアップが原因でサーバの容量が切迫したため バックアップ世代数を変更して問題解決しました。という内容です。 何かの参考にして頂けたら嬉しいです。 1. 事象確認から原因特定まで 弊社では様々なツール類を使用しておりますが、 その中ではGitLabも一部使用しています。 ある時、そのGitLabを搭載しているサーバの 特定のパーティションの使用率が95%になっていることが分かりました。 「あっやべっ、、」 きっとその時にはこんな顔をしていたことでしょうが、 内心はこっちです。 いつでも使用率というのは怖いもので、 ストレージ容量や増加率にもよりますが95%という数字は少し焦ります。 判明した
こんにちは、岩橋聡吾です。 やってみよう!AWSでWEBサーバー環境構築、好評の第2回に続きまして、待望の第3回をやっていきたいと思います。前回までに作成したインフラ構成にKVS(Elasticache)、データベース(RDS)さらにCDN(CloudFront)を追加して、Webアプリケーションの動作環境構築の仕上げをしましょう。 RDSを設定する 一部の例外を除き、WEBサイト上では情報を整理して格納する・検索して取り出すという機能性を少なからず持っていると言っても過言ではありません。そのようなサイトにおいては必然的に何らかのデータベースサーバーを運用することになります。今日のWEBで使われるデータベースは概ね以下の4つに絞られてくるのですが、これらのDBサーバーを構築・運用する場合においては、運用時の死活監視やバックアップ、パラメータの調整やパフォーマンスチューニングなどが常に課題と
初めまして!新卒1年目エンジニアの高嶋です。 先日ウエディングパークで開催した「エンジニアLT女子会」について報告致します。 女子エンジニアが多く活躍するウエディングパークでは、定期的に女子エンジニアLTを開催し、 社内外から女子エンジニアが集まって最近気になる技術やワークスタイル等をテーマにLTを実施しています。 今回は、今後就職活動をされる学生に向けて、女子エンジニアの仕事についてアレコレを話すLT会を開催しました。 女子エンジニアだけではなく、学生も登壇OKということで、最近やっていることや自己紹介など 様々な話題で大盛況だったその様子についてレポートさせていただきます! LT会の雰囲気 会場はウエディングパークの会議室、 学生全員がLT会初参加ということで、初めは少し緊張気味。 表参道×女子会ということもあり、 軽食がこんなにフォトジェニック、そしてオーガニック…! そんな軽食を食
こんにちは,エンジニアの久保です。 先月開催された Microsoft Build 2017 では,Bash on Windows で, これまでの Ubuntu のほかに,Fedora と openSuSE のサポートが発表されました。 この機能は,2017 年秋にリリース予定の Windows 10 Fall Creators Update に含まれるようです。楽しみですね。 今回は,現在利用可能な Bash on Ubuntu on Windows について,Windows 10 Creators Update 環境で導入してみました。 Windows 10 Pro 64 bit バージョン:1703(Creators Update) OSビルド:15063.0 手順 Windows を開発者モードに変更 まずは,Windows を開発者モードに変更します。 スタートメニュー→「設定
はじめまして!システムエンジニアの谷渕です。 今日は、DRESPIC( https://drespic.net )についてお話ししようと思います。 DRESPICとは…? DRESPICは、2017年1月11日にオープンした、ウエディングドレスのクチコミサイトです。私はこのサイトの立ち上げエンジニアとして、昨年からDRESPICに関わっています。サイトを0から立ち上げるという、わくわくと不安といろいろな気持ちを抱えて、事業責任者の、「ドレス業界に革命を起こしたい!」という夢に乗っかって、一緒に叶えよう!と決意し、DRESPICをつくってきました。 DRESPICは女子チームで、年も近いことから、かわいい!と思うものも似ていて、ロゴ決定やサイトのテイストなど、チーム全員で、絶対にこれがいい!と納得できるものを集めて、全員でDRESPICサイトへの愛を深めながら、大事に大事にリリースに向けて育
はじめに こんにちは、岩橋聡吾です。 今回は私が実務で行っているデータモデリング手法(実際手法とは名ばかりですが…)を紹介いたします。 データモデリングは、ご存知の通り、その後のシステム開発や拡張スピード、またシステム自身のパフォーマンスにも深く関わってきます。ここをどのように設計するかが開発プロジェクトを進める上で大きなカギになります。 なぜレシートなのか モデリングする上で、その対象となるサービス・システムのビジネスロジックや仕様を深く理解する必要があります。レシートの背景にある「物を買う」という行為は至極身近なものであり、誰しもがそのレシートが発行されるまでの流れを経験で知っています。またレシートは、その小さな紙の中に「店舗」や「商品」など、WEBサービスで馴染みがある概念も多く含まれており、訓練をする上で非常に手頃なものです(「コンビニ」なるフレーズは掴みに使わせていただきましたw
こんにちは。インフラエンジニアの綿引です。 早速ですが、今回はMySQLのテーブル圧縮について記載したいと思います。 但し、MySQL 5.7から実装された透過性ページ圧縮でなく、 MySQL 5.1のInnoDB Plugin時代からある圧縮です! 個人で運用しているMySQLが5.6なのですが、 ストレージが逼迫して来たので、旧来の圧縮を試してみました。 MySQL 5.6以前で「ディスク容量が足りない!」という方がいらっしゃれば、 参考にして頂ければと思います。 圧縮の仕組み まずは圧縮の仕組みについて図を作ってみました。 非圧縮ページ(16KB) と記載してあるものが通常のページだとお考え下さい。 今回、実施する圧縮の仕組みとしては、 通常はこの非圧縮ページがそのままストレージに保存される所を、 圧縮ページを作成しストレージに保存することによって、 ディスクの消費量を抑えられるとい
こんにちは、岩橋聡吾です。 やってみよう!AWSでWEBサーバー環境構築、好評の第一回に続きまして、待望の第二回をやっていきたいと思います。今回は前回作成したVPCとEC2を拡張し、少しづつ耐障害性を意識した実用的な構成を作っていきます。まずはAMIを使って前回作ったEC2のコピーを作るところから始めましょう! AMIを設定する これから複数の各種サーバーを設定するに先立って、AMI (Amazon Machine Image) の設定を行いましょう。EC2インスタンスをローンチする度に同じような設定を毎回行うのは煩雑ですが、 これを使ってEC2インスタンスの設定状態をスナップショットとして保存しておくことができます。後で同じEC2が必要になった時にすぐに複製が手に入ります。それでは前回作ったEC2のAMIを作成します。 EC2インスタンスの一覧画面を表示して、複製元を選んで右クリック 設
こんにちは、岩橋聡吾です。最近のAWSは、次から次に新たなサービスを展開し、その勢いは留まることを知リません。今やITと切っても切れない関係と言っても過言ではないでしょう。 そこでこの度、複数回に渡ってAWS上でのWebアプリ向けのサーバー環境構築について記事にしてみたいと思います。 今回構築するサーバー環境は、 ◉VPC(Virtual Private Cloud:土地全体)の構築 ◉AZ(Availability Zone:建造物エリア)、サブネット(:建造物を設置するための基礎)の構築 ◉WEBサーバーの設置(EC2) ◉ロードバランサー(ELB:玄関)の設置 ◉ステップサーバー(EC2:裏口玄関)の設置 ◉DNSの設定(Route53:住所登録) ◉データベースの設置(RDS) ◉KVSの設置(ElastiCache) …etc を想定しており、最終的には以下のようなイメージになり
こんにちは。サーバーサイドエンジニアの武田(@takedajs)です。 会社の誕生日プレゼントで頂いたプッシュアップバーと腹筋ローラーを使って筋力アップに励んでいます! 筋トレは健康に良いし、ストレス発散にもなりますので、運動不足になりがちなエンジニアの方にオススメです! さて本題です。 1日中オフィスで仕事していることが多いので、気分転換も兼ねてランチをできるだけ外で食べるようにしています。 そこで今回は、弊社がある表参道で普段僕が行っているランチのお店を5件紹介します! お店の条件 オフィスから徒歩5~10分以内で着くお店に行くようにしています。 12時にオフィスを出るとお店が混んでランチ難民になってしまうので、11:50にオフィスを出て12時までにお店に着くようにしています。 お店の紹介 ディップマハル 青山店 (カレー) いつもカレー2種類とタンドリーチキンがついたスペシャルセット
Redis4.0のUNLINKを使ってみる こんにちは、サーバーサイドエンジニアの菅原です。 今回は今更ながらRedis4系から追加されたUNLINKコマンドについて調べて検証してみました。 背景 Webアプリケーションのパフォーマンスを向上しようとするときRedisは強力なツールです。 ですがRedisを運用する注意点としてRedisの容量の懸念が見込まれます。 キーがどんどん積み上がるとRedisの容量を大きく圧迫し、そうなるとRedisはキーの検索に時間を要するのとキーを削除するときもサーバーに負荷がかかりサーバーダウンしてしまうことも考えられます。 setした時に設定したexpireが切れたキーも完全に消えることは確証されなく、 ゴミのデータが残る場合があるのでDELコマンドで定期的に掃除が必要になります。 しかしRedis3までのDELコマンドは一度に指定されたキーを全てアクセス
こんにちは、エンジニアの榎本です。 チーム開発において、ファイル数やクラスが増えてくると、新しいメンバーに説明をする際など、ドキュメントがないと説明が難しくなってくることがあります しかし実際のところ、ドキュメントを作成する工数を確保できず、せっかく作ったドキュメントがあってもどんどん陳腐化している現場も多いのではないでしょうか そのため、今回は phpDocumentor を用いて PHP のコードから自動でドキュメントを生成する方法を紹介したいと思います 作業環境 CentOS 7.2 PHP 7.0.12 Composer 1.2.2 phpDocumentor のインストール まずは新規にディレクトリを作成し、Composer で phpDocumentor をインストールします $ mkdir dev $ cd dev $ composer require --dev phpdo
はじめまして。メディア開発本部エンジニアの久保です。 2016年8月に公開された、Windows 10 Anniversary Update では Bash on Ubuntu on Windows の提供が始まりました。 Windows でもネイティブな Bash 環境が整ったわけですが、まだまだ Windows 7 や 8.1 を使われている方もいるかと思います(私もその一人です!)。 そんな Windows 8.1 以前の環境でも GNU コマンドが使用したい!と思い、Windows に Unix ライクな環境を構築してみました。 MSYS2 とは MSYS2(Minimal SYStem2) は Windows 上で Unix ライクなシェル環境を提供するもので、 ターミナルに mintty シェルに Bash パッケージマネージャに pacman で構成されています。 Windo
はじめまして。メディア開発本部の綿引です。 本日は個人的に前から気になっていたMySQL 5.7のマルチソースレプリケーションについて検証したいと思います。 マルチソースレプリケーションとは1台のスレーブが複数のマスタを持つことができる仕組みです。 これまでのMySQLのレプリケーションはマスタとスレーブの関係が1:Nしか出来ませんでしたが、 この新機能を使用すればN:1が可能になります。 今まで『こんなにスレーブいらないんだけど冗長化は必須だよな。。』と思ったことがある方は興味を持たれるかと。 MySQL 5.7で他にも追加された機能はありますが、マルチソースレプリケーションはその中でも一番目を引く機能ではないかと個人的には思っております。 そして今回構築に伴い、MySQLだけでなくスレーブ側を 互換性のある”MariaDB”にしてみるといったことも出来ればと思いますので、 早速構築を開
初めまして。エンジニア新卒2年目の武田です。 趣味でGo言語を勉強しています。Gopher君、可愛いですよね!! 好き過ぎて、Gopher君ステッカーが日本ではなかなか手に入らなかったので、海外サイト(Unixstickers)で購入しちゃいました笑 さて、本題です。 今回は少し前に話題になったvalyala/fasthttpライブラリを触ってみました。 valyla/fasthttpとは golangでHTTP通信を行うためのライブラリです。 golangは標準パッケージにnet/httpがあるのですが、fasthttpを代わりに利用すると速度がかなり早くなるみたいです。公式のベンチマークテストだと、10倍高い性能が出たとか。 valyla/fasthttp 検証用コード 検証用にnet/httpとfasthttpのそれぞれで、1000万回数値をカウントしていく簡単なコードを書きました。
次のページ
このページを最初にブックマークしてみませんか?
『Wedding Park CREATORS Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く