タグ

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

  • 『Responsive Image as Serviceへの取り組み』

    こんにちは、森野耕平(@kohei_april20)と申します。 最近は社内向けのResponsive Image as ServiceとしてHayabusa(https://hayabusa.io/)というものを開発・運用しています。今回はそのResponsive Image as Serviceとその取り組みについて紹介させて頂きたいと思います。 背景 近年、スマートフォンなど接続デバイスが急増してきたことに加え、リッチなユーザー体験のニーズの高まりによって、ウェブサービスの開発・運用の複雑さが増してきいます。多くの場合ウェブページにおけるデータの大半を占めているのは画像で、この画像を効率よく最適な形で配信することが重要になってきます。 そのためにはデバイスに応じて解像度別の画像や、フォーマット別の画像(例えばwebpが利用可能なデバイスにはwebpを使うなど)を生成したり、更に減色や

    『Responsive Image as Serviceへの取り組み』
    hamaco
    hamaco 2015/12/09
  • 『最速を究める! 2つのサーバ間で特盛りデータを30倍速で転送する方法』

    最速を究める! 2つのサーバ間で特盛りデータを30倍速で転送する方法 | サイバーエージェント 公式エンジニアブログ こんにちは. エンジニアの平野です. ふだんはプライベートクラウドのサーバハードウェアとストレージを担当しています. サーバのリプレイスや増設, 仮想サーバの移植などでテラバイトクラスのデータを2つのサーバ間で転送することがよくあります. こんなとき, 転送終了を待ちながら「あと何時間掛かるのかなー」とか「もっと速く転送終わらないかなー」なんて考えたことはありませんか? 今回は下記のようなシーンで活躍する, 特盛りデータを30倍高速に転送する方法をご紹介します. - サーバの交換でデータを移設したい - MySQLスレーブサーバの増設したい - 仮想サーバを別のホストに移植したい - 大量のファイルを別のサーバに移設したい - 大容量データをバックアップしたい ■ 環境を用

    『最速を究める! 2つのサーバ間で特盛りデータを30倍速で転送する方法』
    hamaco
    hamaco 2015/07/10
  • 『アメーバピグへの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導入までのもろもろ設定記』
    hamaco
    hamaco 2014/12/19
  • 『かんたんパッケージマネージャDuo』

    みなさん、こんにちは。Ameba事業ゲーム部門の平木(Layzie) と申します。 最近はSteamで安いゲームを漁ってばかりの毎日です。このエンジニアブログでは初めて執筆になります。 さて、今回エンジニアブログで何を書こうか悩んだのですが、悩んだ結果Duoというパッケージマネージャの紹介をしようということになりました。 このDuo、GitHubのStar数は結構多いんですが、(2014/11現在2618Star)あまり紹介されてる記事とかが無いので紹介してみようと思った次第です。 Duoの特徴 昨今、フロントエンドで使えるパッケージマネージャは色々あると思います。厳密に言うとサーバ側のJavaScript実装ですがNode.jsのパッケージマネージャであるnpmにフロントのJavaScriptライブラリを登録して使うというパターンもありますし、新規プロジェクトの雛形を作ってくれるYe

    『かんたんパッケージマネージャDuo』
    hamaco
    hamaco 2014/11/20
  • 『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』

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

    『MySQL初心者に贈るインデックスチューニングのポイントまとめ2014』
    hamaco
    hamaco 2014/10/09
  • 『俺達のFabric 〜余計な仕事はFabricに任せよう〜』

    どうも、ガールフレンド(仮)で窓際エンジニアをやっていたり、ウチの姫さまがいちばんカワイイで窓際エンジニアをやっていたりする Wataru です。(PCmacです) 窓が近いとエアコン戦争が激しいわけですが、やっと秋も近づいてきて戦争も終わりが見えてきたのでしょうか?残暑お見舞い申し上げます。え?遅い? さて、今回はFabricの紹介をさせて頂きたいと思います。 もしあなたが千手観音のようにたくさんの手を持ち、サーバのオペレーションをできるとしたら、どうでしょう? そう、そんな神様のような事をできるのがFabricというツールです。 Fabricって何? まあまあ大げさなことを書きましたが、Fabricはコマンドラインのツールです。Pythonでできていて、SSHの作業を効率化してくれるものです。アプリケーションのデプロイや管理がすごく楽になるんです。 リモートやローカルのシェルコマンド

    『俺達のFabric 〜余計な仕事はFabricに任せよう〜』
    hamaco
    hamaco 2014/10/06
  • 『TOTEC2014 インフラチューニング(チューニンガソン)で優勝したはなし』

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

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

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

    おすすめオブジェクト指向練習方法 | サイバーエージェント 公式エンジニアブログ
    hamaco
    hamaco 2014/08/08
  • 『アメーバピグにおけるDB構成&対応記』

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

    『アメーバピグにおけるDB構成&対応記』
    hamaco
    hamaco 2014/05/22
  • 『ぼくがかんがえたさいきょうの LDAP テスト法』

    こんにちは。 全社システムの吉田です。 私の所属する全社システムでは、主に社内向けシステムの構築や運用を行っています。先日、社内の認証に用いている LDAP サーバーのバッチを作成しました。 全社システムでは、コーディングをする際には主に Ruby を用いています。 Ruby から LDAP とお話するには、ActiveLdap というモジュールを使用しました。ActiveLdap の利用法についてはるびまに記事が載っています。Rails を使用した事のある人ならば、きっと直感的に使用出来ると思います。 ところで、このバッチ処理のテストはどうすれば良いでしょう?? 出来れば LDAP のモックを使った Unit Test を書きたい所です。でも、適当なモックを探して見たのですが、なかなか見つかりませんでした。Schema 登録無しで OpenLDAP と ActiveDirectory の

    『ぼくがかんがえたさいきょうの LDAP テスト法』
    hamaco
    hamaco 2014/04/17
  • 『Node.js Cluster+Socket.IO+Redisによるリアルタイム通知システム』

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

    『Node.js Cluster+Socket.IO+Redisによるリアルタイム通知システム』
    hamaco
    hamaco 2014/01/08
  • 『#e100q エンジニア100人に聞きました~ながら聴き~』

    >これは、毎回、同じアンケートをそれぞれの企業内で行い、結果を「せーの」で同時公開する、というものです。 >あくまでも「お楽しみ企画」なので、統計学的に有意な結果を得ようというわけではなく、ただ、それぞれの企業カラーを反映した「エンジニアの気風」が見えてきたら楽しかろう、というぐらいのつもり。何より、テクノロジーを愛するエンジニア同士、一緒に面白いことをやって盛り上がれれば、それが一番、というスタンスです。

    『#e100q エンジニア100人に聞きました~ながら聴き~』
    hamaco
    hamaco 2013/11/06
  • 『ピグ麻雀のアルゴリズム』

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

    『ピグ麻雀のアルゴリズム』
    hamaco
    hamaco 2013/10/13
  • mysqlコマンドをより便利に安全にするための小粒なTIPS集|サイバーエージェント 公式エンジニアブログ

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

    mysqlコマンドをより便利に安全にするための小粒なTIPS集|サイバーエージェント 公式エンジニアブログ
  • 『node.js + okuyama について』

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

    『node.js + okuyama について』
    hamaco
    hamaco 2012/01/12
  • 『【研究課題レポート抜粋】Jenkins+Unityで構築するスマフォアプリビルドサーバー』

    【研究課題レポート抜粋】Jenkins+Unityで構築するスマフォアプリビルドサーバー | サイバーエージェント 公式エンジニアブログ

    『【研究課題レポート抜粋】Jenkins+Unityで構築するスマフォアプリビルドサーバー』
    hamaco
    hamaco 2011/12/09
  • 『mongodb - Geospatial Indexing』

    こんにちは。Amebaでアプリケーションエンジニアをしています、宍戸です。 今回は、mongodbの機能であるGeospatial Indexingについて、v1.6系、v1.8系、v2.0系について特徴的な点の比較検証をおこなってみた結果についてまとめたいと思います。 ■地理空間インデックスについて 地理空間のインデックスは以下のような機能になります。(日語ドキュメントから引用) MongoDBでは、二次元の地理空間のインデックス(geospatial index)を持っています。これは位置をベースにしたクエリーのためのもです。たとえば、"自分の場所から近いNアイテムを取得"といったことです。また"自分の場所から近いN個のミュージアムを取得"と言った追加のフィルターを追加することも効果的にできます。 位置情報の保持方法については、公式ドキュメントにあるように、緯度と経度を配列などで保持

    『mongodb - Geospatial Indexing』
  • 1