After Apple loosened its App Store guidelines to permit game emulators, the retro game emulator Delta — an app 10 years in the making — hit the top of the…
VSTホストを作ろう! @hotwatermorningです。 この記事は、C++ Advent Calendar 2013の5日目の参加記事です。 はじめに 今回は、VSTiという種類のプラグインを読み込んで音を鳴らす、「VSTホスト」の作り方について紹介します。 VSTホストの画面を作るにあたり、「balor」というC++のWindows GUIライブラリを使用しました。balorについてはリンク先をご参照ください。 この記事の内容について、筆者がVST規格について勘違いしている点があるかもしれません。 ご了承ください。 VSTとは VSTとは簡単に言うと音楽製作ソフトのプラグイン周りの規格です。Wikipediaでは、以下のように解説されています。 Steinberg's Virtual Studio Technology(一般的にはVST)とは、ソフトウェア・シンセサイザーやエフェ
インターネット販売サイトやSNS(ソーシャルネットワークサービス)等のシステムでは、その構築において要件のすべてが明確にならなくても開発に着手し、要件の明確化や変更には開発と並行して対応します。それは、いかに早くサービスを提供するかに、ビジネスの命運がかかっているからです。 こうした要件の変化に柔軟に対応できる開発手法として、「アジャイル型開発」があります。これは、ビジネス上の優先度が高い順に、短いサイクルで機能単位の開発を繰り返す手法です。 このアジャイル型開発手法は自社開発(内製)が中心の米国で発展したものであり、要件を決めて外部に開発を委託することが多い等、受発注環境が異なる日本でアジャイル型開発を適用するのは難しいと考えられています(*1)。 「アジャイル型開発」には、「ペアプログラミング」「日次ミーティング」「ファシリテータ」等といった開発プロジェクトの適用技術、開発プロセス、組
まず直列実行するプログラムを書く 1秒待つコマンド 2秒待つコマンド 3秒待つコマンド 上記を順番に実行していくプログラムを main.go の中身を書く。 つまり、合計で6秒かかってしまう。 package main import ( "log" "time" ) func main() { log.Print("started.") // 1秒かかるコマンド log.Print("sleep1 started.") time.Sleep(1 * time.Second) log.Print("sleep1 finished.") // 2秒かかるコマンド log.Print("sleep2 started.") time.Sleep(2 * time.Second) log.Print("sleep2 finished.") // 3秒かかるコマンド log.Print("sleep3
Vagrant Documentation を参考にしつつ、Best PracticesのDirectory Layoutに沿った形でサンプルを作ってみました。 サンプルコードは https://github.com/hnakamur/vagrant-ansible-provisioning-example にあります。 vagrantのboxは以下のpacker templateで作成します。CentOS 6.4とansibleをインストール済みのboxが作られます。 https://github.com/hnakamur/my-packer-template-files (2013-08-17追記) guest側にはansibleのインストールは不要でした。ansibleはホスト側から実行されます。ホストからゲストにsshで接続できるようにVagrantfileとansible_hos
概要 こちら の中で Ansible という python で書かれた構成管理ツールを知った そう言えば、前回の Chef Casual Talks Vol.3 で @urasoko さんも言っていたような... ということで試してみる Ansible についてはこちら インストール 環境 amazon Linux(t1.micro) Debian Wheezy Ansible をインストールする cookbook あえて chef の cookbook で導入 cookbook はこちら knife ec2 server create knife ec2 server create -S xxxxxx -i ~/pathto/xxxxxx -r "recipe[ansible_install_cookbook::ansible]" -I ami-39b23d38 --flavor t1.
(2012.10.15追記) report-hostではなくslave-hostになってたと@ishikawa84gさんから指摘を受けたので修正。 これで、マスターでshow slave hostsコマンドを打つだけで、スレーブの一覧が表示される。 > show slave hosts +----+------+--+----+ | Server\_id | Host | Port | Master\_id | +----+------+--+----+ | 16800111 | nanikano-dbs01 | 3306 | 16800101 | | 16800112 | nanikano-dbs02 | 3306 | 16800101 | | 16800113 | nanikano-dbs03 | 3306 | 16800101 | +----+------+--+----+ repo
たくさんのMySQLサーバを運用している際に、一意なserver-idを生成するルールを作っておくと急な負荷上昇でslaveサーバを追加しないと行けなくなった時に、masterや他のslaveのserver-idを調べてユニークなidを考える手間を減らす事ができます。 自分はプライベートIPアドレスの第三オクテットと、第四オクテットを使い server-id = 第三オクテット*256 + 第四オクテット としています。192.168.67.135 なら server-id = 67*256 + 135 = 17287 です。/16 以下のネットワークならIDが被る心配ありません。セットアップツールなどで自動でmy.cnfに入れてしまうこともできると思います。 もし /16 ネットワークよりも大きなネットワークなら第一、第二オクテットも計算に含めればいいんじゃないでしょうか。server-
なぜCentOS上でLXCを使うか ゲストにCentOSを使いたくて、そのときLinuxカーネルもCentOSのを使いたいからです。 LXCではホストとゲストで同じLinuxカーネルを使うので、ホストもCentOSにすればこれが実現できます。 Ubuntuゲストの起動は想定していません。上と同じ理由でUbuntuゲストを使うのはUbuntuホストのLXCにしたほうがよいと私は考えているからです。Ubuntu 12.04のLinuxカーネルは3.xですがCentOS 6.4のカーネルは2.6.xと古いのでなにか不具合が出る可能性もあると思います。 使い方 Ansibleのplaybookは https://github.com/hnakamur/ansible-playbooks/tree/master/roles/lxc に置いてあります。 ローカルドメインの設定 https://gith
最近 Redis の Sharding 構成やレプリケーション構成を検証するために複数の Redis インスタンスを起ち上げる事が多いのですが、その度に一々設定を変更した redis.conf を用意するのが結構面倒でした。 という事でちょっと調べてみると、どうやら redis-server は起動時に設定ファイルと個別の設定項目の両方を指定でき、設定ファイルの指定内容を個別項目の指定で上書きできるようです。 というわけで、最近はお手軽にパラメータを指定したシェルスクリプトを書いて使っています。 本体のインストール(CentOS 6.3 x86_64) まずは本体のインストールですが、remi リポジトリに最新版(2.6.13) の RPM があるのでそちらを使うと楽です。 remi 版の Redis は gperftools の tcmalloc を使っているので、最初に gperfto
約2億年前に地球に衝突した巨大隕石(いんせき)の証拠が日本で見つかった。大規模な環境変化が起き、多くの生物が死滅した可能性がある。恐竜を絶滅させた隕石衝突のはるか以前にも、大事件が生き物たちを襲っていた。(長内洋介) ■直径8キロ カナダ東部のケベック州に直径100キロに及ぶ巨大クレーターがある。中生代三畳紀後期の2億1500万年前、隕石の衝突で形成された「マニクアガンクレーター」だ。 熊本大の尾上哲治准教授(地質学)らは、この隕石から放出された物質を岐阜県と大分県の地層で発見。元素分析の結果、隕石は最大で直径約8キロ、重さ5千億トンの巨大サイズだったことを突き止め、9月に論文を発表した。 巨大隕石は衝突時のエネルギーで高温になり、蒸発して雲が発生。温度が下がると、水蒸気が冷えて雨粒ができるように、隕石の成分が凝固して球状の微粒子ができ、地球全体の大気中に拡散した。 やがて微粒子
注意 この記事はパブリックな場に出す初めての自作ゲームを「なぜか」Oculus RiftとLEAP Motionを使って作ることにした無謀な男の開発記録です。そのため記述やソースコードの中で技術的に至らぬ点がありましたら生温かい目で編集リクエストをお送りください。 経緯(飛ばすのが推奨です) 2010年8月 Unityを知る 2012年前半 当時2012年6月発売予定だったXbox360用ソフトのクリムゾンドラゴンを大画面で楽しむため当時唯一の民生向けヘッドマウントディスプレイだったHMZ-T1が欲しくなる→銀座ソニービルで試着→「えっショボ…」 _人人人人人人人_ > えっショボ <  ̄Y^Y^Y^Y^Y^Y ̄ _人人人人人人人人人人人人人人人人人人人人人_ > そもそもクリムゾンドラゴンが亡くなった <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄ 201
今の就活は不幸を生むだけ~ドワンゴ「新卒採用に受験料」導入の真相を、川上量生氏に直撃 2013/12/05公開 「そもそも、就職活動で100社も同時にエントリーできる今の仕組みっておかしいと思いません? リクナビの一括エントリーボタンとか最悪ですよ、最悪。このままだと、就活生も企業もどんどん不幸になっていくんです」 そうまくし立てるのは、ドワンゴ会長兼CTOの川上量生氏。就職活動が解禁となった今年12月1日、同社の新卒入社試験にて受験料を取ると発表し(※受験料は全額寄付とも発表)、賛否両論を呼んだ張本人である。 ドワンゴの発表は発表直後からYahoo!ニュースや各TV番組で取り上げられ、「ユニークだ」、「応募者を絞り込む良い取り組み」などと好意的な声が上がる一方、「他社も受験料を取るようになったら学生側の負担が増える」、「2525円(ニコニコにちなんでいるそう)なんてふざけた金額で、ヘタな
Redis のレプリケーション設定についてメモ 公式ドキュメント http://redis.io/topics/replication Redis のレプリケーション マスターは複数のスレーブをもてる スレーブは別のスレーブの親になれる マスター/スレーブのレプリケート処理はノンブロッキング スレーブは writable (2.6 からは slave-read-only 設定が追加され、デフォルトは read-only) スレーブの用意 スレーブ用 redis サーバーを起動する。同じサーバ内に起動するのであれば、ポートを変更する必要がある。 redis.conf の port を修正すること。 スレーブ設定方法 confファイルでの設定 redis.conf にマスターの情報を記述する slaveof <masterip> <masterport> ex) slaveof 192.168
どうも、俺@仕事中です。 「L7ロードバランサHaproxyを使う(その1 インストールまで)」の続きです。 前回では、 Haproxyのインストール 起動スクリプトの設置 起動確認 デフォルトの設定ファイル(ひな形)のコピー まで行いました。 今回は設定ファイルを編集して、ロードバランサ(またはProxy)として動かしてみます。 では、設定ファイルを開きます。 vim /etc/haproxy/haproxy.cfg ひな形としてすでに何か書かれていると思います。 設定ファイルは大きく分けて5つのセクションから成っています。 1.globalセクション 全体の挙動に関する設定を行う。 2.defaultsセクション 以下の「listen」「frontend」「backend」に関するデフォルトの設定を行う。 3.listenセクション ※必須ではない frontendやbackendの設
どうも、俺@仕事中です。 今日はオープンソースのロードバランサの1つの「Haproxy」について紹介します。 L7なのでアプリケーション層レベルでのロードバランシングが可能です。 ※httpのURLパラメータを見てアクセスするサーバを振り分ける、など可能です。 ※もちろんL4で稼働させることも可能です。 開発環境はCentOS5.6(64bit)です。 2013.10.21時点での安定版の最新はv1.4.24です。 上記のURLからtarballを落としてからインストールします。 tar zxvf haproxy-1.4.24.tar.gz cd haproxy-1.4.24 make TARGET=linux26 ARCH=x86_64 sudo make install # make時のフラグは同梱されているREADMEに書いているので、参考に! これでデフォルトの/usr/local
久しぶりに自宅サーバにアクセスしてみたら、DB 接続系のアプリが軒並み 500 エラーになってしまっていました。 慌てて調べますが、Rails アプリのログにも、HAProxy のログにも特に異常は見られません。 ためしにコマンドラインから DB への接続を試みると、HAProxy 経由でも直接 DB サーバを指定しても、以下のエラーメッセージが表示されて接続できなくなっていました。 Host 'hostname' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 他のマシンからは接続できるので、どうやらメッセージ通りこの Web サーバのみが弾かれてしまっているようです。 エラーメッセージで検索すると以下のようなページが見つかりました。 MySQL :: MySQL 4.
まえがき RedisのGUIツール『RedisCommander』を使ってみたので簡単なメモ npmで簡単にインストールできて機能もパワフルでブラウザから簡単に使えるのでこれは是非おすすめ! Redis Commander 開発環境 ・Linux CentOS 6.3 ・Redis 2.6.9 ・npm 1.2.8 事前準備 ・npmが使える ・Redisサーバーがインストール済 このへんま以前に書いたことがあるので割愛 Redis インストール インストール # npmでさくっと npm -g install redis-commander Redis Commanderの起動 redis-commander # こんな感じでメッセージが出たらおk path.existsSync is now called `fs.existsSync`. listening on 8081 Redis
http://6brand.com/the-upside-down-org-chart.html これまで、GitHub、Valve、Treehouseなど、フラットでマネージャのいない自己管理型の会社を紹介してきましたが、今回SquareのJack Dangerは自らのブログで、伝統的な組織図を反転させた発想での会社運営を提案してます。 1) 伝統的な組織図 トップダウン型のこの組織図は、エンジニアが大会社で働きたくないという要因になっている。「仕事がイヤだから辞めるのでなく、ボスがイヤだからやめる。」と言われるように、ベテランのエンジニアを引き止めるためだけに「昇進」させ、質の悪いマネジャーを生んでいるテク企業も多い。また、マネージャーは(よい人であっても)階層のある組織にいると配下にネガティブなプレッシャーをかける傾向を指摘されている。 一方、自己管理型のフラット組織は、多少の組織内
Redis でのデータの永続化方法について調べたので、忘れないうちにまとめておきます。 調べた時の Redis のバージョンは 2.6.13 です。 スナップショット(RDB) Redis のデフォルトの永続化の仕組み この設定が有効な場合、Redis は定期的にデータベースの内容をディスクに出力する Redis を再起動するとこのファイルからデータが読み込まれ復元される 一定回数の更新 + 一定間隔でディスクにファイル出力 ファイル出力タイミングは設定ファイル、CONFIG コマンドで変更可能 無効にもできる 出力は非同期で行われるため、プロセスがクラッシュした場合には前回のスナップショット以降のデータが失われる可能性あり 多少のデータロスを許容できるようなデータならスナップショットのみでもイケそう 手動で実行するには SAVE コマンドまたは BGSAVE コマンドを実行 SAVE は
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く