タグ

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

  • ジャンプTOON Next.js App Router の活用〜得られた恩恵と課題〜 | CyberAgent Developers Blog

    目次 はじめに Colocation を意識した設計方針 Parallel Routes と Intercepting Routes を用いた設計パターン サーバー側に処理を寄せたことによる恩恵と課題 Next.js が抱える課題 おわりに 参考文献 はじめに ジャンプTOON のWeb版(以降、ジャンプTOON Web)の開発を担当している浅原昌大(@assa1605)です。 5 月にサービスを開始した「ジャンプTOON」は、オリジナル縦読みマンガ作品や人気作品のタテカラー版を連載する、ジャンプグループ発の新サービスです。 ジャンプTOON のフロントエンドには、Next.js を採用し開発をしています。 記事では、Next.js の最新機能や設計パターン、Next.js を採用した恩恵と現在の課題について紹介します。 Colocation を意識した設計方針 Parallel Rou

    ジャンプTOON Next.js App Router の活用〜得られた恩恵と課題〜 | CyberAgent Developers Blog
    hiroomi
    hiroomi 2024/08/16
  • ワークフローツールを AWS Step Functions に移行した話 | CyberAgent Developers Blog

    AI事業部の協業リテールメディアdivでソフトウェアエンジニアをしている 中澤 といいます。直近では、プロダクト開発以外にAI 事業部の新卒研修の運営を行なったりもしていました。 私が所属しているチームで最近、定期バッチを行うワークフロー管理ツールを AWS Step Functionsへ移行したので、移行の背景や得た知見を記事として公開します。 移行前の構成 私たちのチームでは、ワークフロー管理ツールを AWS Step Functions に置き換える前には、Prefect を使っていました。 Prefect に関しては、弊社ブログの別記事があるので、Prefect について知りたい方はそちらも参考にしてみてください。 Prefect を利用している時の構成では、Prefect 側でワークフローのスケジュール管理やワークフロー内のタスク実行を Prefect、実際のワークフローのタ

    ワークフローツールを AWS Step Functions に移行した話 | CyberAgent Developers Blog
    hiroomi
    hiroomi 2024/06/15
  • ダークファイバーでOPEN.ad.jpと接続してみた #インターネットゼミ | CyberAgent Developers Blog

    こんにちは、インターネットゼミの小障子(@The_Ko_Show_)です。 インターネットゼミは「インターネット」について日々研究を行っているゼミです。 「インターネット」には多くの意味合いが思い浮かぶと思いますが、ゼミとしては特定の定義に限定せず広く各個人のインターネットについて研究を進めています。 インターネットゼミについてはこちらの記事をご覧ください。 インターネットゼミ開講のお知らせ 現在はオフィス近郊にラックを借りた上でAS63790を取得し、そのAS番号を用いて実験や研究を行いつつ、その結果を社内にフィードバックしています。もしピアリングやネットワーキングに興味がある方がいらっしゃればぜひご連絡ください。 インターネットゼミのインターネット構成 インターネットゼミの「Public ASプロジェクト」ではパブリックなAS番号 (AS63790) を取得し、我々が利用しているThe

    ダークファイバーでOPEN.ad.jpと接続してみた #インターネットゼミ | CyberAgent Developers Blog
    hiroomi
    hiroomi 2024/03/01
    “NTTダークファイバーの場合は2000年代の古いファイバーなどが混ざっており、払い出されるファイバーによってかなり品質が異なります。”
  • 推薦システムにおいて線形モデルがまだまだ有用な話 | CyberAgent Developers Blog

    記事は、CyberAgent Advent Calendar 2022 19日目の記事です。 目次 はじめに 問題設定 協調フィルタリングのための線形モデル iALS EASE 関連する非線形モデル 実務活用 おわりに はじめに メディア DSC所属の機械学習エンジニアで、タップルの推薦システムを担当している橋爪 (@runnlp)です。 最近、推薦システムを触り始めました。推薦手法は、協調フィルタリング、コンテンツベース、ハイブリッドなど様々ですが、今回は昔から今に至るまで長く使われている協調フィルタリングについてです。 協調フィルタリングではDeep系のモデルがたくさん出る中で、RecSys2022で発表された論文では10年以上前から使用されている線形モデル(iALS)がDeep系のモデルに匹敵する結果であると報告されており興味深いです。また、推薦システムを開発するにあたって、問題設

    推薦システムにおいて線形モデルがまだまだ有用な話 | CyberAgent Developers Blog
    hiroomi
    hiroomi 2022/12/20
  • Cloudflare Zero Trustを利用して開発環境への安全なアクセス方法を構築する | CyberAgent Developers Blog

    この記事は CyberAgent Developers Advent Calendar 2022 の6日目の記事です。 AI事業部の黒崎(@kuro_m88)です。CyberAgent Developers Advent Calendar 8回目の参戦です! 今年はCloudflare Zero Trustを利用してオフィスでもリモートワークでも安全に必要な人だけが開発環境にアクセスできる仕組みを作ったので、それについてご紹介します。 開発環境におけるアクセス制御の課題 私が所属するサイバーエージェント AI事業部の小売DX部門では様々な小売企業のアプリやCDPと呼ばれるデータ基盤の開発をしています。 事業内容についてはこちらをご参照ください。 この組織では、立ち上げから2年以上が経過し、組織として抱えるプロジェクトやメンバ、職種がかなり多くなってきました。 大きな組織の中で複数の顧客

    Cloudflare Zero Trustを利用して開発環境への安全なアクセス方法を構築する | CyberAgent Developers Blog
    hiroomi
    hiroomi 2022/12/07
    ”開発環境におけるアクセス制御の課題 ”
  • どのようにscrcpyがADBだけでAndroidの画面操作を実現しているのか | CyberAgent Developers Blog

    こんにちは。AI事業DX部 小売セクター ミライネージで開発をしている2020年新卒入社の大田です。 リモートワークの中、Zoom等の画面共有でscrcpyを使ってAndroid実機のデモをして開発メンバーに共有する用途や、画面を持たないAndroid端末(STBなど)での開発でモニタを1台占領せずに開発マシンにモニタを使えるなど、scrcpyに非常に支えられています。 今では当たり前になったscrcpyも、初めて見たときは「こんなことが可能なのか」とすごく驚きました。特にADBの接続のみでAndroid側に追加でアプリケーションを入れずに実現している仕組みについてずっと技術的関心がありました。そこで稿では、どのように”ADBだけ”で画面操作を実現しているのかを追いかけます。 scrcpyとは scrcpyはAndroidを端末のGUIでの画面操作を可能にするオープンソースのソフ

    どのようにscrcpyがADBだけでAndroidの画面操作を実現しているのか | CyberAgent Developers Blog
  • 2021年版、Web標準技術で作るモックアップ | CyberAgent Developers Blog

    サイバーエージェントでは今年、CA PoCMOCK CONTEST 2021というコンテストが開催されました。PoCMOCKは造語でそれぞれPoC(検証)・MOCK(モックアップ)を表し、エンジニア・クリエイターのアイディアやスキルを駆使して技術的・品質的・社会的な何かしらの課題を解決したプロダクトの一部を制作し披露する場になりました。 私自身は運営チームとしてコンテストに関わっていたのですが、社員賞を決めるための投票システムを作るためにクリエイター・PMとともに参加することにしました。 投票システムの前提として、2日間の開発期間で作りきること、また作ったプロダクトはその後すぐに社員が利用できる状態であることが求められていました。 記事ではその制作を通じて発見できたことや工夫したところを紹介します。 NOTE: 記事の内容はアプリケーション制作時(2021年8月)の情報に基づいています

    2021年版、Web標準技術で作るモックアップ | CyberAgent Developers Blog
    hiroomi
    hiroomi 2021/12/29
  • 重いサイトを軽くしろ!年末年始は #WebSpeedHackathon 2021 に挑戦しよう | CyberAgent Developers Blog

    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” を昨年

    重いサイトを軽くしろ!年末年始は #WebSpeedHackathon 2021 に挑戦しよう | CyberAgent Developers Blog
    hiroomi
    hiroomi 2021/12/04
  • Rust で Web バックエンド開発をはじめる | CyberAgent Developers Blog

    こんにちは。サイバーエージェント AI 事業部 Dynalyst にて、ソフトウェアエンジニアをしている豊田(@helloyuki_)です。また、Rust 領域における Next Experts も務めています。 先日、CA BASE NEXT という CyberAgent が開催する20代が中心のカンファレンス[^1]に、私も一応20代ということで登壇させていただきました。 内容は Web アプリケーション開発を Rust で行った体験談を語るというものでした。実際に2018年〜2020年頃に Rust をとあるチームのアプリケーションに導入し、引き継ぎのために何をしたかという内容をお話させていただきました。 セッション自体は25分しかなく、またコード例をスライドからかなり削るなど、CG スタジオ仕様への対応が必要でした。というわけで、十分に伝えたいことを盛り込めたわけではありませんで

    Rust で Web バックエンド開発をはじめる | CyberAgent Developers Blog
    hiroomi
    hiroomi 2021/08/06
  • Amazon EC2 を Arm に切り替えたら幸せなことしかありませんでした | CyberAgent Developers Blog

    技術部 サービスリライアビリティグループ(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 へ移行したら幸せになれたので、この記事を

    Amazon EC2 を Arm に切り替えたら幸せなことしかありませんでした | CyberAgent Developers Blog
    hiroomi
    hiroomi 2020/11/27
    ”今回 Arm に対応したサービスは Ansible と Terraform で管理されているため”導入壁もデプロイ環境に左右されそう。整理整頓。
  • 「Ameba」15年の負債を払拭するカラーパレットのメソッド | CyberAgent Developers Blog

    「Ameba」は2020年に16周年を迎える長寿サービスです。 プロダクトチームはPC / SP / iOS / Androidと4種類のデバイスに対応しており、15年という歳月を経た結果、管理の追いつかない画面、レガシーなコード等に苛まれるようになってきました。 「Ameba」開発チームではそのような、過去の遺物に開発リソースを割かれる状態を「負債」と呼び、その解消のために日々戦っています。 さらに、「Ameba」には現在10名ほどのデザイナーが携わっており、それぞれが異なる施策や領域を対応していることも相まって、施策を経る毎に、「Ameba」内でGUIに関する、共通の意識や見解を持つことができなくなっていました。 この状態を打開し、「Ameba」プロダクト再興の礎を構築しようと、今年度からデザインシステムの開発をスタートしました。 今回はそのデザインシステムの中でも真っ先に取り組んだ要

    「Ameba」15年の負債を払拭するカラーパレットのメソッド | CyberAgent Developers Blog
    hiroomi
    hiroomi 2020/09/15
  • WebパフォーマンスとプロダクトKPIの相関を可視化する話 | CyberAgent Developers Blog

    技術部 Web Initiative Center で Web プロダクトの品質改善や組織の技術推進に取り組んでいます、 @1000ch です。その活動のひとつに、直帰率や PV/Session といったプロダクトの KPI を上げることを目的とした Web パフォーマンスの向上があるので、今日はその取り組みについて書きます。 旧来の Web パフォーマンスの評価指標 これまでは DOMContentLoaded イベントや load イベントの値が Web ページのパフォーマンスの良し悪しとして扱われることが多かったと思います。しかしアーキテクチャの複雑化の一途をたどる Web ページのパフォーマンスを測る上では、もはや適切な指標とは言えません。 DOM 構築完了を指す DOMContentLoaded イベント DOMContentLoaded は DOM ツリーの構築完了を表します

    WebパフォーマンスとプロダクトKPIの相関を可視化する話 | CyberAgent Developers Blog
    hiroomi
    hiroomi 2018/11/22
  • AbemaTV コードの品質への取り組み

    現在AbemaTVでiOSアプリ開発を担当してます、shoheiyokoyamaです。 記事では、AbemaTVでの「コードの品質について」チームでの考え方や取り組みについて紹介していきたいと思います。 AbemaTV AbemaTVは、オリジナルの生放送コンテンツや、ニュース、音楽、スポーツなど多彩なジャンルのコンテンツを見れるインターネットテレビでiOS、AndroidPCなどで利用できます。 チームにジョインした当初は私を含め5人体制でiOSの開発を進めていましたが、現在は倍の10人体制で開発を進めています。チーム増員に伴い、開発スピードは上がりますがその分コードの品質を維持し続けることが難しくなります。 早い開発スピードを長期的に継続していくためには、高品質なコードを維持することが重要です。そのため、早い開発サイクルの中でも高品質なコードを維持する取り組みが必要となってきます。

    AbemaTV コードの品質への取り組み
    hiroomi
    hiroomi 2017/09/15
    ”SwiftLintというフレームワークを用いて、コード品質チェックの自動化も行われています。これはRealm社が開発したlinterでコードの構文などをチェックをしてくれる便利なツールです。”
  • AbemaTVにPrometheusというモニタリングシステムを導入した話

    この記事はCyberAgent Developers Advent Calendar 2016 24日目の記事です。23日目はdekatotoroさんの「Apple TV – tvOS入門」でした。 こんにちは、AbemaTVサーバサイドエンジニアのギアです。 去年は新卒のiOSエンジニアとして、「ReactiveCocoaとMVVMモデル」という記事を書きましたが、今年はサーバサイドに関することを書きます。 はじめに この前にAbemaTVはモニタリング・アラートのため、主にStackdriver, Bugsnag, StatusCakeというサービスを使っています。しかし、Stackdriverはデフォルトである程度のGCP (Google Cloud Platform) 上のリソースに対するメトリクスしかありません。各マイクサービス間の通信やサービスのカスタマイズメトリクスなどのアプ

    AbemaTVにPrometheusというモニタリングシステムを導入した話
    hiroomi
    hiroomi 2017/08/27
  • C#静的解析によるコーディング規約チェッカーを作った話

    はじめに はじめまして。 「ボーイフレンド(仮)きらめき☆ノート」(以降、ボイきら)でUnityエンジニアをしております、田村です。 ボイきらでは、コードがコーディング規約に準拠しているかを自動でチェックするツールを自作し、導入しております。 今回は、チェックツールを作った経緯から、具体的なチェックツールの実装方法まで紹介したいと思います。 ボイきらでは、ゲーム開発エンジンとしてUnity、開発言語としてC#が採用されておりますので、今回の話の対象となる言語はC#となります。 コーディング規約チェッカーを作った経緯 コーディング規約とは コーディング規約とは、プログラムの際の決め事です。 実際ボイきらでは、 命名規則は正しいか 全てのクラス、フィールド、メソッドの宣言にコメントが有るか フォーマットされているか(MonoDevelopの自動フォーマット機能を利用) といったコーディング規約

    C#静的解析によるコーディング規約チェッカーを作った話
    hiroomi
    hiroomi 2017/02/11
  • 技術的負債×開発合宿が捗った件 | CyberAgent Developers Blog

    こんにちは、株式会社マッチングエージェントのサーバーサイドエンジニアの島谷です。 マッチングエージェントはサイバーエージェントのグループ会社で、「タップル誕生」という恋活アプリを運営している設立3年目の会社です。 先日このマッチングエージェントのメンバーで伊東温泉にて開発合宿を行ってきました。今回の合宿ではプロジェクトが抱えていた様々な技術的負債を返済すべく、開発メンバー全員で合宿に赴きました。合宿自体は非常に良い結果となったので、その経緯をまとめたいと思います! 開発合宿の経緯 今回の開発合宿のゴールですが、「各技術領域の優先度が高い技術的負債を撲滅する」という目標を立てました。 マッチングエージェントが運用するタップル誕生ですが、運用開始から既に2年以上たっています。この2年の間に徐々に技術的負債が溜まってきており、開発効率や品質に影響してきているけれど日々の業務に埋もれてなかなか対応

    技術的負債×開発合宿が捗った件 | CyberAgent Developers Blog
    hiroomi
    hiroomi 2016/12/14
  • 1