サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
developers.cyberagent.co.jp
こんにちは!CTO統括室の黒崎(@kur_m88)です。2022年度のサイバーエージェントには新卒のエンジニアが約90名入社してくれました。 アフターコロナー1期生の新入社員へ、代表藤田からのメッセージ 2014年までエンジニアブログを遡ると、こんな企画がありました。この企画を8年ぶりに復活させてみようと思います。 #e100q 新人エンジニアにお勧めする一冊 思いつきで企画してみたので100人に聞く時間はありませんでしたが、約40名から返事をもらえました。 社内でアンケートを募集した様子 おすすめする一冊の被りが多ければランキング形式にしようと思っていたのですが、あまり被りがありませんでした。 ちょっと分量が多いですがせっかくなので全部紹介しようと思います。 先輩エンジニア達から新人エンジニアに向けた言葉ももらったので、最後に載せてあります。ぜひ最後までご覧ください! 新人エンジニアにお
【無料公開】社内研修書籍『Unity パフォーマンスチューニングバイブル』のPDF公開&オープンソース化しました! ゲーム・エンターテイメント事業部では、社内研修用の書籍『Unity パフォーマンスチューニングバイブル』のPDFを公開し、同時にオープンソース化しました。 本記事ではこの書籍の概要とダウンロード方法、オープンソース化とその意図についてご紹介します。 Unity Performance Tuning Bible はじめに モバイルゲーム開発においてパフォーマンスチューニングは重要ですが、その一方で、必要な知識が幅広く、体系的な学習が難しいという問題があります。 ゲーム・エンターテイメント事業部ではこのような課題感から、パフォーマンスチューニングに関する知識を体系的にまとめた書籍として、『Unity パフォーマンスチューニングバイブル』を製作し、社内の Unity エンジニアの方
技術本部 サービスリライアビリティグループ(SRG)の長谷川 @rarirureluis です👳 #SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。 はじめに Apple M1 で Arm という単語をよく耳にし、そしてその性能に驚いた方も多いと思います。Apple M1 が搭載された Mac のベンチマークはこちら そして Amazon EC2(以下:EC2)にも Arm が搭載されたインスタンスがあります。 https://aws.amazon.com/jp/ec2/graviton/ 今回はとあるサービスの全開発環境の EC2 インスタンスを m5.large から t4g.medium へ移行したら幸せになれたので、この記事を
初めまして。サイバーエージェント技術本部インフラエンジニアの@prog893です。今回は「AWA」という音楽ストリーミングサービスのMongoDBクラスタの復旧時間を短縮するために行ったインフラの改善について紹介したいと思います。復旧時間が12時間から55分まで短縮できたのですが、皆さんの参考になれば幸いです。(※注意:今回紹介する施策はAWAのインフラ構成や設定のものであり、他の環境で同じような効果が得られるとは限りません) AWAのデータストア構成 まず、現在のデータストア構成について軽く説明します。こちらの図でAPIサーバ,MongoDBに関連する構成の概要を示します: AWAのデータストア構成概要 メインのデータストアとしてはMongoDBを使っており、MongoDBのインスタンスはAWSで管理しています。APIサーバ、MongoDBのインスタンスがそれぞれのプライベートサブネット
こんにちは。サイバーエージェント AI 事業本部 Dynalyst にて、ソフトウェアエンジニアをしている豊田(@helloyuki_)です。また、Rust 領域における Next Experts も務めています。 先日、CA BASE NEXT という CyberAgent が開催する20代が中心のカンファレンス[^1]に、私も一応20代ということで登壇させていただきました。 内容は Web アプリケーション開発を Rust で行った体験談を語るというものでした。実際に2018年〜2020年頃に Rust をとあるチームのアプリケーションに導入し、引き継ぎのために何をしたかという内容をお話させていただきました。 セッション自体は25分しかなく、またコード例をスライドからかなり削るなど、CG スタジオ仕様への対応が必要でした。というわけで、十分に伝えたいことを盛り込めたわけではありませんで
こんにちは。AI事業本部の青山(@amsy810)です。 2020年版「おうちKubernetesインターン」を実施したため、事後レポートをブログにまとめたいと思います。 コロナ禍のため、機材一式を学生とメンター宅に郵送し、フルリモートでの実施となりました。 またそれに合わせて3 Daysだったものを7 Daysに伸ばして、初日と最終日以外は夕会だけをコアタイムとしたフレックス性で実施しています。 メンターは私以外に、徳田、川部、漆田、源波、中西、岩立、長谷川が参加しています。 概要 今回のおうちKubernetesは Raspberry Pi 4 の 8GB モデル 3台 を使ってクラスタを構成しました。 単純な仕様だと、12 core + 24 GB Memory のクラスタです。もはやノートパソコンに近しい性能ですね。 また、今回 Raspberry Pi 4 になってから最低 2.
ABEMA で Web フロントデベロッパーとして活動している 宮代 @3846masa です。CyberAgent Advent Calendar 2021 4 日目は、Web パフォーマンス改善のコンテストについてお話します。 TL;DR Web パフォーマンス改善コンテスト “Web Speed Hackathon 2021 mini” を開催します! 改善する対象は https://web-speed-hackathon-2021.herokuapp.com/ です オンライン開催で、12 月 4 日から 1 月 3 日までの 1 ヶ月間、好きなときに誰でも参加できます 記事の後半は、課題となる「重たい短文投稿サイト」を作るまでの開催記です はじめに CyberAgent では、Web パフォーマンス改善を競うコンテスト “Web Speed Hackathon 2020” を昨年
アドテク本部の黒崎( @kuro_m88 )です。 2019/08/23にAWSの東京リージョンで特定のAZ内で大きめの障害がありました。 私が開発しているプロダクトもAWSの東京リージョンを利用していて、常時数百インスタンスが稼働しているため、今回の障害の影響範囲に含まれていました。 何が起きたのか? AWSから公式発表が出ています。 東京リージョン (AP-NORTHEAST-1) で発生した Amazon EC2 と Amazon EBS の事象概要 データセンタ内の冷却の障害が原因で一部のハードウェアホストが過熱し電源が失われてしまったようです。これにより影響を受けたハードウェアホスト上で稼働していたEC2インスタンスやEBSボリュームは電源が失われているため、外部から見ると突然応答がなくなったように見えました。 担当サービスでも公式発表と同じくらいの時刻にELBやその配下のサーバ
こんにちは。サイバーエージェント デザイナーの渡辺です。 今回はスピード&クオリティをモットーに制作した脳トレパズル『monster block』のキャラクターデザインについてご紹介したいと思います。 『monster block』とは? 新感覚の脳トレパズル。宇宙に散らばっている全てのブロックを、1球のボールで消すことが出来たらステージクリアです。クリアする毎に1体のモンスターに出会え、様々な難易度のステージを全てクリアすると100体以上のモンスターに出会えます。 [App Store] [Google Play] 『monster block』の開発チームはデザイナー1人、エンジニア1人、プロデューサー1人の3名体制。スピード&クオリティ重視の開発ということで、アプリ1本を1.5か月くらいでリリースできるのが理想だと話し合っていました。 1.5か月で全て完成させてリリースをするためには
本記事は CyberAgent Advent Calendar 2022 23日目の記事です。 「節約は固定費から。」 こんにちは、しゅん(@MxShun)です。 今年11月に中途入社、AI事業本部オペレーションテクノロジーに仲間入りしました。 今回は、年間にして 1,200 万円削減 した Amazon S3 のコストカット全ステップ を紹介します。 目次 オペレーションテクノロジー AWSコストの見直し S3コスト対象 S3コスト分析 1. ストレージ容量の削減 2. ストレージクラスの見直し まとめ オペレーションテクノロジー 私がジョインしたオペレーションテクノロジーは、 サイバーエージェント 連結売上高の53%(2022年通期決算時点)を占めるインターネット広告事業売上を最大化する システム開発 大規模インターネット広告運用を可能にする 社内システム開発 の役割を担っています。
「Ameba」は2020年に16周年を迎える長寿サービスです。 プロダクトチームはPC / SP / iOS / Androidと4種類のデバイスに対応しており、15年という歳月を経た結果、管理の追いつかない画面、レガシーなコード等に苛まれるようになってきました。 「Ameba」開発チームではそのような、過去の遺物に開発リソースを割かれる状態を「負債」と呼び、その解消のために日々戦っています。 さらに、「Ameba」には現在10名ほどのデザイナーが携わっており、それぞれが異なる施策や領域を対応していることも相まって、施策を経る毎に、「Ameba」内でGUIに関する、共通の意識や見解を持つことができなくなっていました。 この状態を打開し、「Ameba」プロダクト再興の礎を構築しようと、今年度からデザインシステムの開発をスタートしました。 今回はそのデザインシステムの中でも真っ先に取り組んだ要
サイバーエージェントのGitHub CopilotのAnalyticsデータを公開!利用開始から約3ヶ月でエンジニアの生産性は向上したのか? CTO統括室の黒崎(@kuro_m88)です。サイバーエージェントでは2023年4月下旬より、GitHub Copilotの導入を開始しました。 「実際のところどうなの?」という情報がまだまだ少ないと思われるので、本記事では導入から約3ヶ月が経過した現在の利用状況を公開します。 GitHub Copilotの利用状況 2023年7月現在、サイバーエージェントでは500名以上のエンジニアがGitHub Copilotを利用しています。 追記 7/20: そしてこの数字はGitHubによると現時点で日本で一番多いそうです🎉 サイバーエージェントではGitHub Enterpriseが導入されており、事業部や事業単位でOrganizationを保持してお
現在ピグ事業部の主力サービスである「ピグパーティ」でサーバーサイドエンジニアをしております新卒2年目の川口です。普段はSRE関連の業務を主とし、サーバーサイドの業務効率改善や、システムの運用保守、時には機能の開発や修正なども担当しております。 ピグパーティは、2015年にiOS/Androidでリリースされたアバターコミュニティアプリで、サーバーサイドはNode.js(JavaScript)+MongoDBを採用しています。 ピグパーティではこれまでにプライベートクラウドからGCPへの移設、Kubernetes(GKE)の採用など、技術的負債の排除や新技術の採用などを積極的に行ってまいりました。今回は、サーバーサイド開発時の大きなボトルネックになっていた、型がわからないことに起因する複数の問題を解決するために、TypeScriptを導入することにしました。その結果、システム規模に対して少な
GUIにおけるアイコンとは、プロダクトを触れるユーザーに対して、機能や動作を抽象化してシンプルかつ直感的に伝達させる、文字情報に頼らない記号です。 基本的に、記号が内包する意味には受け手によって解釈の余地があるような状態であってはなりません。しかし、ユーザーに対して、シンプルに正しい意味を伝えることが出来るという前提さえ踏まえれば、それを成すスタイリングは作り手やプロダクトによって様々な表現が可能な余地が残されています。 つまり、アイコンは、記号としての機能性に加えて、装飾としての役割も抱く、プロダクトGUIにおけるスタイリング定義の標本となり得るということです。 前段 「Ameba」について 「Amebaらしい」アイコンとは何か 塗りと線のルール 「Amebaらしい」形状 「Ameba Sans」の形状分析と曲率定義 線の太さのルール 命名規則を決める Library化 リプレイス まと
みなさんこんにちは、サイバーエージェントでフロントエンドを中心に開発しています原(@herablog)です。 アメブロでは、2016年9月にフロントエンドをJavaベースのアプリから、node.js・Reactベースのアプリへとシステムの移行をおこないました。本記事では、その移行へといたる経緯やゴール、システム設計、その結果についてお伝えします。 リリース直後に気づいているツワモノな方もいらっしゃいました。 アメブロのSP版がReactのSSRでフルリニューアルしたのを観測した — hr (@hrloca) 2016年9月1日 システム移行へといたる経緯 2004年から始まり、日本国内で最大規模のブログサービスとなったアメブロは、システムの肥大化や多数の関係者が存在したことによるモジュール・導線の急増などの理由により、ページ表示スピードが遅くなり、ページビュー数にも明らかに影響を与えるよう
サイバーエージェントでは今年、CA PoCMOCK CONTEST 2021というコンテストが開催されました。PoCMOCKは造語でそれぞれPoC(検証)・MOCK(モックアップ)を表し、エンジニア・クリエイターのアイディアやスキルを駆使して技術的・品質的・社会的な何かしらの課題を解決したプロダクトの一部を制作し披露する場になりました。 私自身は運営チームとしてコンテストに関わっていたのですが、社員賞を決めるための投票システムを作るためにクリエイター・PMとともに参加することにしました。 投票システムの前提として、2日間の開発期間で作りきること、また作ったプロダクトはその後すぐに社員が利用できる状態であることが求められていました。 本記事ではその制作を通じて発見できたことや工夫したところを紹介します。 NOTE: 本記事の内容はアプリケーション制作時(2021年8月)の情報に基づいています
You can read this post in English. みなさんこんにちは、FRESH! でフロントエンドの開発している鈴木(sutiwo)です。 前回は、FRESH!におけるPCブラウザのFlash脱却という HLS の Web プレイヤーについて記事を書きました。 今回はスマートフォン・ PC でのブラウザに関するパフォーマンス改善の取り組みとその結果についてお知らせします。 まずクライアントサイドのパフォーマンス改善を行うにあたり、弊社の Web Initiative Center* から 1000ch 氏に加わっていただきどのようなことを目標とするか議論しました。 * Web プロダクトの品質向上とWeb技術を使ったチャレンジを目的に設立された弊社の組織 議論の様子 議論を行った後、今回の改善で以下のことに取り組むことが決まりました。 Service Worker で
メディア統括本部・技術横断室の谷です。組織横断の活動しながら、AmebaやAmebaマンガという事業に関わっています。実務としては、コード実装をメインに、UI設計やUX設計、最近ではユーザーインタビュー等のリサーチ業務をおこなっています。 この記事では私が立ち上げから2年くらいかけて関わってきたAmebaのデザインシステムについて、その全貌を解説します。 そして本日からデザインシステム「Spindle」のサイトを試験的に一般公開します。詳しくは記事後半にて。 まず前段のお話として、Amebaという事業について説明させてください。 Ameba事業の概要 Amebaはブログサービスであるアメーバブログを主としたサイバーエージェントのメディア事業の1つです。 多くの人はおそらく「アメブロ」や「ピグ」の印象が強いですが、関連事業やサービスとしてはマンガや占い、ニュースなど色々と展開をしています。
EC2 Auto-ScalingでECS組んでますか?エラーレート高いですか?救ってあげてもいいですか? サイバーエージェント技術本部インフラエンジニアの@prog893です。今回も「AWA」という音楽ストリーミングサービスのインフラの改善について紹介したいと思います。前回の記事では、データベースの復旧時間が12時間から55分まで短縮できた話を紹介しましたが、今回は楽曲ダウンロード及びストリーミングレイヤーでのエラー率を大幅に改善したことについて述べたいと思います。 楽曲ダウンロード及びストリーミングの構成 まず、楽曲ダウンロード及びストリーミングの構成概要について紹介します。 音楽ダウンロード及びストリーミングの構成概要 楽曲配信サーバ(以降Track Proxy)はコンテナとして実行しAWS Elastic Container Service(ECS)で運用しており、ECSのバックエン
こんにちは。OPENREC事業部で基盤系のエンジニアをしている石田です。 今回はOPENREC.tvに導入されているバッチ処理の基盤をご紹介したいと思います。 この記事では以下のことに関して話そうと思います。 OPENREC.tvでのバッチ処理内容 従来のバッチ処理基盤の課題 新バッチ処理導入のモチベーション 新バッチのインフラ構成 実際に稼働してみて 本番稼働をして明らかになった課題 まとめ OPENREC.tvでのバッチ処理 OPENREC.tvでは、主に以下の処理をバッチとして実行しています。 視聴時間の計測結果の集計 ランキングの集計 検索用のデータの作成 おすすめ動画の作成 従来のバッチ処理基盤の課題 初期のバッチ処理は、1台のEC2で稼働していました。それゆえ、以下の問題を抱えておりました。 インスタンス1台で稼働していることからスケーラビリティが皆無 SPOFなので万一ハード
技術本部 サービスリライアビリティグループ(SRG)の長谷川 @rarirureluis です。 #SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。 また Amazon Aurora MySQL(以下:Aurora MySQL)の話です。何でこんなに Aurora MySQL に関する記事ばっか書いてるのか僕も分かりません。 前回の Aurora MySQL のアップグレード方法のベストプラクティスはこちらです。 RDS Graviton2 に少ないリスクで切り替える方法を考えてみる【アップグレード編】 | CyberAgent Developers Blog 今回はバックアップについてです。 そのクラスター、間違ったクエリ流したときに
本記事は、CyberAgent Advent Calendar 2022 19日目の記事です。 目次 はじめに 問題設定 協調フィルタリングのための線形モデル iALS EASE 関連する非線形モデル 実務活用 おわりに はじめに メディア DSC所属の機械学習エンジニアで、タップルの推薦システムを担当している橋爪 (@runnlp)です。 最近、推薦システムを触り始めました。推薦手法は、協調フィルタリング、コンテンツベース、ハイブリッドなど様々ですが、今回は昔から今に至るまで長く使われている協調フィルタリングについてです。 協調フィルタリングではDeep系のモデルがたくさん出る中で、RecSys2022で発表された論文では10年以上前から使用されている線形モデル(iALS)がDeep系のモデルに匹敵する結果であると報告されており興味深いです。また、推薦システムを開発するにあたって、問題設
問題点はIsomorphic実装難易度です。では、アメブロのIsomorphicの実装方法と実装する際にあった問題及びその解決策をお伝えします。 ちなみに、Michael Jackson氏はIsomorphic JavaScript ではなく、 Universal JavaScript と呼ぶべきだと主張しています。私たちはIsomorphic JavaScriptという名前で使うのに慣れたので、ここでは*Isomorphic JavaScriptと記述します。 AmebloのIsomorphic 技術選定 先に結論をあげます:React + Redux 技術選定の基準は下記となります。 安定さ。基本的にプロダクト環境で使える正式版があること。 アクティブな開発。 よいコミュニティ。技術の周りに大きいコミュニティが育っていること。 実績がある。 まずView層のライブラリの選定です。このプ
みなさま、こんにちは。 2013年度新卒入社の吉成(@y_yoshinari)と申します。 現在私は『ボーイフレンド(仮)きらめき☆ノート』(以下、ボイきら)というサービスのUnityの実装を担当しています。 私は現在はUnityエンジニアですが、入社時は『なぞってピグキッチン』というスマートフォン向けブラウザゲームのフロントエンドの実装を担当していました。 2年前にWebフロントエンジニアからUnityエンジニアへ職種転向をし、ボイきらでは新規立ち上げから、ゲーム全体の設計方針の決定や、フレームワークの作成などに携わりました。 今回は、Webフロント出身のUnityエンジニアが大規模ゲームの基盤設計を行ったらこんな感じになりましたという話をしたいと思います。 「Unityって結構自由にコードを書けるからチームで何かしらの指針が欲しい」的なことを考えている方のお役に立てれば嬉しいです。 U
はじめまして。 「ボーイフレンド(仮)きらめき☆ノート」(以降、ボイきら)でサーバサイドエンジニアをしております、伊藤です。今回はAWS(主にAurora周り)とPHPを使用して高信頼性かつハイパフォーマンスなシステムを構築するためのノウハウを共有させて頂きたいと思います。 目次 はじめに キャッシュの話 自動化・自動生成の話 Auroraの話 Zephirの話 おわりに はじめに まずはじめに、ボイきらのサービスとシステムの概要を簡単にご紹介します。 サービスの概要 ボイきらは2016年11月15日にリリースした女性向けリズムゲームです。事前登録は24万人を突破し、リリース後はAppleStoreの無料ランキングで1位を獲得しました。サービスの運用で特徴的なのはリリースが約2ヶ月で以下の5種類の新イベントを計11回も開催していることです。 マラソンイベント レイドイベント ハイスコアイベ
この記事はCyberAgent Developers Advent Calendar 2016 24日目の記事です。23日目はdekatotoroさんの「Apple TV – tvOS入門」でした。 こんにちは、AbemaTVサーバサイドエンジニアのギアです。 去年は新卒のiOSエンジニアとして、「ReactiveCocoaとMVVMモデル」という記事を書きましたが、今年はサーバサイドに関することを書きます。 はじめに この前にAbemaTVはモニタリング・アラートのため、主にStackdriver, Bugsnag, StatusCakeというサービスを使っています。しかし、Stackdriverはデフォルトである程度のGCP (Google Cloud Platform) 上のリソースに対するメトリクスしかありません。各マイクサービス間の通信やサービスのカスタマイズメトリクスなどのアプ
はじめに クラウドファンディングプラットフォーム Makuake でウェブオペレーションをメインで担当している吉田慶章 ( @kakakakakku ) です.Developers Blog では,過去に『Well-Architected を目指した改善と組織文化への影響』を執筆したり,『「経営層を巻き込まないと開発組織は変わらない」――急成長するクラウドファンディングサービス「Makuake」エンジニアが社長と取り組んだこと』で組織変革をテーマにしたインタビューを受けたりしています.今回はサービスで使っているデータベースを MySQL 5.5 on EC2 から Amazon Aurora(以下,Aurora)に完全に移行した事例を紹介したいと思います.既にリリースをして約1ヶ月稼働していますが,大きな問題もなく安定稼働しています. 背景 例えばウェブサーバなど,既にスケールアウトが前提
こんにちは。システムセキュリティ推進グループの花塚です。本記事は、AWSにおける脅威検知のために取り組んだ内容について紹介します。 AWS上で脅威検知といえば、GuardDutyなどのサービスを使って実装するのが一般的だと思いますが、仕組みは構築できても以下のような悩みを持たれることはありませんでしょうか。 仕組みは完成したけど、結局アラートが対応されずに放置されている 限られた人的リソースの中で大量のアラートを捌ききれない 仕組みは構築できても、上記のような運用面に関する難しさを感じる事は少なくないと思います。そこで、この記事では、構築した仕組みとその仕組みを生かすまでの運用方法の変遷について詳しくご紹介します。 大規模なクラウド環境に対して、セキュリティをスケールさせたい方にとって少しでも参考になれば幸いです。 目次 背景 構築した仕組み 運用とその変遷 最後に 背景 話を進める前に、
2021年4月1日、サイバーエージェントに73名の新卒エンジニアが入社しました。今年のエンジニアコースの研修は、昨年同様にオンラインで実施。オンラインでも、技術はもちろんのこと、働く上で大切なチームワークや組織における役割についても学べるよう工夫を凝らしました。今回は、研修内容や工夫したポイントをお伝えするとともに、実際に使用した講義資料を公開します。 ■「チーム開発の準備ができていること」が研修の目標 約1ヶ月かけて行った研修では、6つの講義とチーム開発ワークを実施しました。研修のゴールとしていたのは、新卒エンジニア全員が「チーム開発の準備ができていること」。 サイバーエージェントでは、これから会社を牽引していくエンジニアに必要な要素として「チームワーク」を掲げています。当然ながら、個人でできることは限られています。チームがあることは、世の中を驚かすサービスをつくるためにプラスに働く。チ
次のページ
このページを最初にブックマークしてみませんか?
『CyberAgent Developers Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く