タグ

ブックマーク / ameblo.jp/principia-ca (37)

  • 『サイバーエージェントグループ Go勉強会』

    みなさんこんにちは! エンジニアブログ運営チームの板敷です。 今回は、先日社内で行われたGo勉強会について紹介したいと思います。 今回の勉強会では、サイバーエージェントグループの各社から発表がありました。 勉強会ポスター。事前予約不要! Golangの注目度は高く、開始即満員御礼でした。(若手中心に立ち見もw それでは発表内容を紹介したいと思います。 ※勉強会資料は社内情報が含まれているため全公開はできませんが、 勉強会の雰囲気だけでも感じ取っていただけると幸いです。 「Goトラップ ~中級者向けGo言語でよく引っかかる同期処理など周りの問題、分析と解決方法~」 技術部 基盤システムG マリオさんの発表です。 ※発表資料 https://github.com/imkira/gostudy 後述しますとおり、この他の発表内容は「サービスの中でGoをどのように使っているか」か話題の中心でした

    『サイバーエージェントグループ Go勉強会』
    advblog
    advblog 2016/07/02
  • 『サイバーエージェント新卒エンジニア技術研修2016』

    みなさんこんにちは。 技術組織戦略G & 技術内閣の板敷です。 普段はAmebaのシステム障害の火消し → 障害対策ならびにエンジニアの育成評価等をしています。 今回は、先日終了したサイバーエージェント新卒エンジニア技術研修について紹介したいと思います。 研修概要従来の研修内容を一新、内製での技術研修に挑戦 これまでの新卒技術研修は委託先講師の話を新卒全員が聞くという、いわゆる「座学中心」の研修でしたが、ここ数年の技術的進歩、組織内でのエンジニアに対する期待の変化を反映するため、内製での研修へとゼロから再設計しました。 研修のコンセプトと概要 ベースとなる研修のコンセプトは以下2点からなります。 全体のアーキテクチャを俯瞰して設計、技術選定をする自分の頭で考え、動くこれらのコンセプトを実現するために今回の研修では、2つの某有名サービスを 自分たちで設計、実装するという形をとりました。 研修

    『サイバーエージェント新卒エンジニア技術研修2016』
    advblog
    advblog 2016/06/02
  • 『画像システムの車窓から』

    2年半くらい画像システムを担当していたのですが、3月イッパイで異動することになりましたokzkです。 異動記念ということで、とりとめもなくエンジニアブログを書いてみます。長いです。よろしくお願いいたします。 画像システムのこれまでのストレージ事情最初にアメブロ(以下、単にブログ)のユーザ投稿画像関連でのストレージの歴史をアレコレをまとめてみようと思います。なお、以下swiftと書いたらOpenStack Swiftのことです。流行のプログラミング言語のことではありません。 はるか昔の状況昔は単純にWebDAVを複数台並べ、イッパイになったら更に次の世代のWebDAVを追加する、というような構成で、参照時に画像URLパスに含まれる年月ベースで適切な世代のWebDAVにルーティングしていました。 (参考:画像URLのパスの例) /user_images/20160401/00/shibuya/

    『画像システムの車窓から』
    advblog
    advblog 2016/03/24
  • 『AWAにおけるDevOps』

    はじめに AWAでサーバサイドエンジニアをやっている山下といいます。初めてエンジニアブログを書かせていただきます。よろしくお願いします。 簡単に自己紹介をさせていただくと、2011年にSIerからサイバーエージェントに中途入社し、いくつかのコミュニティ系サービスの立ち上げ・運用、インフィード広告配信APIの作成などを経て、2015年4月からAWAチームに参加しました。 今回は、(今さら?な) DevOpsについてです。といってもスムーズな連携をするには といった話ではなく、現在のチームに参加してからというもの、「エンジニア間の役割が変わってきていて、DevOpsって現状にあってないんじゃないか」と感じており、それについてご紹介させていただきます。 AWAとは 定額制音楽配信サービスです。 スマートフォン、PCでアプリを提供しており、他のデバイスにも順次対応をすすめています。2015年のベス

    『AWAにおけるDevOps』
    advblog
    advblog 2016/02/18
  • 『ネットワーク初心者の新卒がDockerでネットワークの勉強をしてみた』

    こんにちは!サイバーエジェント アドテクスタジオ新卒の黒崎 (@kuro_m88) と申します。 Dynalystというチームに配属され、一人前のサーバサイドエンジニアになるべく修行をしています(`・ω・´)最近はScalaを書くことが多くて、Sparkで大量のログを集計するバッチの開発をしています。ほぼ100%AWSで構成されているプロダクトなので業務でネットワークの運用もしませんし、構成の事を意識する事はあまりありません。 そんな中でネットワークの事が知りたくなったのは、広告の配信に関わる開発をしてみて、広告の配信の仕組み自体も技術的にめちゃくちゃ面白いんですが、それと同時に自分たちのサーバから広告が表示される端末までの間がどうなってるのか気になってしまったのがきっかけです。学んでいくにはやはり手を動かすのが一番ですよねo(((^^)))o

    『ネットワーク初心者の新卒がDockerでネットワークの勉強をしてみた』
    advblog
    advblog 2015/12/08
  • 『Ameba OwndのSEOを支える技術 for AngularJS』

    こんにちは、サーバーサイドのエンジニアをやっているoinumeです。今回は昨年8月ぐらいから作っていたAmeba Owndというサービスで行ったSEO対策について紹介します。 AmebaOwndって?ブログ機能を備えたスタイリッシュなデザインのWebサイトを簡単に作成できるサービスです。 香川真司オフィシャルサイトスターバックス コーヒー オフィシャルブログなどのサイトがAmeba Owndを利用して作られています。 アーキテクチャユーザーさんがWebブラウザでアクセスするページについてはAngularJS + REST API(Nginx + Go)で作られています。一方でGooglebotなどのクローラーからのアクセスの場合は、受けたリクエストをNginxがPrerender CacheというシステムにProxyして、このPrerender CacheからHTMLを返すようにしています

    『Ameba OwndのSEOを支える技術 for AngularJS』
    advblog
    advblog 2015/06/25
  • 『新米Androiderが開発する上できっと役立つであろう10のサイト』

    はじめまして、 ogaclejapan です。 昨年の6月にサーバサイドJavaエンジニアからAndroiderへ暗黙な型変換でジョブチェンジしました。会社ではAmeba事業部でAndroidアプリの開発を担当しています。

    『新米Androiderが開発する上できっと役立つであろう10のサイト』
    advblog
    advblog 2015/04/02
  • 『ソシャゲからアドテクになって技術的に変わった7つのこと』

    どうも、アドテクスタジオ所属RightSegmentチームの安田です。 元ソシャゲエンジニアで今はアドテクエンジニアしてます。 サーバーサイドJavaエンジニアです。 なので、昨今は特別派手なネタがないので ソーシャルゲームからアドテクに業種変更して技術的な違いとか書きたいと思います。 ちなみにRightSegmentはDMPという位置づけなのですが DMPとはData Management Platformの略で 広告主がもつデータ、第三者のデータなどを一元管理・分析し、 最適な広告配信をするために活用されるプラットフォームになります。 主にタグと呼ばれるJavaScriptを広告主のサイトに貼ってもらい、 サイトに訪れたユーザーのアクセス履歴からユーザ情報を作成してカテゴリ(セグメント)管理しています。 例えば、 某不動産サイトが有名サイトに広告配信したいとした場合、 ランダムに全国の

    『ソシャゲからアドテクになって技術的に変わった7つのこと』
    advblog
    advblog 2015/01/29
  • 『NewSQLのCockroachDBについて調べてみた』

    CyberAgent エンジニア Advent Calendar 2014の23日目の記事です。 秋葉原ラボの、鈴木(@brfrn169 )、Shtykh Roman、柿島大貴です。 普段は、分散DB(主にHBase)やストリーミング処理基盤の開発・運用などをやっています。 今回は、NewSQLの1つであるCockroachDBについて紹介します。 NewSQLとは CockroachDBについて紹介する前に、NewSQLについて簡単に説明します。 NewSQLとは、一言で言うとNoSQL+SQL機能(トランザクション)です。 RDBMSとNoSQLの良いとこどりをしているともいえるでしょう。 従来、RDBはスケールアウトのしづらいモノリシックな作りになっていました。 しかし、RDBでは、昨今のビックデータの潮流に対応できず、NoSQL技術が登場します。 NoSQLは、スケールアウトが容

    『NewSQLのCockroachDBについて調べてみた』
    advblog
    advblog 2014/12/24
  • 『アメーバピグへのGoogle BigQuery導入までのもろもろ設定記』

    この記事は、CyberAgent エンジニア Advent Calendar 2014 の6日目の記事です。 5日目はnekoruriさんのAmeba等で利用しているOpenStack Swiftを利用したオブジェクトストレージ 7日目はoinumeさんのGoLangJavaのenumっぽいライブラリ作った話です。 こんにちは、ピグ事業部のIshimura(Twitter, Github)といいます。アメーバピグのサーバサイドエンジニアをしています。ユニットテストとリファクタリングが好物です。 今回はタイトル通りなのですが、アメーバピグでGoogle BigQueryに実際にログを突っ込むまでに行った設定を記します。アメーバピグではBigQueryを各種施策の検討・評価のための分析用に利用する予定です。 BigQueryの特徴やメリットはググれば(Googleだけに)たくさん出てくるので

    『アメーバピグへのGoogle BigQuery導入までのもろもろ設定記』
    advblog
    advblog 2014/12/06
  • 『サイバーエージェントでRailsを使っているコミュニティサービスのお話』

    アメーバ事業部コミュニティ事業部の大﨑 (@hiroosak)です。 24LOGというサービスの開発を担当しています。 サイバーエージェントでは、コミュニティサービスが多数存在しているのですが、 実は、その中のいくつかのサービスでRailsが使われています。 ですが、社内・社外問わずあまり知られていないようです。 なので、今回は、Railsを使ったプロジェクトでは どのように開発が行われているかを簡単に紹介したいと思います。 基構成 構成図の概要は上の図の通りです。 (監視サーバなどは上の図から省いています) 静的なファイルは、社内の共通ストレージに置き、検索については 社内のラボチームで用意したシステムと連携しています。 なのでプロジェクトのチームでは、主に app, db, cache, queue を見ています。 ちなみに、rubyのバージョンは主に2.0, railsは3.2で

    『サイバーエージェントでRailsを使っているコミュニティサービスのお話』
    advblog
    advblog 2014/11/27
  • 『ACIとロードバランサー連携について』

    どうもこんにちわ インフラ&コアテク部でNWエンジニアしていると思われる田中です。 今回は、以前篠原が記載した記事の環境とロードバランサーとの連携について少しご紹介できればと思います。記事はまだ検証段階ですので内容に不備があるかもしれませんがあしからず。。。 今現在私が検証している内容としては、 CiscoさんのACI環境とF5さんのLB(BIG-IP)との相互接続 です。 そもそもACIって何?という方は、こちらを参考にしてください。 「それでもなんのこっちゃか分からないぜ!」 「だから何が出来るんだ!」 という方、一緒に僕と検証しましょう! 題:APICを使って負荷分散環境の構築! 今回はC社さんがリリースしたコントローラーのAPIC(ACIのコントローラー)を使って、BIG-IP と連携したサーバの負荷分散を実施してみたいと思います。細かい手順については割愛させて頂きますのでご

    『ACIとロードバランサー連携について』
    advblog
    advblog 2014/10/16
  • 『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』

    サイバーエージェント公式ブログをご覧の皆さんこんばんは、インフラ&コアテク部の須藤(@strsk)です。普段はAmebaのソーシャルゲーム全般のインフラを見つつ、日語ラップの啓蒙をしながら弊社社員を素材にコラ画像をつくったりしています。好きなAAは麻呂です。 はい、というわけで今回はMySQLインデックスチューニングの基的な流れについてまとめてみました。 ソーシャルゲームは更新も参照もめちゃくちゃ多いです。数秒のレプリケーション遅延も致命的なので適切なテーブル、クエリとインデックス設計が重要です。(何でもそうですけど)インデックスが多くなると更新コストなどが懸念されますが、インデックスが正しく使われていないクエリを放置している方が悪です。そんなこんなで、割と例も偏ったりしてるかもしれませんがあしからず。 前提としてはInnoDBを想定しています。MyISAMはほとんど使っていません。

    『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』
    advblog
    advblog 2014/09/19
  • おすすめオブジェクト指向練習方法 | サイバーエージェント 公式エンジニアブログ

    はじめに みなさんはじめまして。 アメーバ事業ゲーム部門でJavaエンジニアをやってる朝倉です。

    おすすめオブジェクト指向練習方法 | サイバーエージェント 公式エンジニアブログ
    advblog
    advblog 2014/08/08
  • 『コードのバグはコードで見つけよう!』

    こんにちは。 アメーバピグでNode.jsを使って開発をしている中村と申します。 平日はエンジニア、土日は主夫として働いています。 さて、早速ですが、この記事ではESLintを使って、JavaScriptのソースコードのバグを発見する手順をご紹介したいと思います。 ESLintとは ESLintはNicholas C. Zakas氏が中心となって開発しているJavaScriptLintツールです。 JavaScriptLintツールといえば、最近ではJSHintが定番だと思います。 ESLintはJSHint同等の機能を持つ他、解析ルールが完全にプラガブルになっており、独自ルールを自由に追加できるという特徴があります。 例えば、JSHintでいうところの、strict(strict modeで実行されるかをチェック)というオプションは下記のURLのように個別のルールとして実装されていま

    『コードのバグはコードで見つけよう!』
    advblog
    advblog 2014/07/10
  • 『WWDC '14 レポート - 前編』

    さて、私は6/2から開幕したWWDCに参加するため、サンフランシスコに来ております。 幸運にも入手困難なチケットを手に入れて参加してますので、WWDCの雰囲気や現地で感じたことなどをお届けしたいと思います。 なお、ご存じの方もいらっしゃると思いますが、WWDCではキーノート以外は守秘義務が課せられており、セッション内容を一切公開できません 。 また、既にキーノートの内容は様々なメディアで報道されます。 そのような事情もあり、私の WWDC 2014 のレポート は次のような2部構成でお届けさせて頂きます。 前編: キーノート開幕前の様子後編: WWDCに参加して感じたことなどのまとめ 今回は前編として、開幕前日とキーノートが始まるまでの様子をお伝えします。 開幕前日の様子 "開幕当日だと受付が大行列になっていて、Keynoteに間に合わないリスクがある" という情報を現地に行く前に入手した

    『WWDC '14 レポート - 前編』
    advblog
    advblog 2014/06/04
  • 『アメーバピグにおけるDB構成&対応記』

    2ヶ月前にインフルエンザとウィルス性胃腸炎でひどくダメージを受けた増田(@masudaK)です。アメーバピグは2009年2月に始まったサービスで、FLASH・Javaで作られています。そして、データストアにMySQLを用いてます。記事では、わたくしが2年ほど見続けているアメーバピグのDB環境について構成や、日々どのようにして問題と向き合っているかを紹介したいと思います。インフラ寄りの内容が多いため、アプリ寄りの話は弊社生沼の資料を御覧ください。 1. 構成と規模 1.1. 構成 まず構成ですが、読み書きはすべてマスターへ行うようにしています。そのため、スレーブには参照を向けず、ホットスタンバイとして使っています。バージョンに関しては2012年中旬までは5.0を使ってましたが、DC移転にあわせて5.5にあげました。ロック機能を用いたシャード構成をしてまして、2014年3月現在6シャードにな

    『アメーバピグにおけるDB構成&対応記』
    advblog
    advblog 2014/05/22
  • 『Javaプロジェクトでテストをたのしく書くための試み』

    こんにちは、Ameba事業ゲームプラットフォーム室の山田(@stormcat24)です。 自分のミッションは主にゲーム部門の開発の改善で、最近はScalaでモナ・・・しながらツールを書いてたりClojureに手を出したりしています。 はじめに ところでみなさんJava書いてますか?サイバーエージェントでは最近node熱が高いのですが、Javaプロジェクトもまだまだ根強く存在します。僕も隙あらばScalaをぶっこもうとしてますが、大人の事情でまだまだJavaを書くシーンも多いのです。 で、そんなテンションが上がりにくいJavaプロジェクトをやっていく上で、せめてテストくらいはなるべくたのしく書きたい!ということで、今のプロジェクトで取り入れた施策を簡単にですが紹介します。 めちゃくちゃ尖った技術を使ってるわけではないですが、これらをやっておけばそれなりに楽しく書けるかなと思ってますので、

    『Javaプロジェクトでテストをたのしく書くための試み』
    advblog
    advblog 2014/05/08
  • 『たのしい Scala』

    はじめに 初めまして。 2011年度入社のつちはしと申します。 アメーバのゲーム部門でエンジニアをしています。 今回はエンジニアブログを書く機会を頂きましたので、大好きな Scala について書かせていただきました。 「たのしさ」というとらえどころのない話しゆえ、すこしゆるーくなっておりますが、ご了承くださいませ。 というわけで、よく「Ruby は使っていて楽しいお 気持ちいいお」と聞くけど、 Scala も楽しいし気持ちいいんだよー! とゆうのを伝えたいです。。 伝わるといいです。。 (この記事は私が Scala の楽しいと感じる部分に的を絞って書いています。 Scala には楽しくない部分もいろいろありますが、それに関してはここでは触れません。 Scala たんは俺の嫁) さくっと書いてためしてみることが出来るの 題に入る前に。。 Ruby には irb という、その場でプログラムを

    『たのしい Scala』
    advblog
    advblog 2014/02/07
  • 『2013年サイバーエージェント エンジニア プレゼンデータまとめ』

    皆様こんにちは 以前、社内勉強会制度 Skill U Friday のご紹介をさせていただいた織田と申します。 昨年は多くのセミナーを通じて、当社エンジニアをお引き立てくださりありがとうございました。 さて今回は、昨年サイバーエージェントエンジニア職が登壇したセミナーのプレゼン資料をまとめてご紹介差し上げます。 今年も、多くの外部セミナーや当社発信のセミナーを通じて皆様と技術交流が出来ることを楽しみにしております。 宜しくお願い申し上げます。 ■秋葉原ラボ

    『2013年サイバーエージェント エンジニア プレゼンデータまとめ』
    advblog
    advblog 2014/01/31