ブックマーク / labs.gree.jp (18)

  • CTOとはなんなのか、あるいはエンジニアの生存戦略 | GREE Engineering

    Merry Christmas! GREE Advent Calendar もいよいよ最終日、25日目はグリー株式会社でCTOをしておりますふじもとがお送りします。 今日まで24人のGREE Engineersなみなさまにエントリを書いていただいたわけですが、思ったよりも多種多様な内容で、あらためていろいろな方面で素敵なエンジニアがいるなー、としみじみしてしまいました。いやしかしgitとchefの記事人気ですね、そして、「当然CTOはすごい記事書くんですよね」とプレッシャーをかけて楽しむ仲間たちに囲まれてぼくは幸せです、あーすごい幸せー。そんなプレッシャーの中、今までのエントリとはちょっと方向性を変えて、CTOの話でも書いてみようかと思います。なお、ぼくの趣味は多分問題解決です。 そんなわたくしふじもとは来年で、CTOっていう肩書きでお仕事をはじめて10年とかになるんですが、なかなか先輩と

    CTOとはなんなのか、あるいはエンジニアの生存戦略 | GREE Engineering
    dentomo0
    dentomo0 2013/12/25
  • LWFS - LWFへの変換と確認を簡単に! | GREE Engineering

    こんにちは。クライアント基盤チームの中丸です。 先日、公開されたLWF、お試しいただいているでしょうか?凄そうだけど、とっつきにくい、と感じている方もいらっしゃるかもしれません。デザイナはもちろん、プログラマでも「なんか変換できたけど...これ、どうすんだ?」とか「ruby入れて、batch_convert.sh動かして、あ、Windowsだと、えーと?」とか、躓いちゃったりしますよね。 そこで、「とにかく元ファイルを更新したら、自動でLWFに変換してプレビュー」できるツールを作りました。LWFSといいます。 とりあえず、動かしてみるのがわかりやすいので、http://code.google.com/p/lwfs/downloads/list からLWFS (OS XならLWFS-osx-.zipWindowsならLWFS-win-.zip)と、サンプルファイルの一式LWFS_work_

    LWFS - LWFへの変換と確認を簡単に! | GREE Engineering
    dentomo0
    dentomo0 2012/11/16
  • GREEの国際化, その4 - 言語コード | GREE Engineering

    こんにちは、エンジニアの岡崎(@watermint)です。今回も国際化における標準を実際にどのように選び、使っていくかを紹介していきます。今回は言語コードのお話です。 アラビア語 言語コードのお話に入る前にひとつご紹介です。先日、GREEプラットホーム新規11言語のサポートというエントリでもお知らせした通り11月に入って、GREEプラットホームに新しくアラビア語のサポートを追加しました。 これでGREEプラットホームがサポートしている言語は12言語になりました。アラビア語圏のお友達がいらっしゃる方がいらっしゃればぜひご紹介ください。 言語コードも前回紹介した国コードと同様の基準で選ぶことになります。GREEのようなインターネットサービスを提供する場合には、必然的にインターネット上でよく使われるプロトコルが重要な選択基準になります。 インターネット上の言語コードは、BCP 47がデファクトス

    GREEの国際化, その4 - 言語コード | GREE Engineering
    dentomo0
    dentomo0 2012/11/14
  • GREEの国際化, その3 - 国コードを選ぶ | GREE Engineering

    こんにちは、エンジニアの岡崎(@watermint)です。今回は国際化における標準を実際にどのように選び、使っていくかを紹介していきます。標準もたくさんあるので今回は国コードのお話です。 まず標準を選ぶ例としてくにコードを紹介します。 国を示すコードといっても多種多様なコードがあります。例えば次のようなコード体系です。 ISO 3166–1 UN M.49 Geopolitical Codes (旧FIPS 10–4) ccTLD 国コード Wikipediaの国名コードなどを参照していただければ業界ごと、団体ごとにこれら以外のさまざまな標準が見つかると思います。 国コードの違い 国コードは一見それぞれ似通っているのですが微妙な違いがあります。 たとえばISO 3166–1 alpha–2でイギリスはGreat Britainから「GB」というコードが割り当てられていますが、Geopoli

    GREEの国際化, その3 - 国コードを選ぶ | GREE Engineering
    dentomo0
    dentomo0 2012/11/03
  • GREEの国際化, その2 - プロジェクト推進についての基本的な流れ | GREE Engineering

    こんにちは、エンジニアの岡崎(@watermint)です。今回は、 やや抽象的な話ですがシステムやアプリケーション、フレームワークを国際化するときのプロジェクト推進についての基的な流れを紹介します。 どこまで対応するか、どう対応するか 国際化のプロジェクト推進で一番難しいのは、どの国や地域にどれぐらいの比重を置いて推進するか。ということです。すべての地域を意識しすぎるとプロジェクトは一気に停滞して要件が複雑になりすぎますし、あまりにも限定しすぎると後々の変更コストが非常に高くつくことになります。 重要なことは、すべての国や地域の要件を満たしきることは事実上できないという事実を知ることです。ある地域では義務化されていることが、ある別の地域では違法であるなど、プロジェクト推進の各段階では難しい選択を迫られることになります。原点にかえって自分たちのプロジェクトがどのような価値を提供しようとして

    GREEの国際化, その2 - プロジェクト推進についての基本的な流れ | GREE Engineering
    dentomo0
    dentomo0 2012/10/25
  • GREEにおけるJenkins, その5 | GREE Engineering

    こんにちは、エンジニアの岡崎(@watermint)です。 今回も前回に続き初期導入のお話です。 どんどん水平展開する Jenkins導入初期で、いくつかジョブが動き始めるようになったら類似のプロジェクトにどんどん水平展開していくのが最も簡単な方法です。Jenkinsには既存のジョブをコピーして新しいジョブを作る機能がありますので、これを積極的に使いましょう。 GREEでの導入事例ではまず最初に、iOSネイティブアプリのビルドに導入し、ある程度安定して運用が出来上がった段階から、新規開発機能向けのgitランチを追いかける別のジョブを作る等まずは類似のプロジェクトへの展開を最初に行いました。 同様に、PHPのコードをテスト&品質チェックするプロジェクトも最初に作ったジョブをベースにコピーして各種プロジェクトで利用しています。PHPのJenkins上での環境整備についてはPHPでTDD&CI

    GREEにおけるJenkins, その5 | GREE Engineering
    dentomo0
    dentomo0 2012/08/16
  • "PHP Apocalypse"を開催しました! | GREE Engineering

    どうも。GREE開発部の吉川(@tsuyoshikawa)です。 この記事はGREEエンジニアブログではありますが、PHP AdventCalender2011の12/21の回ともなっています。 去る12/17(土)に、弊社会場、主催私で"PHP Apocalypse"なるイベントを開催しましたので、それのふりかえりとご紹介をさせて頂こうかと思います。 イベントの概要 - ATND "PHP Apocalypse"とは このイベントはいわゆる技術勉強会ではありますが、直接的には過去にはてなブックマークで300くらいのユーザを集めた“PHP のよいところとよくないところ - id:k-z-h”というエントリーへのリアクションがきっかけになって起こっています。 エントリーの内容はPHPの批判が含まれるものとなっていますが、その批判自体にどうこうというより、エントリーを書いたid:k-z-h

    "PHP Apocalypse"を開催しました! | GREE Engineering
    dentomo0
    dentomo0 2011/12/22
  • 1時間で携帯サイトをスマートフォン対応にする方法 | GREE Engineering

    初めての投稿となります。エンジニアのmatsuです。 携帯向けウェブサイトを1時間でスマートフォン対応する方法を紹介します。 概要 2011年4月7日のニュースにて携帯電話の新規契約数のうち、スマートフォンが占める割合が50%を越え、スマートフォンが格的に普及する兆しが見えてきました。 現在、スマートフォン向けサイトを新規構築するためのチュートリアルは数多く出ていますが、既存の携帯サイトをスマートフォンに最適化する方法があまり紹介されていないのでこの記事で紹介したいと思います。 このチュートリアルを行うと以下のようになります。 実装 全部で8ステップあります。 このチュートリアルではブログのトップページを例にとって説明します。 前半では文字コードの変更、HTMLの変更といった構造を変更します。後半では絵文字や文字スタイルを行い、仕上げとしてHTML5のバリデーションを行っていきます。最初

    1時間で携帯サイトをスマートフォン対応にする方法 | GREE Engineering
    dentomo0
    dentomo0 2011/04/25
  • DNS サーバ PrimDNS オープンソース公開のお知らせ | GREE Engineering

    こんにちは。インフラチームの ebisawa です。 独自に実装した DNS コンテンツサーバ PrimDNS をオープンソースとして公開させて頂きましたのでお知らせいたします。ご興味がありましたらぜひお試しいただければと思います。 グリー内では特に何もしなくてもなぜか各サーバの名前を DNS 解決できたり、その他いろいろなサービスが提供されています。今回公開させていただいた PrimDNS は、もともとグリーのインフラ内で利用されているものをベースに、一般の利用に向けてアレンジしたものです。 公開先はこちら → http://labs.gree.jp/Top/OpenSource/PrimDNS.html なぜ DNS DNS には、かつてより超定番の実装が存在しますが、何らかの理由でもっと他の選択肢もあるといいのに、と思われたことはないでしょうか。 特に DNS のようなインターネット

    DNS サーバ PrimDNS オープンソース公開のお知らせ | GREE Engineering
    dentomo0
    dentomo0 2011/04/21
  • 多人数開発で Git を使う場合の環境構築 | GREE Engineering

    こんにちは、インフラやってる sotarok です。最近、社内でも「sotarok は そーたろっくと読む」という誤解が広がっていましたので改めて自己紹介しますと、sotarok と書いて「そーたろー」または「そーたろー・けー」と読みます。ロックしてないのでよろしくお願いします。 今日は、Git の話です。 GREE ではずっと Subversion を使っているという話を、以前開発環境の話をしたときに少し触れたことがあります。Subversion での運用方法も、GREE では割と面白い運用をしているのでその話もどこかでしたいのですが、まあ、それは今回は置いておきましょう。どこかで聞いてください。 GREE もその昔 CVS から Subversion に移ったのですが、時代は流れるもので、いよいよ Git 化という流れがきています。Subversion と Git の違いを今更あえて挙

    多人数開発で Git を使う場合の環境構築 | GREE Engineering
    dentomo0
    dentomo0 2011/03/22
  • 大規模インフラの監視システム その2 | GREE Engineering

    こんにちは。グリーのmdoi(@m_doi)です。 今回は、グリーの監視システムについて説明したいと思います。以前、こちらの記事にて、リソース監視システムの説明をさせて頂きましたが、死活監視やログ監視については語られなかったので、気になっていた方も多いと思います。ということで、今回は、グリーのインフラにおける死活監視やログ監視、アラート通知システムを紹介したいと思います。 何を使っているの? グリーでは、死活監視にNagiosを使用していました。監視システムの中では、かなり有名なソフトウェアですから、監視システムの構築に使用したことがある方も多いのではないでしょうか。プラグインも豊富に存在するので、様々な監視を行うことができます。死活監視は、このNagiosの機能をそのまま利用し、ログ監視は、Nagiosと独自に作成したエージェント及びログフィルタを連携させて行っていました。 全体のシステ

    大規模インフラの監視システム その2 | GREE Engineering
    dentomo0
    dentomo0 2011/01/20
  • 第23回 InfoTalk 分散ストレージの資料を公開いたしました | GREE Engineers' Blog

    はじめまして。グリーの田尻です。 先日、10月15日に産業技術大学院大学で行われた第23回 InfoTalk 分散ストレージにて、弊社kgwsが登壇させていただきました。 第23回 InfoTalk 分散ストレージ 講演資料を公開して欲しいとのご意見をいただきましたのでグリーエンジニアブログにて公開させていただきますね。 Gree大規模分散ストレージ戦略 ご意見・ご感想は公式ハッシュタグまでお願いいたします。#nanofs グリーの大規模分散ストレージ戦略(nanofs) グリーの大規模分散ストレージ戦略(nanofs) Vol.1 グリーの大規模分散ストレージ戦略(nanofs) Vol.2

    第23回 InfoTalk 分散ストレージの資料を公開いたしました | GREE Engineers' Blog
    dentomo0
    dentomo0 2010/10/27
  • グリーの大規模分散ストレージ戦略(nanofs) Vol.2 | GREE Engineering

    はじめに グリー株式会社でエンジニアをしておりますkgwsと申します。 今回は、前回に引き続き分散ストレージ(nanofs)のHTTPメソッド毎の処理を紹介させていただければと思います。 nanofsは5つのHTTPメソッド(GET、PUT、DELETE、HEAD、MKCOL)をサポートしております。今回は主なGET、PUT、DELETEの3つについてご説明させていただきます。 まずは構成のおさらい nanofsは、主に3つのプロセスで構成されております。 nanofsd(dispatcher) アプリケーションサーバからリクエストを受け取り実際に保存されているnanofsnに振り分ける 5つのHTTPメソッドをサポートしている(GET、PUT、DELETE、HEAD、MKCOL) データベース(KVS)に保存したデータの情報を送る queueに処理の指示を送る nanofsw(worke

    グリーの大規模分散ストレージ戦略(nanofs) Vol.2 | GREE Engineering
    dentomo0
    dentomo0 2010/10/12
  • 大規模インフラの監視システム | GREE Engineers' Blog

    こんにちは。インフラチームの ebisawa です。 今回はグリーのインフラにおける各種機器の監視がどのように行われているのかご紹介させていただきたいと思います。一般にサーバの監視というと、システムダウンを検出するための死活監視を意味する場合と、ネットワークトラフィック等のモニタリングのことを意味する場合とがあります。今回の監視は特に後者についてのお話です。大規模なインフラの監視には、やはり特有の課題があります。 どんなツールを使っているのか グリーではサーバの各種リソース使用状況をモニタリングしてグラフ化するためのツールとして、Cacti を利用しています。Cacti は、大変有名なツールなので皆様ご存知かと思いますが、バックエンドの RRDtool で作成したグラフを閲覧するための使いやすいユーザーインターフェイスを備えています。 http://www.cacti.net/ ツールの使

    大規模インフラの監視システム | GREE Engineers' Blog
    dentomo0
    dentomo0 2010/10/09
  • エンジニア長期インターン GREE Studio 2010 5日目 | GREE Engineering

    前回に引き続き、井上が書かせていただきます。 GREE Studio 2010 5日目の講義内容はデータマイニングエンジニア、moritaさんによる「データマイニング」。業務のログ解析において用いられるデータマイニングの内容です。前回はレポート形式でしたが、今回はもう少しエンジニアリングブログに近い形で書こうと思って頑張りました。宜しくお願いします。今回のブログの内容は、 データマイニングの基礎知識 大規模データへの挑戦 になります。後で定義しますが、ここでの「データマイニング」とはデータを取得し、集計する作業も含めてこの言葉を指すことにしています。また、解析者とはデータマイニングを行う人のことを指します。(GREEではデータマイニングエンジニアと呼ばれています。)moritaさんの講義で学んだことを自分なりに膨らましてみました。色々誤りがあると思いますが、そういった部分は(優しく)指摘し

    エンジニア長期インターン GREE Studio 2010 5日目 | GREE Engineering
    dentomo0
    dentomo0 2010/09/16
  • グリーの開発環境(歴史と概要) | GREE Engineering

    こんにちは。グリーでインフラ的なお仕事をしているsotarokです。今回は、グリーの開発環境についてお話します。 グリーの開発環境 開発環境どうするか、という問題はエンジニアリングをしている会社であれば誰しも一度は悩んだことのある問題だと思います。開発環境の作り方は、会社やサービスの規模、事業の形態などによって様々ですし、割と小さな規模から「歴史的な経緯」を経て成長してくることが多く、これといったスタンダードがあるわけでもありません。 グリーでも初期の頃から、いくつかの経緯を経て現在の開発環境があります。これは、特に画期的な開発環境やスタンダードに合わせてつくったわけではなく、日々の業務のなかで、あれこれ困ったことやより便利にしたいことなどを解決していくうちに作り上げられたものです。 今回は、グリーの開発環境の移り変わりと、今後の開発環境づくりについてお話させていただきます。 初期の頃の開

    グリーの開発環境(歴史と概要) | GREE Engineering
    dentomo0
    dentomo0 2010/08/24
  • グリーの大規模分散ストレージ戦略(nanofs) | GREE Engineering

    はじめに はじめまして、グリー株式会社でエンジニアをしておりますkgwsと申します。今回は、グリー内で写真データの保存を行っている分散ストレージ(nanofs)を紹介させていただければと思います。 背景 弊社で運営させていただいている "GREE" ではユーザの写真や動画データを保存することができます。1億ユーザを目指すグリーは、ユーザの増加とともに写真や動画データは上限なしに増加していきます。またユーザの皆様の大切なデータを失うことは許されませんし、サービスを止めることも許されません。そんな状況の中、様々な技術や仕組みを使いサービスを運営してまいりました。 グリーのストレージの歴史は大きく分けて3世代がありました。 第一世代 第一世代ではアプリケーションサーバからNFSサーバをマウントし画像データを保存しておりました。簡単に導入できることと高価なサーバを使用すれば信頼性や安定性も保たれる

    グリーの大規模分散ストレージ戦略(nanofs) | GREE Engineering
    dentomo0
    dentomo0 2010/07/12
  • GREE製 MySQL Proxy | GREE Engineering

    こんにちは。プラットフォーム開発部のますやまと申します。 はじめに 梅雨が近づいてきてだんだん蒸し暑さを感じる季節になってまいりました。毎年この時期になると、我が家では梅酒を作ります。梅酒なんて完成品を買ってくればいいじゃない、と思うかもしれませんが、市販品だとなかなか好みの味に出会えないものです。そこで梅を数kg買ってきて漬けるわけですが、毎年ホワイトリカーや焼酎、ブランデーと酒を変えてみたり、氷砂糖の量を変えてみたり、はちみつにしてみたりするうちに、自分の理想の味に近づいてきました。やはり完全に自分好みにできると満足度は高くなります。 普段、グリーではオープンソースのソフトウェアを使用することがほとんどですが、やりたいことと「ちょっとちがう」ということが多々あります。そこで、複数のソフトウェアを組み合わせて何とか用途に合わせて使ったり、パッチを書いて挙動を変えてしまうのが一般的だと思い

    GREE製 MySQL Proxy | GREE Engineering
    dentomo0
    dentomo0 2010/06/23
  • 1