Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
RubyはScalaに比べてクソとかいう話ではなく、Scalaから見たRubyの興味深い点のご紹介みたいな趣旨の発表です。発表資料が見にくくて申し訳ございません。 なぜかトリに発表することになった結果、Scalaのイベントで延々とRubyの話をしてる異常者みたいな印象が強化されたけど、私はただ、言語の多様性について皆さんに考えていただこうと…… RubyとScalaの印象についてですが、動的でアジリティとハック性に優れるRubyと、静的で記述性が高くアカデミック要素の強いScalaという感じですね。エコシステムの変化が激しくて、関連フレームワークのアップデートを怠るとすぐ死ぬのはどちらにも共通した特性(そういうのがつらい人はジャバエイトをやるとよい)。 私はJava出身といってもmavenエコシステムに関する知識に乏しかったので、mavenの上に載ってるsbtの依存性管理には悩まされました
先日Rubyビジネス推進評議会主催の第3回Rubyビジネスフォーラムが大阪で開催されました。 Ruby言語開発者、まつもとゆきひろさんが、『インターネットが変えるソフトウェアとビジネス。Rubyを例として』と題した基調講演を行いまいした。 その内容を紹介します。 計算機としてのコンピューター IBMの初代社長トーマス・ジョン・ワトソンの有名な言葉に、「コンピューターは全世界で5台くらいしか売れないと思う」と言ったとされています。 その数字は当時の計算技師の人数とENIACの計算性能から導かれた数でした。 ところが、今ではその数百万倍の処理能力をもつコンピューターが何億台もあります。 去年だけでPC出荷台数は3億台。スマートフォンとタブレットはそれを超える出荷がされています。 コンピューターは計算機としてのみ使われているわけではありません。 インターネットとの接続 今日、大阪まで松江から飛行
モータースポーツとWebプログラミングの両方を知る人にとっては大きなニュースです。 タイトルの通り、Railsの作者として知られるDHHがルマン24時間耐久レース、アマチュアクラスで1位になったとのことです。(全体では17位)まさかこのサイトからスポーツニュースのサイトを参照するとは予想外ですが、結果を伝えるニュースにも「DHハンソン」の文字が。 WikipediaのDHHのプロフィールによると、ルマン24時間耐久レースへの参戦は今年で3年目で、写真と並んで彼の「趣味」であるとのこと。またSimple Talkのインタビューの記事によるとシルバーストーンやスパなどルマン以外のレースに参戦しているようです。 https://www.simple-talk.com/opinion/geek-of-the-week/david-heinemeier-hansson-geek-of-the-wee
Railsで作られたサイトにアクセスすると、_xxxxxxのような名前で中身が18ed7a9d5d10a4c25ac06be5254a9e6dのようなcookieを貰うと思います(剥き出しのクッキーが使われて無い限り)。この18ed7a9d5d10a4c25ac06be5254a9e6dのようなランダムな文字列がsession_idで、この値を元にActiveRecord Storeやその他のキーバリューストアの中に永続化したデータとユーザーがひもづけられています。Railsはこの18ed7a9d5d10a4c25ac06be5254a9e6dのような文字列をどのようにして決めているのでしょうか? Rails以外のフレームワークでもRailsと肌合いの似たsession_idを出力してみるために、Railsのsession_idの決定方法を調べてみました。 Rails本体の中では、どこでs
今日 @mad_p さんからRT来てたこのツイートに関して、ちょっと調べたのでまとめときます。 Security Issue in Ruby on Rails Could Expose Cookies http://t.co/JlsXVEn4rZ — Ruby on Rails News (@RubyonRailsNews) September 25, 2013 前提条件 Railsではデフォルトでsessionをcookieにのみ保存して、DBなりmemcacheなりのserver-side storageには何も保存しません。 これがCookieStoreとか呼ばれてるやつです。 この場合のsession cookieは、Railsのsession object (Hash object) をMarshal.dumpしてそれに署名を付けたtokenです。 rails 4では署名付ける代
例えばberkshelfひとつ入れるのに、膨大な知識がいる。 もしあなたが単にPHPサーバを作りたいだけだったとしても、berkshelfをちゃんとしたモダンなやり方でいれるには膨大な知識がいる。 例えばruby, rbenv, ruby-build, gem, bundlerなどだ。 まあ、rbenvとruby-buildで最新のrubyを入れること自体はそんなに難しくない。Ruby言語の知識も必要ない。 運よくgem install berkshelfが一発で成功したら、別に問題はない。おめでとう。 そういう人はここから下は読む必要はないです。 ところがである。 ひとたびgem installが失敗したら、そこからは茨の道である。 インフラの問題 gem installしたら "ERROR: Could not find a valid gem 'chef-solo' (>= 0) i
rbenvを使ってみる - すぎゃーんメモの続き。 現時点でのrbenvのバージョンは0.2.1。 rbenvを使っていると.rbenv-versionファイルの有無でrubyコマンド打ったときに実行されるrubyが違うものになる、というのがちょっと新鮮で、これはどういう仕組みで動いているのだろう?と思って少し調べてみた。 上記記事のようにrbenvの設定をした環境では、 $ which ruby /Users/sugyan/.rbenv/shims/rubyとなり、${RBENV_ROOT}/shims以下のrubyを指すことになる。ここへのPATHは$HOME/.rbenv/libexec/rbenv-initに echo 'export PATH="'${RBENV_ROOT}'/shims:${PATH}"' と書かれているので、eval "$(rbenv init -)"してあれ
Fluentd というソフトウェアがある。日本国内ではそこそこ話題になってきたが、何ができるのか、何に使うと嬉しいのか、何に使えるのか、という点について詳細をよく知らないという人もおそらくまだ多いことでしょう。 なので、簡単にまとめる。 http://fluentd.org/ なお以下の個別項目ごとに書いていくが、その手前にまとめを置いておくので忙しい人はそれだけ読むとよい。インストールや設定については導入部分については日本語の記事はもう多くあるので、触れない。 概要 できること ログの収集 センサデータ等の収集 汎用データ処理プロセッサとして 頻出ユースケース ログの収集 データの集約 簡単なリアルタイム集計 ソフトウェアとしての特徴 コア プラグイン 安定性 性能 開発体制 コミュニティ ぶっちゃけどうなの? まとめ 現時点で、複数の場所に分散したデータや常に増え続けるデータの安全な転
はじめに EC2 (Amazon Linux AMI) に Rails アプリを Passenger + Apache で公開する、というお仕事をしたので環境構築方法をメモしておきたいと思います。Rails アプリを Apache を使って公開したいときの参考にしていただければと思います! Ruby のインストール はじめに Ruby をインストールします。まず Ruby の実行環境に必要なパッケージをインストールします。 sudo yum install \ git make gcc-c++ patch \ libyaml-devel libffi-devel libicu-devel \ zlib-devel readline-devel \ mysql mysql-devel sqlite sqlite-devel 次に rbenv を使って Ruby をインストールします。まずは
Chef、Vagrantに興味があるけどRubyをやったことない技術者が最低限知っておいた方がいい知識 まとめ 最近、ChefやVagrantを勉強し始めたのですが、設定がRubyで記述されているため私は「たのしいRuby」を読んで勉強することにしました。 私は元々Rubyに興味があったのでいいのですが、Ruby知らないしそのために勉強するのは大変だから手を出すのをやめとこう、と思う人がいるかもしれないのでこれだけ知っていればある程度読めるのではないか、というポイントをまとめました。 まったくプログラミングをしたことない方には説明するのは無理なのでプログラミング経験があり 条件分岐、ループ、クラス、メソッド、文字列 が何か分かるくらいの方が対象です。if文、for文など他の言語でもあるようなものは省いていきます。 真面目にRubyを勉強したい方は下のアフィリエイトから「たのしいRuby」を
Ruby中級入門 1. Ruby中級入門 @shokai 2013年8月5日(火) @masuilab 2. 私 •@shokai (しょうかい) •趣味:料理、glitch 3. ある程度大きなアプリケーションを作 っていると、部品に分割したくなると 思います。アプリ内ライブラリやgem の作り方を説明します。Rubyの機能を 活用した使い勝手の良いライブラリの デザインについて考えます。 4. • アプリ内ライブラリの作り方・gemの作り方 • サンプルコードとテスト • ライブラリのデザイン • API • DSL • 泥臭い小手先の技 • 例外・エラーの通知 • ドキュメント コンテンツ 5. ライブラリを作る 例:LeapMotionを自作アプリに組み込むための アプリ内ライブラリを作る 6. • LeapMotionはport 6437にWebSocket 接続するとJSONで
松江市は2013年6月26日、同市が実施している中学生Ruby教室で使用しているソフトウエア一式を無償公開した。ソフトウエア開発プロジェクトホスティングサイトの「GitHub」の、rubycitymatsueのリポジトリから自由にダウンロードできる。テキストもすでに2012年にクリエイティブ・コモンズ(CC)ライセンスで無償配布している。 中学生Ruby教室は、松江市が市内の中学生を対象として実施している教室。1日または半日でRubyを使いプログラミングを学ぶ。2009年より開始し、のべ参加者は200人を超えている(関連記事)。 松江市は中学生Ruby教室のほか、中学生向けにRubyのeラーニング事業を進めている。また中学校の授業でのRuby講座実施を目指しており、市立中学校で中学生Ruby教室のテキストを利用した実証実験を行っている。
Talk @ Scala Days 2013
なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 達人出版会 3,520円 (3,200円+税) 『Working with Unix Processes』待望の完訳。並列処理やデーモン、プロセス生成、そしてシグナルといったUnixの基礎であるプロセスについてRubyで解説する、「今どきの」開発者に向けた新しいUnixプログラミングの手引きです。 ※本書の公式ハッシュタグは#naruhounix になります。 関連サイト原著者による公式ページと訳者らによるサポートページがあります。 Working With Unix Processes - Learn the Fundamentals of Unix Programming in RubyなるほどUnixプロセスサポートページ 日本語版刊行によせてRuby
Mina lets you build and run scripts to manage your app deployments on servers via SSH. $ gem install mina $ mina Really bloody fast Mina works really fast because it’s a deploy Bash script generator. It generates an entire procedure as a Bash script and runs it remotely in the server. $ mina deploy --verbose -----> Creating the build path $ mkdir tmp/build-128293482394 -----> Cloning the Git repos
LambdaDriver by yuroyoro Rubyで、Procやlambdaで関数合成できるようにしたかったので、lambda_driver.gemというのを作った。 内容的にはこの辺で書いたヤツをgemにした感じ。 「関数型Ruby」という病(2) - 関数合成 Proc#compose - ( ꒪⌓꒪) ゆるよろ日記 「関数型Ruby」という病(3) - カリー化(Proc#curry, Proc#flip) - ( ꒪⌓꒪) ゆるよろ日記 こんな風に、カッコよくコードが書ける。 require 'lambda_driver' # [:foo, :bar, :baz].map{|s| s.to_s }.map{|s| s.upcase } # [:foo, :bar, :baz].map(&:to_s).map(&:upcase) [:foo, :bar, :baz].map(
古き良き小学校の時代、この行には困惑させられたものだった。 魔術的な x が、加算されたのに等しいままでいる事に。 どういうわけか、プログラミングを始めると、それに構わなくなる。 「やれやれ、それは重大な事柄じゃないし、プログラミングとは現実のビジネス行為なんだから、 数学的な純粋さについてあら探しなんて必要無い (その議論なら、大学にいる狂った髭面野郎どもにさせておけばいい)」と思っていた。 けれども、ただ知らなかっただけで、我々が間違っていて高い代償を支払っていたのは 明らかである。 Wikipedia によれば、「関数型プログラミング(functional programming, FP)とは、 計算を数学的な関数の評価とみなし、 状態や可変データを避けるプログラミングパラダイム」である。 言い換えると、関数型プログラミングは、 副作用が無く変数の値を変化させないコードを推奨する。
2012年9月に行われた札幌Ruby会議2012の基調講演の1つで、Rubyの生みの親のまつもとゆきひろさんが、最近あった面白いエピソードを混じえて“イノベーション”の本質について語っていました(44分の動画)。ポイントとなる部分をまとめてみました。まつもとさんの話はもちろん、統計的裏付けだとか学問的裏付けがある議論というものではありませんし、ご本人も楽しそうに話し、聴衆も楽しんでトークを聞くというゆるい感じのものでした。ただ、「イノベーションの本質は捉えがたい」というメッセージや、「だからあれこれ考えずにコードを書こう、われわれはコードを書くことにアイデンティティを感じているのだから、それこそがハッピーになる道だ」というメッセージは、参加していたRubyistたちの胸に響くものがあったのではないかと思います。 以下、口語文体のまま、ポイントとなる前半のトークをまとめてみました。トーク後半
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く