タグ

programmingとrubyに関するkknsdのブックマーク (41)

  • アンダースタンディング コンピュテーション

    書は計算理論をRubyでわかりやすく紹介する書籍です。コンピュータサイエンスの主要なテーマである「計算とは何か」という問いに対して、難しい数学の知識を利用をせず、Rubyを使って実際にプログラムを作りながら解説します。さらに、なぜこれらのアイデアが大切なのか、そしてそのアイデアは我々の日常的なプログラミングにどう関係していくのかを解き明かしていきます。日語版ではまつもとゆきひろさんによる「日語版まえがき」を収録。プログラミングの根底にある理論を学ぶことで、より広く深くプログラミングを考えたいプログラマ必携の一冊です。 監訳者によるサポートページ 目次 日語版まえがき はじめに 1章 Rubyひとめぐり 1.1 対話型 Rubyシェル 1.2 値 1.2.1 基データ 1.2.2 データ構造 1.2.3 Proc 1.3 制御フロー 1.4 オブジェクトとメソッド 1.5 クラスと

    アンダースタンディング コンピュテーション
  • それ NArray でできるよ

    カンファレンスから見る SRE トレンド 2024 / SRE Trends from Conferences in 2024 #SRE_Findy

    それ NArray でできるよ
  • 「壊れてねぇなら直すな」という発想はRailsにはないのかも - QA@IT公式ブログ

    QA@ITRuby on Railsで構築・運用しています。で、そろそろRailsの新メジャーバージョン、Rails4のリリースが近づいているようです(と、聞くようになってずいぶん経ちますが)。いろいろと新機能がありますが、GitHubを見ていて1つ驚いたことがあります。Ruby on Railsの生みの親のDHH(David Heinemeier Hanssonさん)が、メジャーバージョンアップとなるRails4に向けて行ったこのコミットに唐突感があったのです。よく使われるAPIの名前を、こんなに簡単に変えちゃうんだという軽い驚きです。 「壊れてねぇなら直すな」(If it ain’t broken, don’t fix it.)という有名な言葉があります。米国のジミー・カーター大統領時代の行政管理予算庁長官だったトーマス・バートラム・ランス氏の1977年の発言が人口に膾炙したもののよ

  • アジャイルの「顧客に価値を届ける」の嘘と本当 - mizchi log

    酔った勢いでアジャイルについて思うところを書く。 顧客に価値を届けるのは誰か 顧客に届く価値 = 目に見える成果物、という評価は、フロントに近い人間しか評価されなくなる傾向を抱え込む。顧客に価値が届くまでには段階がある。複雑なものほどワークフローが長大になる。お互いの価値を見積もれるのは、小さいチームでお互いの職種について理解がある場合の理想であり、多くの場合理想は理想である。大きなチームほど、フロントに遠い人間は自分の価値を伝えるのが難しい。 難しいことを難しいということ エンジニアが自分の仕事について、エンジニア以外への責任説明を果たそうとすると努力は必要だが、必ずしもそれが伝わるとは限らない。 難しいことを難しいと言えないと、「それってすぐできるんでしょ?」という展開になりがちで、「任せてくれ!」と言えるのはかっこいいが、誰しもがスーパーエンジニアではない。そして見積もりに失敗する。

    アジャイルの「顧客に価値を届ける」の嘘と本当 - mizchi log
  • 名前のつけ方 - 2012-06-28 - ククログ

    はじめに わかりやすいコードを書くことはソフトウェア開発において大切なことです。では、具体的にわかりやすいコードとはどんなものでしょうか?その観点はいろいろなものがあります。その中で今回は名前のつけ方に着目します。 コードに名前をつけるということ ソフトウェア開発において、名前をつける作業というのは絶えず発生します。メソッド名、変数名、クラス名、ファイル名などなど。名前をつける機会を挙げたらキリがありません。では、そもそもなぜ名前は必要なのでしょうか? それはソフトウェアに限らず言えることですが、複数のモノを区別したいためです。例えば、まったく違う処理をする別々のメソッドに同じ名前をつけたらソフトウェアは正しく動きません。それを防ぐためにそれぞれのメソッドにちゃんと名前をつける必要があります。それぞれのモノにそれぞれ違う名前をつけて区別できなければソフトウェアはそもそも動きません。 名前を

    名前のつけ方 - 2012-06-28 - ククログ
  • テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!

    ここ数日 ruby をやってるんですけど、ruby といえばテストらしいので Test::Unit やら RSpec やらを調べてました。しかし僕はこれまでまともな TDD をやってこなかったので、先にテストとは何ぞや?TDD とは何ぞや?ってのを調べたりしていました。 この記事は、ずぶの TDD 素人がテストについて知り始めたまとめです。 1. きっかけは RSpec のドキュメント そもそも RSpec の↓紹介文の冒頭から意味不明に感じたんです。 FAQ:「RSpec って、要は Test::Unit でやっていることを別の書き方にしただけでは?」 この FAQ への短い答えはイエスです。 『スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)』 Rubyist Magazine えっ... じゃあ要らんやろソレ。いちいち手作業でチェック

    テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!
  • Rubyで論理プログラミングしようよ! - hp12c

    ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 Rubyで論理プログラミングしようよ! : melborne.github.com - 人生は選択の連続だよ 1つの選択が君の未来を変えるよ そして残念なことに 後からその失敗に気がついても 選択をやり直すことは人生ではできないんだよ.. コンピュータプログラムにも似たようなところがあるよ プログラムは一度走り出したら止まらないから 途中の分岐で選ばれた選択を 後から変えるのは得意じゃないんだ 問題1 例えば次のような問題を考えてみるよ xが1,2,3の何れかで yが4,5,6の何れかであるとき x + y = 7 となるx, yの組みを求めよ x, yには複数の選択肢があって xの決定はyの決定に影響を与えるから その組み合わせを決めるためには 人間がするのと

    Rubyで論理プログラミングしようよ! - hp12c
  • RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26)

    ● [Scala] RubyからScalaに乗り換えた15くらいの理由 [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのがになる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 「Scalaプログラミング入門」を読みはじめて、いきなり大きく頷いてしまった。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3) "Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかった!」という驚きと共に Sc

  • それrubyなら2行で出来るよ! - 狐の王国

    HTMLのタグを除去するのは出来るんだけど、その後、それぞれの要素を整理して、あらためてHTMLのテンプレートに流し込むのができない><という記事。 せっかくRubyを使ってるんだからHpricotとERBを使いましょう。簡単に出来ます。 #!/usr/bin/ruby require 'rubygems' require 'hpricot' require 'erb' require 'kconv' table = Hpricot(STDIN.read.toutf8).search('.section table tbody tr') puts ERB.new(DATA.read).result(binding) __END__ <dl> <% table.each do |tr| %> <dt><%= (tr/'td[2] a').inner_html %></dt> <dd><%=

    それrubyなら2行で出来るよ! - 狐の王国
  • Rubyの軽量Webフレームワーク「Sinatra」がステキ - このブログは証明できない。

    フルスタックがウリのRails。そこまで必要ないよ。と、ERBでゴリゴリ。メンドクセー。やっぱ、Railsで。などと、陽はまたのぼりくりかえしてーゆく。RubyのWebフレームワークは他にもあるけど。。軽くていいんだ。PHPを使いたくないだけなんだ。 そんな悩ましさを解消してくれるフレームワークを発見してしまいました。「Sinatra」でございます。こいつは、軽そうだ。 Sinatra サイトのトップページに書かれているコード。これが、サクサク感をかもし出してくれています。 require 'rubygems' require 'sinatra' get '/hi' do "Hello World!" end 説明読まなくても解るよ、これ。 日語の解説スライドがあります。よく解る解説ー。 公式サイトのREADMEを読めば、だいたいOK。 Sinatra: README パラメータを取得し

  • SapphireSteel :: Book of Ruby Completed: 425 pages, 300+ Sample Programs, FREE!

    The Book Of Ruby is a free PDF-format guide to Ruby programming. Written by Huw Collingbourne, Technology Directory at SapphireSteel Software and one of the developers of the Ruby In Steel IDE for Visual Studio, The Book Of Ruby provides a comprehensive tutorial to all major aspects of Ruby programming. The code from each of the twenty chapters is supplied in the download archive. If you are a Rub

  • Twitter、Ruby on RailsからScalaへ | スラド IT

    TwitterRuby on Rails で構築されたそのインフラを徐々に Scala に置き換えているそうだ (Technology Review の記事, 家 /. 記事) 。 Twitter ではフロントエンド、バックエンド共に Ruby on Rails が使われていたが、最近では大量のメッセージを処理できず「Fail Whale」出現の原因となったりしていた。このため Twitter の開発チームは代替言語として Scala を採用、少しずつバックエンドやインフラを Scala に置き換えているそうだ。スイス連邦工科大学ローザンヌ校の Martin Odersky 氏によって開発された比較的新しいプログラミング言語である Scala は並列プロセスの処理に長けている点が Twitter に向いており、また言語としてのフレキシビリティも開発にとっては魅力とのこと。短所として

  • SOAP童貞を卒業する - Yet Another Ranha

    今回は、初めてのSOAPプログラミングを何も知識が無いままやってみると成功したので、それについて書こうと思います。 そもそも、SOAPとは何か。 SOAP (プロトコル) - Wikipedia 簡単に言うと、XML-RPCの凄い版という事になるのでしょうか? 少なくともXMLスキーマで、何かしらのプロトコルの上に乗せて飛ばします。XML-RPCと同じくHTTPが多いようですが、その限りでは無いようです。 突然ですが、今日の夕方頃から私が始めた事は一見SOAPと全く関係が無い様に見えた事でした。 何をやり始めたのか・・・ですが、前日のエントリにちらっと出したUPnPです。 話をいきなり脱線させて、UPnPについて述べる事にします。 UPnPとは?? http://ja.wikipedia.org/wiki/UPnP http://bb.watch.impress.co.jp/cda/bbw

    SOAP童貞を卒業する - Yet Another Ranha
  • Ruby on Railsによるコードレビュー・システム「宍道湖」,オープンソースとして公開

    MOONGIFTは2008年6月11日,Webベースのソースコード・レビュー・システム「宍道湖」をオープンソースとして公開した。ソースコードの修正内容を記録し,それに対するコメントをWeb上で記入,閲覧できる。 「宍道湖」はソースコード・レビュー・システム「Rietveld」を参考に開発した。「Rietveldは魅力的なソースコードレビューシステムですが、(米Googleのクラウド・コンピューティング・サービスである)Google App Engine上で開発されているために,社内をはじめとするクローズ環境下では使い勝手が悪く、公開されているリポジトリに対してのみ利用可能になっているます。このため、企業内のエンタープライズ向けには利用が難しいものになっている」(MOONGIFT)。「宍道湖」はRuby on Railsを利用しオープンソース・ソフトウエアとして公開しているため,社内サーバー

    Ruby on Railsによるコードレビュー・システム「宍道湖」,オープンソースとして公開
  • Official Google Data APIs Blog: Using Ruby to work with the Google Spreadsheets API

    Posted by Jochen Hartmann, Google Data APIs Team I've recently started to explore using Ruby as an all-purpose tool for scripting and programming small tasks. Seeing requests for Ruby code samples inspired me to write this article, which will hopefully help other developers get started using Ruby to access the Google Data API services. The article explores the Spreadsheets API from within irb, Rub

  • Rubyを使ってPaSoRi経由でSuicaの乗車履歴を取得し、GoogleMapsやGoogleEarthで表示する

    #include #include "libpasori.h" int main(void) { pasori *p; felica *f; uint8 d[16]; p = pasori_open(NULL); pasori_init(p); f = felica_polling(p, 0xfe00, 0, 0); felica_read_without_encryption02(f, 0x170f, 0, 0, d); printf("%d¥n", d[14]*256+d[15]); pasori_close(p); return 0;} require 'dl/import' module Pasori extend DL::Importable dlload '/usr/local/lib/libpasori.dylib' typealias 'uint8', 'unsigned

  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

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

  • まつもと直伝 プログラミングのオキテ 第13回 プログラムを高速化する:ITpro

    プログラムの高速化はプログラマにとって永遠の課題です。しかし,そこには知られざる暗黒面が隠れています。そもそも高速化に意味があるのかを調べなければなりません。次に,どの部分をどの程度高速化するのかが重要です。アルゴリズムの効率にも目配りが必要です。 コンピュータの処理速度は驚くべき勢いで向上しています。現在私たちが使っているパソコンは一昔前のスーパーコンピュータをしのぐ性能を備えていますし,半世紀前に登場したばかりの計算機と比較すると数十万倍の性能に相当します。 このように高速なコンピュータを持っているにもかかわらず,人間の欲望は限りがないものです。プログラムの実行速度はプログラマにとっての永遠の課題のようです。プログラムを高速化していると,「そんなに急いでどこに行く」という気になることもあります。 今回は,プログラムの高速化にまつわるさまざまな「秘密」と「限界」,そして「戦略」について解

    まつもと直伝 プログラミングのオキテ 第13回 プログラムを高速化する:ITpro
  • まつもと直伝 プログラミングのオキテ 第12回 多重継承再び

    今回は継承,特に誤解されがちな多重継承について改めて解説します。「オブジェクトは現実世界のモノの反映であり,継承はそのモノの分類を反映したものである」,「多重継承は良くないものだ」という意見が正しいかどうか,判断する基準を紹介します。 今回は,オブジェクト指向にまつわる誤解を取り上げましょう。 これまで,オブジェクト指向プログラミングの古くからのファンとして解説を書き,Rubyというオブジェクト指向プログラミング言語を提供してきました。オブジェクト指向プログラミングをより多くの人が身近に感じられるように貢献してきたつもりです。Smalltalkよりも手軽に入手でき,JavaC++よりも簡単にオブジェクト指向プログラミングを実践できるRubyによってオブジェクト指向という概念がより理解しやすくなったのではないかと自負しています。 しかし,その過程で,私自身の未熟さもあり,オブジェクト指向プ

    まつもと直伝 プログラミングのオキテ 第12回 多重継承再び
  • 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 直