Twitter Japanは3日、「エンジニアオープンハウス」を開催した。この日はインフラストラクチャー担当のエンジニアディレクターであるRob Benson氏が「Twitterを支えるアーキテクチャ」としてプレゼンテーションをおこなったほか、同社のエンジニアである山本裕介氏が「Twitterとオープンソース」、蓑輪太郎氏が「Twitterエンジニアの1日」としてスピーチした。 ◆Twitterの分散型システム Rob Benson氏は、VMwareなどでエンジニアとして働いていた経験を持ち、現在はTwitterでインフラストラクチャーグループのエンジニアディレクターを務めている。プレゼンではTwitterで分散型システムをいかに構築しているかを説明した。 「スポーツのイベントや東日本大震災に代表されるような突発的な事象が起きた場合、急激なTPS(Transaction Per Secon
ニール・ヤングは現在MP3に代わる高音質音源ファイル方式の開発に力を入れていて、その商標として「トゥウェンティファースト・センチュリー・レコード・プレイヤー」など数種の名前をアメリカ特許商標登録庁に申請しているとローリング・ストーン誌が伝えている。 こうした商標名の説明には「音楽及び芸術的なパフォーマンスを提供するダウンロード及び小売販売サーヴィス」「インターネットからのダウンロードが可能な高音質音源」「音楽や映像を収録した高音質高解像ディスク」「オーディオ及び映像記録ファイル保存及び再生機器」などの記載が含まれていて、「トゥウェンティファースト・センチュリー・レコード・プレイヤー」「アース・ストレージ」「ストレージ・シェド」「サンクス・フォー・リスニング」「スタジオ・クォリティー・サウンド」などの商標案が申請されているという。なお、申請者の住所はニールのレーベルであるヴェイパー・レコード
ソニーモバイルコミュニケーションズは2012年4月3日、約1.3インチのタッチパネル対応有機ELディスプレイを搭載した腕時計型端末「SmartWatch MN2」を10日から発売すると発表した(写真1)。SmartWatch MN2はBluetoothを介して、同社のスマートフォン「Xperiaシリーズ」と連携できるのが特徴(写真2)。XperiaシリーズはAndroid 2.3以降を搭載する機種(Sony Ericsson mini S51SEを除く)が対象となる。 連携の内容は(1)TwitterでフォローしているユーザーのツイートやダイレクトメッセージなどをSmartWatchで表示、(2)Facebookの「友達」のメッセージなどの表示や「いいね」の発信、(3)電子メールの受信通知、内容確認、(4)SMSの受信通知と内容確認および送信者に対して事前に登録したメッセージによる返信、(
ソーシャル音楽コミュニティサービス「Beatrobo」を開発、運営する米Beatroboが4月4日、サイバーエージェント・ベンチャーズ、KLab Ventures、MOVIDA JAPANの3社から出資を受けた。調達総額は約60万ドル。 Beatroboは、「いいね!」をもとに自動的に作成される選曲リストでYouTubeの音楽動画を視聴しながら、アバター(ロボット)の着せ替えなどが楽しめるサービス。2011年12月に全世界へ向けてプライベートベータ版を公開した。利用にはFacebookのアカウントが必要。 友人のロボットも画面に登場し、友人の選曲リストで音楽を楽しんだり、推薦曲の提供なども可能で、非同期でも友人同士で音楽を楽しめるという。サービスの利用や音楽を聴くことでレベルがアップし、ロボットのドレスアップアイテムを入手できるというゲーミフィケーションの要素も盛り込んでいる。。 Beat
英BBC Fourが近年放送した「クラウトロック」のドキュメンタリー番組『Krautrock: The Rebirth of Germany』の映像がYouTubeに。番組では1968年から77年にかけてドイツに登場した実験的バンドをフィーチャー。クラフトワーク(Kraftwerk)、Can、ファウスト(Faust)、Popol Vuh、ノイ!(Neu!)らの音楽とインタビューを特色としています。当時オンエアされた約1時間分の映像があり。 [Music played] 1. Popol Vuh ? Aguirre I L'acrime de Rey 2. Jimi Hendrix ? All Along the Watchtower 3. Richard Wagner ? Siegfried's Funeral Music 4. Amon Düül II ? Kannan 5. Amon
Apacheのconfにコメントを書く際に、設定の後ろに書く事はできないのは知られているのかどうかよくわかりませんが、その通りです。例えば MaxRequestsPerChild 200 #少なめに これは syntax error になります % ./local/httpd/bin/apachectl -t Syntax error on line 12 of /Users/.../local/httpd/conf/httpd.conf: MaxRequestsPerChild takes one argument, Maximum number of requests a particular child serves before dying. よくやりがちなんですが、ドキュメントにも Directives in the configuration files are case-in
首相官邸のホームページリニューアルに4500万かかったそうな。 首相官邸ホームページ、4500万円かけリニューアル 俺の怒りが有頂天wwwwwwwwww 首相官邸ホームページが4500万円かけてリニューアルwwwwwwww 首相官邸HP、リニューアルに4500万円 ネットで怒りの声 「もっと安くできる」 総じて「もっと安くできる」と言いたげで、2ちゃんの香ばしのはいつものことで、産経の政権への悪意は平常運転なのだが、本当にそーゆー「世論」で良いのか? 官邸のホームページへの技術的なつっこみは、まぁいくつかあるだろう。私でさえ、「なんだこのコメントは」「Google analyticsなんか使っていいのか?」「外国語は英語と中文でいいのか?」とか思ったものだけど、まーその辺は良いことにしておく。どうもアクセス解析は今年の開発らしい。 【公募】首相官邸ホームページで利用するアクセス分析ツールの
サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。
Painless multithreaded programming for RubyCelluloid is a concurrent object oriented programming framework for Ruby which lets you build multithreaded programs out of concurrent objects just as easily as you build sequential programs out of regular objects. Learn more Evented I/O for Celluloid actors. Build fast evented programs like you would with EventMachine or Node.js using regular synchronous
おおいしつかさ 旅行とバイクとドライブと料理と宇宙が好き。 Ubie Discoveryのプログラマ。 関連 : RailsでMysqlスレーブ群をロードバランサ経由で使用できる、FreshConnectionを作り始めました RailsのActiveRecordは、DBとのコネクションがプールされます。 アクセスごとにコネクションをはりなおすよりは、オーバーヘッドがない分、理にかなっているようにも思えます。 ただ、比較的大きめなサイトになってくると、はりっぱなしのコネクションが多くなりすぎちゃって大変なことになってきます(1サーバ1万コネクションとかなりかねない)。リソースは食うし、たくさんのスレーブを抱えているときにActsAsReadonlyableなどでちまちまやっていたらとても運用できません。スレーブなんてLVS+keepalivedでバランシングしちゃいたいところ。でもコネクシ
ActiveRecordを使ったRailsアプリは,デフォルトでデータベースへの接続をプールするようになっています. ActiveRecordユーザとしては待ちわびたぜ!的な機能らしいのですが,設定等でこれをdisableすることが出来ず,LVS+keepalivedを介する場合にはロードバランシングが最初の接続時にしか為されずがなかなか厄介です. 対策として思いついたのは プールした接続を早い周期で捨てる LVS+keepalivedではなく,MySQL Proxyでバランシングする(Proxyへの接続はプール) そもそも接続をプールさせない くらいでした. どうするのがセオリーなのかと調べてみると コネクションプーリングの話 - naoyaのはてなダイアリー 2006-09-03 など4年近く前に議論されていて,"あー,高速道路あるなあ"と,コネクション確立のコストを調べる前に「プール
☆☆☆★★ (2) AMD (13) Android (5) Asteria (11) AWS (7) Azure (1) boto (2) botocore (1) bottle (2) Camera (5) Cassandra (7) CentOS (1) Chromium (1) Cloud (43) CrystalArmor (1) css (7) DIGNO (1) EC2 (10) ESXi (5) Firefox (1) Fluent (1) GAE/J (1) github (1) Go (1) Google (16) Google+ (2) Hadoop (2) Hardware (29) HBase (13) Intel (1) iSCSI (1) Java (6) JavaScript (10) json (1) KVM (1) Linux (37) Nagios (
quickrunはデフォルトでいろんなファイルを実行してくれますが、rspecまではカバーしてくれていないので、 hogehoge_spec.rb等のファイルを開いて、quickrunすると普通にrubyコマンドで実行されてしまいます。 ソースコード自体でrspecライブラリをrequireしていれば、それでも動作するはずですが、 普通はrspecコマンドから実行することを想定しているので、 余計なrequire記述はしていないと思います。 なので、vimrcにちょこっと設定を追加して、 rでサクっとrspecコマンドから実行できるようにします。 let g:quickrun_config = {} let g:quickrun_config._ = {'runner' : 'vimproc'} let g:quickrun_config['rspec/bundle'] = { \ 'ty
高度成長期以来つい最近まで(大半の人にとっては今も?)、大企業(公務員含む)に入社し、ずっとそこにいるというのは「合理的に考えて一番トク」な道だったと思います。 ・金銭的な報酬が圧倒的に高い。(給与も退職金も企業年金も) ・磐石に安定してる(大企業だという理由で政府や銀行が潰さない) ・雇用も守られているし(日本で解雇規制が存在するのは日系の大企業だけ) ・仕事もおもしろい(名刺力も抜群、資本力も大きい) ・加えて様々なチャンスがあり(海外勤務とか大きなプロジェクトなど) ・世間の評価も圧倒的に高く(合コン市場や親戚間において) ・成長機会も多いし(留学や研修などの制度が充実) ・福利厚生も充実してる と、いいコト尽くめです。これじゃあ起業したりベンチャーや中小企業に行くより、大企業を目指すのが「合理的に正しい選択」だと、ちきりんでさえ思います。 しかしながら最近、そういった大企業にいった
2012年04月04日16:00 カテゴリLightweight Languages coffeescript - を淹れるための最低限文化的な環境 私のような体育会系プログラマーは、実際に動かしてみないとわからないので、その場で動かせる環境を作ってみました。 Demo 結論から言うと、この程度ですみます。CoffeeScript -> JavaScript だけではなく、逆変換もできます。 CoffeeScript: ((s) -> while s isnt undefined try s = eval(prompt(s)) catch e s = e ) "JS:" JavaScript: (function(s){while(s!==undefined)try{s=eval(prompt(s))}catch(e){s=e}})('JS:') DHTML Source 基本的に Js2
OTA配布が手軽にできるオープンソースのPHPスクリプト書きました。TestFlightが様々なポリシーで使えない方向けに書きました。 ku-suke/SimplePHPAdhocServer · GitHub これはなに? USBケーブルを繋がずに、開発中のアプリを実機に配布できるPHPスクリプトです。自前のサーバに設置してご利用ください。developmentプロファイルでもdistributionプロファイルでもenterpriseプロファイルでも使えます。enterprise以外はあくまでUDID登録済みの実機だけです。 動作確認というか必要条件 PHP 5.2以降 MySQL 5.0以降 USBで実機にアプリをインストールすることが出来る環境(Xcode/Provisioning profile etc) ライセンス 個人で書いたのでMITで自由に使えるよ!同梱ライブラリのライセ
unicorn $ gem install unicorn $ rvmsudo unicorn_rails -p 80すると起動します。WEBrick とはここでお別れ。 ところで Rails3 は Rack アプリケーションなので、unicorn_rails を使う必要はありません。Rails.root で $ unicornするだけでちゃんと立ち上がります。でも RAILS_RELATIVE_URL_ROOT を渡せる daemon として起動したとき、tmp/pids/unicorn.pid に pid を吐いてくれる tmp/cache/, tmp/pids/, tmp/sessions/, tmp/sockets/ を自動生成 と幾つか便利なところがあるので unicorn_rails を使えばいいと思います。 unicorn の config ですけど、実際にアプリを公開すると
{{toc_here}} はじめに Unicornは、Unix系システムで動作するRackアプリケーション用サーバ。接続時間が短いことを前提とした設計となっている。 - http://unicorn.bogomips.org/ preforkモデル Unicornはpreforkモデルを採用している。 Reverse Proxy └TCP Socket[0.0.0.0:8080] > Unicorn(Master) ├(fork)─Worker[0] < TCP Socket[0.0.0.0:8080] ├(fork)─Worker[1] < TCP Socket[0.0.0.0:8080] ┆ └(fork)─Worker[N-1] < TCP Socket[0.0.0.0:8080] マスタプロセスからforkした複数のワーカープロセスがあり、クライアントからのリクエストを
このウェブサイトは販売用です! twiwt.org は、あなたがお探しの情報の全ての最新かつ最適なソースです。一般トピックからここから検索できる内容は、twiwt.orgが全てとなります。あなたがお探しの内容が見つかることを願っています!
unicornの設定「preload_app」について。 ざっくりと、「workerのアプリケーションの先読み」の設定らしい。 このサイトに詳しい説明があったので訳してみた。英語は苦手なので怪しいがなんとなく雰囲気は合ってる気がする。 http://unicorn.bogomips.org/Unicorn/Configurator.html#method-i-preload_app Enabling this preloads an application before forking worker processes. workerをforkする前のアプリケーションの先読みを有効にします。 This allows memory savings when using a copy-on-write-friendly GC これは、copy-on-write-friendlyに相性の良い環境
Unicornの設計(DESIGNより) 哲学を学び、設計も学ぶ。取り急ぎ、英文を和訳する程度。 Unicornは伝統的なUnixのpreforkウェブサーバ スレッドを使わないことで、アプリケーションのデバッグと修正を簡単にできる アプリケーションの調子が悪いとき、KILLシグナルで該当ワーカーだけを片付けることができる RagelとCによるHTTPパーサはMongrelから持ってきている この部分のみが非Rubyで、今後ここ以外に非Rubyのコンポーネントを増やす予定はない HTTPの処理 すべてのHTTPリクエストヘッダを処理する Rackアプリケーションを実行する HTTPレスポンスをクライアントに返す keepaliveやパイプライニングはサポートしない 設定はRubyのeval()で行われる RubyはYAMLより曖昧ではなく、フック処理をインライン定義できる 一つのマスタプロ
Apr 03, 2012 米国のYahoo!が開発していたMojitoが、JSConf US 2012の開催にあわせてオープンソースとしてリリースされました。Mojitoは、米国のYahoo!がCocktailsと呼ばれる自社クラウドを含む開発環境の一部として開発されたNode.js用のフレームワークです。サーバーサイドとクライアントサイド (ブラウザ) で同じコードを実行でき、マルチデバイス対応のための仕組みも実装されているのが主な特徴のようです。npmからもインストールできるようになっていたので、さっそくMojitoを試してみました。 さて、今回はNode.js v0.6.14とnpmがすでにインストールされているものとして進めていきます。まずはnpmからMojitoモジュールをインストールします。モジュールには専用のmojitoコマンドが含まれるので、-g オプションをつけてグローバ
git push/pullは何気なく使ってるけど実はよくわかってなかった。ことのきっかけはこういう質問。 hogeというリモートブランチをローカルのhogeブランチにもってきたい hogeをローカルのmasterにはマージしたくない pullでなんかこんな感じでいけそう? $ git pull origin hoge:hogeでもこれは間違えで、なぜか今いるブランチ(master)にhogeがmergeされるし、期待してる動作じゃない。正解はこう。 $ git branch hoge origin/hogeもしくはチェックアウトも同時にするなら $ git checkout -b hoge origin/hogeこう。自分は普段後者のやり方でやってたけど、なんで上のはダメで下のが正解なのか説明できなかったのでちゃんと調べてみた。 入門Gitと実用Git、あとhelpを参考にした。 ブランチ
完全なまとめがみつからなかったので、まとめておく。ControlMaster を使います。 REMHOST=localhost ssh -S ~/.ssh/master-$$ $REMHOST -M -f -N 2>/dev/null 1>&2 ssh -S ~/.ssh/master-$$ $REMHOST hostname ssh -S ~/.ssh/master-$$ $REMHOST uname ssh -S ~/.ssh/master-$$ $REMHOST who ssh -S ~/.ssh/master-$$ $REMHOST -O exit 1>/dev/null 2>/dev/null こんな感じで書けます。最初のsshコマンドで接続を作って、最後ので破棄しています。 scpの呼び出しも、 scp -o ControlPath=~/.ssh/master-$$ file
Perl Hackers Hub 第6回 UNIXプログラミングの勘所(2)を読んでいたがよくわからなかったので、Operating System ConceptsやMANなどを読んで一から理解してみる。 Operating System Concepts 作者: Abraham Silberschatz出版社/メーカー: John Wiley & Sons Ltd発売日: 2009/02/13メディア: ペーパーバック購入: 1人 クリック: 39回この商品を含むブログ (4件) を見る open()システムコール The open() system call first searches the system-wide open-file table to see if the file is already in use by another process. If it is, a
forkとファイルハンドル UNIX系のOSでは、複数のプログラムが、それぞれプロセスという単位で動作しています。forkというシステムコール[1]が呼び出されると呼び出したプロセスの複製がOSによって作成され、複製されたプロセス(子プロセス)がexecveというシステムコールを使って別のプログラムにすり替わる、というしくみでさまざまな処理を実行するようになっています。 「複製」と言っても、全部の情報が複製されるわけではありません。プロセスのメモリイメージが複製される[2]一方で、プロセスが開いている「オープンファイル記述」(open file description)(注3)は複製されません。forkのあとは、親プロセスと子プロセスの両者が、単一のオープンファイル記述を指す「ファイル記述子」(file descriptor)(注4)を持つことになります(図2)。 図2 for
JS1k 2012 demo — "Speech Synthesizer" by Mathieu 'p01' Henri 1K JavaScript Speech Synthesizer
※2012-04-07 セキュリティ面の問題に関して追記しました。 今日は、ウェブページの入力フォームでユーザーが楽にしかも正確に入力できるようにできる(可能性を秘めた)、新しいHTMLの仕様についての情報を。autocomplete属性に関する新しい仕様です。 グーグルは、入力フォームに自動入力する仕組みに関して、新しい仕様を提案しました。HTMLの仕様を拡張することで、ブラウザでフォームに自動入力する仕組みを使いやすくするものです。 これがうまく動作すると、フォーム入力が非常に楽になり、ミスもほぼなくなります。 どれぐらいすごいかというと、ちゃんと設定したブラウザを使うと、フォームで3クリックするだけで、一般的な項目が一気に入力されるのです。 たとえば、この状態から、 名前や住所などの標準的な項目が、一気に自動入力されます。 どうでしょう。こうした機能をサイトに設けられたら、フォームの
Rails2.3のログフォーマットの変更は、Railscasts - The Logger を見て Logger!!!(ログにタイムスタンプを追加する方法) - うんたらかんたら日記 としていましたが、改めてソースを見ると #activesupport-2.3.11/lib/active_support/core_ext/logger.rb This logger is deprecated in favor of ActiveSupport::BufferedLoggerと書かれていました。 Loggerでのフォーマット変更は結構柔軟(ミリ秒、プロセス、ログレベルなど)に書けたので 特に困ってないし、理由もわかんないのですが、deprecatedと言われると不安なので ActiveSupport::BufferedLoggerでのフォーマット変更を試してみました。 結論 #config/
はじめに † Rubyの特異メソッド(Singleton Method)でモンキーパッチングとかするために、 上書きしたい。 そのときについでに元のメソッドは退避しておきたい、なんていう時。 ↑ 素のRubyを使った方法 † Ruby 1.8.7 for win32で確認しました。 class << hoge 定義 aliasで退避(普通のメソッドのように退避してよい) 特異メソッド定義(class << hoge なので普通のメソッドのように定義してよい) と言う感じです。以下サンプルコード。 $stdoutを上書きして、強制的にSJISで出力する例です。 ※このコード自身はサンプルなので実用的ではありません。実用的な例はrspecで使ってみたSJIS変換コードを参考にしてみて下さい。 #!ruby -Ku # override_method/stdout_hook_singleton_
I’ve lost track of why now, but I’ve spent a bit of time this afternoon trying to understand how the Rails logger works in production. For years we’ve been using a Hodel 3000 Compliant Logger, which is dead straightforward. Recently, though, we switched back to using the built in logger with Rails, which is a little more subtle. The default logger in Rails is the BufferedLogger from ActiveSupport.
unicornはconfで timeout 20 とかやっとくと、20秒以上かかったらそのworkerが殺される。それはいい。問題はその殺され方にあって、タイムアウトしたunicorn workerはmasterにKILLシグナルで強制的に殺される。KILLで殺されてしまうと、worker側でtrapして安全に終了処理をすることができない。 一番困るのは、Railsのloggerは(production環境のデフォルトだと)リクエストが終了するまでバッファリングしているので、リクエストの途中でKILLされてしまうとloggerがflushされない。つまり、unicornのタイムアウト時には、リクエストのログは一切production.logには出力されない。異常時のログが出ないとか、まじで困ると思うんだけど、みんなどうしてんだろ。 これに対処するためにはunicornのコードに手を入れるの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く