タグ

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

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

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

    『サイバーエージェントグループ Go勉強会』
    kamatama_41
    kamatama_41 2016/07/01
    おお、すごい
  • 『画像システムの車窓から』

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

    『画像システムの車窓から』
  • 『ママエンジニアのワークライフ』

    こんにちは。現在フロントエンドエンジニアへ転向中の神谷(@fuzzy31u)です。 このブログに登場するのは2回目。前回執筆時はAndroid開発をやっていたんですねー。 …あれから3年。 大学院修士課程修了、結婚、出産、産休/育休と怒涛の日々を経て、現在はAWA株式会社でサーバでもフロントでもjsを書く毎日を送っています。 そんな育休明け半年の私が再びエンジニアブログを執筆することになりましたので、今回はママエンジニアとしてどういったワークライフを送っているのかをテーマに筆を執らせていただきます。 ワークスタイルリモートワークAWAでのワークスタイルはとても柔軟です。 子どもが風邪で保育園をお休みしないといけない時や、予防接種などで小一時間抜けなければならない時には在宅勤務が可能です。 こちらは夕会風景です。 Slackで/roomと打つだけでビデオミーティングが開始できるRoomや/h

    『ママエンジニアのワークライフ』
    kamatama_41
    kamatama_41 2015/10/30
    TDD(定時-Driven-Development)
  • 『Flexible Blue Green Deploymentのススメ』

    どうもこんにちは。@stormcat24です。前回寄稿した記事から1年半ぶりになります。 主な仕事は業務中のTwitterで、その傍らでAmebaFRESH!というサービスを絶賛開発してたりしています(この記事が公開される頃にはリリースしてるかしら?)。何かネイティブやりに意気揚々と異動してきたんですが、いつの間にかサーバサイドエンジニアになってました。まあサーバサイドといっても、自分はかなりWebオペレーション寄りなんですけど。 で、今回はFlexible Blue Green Deploymentの仕組みを作ったよっていうお話です。 そもそもBlue Green Deploymentとは Blue Green DeploymentとはImmutable Infrastructure(不変なインフラストラクチャ)思想の一貫で、サーバの内容やアプリケーションを更新したい場合に、稼働している

    『Flexible Blue Green Deploymentのススメ』
  • 『CyberAgentでの「うるう秒」対策』

    皆様うるう秒対応お疲れ様でした。こんにちはこんにちは!!インフラ基盤サービスグループという名前のアレに所属させてもらって、画像配信基盤とかネイティブアプリ基盤などのインフラの面倒を見させてもらってる、@kakerukaeruと申します。 副業でジャック・ニコル◯ンの偽物をしたり社内chatにAAや画像を貼って場を荒らす和ませる仕事をしております。 はいというわけで、 ここ最近うるう秒対策チームを私と@nekoruriさんの二人でやっていたのですが、 せっかくだからウチはこういう対策やったよ、ってのを 「you エンジニアブログに書いちゃいなよ」って雑談から始まり、 「me エンジニアブログに書いちゃいなよ(?)」となり、 公式エンジニアブログに初参戦させていただく運びと相成りました。 もううるう秒終わってんじゃねーか、うるう秒の前に公開しろや。とは僕も思いますが、突っ込まないで下さい うる

    『CyberAgentでの「うるう秒」対策』
  • 『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』
  • 『PiggPARTYでのリアルタイム通信の仕組み』

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

    『PiggPARTYでのリアルタイム通信の仕組み』
  • 『アキバ系社会人ドクターのすすめ』

    こんにちは.技術部・秋葉原ラボのエンジニア,2年目(そろそろ3年目)のKazumiです. 弊社のエンジニアブログでは,技術の話が多いですが,今回は,社会人ドクターをしている私の社会人ドクタースタートの経緯や,エンジニアと社会人ドクターの二足のわらじ生活,社会人ドクターを始めて気づいたことなどをご紹介したいと思います. 私は,現在入社2年目でD1になります(このエントリーが公開される頃には入社3年目でD2??).技術部・秋葉原ラボでデータ分析機械学習システムの開発・運用を担当しながら,とある国立大学の博士後期課程で金融工学の研究をしています. もう少し具体的に説明します. 業務でやっていることは,Java・R・Pythonを使ったデータ分析機械学習システムの設計・開発・運用です.現在は,トレンド検知システムやスパムフィルタリングシステムに携わっています. 一方,大学院での研究テーマは

    『アキバ系社会人ドクターのすすめ』
  • 『fluentd + Elasticsearch + kibanaでCassandraモニタリング』

    はじめまして。インフラ&コアテク部の鳥垣と申します。普段はAmeba Smart Phone PlatformやAmebaの基幹系サービス全般のインフラを見る仕事をしております。 昨今fluentd + Elasticsearch + kibanaを使ったリアルタイムモニタリングが流行っていますが、これを使ってCassandraのステータスをモニタリングするシステムを作ってみましたので、そのお話をさせていただければと思います。 構築のきっかけこちらのサイトにてdstatのモニタリングをkibanaでやっている記事を拝見し、Cassandraのステータスも同じようにリアルタイムグラフの描画ができないかと考えました。 以前にWebSocketで監視もリアルタイムにという記事でもあるとおりリアルタイムモニタの仕組みはありましたが、kibanaの検証も兼ねてリアルタイムのグラフ描画にチャレンジし

    『fluentd + Elasticsearch + kibanaでCassandraモニタリング』
  • 『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』

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

    『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』
  • 『TOTEC2014 インフラチューニング(チューニンガソン)で優勝したはなし』

    TOTEC2014 インフラチューニング(チューニンガソン)で優勝したはなし | サイバーエージェント 公式エンジニアブログ インフラ&コアテク部の仲山です。 「TOTEC2014 インフラチューニング」という社内チューニンガソンイベントで優勝をいただいたので、 技術ブログを書くことになりました。 TOTECは、サイバーエージェントグループ内の技術者コンテストで、 インフラ、フロントエンド、サーバサイドの分野ごとに、 「チューニンガソン」と呼ばれる形式でその速度向上を競い合います。 今回の「インフラチューニング」では、 参加者はソフトウェアのソースコードを改変できないため、 あくまでミドルウェア等の変更、チューニングや、サーバ構成の最適化のみで闘います。 主なレギュレーション 運営があらかじめ用意したMediaWikiの応答速度を競う。 ソースコードの変更は禁止だが、設定ファイルの編集は

    『TOTEC2014 インフラチューニング(チューニンガソン)で優勝したはなし』
  • おすすめオブジェクト指向練習方法 | サイバーエージェント 公式エンジニアブログ

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

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

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

    『コードのバグはコードで見つけよう!』
  • 『Javaプロジェクトでテストをたのしく書くための試み』

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

    『Javaプロジェクトでテストをたのしく書くための試み』
    kamatama_41
    kamatama_41 2014/05/08
    良記事だけどJavaが不当にDisられてる感じがする(-_-;)
  • 『Redisとハサミは使いよう』

    ロック機能のポイントはSETNXです。 指定したキーがなかった場合は値をセットして1を返し、 既に存在する場合は何もせず0が返ってきます。 つまり、1はロック成功、0は他からロック済みと判断することができます。 それでは実装に進みましょう。 まずロックのインタフェースを用意します。 public interface Lock { public void lock() throws TimeoutException; public void unlock(); } 最低限のロックとアンロックを用意しました。 続いて中身を実装します。 public class RedisLock implements Lock { private static final String LOCK_KEY_PREFIX = "lock:"; private static final int LOCK_EXPIR

    『Redisとハサミは使いよう』
  • 『Node.js Cluster+Socket.IO+Redisによるリアルタイム通知システム』

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

    『Node.js Cluster+Socket.IO+Redisによるリアルタイム通知システム』
    kamatama_41
    kamatama_41 2013/12/26
    本家SocketIOにプルリクしたのかー。
  • 『ピグ麻雀のアルゴリズム』

    皆様初めまして。 12年度新卒のぱっとしない方のハカマタです。 アメーバピグの制作部署で、サーバサイドエンジニアとして陰ながら頑張っています。 さて、突然の告白ですが最近私は仕事中にアメーバピグで麻雀をしています。 しかし私は今まで一度たりとも叱られたことがありません。 それは、私が叱責に耐えうるメンタルが無いと先輩方に諦められているからでしょうか? 違います、私は麻雀ゲームの制作者メンバーで、デバッグという名目で、ピグで麻雀をしているためです。 日の記事は、ピグでリリースしたピグ麻雀についてお話します。 ピグ麻雀エンジニア・ディベロッパー・デザイナー各1名で制作したもので、 私はエンジニアとして参加しました。 サイバーエージェントのクリエイターブログに過去の記事として、デザイナーの鈴木さんの記事『ピグ麻雀におけるデザインのポイント』と、ディベロッパーの鈴木さんの記事『ピグ麻雀がリリー

    『ピグ麻雀のアルゴリズム』
    kamatama_41
    kamatama_41 2013/10/10
    “動作確認では確認しづらいテストはユニットテストで動作を担保しました。実際に200以上のテストケースを作成しました。”
  • 『弊社の最近のDevOpsへの取り組み』

    はじめまして。Amebaでインフラを担当しています山口と申します。 某所ではリア充イメージ(?)の強い弊社ですが、所属するインフラ部門は男性100%で構成されている上、私は女性っぽい名前ながらも中年のおっさん(趣味料理)でございます。すんません。 それはさておき、ご存じの方もいらっしゃるかもしれませんが、弊社ではオーケストレーションツールとしてChefを使っております。私は参加しませんでしたが、最近、ChefConf 2013も開催されたことですし、最近の弊社でのDevOps、特にその中でも一風変わったChefの使い方についてお伝えしようと思います。 EC2インスタンスをつくる 最近ではOpsWorksなんかもありますが、稿執筆時点(2013年6月)ではまだまだ発展途上で、弊社がサービスを作る上で必要な機能が網羅されていませんでしたので、自前のChef Serverを利用しています。

    『弊社の最近のDevOpsへの取り組み』
  • 『Velocity 2013 レポート』

    ちょりーっす!コミュニティ部門でWebデベロッパーをしています石(@t32k)です。今回は6/18-6/20、米国のサンタクララで開催されたVelocity 2013のレポートを書いてみるよ。 Velocityは『ハイパフォーマンスWebサイト』の著者でも有名なSteve Souders氏が2008年から開催している、Web Performance(フロント、バックエンド問わず), Web Operationsなどを幅広く取り扱ってるカンファレンスです。また同名のカンファレンスが、ニューヨーク、ロンドン、北京でも開催されており、まさしく世界的なカンファレンスと言ってもいいでしょう。 『ハイパフォーマンスWebサイト』を読んだ時から、私にとっていつかは行きたいと思ってた憧れのカンファレンスだったので、3日間興奮しまくりでした。その中でも特に印象的だったTwitter社のMarcel Dur

    『Velocity 2013 レポート』
  • 『第6回テックヒルズでアメーバピグにおけるJenkinsの活用例を発表しました。』

    はじめまして。 アメーバ事業部でアメーバピグの開発/運用を担当しております、丸山と申します。 去る6月18日、CROOZ株式会社主催の勉強会テックヒルズにて第6回はJenkinsをテーマにして開催されました。そこでアメーバピグにおけるJenkinsの活用事例について登壇の機会を頂きました。 当日は、すでにローンチして2年以上経った状態でのアメーバピグにおいて、 * コード品質管理 * バッチ制御 * オペレーションの自動化 の3点をJenkinsを利用して如何に実現してきたかを実例を交えて話させていただきました。 が、あまりにも内容が赤裸々すぎたので後で会社から怒られないか若干心配です。 なお、発表時の資料をslideshareに上げておりますので、これからJenkinsを導入する方にとってで少しでも参考になれば幸いです。

    『第6回テックヒルズでアメーバピグにおけるJenkinsの活用例を発表しました。』
    kamatama_41
    kamatama_41 2013/06/21
    サイバーエージェントさんのJenkins事例