猫と一緒にガジェットライフ♪ムチャ(@mutoj_rdm821)です。 先週から仕事復帰しております。元々自分はJavaをずっとやってきていて、C++を大学時代に少し、perl・VBをちょっと・・・という感じです。 新しい現場ではRubyをメインに開発をすることになりました。せっかくなので、つまずいた点や解決方法を覚え書きとして残しておきたいと思います。 そもそもRubyとはRuby(ルビー)は、まつもとゆきひろ(通称 Matz)により開発されたオブジェクト指向スクリプト言語であり、スクリプト言語が用いられてきた領域でのオブジェクト指向プログラミングを実現する。 Ruby - Wikipedia 歴史は古く、発表されたのは1995年です。開発者は日本人ですが、世界的に利用されており、開発者も世界中にいます。 「Rubyist」はRubyの愛好者のこと。別にJava以外(゚⊿゚)イラネという
PlantUML diagramming tool integration. Now better and faster, with code navigation and highlighting.
この記事を書き上げるには、相当長い時間がかかりました。本来は今年の年明け、 Rubyの死 やデイヴィッド・ハイネマイヤー・ハンソンの TDDは死んだ がアップされて騒ぎになる前に投稿するつもりだったのです。昨年末に書いたツイートを見てください。 > Rubyにはもう飽き飽きした。理由はいろいろあるが、特にその副作用と、ステータスが可変なせいで大量のユニットテストを書かされるのにはウンザリだ。 @abevoelker Rubyの開発に関しては、大勢の人が心のどこかで何かおかしい、何かが欠けていると思っているようですが、たいていの人は責める対象を間違っています。Rubyで書いたアプリがとんでもない代物になったって? それはあなたがきちんとテストコードを書かなかったか、テスト駆動開発(TDD)の指針に則って開発しなかったからです。もしくは、正しいデザインパターンに切り分けるための知識が不足してい
ABCLのソースを読んでるうちにスコープとエクステントについてだんだんわかってきたので、自分なりに少しまとめてみた。合ってるかどうかはわからないので、すべてに?がついていると考えてください。 スコープ アクセス可能な場所的範囲 エクステント アクセス可能な時間的範囲 言語 種別 スコープ エクステント コンパイラ・インタプリタでの検索方法(典型例) 実装上の領域(典型例) C ローカル(auto)変数 ブロック内 ブロックに入って時点から出た時点まで 関数の変数宣言リスト スタック C ブロック内のstatic変数 ブロック内 プログラムの開始から終了まで 関数の変数宣言リスト データ領域 C トップレベルのstatic変数 ファイル内 プログラムの開始から終了まで コンパイル単位の変数宣言リスト データ領域 C グローバル変数 ファイル内、extern宣言により別ファイルの変数を参照可
概要 Rubyの例外について説明します。 構文 Rubyの例外は以下の構文で利用出来ます。 begin 例外の例外の起こる可能性のある処理 rescue 例外が起こった場合の処理 ensure 例外の有無に関わらず実行される処理 end サンプル def divide_number(number,divide) begin # Javaのtryと同様 puts "input (#{number},#{divide})" number/divide rescue => exception # Javaのcatchと同様 puts exception.message puts "like Java's catch" raise 'my error' # Javaのthrowと同様 ensure # => Javaのfinallyと同様 puts "like Java's finally" en
JRuby は、RubyインタプリタのJavaによる実装である。フリーソフトウェアであり、CPL/GPL/LGPL の3つのライセンスを採用している。JRuby はJavaと密に連携しており、インタプリタを任意のJavaアプリケーションに埋め込むことができ、JavaとRubyのコード間で双方向のアクセスを可能にしている。 JRuby の主な開発者は Charles Nutter[1]、Thomas Enebo[2]、Ola Bini[3]、Nick Sieger[4] である。2006年9月、サン・マイクロシステムズは Enebo と Nutter を雇用し、仕事として JRuby の開発をさせている[2]。2007年6月、ThoughtWorks は Ola Bini を雇用し、Ruby と JRuby に関する仕事をさせている[3]。 2009年7月、JRubyの開発者らはサンを離れ、
スイスSonarSourceは4月18日、ソースコードを分析してその複雑度や品質などを視覚化するツール「Sonar 3.0」をリリースした。2年ぶりのメジャーアップグレードとなり、新機能を含め40以上の強化が加わっている。 SonarはJavaおよびRubyで実装されたソースコード品質管理プラットフォーム。ソースコードを分析し、コードの行数やファイル数といった規模情報やクラス/パッケージ/メソッド数、コメント数、重複しているコードの割合、コーディング規約の遵守状況、コードの複雑性、テスト状況などをWebベースの管理画面で視覚的に表示できる。プラグインによりルールエンジンや新言語の追加も可能で、コア部分が対応している言語はJavaのみだが、CやC#、Flex、Groovy、PHPなどもプラグインによってサポートされる。Natural、PL/SQL、Visual Basic 6などをサポートす
2010/09/13 元JavaプログラマのPaolo Perrotta氏は、Rubyを使い始めた頃のことを振り返り、こう話す。 「私はJavaの世界からRubyに来た当初、とてもハッピーなプログラマでした。Rubyっていいね、かっこいいじゃん! と。ところが、最先端のイケてるライブラリの中を覗いてみたら、分からないところだらけだったんです……」。 RubyKaigi2010で「A Metaprogramming Spell Book」(あるメタプログラミング魔術の書)と題した講演を行ったイタリア人プログラマのPerrotta氏は、Ruby on Railsのソースコードを覗いてみたときの驚きをこう表現する。 「例えばalias_method_chainというメソッドは、一体どこにあるんだと探しました。どこにあるか分からないんです。こんなことJavaではあり得ません。結局、テキスト検索で発
fromdusktildawnさんの分裂勘違い君劇場「 Rubyの作者松本氏がありもしない錯誤をでっちあげて批判している件 」を読んだ。 こうして議論が膨らんで、何が何でもRubyとか、何が何でもCLOSとか、そういう誤読を防止する仕組みができあがっていくことは喜ばしい。それ以上に、これを機会にRubyに関心を持つ人がでてきたり、JavaScriptを再発見したりする人がでてくるようなことがあったならば、喜ばしい。「騒げ騒げ、もっと騒げ」 のだけれども、取り合えず言うべきことは言っておこう。 getter/settterネタ これは実はちょっと心外。「実務上、メタプログラミングは便利だよ」と言いたくてその一例たるattr_accessorの説明の直後に ですから,このようなメソッドを自分で作ることもできます ... 少しでも似たようなコードの反復があるならばメタプログラミングによって実装や
良い悪いは置いておくとしてRubyOnRailsはStrutsになるのだなと感じています(エンタープライズ開発でデファクト・スタンダードになって一定のポジションを獲得する) 最近、「RailsはStruts化する」という風に思っている人が多そうなので、私の意見を書いておきます。 そんなことはないでしょう。 エンタープライズ開発をおこなっている多くのSIerは、とても保守的(だと思う)です。Strutsの導入だってとても慎重で、他で結構使われてもう大丈夫と思ったところで導入したというケースが多いのではないでしょうか。 理由は簡単で、規模が大きいと失敗の損失が大きいので、できる限りリスクを避けようとするためです。今特に困ってないなら、冒険する必要はないという判断です。 新たなテクノロジーを導入するのは、リスクがなく生産性が向上すると判断したか、今のテクノロジーではコストがかかり過ぎると判断した
一説によると有史以来開発されたプログラミング言語は4000を超えるとされている。その中でどの言語を選べばいいのか初学者にとっては悩みの種であろう。この記事ではそんな初学者のとっかかりとなることを想定して書かれている。 Javascript(お勧め度☆☆☆☆☆)Javascriptは長らく「使えない糞言語」とのレッテルを張られていた言語である。2005年頃からAjaxの台頭で価値が見直され、2010年頃からはnode.jsの盛り上がりで一気にweb開発の主要言語の一つに躍進した。 node.jsは現在活発に開発が進んでおり今年中には実践投入が可能になる画期的なアーキテクチャとなる可能性が高い。それによって「クライアントサイド」と「サーバーサイド」をどちらもJavascriptで開発できることになり、これはよく比較対象にされるLLのライバル達が絶対になし得る事の出来ない独占的なメリットである。
Program Island へようこそ! このサイトでは、プログラムに関する様々な情報を載せています。 Android (2010/12/25) Limy Eclipse Plugin (2012/02/25) Check! Ruby on Rails (2009/04/01) Limyweb (2010/01/27) Limy Articles (2009/02/14) Eclipse簡易マニュアル (2008/12/23) / Eclipseプラグイン開発 (2008/12/23) Java (2012/03/10) New! Tomcat (2007/06/29) Linux (2010/04/14) Git (2012/02/26) New! / Subversion (2007/01/11) J2EE , JBoss (2007/01/13) / JBoss + EJB3 (2
「Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします。(編集部) 「Forge」とは何か? 突然ですが、「Forge(フォージ)」とは何のことか、お分かりでしょうか? もともとの意味は「鍛冶屋」「溶鉄炉」のことを示し、「構築する」「鉄を鍛えて~にする」といった意味もあります。 本記事の読者の皆さんにとっては、SourceForgeのようなオープンソース系の「開発ホスティングサービス」を思い浮かべる人もいると思います。 ソースコードの管理だけではなく、プロジェクトの進行や、コミュニケーション、仮想マシンによるテストなどさまざまなサービスが無料で提供されています。このようなホスティングサービスは「レポジトリ」(貯蔵庫)とも呼ばれます。 開発ホスティング
http://martinfowler.com/bliki/Closure.html 動的言語に興味がでてくると、 クロージャやブロックと呼ばれる概念に出会うと思います。 C/C++/Java/C# などクロージャを持たない言語をご使用の方は、 どういったものなのかご存知ないかもしれません。 ここでは簡単にクロージャについて説明します。 クロージャを持った素晴らしい言語を使ったことある方にとっては、 あまり面白くない話かもしれません。 クロージャは長年使用されてきました。 私が最初に出会ったのは、おそらく Smalltalk だったと思います。 Smalltalk ではブロックと呼んでいました。 Lisp ではクロージャを多用しています。 Ruby でもクロージャが提供されています――多くの rubyist がスクリプト言語に Ruby を選ぶのはこのためです。 基本的にクロージャとは、ブ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く