タグ

rubyに関するb-windのブックマーク (21)

  • 「文字列」について - 2014-11-07 - はてなるせだいあり

    序 「文字列を文字の列とみなす単純化」について議論がありますが、前提が抜け落ちてるように思うので書くことにします。 そもそもこの話はどのような文脈の上にあるかというと、テキスト処理 (wikipedia:en:Text_processing) の文脈になります。ここでいう「テキスト処理」とは plain text (wikipedia:プレーンテキスト) の検索・加工のことで、ここでは特に UNIX Text Processing の系譜が念頭に置かれています。つまり、複雑な装飾を含むリッチテキストではなく、処理の対象を ASCII 文字列といくつかの制御文字へと抽象化することで、正規表現のような強力な道具を用いた処理を可能とした世界です。UNIX でのお話ですから、ここでの具体的な処理の単位は char であり、全体としては char[] になります。この char の中身は上で述べたと

    「文字列」について - 2014-11-07 - はてなるせだいあり
  • Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察 | POSTD

    この記事を書き上げるには、相当長い時間がかかりました。来は今年の年明け、 Rubyの死 やデイヴィッド・ハイネマイヤー・ハンソンの TDDは死んだ がアップされて騒ぎになる前に投稿するつもりだったのです。昨年末に書いたツイートを見てください。 > Rubyにはもう飽き飽きした。理由はいろいろあるが、特にその副作用と、ステータスが可変なせいで大量のユニットテストを書かされるのにはウンザリだ。 @abevoelker Rubyの開発に関しては、大勢の人が心のどこかで何かおかしい、何かが欠けていると思っているようですが、たいていの人は責める対象を間違っています。Rubyで書いたアプリがとんでもない代物になったって? それはあなたがきちんとテストコードを書かなかったか、テスト駆動開発(TDD)の指針に則って開発しなかったからです。もしくは、正しいデザインパターンに切り分けるための知識が不足してい

    Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察 | POSTD
    b-wind
    b-wind 2014/08/29
    Haskell は Haskell で良いけど Ruby にも何か良い改善案があるといいですね。「どの言語がいい」ではなく「どの言語もいい」が理想的。
  • Loading...

  • MOONGIFT: ? Amazon S3クローンを作る「Park Place」:オープンソースを毎日紹介

    Amazon S3は前々から少しずつ触っていたのだが、これはソフトウェアよりもプログラムから触った方が楽しいかも知れない。簡単にアップロードでき、メタデータやコンテンツタイプを自分で追加でき、さらにアクセス権限も動的に設定できる。 非常にユニークで面白いサービスではあるのだが、一つ欠点がある。それは開発中もAmazon S3を使わねばならず、そのために余計なコスト(恐らく低コストだが)が発生したり、インターネットに接続されている必要性が生じる。それではいつでもどこでも開発というわけにはいかない。そこでこれだ。 今回紹介するオープンソース・ソフトウェアはPark Place、Amazon S3クローンだ。 Park PlaceはRubyで作られたソフトウェアで、Mongrelを使ったHTTPサーバを利用してAmazon S3の真似をする。SOAPインタフェースが利用できるようになっている。

    MOONGIFT: ? Amazon S3クローンを作る「Park Place」:オープンソースを毎日紹介
  • Gitを使って誰でもDropboxを作れる·RubyDrop MOONGIFT

    RubyDropはRuby製のオープンソース・ソフトウェア。個人的にDropboxはとても便利に使っている。これなしの生活は考えられないくらい便利だ。有料であれば50GBまで使えるが、無料版の2GBでは物足りないと感じる人も多いだろう。だがお金は払いたくないという人もいるだろう。 サーバ起動中 そこで考えたいのが自分だけのDropbox構築だ。重要なのは自動的に同期されるシステムであること、バージョン管理されること、複数のコンピュータ間でデータが同じ状態に保てることだろう。それらを実現するのがRubyDropだ。 RubyDropはRuby1.9系で動作するソフトウェアだ。簡単に言えば、特定のフォルダに関してRubyDropが監視を行う。そして変更があると内容をリモートのGitリポジトリにアップデートする。Gitリポジトリ側で変更があれば、Pullする仕組みだ。 自動的に同期されている G

  • Webベースの要望管理システム·Tosca MOONGIFT

    MOONGIFTはこう見る 概要:ToscaはWebベースで利用者からの要望をまとめ、管理するためのソフトウェア。 社内向けの開発等を行っていると日常的に改善依頼は発生する。そうした時にToscaのような管理システムがないと要望は聞いてもらえそうな人(押しの弱い人)の所に集中しがちだ。しかしプライオリティも定めずただ対応を繰り返すのは非効率的であるし、時に改善同士がバッティングしてしまう事もある。 課題管理システムはシステムの適切な運用、改善を行う上で大事なソフトウェアだ。もしそのようなシステムがないのであればぜひ導入を検討してほしい。 ToscaはRuby on Rails製のオープンソース・ソフトウェア。システムやサービスに対する要望は数多い。そうした要望を個々に対応していたのでは適切な状況管理もできず、コストだけがかかってしまう。管理する仕組みが必要だ。 要望一覧 要望はカテゴリ、ク

  • Capistrano 入門 - Ruby on Rails with OIAX

    Capistrano とは何か。それは、デプロイメントのツールである。 デプロイメントとは何か。Web アプリケーションについて言えば、それは以下のようなタスク全般を指す言葉である。 アプリケーションを番サーバにインストールすること。あるいは、最新版に更新すること。 Web サーバを起動、再起動、停止すること。 Web サイトをメンテナンス中にすること。あるいは、通常の状態に戻すこと。 世の中に向けて Web アプリケーションを公開しているなら、こうしたタスクは日常茶飯事である。 最初は少し面白いけれど、基的な退屈な作業だ。 怠惰を美徳とする我々プログラマは、もちろんこんな状況に甘んじるわけにはいかない。 というわけで、Capistrano について研究をしていこうと思う。

    Capistrano 入門 - Ruby on Rails with OIAX
  • A remote server automation and deployment tool written in Ruby.

    role :demo, %w{example.com example.org example.net} task :uptime do on roles(:demo), in: :parallel do |host| uptime = capture(:uptime) puts "#{host.hostname} reports: #{uptime}" end end Capistrano extends the Rake DSL with methods specific to running commands on() servers. For Any Language Capistrano is written in Ruby, but it can easily be used to deploy any language. If your language or framewor

  • テキストファイルの内容を入力フィールドに反映するFirefox用ツール·textserver MOONGIFT

    textserverはRuby/JavaScript製のFirefox向けフリーウェア(ソースコードは公開されている)。Webブラウザの入力フィールドはあまりに機能が低く、辟易した人は使い慣れているテキストエディタに一度入力してからコピー&ペーストしたりする。幾つかのソフトウェアではそれを自動反映するものがある。 テキストファイルを更新すると内容がテキストボックス/テキストエリアに反映される だが大抵のソフトウェアは編集したテキストファイルを閉じたタイミングで反映するようになっている。textserverは違う、テキストファイルの更新を監視することで保存したタイミングで反映するようになっているのだ。監視サービスを別途立ち上げる(Windows向けにはインストーラーが提供されている)必要があるが、これは新しいアプローチで面白い。 個人的に嬉しいのはxyzzyやEmacsのようなテキストエディ

    テキストファイルの内容を入力フィールドに反映するFirefox用ツール·textserver MOONGIFT
  • Flex + Railsによるタイムトラッキング·Pomodo on Rails MOONGIFT

    Pomodo on RailsRuby on Rails製のフリーウェア(ソースコードは公開されている)。FlashやFlexは技術的には興味深いのだが、どうも二の足を踏んでしまっている。ユーザインタフェースをFlashベースで提供できれば、きっとこれまで以上にリッチな機能を提供できるに違いない。 Rails + Flexの参考に Railsを使えばFlexとの連携もそれほど難しくはないのかも知れない。そう思わせてくれたのがPomodo on RailsというWebアプリケーションだ。ユーザ向けにはFlex、システムはRuby on Railsで構築されたタイムトラッキングアプリケーションだ。 Pomodo on Railsプロジェクトやタスクを選択して時間を計測することでどれくらいのコスト、時間が費やされているかを知ることができるソフトウェアだ。Flexを使っているので画面がリッチで

    Flex + Railsによるタイムトラッキング·Pomodo on Rails MOONGIFT
  • Ruby on Rails製の家庭用家計簿·小槌 MOONGIFT

    Webベースで家計簿をつけると、帰宅した時にわざわざパソコンを立ち上げることなくスマートフォンから更新できるから楽かも知れない。また、外部サービスとの連携も容易と思われるので、地図やカレンダーと連動する面白さもありそうだ。 Webベースの家計簿ソフトウェア とは言え逆に言えば家族に自分の秘密の家計簿を見られる可能性もある(パスワードを付けておけば大丈夫だろうが)。そんなことを考えてしまったのは小槌がオープンソース化されたからだ。 今回紹介するオープンソース・ソフトウェアは小槌、Ruby on Rails製の家計簿ソフトウェアだ。 小槌は2006年に行われたDrecom Award on Railsにおいて大賞を受賞した作品だ。そしてついにオープンソース化し、Githubで公開された。既に多様な改良が加えられており、とても多機能で優れた家計簿ソフトウェアになっている。 受け皿設定 基的な金

    Ruby on Rails製の家庭用家計簿·小槌 MOONGIFT
  • Ruby on Railsで作られたWebベースパスワードマネージャ·mortimer MOONGIFT

    画像編集、オフィススイート、フィードリーダーはたまたOSまでWebブラウザ上で動作するようになっている。だからいつかパスワードもWeb上で管理されるようになるはずだ。既にそのようなサービスもいくつか登場している。だが決して主流にはなれない。やはりセキュリティリスクが高過ぎるのだろう。 格好いい画面! 確かに外部のWebサービスを使ってパスワードを保存しておくというのはリスクが高い。だが自分のサーバ内であれば…と考える人がいるかも知れない。そのような方はmortimerをチェックしてみよう。 今回紹介するオープンソース・ソフトウェアはmortimer、Webベースのパスワード管理だ。 mortimerはRuby on Railsで作られたソフトウェアで、エレガントなインタフェースのパスワード管理を提供する。起動前に独自の公開鍵(RSA)を作成するようになっており、その鍵を使ってデータを暗号化

    Ruby on Railsで作られたWebベースパスワードマネージャ·mortimer MOONGIFT
  • Windows用Ruby on Rails開発環境·RoRED MOONGIFT

    Ruby on Railsくらいの規模になると、IDEを使って開発した方がスムーズだろう。Aptanaを使う方、Emacs + RoRモードを使う方、NetBeanを使う方それぞれいるとは思うが、どれも手に馴染まない…という人もいるかと思う。 Ruby on Rails開発用 開発環境が手に馴染まないのは生産性に大きく関わる問題だ。そこで新しいIDE、RoREDを使ってみよう。 今回紹介するオープンソース・ソフトウェアはRoRED、Windows用のRuby on Rails向けIDE(統合開発環境)だ。 RoREDは既存のRuby on Railsプロジェクトを開くようになっている。そのため新規ではじめる場合はコマンドプロンプトなどで作る必要があるようだ。左側にフォルダの一覧と、その下にファイルの一覧が表示される。 コード補完 コントローラやモデル、ビューなどは全てハイライト表示される。

    Windows用Ruby on Rails開発環境·RoRED MOONGIFT
  • オフィスへの導入必須!タイムトラッキング付きマイクロブログ·XTT MOONGIFT

    なぜ導入必須なのか、それは個人的にこのシステムを作りたかったからだ。達人を作ったりしていたら出遅れてしまった。だがもう良い、秀逸なソフトウェアが登場してくれたのだから。 マイクロブログ+タイムトラッキングという妙技! twitterを使っていると、このつぶやきを何かに活かせないかと思えてくる。例えばオフィス内に設置した場合、外には出せないような発言が出てくるだろう。それによって社内の活性化にもつながる。かの37signalsではIN/OUTと呼ばれる社内専用のツールでプロジェクトの進行を管理していると聞く。それが出てこないことにやきもきした作者が作り上げたのがXTTだ。 今回紹介するオープンソース・ソフトウェアはXTT、タイムトラッキング機能がついた社内向けマイクロブログシステムだ。 XTTはtwitterライクなマイクロブログシステムだ。発言を重ねていく点は全く変わらないが、右側にプロジ

    オフィスへの導入必須!タイムトラッキング付きマイクロブログ·XTT MOONGIFT
  • MOONGIFT: » 要導入検討!日本語で作られた使い勝手の良いプロジェクト管理「9arrows」:オープンソースを毎日紹介

    プロジェクト管理は何のためにあるのだろうか。それはプロジェクトを円滑に進めるためにある。決して上司を納得させるためでも、クライアントに良い顔をするためのものでもない。開発工程を含め、全体の進行状況を管理するために存在するのだ。 ダッシュボード。奇麗なインタフェースだ そう考えるとあまりに多機能なプロジェクト管理はその運用コストばかりかかってしまう。使い勝手の良い、それでいて必要十分な機能を備えたプロジェクト管理を使おう。 今回紹介するオープンソース・ソフトウェアは9arrows、Ruby on Rails製の使い勝手の良いプロジェクト管理システムだ。 9arrowsはRuby on Rails製で、Webベースのプロジェクト管理システムだ。Ajaxを効果的に使って、スムーズで使い勝手の良い作りになっている。WBSを使ってタスクを分割し、担当者や日程を決めることで見栄えのいいガントチャート

    MOONGIFT: » 要導入検討!日本語で作られた使い勝手の良いプロジェクト管理「9arrows」:オープンソースを毎日紹介
  • An Agile Way > LuRuJu on Rails -- JUDE で描いた図がそのまま Rails で動く! : ITmedia オルタナティブ・ブログ

    野村さんが実装している、LuRuJu on Rails がリリースされています。 LuRuJu は、Ruby から JUDE API を呼び出す糊フレームワークなんですが、"LuRuJu on Rails"は、さらにすごいです。 JUDE のモデル(*.jude ファイル)を Rails に配備するだけで、そのまま、動きます。コード変換する必要もなく、JUDEで描いたモデル図が、そのまま Rails で動くのです。 すごいコンセプト!ぜひお試しください。 http://luruju.com/luruju-on-rails/overview 以下、概要を抜粋します。 RAILS_ROOT/app/model配下にJUDEファイルを配置するだけで、JUDEで記述したクラス図内の各クラスが、そのままRubyOnRailsのモデル(MVCのM)として動作します。クラス間のリレーション(1対1,1対

    An Agile Way > LuRuJu on Rails -- JUDE で描いた図がそのまま Rails で動く! : ITmedia オルタナティブ・ブログ
  • 坊やがゆく - Railsでソーシャルブックマークを作ってみようか(第2回)

    エンジニア説明Railsアプリを作る「はじめの一歩」としての足がかりになればと思いまとめました。手順に沿ってコピペしていくといつのまにかアプリケーションが完成するというサンプルです。第1回のmasuidriveさんベースにRails勉強会@東京第11回での高橋征義さんバージョンとInternet Week 2006でのかずひこさんバージョンをミックスしました。環境やインストール、趣旨や概要につきましては第1回をご覧ください。 ■第1回との相違点Internet Week 2006のT24 : はじめよう Ruby on Rails 〜フレームワークで作るWebアプリケーション〜をベースに内容を変更しました。基的な流れは変わっていませんが、機能/モデルが変更されています。文字コードの設定を先に行うようにしました。モデルの定義を先に明示しました。モデルの作成にマイグレートを使用するようにしま

  • プログラミング言語 Ruby の設計思想について教えてください。…

    プログラミング言語 Ruby の設計思想について教えてください。 言語としての Ruby についてよりも、設計者まつもとゆきひろさんの考え方について興味があります。言語仕様についてではなく、「このような原則に従って設計した」というような、思想の部分についてご回答ください。MLなどからソースの明示があれば、最高です。 なお、オブジェクト指向スクリプト言語 Ruby は未読です。

  • rktSQLite2 MOONGIFT

    発のSQLite管理フロントエンド WebベースのSQLite管理インタフェースです。構造表示/変更、データ表示/変更など一通りの管理が可能です。 日発のSQLite管理フロントエンド PHPDBを使った開発を考えると、MySQLやPostgreSQLが有力候補に挙がってくる。だが、ライトな開発であればPHP5がシェアを増やしつつある現在、SQLiteも選択肢として考えられそうだ。 SQLiteの利点は、PHP5標準である事とバックアップ等がファイルひとつという手軽さにある。こんなSQLiteを管理するなら、こうしたインタフェースを使ってみてはどうだろう。 今回紹介するオープンソース・ソフトウェアはrktSQLite2、SQLiteの管理インタフェースだ。 rktSQLite2は日人の開発なので英語の苦手な人にとっても使い勝手が良い。データベースの選択、テーブル一覧、ビューの表示

    rktSQLite2 MOONGIFT
  • 高速HTMLパーサー「Hpricot」を使ってみる, hatena-graph-update 1.0.0 - ただのにっき(2007-02-21)

    ■ 高速HTMLパーサー「Hpricot」を使ってみる 2000個以上ある手作りHTMLファイルの一部分を全自動で書き換える、という楽し〜いお仕事(棒読み)をもらったので、エンジンがCで書かれていて速いと評判のHpricotを使ってみることにした。 ……その前に、(いい加減逃げてばかりもいられないので)とうとうRubygemsを導入したわけだが、そのへんは割愛。$HOME配下に入れてあるruby 1.8.5-p12の環境に入れようとしたのに、コマンドファイルのshebangが「#!/usr/bin/env ruby」のままだったというのが唯一のハマりポイント。 Rubygemsさえあれば、インストールは簡単: % gem install hpricot ライブラリの使い方はHpricot Showcase-Jaを参考にした。つっても、狙ったdiv要素を探して別の何かに置き換える、なんてコー

    b-wind
    b-wind 2007/02/22
    Hpricot, hatena-graph-update