・データベース的な観点でのソーシャルゲームの特徴 ・データモデル ・ソーシャルゲームに従来型RDBMSを使うべきか、�流行りのNoSQLで行くべきか ・負荷対策 (アーキテクチャ面) ・負荷対策 (ツール面) ・インフラエンジニアのキャリアについて
![FINAL FANTASY Record Keeperのマスターデータを支える技術](https://cdn-ak-scissors.b.st-hatena.com/image/square/d4788daf0c106a2790727ab1c271892c9e3efc3f/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fdenashibukawa-150908022255-lva1-app6891-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
こんにちは!白ヤギの開発者、森本です。 白ヤギではいま API サーバーを Go 言語で開発しています。 皆さんも Go の話題をよく見聞きするようになっていると思います。今回は白ヤギの業務でどんな風に Go を使って開発しているかの一端を紹介します。 余談ですが、先日、大学の先生とお話ししたときにこんな話を伺いました。その先生は学生にプログラミングを教えているそうですが、何割かの学生は及第点に届かないそうです。しかし、そういった学生がプログラミングの素養がないかというとそういう訳ではなく、プログラミングを学ぶ上でその学生にとって何が理解を促すのかが違うだけなのだと仰っていました。教える側として全ての学生が習得できるプログラミング教育というのを見つけられていないのが悔しいといった話をされていました。 何かを学ぶというのを一般論では語るのは難しいということかもしれません。そのため、私はこうい
幅広い開発者にGoによるコーディングを試してもらえるよう、前半はWindows環境+Eclipseを前提とした開発環境の作り方と、Goアプリケーションのビルド方法について説明します。後半は、「Goji」を利用した簡易的なWebアプリケーションの作り方について説明しますが、Goの構文や書き方といった基礎的なことの説明は割愛します。もし、Goプログラミングの基本を学習したい場合は、Webブラウザを使ってGoのコードの入力や実行を試すことができる「A Tour of Go」を試してみてください。 本稿を通して、1人でも多くの方にGoで開発を行うメリットや楽しさを実感していただけると幸いです。 Goの利点 世の中に様々な実績あるプログラミング言語が存在する中で、改めてGoを採用することにどのような利点があるのでしょうか? 私は次のような利点を感じています。 ビルドした結果が「環境依存のない単一の実
Go言語の最新版となるGo 1.4がリリースされました。Go 1.4ではAndroidがサポート対象プラットフォームとして加わり、Go言語だけでAndroidアプリケーションの開発が可能になっています。 Go言語は2009年に開発が始まった言語で、Googleがオープンソースで開発しています。シンプルにコードを記述でき、タイプセーフかつメモリセーフにできているため安全なプログラムを記述しやすく、並列処理の記述も容易、コンパイルや実行が高速などの特長があります。 現在、Linux、Mac OS X、Windows XP以降、FreeBSD 8以降のOSに対応しており、Google App Engineでもサポートされるようになりました。 Go 1.4では過去のバージョンとの互換性を維持し、これまでのコードはほぼそのままコンパイルし実行できると説明されています。 Go 1.4で最大の新規機能は
この記事ははてなエンジニアアドベントカレンダー2014の8日目です。 今回は、Go言語でサーバ管理ツール Mackerel のコマンドラインツールmkr を作るときに調べたこと、考えたこと、やったことについて紹介します。(mkr は現時点では開発版での提供になります。) コマンドラインツールについて コマンドラインツールを作るにあたって、@deeeet さんの YAPC Asia 2014 での発表資料が非常に参考になります。 書籍 UNIXという考え方ーその思想と哲学 の内容をベースに、コマンドラインツールはどうあるべきかということが丁寧に説明されています。 上記資料から引用させていただくと、コマンドラインツールにおいて重要なポイントは以下の7つであるとされています。 1つのことに集中している 直感的に使える 他のツールと連携できる 利用を助けてくれる 適切なデフォルト値を持ち設定もでき
Help us understand the problem. What is going on with this article? 仕事で Golang を使ってウェブアプリを作ることになりそうなので、どんな構成がいいのか考えてみる。あくまで前提ありきの選択なので、何でもかんでも適用できるわけではない。 JS や静的ファイル部分は今のところ考慮していない。単によく知らないので。 突っ込み大歓迎です。これいいよ!とか教えてください 前提 多機能なフレームワークよりシンプルなフレームワークに色々組み合わせる方法をとりたい。 開発者は数名程度。Golang に精通している開発者が 1 名いる。残りはこれから。 開発者は Django での開発経験が豊富な人が多い 全員ウェブ開発経験はそれなりに積んでいる。 HTML と JSON 両方のパターンが存在するのでテンプレートエンジンは重要。 JS
「pecoってツールらしきものが流行っている」と思いつつ、導入とか難しそうと思って後回しにしていたんですが、気がついたら自分の手元のbash設定ファイルにpecoを使う関数が定義されていたので、改めて初歩からやってみました。 説明に使用しているシェルはお馴染みのbashです。 pecoとは GitHubのpecoのサイト とてもシンプルなツールで 「標準入力から受けた行データをインクリメンタルサーチして、選択した行を標準出力に返す」 コマンドです。 シンプルゆえに様々な組み合わせで効果を発揮します。あらゆる場面での選択肢を標準入力に渡して、選択された結果を標準出力から受け取って加工してコマンド実行をする、というのが基本的な流れ。 説明じゃ伝わらないので実例を体験したほうが早いかも。 peco のインストール pecoで検索すると「pecoはGoでできている」とか出てきて「Goってなんぞや」
そういえば、はてなさんが、「mackere」っていう、webサービスをリリースしたよ。 はてなさんが、社内で2007年から使っていたサーバー監視ツールなので、実績はお墨付きだよ。数千台のサーバーでも監視できるよ。数万台かもしれないけど。 エージェントはgoで作っているよ。 サーバー側はscalaで作っているよ。 実はサーバーだけでなく、macやwindowsでも動くので、パソコンが閉じたときに奥さんにメールを飛ばして、そろそろ帰ってくるんじゃないかという時間を奥さんに知らせたりできるよ。 今まで3回くらいつくりなおしたよ。 APIも豊富で外からいろいろたたけるよ。 プラグインを作るといろいろできるよ。 プラグインでdocker上のコンテナを監視するプラグインを偉い人がつくってたよ。 サーバーにエージェントをyumとかでダウンロードするとサクっと使えるよ。 mackerelは英語で鯖って意味
今の時代、Googleで検索するだけでたくさんの情報をみつけることができますが、見つかった情報が本当に価値がある情報なのかどうか、限られた時間で見極めるのはなかなか大変なことだと思います。 そのような時に利用したいのがキューレーションリスト。「Awesome Ruby」はRuby関連ライブラリやリソースへの厳選されたリンク集で、用途ごとに定番情報へのリンクが張られているので、ざっと概略を知りたいときに役に立ちそうです。 例えば、ファイルアップロードでは、環境構築ツールではrvmとrbenvが、ファイルアップロードではpaperclip、carrierwave、dragonflyなどのライブラリの名前が挙げられていて、このチョイスは誰もが納得するところではないでしょうか。 Ruby用だけではなく、Go、PHP、Python用のリンク集もあるようですのでこちらもどうぞ。 awsome-go /
近年、関数型プログラミングの重要性はいろんなところで叫ばれています。 Javaの最新バージョンに関数型プログラミングに関する新機能が加わりました。 Rubyも昨今、関数型プログラミングへのサポートが手厚くなってきています。 プログラミングの教科書の大手、オライリー社から、Javascriptで関数型プログラミングを行うための解説書が発行されました。 関数型プログラミングへの注目度は高まってきています。 おそらく、みなさんは既にオブジェクト指向が何か、を知っています。 でも関数型プログラミングとは何か、胸を張って語れる人は、周りに見当たらないかと思います。 実際、オブジェクト指向によってプログラミングする方法は、わかりやすい解説があちこちにある一方で、 関数型プログラミングとは何か、何が良いのか、ということについての、よいまとめは見つけることはできませんでした。 この記事を読む方の中で、「関
Respond.js A fast & lightweight polyfill for min/max-width CSS3 Media Queries (for IE 6-8, and more) Copyright 2011: Scott Jehl, scottjehl.com Licensed under the MIT license. The goal of this script is to provide a fast and lightweight (3kb minified / 1kb gzipped) script to enable responsive web designs in browsers that don't support CSS3 Media Queries - in particular, Internet Explorer 8 and unde
Shim : A vim inspired text editor with a different agendaContributing to open source is hard. Contributing to open source is a great learning experience but, Docs aren't always clear How one should go about contributing isn't obvious Codebases are gigantic and intimidating...etc. See: https://bugzilla.mozilla.org/buglist.cgi?quicksearch=sw:[good%20first%20bug] Vim could be better Vim is awesome.
Version of nginx for Windows uses the native Win32 API (not the Cygwin emulation layer). Only the select() and poll() (1.15.9) connection processing methods are currently used, so high performance and scalability should not be expected. Due to this and some other known issues version of nginx for Windows is considered to be a beta version. At this time, it provides almost the same functionality as
Ruby on Rails 作者David Heinemeier Hanssonが語るオンラインでお金を生み出すためのたった1つの方法 この動画はRuby on Railsの作者であり(!)、37SignalsのパートナーでもあるDavid Heinemeier Hansson (デビッド ヘイメール ハンソン、通称DHH) が2008年にStartup Schoolで語ったビデオ。シード・アクセラレーターというベンチャー・キャピタルの一種であるYcombinatorが主催するこのスタートアップスクールで「ベンチャー・キャピタルからお金をもらって次のFacebookを狙うのをやめよう!」とアンチ・スタートアップ、アンチ・ベンチャーキャピタル節が全開のDHHさん!プレゼンの最中も会場から笑いが絶えないすごく楽しいプレゼンです。 僕はこのプレゼンも大好きで、先日書いたPinterest共同創業
データセット データセットとは、ファイルやURLなどの「オープンデータ」が登録された入れ物を指します。 データポータルでは、複数の切り口からデータセットを探すことができます。
Shin x blog Advent Calendar 2013 の 10 日目です。 Vagrant 1.4 がリリースされました。Docker Provisioner を中心に新機能をざっくりと見てみました。 ダウンロードページの変更 さあ、1.4 をダウンロードしよう、と今までのダウンロードページに行くと 1.4 のリンクがありません>< 新しいダウンロードページからダウンロードしましょう。 Download Vagrant – Vagrant Docker Provisioner Docker 対応として Docker Provisioner が追加されました。 このプロビジョナを使うと Docker 自体のインストールが自動で行われ(!)、その後、docker pull や docker run を実行することができます。 下記の Vagrantfile では Docker Pr
Web IDEを統合したPaaS「Nirous.io」がオープンβ開始。Ruby、Python、Node.js、Go対応で、友達を紹介すると無料枠の性能が向上 また新しいPaaS型クラウドサービスが登場しました。オープンβを開始したばかりの「Nitrous.io」(動画を見る限り「ナイトラス・アイオー」と発音するらしい)はRuby、Python、Node.jsとGoに対応したPaaS型クラウドサービスで、Webブラウザから利用できる統合開発環境を統合。サーバのプロビジョニングからアプリケーション開発、デプロイまですべてがWebブラウザで完結します。 Nitrous.ioではアプリケーションは「Box」上で実行し、Boxの性能は「N2O」と呼ばれる単位で管理されます。新規のBoxにはユーザー当たりデフォルトで、合計で150N2Oに相当する384MBメモリ、750MBストレージが無料で提供され
Ternは入力補完や関数の引数表示と言った機能がついたJavaScript用プログラミング補助ライブラリです。 そろそろWebブラウザ上でコーディングを行える環境が整ってきたのではないでしょうか。プログラミングするためのエディタ環境として必要なのはハイライターなどの他にもたくさんあります。その幾つかを提供してくれるのがTernです。 入力補完。 文字を打つと絞り込まれていきます。 変数、クラスの定義を探します。 オブジェクトの種類を下に表示できます。 変数名を変更します。 名前空間に対応しているので余計なところは変更しません。 関数の引数を表示します。 デモ動画です。 Ternでは入力補完、変数やオブジェクトの定義元検索、関数の引数表示、変数名の一括変更と言った機能がサポートされています。いずれもローカルアプリケーションのプログラミングエディタには備わっている機能と言えるでしょう。しかしそ
こんにちは。 WEBサービスを利用すると、その商品の価格が簡単に比較でき、最安値がわかるようになりました。 そこで今回は、買い物をする時に損をしないように、その業界の最安値がわかり、しかも比較もできる便利なWebサービスを集めてみました! スカイスキャナー(航空券) 行き先を入力して検索すると、自動的にあらゆる航空会社のサイトから料金を安い順に並べてくれます。海外旅行の時は、いつも使わせていただいています。便利! [browser-shot url=”http://www.skyscanner.jp” width=”550″] エクスペディア(航空券/ホテル) こちらは、ホテル·航空券·ツアーの最安値を検索できるサイトです。ホテルの写真もたくさん見れるので、「宿泊施設」を探すときには重宝しています。 [browser-shot url=”http://www.expedia.co.jp”
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く