タグ

2014年7月24日のブックマーク (24件)

  • Stormの概要 - ワザノバ | wazanova

    https://www.youtube.com/watch?v=qjZnezdSKnw 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約6時間前 SKYLIGHT を開発しているTildeに所属しているCarl Lercheが、Apach Stormを紹介している講演のビデオです。 Stormは、Twitter, Spotify, Groupon, Flipboardなどで使われている、分散型のリアルタイムコンピューティングシステムですが、SKYLIGHTのバックエンドでも利用されているようです。 Stormは分散型のパワフルなワーカー。分散型と言えば、多くのサーバを利用できるということだが、一方でオペレーションが大変になる。しかし、Stormは障害耐性が当に優れている(詳細後述)。高速: 1秒間に百万メッセ

  • VagrantでUbuntuサーバ/etckeeper(git, tig)/vim-nox - orangeProse別館

    この記事をちまちまと書いているうちにVagrantCloudが発表され、Vagrantの新バージョン1.5.0がリリースされるという、なんともタイミングの悪い、すごい展開になってきました。 一度書いた記事を、1.5.0を使いながら書き換えていきたいと思ったのですが、とくに変更点はありません(1.5.0のバグのような、不安定性のような挙動を感じますが)。 あと、前回の記事もいろいろと書き換えたいです。 vagrantでUbuntuサーバをサクサク使い捨てできるようになったので、サーバの初期設定の練習に使います。 最低限これは最初にやっておきたい、というものを、順番に記事にしていきます。 「最低限」なら最初からその状態でBoxを作ればいいじゃんと思うかもしれませんが、一連の操作を身体に染み込ませるために、最初は作っては破棄、作っては破棄を繰り返したほうがいいと思います。 そのあとに、Chefと

    VagrantでUbuntuサーバ/etckeeper(git, tig)/vim-nox - orangeProse別館
  • 自前でVagrantのboxを作る前にやっておきたいことメモ - Qiita

    Vagrantbox.esがあるので良いのかもしれませんがBoxの安全性が気になったり、そもそも使いたいOSのBoxが無かったりした場合は自分でBoxを作ることになります。 veeweeという手段もありますが今回はVirtualboxで作成したVMをBox化していきたいと思います。 Vagrantのインストール Macなら、brew cask install vagrantでインストールできます ゲストマシンのセットアップ ゲストマシンへのsshアクセスが前提ですがsshdがデフォルトでインストールされるとは限らないので、sshdを動かせるようになるまで手動で作業する必要があります。vagrantの場合はsshdが動く状態でbox化するのが無難かと。 プロキシの設定 プロキシを越えないと何もできないところにいるので、プロキシの設定を最初に行います

    自前でVagrantのboxを作る前にやっておきたいことメモ - Qiita
  • Python で Selenium WebDriver を使ったブラウザテストをする方法 - akiyoko blog

    ブラウザテストツールの代表格と言えば「Selenium」ですが、実は、6年前にも一度調査したことがあったのです。しかしながらその当時は結局、業務で採用されることはありませんでした。 現在の「Selenium2」は、「WebDriver」というツールが統合されるなど、当時の「Selenium1」から大きく進化をしているわけですが、それでもツールの利用方法などは6年前からあまり変わっていないようです。 Selenium導入にあたって最初につまずくのは、やり方が何通りかあって「結局どれがいいの?」と迷ってしまうことかな?と思います。使い方としては大きく3通りあると思うのですが、それを簡単にまとめたのが↓の表です。(「○○向け」というのは個人的な印象です。) 概要 テストの書き方 実行ブラウザ Selenium IDE Selenium-RC Selenium WebDriver 初心者向け GU

    Python で Selenium WebDriver を使ったブラウザテストをする方法 - akiyoko blog
  • levelDBの実行速度 - 開発めも2

    数千万件はいったlevelDBからランダムに10000件アクセスした時の速度をはかったら、 キモい挙動だった。 1、2回目の試行では48秒、47秒だったのに、回数を重ねるとだんだん早くなって、11秒付近におちついた。 キャッシュのせいかなと思ったが、read optionでキャッシュなしにしている上に、以前アクセスしたキーに被る確率的にもキャッシュじゃないんじゃないかと思う。 うーん、なんかTokyoCabinetとかもこういう挙動をしていたな。。。 ちゃんと中身を理解したほうがよいのか。 ちなみに ec2のmicroインスタンスで上の結果を得た。 別のハイスペのサーバで試すと0.3秒以下で終わった。 その後、ec2のハイパフォーマンスなインスタンスで試したところ、 やはり最初は20秒くらいかかっていたが、getを繰り返すとどんどん早くなることがわかった。 最終的に8秒で安定した。

    levelDBの実行速度 - 開発めも2
  • Google Web Starter Kitのgulpfileを翻訳してみた - Qiita

    Google Web Starter Kit GitHub - google/web-starter-kit javascriptを覚えるために静的開発環境を整えようとして、タスクランナーフレームワークgulpを導入。 ついでにcssフレームワークは話題のGoogle Web Starter Kitを使ってみる。 Google Web Starter Kitの純正gulpfileを読んで注釈をつけてみたので、投稿。 use scrict // Include Gulp & Tools We'll Use var gulp = require('gulp'); var $ = require('gulp-load-plugins')(); var del = require('del'); var runSequence = require('run-sequence'); var brow

    Google Web Starter Kitのgulpfileを翻訳してみた - Qiita
  • JavaScriptで覚えておくとよいデータ構造 - 配列・オブジェクト - いろいろ解析日記

    JavaScriptで必要なデータ構造の覚書です。 目次 配列 配列を生成する。 配列にデータを追加する。 配列にデータを格納する。 配列からデータを取得する。 配列中のすべてのデータに同じ処理をする。 オブジェクト オブジェクトを生成する。 オブジェクトにデータを格納する。 オブジェクトからデータを取得する。 オブジェクト中のすべてのデータに同じ処理をする。 関連記事 配列 配列は複数件のデータを扱うためのデータ構造です。 ■配列を生成する。 配列の生成は以下のように行います。 var 配列の名前 = []; var 配列の名前 = [ データ, データ, … ]; 配列の生成では、配列の名前を指定します。 もし、生成時にデータを格納する場合に、[]内にデータを指定します。 なお、JavaScriptでは配列の生成時にサイズを指定しません。 例えば、空の配列array1を生成するには、以

    JavaScriptで覚えておくとよいデータ構造 - 配列・オブジェクト - いろいろ解析日記
  • Linuxで、どのプロセスがページングを行っているのか調べるには? | Yakst

    スワップがなぜ起きるか、どのようにスワップの状態を確認するべきかの平易な解説。Quoraの質問に対する、Robert Love氏の回答。 質問に対するストレートな回答は、調べるのは不可能、だ。どうしてそうなのかを説明してから、君の知りたい情報を含んでいるであろう、5つの関連する質問に答えよう。 Linuxのような、モダンなOSにおいては、スワップはシステム全体における現象だ。ある1つのプロセスがスワップに関する責任を持っているわけではない。システムがスワップしているかどうかは、メモリプレッシャの機能による。物理メモリを大量に使おうとすれば、スワップしてしまう。何をスワップアウトするかは、一番少ないページを要求しているのが何かによる。何をスワップインするかは、一番ページを必要としているのが何かによる。プロセスがRAM上に存在しないページを要求した時、そのページはディスク上にあるので、スワップ

  • [Gulp.js] タスク単位のファイル分割 | DevelopersIO

    車輪開発大好きおたいがです。こんにちは。(挨拶) 今までタスクランナーツールは Grunt を使用していたのですが、Gulp ( ガルプ ) は、Grunt よりも定義ファイルの記述が簡潔だと評判が良いらしいのでデビューを果たしました。 ざっくり触ってみたところ、かなりシンプルであることは分りました。ただそれでも、開発中に機能 ( タスク ) を追加していくたびに、どうしても設定ファイル (gulpfile.js) は肥大化していきます。そんな状況を極力減らすために、タスク単位でファイルを分割することを試してみたのでまとめてました。 解説前に 当ブログに Gulp のインストールから実行までの入門記事がありますので、何もご存じない方は併せてご覧ください。 【Gulp.js入門】新鋭フロンエンド・タスクランナーツール を試してみました。 例 : 任意の JavaScript ファイルの結合お

    [Gulp.js] タスク単位のファイル分割 | DevelopersIO
  • シェルスクリプトでGo言語のツールをクロスコンパイルしてGithubにリリースする

    シェルスクリプトでGo言語のツールをクロスコンパイルしてGithubにリリースする [@motemen]()さんの“Wercker で Goプロジェクトをクロスコンパイルし,GitHub にリリースする - 詩と創作・思索のひろば (Poetry, Writing and Contemplation)”を手元からやる. Werckerからリリース良いと思うけど,自分はリリースは手元で管理したい.その辺は毎回同じスクリプトでやってるのでまとめておく.なお,コードは全てtcnksm/go-distribution-scriptsにある. クロスコンパイル 基はHashicorpのやり方を真似してる. まず,クロスコンパイルはmitchellh/goxを使う.goxは複数プラットフォームの並列コンパイルと出力先の設定の自由度が気に入ってずっと使ってる.何よりシンプルで良い.以下のようなスク

  • gopwt(PowerAssert for golang)がだいたいできた - コンドルが飛んでいる。

    http://github.com/ToQoz/gopwt goのpower assert用パッケージ、だいたいできた https://t.co/pzRuhoHVC5— ピヨちゃんです (@ToQoz) July 14, 2014 この時は、「Assert内で副作用のある関数を呼んでいるとそれがコケた場合に、出力の時に再度呼ばれて実際の値と違うものが表示されたり、それ以降のテストに影響がある」みたいな問題があった。それを解決するには適当に関数の呼び出しをキャッシュしてやる必要があって、型のチェックが実行時にしかない言語なら、a() == b() とかってのを memorized(a) == memorized(b) とかってできると思うけど、わりかし大変だった。 reflect.ValueOf(f).Call(reflect.ValueOf(arg1), reflect.ValueOf(a

    gopwt(PowerAssert for golang)がだいたいできた - コンドルが飛んでいる。
  • AWS 白帯シリーズ(14) fluent-plugin-cloudwatch-logs を使って CloudWatch Logs にログを送ってみる | iret.media

    cloudpack の 自称 Sensu芸人 の かっぱこと 川原 洋平(@inokara)です。 追記(2014/07/24) export AWS_REGION=us-east-1 が引き継がれず service コマンドから td-agent が起動出来なくなる件ですが、@repeatedly さんにご指摘頂き /etc/sysconfig/td-agent に export AWS_REGION=us-east-1 を追加することで service コマンドにて td-agent の起動、再起動が出来ることを確認しております。 @repeatedly さん、有難うございました! はじめに 先週、各インスタンスのログを CloudWatch に収集することが出来る CloudWatch Logs というサービスがリリースされました。CloudWatch Logs に関する情報は下記を

    AWS 白帯シリーズ(14) fluent-plugin-cloudwatch-logs を使って CloudWatch Logs にログを送ってみる | iret.media
  • ntp設定(CentOS,WIN2k8) | iret.media

    ・Public SubnetにCentOS 2台で外部ntpサーバ(ntp.nict.jp)と同期させ、VPC内部ntpサーバとしてactive/activeで立てる。

    ntp設定(CentOS,WIN2k8) | iret.media
  • crmコマンドでPacemaker設定を初期化する方法 | iret.media

    のリポジトリでcrmコマンドをインストールした場合、/var/lib/heartbeat/crm/そのものや、それに該当するフォルダが見当たらない為、初期化できません。 そこで、crmコマンドでPacemakerの設定を初期化する方法を調べました。

    crmコマンドでPacemaker設定を初期化する方法 | iret.media
  • 独り Consul ハンズオン(2)〜サービス検出、監視と Web UI〜 | iret.media

    cloudpack の 自称 Sensu芸人 の かっぱこと 川原 洋平(@inokara)です。 はじめに 前回は Consul をインストールしてクラスタ内のノードの検出を試してみました。今回は各ノードのサービス検出と監視を試してみたいと思います。また、Web UI も試してみたいと思います。 サービスの検出と監視 コンサルティングするサービス コンサルティング(検出と監視)するサービスは以下のサービスです。 td-agent もしかすると MySQL レプリケーション等のような複数台で 1 つの機能を提供するようなサービスで使うと Consul の旨味を感じられるのかもしれませんが、今回は各ノードで稼働している td-agent のサービスを検出と監視をしてみたいと思います。 サービスの検出と監視に必要なポイントは下記の通りです。 サービスの定義 サービスを監視する為のエンドポイント

    独り Consul ハンズオン(2)〜サービス検出、監視と Web UI〜 | iret.media
  • 数字から見るAWSの運用とビッグデータのビジュアライゼーション

    危険ドラッグを知るためのJmolページ公開(2014/10/18,日コンピュータ化学会2014秋季年会[郡山市])Yoshio Honma

    数字から見るAWSの運用とビッグデータのビジュアライゼーション
  • MPP on Hadoop, Redshift, BigQuery - Go ahead!

    Twitterで「早く今流行のMPPの大まかな使い方の違い書けよ!」というプレッシャーが半端ないのでてきとうに書きます.この記事は俺の経験と勉強会などでユーザから聞いた話をもとに書いているので,すべてが俺の経験ではありません(特にBigQuery).各社のSAの人とかに聞けば,もっと良いアプローチとか詳細を教えてくれるかもしれません. オンプレミスの商用MPPは使ったことないのでノーコメントです. MPP on HadoopでPrestoがメインなのは今一番使っているからで,Impalaなど他のMPP on Hadoop的なものも似たような感じかなと思っています. もちろん実装の違いなどがあるので,その辺は適宜自分で補間してください. 前提 アプリケーションを開発していて,そのための解析基盤を一から作る. 簡単なまとめ データを貯める所が作れるのであれば,そこに直接クエリを投げられるPre

  • github.comに22番ポート以外でアクセスしてソースを取得する - PartyIX

    githubはなかなかに便利で,ソースを上げることが多い. そしてサーバー運用時にも,そこからソースを取ってきてデプロイできるように組んでいたりすることがある. ただし,気を使うのが非公開のプライベートリポジトリだ. プライベートなので,ログインしないとソースにアクセスできない. そのため,普段の開発環境であれば,ユーザ名とパスワードを入力したり,鍵認証できるように用意してしまったりしている. しかし,これらの通信は要するにsshなので,基的には22番ポートを使用している. ここで問題になるのが,割とサーバーによっては22番が空いてなかったり!ということがある辺りだ. そいういう運用サーバーでも,ソースはgithubから取りたいときに便利なのが,443. なにしろhttpsで普通に使うポートなので,だいたい開けておく場合が多い. 443ポートを通してgithub.comにログインさせる.

    github.comに22番ポート以外でアクセスしてソースを取得する - PartyIX
  • Amazon DynamoDBをカジュアルにKVSとして使う

    30 Mind-blowing Stats on Internet of Things: Market Estimates and Forecasts

    Amazon DynamoDBをカジュアルにKVSとして使う
  • Bundler概要 - Qiita

    bundlerについて分かってる風になっていたので、一度整理します。 特徴 ・Gemパッケージの種類やバージョンの管理 ・複数PCで必要なGemパッケージをインストールする仕組みを提供 ->チーム間で同一の開発環境を簡単に構築することが可能に。 運用方針 基的に、gemコマンドでインストールするのはBundlerのみで、その他のgemパッケージは、Bundler経由でインストールするという方針。

    Bundler概要 - Qiita
  • Capistrano3を最後にもう一度だけ懇切丁寧にまとめてみる - そのねこが学ぶとき

    2017-08-15 追記 Googleの「Capistrano」検索順位で上位にあるためか、いまだにこの記事がたびたびブクマされるんですが、3年前の情報ですし、執筆者はRubyを専門としたプログラマーではないのでその点ご注意ください。(追記ここまで) いろいろエントリーを上げながら苦しんでいたCapistranoだが、ようやっとそこそこ落ち着いてきた気がするのでそろそろ完結編といく。Capistranoの基とかはすでにこちらのエントリーで書いたので、今回は各設定ファイルの書き方とか、その他ハマったポイントを中心に。 今回作成したファイル 以下4ファイルを作成した。 Capfile config/deploy.rb config/deploy/staging.rb lib/capistrano/tasks/unicorn.cap 基的にCapistranoを使う場合「必須」なのは上2つ

    Capistrano3を最後にもう一度だけ懇切丁寧にまとめてみる - そのねこが学ぶとき
  • 軽くて使いやすい仮想化技術 「Docker」の仕組みと エンタープライズ開発における4つの活用事例

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    軽くて使いやすい仮想化技術 「Docker」の仕組みと エンタープライズ開発における4つの活用事例
  • railsアプリをherokuで動かす

    herokuデプロイに必要な作業をダイジェストでお送りします。 ■Gemfilesの追加記述 gem 'sqlite3', group: [:development, :test] gem 'rails_12factor', group: [:production] gem 'pg', group: [:production] ■config/database.yml production: adapter: postgresql encoding: utf8 database: pool: 5 username: password: ■herokuへデプロイ heroku create myapp git push heroku master heroku addons:add heroku-postgresql heroku run rake db:migrate heroku ope

  • GithubのGo言語プロジェクトにPull Requestを送るときのimport問題

    TL;DR fork元(オリジナル)をgo getしてその中で作業,forkした自分のレポジトリにpushしてPull Requestを送る. 問題 Github上のGo言語のプロジェクトにコミットするとき,cloneの仕方で若干ハマることがある.普通のOSSプロジェクトの場合は,forkしてそれをcloneしてpush,Pull Requestとすればよい.Go言語のプロジェクトでは,同じレポジトリの中でパッケージを分け,それをimportして使ってるものがある.そういう場合にforkしたものをそのままcloneすると,importの参照先がfork元の名前になりハマる. 例えば,github.com/someone/toolがあるとする.このレポジトリはgithub.com/someone/tool/utilsという別パッケージを持っており,mainがそれを使っているとする.つまり以下