タグ

programmingとRubyに関するdeeekiのブックマーク (14)

  • Transpec 開発記 – 前編 – blog.yujinakayama.me

    Transpecという、RSpecの古い記法で書かれたspecを、最新の記法に自動で書き換えるツールを作った。 最初のバージョン0.0.1をリリースしたのが2013年8月9日なので、すでに一年前になる。 先日のRSpec 3の正式リリースからもしばらく経って一段落したところだし、 この辺で一旦振り返って、 開発中のその時々で何を考えていたのか、忘れてしまう前に長々と残しておくことにする。 きっかけ そもそもTranspecを作り始めたきっかけは、 should記法を使っていた自分のプロジェクトのspecをexpect記法に書き換えようとしたところから。 これは2013年の7月下旬の話で、まだRSpec 2.99/3.0のベータ版も出ていない頃。 正直なところexpect記法が導入された当初は違和感があったし、 更にはThe Plan for RSpec 3も発表され、 「このままRSpec

    Transpec 開発記 – 前編 – blog.yujinakayama.me
    deeeki
    deeeki 2014/11/13
    "Transpecの開発に対するモチベーションは他にも色々あったけど、 常にコアとなっていたのはこの「いかにポジティブな体験にするか」という部分だったように思う"
  • MacRubyがiOSに来た!RubyでiOSのネイティブアプリ開発ができる「RubyMotion」登場:Rails Hub情報局:エンジニアライフ

    MacRubyがiOSに来た!RubyでiOSのネイティブアプリ開発ができる「RubyMotion」登場 Rubyを使ってiOS向けアプリが開発できる開発環境「RubyMotion」が登場しました。MacRubyプロジェクトの生みの親であるLaurent Sansonetti氏は7年間勤めたアップルを2011年暮れに退社して、新たにHipByteというスタートアップを立ち上げていたようです。 FAQや動画ビデオを見て分かったRubyMotionの特徴を列挙します。 Rubyを使ったiOSアプリの開発が可能 ツールは有償で199ドル(現在キャンペーンで149.99ドル) 無償版やオープンソース版はない 作成したアプリはAppStoreでの流通が可能 iOSのAPIの全てにアクセス可能 C/C++/Objective-Cで書かれたRuby処理系のMacRubyベースで1.9対応 Rubyコード

    MacRubyがiOSに来た!RubyでiOSのネイティブアプリ開発ができる「RubyMotion」登場:Rails Hub情報局:エンジニアライフ
  • ぷっちん日記(2012-03-05)

    ■ 呼び出し側から書く Rubyを使うようになってからのような気がするが、私は日頃、コードを「呼び出し側から書く」ようにしている。とても役に立つ手法だと思うので、ここで紹介したい。 例えば、勤務表から総役務時間を得たいとする。 このとき「ええと、勤務表である MonthlyWork クラスのインスタンスには日ごとに DailyWork があって、それらのうち実役務時間と有給休暇を足して... 」といったことを考えたりは *しない*。 「どうやってその機能を実現するか」を最初は考えないようにする。「当にその機能を実現できるだろうか、不安だ」というような感情が襲ってくることもあるだろう(特に初心者には)。しかし、大概のことは最終的には実現できるし、もし当に実現できない問題があったとすればそれは個人のせいではない。 「どうやってその機能を実現するか」を考え始める代わりに、私はまだ存在しないそ

    deeeki
    deeeki 2012/03/05
    《どのクラスのなんというメソッドにするかが不安定な状態で闇雲にスペックを書こうとするよりも、まずI/F設計に集中したほうがよい。テストファースト以前に設計ファーストだ》
  • クリアなコードの作り方: 縦長・横長なメソッドを短くする - 2012-02-07 - ククログ

    最近読んだRubyのコードではYARDのコードがキレイでした。 さて、長いメソッドは不吉なにおいがするからメソッドを分割するなどして短くしましょうとはよく言われることですが、ここでいう「長い」とは「縦に長い」ことを指していることがほとんどです。長いのが問題なのは縦に長いときだけではなく横に長いときもです。 縦に長いメソッド まず、どうして縦に長いメソッドが問題かについてです。縦に長いメソッドには「処理を把握しづらい」という問題がある可能性が高いです。 どうして処理を把握しづらいか 処理を把握しづらい原因はいくつかあります。例えば、抽象度が低いのが原因です。 メソッドが縦に長くなっているときは、多くの処理が行われていることがほとんどです。これらの処理はメソッドになっていないため名前がついていません。処理に名前がついていない場合は実装を読まないとなにをしているかがわかりません。 せっかくなので

    クリアなコードの作り方: 縦長・横長なメソッドを短くする - 2012-02-07 - ククログ
  • デバッグ力: よく知らないプログラムの直し方 - 2011-12-06 - ククログ

    クリアコードではMozilla製品やRuby関連の開発だけではなく、広くフリーソフトウェアのサポートもしています。もちろん、サポート対象のソフトウェアの多くは私達が開発したものではありません。しかし、それらのソフトウェアに問題があった場合は調査し、必要であれば修正しています。 このようなサポートが提供できるのは、もともと、私達がフリーソフトウェアを利用したり開発したりしているときに日常的に問題の調査・修正をしていたからです。ソフトウェアを利用していると、問題に遭遇することはよくあることです。そのソフトウェアがフリーソフトウェアの場合は、開発者に問題を報告し、可能ならパッチを添えます。このとき、そのソフトウェアの内容を完全に把握していることはほとんどありません。しかし、それでも修正することができます。 それはどうしてでしょうか?今まではどのようにやっているのかを自分達でもうまく説明できなかっ

    デバッグ力: よく知らないプログラムの直し方 - 2011-12-06 - ククログ
  • 「人間様が気分よくプログラミングするための言語」Rubyは何を目指すのか - GIGAZINE

    「気分やノリがソフトウェア開発には重要だ」と断言し、そこに注目して自らRubyを開発してきたまつもとゆきひろ氏は、どのようにしてプログラマに育ち、Rubyを生み出し、そして開発を続けてきたのでしょうか? 今や日初のオープンソースソフトウェアとして100万人規模のユーザを持つRuby。数々の賞を受け、なおも変化と成長を見据えるまつもと氏が日最大のゲーム開発者向けカンファレンス「CEDEC2011」にて、自らの若かりし日々から長いRubyの開発の歴史とそこで培われたコンセプト、そして未来への展望までを余すところなく披露してくれました。「Ruby開発が教えてくれたこと」と題されたこの講演の全内容は以下から。 まつもと: はじめまして、まつもとゆきひろです。 最近はRubyを開発した人ということで有名になりましたが、Ruby自体ゲームのソフトウェアというより、それを動かすサーバとして使用して頂

    「人間様が気分よくプログラミングするための言語」Rubyは何を目指すのか - GIGAZINE
  • 223Soft -

    Document Data Structure in MongoDB Express MongoDB lets you easily store structured and unstructured data in a flexible and dynamic database schema. It supports CRUD operations on complex data objects using JSON as the main data type. Its an open source solution so it may not be as robust or well supported as commercial management tools. However it is easy to deploy and works well for most use cas

  • Rubyコーディング規約

    はじめに 文書は、Rubyによりコーディングを行う際の規約について述べる。 実際のプロジェクトに適用する際には、このコーディング規約をカスタ マイズして用いることを推奨する。 ソースコードの整形 インデント プログラムを読みやすくするため、インデントを適宜行う。インデント 幅は2とする。また、インデントにはスペースのみを使用し、タブは使用 しない。(環境によりタブ幅が異なるため。) 例: if x > 0 if y > 0 puts "x > 0 && y > 0" end end 一行の桁数 一行の桁数は最大80桁までとする。 空行 複数のクラスの区切には空行を挿入する。 例: class Foo ... end class Bar ... end 誤った例: class Foo ... end class Bar ... end また、クラス内の各構成要素の区切にも空行を挿入する。

  • コーディングスタンダードpMatzにっき(2004-10-06)

    << 2004/10/ 1 1. [Ruby]ChangeLog 2. [家族]長女の帰還 3. [Ruby]Ruby Conference 2004 4. U-20プログラミングコンテスト表彰式 2 1. [言語]文法のデザイン 2. 初心者パラドックス 3. DSL(domain specific language)と組み込み言語 3 1. [教会]松江、そして岡山 4 1. AC 2. [Ruby](行ってないのに)RubyConf 2004レポート 5 1. [特許]コダック、Java特許訴訟で勝訴--判決に批判の声が噴出 2. [日記]tDiary 2.0 6 1. [Ruby]Rubyの教科書 2. [Ruby]コーディングスタンダード 7 1. Skype 2. [特許]携帯電話の2画面特許,NECとドコモ側が東京地裁で勝訴 8 1. [特許]KodakとSun、オブジェクト

  • プログラミング言語の優秀さと道具としての評価は別 - kなんとかの日記

    ワシは、cgi.rb なんかが標準添付になっている RubyPHP を dis る資格はないと思ってる (cgi.rbの元ネタである CGI.pm を擁する Perl も同じじゃないかな)。cgi.rb は、標準添付モジュールのくせにコードが汚いし遅いし、cgi[] の戻り値が String だったり File だったりするし、どう考えても設計ミス。 ## Ruby だと cgi = CGI.new p cgi['name'] #=> これが File である可能性がある ## PHP だとそんな問題はない $name = $_REQUEST['name']; # 必ず文字列 $file = $_FILE['name']; # ファイルは別途取り出すそして大半の Rubyist はこういった問題に気づいてすらいない。そういう人たちが PHP を dis ってるのは「ハァ?」と思う。

    プログラミング言語の優秀さと道具としての評価は別 - kなんとかの日記
  • Twitterで何もしなくてもフォロワーが増える!究極の裏技! - 方向

    フォロワーが増えるとうれしいよね! でも意識して増やせるものじゃない。たくさん人をフォローすれば自然と増えるけどそれにも限界がある。 しか〜し、何もしなくてもフォロワーが増えていくすごい裏技があるんだ! 自分はこれで 3日でフォロワー数が340→1088 になったよ! ちょっと前にこんな風に考えたんだ。 たくさんの人をフォローする しばらく待つ(この間に一部の人はフォローを返してくれる) フォローを返してくれなかった人をフォロー解除 これを繰り返していけばフォロワー増えるよね! でもいちいちこんな作業するのめんどくさい。だから↑を自動的にやってくれるプログラムつくったよ! 使い方はとっても簡単! Windowsの人 1.Rumixをインストール(すでにパソコンにRubyがある場合は不要。Rubyって何?ってひとは入れてね) 2.コマンドプロンプト(スタート→すべてのプログラム→アクセサリに

    Twitterで何もしなくてもフォロワーが増える!究極の裏技! - 方向
  • プログラミング言語Ruby ― ありえるえりあ

    方針 Rubyをまったく知らない前提で始めます JavaJavaScript、elispのようなメジャーな言語と対比しながら説明します なるべく手を動かして目に見える形で説明を進めます 次回Ruby on Railsの勉強会をするので、それにつながることに重点を置きます 逆に言うと、RoRであまり使わない知識は流します。例えば、ファイル操作周りやスレッド周りなど 開発環境(2) .emacs.elに書くべき記述 ; ruby (autoload 'ruby-mode "ruby-mode") (setq auto-mode-alist (cons '("\\.rb$" . ruby-mode) auto-mode-alist)) (setq interpreter-mode-alist (append '(("ruby" . ruby-mode)) interpreter-mode-al

  • これから一からプログラミングを覚えようと考えています。…

    これから一からプログラミングを覚えようと考えています。 様々な言語がありますが、どれを覚えるべきでしょうか? なお、条件は下記の通りです。 やりたいこと ・WebサービスAmazonGoogleなど)を使った簡単なWebアプリが作れるようになりたい。 私のスペック ・プロとしてのWebデザイン経験があり、現在はWebディレクタ的な職にある。 ・システム関係の簡単な要件定義等は行ったことがあるが、あくまで発注側。 ・あえていうならJavaScriptの知識がある程度。SQLとかまったくわからない。 Web屋なので普通に考えるとPHPと言うことになるかとは思うのですが、 最初からならrubyとかPythonとかのほうが面白いという意見も聞きます。 「覚えやすさ」「開発の簡単さ」あたりを重視してご回答いただければうれしいです。

  • 1