タグ

rubyとprogrammingに関するseuzoのブックマーク (20)

  • なぜrubyは他の言語と比べて遅いのでしょうか?

    回答 (3件中の1件目) Rubyの実行速度に興味があって、15年くらいMRIの開発をしています。興味があるので長い記事になっちゃったことをお詫びします。 遅いと言ったとき、多分「実行速度」の話をしているんだと思いますが、それ以外にも結構いろんな「はやさ」があります。思いつくところで少しご紹介します。 (1) プログラムを作るはやさ Ruby は生産性が高い言語と言われることが多いので、プログラムを作る早さは早い、という評価が一般的です。 Cで書くと2日かかる。実行時間は0.1秒 Rubyで書くと1日かかる。実行時間は10秒(Cの100倍) と、すこし極端な仮定を置いてみると...

    なぜrubyは他の言語と比べて遅いのでしょうか?
  • Ruby のココがダメ - Qiita

    タイトルは釣りです。Ruby に盲目的に惚れている迂生には Ruby の痘痕(あばた)はエクボです。 それはともかく。 メソッド名の別名がありすぎ 「あなたは map 派? それとも collect 派?」っていう問いがまず嫌い。 いや,別名にも意義があるとは思うんだけど,記憶の負担が大きい。 自分では map しか使わなくても,他人のコード読むんだったら collect を知っていなくちゃならない。 しばらく前に reduce っていうメソッド見て,そんなのあったっけ?と思ったら inject の別名だった。 map/collect と inject/reduce の名前とその背景にある発想については,Rubyist Magazine に良い記事がある: そうかと思えば,Array#delete_if と Array#reject! みたいに,働きは基的に同じだけど,削除が行われなかっ

    Ruby のココがダメ - Qiita
  • CodeIQについてのお知らせ

    2018年4月25日をもちまして、 『CodeIQ』のプログラミング腕試しサービス、年収確約スカウトサービスは、 ITエンジニアのための年収確約スカウトサービス『moffers by CodeIQ』https://moffers.jp/ へ一化いたしました。 これまで多くのITエンジニアの方に『CodeIQ』をご利用いただきまして、 改めて心より深く御礼申し上げます。 また、エンジニアのためのWebマガジン「CodeIQ MAGAZINE」は、 リクナビNEXTジャーナル( https://next.rikunabi.com/journal/ )に一部の記事の移行を予定しております。 今後は『moffers by CodeIQ』にて、 ITエンジニアの皆様のより良い転職をサポートするために、より一層努めてまいりますので、 引き続きご愛顧のほど何卒よろしくお願い申し上げます。 また、Cod

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

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

    「文字列」について - 2014-11-07 - はてなるせだいあり
  • 「文字列を文字の列とみなす単純化」ってどういうこと?解説編 - 西尾泰和のはてなダイアリー

    先日 @shyouhei さんのTweetに反応して文字列が文字の列かどうかが言語によって異なるという話をTweetしました。 shyouheiさんの投稿: PythonはどうかしらんがRubyの設計思想は「世の中はシンプルじゃない」だからな。文字列を文字の列とみなす発想その物がすでにRubyからすると過度に世界を単純化しすぎている。 https://twitter.com/shyouhei/status/528106973565165568 もうちょっと言っておくと数値計算で勝ち目のないRubyは文字列処理にめっちゃ注力してるんで。文字列処理こそがRubyの主戦場。そこでRubyが文字列をあえてカタマリで扱ってることにはそれなりの理由というものがある。つまり分解しようとするほうが困りごとが増える。IVSとか。 https://twitter.com/shyouhei/status/528

    「文字列を文字の列とみなす単純化」ってどういうこと?解説編 - 西尾泰和のはてなダイアリー
  • Ruby 1.8.7 は引退しました

    Posted by shyouhei on 30 Jun 2013 Translated by makimoto まとめ:予定された通り、ruby 1.8.7 は終わりました。 ruby 1.8.7 について すでに大半の方は ruby 1.9.x か 2.0.0 をお使いのことと思います。 (もしまだならそうしてください。) かつて、1.4.x、1.6.x、1.8.x といったバージョンがありました。 これらは MRI と呼ばれており、ruby 1.0 直系の子孫です。 当時最先端の ruby として matz により 1.8.0 はリリースされ、1.8.7 はその血統の最後の一人となりました。 技術的な話をすると、1.8.0 がリリースされて10年が経ち、1.8.7 がリリースされて5年が経ちました。 それまで、 rubyCGI スクリプトを書くために使われていました。 その後、

  • 「なんでRubyなんか作った!? 迷惑だ!」に対するMatzの答え:Rails Hub情報局:エンジニアライフ

    2012年9月に行われた札幌Ruby会議2012の基調講演の1つで、Rubyの生みの親のまつもとゆきひろさんが、最近あった面白いエピソードを混じえて“イノベーション”の質について語っていました(44分の動画)。ポイントとなる部分をまとめてみました。まつもとさんの話はもちろん、統計的裏付けだとか学問的裏付けがある議論というものではありませんし、ご人も楽しそうに話し、聴衆も楽しんでトークを聞くというゆるい感じのものでした。ただ、「イノベーションの質は捉えがたい」というメッセージや、「だからあれこれ考えずにコードを書こう、われわれはコードを書くことにアイデンティティを感じているのだから、それこそがハッピーになる道だ」というメッセージは、参加していたRubyistたちの胸に響くものがあったのではないかと思います。 以下、口語文体のまま、ポイントとなる前半のトークをまとめてみました。トーク後半

    「なんでRubyなんか作った!? 迷惑だ!」に対するMatzの答え:Rails Hub情報局:エンジニアライフ
    seuzo
    seuzo 2012/10/12
    「モチベーションを笑ってはいけない」
  • 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

  • そろそろしっかりvimを使う。vimでRubyのコーディングをするために - 南極の図書館

    Rubyのコーディングに向いているIDEは何があるのだろうか。 JavaならばEclipseがデファクトスタンダードになっているし、言語によってはVisualStudioが向いているものもある。 RubyだとNetBeansかAptanaを勧められることが多かったのだが、使ってみると私にはどうもしっくり来なかった。 最終的にvimが一番良いという結論になり、最近は専らvimで書いている。 コーディングをするにあたり、まずは「補完機能」があり「リファレンスにすぐ飛べる」のであれば最低限の機能は満たしていると考える。 今回は、vimでそれを実現するプラグイン、neocomplcacheとvim-refの導入方法を書いていく。 なお、プラグイン自体はRubyに特化したものではなく、他の言語でも使うことができる。 エントリは下記2エントリの続きになるので「その3」にあたる。 そろそろしっかりvi

    そろそろしっかりvimを使う。vimでRubyのコーディングをするために - 南極の図書館
  • Rubyの魔術 数々の“スペル”で高度なプログラミング − @IT

    2010/09/13 元JavaプログラマのPaolo Perrotta氏は、Rubyを使い始めた頃のことを振り返り、こう話す。 「私はJavaの世界からRubyに来た当初、とてもハッピーなプログラマでした。Rubyっていいね、かっこいいじゃん! と。ところが、最先端のイケてるライブラリの中を覗いてみたら、分からないところだらけだったんです……」。 RubyKaigi2010で「A Metaprogramming Spell Book」(あるメタプログラミング魔術の書)と題した講演を行ったイタリア人プログラマのPerrotta氏は、Ruby on Railsのソースコードを覗いてみたときの驚きをこう表現する。 「例えばalias_method_chainというメソッドは、一体どこにあるんだと探しました。どこにあるか分からないんです。こんなことJavaではあり得ません。結局、テキスト検索で発

  • Rubyのシンボルは文字列の皮を被った整数だ! - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 Rubyのシンボルは文字列の皮を被った整数だ! : melborne.github.com - Yugui著「初めてのRuby」を読んでいる 自分はこのの想定する対象読者ではない このの対象読者は他言語プログラマだ 自分はRubyしか知らない Rubyのこともまだ少ししか知らないアマチュアプログラマだ けれどもこのの内容は自分にとって極めて有益だ 初学者向けにありがちな方便としての「ウソ」がない ちゃんと理解が書かれている 読者を事実に導こうとする努力がある 大見出しこそ他書と差はないが 一歩小見出しに入れば 他ではお目にかかれないような表題が満載で その内容の多くが知ってはいるけど 正しく理解していなかったものばかりだ 動く疑似コード、DSL、処理系と実

    Rubyのシンボルは文字列の皮を被った整数だ! - hp12c
  • Rubyを最大63%高速化した中学生は超多忙!

    金井仁弘(HN:CanI)氏                    撮影:平沼久奈 ハンドルネームCanIの由来は、「“Can I”→キャナイ→カナイ」。C#、Visual Studio、Microsoft .NETとマイクロソフト製品が大好きな「.NETer」と自称する 筑波大学付属駒場中学校は、東京都内にある中高一貫の国立校だ。入学試験の偏差値と東京大学への進学率の高さから“東の筑駒、西の灘”と称される進学校である。強いのは受験だけではない。国際情報オリンピックや国際数学オリンピックでは、同校の生徒が毎年のように金・銀メダルを制するなど才能あふれる理数系人材が多数在籍している。 金井氏はこの夏の「セキュリティ&プログラミングキャンプ2009」(2009年8月12~16日)に参加し頭角を現した中学生プログラマである。 今年に入って、Ruby 1.9のフィボナッチ数列による演算(多倍長加算

    Rubyを最大63%高速化した中学生は超多忙!
    seuzo
    seuzo 2009/10/28
    アイドルPG! こんな才能のある人も将来に悩みや不安を持っている。凡庸な若者たち、不安に打ちのめされよ。
  • ライブドアブログ|無料で豊富な機能が充実

    絵日記 グルメ ライフスタイル・暮らし ペット 旅行海外 日記 ニュース スポーツ ビジネス・経済 趣味・創作 音楽 書籍・雑誌 漫画・アニメ ゲーム 受験・学校 ヘルス・ビューティ IT・家電 学問・科学 まとめ

    ライブドアブログ|無料で豊富な機能が充実
  • 日本語版 : IBM Bluemix

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    日本語版 : IBM Bluemix
  • まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro

    第0回 あらためてRuby入門 まつもとゆきひろ氏自身による「Ruby入門」をお届けします。日経Linuxの連載開始前の特別企画(2005年4月号)として,Rubyが他のスクリプト言語やオブジェクト指向言語とどこが違うのか,なぜ便利なのかを中心に解説してもらったものです。 ● 基と他言語との違い ● 実装とRuby誕生の秘密 第1回 プログラミングとオブジェクト指向の関係 プログラマを目指す人々の中にも,「オブジェクト指向は難しい」とか,「なかなか分からない」という印象を持つ方が多いようです。そこで,Rubyを題材にオブジェクト指向という考え方について説明していきます。 ● その1 ● その2 ● その3 第2回 抽象データと継承 オブジェクト指向プログラミングを構成する3原則のうち,前回は「ポリモーフィズム」を学びました。今回はオブジェクト指向の歴史を復習した後,残りの「データ抽象」と

    まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro
  • Ruby スクリプトのユニットテスト・チュートリアル - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 少し前に公開した Ruby 用 JSON クラスに数多くのバグを仕込んでしまい(たいへんご迷惑をおかけしました m(_ _)m)、テストの重要性を改めて痛感している今日この頃です。今後も開発を続けるにあたって、現在の行き当たりばったりなテスト方法ではとてもやっていけないと危機感を持ちまして、きちんとしたユニットテストの方法を調べてみました。 で、実際に試してみたと

  • RubyForge

    RubyForge is a home for open source Ruby projects; thanks to the folks who make it possible! Searchgasm 1.2.1 Ben Johnson - 2008-09-29 13:41   -   Searchgasm Searchgasm has been updated to 1.2.1. Searchgasm is object based ActiveRecord searching, ordering, pagination, and more! More information is available at http://github.com/binarylogic/searchgasm . Searchgasm 0.9.6 Ben Johnson - 2008-09-04

  • Ruby Central

  • Rubyist Magazine - るびま

    『るびま』は、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 直

  • いやなブログ - 文字列操作の比較表: Ruby, Python, JavaScript, P...

    文字列操作の比較表: Ruby, Python, JavaScript, Perl, C++ Ruby, Python, JavaScript, Perl, C++ の文字列操作の比較表を作りました。配列操作の比較表の続編です。間違いなどがあったらご指摘いただけると助かります。 Ruby (String) Python (str) JavaScript (String) Perl C++ (std::string)

  • 1