タグ

ブックマーク / doruby.kbmj.com (41)

  • SQL関数coalesceの使い方と読み方

    coalesceとは何か? coalesce は、与えられた引数のうち、NULLでない最初の引数を返してくれます。データを表示する目的で取り出すシチュエーションなどで、NULL値の代わりにデフォルト値を使っている場合に便利です。CASE や NULLIF などを用いても同様の効果が得られますが、coalesce() を使えば、より完結に記述することができます。といっても実際に使ってみないとイメージがわかないと思いますので、以下、実験してみます。 coalesce実験用テーブル・レコード 以下のようなテーブル・レコードを用意しました。

  • rubyで外部コマンド実行

    rubyからOSのコマンドやシェルなどの、外部コマンドを 実行する方法としていくつかあるようですので簡単にご紹介します。 続きはこちら http://doruby.kbmj.com/yablog/20090531/ruby_1

    akio0911
    akio0911 2009/10/02
  • 外部URLを偽装するテスト用ライブラリ「FakeWeb」

    ご無沙汰しています。KBMJのプログラマのx5rです。 最近、私が携わるプロジェクトでは、外部APIを利用したい、一部の機能を外出しにしてサービス間で連携したいという要望が徐々に増えつつあります。 ただし、その外部システム(サービス、API)と連携する機能を実装はするものの、その機能をテストする場合、テストケース毎に毎回外部連携する訳にはいかないので、どうすればいいのかわかりませんでした。 仮に、毎回そのシステムにリクエストを投げてテストするとしても、その外部システムも並行している開発する場合、そのシステムが出来上がるまで待っていなければなりません。 みなさんこういった外部連携のテストをどうやって行っているのか調べていたところ、FakeWebというWebリクエストを偽装するgemライブラリがあることを知りました。 そこで、今回はこのFakeWebというgemライブラリについて紹介

  • Amazon の電子書籍リーダー「Kindle 2」を使ってみた

    こんにちは。 KBMJの佐藤です。 Amazon電子書籍リーダー「Kindle 2」を触る機会があったので、今回はその感想を書いてみたいと思います。 Amazon Kindle 2 とは Amazon Kindle 2 は、米 Amazon が販売している電子書籍リーダーです。 Kindle 最大の特徴は、EV-DOを利用した、PCを介する必要のない電子書籍のダウンロード機能。携帯会社との契約は不要というのが素晴らしいです。つまりを読みたくなっても書店に行かずに購入・読書が可能ということです。まさにユビキタスなサービス。Kindle向けの書籍だけでなく、Wikipediaや新聞、雑誌、ブログなどを購読することも可能なようです。 ハードウェアキーボードも装備されており、書籍の検索やノートの入力などにも使えます。 端末の省電力設計も特徴で、バッテリーが非常に長持ちするようです。無線機能を

  • プロジェクトのversion変更

    DoRuby! (ドルビー!) は現場のエンジニアによる、主にRubyなどの技術に関する様々な実践ノウハウを集めた技術情報サイトです。 初めまして。新人のrickです。 今回は、railsプロジェクトを作ってからversionupしたくなったときの方法を紹介します。 今回は、[rails 1.2.3]から[rails.1.2.6]へ変更します。 まずは、 gem list rails でinstallされているversionを確認します。 もちろん入っていなかったら gem install rails --version=1.2.6 とかでinstallしてください。 次に、projectのversionの確認です。 プロジェクト内で ruby script/about とうってみてください。 About your application'

  • Ruby on Railsでrakeコマンドを使って様々なタスクを実行しよう

    DoRuby! (ドルビー!) は現場のエンジニアによる、主にRubyなどの技術に関する様々な実践ノウハウを集めた技術情報サイトです。 はじめまして!KBMJでエンジニアをやっているT氏です。初投稿の今回は、rakeコマンドについてご紹介したいと思います。*rakeとは・・・ビルドツール(AntやMake等)のruby版の事     まず初めに、rakeのバージョンを調べてみましょう。 rake --version ちなみに私は0.8.3でした。 次にrakeにどのようなオプションがあるか見てみましょう rake --task (rake -TでもOK)  恐らく大量のオプション一覧が出てくるかと思います。。。その中から、便利なコマンドをつまんでご紹介します。  rake db:... rake db:migrate →migrateを実行して最新のバージョンになります(一番使う事が多いか

  • DRBD+Heartbeat+NFS

    まず、DRBDとHeartbeatの構築をしておきます。こちらは省略します。 続いて、Heartbeatの /etc/ha.d/haresoureces の設定を行ないます。 # vim /etc/ha.d/haresources testserver1 drbddisk::drbd0 Filesystem::/dev/drbd0::/var/drbd::ext3 IPaddr::192.168.99.3/24/eth0 こちらの設定で DRBD の復帰と、 /dev/drbd0 を /var/drbd へのマウント、仮想IPの割りあてが行なえます。もちろん、testserver1とtestserver2で /var/drbd を作成しておく必要があります。 # mkdir /var/drbd この段階で一度 heartbeat のテストをします。testserver1でheartbeat

  • [Python]遺伝的プログラミングでFizzBuzz

    社内勉強会用に遺伝的プログラミングでFizzBuzzを(作るプログラムを)つくってみました。 勉強会には間に合わなかったのでこちらで公開します。 遺伝的プログラミングの解説と例はこちらのに載っています。 Amazon.co.jp: 集合知プログラミング: Toby Segaran, 當山 仁健, 鴨澤 眞夫: 今回作ったスクリプトは上記のに載っていたものをFizzBuzz用に修正したものです。Pythonで書いてあります。元々のスクリプトの機能は整数の加算、減算、乗算、if、>を組み合わせて目的にあった挙動をするプログラムを組み立てるというものでした。 今回修正した点は 文字列を扱えるよう変数の型の概念を導入した。 結果の出力を画像化した。 の2点です。 ソースコードはこちらから。実行にはPython2.6以降とpyDotが必要です。 genetic_fizzbuzz.py 以下、

  • 性能・負荷テストツール「JMeter」 導入編

    はじめまして! そろそろ2年目エンジニアのDaokaです。 今回は、私が性能・負荷テストを行うときによく使うJMeterというツールを紹介したいと思います。 JMeterとは? jakartaプロジェクトで作られている、Webアプリ向けの性能・負荷テストツールです。無償でありながら、かなり高性能で複雑なテストシナリオを作成・実行することができます。 また、Javaの実行環境があればどのWindows/Mac/LinuxなどOSを問わず導入することができます。 JMeterでできること 無償で使える性能測定ツールとしてApache Benchというツールもありますが、JMeterはApache Benchより複雑なテストを行うことが可能です。そのほんの一例を挙げてみます。 ・ Basic認証が必要なページにアクセスできる ・ スレッドごとに違うcookieを保持することができる。 ・ リクエ

  • 第2回 優良顧客で売上げ増加!キーワード選びから考えるアクセス解析活用術

    DoRuby! (ドルビー!) は現場のエンジニアによる、主にRubyなどの技術に関する様々な実践ノウハウを集めた技術情報サイトです。 こんにちは。KBMJアクセス解析チームの長谷です。  前回では、優良顧客の獲得が売上げ増加に必要な施策であることを解説しました。 第2回では、無料で高性能なアクセス解析ツールで有名な「googleanalytics」と同じく無料SEOツールの「キーワードアドバイスツールプラス」を中心に優良顧客を獲得するための選定方法を紹介していきます。    ■バックナンバー 【第1回】優良顧客で売上げ増加!キーワード選びから考えるアクセス解析活用術 ■無料で高性能解析ツール「GoogleAnalytics」  アクセス解析ツールを使用すればホームページのアクセス数を測定し訪問者のアクセス傾向から 対策を考えることができます。5年程前は有料のアクセス解析ツールが市場の多

  • Ruby on Railsでカレンダーを表示する

    こんにちは。 エンジニア1年目。 Ruby始めて3週間目くらいのyukiです。 今回は、Ruby on Railsでカレンダーを作りたいと思います。 簡単にカレンダーが作れる便利なプラグイン「Calendar Helper」 というものもあるみたいですが、今回は使わず自力で作って見ます。 htmlで使える用、tableで書き出します。 ソースはこんな感じ。 helper------------------------------------------------------------------------------------- def table(week_count, date) case week_count when 0 #日曜日(赤色書き出す) cal = "<td><span style=\"color:#ff0000;">"#{date}</span></td>"

  • Ruby on Railsでruby-debugを使ってデバッグしよう

    DoRuby! (ドルビー!) は現場のエンジニアによる、主にRubyなどの技術に関する様々な実践ノウハウを集めた技術情報サイトです。 こんにちは、KBMJの中平@railsエンジニアです。 今回はruby on railsのデバッグ方法を紹介しようと思います。 以前、aptanaでrailsをデバッグ実行するという記事を書いたのですが、そもそもコンソール上でのデバッグ方法を書いてないなと思ったので、紹介いたします。 今回は「ruby script/brekpointer」でのデバッグ方法ではなく、ruby-debugで「debugger」を利用してのデバッグ方法を説明いたします。  debuggerを利用するデバッグ方法 1.gem install ruby-debug2.development.rbに 『require 'ruby-debug'   Debugger.start 』 の

  • PHP PEAR::Net_UserAgent_Mobileで携帯端末判別

    DoRuby! (ドルビー!) は現場のエンジニアによる、主にRubyなどの技術に関する様々な実践ノウハウを集めた技術情報サイトです。 こんにちは。cloverです。 PHPで利用する事ができるライブラリ(パッケージ)を提供しているサービスで「PEARライブラリ」というサービスがあります。 そのPEARライブラリの中で、「これ、ちょっといいなぁ」というものを見つけました。  『Net_UserAgent_Mobile』というPEARライブラリです。 『Net_UserAgent_Mobile』は、携帯端末の情報(キャリア・機種・識別番号)を取得し、判別することのできるライブラリです。  私の環境はPHP5なのですが、PHP4でも使えるライブラリです。(もちろんPEARがインストールされていないと使えないのですが…)  まずは、インストール  # pear install -f Net_Us

  • utility_beltでwirble以上にirbを拡張する

    はじめまして。 KBMJでプログラマとして働いているkuromatuと申します。 今回は、rubyのコーディングの際によく使われるinteractive ruby(irb)を拡張するgemプラグインのwirbleを基に、更なる拡張を加えるutility_beltというgemプラグインについて紹介します。 続きはこちら http://doruby.kbmj.com/Kuromatu_logs/20090227/utility_belt_wirble_irb_

  • Webカメラからの入力に対してActionScriptでエッジ検出を行う

    package { import flash.display.*; import flash.events.*; import flash.media.*; import flash.filters.*; public class Motion extends Sprite { private var bd:BitmapData; private var video:Video; private var bitmap:Bitmap; public function Motion(){ // (1) bd = new BitmapData(640, 480, false, 0x00000000); bitmap = new Bitmap(bd); addChild(bitmap); addEventListener(Event.ENTER_FRAME, onEnterFrame); // (

  • Rubyでどう書く?:重複したRSSをまとめる

    KBMJがZDnetで連載している記事を紹介します。コメントなどありましたらそちらでお願いします。 Rubyでどう書く?:重複したRSSをまとめる 高瀬裕一(KBMJ)「ネットの話題を追いかけるために、はてブのホッテントリやlivedoor クリップの人気ページをRSSで取得しています。でも、重複していることも多いんです。助けてください」(32才 男性・家事手伝い)――よろしい、ならばRubyで書こう。  第4回目のテーマは「重複したRSSをまとめる」と題しまして、Rubyで複数のRSSから重複したエントリを除去する問題を出します。 問題 最近、はてなブックマークやlivedoor クリップなど、ユーザーが外部のサイトを集めて、その結果を出力するサービスが増えてきました。 ただ、一部のサイトを見ているだけで話題を追うことができるので便利なのですが、同じURLが複数のRSSにあり「もうこれは

    akio0911
    akio0911 2009/01/17
  • clearfix for Firefox3

    最近htmlcssばっかり書いてるまいです。 ruby?なにそれおいしいの?状態… そんな最近作業をしてて、先日書いた「clearfixでfloat解除」のclearfixでは Firefox3でちょっとおかしなことになってしまったので、 さらに手を加えてみました。 つべこべ言っても仕方ないのでとりあえずご紹介。 .clearfix:after { content: "."; display: block; clear: both; height: 0; font-size: 0; visibility: hidden; } .clearfix { display: inline-block; } .clearfix { display: block; } 前のだと何がどうなるかというと、footerとかにclearfixを適用させたとき、 一行分

  • RMagick を使って輝きのあるバナー画像を作成する

    DoRuby! (ドルビー!) は現場のエンジニアによる、主にRubyなどの技術に関する様々な実践ノウハウを集めた技術情報サイトです。

  • クローラー対策 ロボットテキスト (robots txt)

    DoRuby! (ドルビー!) は現場のエンジニアによる、主にRubyなどの技術に関する様々な実践ノウハウを集めた技術情報サイトです。 こんにちはカツオです。   今日はrobots.txtの書き方について説明します。   というのも webサーバーでmongrelを使ったrailsアプリで、mongrelがよく落ちるのですが、 クローラーのアクセス数が多いので、 googleのクローラーをIPで制限してみたら、 mongrelの落ちる回数が、極端に減りました。   対策の一つとして、robots.txtを書く機会があったので、ご紹介です。   ■robots.txtとは? クローラーや、スパイダー、検索ロボットといわれる 検索エンジンのインデックスを取得するために、web上を巡回しているソフトがあります。 もちろんそれらにアクセスされると、 検索エンジンのインデックスに登録される可能性

  • button_to ボタンでリンク rails

    こんにちはカツオです。 今日は、初心に戻ってハイパーリンクではなく、ボタンでリンクする方法を紹介します。   link_toやurl_forを使えば、リンクを作成することはできると思いますがハイパーリンクではなくボタン形式でリンクを作成する方法です。 ボタンでリンクを作成する場合には ○button_to を使用します。 使い方は、link_toと同じです。 button_to("更新", :action =>'update') #=><form method "post" action="/top/update" class="button-to">       <div><input type="submit" value"更新" /></div></form> このbutton_toポイントとしては、・formタグで作成されるので、既にformタグの中にいる場合は使えない・当然ボタン