タグ

ブックマーク / developers.cyberagent.co.jp (8)

  • 1日に15回本番デプロイを実現するトランクベース開発のコツ | CyberAgent Developers Blog

    株式会社サイバーエージェントでバックエンドエンジニアをしている江頭です。 今回、私たちのチームにトランクベース開発という手法を取り入れることによって、デリバリーの速度と開発効率が上がり1日に多いときで15回以上番デプロイができました。 この記事では、トランクベース開発とはどのような手法なのかご説明したあとに、実際に導入してわかったことをご紹介したいと思います。 トランクベース開発とは トランクベース開発とは、ソースコードのバージョン管理手法です。現在一般的な手法であるGitflowでは、機能毎にブランチを作成し 1つの機能実装が完了するまでそのブランチで作業し、コードレビュー完了後に各役割ごとに存在するブランチへマージします。 Gitflowでは1つのブランチへ長時間にわたり変更を加えるため、次のような課題があります。 メインブランチへのマージの際に差分が多くコンフリクトが発生する可能性

    1日に15回本番デプロイを実現するトランクベース開発のコツ | CyberAgent Developers Blog
  • AWSのAZ(アベイラビリティーゾーン)とは?AZ障害が起きたときどうすればよいのか

    アドテク部の黒崎( @kuro_m88 )です。 2019/08/23にAWSの東京リージョンで特定のAZ内で大きめの障害がありました。 私が開発しているプロダクトもAWSの東京リージョンを利用していて、常時数百インスタンスが稼働しているため、今回の障害の影響範囲に含まれていました。 何が起きたのか? AWSから公式発表が出ています。 東京リージョン (AP-NORTHEAST-1) で発生した Amazon EC2 と Amazon EBS の事象概要 データセンタ内の冷却の障害が原因で一部のハードウェアホストが過熱し電源が失われてしまったようです。これにより影響を受けたハードウェアホスト上で稼働していたEC2インスタンスやEBSボリュームは電源が失われているため、外部から見ると突然応答がなくなったように見えました。 担当サービスでも公式発表と同じくらいの時刻にELBやその配下のサーバ

    AWSのAZ(アベイラビリティーゾーン)とは?AZ障害が起きたときどうすればよいのか
    operando
    operando 2019/09/07
  • 「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018 | CyberAgent Developers Blog

    (2019/04 追記 現在メディア管轄のAWSアカウントでは、IAMユーザーの管理に、Permissions Boundaries を活用しています。) メディア事業で、AWSGCPといったパブリッククラウド関連の業務を担当しているインフラエンジニアの柿島大貴です。前回、ホンネテレビの負荷対策プロマネのホンネ を書いてから半年ぶりの投稿となります。 日、チームメンバーの東とAWS Summit Tokyo 2018で、「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み というタイトルで発表をさせていただきました。発表資料は以下となります。 今回、2016年にアドベントカレンダーの記事として公開した以下の記事がきっかけで登壇のお話をいただきました。 「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み 発表の中でも紹介していますが、このブログの公開後、一度この

    「これ危ない設定じゃないでしょうか」とヒアリングするための仕組み @AWS Summit Tokyo 2018 | CyberAgent Developers Blog
  • イマイチ可愛くない…を可愛い!に変えるイラスト3つのポイント | CyberAgent Developers Blog

    『アメーバピグ』デザイナーがリレー形式でお届けするシリーズ。毎月数百点のイラストをリリースしている『アメーバピグ』では、“クオリティを担保しつついかに早くイラストを仕上げるか”がポイントとなってきます。 そんな開発現場で培われたノウハウを、実例を元にご紹介していきます! こんにちは。アメーバピグ デザイナーの坂です? アメーバピグのイラストレーションについてご紹介するシリーズの第4回目。 今回は“ピグらしい可愛さ”について紐解いて書いていきたいと思います。 今年でなんとサービス8周年を迎え、今も多くのユーザーに愛されるアメーバピグ。 愛され続ける理由の1つは何と言ってもピグらしい可愛いイラストだと思います。 でも、“ピグらしい可愛さ”って何でしょうか? ? 突然ですが、上の2頭のライオンのどちらが可愛いと感じましたか? どちらも可愛いのですが、 右の方がなんだか可愛い? ?と感じた人が

    イマイチ可愛くない…を可愛い!に変えるイラスト3つのポイント | CyberAgent Developers Blog
    operando
    operando 2017/09/03
  • 「1年前のAWAでは実現できなかった」音楽ストリーミングサービス「AWA」の「音楽認識機能」とは?

    2015年5月にサービスの提供を開始し、配信楽曲数は4,000万曲を超える定額制音楽ストリーミングサービス「AWA」 先日「AWA」では、気になる音楽に向けてスマートフォンをかざすだけで音楽の波形を認識し、数秒でアーティストと楽曲を特定することができる新機能「音楽認識機能」をリリースしました。 (参考:「音楽認識機能」説明動画) Developers Blogでは、この「音楽認識機能」発案者であり「AWA」担当Androidエンジニアの沖と、iOSエンジニアの小梛にインタビュー。 AWAならではの「音楽認識機能」の特長や開発上の工夫、苦労した点など詳しく話を聞きました。 沖 友一 (右) 「AWA」 Androidエンジニア。2014年サイバーエージェント中途入社。 入社後はグループ会社のサムザップでゲーム開発に携わった後、2015年2月にAWA株式会社に出向し、現職。 小梛 直人 (

    「1年前のAWAでは実現できなかった」音楽ストリーミングサービス「AWA」の「音楽認識機能」とは?
    operando
    operando 2017/07/22
    すげー
  • try! Swift NYC レポート | CyberAgent Developers Blog

    初めまして!AmebaでAndroid/iOS開発している劉と申します try! SwiftというiOS Swift言語のカンファレンスがニューヨークで開催され、世界から約100人以上のiOSエンジニアが参加しました。今回はその様子と感想をお届けします。 What’s try! Swift try! Swiftはプログラミング言語Swiftに関するコニュニティ主催のカンファレンスであり、世界中のSwiftデベロッパーが一堂に会し、Swfitに関する知見を共有するイベントです。 第一回目は東京(弊社)で開催され、それが世界に広がり、今回ニューヨークで開かれることになりました。今後も世界中で行われる予定です。 What’s New in try! Swift NYC まず参加して驚いたのは東京の第一回目と違い、女性エンジニアが多いことでした。参加者だけではなくて、スピーカーも女性が大半でした。

    try! Swift NYC レポート | CyberAgent Developers Blog
  • 位置情報を使った「すれ違い」機能の実装 [server] | CyberAgent Developers Blog

    CROSS MEというアプリのサーバーサイドを担当している川田です。 iOSの記事の続編的立ち位置で書かせていただきます。 サービス概要 CROSS MEは、すれ違いを恋のきっかけにしてもらうためのカップリングサービスです。 このアプリでは、すれ違いがサービスのキモなので、極力ユーザーにストレスのないすれ違い体験をしていただけるように設計しています。 記事では、CROSS MEのメイン機能のすれ違い機能の概要を紹介させていただきます。 CROSS MEにおける「すれ違い」の定義 まずはCROSS MEにおける「すれ違い」の定義を説明します。 CROSS MEではすれ違い機能を実現するためにGPSを採用しています。 一般的にすれ違いと聞くと、2ユーザー間の、時間軸に連続的な位置の情報を使って、一定距離の幅を持たせたときにぶつかった場所をすれ違ったポイントとすることを想像します。 一般的にす

    位置情報を使った「すれ違い」機能の実装 [server] | CyberAgent Developers Blog
    operando
    operando 2016/12/18
    なるほどねー興味深い
  • 位置情報を使った「すれ違い」機能の実装 [iOS]

    すれ違いを恋のきっかけにするアプリ「CROSS ME」の iOSクライアントを担当している松尾です。 CROSS ME は、街ですれ違った異性に「いいね」を送り、相手が「ありがとう」を返してくれることでマッチングし、メッセージを交換できるようになるアプリです。 すれ違いを判定するためにデバイスの位置情報をサーバに送信し、サーバ側の判定ロジックで処理しています。アプリが起動してない状態でも、場所を移動することで位置情報が送られるようになっています。今回はサーバ側のロジックは割愛させていただき、iOSクライアント側について書かせていただきます。 アプリの状態ごとの位置情報取得方法 まず、アプリの状態によって位置情報を取得する方法や精度が変わってきます。アプリの状態の種類については、下記でまとめてくださっていたので、参考にさせていただきます。 iOSアプリの状態遷移とライフサイクル フォアグラウ

    位置情報を使った「すれ違い」機能の実装 [iOS]
  • 1