Rubyは、Webアプリケーションの領域を中心に利用が広がっているが、データ解析の分野ではライバルであるPythonに大きく遅れを取っている。本発表では、Rubyによるデータ解析の現状と今後の発展についての展望を述べた。 DCワークショップ2016(http://dcworkshop.github.io/201602/0_about.html)での発表。 Read less
DataCenter とソフトウェア開発ワークショップというイベントで、Rubyによるデータ解析について発表しました。 発表資料 発表の背景 Pythonに対してこの分野でRubyが遅れを取っているということが最近よく言われていますが、まずは使ってみないと何がRubyに何が足りないのかわからないと思い、最近色々なツールを触ってみています。 スライドの24ページあたりにもあるように、主要なツールについてはRubyでも揃いつつあるのかなという印象で、実際Jupyter notebook上で色々触ってみて、結構Rubyだけでも色々できるなと感じました。 一方で、Python/R等に比べて、機能面、性能面、ドキュメント面など、まだまだ不足しているのも事実だと思います。 今回のデモ用に書いたコードも、細かいところで色々足りなくて自分で実装したりしました。 一つ一つは大したコード量ではなく、自分で実装
2016/2/13に開催された『第35回 ゆるびぃ会(2016年2月) - connpass』に参加して、Rails 5.0.0.beta2に ついて最近触ってたので、ちょっとした新機能の紹介に関する発表をしたのでスライドをシェアします! 😎 Rails 5 Measure Version Up!2/1に5.0.0.beta2がリリースされました。2/16-23くらいまでにRC1がリリースされる予定とのことで、いよいよRailsのメジャーバージョンアップが近付いてきたように思います。 本当にcontributerやcomitterの方々の日々のスピーディな開発には頭が上がりません>< 🗻 スライド 🐠 伝えたかったこと- Action Cable - Viewのキャッシュなど、Railsの今までの知識を有効活用できる - 一時的な接続不良やエラー時のリカバリ等、本番適用には色々考えな
Railsガイド解説セミナーのスライド資料です Railsガイド: http://railsguides.jp/ Railsガイド解説セミナー: http://railsguides.jp/options.html#seminar 【関連リンク】 Railsチュートリアル: http://railstutorial.jp/ Railsチュートリアル解説セミナー: http://railstutorial.jp/seminars Railsスクリーンキャスト: http://railstutorial.jp/screencasts Railsビギナーズ倶楽部: http://coedo-rails.doorkeeper.jp/
Unicodeプロパティ? Unicodeコンソーシアムが出した文字範囲に関する規格 http://www.unicode.org/Public/UNIDATA/Scripts.txt Rubyの正規表現エンジン「Onigmo」で使えるUnicodeプロパティについては、以下の「Character Property」を参照 https://github.com/k-takata/Onigmo/blob/master/doc/UnicodeProps.txt 各Unicodeプロパティの文字範囲を知りたい めちゃくちゃ長いファイルだけれど、Onigmo のヘッダファイルみればわかる https://github.com/k-takata/Onigmo/blob/master/enc/unicode/name2ctype.h 罠も多いので注意 Alphabetic 英文アルファベットではなく
背景 昨日新しいバージョンで今まで面倒だったことがとても簡単になった、というような気付きがあったので、 昔気づいた「こんなことが出来るようになったのか」な内容と、そこから考えてみたことを記事にしてみようと思います。 mapで変換しながらリストを組み立てるとき、単純に複数のメソッドを呼ぶだけってとき多くないでしょうか? 例えば、複数のオブジェクトのとある文字列プロパティーを取得したくて、 Vo = Struct.new(:prop1) ary = [Vo.new("ab"), Vo.new("abc"), Vo.new("abcd")]
2020年1月28日更新 独学でプログラミングを勉強してエンジニアになれるか、挫折するかを分けるものは何でしょう?それは「効率の良い勉強方法を知っているか」と「やってはいけないことを知っているか」という2点です。 この記事では、プログラミングの挫折する可能性を限りなく低くし、エンジニアになれる方法を現役エンジニア目線でお伝えします。 その勉強方法だと絶対挫折しちゃうよ...ということがよくあります。どうして成功したのかということはメソッド化することは難しいですが、どうして失敗したのかということはケーススタディから学ぶことができて、それを避けることができます。 早く勉強したい!という焦る気持ちを落ち着かせて、独学を始める前にこの記事で「やってはいけない勉強方法」と「効率のいい勉強方法」を頭に入れておきましょう。 確実に挫折する勉強の仕方 本から勉強を始めてしまう チュートリアルから始めてしま
この記事は Ruby Advent Calendar 2015 の 8日目です。 比較的あまり知られていないと思うオススメの Ruby の機能を 7つ紹介します。 Enumerator.new Enumerator.new は知ってはいても、あまり使わない人が多いように思います。 私は非常によく使います。 理由は スコープを新たに導入したい Producer-Consumer パターン。値の生成と消費でフェーズの違いを明確化したい。 そのメソッド内で1度使いたいだけなのに yield するメソッドを別に作るのはちょっと気が引ける。名前空間を汚したくない。 全部、一度配列にしちゃうとメモリが気になる。メモリ消費を節約したい。 ネストを浅くしたい Enumerable モジュールの機能が欲しい といったところです。 たとえば下記のようなかんじで使います。 # Producer フェーズ use
はじめに Ruby 2.3が2015年12月25日にリリースされました。 そこでこの記事ではRuby 2.3の主な新機能を紹介していきます。 対象となるバージョン 以下のとおり、この記事では ruby 2.3.0 を使っています。 参考文献 今回紹介するサンプルコードは下記のサイトにあったコードをベースにしています。 New features in ruby 2.3 - BlockScore Blog ただし、実行結果を確認するために Minitest を使ったり、コードをいくつか変更したりしています。 サンプルコードはGitHubにあります この記事で使ったサンプルコードはGitHubに置いてあります。 興味のある方は手元で動かしてみてください。 JunichiIto/ruby-2.3-sandbox それではここからRuby 2.3の新機能を紹介していきます。 深い階層にあるハッシュの
— 環境 — Ruby 2.2.2 Rails 4.2 ※ 2015/11/12 記事の末尾に追記しました。 リファクタリング前のコード 単純化してますけど、具体的には以下のようなサンプルで、最初に書いたのが次のようなコード。 class Person def initialize(name, age) @name = name @age = age end def get_old @age += 1 end end class Female < Person MARRIAGE_AGE = 16 def marriageable? @age >= MARRIAGE_AGE end end class Male < Person MARRIAGE_AGE = 18 def marriageable? @age >= MARRIAGE_AGE end end taro = Male.new('
Rubyにおける定数は意図せず書き換えられることがある 以下のような場合、警告すら出ずに定数が書き換えられてしまう。 PERMIT_ID = ['0001', '0002', '1234'] PERMIT_ID.reject! { |id| id == '1234' } p PERMIT_ID # => ["0001", "0002"] Rubyにおける定数は不変の値というより、グローバル変数に近い。 また、Rubyでは先頭が大文字になっている識別子のことを定数としていることから、クラス名であるStringやArrayなども定数として扱っている。 そう考えると、クラスはメソッドを追加したり等いつでも書き換えられるミュータブルなオブジェクトなので、定数が参照するオブジェクトもミュータブルにする必要がある。 よって上記のコードはRuby的に正しい挙動なので警告は出されない。 とはいえ、定数を定
Rubyはたのしい言語です。Rubyを触っているとマニュアルにも書いていない「小さな発見」に遭遇することがよくあります。このような「発見」は、プログラムの質や効率の改善には直結しないかもしれません。いや、むしろチームプログラミングでは妨げになる可能性すらあります。しかしその一方で、言語自体が自分の知らない領域を持ち続けていることが、その対象に対する興味を失わせないための大きな要因である、というのもまた疑いのない事実なのです。つまり「発見」はたのしさに直結しているのです。 このブログにおいて「知って得するRubyのトリビアな記法」というタイトルで、今まで3回記事を書きました。 “知って得する21のRubyのトリビアな記法” “第2弾!知って得する12のRubyのトリビアな記法” “第3弾!知って得する12のRubyのトリビアな記法” これらのトリビアには、ネット検索で見つけたもの、Twitt
タイトルは釣りです。Ruby に盲目的に惚れている迂生には Ruby の痘痕(あばた)はエクボです。 それはともかく。 メソッド名の別名がありすぎ 「あなたは map 派? それとも collect 派?」っていう問いがまず嫌い。 いや,別名にも意義があるとは思うんだけど,記憶の負担が大きい。 自分では map しか使わなくても,他人のコード読むんだったら collect を知っていなくちゃならない。 しばらく前に reduce っていうメソッド見て,そんなのあったっけ?と思ったら inject の別名だった。 map/collect と inject/reduce の名前とその背景にある発想については,Rubyist Magazine に良い記事がある: そうかと思えば,Array#delete_if と Array#reject! みたいに,働きは基本的に同じだけど,削除が行われなかっ
はじめまして! 今回、Circle Aroundさんで 夏期インターンシップでお世話になることになりました。 ぽんこつ姉妹、姉のあかねです。妹のみきです。 プログラミングのことをあまり知らないということと、 「ふたり、姉妹みたいだね」と言われたことから ぽんこつ姉妹という名前を考えつきました! あ、同い年です笑 企画名は 「ぽんこつ姉妹のRuby女子会〜基礎からWebはじめました〜」 です! 初めのうちは、HTMLなどの基礎からやっていきますが、 のちのちRubyをやるのでRuby女子会という名前を考えました。 企画名が長いため『るびじょ』という略称も考えたので ぜひぜひ、覚えてくださいね! 妹はデザインセンスが0なので、 デザインは姉が担当します。 このブログのデザインも記事にのせるイラストも全部です。 基本的にこのブログは、 デザイン・イラスト、文章確認:姉 文章作成:妹 といった偏っ
そういえば自分の中でだいたいパターン化してきるなと思ったので、メモがてら整理しつつ、初心者の人に参考になればと思いつつ、上級者の人には教えてほしい的なものを書いてみます。 Procの詳細については良記事がいくつかあるので省きます。 [Ruby] ブロックとProcをちゃんと理解する Procを制する者がRubyを制す(嘘) ※リファレンスもいいですよね 手続きオブジェクトの挙動の詳細 1. デザインパターンのテンプレートメソッドパターン 私の場合はRubyを勉強してからすぐにRubyによるデザインパターンを買ったのですが、テンプレートメソッドパターンで使われてるのを見て、初めてProcが便利だなって感覚を持ちました。 詳細は本や他の記事に譲りますが、基本的な概念としては冗長性を削ってよりDRYに、ポータブル化して遅延評価する事で可読性の向上って感じだと思ってます。 というかProcを使う時
私は普段主にC#やjavascriptを使ったりしているのですが、巷で話題のRubyにもそろそろ手を出そうと基礎を勉強し始めました。勉強の過程でRubyって今まで触れてきた言語と思ったより違うなぁと感じました。こういう違いを俯瞰できたら勉強しやすいと思ったのでこの記事を書いた次第です。 これをおさえておけば、ある程度ソースが読めるかも、という見慣れない構文や決まりなどをまとめています。あれもこれもと書いていると長くなってしまいました...。概要をまとめただけで、詳細は他のページや記事に任せるようにしています。 「これは他の言語にも共通じゃないか」と思われることもあるかもしれませんが、ご容赦ください。 ※バージョンはRuby2.0を想定 変数 変数の種類は、変数名の前にpublicとかprivateをつけるのではなく、変数名に特徴を持たせることで識別する。 ローカル変数 スコープが変数がかか
Rackについて調べても、「ではまず簡単なRackアプリケーションを作ってみましょう。config.ruを開いて……」みたいな資料しか出てこなくて、サーバー側からみたRackインターフェースがどうなってるかという記事が全然見当たらなかった。んだけど、何やら外国の人のブログでちょうど望んでる内容のものがあったのでざっくり翻訳と紹介します(許可とった)。言い回しとかで解釈わかんないところがあって飛ばしたりしているので本文とニュアンスだいぶ変わってしまっているかもなのですが、まあ最低限の内容が伝われば……ご了承ください。 元記事:http://www.blrice.net/blog/2015/05/31/make-your-own-rack-server/ 自分のRackサーバーを作ってみよう Ruby触ってたら必然Rackについて学ぶよね。RailsとかSinatraとかRubyのWAFの心臓
/etc/hosts を書き換えなくても気軽に特定のサーバに通信できるプロキシが欲しいと思ったんですが、意外にちょうど良いのがなかったので自作しました。 <追記> proxy.pac で十分ではという意見をブコメでいただいたんですが、やりたいのは「本番系リバースプロキシやロードバランサを通さずに特定のサーバだけに任意のタイミングでアクセスする手段」を、システムファイル書き換えを伴わずに行う方法なので今回のコンセプトとは少しばかり違うのです・・・。 </追記> るびまに Webrick でプロキシサーバの記事がある #!/usr/bin/env ruby require 'webrick' require 'webrick/httpproxy' # プロキシサーバオブジェクトを作る s = WEBrick::HTTPProxyServer.new({}) # SIGINT を捕捉する。 Si
require "gnuplot" Gnuplot.open do |gp| Gnuplot::Plot.new( gp ) do |plot| plot.title "Array Plot Example" plot.xlabel "x" plot.ylabel "y" plot.yrange "[0:5000]" x = (0..50).map(&:to_f) y = x.map{ |v| (v ** 2) + 3000 } x2 = (0..50).map(&:to_f) y2 = x.map{ |v| 2*v ** 2 + 2500 } plot.data << Gnuplot::DataSet.new( [x, y] ) do |ds| ds.with = "lines" ds.linewidth = 2 end plot.data << Gnuplot::DataSet.new
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く