タグ

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

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

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

    『サイバーエージェントグループ Go勉強会』
  • 『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』

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

    『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』
  • 『Amebaのログ解析基盤のワークフロースケジューラー』

    技術部でログ解析基盤を担当している善明です。 Amebaのログ解析基盤Patriot向けに開発したワークフロースケジューラーをオープンソースとして公開したので、その紹介をさせて頂きたいと思います。 開発の背景Patriotのようなログ解析基盤では、データの取り込み、変換、集計という一連の処理の流れ(ワークフロー)を管理する必要があります。 これがないと、例えば、必要なデータがそろってないのに集計処理が実行され誤った数字がレポーティングされる、といった事態を引き起こしてしまいます。 PatriotではAmebaの様々なサービスのデータを扱っており、それを処理するためのワークフローは大規模で複雑なものになります。 また、例えば、ブログとピグの両方を使っているユーザ数などの複数のサービスをまたぐ集計も行っているのでサービス毎にワークフローを分割して管理するのは難しく、継続率や累計利用日数など処

    『Amebaのログ解析基盤のワークフロースケジューラー』
  • 『PiggPARTYでのリアルタイム通信の仕組み』

    ピグ事業部でサーバーサイドエンジニアをしている有馬です。 先日、弊社よりスマートフォン向けネイティブアプリとして、 「PiggPARTY」がリリースされました。 ピグパーティ iOSアプリ ピグパーティ Androidアプリ PiggPARTYは、スマートフォンのアプリ上で、 顔や洋服などの様々パーツを組み合わせて、自分好みのピグ(アバター)を作成することができ、 渋谷エリアや、原宿エリアといった現実を模したエリアや、 好みの家具で模様替えした自分のお部屋でパーティ(イベント)を開催したり、 他のユーザーと、テキストチャットやスタンプなどで、 リアルタイムにコミュニケーションを楽しむことができるサービスです。 PCアメーバピグをご存じの方には、そのスマートフォン版というと伝わりやすいかもしれません。 PiggPARTYでは、同期的なリアルタイムコミュニケーションを実現するために、 新たにリ

    『PiggPARTYでのリアルタイム通信の仕組み』
  • 『エンジニアの僕が写真を存分に使って社内の紹介』

    CyberAgent エンジニア Advent Calendar 2014 3日目の記事です。 3日目は、インフラ&コアテク部の桑野が担当します。今日はエンジニアの僕が写真を存分に使って社内の紹介をしてみたいと思います。 「ようこそ、サイバーエージェントへ」こちらは受付です。 「ここが僕のデスクです」普段はこんな感じで作業しています。モンゴの調子はどうかな。 「MyS○Lはダメだよ!そこは○ongoDBじゃないと!」ミーティングスペースはこんな感じです。 「このコーヒーはうまい」無料で飲める自動販売機も充実しています。 「今日のお弁当はなにかな?」お昼にはちょっとお得なお弁当の販売もあります。 「勉強会開催しようかな」勉強会が開催できるような、大きなセミナールームもあります。最大でこの2倍の広さになります。(勉強会のご用命があれば是非お問い合わせください) 「これテストにでるからね」 「

    『エンジニアの僕が写真を存分に使って社内の紹介』
    TokyoIncidents
    TokyoIncidents 2014/12/03
    セミナールーム快適です!
  • 『burp suiteによる初歩のWeb監査』

    アメーバ事業部のセキュリティチームの伊藤と申します。 アメーバでは日々、新しいサービスを開発しています。セキュリティチームのお仕事には、それらのサービスにセキュリティ上の問題が存在していないかどうかを調査する(以下、監査)という事も含まれます。※監査専門のベンダに調査を依頼することもあります。 今回は、私たちセキュリティチームが、どのようにWebアプリケーションの監査をしているのか、その一部を簡単に紹介しようと思います。 ※エントリで紹介している手法は自分の管理しているサイト以外に適用しないでください ■Webアプリケーションの監査とは何を見ているのか 簡単にいうと、ブラウザ等から、Webアプリケーションサーバに対して送られるリクエストを変更して、サーバからの応答がどのように変わるのかを見ています。※ほかにもいろいろやっています。 ■具体的にはどうしているのか Webアプリケーションを

    『burp suiteによる初歩のWeb監査』
  • 『アメーバピグにおけるDB構成&対応記』

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

    『アメーバピグにおけるDB構成&対応記』
  • 『2013年サイバーエージェント エンジニア プレゼンデータまとめ』

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

    『2013年サイバーエージェント エンジニア プレゼンデータまとめ』
  • 『Node.js Cluster+Socket.IO+Redisによるリアルタイム通知システム』

    Node.js Cluster+Socket.IO+Redisによるリアルタイム通知システム | サイバーエージェント 公式エンジニアブログ

    『Node.js Cluster+Socket.IO+Redisによるリアルタイム通知システム』
  • 『WebSocketで監視もリアルタイムに』

    こんばんは。社内ニートの佐野と申します。所属はいちおAmebaのインフラチームです。Twitterもやっていますがフォローする価値はないです。つぶやいているのはメシと酒の話と下ネタだけです。 最近、組織改編とかもろもろありましてこのたびは雑用からニートになりました:(;゙゚'ω゚'): あまり目立たないように生きてたんですが、何気にこのブログへの登場は3回目になります...。前回は2012年12月に「QCon San Francisco 2012の参加レポ」を書かせていただきました。その前は2012年5月に「Virident FlashMAXの検証」として名前だけ登場しました。なんか、ニートだけど会社に貢献してる気がしてきた(^ρ^) そんなわけで以前WebSocketを使った監視ツールもどきを作ったので、それについての簡単な説明と、各種技術要素(Python, Jolokia)のTips

    『WebSocketで監視もリアルタイムに』
  • 『redis、それは危険なほどのスピード』

    どうも、プラットフォームDivでエンジニアをやっている Wataru です。 最近3人目の子供が産まれて、産後自宅勤務をさせてくれた弊社はとてもいい会社だと思います。出産予定のあるエンジニアのかたは是非弊社に転職を。 さて、今回はRedisの紹介をさせて頂きたいと思います。 Redisってすごくマイナーなわけではないのですが、めちゃくちゃ便利なのにあまり注目されていないなーという印象があるので、これを機会に是非使ってみてもらえると嬉しいです。 Redisって何?Redisとは「remote dictionary server」から名前が付けられたオープンソースのkey-valueデータストアです。 MemcacheDB等のKVSとの最大の違いは、格納するバリューがデータ構造というところです。 つまり、リスト・セット・ハッシュなどのデータ構造で格納できるのでバリューに対してアトミックな操作が

    『redis、それは危険なほどのスピード』
  • 『enchant.jsで簡単なゲーム開発』

    はじめまして プラットフォームDivで、アプリエンジニアをしているtyorikanです。 実務は基サーバサイドのプログラマですが、クライアント側のjsメインで書かせて頂きたいと思います。 現在、native言語でスマホアプリを開発するとなれば、 iPhoneアプリはObjective-C、AndroidアプリはJavaでの開発となりますが、 HTML5、JavascriptCSSでアプリを作成することもできます。 実際にアプリとしてマーケットに出すにはPhoneGapでネイティブ化させる、などが必要ですが、 jsでゲームを作るゲームエンジンとして、enchant.jsというものがあります。 ------------- enchant.js は HTML5 + JavaScriptベースのゲームエンジンです。わずか30KBのソースコードで、PC, Mac, iPhone, iPad, A

    『enchant.jsで簡単なゲーム開発』
  • 『node.js + okuyama について』

    はじめまして ブログDivでアプリエンジニアをしている川田です。 今回はV8エンジン上で動作するサーバサイドJavaScriptのnode.jsと 日製の分散キーバリューストアであるokuyamaについての記事を書かせていただきます。 ■ node.jsとokuyamaの主な特徴 ▼ okuyama ・タグ機能 … データにタグ情報を付加することが可能で、タグに紐づいたデータの検索・取得が可能 ・javaで実装されている … 100% javaで実装されているのでクロスプラットフォームで実行可能 ・データの永続化をサポート … データの永続化・非永続化を選択可能で、永続化は特性を選ぶことも可能。 ・構成要素はすべて冗長化可能 … okuyamaを構成※1するマスターノード、データノード共に冗長化可能。またデータノードはレプリケーション機能も有している。 など。 ※1 okuyamaの構成

    『node.js + okuyama について』
  • 『Flashの代替としてのHTML5』

    私は入社して以来、仮想空間サービスのアメーバピグやFacebookアプリの開発などFlashベースのプロジェクトに主に関わって来ましたが(どちらかというとサーバサイドでしたが)、9月より異動になり、既存のFlashコンテンツベースのサービスのスマートフォン対応を担当することになりました。周知の通りiOS(iPhoneiPad)でFlashはサポートされず、ブラウザ上で動かすのであればHTML5関連の技術を使って何とかしなければなりません。Flash的な「タイムラインによるベクターアニメーションを使うアプリケーション」を、既存のSWF素材を活用しつつ、また確立された開発体制をなるべく崩すこと無く、スマートフォンのブラウザ環境でのHTML5においていかに実現するかが目下の課題といったところです。 さて、世間的にも、FlashでできることはHTML5でできるという主張のもと「Flash vs.

    『Flashの代替としてのHTML5』
  • 『株式会社ミクシィ様と合同勉強会を開催しました。』

    こんにちわ Ameba Technology Laboratory (以下ATL) 所属、通称アキバ組 の hattori です。 秋葉原オフィスの話もしたいところですが…今回は、先週末の金曜日に弊社渋谷オフィスにて 株式会社ミクシィ 様と合同勉強会を初めて開催しましたので、その際の様子を報告したいと思います。 ■ 勉強会会場の様子 当日は業務時間後の開催にも関わらず、両社合わせて90名程度の参加者が集まりました。 上写真のように結構な規模。 勉強会のプログラムとしては「 前半戦 : 30分セッション × 4 」+ 「 後半戦 : LT × 5 」という流れで、結構な長丁場でしたが、発表分野も多岐に渡り非常に内容の濃い勉強会でした。 以下では各セッションの発表内容を紹介していきたいと思います。 ( private な勉強会だった事もあり、全ての発表資料を公開する事はできませんがご了承くださ

    『株式会社ミクシィ様と合同勉強会を開催しました。』
  • 『ドキュメント指向データベース「MongoDB」』

    皆様、はじめまして。 アメーバ事業部と言うところでサービス開発のプログラマをしている津田と申します。 先日、M.S.氏より、当エンジニアブログにて「技術に関して書くように」とお達しが下りました。 同じ技術者として、尊敬の気持ちを通り越し、畏怖の念すら抱いているM.S.氏に 「技術」に関して書けと言われるとは、もはや路頭に迷った子羊の気分です。 どうにか違う話題に出来ないかとごまかしてはみたものの、 やはり「技術」に関して書くようにと念を押されてしまいました。 路頭に迷っていても致し方ないので、今後サービスに利用する予定で検証を行っていた 「MongoDB」と言うドキュメント指向データベースに関して紹介させて頂きます。 ■MongoDBとは ここ数年注目を浴びている「NOSQL(NotOnlySQL)」のデータストアの一つ KVSとは異なり、スキーマレスではあるが、カラムに近い概念がある

    『ドキュメント指向データベース「MongoDB」』
  • 『ピクシブ × サイバーエージェント 合同勉強会』

    こんにちはアメーバ事業部のブログDivでエンジニアをしているgenkiと申します。 今回は、今月開催されたピクシブ株式会社様との合同勉強会を初めて開催しまし たので、ご報告したいと思います。 ■勉強会の様子 ピクシブ株式会社様の受付には、数多くのイラストが展示されておりました。 当日は両社合わせて50名程度の参加者が集まりました。 プログラムは、セッション20分×4→LT×4→懇親会という流れでした。 以下では、セッションの発表内容をご紹介したいと思います。 ■ピクシブセッション1:「memcachedからKyotoTcoonへ」 久保達彦さん(twitter: @cubicdaiya)の発表になります。 memcachedからKyoto Tycoonへの移行までについてお話をしていただきました。 memcachedの運用では、UNIX Domain Socketでアクセスを行う事につい

    『ピクシブ × サイバーエージェント 合同勉強会』
  • 『クックパッド × サイバーエージェント 合同勉強会』

    こんにちは、CAMP事業部システムG(以下CAMP)の畑史彦といいます。CAMPのシステムの開発・運用をしています。 ちなみに、サイバーエージェントというとAmebaのイメージが強いですが、このブログには遠山などCAMPのエンジニアも以前に何度かエントリを書いております。 さて、今回はいよいよ私がCAMPのシステムの裏側を・・・ではなく、先月末に開催された当社とクックパッド株式会社様との合同勉強会について報告させて頂きます。単にブログを振られただけで運営に携わっていたわけではないので、どちらかというと純粋に勉強会を楽しんでおりました。 ・勉強会の様子 当日は、外部の方を含めて80名以上の方にご参加頂きました。プログラムは セッション20分×4 → LT×3 → 懇親会 という流れでした。発表の後ろでは、なんと併設されたキッチンにおいて同時並行で懇親会用の料理が作られました。すごいですね。

    『クックパッド × サイバーエージェント 合同勉強会』
  • 『サーバの構築作業やシステム管理を自動化する「Chef」』

    皆様、はじめまして。2010年9月に入社した並河です。 インフラ周りの話題を・・・ということで、今回はサーバの構築やシステム管理作業を楽にしてくれるツールである「Chef」について紹介します。 ■ Chefとは「Chef」は、サーバOSでのインストール・設定・各サービスの状態管理等、諸々のシステム構築や運用作業を自動化してくれるRuby製のシステム管理ツールで、オープンソースとして公開されており、既に、37signalsやEngine Yard、RightScaleなどでも使われており、利用実績も出始めています。 Ruby製のシステム管理ツールといえば「Puppet」を思い浮かべる方も多いのではないでしょうか。ChefはPuppetの競合ソフトウェアとなる位置付けで、出来ることだけでいうと、特別大きな差はないと感じていますが、Puppetは外部DSLとして設定を記載するのに対し、Chefは

    『サーバの構築作業やシステム管理を自動化する「Chef」』
  • mysqlコマンドをより便利に安全にするための小粒なTIPS集|サイバーエージェント 公式エンジニアブログ

    初めまして。2010年の3月に入社した oinume です。新年1月からウィルス性胃腸炎に罹りながらもなんとかこのエントリーを書いています。今回は、mysqlコマンドに関する自分が今まで学んだ&教えてもらった細かい実践的なTIPSを紹介します。小粒ですが何かの役に立てば幸いです。 edit (¥e)コマンド mysqlプロンプトにいながら任意のエディタでSQLが編集できちゃいます。具体的には、mysqlコマンドでプロンプト待ちの状態で mysql> edit のように edit または ¥e と入力すると、環境変数EDITORで設定してあるエディタが立ち上がりSQLが編集可能になります。編集が終わったらエディタを終了して ; とやればSQLが実行されます。viなどターミナルで動くエディタに慣れている人は長いSQLを編集する時に重宝する機能でしょう。この技は前職の同僚に教えてもらって、以降便

    mysqlコマンドをより便利に安全にするための小粒なTIPS集|サイバーエージェント 公式エンジニアブログ
  • 1