タグ

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

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

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

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

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

    『サイバーエージェント新卒エンジニア技術研修2016』
  • 『「ビックトラフィックCAMP」にメンターとして参加してみた』

    はじめまして、15新卒エンジニアの菊地です。 ブログでは、5月15、16日に新卒エンジニア採用イベントの一環として開催された「ビッグトラフィックCAMP」へメンターとして参加した事についてレポートします。 ビッグトラフィックCAMPとは? 自社が運営するサービスをテーマに、大規模トラフィックにおけるサービス開発を体験する、学生の方向けのイベントです。 今回はテレビCMでもおなじみの「755」をテーマに、100万ユーザーの同時アクセスにも耐えられるサーバサイドアプリケーション開発を目指します。1日目はサーバサイドDay、2日目はチューニングDayと計2日間行われました。 1日目のサーバサイドDayは、参加者がそれぞれお好みの言語を選び、開発環境構築やAPIの開発スピードや品質を競います。2日目のチューニングDayは、1日目のサーバサイドDayで開発したAPIに対し、大規模なトラフィックに耐

    『「ビックトラフィックCAMP」にメンターとして参加してみた』
  • 『PiggPARTYでのリアルタイム通信の仕組み』

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

    『PiggPARTYでのリアルタイム通信の仕組み』
  • 『Tellme for Androidで使ったライブラリやツールを紹介するよ』

    Tellme for Androidで使ったライブラリやツールを紹介するよ | サイバーエージェント 公式エンジニアブログ こんにちは。エンジニアの清水です。 昨年の7月まではフロントエンドエンジニアとして主にJavaScriptを書いていたのですが、2014年8月からネイティブエンジニアとしてAndroidアプリを作っていました。 4月からはまたフロントエンド仕事もしています。 今回は、私が開発に携わったTellmeというQ&AサービスのAndroidアプリで利用したライブラリを紹介してみようと思います。サンプルコードも書く意欲が湧いたものは書いていきます。 ※ちなみにこんなアプリです Libraries ButterKnife ButterKnifeはアノテーションを用いてView Injectionを行うライブラリです。 これを使うとonCreate/onCreateViewの中で

    『Tellme for Androidで使ったライブラリやツールを紹介するよ』
  • 『新米Androiderが開発する上できっと役立つであろう10のサイト』

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

    『新米Androiderが開発する上できっと役立つであろう10のサイト』
  • 『flynnを使ったオートスケーリングシステム』

    さて、今回の記事のネタは「flynnというオープンソースを使ってオートスケーリングシステムを構築してみた」というお話です。

    『flynnを使ったオートスケーリングシステム』
  • 『golangのある生活』

    こんにちは 技術部でエンジニアというかプログラマをしております、okzkと申します。 最近ようやくとっかかり始めたgo言語についてグダグダ書いてみます。とはいえgo歴1ヵ月程度のgo弱ですので、生暖かい目で読んでみてください。 go言語について Google謹製の比較的新しめのプログラミング言語です。 詳細は「golang」でググってみてください。 最近ではDockerに代表されるようにgoで作られたメジャーなプロダクトも出てきてますし、そろそろこのビッグウェーブに(ryと思って一か月くらい試行錯誤してみた上での個人的印象は次のようなカンジです。 言語設計における機能の取捨選択が非常に特徴的。 CSPをベースにしているだけに、並列プログラムのサポートがイケてる。 gopher君はまあともかくとして、擬人化マダー? なお言語設計については、go言語FAQをみると「言語として何を取捨選択して

    『golangのある生活』
  • 『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』

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

    『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』
  • 『Amebaの開発環境について』

    コンニチハ たぶんサーバサイドエンジニアの@pnskです。 約1年前に設立した、「Ameba Dev. Center」という 「Amebaの開発環境周りに関わる事であれば、何でもやる」というスタンスで いつか世の中に出しても恥ずかしくない開発環境とその文化をAmebaに根付けられたらなぁと野望を持った組織に所属しています。 さてはて。 今回は、エンジニアブログ執筆の機会をいただいたので、Ameba開発環境についてこしゃべりをしようと思います。 誰得情報ですが・・ Amebaの開発環境ですが、この1年でちょっぴり変わりました。 (誰も気づいていないかもしれないですけど・・・) topicでいうと、GitHubEnterprise、JIRA、HipChatが導入されました。 現在は ・ドキュメント管理はConfluence ・課題管理はJIRA、アジャイル開発補助ツールとしてJIRA Agil

    『Amebaの開発環境について』
  • 『アメーバピグにおけるDB構成&対応記』

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

    『アメーバピグにおけるDB構成&対応記』
  • 『#e100q 新人エンジニアにお勧めする一冊』

    皆様こんにちは。サイバーエージェントエンジニアブログ運営委員です。 今回の記事は、サイボウズさんの企画「エンジニア100人に聞きました」の企画です。 「エンジニア100人に聞きました」とは、サイボウズさんのブログから引用させていただくと >これは、毎回、同じアンケートをそれぞれの企業内で行い、結果を「せーの」で同時公開する、というものです。 >あくまでも「お楽しみ企画」なので、統計学的に有意な結果を得ようというわけではなく、ただ、それぞれの企業カラーを反映した「エンジニアの気風」が見えてきたら楽しかろう、というぐらいのつもり。何より、テクノロジーを愛するエンジニア同士、一緒に面白いことをやって盛り上がれれば、それが一番、というスタンスです。 (サイボウズ式 「エンジニア100人に聞きました」始めます。より) 弊社が参加するのは今回で2回目です。(前回はながら聞きについてアンケートをとりまし

    『#e100q 新人エンジニアにお勧めする一冊』
  • 『2014年始の挨拶と2013年人気記事の発表!』

    あけましておめでとうございます。 あけましておめでとうございます。 仕事柄まだ去年からの障害を引きずっていて年明けどころじゃないよ!と言う方もいらっしゃるかもしれませんが・・・。 新年ということで心機一転システム改善/新規開発、頑張って行きましょう! 昨年は滞っていた更新を定期更新ペースに戻すことが出来たのではないかと思っているサイバーエージェント公式エンジニアブログです。 2013年エンジニアブログランキング それでは、早速ですが2013年の総決算として2013年に公開された記事のアクセス数ランキングを公開いたします! この年始のお時間あるときに読んでいただけましたらと思います。 10位:ピグ麻雀のアルゴリズム ピグのミニゲームとして提供している麻雀ゲームのアルゴリズムについての記事です。 麻雀やったこと無いエンジニアの人たちが麻雀ゲームを作るための苦悩も綴られていますw 9位:redi

    『2014年始の挨拶と2013年人気記事の発表!』
  • 『Node.js Cluster+Socket.IO+Redisによるリアルタイム通知システム』

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

    『Node.js Cluster+Socket.IO+Redisによるリアルタイム通知システム』
  • 『lombokで快適Java生活』

    どうもこんにちは、社内ではJava嫌いで有名になってしまった oinume です。最近Javaに慣れすぎてむしろスクリプト言語が苦手になってきています。今回は「これがあればJavaでの開発もそんなにストレスないかもなぁ」と思える個人的な3種の神器のひとつである lombok を紹介します。 lombokってなに?一言でいうとJavaの野暮ったいgetter/setterメソッドなどを自動的に生成してくれるソフトウェアです。例えば @Data アノテーションをつけて以下のようにメンバー変数を定義するだけで、lombokがgetter/setter/equals/hashCode/toStringのメソッドをコンパイル時に生成してくれます。 package sample; import lombok.Data; @Data public class User { private int id;

    『lombokで快適Java生活』
  • 『redis、それは危険なほどのスピード』

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

    『redis、それは危険なほどのスピード』
  • 『MongoDBを用いたモバイルゲーム開発について』

    こんにちは。アメーバ事業部のブログDivでエンジニアをしている@ygenkiと申します。 今回は、2010年12月末から2011年3月にかけて開発したモバイルソーシャルゲーム(以下、モバイルゲーム)で導入したMongoDBの話をさせていただきたいと思います。 MongoDBについては、すでに当エンジニアブログで津田氏によって紹介されております。 ドキュメント指向データベース「MongoDB」 ■MongoDBを使った理由 今回のゲームは私にとって2つめのモバイルゲーム開発になりました。 前回の開発ではMySQLを使用しておりましたが、モバイルゲーム開発の以下の特徴からMongoDBを採用いたしました。 ○開発効率の向上 モバイルゲーム開発は短期間での開発が求められ、ゲームという特性上仕様変更が頻繁に行われます。スキーマレスであるMongoDBはデータ構造の変更に柔軟に対応する事ができると

    『MongoDBを用いたモバイルゲーム開発について』
  • 『大量のサーバを管理するために、IPMIのお話』

    ● OpenIPMIの導入IPMIは管理対象のサーバにドライバ等を入れておく必要はありませんが、OSからドライバ経由でIP設定などする場合は必要ですので、そういった場合は以下の手順でツールを入れてください。 yum install OpenIPMI.x86_64 yum install OpenIPMI-tools.x86_64 以下のデバイスファイルが作られていればハードウェアとして認識されています。 /dev/ipmi0 その場合は下記のように起動させてください。 /etc/init.d/ipmi start 認識されていない場合は以下のカーネルモジュールが読み込まれていないケースが多いと思います。手動でロードしてください。 /sbin/modprobe ipmi_si /sbin/modprobe ipmi_devintf 以下のようになっていればOKです。 # /sbin/lsmo

    『大量のサーバを管理するために、IPMIのお話』
  • 『株式会社ミクシィ様と合同勉強会を開催しました。』

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

    『株式会社ミクシィ様と合同勉強会を開催しました。』
  • 『サーバの構築作業やシステム管理を自動化する「Chef」』

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

    『サーバの構築作業やシステム管理を自動化する「Chef」』
    daimaruonline
    daimaruonline 2011/01/29
    iPhoneから送信