バージョンと製造年月日 2009年09月08日 Ruby 1.8.6 aws-s3 0.6.2 WindowsXP SP3 ▲ ▼ 環境構築 AmazonのストレージサービスをS3から使うライブラリ aws-s3 があるのでこいつをインストールする gem install aws-s3 こいつには3つの依存性がありgemなら自動的にインストールされるんだが、一応乗っけておく xml-simple http://rubyforge.org/projects/xml-simple/ builder http://rubyforge.org/projects/builder/ mime-types http://rubyforge.org/projects/mime-types/ ▲ ▼ 接続設定 まず接続設定を行う。こいつはAmazonのサービスで毎度使う、生成idとkeyの
CでRubyの拡張ライブラリを作る方法はいくらでものっているのに、調べてもC++で作る方法が全然見つからなかったので自分で書く事にする。 ようはC++で定義したクラスとそのメンバー関数をRubyから使えるようにしたい。 第1部は普通のグローバル関数をRubyから使えるようにする。 第2部はクラスとそのメンバー関数をRubyから使えるようにする。 第3部はrbplusplusを使って処理を自動化する すべてのクラス、関数を手で書くと結構大変なので、実際には第3部で紹介する rbplusplus を使って自動で処理する事になると思うが、 そうは言っても中で何をやっているのか知っておかないと気持ち悪いので第1部、第2部も書いた。 自動処理のためのツールには他にもswigがあるが、今なら多分rbplusplusの方を使った方が良い。
デフォルトのyumではruby1.8.5しか入らないのでソースからインストールする。 あとで管理ができるようにRPMでインストールしてみた。 参考にさせてもらったサイト(というかほとんどそのままです。) http://moimoitei.blogspot.com/2008/08/centos-52-ruby.html ちなみに以下は32bit(i386)環境なので64bit(x86-64)などの場合はダウンロードする各ソースのURLが異なるので注意してください。 追加リポジトリ(RPMforge)の追加 リポジトリを追加する。 $ su - # rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt # wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmf
CentOS 5.2 の標準では ruby 1.8.5 止まりである。 Ruby を最新バージョンに上げて、RubyGems入れて、Railsも入れるとか、結構、巷で行われている まぁ、記念なので、次のサイトを参考にインストールしたら、すんなりできた MuraTaka 速記メモ / 2008-07-13 RPMforge の追加 公開鍵の取得し、レポジトリのパッケージの確認し、インストールし、デフォルトでは使わない設定をする。 # rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt # wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm # rpm -K rpmforge-rel
Ruby と MessagePack-RPC があれば、簡単なkey-valueストレージは簡単に作れます。54行で書けます(レプリケーションと負荷分散機能付き。サーバー38行、クライアント16行)。 簡単なKVSをベースにして、ログ集計や遠隔デプロイ、遠隔管理機能などの機能を追加していけば、ちょっと便利なサーバープログラムをサクサク自作できるハズ。 この分散KVSは、(keyのハッシュ値 % サーバーの台数)番目のサーバーにkeyを保存します。また、サーバーの名前順でソートしたときの「次のサーバー」と「次の次のサーバー」にデータをレプリケーションします。 すべてのサーバーで同じ設定ファイルを使います。サーバーごとの設定は引数を自分のホスト名に書き換えるだけなので、デプロイが容易です。 MessagePack-RPC for Ruby を使うと、分散しないkey-valueストレージ*1は
めも FGはdefineの仮引数周りが無駄 (blueprintで改善) FGはinstanceをフラットに管理しすぎ FGのsequence(next)はイケてる FGはAR前提 Machinistは定義がイケてるが、名前がダサイ(make_unsaved) Machinistはメソッド名が衝突しそう(makeはアカン) Machinistはinstanceをクラス毎に分類できるが、Shamレベルまで落ちるとフラットになる片手落ち感 Daddyの使えなさは異常 FGの継承はどうやるの?(-> :parent) FG.blueprint は :parent を理解してくれない 試行錯誤 Factory.sequence :login do |i| "login#{i}" end Factory.define(:user) do |user| user.login {Factory.next
* RubyKaigi2009 動画の全ての動画を公開いたしました KaigiFreaksチーフのしまだです。 RubyKaigi2009 の公式動画につきまして、全ての動画を公開致しましたのでお知らせいたします。 RubyKaigi 2009 Sessions(1st day) RubyKaigi 2009 Sessions(2nd day) RubyKaigi 2009 Sessions(3rd day) RejectKaigi 2009 Sessions(1st day) RejectKaigi 2009 Sessions(2nd day) お待たせしてしまって大変申し訳ありませんでした。 ご自宅で、あるいは通勤通学のお供に、あるいは勉強会で集まって、 RubyKaigi2009 を隅々までご堪能ください。
gemにしました → 橋本商会 wavファイルをRubyで編集する ***** Rubyでwavファイルを操作するためにWavFile.rbを作った。スピーカから音を鳴らすのではなくて、wavファイルそのものをいじって合成したりつなげたり、逆再生や左右反転させたりした後ファイルに書き出す為に作った。 packやunpackを使ってRubyでバイナリを読み書きする部分でかなり苦戦したけど、WAVファイル – MoonRock@MoonRock/A mere diary (2002-2)(7年も前に同じような事やってる!)がすごく参考になった。attr_accessorとかも知らなかったから勉強になった。 http://shokai.org/projects/ruby-wavfile/にサンプルを色々置いておく。 例えば、逆再生のwavファイルを作るコードはこう書ける reverseWav.r
設定 例えば、1クラス(例10人)の名前と身長と体重をオブジェクトにしてそれを配列として 名前でソート 身長でソート 体重でソート したいという状況を考えます。 データ構造をStructでつくり、これを配列に追加していきます。 Item = Struct.new(:name, :height, :weight) a = [] a << Item.new("aa",155,45) a << Item.new("bb",170,50) a << Item.new("cc",175,57) a << Item.new("dd",160,52) a << Item.new("ee",165,49) a << Item.new("ff",140,40) a << Item.new("gg",185,75) a << Item.new("hh",140,50) a << Item.new("ii",1
Ruby on Rails を用いて、インクリメンタル検索のできる英和辞書webアプリ を作ってみました。インクリメンタル検索とは、検索語句の入力途中の文字列 から随時検索を行い、結果を動的に書き換えていく検索のことです。対象読者 は基本的な Rails の知識がある人としています。 データベースは SQLite を使用しますが、テーブル構造は単純なので 他のデータベースに変更するのは容易です。 dictアプリケーション用ディレクトリの作成 まずアプリケーションのディレクトリを作成します。アプリの名前は dict と します。 % rails dict 辞書データ 以下の作業は、すべて dict アプリの db ディレクトリ (dict/db) で行いま す。 辞書データは、 GENE95辞書 を用います。このページよりデータをダウンロードし、展開すると gene.txt というテキストフ
こんにちは、KBMJの中平@railsエンジニアです。 今回はrubyでパスワード生成する方法を書きたいと思います。 これは、私がユーザー登録のプログラム作成時などで、自動的にランダムなパスワードを生成する際に使っているrubyのパスワード生成コードを紹介いたします。 みなさんの参考になれば幸いです。 rubyのソースコードは以下になります。 pass_size = 12 a = ('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9').to_a password = Array.new(pass_size){a[rand(a.size)]}.join 簡単にソースコード説明いたしますと まず、パスワード生成に使用する文字を配列に格納します。(今回は英数字) それを、パスワード登録で必要な文字数分(ここでは12文字)配列からランダムに一文字ずつ
「png のフォーマットは gif に比べて難しい」などと聞いたことがありましたが、zlib が使える処理系なら、簡単な png 画像はそこそこ簡単に (ビット演算など不要で) 作れるみたいです。 2015/03/12追記:この記事は単なる知的好奇心で自力 png 生成しているに過ぎません。以下のサンプルコードもデモに過ぎないので、実用目的で使うことはおすすめしません。Ruby でベタデータの png 化をしたい人は chunky_png を、綺麗な絵を書きたい人は rcairo を使うといいと思います。 まずはサンプルコード 黒から赤へのグラデーション画像を作るプログラム。 # coding: UTF-8 require "zlib" width, height = 100, 20 depth, color_type = 8, 2 # グラデーションのベタデータ line = (0...
数回に分けてログインアプリケーションを一通り作るためのまとめを書いてみます。 Project の作成 今回は何でもいいので、とりあえず todo を作成してみます。 rails todo Plugin Install 必要なプラグインをあらかじめインストールしておきます。 restful-authentication ruby script/plugin install git://github.com/technoweenie/restful-authentication.git aasm gem sources -a http://gems.github.com gem install rubyist-aasm forgot_password ruby script/plugin install git://github.com/greenisus/forgot_password.gi
今日は 『railsを使ってWebアプリを作ろう、という時、まずは何から作り始めますか? まずユーザ登録周りのところまではほぼ自動で作ってしまいましょうか。』 という趣旨のエントリーです。 手順は下記2つのURLを参考というか、コピペさせてもらいました。 restful-authentication プラグインを使ってログインアプリケーション作る(1) restful-authenticationの使い方 基本編 おおまかに言うと下記4つの手順があります。 rails 2.3.2でプロジェクトを作る restful_authentication, aasm, forgot_passwordのプラグインを入れる プログラムを自動生成する プログラムに少し追記する (1)まずはプロジェクトを作成 rails project_name cd project_name (2−1)作ったプロジェクト
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
徳島県は2009年10月,独自開発の徳島県CMS(コンテンツ管理システム)を採用し同県のホームページをリニューアルする。徳島県CMSはRubyで開発しており,2009年度中にオープンソース・ソフトウエア(OSS)「Joruri」(ジョールリ)として公開する予定だ。 OSS採用を県の方針に 徳島県では,情報システムを新しく導入する際に,なるべくオープンソース・ソフトウエアを採用することを方針としている。狙いはコスト削減,ベンダー・ロックインの軽減だけではない。同時に発注単位を小口化,小企業でも入手しやすいオープンソース・ソフトウエアを使うことで,県内のIT企業への発注を増やすことも大きな目的としている。 すでに長崎県がオープンソース・ソフトウエアとして無償公開した「長崎県電子県庁システム」の導入を開始しており,2009年1月から4月にかけて稼働が始まっている(関連記事)。導入したのは「総務事
GAEなどでファイル数の多いライブラリを使うために、gemのパッケージから不要そうなファイルを消してjarファイルにまとめるために作ったスクリプトです。 ruby>> #!/usr/bin/env ruby def run(command) puts command system command end case ARGV[0] when 'install' run "jgem install -i ./gems --no-ri --no-rdoc #{ARGV[1]}" when 'uninstall' run "jgem uninstall -i ./gems #{ARGV[1]}" end Dir['gems/gems/'].each do |dir| %w( Generaters TODO README. README spec// test// examples// tasks/
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く