タグ

rubyとprogrammingに関するkeisuke_yamaneのブックマーク (123)

  • Embulk界隈で話題になっている分散ワークフローエンジン「DigDag」について調べてみた #digdag | DevelopersIO

    こんにちは、最近Embulk(エンバルク)を調べている川崎です。 タイトルの「DigDag」(ディグダグ) *1と聞いて○ァミコンや○ムコを思い浮かべた方はきっとアラサー以上ですね! 今回はEmbulkを使い始めると直面するであろう課題について書いていきたいと思います。 これまでに書いたEmbulkエントリー [Embulk] Embulkについての個人的なまとめ [Embulk] guess機能を試してみた【追記】あり [Embulk] guess機能を試してみた Redshift編 [Embulk] タイムスタンプのカラムを追加する [Embulk] タイムスタンプのカラムを追加する add_timeプラグイン編 [Embulk] guess機能を試してみた (テーブルが存在する場合) Embulkを使いはじめると... Embulkはデータファイルの中身をDBにロードするような用途で

    Embulk界隈で話題になっている分散ワークフローエンジン「DigDag」について調べてみた #digdag | DevelopersIO
  • 「Vagrant」って何ぞ?(・o・)

    「Vagrant」って何ぞ?(・o・):Vagrant開発者 Mitchell Hashimoto氏に聞いた 仮想の開発環境作成ツールとして人気が高まっている「Vagrant(ベイグラント)」。その開発者であるMitchell Hashimoto(ミッチェル ハシモト)氏が来日するとの情報を聞き、2013年7月12日、VOYAGE GROUPで行われたミートアップに駆け付けた。 「Vagrant」とは Vagrantとは、違う環境に移行可能な開発環境を簡単に構築・管理し、配布することができる開発環境作成ツール。「ほんの数行書くだけで開発用の仮想マシンを構築できる」という優れものだ。 Vagrantのビジョンは、「開発者とシステム管理者にとって最高の『開発フロー』を提供すること」。Vagrantをダウンロードして「vagrant up」と入力し、実行するだけでそれが可能となる。 システム管理

    「Vagrant」って何ぞ?(・o・)
  • 分散テスト実行システムRRRSpecをリリースしました - クックパッド開発者ブログ

    技術部アルバイトの鈴木(@draftcode)です。 クックパッドが内部向けに開発・運用を行ってきた、分散テスト実行システムRRRSpecをオープンソースとして公開しました。RRRSpecは時間のかかる自動テストを分散処理することで、全体のテスト時間の短縮を狙うアプリケーションです。現在クックパッドでは17000を超えるテスト項目があり、マシン一台でテストを実行すると完了まで数時間かかります。このテストを60並列程度の分散処理で行うことで、平均8分から9分程度で完了できるようになりました。また、Amazon EC2のスポットインスタンスを利用することにより、大幅なコスト削減も同時に達成しました。 https://github.com/cookpad/rrrspec 分散テスト実行とは アプリケーションが大きくなるにつれて、自動テストの数も大きくなっていきます。クックパッドでは、非常に多くの

    分散テスト実行システムRRRSpecをリリースしました - クックパッド開発者ブログ
  • 構成管理ツール「Chef」の概要とインストール手順

    自動化ツールの必要性 昨今、仮想化およびクラウドの普及に伴い、サーバを短時間で増設することが容易になってきました。例えばユーザアクセスが増えてシステムの負荷が高くなった場合、サーバそのものは即座に準備できるようになりました。しかし、システムの設定は別途実施しなければいけないという状況も多々見受けられています。 サーバの台数が少なければ一台一台構築や設定を行えますが、何百台ものサーバを扱うとなると時間がかかって迅速性は失われてしまいますし、多くの人手が必要となれば設定の間違いが起こる可能性も高くなるでしょう。そして管理するサーバが増えたとしても、それらを管理する人は増えていないのが現状です。 そのため、サーバ構築とともにアプリケーションやミドルウェアの設定をも実施する自動化ツールが注目されています。 Chefとは Chef(シェフ)は、米Opscode社が提供するクラウドコンピューティングを

    構成管理ツール「Chef」の概要とインストール手順
  • インフラチームを持たない会社でのインフラ運用

    始める DevOps ( http://atnd.org/events/41286 ) での発表資料です #init_devops

    インフラチームを持たない会社でのインフラ運用
  • プログラミング言語の速度とアプリケーションの速度がいかに関係ないかがわかるグラフ - kなんとかの日記

    まずは次の表をご覧あれ。これはプログラミング言語のベンチマークとして有名な Computer Language Benchmarks Game のベンチマーク結果。上にいくほど高速で、下に行くほど遅い言語になる。 これを見れば、最速な言語は C/C++ であり、Java や Haskell や OCaml といった静的な言語は軒並み上位に登場する。これに対し、RubyPythonPHP といったスクリプトは全部下のほう (つまり遅い)。その速度差は非常に大きく、このベンチマークで見ると Python3 や Ruby1.9 は C/C++ の約50倍から60倍遅く、Perl は約90倍、PHP にいたっては約130倍遅いことになる。 (ちなみに JIT つきの Lua が驚異的に高速なのが目をひく。この結果が当だとしたら、言語の速度に大きく関係するのは動的か静的かではなく、どれ

    プログラミング言語の速度とアプリケーションの速度がいかに関係ないかがわかるグラフ - kなんとかの日記
  • 軽量スレッドブームだと思うので、そこらへんの情報をまとめてみる - 金利0無利息キャッシング – キャッシングできます - subtech

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    軽量スレッドブームだと思うので、そこらへんの情報をまとめてみる - 金利0無利息キャッシング – キャッシングできます - subtech
  • 第2回 バイナリプロトコルの扱い方 | gihyo.jp

    株式会社ミクシィの前坂です。第1回でmemcached 1.4の簡単な紹介をしました。今回は新しく正式導入されたバイナリプロトコルの扱い方をご紹介いたします。 バイナリプロトコルの扱い バイナリプロトコルを扱うには、アプリケーションのプログラミング言語に合ったバイナリプロトコル対応のクライアントライブラリが必要です。バイナリプロトコルは最近導入されたこともあり、ネイティブ対応していると報告されているクライアントライブラリはC言語のlibmemcachedとJavaのspymemcachedだけです(2009年8月時点⁠)⁠。ただし、世の中にはlibmemcachedをwrapした、さまざまの言語で記述されたクライアントライブラリがいくつかあり、それらを使ってバイナリプロトコルを扱うことが可能です。 今回の記事ではそれらのクライアントも含めて, C、JavaPythonPHPでのデモコー

    第2回 バイナリプロトコルの扱い方 | gihyo.jp
  • 現実世界におけるルールエンジン

    これらのビジネスルールは新しいものではありません。多くのビジネスソフトアプリケーションの中核となるビジネスロジックです。もしあなたが開発者なら、こうしたルールは要件のサブセットとして表現されているのを何度となく見たことでしょう。これらは、"月曜日は、3つ以上のご注文で20%のディスカウント"や"スーパースポーツ・バイクでは、16才の男性に保険を掛けることはできません"といった文章に似ています。 ルールエンジン間の主な違いは、こうしたルールがどう表現されるか、です。プログラムの中に埋め込まれる代わりに、これらはビジネスルールの書式に符号化されます。この書式はルールエンジンごとに違っています。 ルールエンジンは、何の制限も受けていません。ルールを管理するための、他のツールと一緒にリリースされることがよくあります。一般的なオプションとしては、生成、デプロイ、保存、バージョニング、そして個別もしく

    現実世界におけるルールエンジン
  • ファイルの変化を感知してアクションを実行する·ifchanged MOONGIFT

    Webデザインを行っていたり、システム開発を行っている際にちょっと変更して再読み込みしたり、ファイルを変更したらバージョン管理でコミットしたりと繰り返し同じ作業を行うことがある。 ファイルの変化を感知してアクションを実行する そのような時に都度ボタンを押すのは面倒だ。ファイルの変更を自動で感知して何かのアクションを起こしてくれれば良い。 今回紹介するオープンソース・ソフトウェアはifchanged、ファイルの変化を感知してアクションを実行するソフトウェアだ。 ifchangedはRubyで作られている。が、特にRubyの開発に限らず利用することができる。ファイルは正規表現で指定することも可能で、ディレクトリ以下にあるいずれかのHTMLファイルが変更されたら指定したアクションを実行するといった設定ができる。 監視中 例えば指定したURLを開く、git commitを実行するなどの使い方が考え

    ファイルの変化を感知してアクションを実行する·ifchanged MOONGIFT
  • 「ソフトウェアは工業製品ではない」、Rubyのまつもと氏が講演 - @IT

    2009/04/10 ソフトウェアは工業製品ではない――。Rubyの生みの親としてしられるまつもとゆきひろ氏は2009年4月9日、InfoQ主催のイベント「QCon Tokyo 2009」の基調講演で、ソフトウェアと何であり、何でないのか、それはどういう性質のものであるのかを雄弁に語った。 コードとは設計である 「ビューティフルコード」と題した基調講演を行ったまつもと氏は、2007年に共著者の1人として出版した同名の書籍に書いたエッセイに込めた思いを、次のように語る。 「世界に冠たる日の製造業のノウハウを適用することで生産性を上げることができるに違いないという発想がありますが、ソフトウェアは工業製品ではない。そうした誤解を正していきたい」。 ソフトウェア産業界では、よくエンジニアが何十万人足りないということが言われる。しかし、まつもと氏は、これは工業生産と同じ方法論を当てはめることから来

  • moved

    This site has been moved. Please visit the new site.

  • Webアプリ開発における「内部APIモデル」 - Tous Les Jours 攻防記

    前回の話は、一回のエントリーでは書ききれない内容でした。。以下もうすこし詳しく書き直してみます。 Webアプリ開発における「内部APIモデル」とは、ネットワーク越しに外部サイトのWebAPIを呼び出すかのごとく、自サイト内のリソースに対して内部専用のWebAPIでアクセスする仕組みを導入し、分散処理を行うモデルのことです。典型的なWebアプリでは、データベースがここでいうリソースに該当するかと思います。 図にすると以下のようなイメージです。 今回、Lang-8で実際に「内部APIモデル」を導入してみたので、気づきの点などをこのエントリーにまとめてみました。 ※導入のいきさつについては、前回のエントリーで触れています。 「内部APIモデル」を採用するメリット Webアプリ開発において「内部APIモデル」を採用するメリットは2つあります。 (1)言語やフレームワークの選択自由度が上がる 現在運

    Webアプリ開発における「内部APIモデル」 - Tous Les Jours 攻防記
  • Seleniumのテストケース自動生成の連載が始まるようです: ある SE のつぶやき

    Excelマクロによる、seleniumテストケースの自動生成(1):CodeZine Seleniumといえば、Webアプリケーションのテストを自動化できるツールとして有名だと思うのですが、Excelマクロを利用してSeleniumのテストケースを自動生成する連載がCodeZineで始まるようです。 連載記事の一覧はたぶんこのアドレスかと思われます。 http://codezine.jp/a/default.aspx?cid=702 これは楽しみ。

  • memcached座談会 記事一覧 | gihyo.jp

    第7回memcachedを運用する際のベストプラクティス、memcachedのこれから 長野雅広,前坂徹,池邉智洋,福冨諭,正野勇嗣 2008-10-27

    memcached座談会 記事一覧 | gihyo.jp
  • 複雑な GUI を持つアプリケーションの設計について(Web アプリ編) - Akasata's Page(あかさたのページ)

    2007-08-14 04:48 : 複雑な GUI を持つアプリケーションの設計について(Web アプリ編) 以下のようなエントリを見つけました。非常に良い問題意識です。そう、GUI プログラミングは泣けるほど面倒くさいのです。 subtech - Pink Blossom Diary - AS3/Flex2 を使い始めて約半年より まずイベントドリブンなプログラミングに慣れてないのが一つで。Flex のイベントや自前イベントやをただ単に投げまくってると、とりあえずは動くけど後からメンテし辛いスパゲッティコードができあがる。このスパゲッティコードは goto 文が乱立するコードよりも酷く、goto だったら割と行き先は把握できるけど、イベントを投げまくってるだけだと、どこでどのオブジェクトがこのイベントを受け取るかが解らない。解りづらい。いちいちソースコード grep です

  • AppleのMobileMeでも使われるJavaScriptライブラリ·SproutCore MOONGIFT

    インタフェースはとても重要だ。技術的に優れていても、インタフェースが悪いと触ってもらえない。逆に技術的にそれほどすごいものではなくとも、インタフェースが優れていると流行ったりすることもある。 Welcomeページ 技術とデザイン、両立できれば言うことはない。優れたインタフェースを手軽に作るために、このライブラリを使ってみることをお勧めする。 今回紹介するオープンソース・ソフトウェアはSproutCore、リッチなインタフェースを実現するJavaScriptライブラリだ。 SproutCoreはAppleの提供するサービスである、.Macの次期バージョンMobileMeでも一部で採用されているJavaScriptライブラリだ。JavaScriptながら、gemを使ってインストールするのが特徴だ。 ターミナル上でコードを生成する Rubyを使ってWebサーバを立ち上げることができ、ポート番号4

    AppleのMobileMeでも使われるJavaScriptライブラリ·SproutCore MOONGIFT
  • MOONGIFT: 開発者必須!ブラウザでRESTful APIにPUT&DELETE「RestTest」:オープンソースを毎日紹介

    RESTfulなWeb APIを利用する際には、通常のGETやPOSTの他に、PUT/DELETEを活用する必要がある。これらのHTTPメソッドはブラウザで対応していないためにライブラリを使ったり、専用のソフトウェアを利用する必要がある。 GETを行った場合 だが、これでは面倒だと感じることが多いだろう。そこでブラウザに対応してもらおう。 今回紹介するフリーウェアはRestTest、FirefoxにPUT/DELETE/OPTIONSメソッドを実行させるFirefoxアドオンだ。 RestTestは残念ながらFirefox2系までしか対応していない。インストール後、ツールメニューにRESTTestという項目が表示される。これを選ぶと専用ウィンドウが開く。入力項目はURL、メソッド選択、ヘッダー、POST/PUTデータだ。 PUTを行った場合 各項目を必要に応じて入力し、Sendボタンを押せ

    MOONGIFT: 開発者必須!ブラウザでRESTful APIにPUT&DELETE「RestTest」:オープンソースを毎日紹介
  • Teflon Ted: Rails Doesn't Scale

    Divorced Java after 12 years of misery. Eloped with Ruby and never been happier. [Originally posted to the AdPickles blog.] Last month, an old entrepreneurial colleague dropped me a note regarding some speed bumps he's hit while courting potential investors and partners... "I've heard a few people mention that they heard that Rails doesn't scale [...] any suggestions on how we might alleviate thei

  • Mac OSX 10.5 LeopardのRails環境を整える。 - ザリガニが見ていた...。

    先週発売されたMac OSX 10.5には、RubyRailsも最初からインストールされている。ターミナルを見てみると、そのままの設定で日語に対応しているところも嬉しい。余計なことを考えなければ、ターミナルを起動して、いきなりrails softwareとコマンド入力すれば、すぐにsoftware Railsプロジェクトが始められるのだ。最初の一歩を踏み出す敷居がとても低くなった。素晴らしいことです。 しかし、今までRadRails環境に慣れてしまっていると、コードの編集作業がTextEditではちょっと不便を感じる。試行錯誤しながら、Mac OSX 10.5でRailsの開発環境を整えてみた。 XcodeがRubyの構文にも対応したみたい。Railsプロジェクトとして管理できるのだろうか?(どうも出来るようですね。Rails On Xcode - リンゴの水やりで教えてもらいました。

    Mac OSX 10.5 LeopardのRails環境を整える。 - ザリガニが見ていた...。