タグ

rubyに関するmirie0908のブックマーク (32)

  • [Ruby] Ruby 3.0 の特大の非互換について - まめめも

    タイトルは釣りです。すみません。Ruby 3.0 はかなり先の将来の話なので、最終的にどうなるかはわかりません。でも Ruby 3.0 に重大な変更が予定されているのは事実なので、一緒に考えて欲しいと思います。 immutable string literal Ruby 3.0 では文字列リテラルをデフォルトで immutable (破壊的変更不可) にする、という方針が『決定』しました。(Feature #11473: Immutable String literal in Ruby 3) つまり、次のようなプログラムが動かなくなります。(当チケットから少し改変して引用) sql = "SELECT #{sec_id}, pt.path, st.doc_count " sql << "FROM #{stats_tablename} AS st " #### ←ここで例外: can't m

    [Ruby] Ruby 3.0 の特大の非互換について - まめめも
  • Matz「Rubyの一番悪い点はPerlの影響」!? 次世代の言語の話も盛りだくさん #yapcasia #yapcasiaA

    まとめ YAPC::Asia Tokyo 2015 #yapcasia 全セッション総まとめ 前夜祭から大盛り上がりの様子を完全まとめしていきます。実況ツイートはトラック毎のハッシュタグ付き推奨! #yapcasia / 全体 #yapcasiaA / トラックA (国際会議場) #yapcasiaB / トラックB (701-702) #yapcasiaC / トラックC (703) #yapcasiaD / トラックD (605-606) #yapcasiaE / トラックE (607-608) #yapcasiaDinner / 懇親会 (レセプションホール) 16514 pv 94 39 users 57

    Matz「Rubyの一番悪い点はPerlの影響」!? 次世代の言語の話も盛りだくさん #yapcasia #yapcasiaA
  • Procを制する者がRubyを制す(嘘)

    RubyのProcの説明は巷に溢れているから今更感があるけどここ数回Procを使ったネタを書いていたらProcがかわいくなっちゃってもっとみんなにもProcのこと知ってもらいたいという欲求が生まれてきたからProcについての基的なことを僕なりのやり方でここに書くよ。長いよ。 Rubyの関数(メソッド) Rubyにおいて関数(メソッド)はファーストクラス(オブジェクト)ではありません。つまり文字列や数字や配列などの他のオブジェクトとは異なって、Rubyではそれを直接変数に代入したり、他の関数に渡したりすることはできません。 def square(n) n * n end sq = square # squareメソッドを変数sqに代入してみる # ~> -:1:in `square': wrong number of arguments (0 for 1) (ArgumentError)

    Procを制する者がRubyを制す(嘘)
  • Serverspec - Home

    About V2 Serverspec/Specinfra v2 has been just released. See the document about v2. About With Serverspec, you can write RSpec tests for checking your servers are configured correctly. Serverspec tests your servers’ actual state by executing command locally, via SSH, via WinRM, via Docker API and so on. So you don’t need to install any agent softwares on your servers and can use any configuration

  • 仮想環境構築ツール「Vagrant」で開発環境を仮想マシン上に自動作成する | OSDN Magazine

    アプリケーションの開発やテストを行うために仮想マシンを利用するのは近年では珍しくない。仮想マシンを利用することで、開発者ごとに個別の環境を割り当てることも容易だが、いっぽうでその分だけ開発・テスト環境を構築する作業が必要となる。今回紹介する「Vagrant」は、仮想マシンの構築と開発・テスト環境の構築をまとめて行える支援ツールだ。 仮想マシンの作成や環境構築、仮想マシンの破棄までを自動化するツール「Vagrant」 近年、Web開発の分野ではPC上に構築した仮想マシン上にテスト用の環境を作成し、そこで開発やテストを行う、というスタイルが一般的になっている。その場合に問題になるのが、番環境とテスト/開発環境が同一になっていない、というケースだ。また、複数人の開発者が関わるプロジェクトでは開発者がそれぞれ自身のマシン上に仮想環境を構築して開発するという例も多いが、この場合開発者ごとのテスト/

    仮想環境構築ツール「Vagrant」で開発環境を仮想マシン上に自動作成する | OSDN Magazine
  • RubyでDSL

    201805 uc solution update centered cloud mcu, microsoft office365 and proposa...Hiroyuki Yokota

    RubyでDSL
  • 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ではあり得ません。結局、テキスト検索で発

  • 「3分Gemクッキング」というタイトルでLT発表しました! 

    社内勉強会ですが、『3分 Gem クッキング』生まれて初めてLT的な発表をしてきました。 基的には最近まとめていた、RubyGemsの作り方やOSSに携わると使える無料のサービスなんかの紹介が中心です。 🤔 伝えたいこと僕の周りのエンジニアは実力はあるのに、ブログやQiitaの記事を書いたり、GitHubで活動したり、オープンソースに貢献することに対して、 ちょとおよび腰なところがあるなと思っています。 でも、GitHubに自分のコードを公開したり、OSSにちょっとしたPull Request(Pull Request)を出したり、自分でライブラリ を作って公開することは、やってみるとすごく簡単だし、それによって得られるメリットもたくさんあると思っています! 僕自身もその経験をして、少しでもその良さを伝えたいという想いから、この発表をしました! ちなみに、Rakuten Tech Co

    「3分Gemクッキング」というタイトルでLT発表しました! 
  • tDiary.org - About tDiary

    tDiaryはWeb日記(いわゆるブログ)を実現するオープンソースソフトウェアです。ブログサービスをレンタルするのではなく、自分でWeb日記を運用する人のためのツールです。 tDiaryには以下のような特徴があります。 長く日記を続けられます 日記は大切な自分史です。安心して長く日記を書き続けられるように、tDiaryは最低でも25年間はプロジェクトを維持することを目標に開発を続けています。2011年現在で10周年になるので、あと15年間はtDiaryで日記を書き続けることができます。また、同日の過去日記を参照する長年日記機能や、読者の反応を見逃さない日のリンク元機能など、日記を長く楽しく続けるための工夫もされています。 レンタルサーバーユーザにやさしい 必要なのはRuby(1.9.3ないしは2.0.0以降に対応)だけ。単独でCGIとして動作し、基機能は追加のライブラリを必要としません

  • 書籍編集局ブログ|Ohmsha

    2月15日(木)に開催された「Developers Summit 2018(デブサミ)」(主催:翔泳社)にて「ITエンジニアに読んでほしい! 技術書・ビジネス書大賞2018」のプレゼン大会と投票が行われ、大関真之先生の著書『機械学習入門 ボルツマン機械学習から深層学習まで』がみごと技術書部門の大賞の栄冠に輝きました! プレゼン大会では大関先生自ら書に関する熱い熱い思いを披露していただました。このプレゼンによって「読んでみたい!」「数式が苦手だけどこのなら読める!」と惹きつけられるオーディエンスが続出!みごと大賞に選ばれることとなりました。ブラボー! 書は、おとぎ話の白雪姫に登場するお妃様と鏡の関係をなぞらえ、その問答により「機械学習とは何か」「何ができるのか」を楽しいストーリーと可愛らしくしかも的確なイラスト、そして数式をまったく用いることなく解説している画期的な内容です。 登場する

    書籍編集局ブログ|Ohmsha
  • 必要最小のgemの作り方とインストール - ザリガニが見ていた...。

    gemは、Rubyのライブラリ管理のコマンド。Rubyのライブラリを検索・インストール・アップデート・削除など、苦労最小で操作する仕組みを提供してくれる。今までgemを使って、多くの素晴らしいライブラリをインストールしてきた。しかし、自分が作ったものをgemでインストール可能な形式で公開したことはなかった...。 できることならgemでインストールできるようにしてみたい。では、自作のRubyコードは、どうすればgemでインストールできるようになるのか?果たして、簡単にできることなのか?調べてみた。 作業環境 MacBook Pro Retina15 OSX 10.9.5 Rubyバージョン $ ruby --version ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin13] Gemバージョン 最新のG

    必要最小のgemの作り方とインストール - ザリガニが見ていた...。
  • Ruby でやってみる『機械学習 はじめよう第3回 ベイジアンフィルタを実装してみよう』メモ - 牌語備忘録 -pygo

    若干リファクタ naivebayes.rb: 2014-06-30 (ruby2.1) 元ネタは Python 実装 第3回 ベイジアンフィルタを実装してみよう:機械学習 はじめよう|gihyo.jp … 技術評論社 理論 第2回 確率の初歩:機械学習 はじめよう|gihyo.jp … 技術評論社 やること ナイーブベイズアルゴリズムを利用してテキストを読み込み、学習し、自動でカテゴリ分類する。 文章を形態素に分割する morphological.rb Yahoo!デベロッパーズネットワークの日形態素解析を利用する。 (nokogiri はインストール済で) require 'open-uri' require "nokogiri" APPID = 'Yahoo!デベロッパーズネットワークのアプリケーションIDを入力して下さい' REQUEST_URL = "http://jlp.ya

    Ruby でやってみる『機械学習 はじめよう第3回 ベイジアンフィルタを実装してみよう』メモ - 牌語備忘録 -pygo
  • RSpec をやめて Test::Unit に戻る - tmtms のメモ

    最近の RSpec は、それまで obj.stub(hoge: value) と書けたものが、 allow(obj).to receive(:hoge).and_return value と書かないといけなくなったりとか、正気の沙汰とは思えないような変更をしたりするので、何年かぶりに Test::Unit を使ってみようとリハビリ中です。 RSpec は、テストケースを入れ子にできたり、テストケースや example がクラスやメソッドではなく、文字列で自由に書くことができたりしたのが良かったのですが、最近の Test::Unit ではそれもできるようになっています。 [ruby-list:48926] [ANN] test-unit 2.5.2 このリリースはとみたさんに使ってもらえるように改良したリリー スです。新しく追加した--locationはRSpecの--line_number

    RSpec をやめて Test::Unit に戻る - tmtms のメモ
  • PaaSの基礎知識とHerokuで開発を始める準備

    この連載では、まだPaaS(Platform as a Service)でアプリケーションを作成したことのない方に向け、米Salesforceが提供しているPaaS環境「Heroku」を使ってPaaSアプリケーション開発を学んでいきます。Heroku環境を整え、実用的なアプリケーションを作れるようになることを目標に、Heroku上で実際に動作するサンプルプログラムを交えて解説します。初回である今回は、PaaSならびにHerokuの概要と、Herokuを使うためのセットアップ方法を説明します。 PaaSとは何か・Herokuとは何か PaaSを一言で表現すると「アプリケーションを実行するためのプラットフォーム」と言えます。 プラットフォームと一言でいっても範囲が広すぎてやや漠然とした印象がありますが、「アプリケーションを実行するための」プラットフォームを考えた場合、そこには次のものが含まれま

    PaaSの基礎知識とHerokuで開発を始める準備
  • Javaエンジニアがいまさら始めるRuby開発環境 - Qiita

    Editorは、人によって大きく違うと思うけど、大体こんな感じだと思います。 Rubyでは、Vim,Emacsなどのエディタ + Plugin + 開発支援なgem Javaでは、Eclipse,NetBeans,IntelliJなどのIDE Javaの人はIDEが無いと辛いと思うかもしれませんが、Vim Pluginや開発支援するgemを使えば、IDEと遜色なく使えるのではないかと思います。 例えば、エディタ上で以下のことはできます。 コード補完 ブレイクポイントを置いて、ステップ実行 カーソル上のクラスやメソッドに飛ぶ(gemRuby体のC言語も含む) 知りたいクラスやメソッドなどのドキュメントやソースの表示 保存時にコーディング規約違反の表示 homebrew mac標準のrubyでまずはhomebrewをインストールします。 $ ruby -e "$(curl -fsSL ht

    Javaエンジニアがいまさら始めるRuby開発環境 - Qiita
  • RubyのRangeクラスと範囲オブジェクト、範囲演算子、イテレーターの使い方

    RubyのRangeクラスと範囲オブジェクト、範囲演算子、イテレーターの使い方:若手エンジニア/初心者のためのRuby 2.1入門(4)(3/3 ページ) Rubyのイテレーターの基的な使い方 ArrayやHashなどのコンテナーやRangeといった範囲オブジェクトを使っていると、含まれている要素1つ1つに対して、何らかの処理を行いたい場合があります。このようなコンテナーの各要素に対する繰り返しの処理を、概念的に「イテレーター」と呼びます。 少し込み入った話をすると、ArrayやHashは「Enumerable」というモジュールをミックスインすることによってイテレーターを実現する種々のメソッドを実装しています。ミックスインについては、以降の連載のクラスやモジュールを解説する回で説明します。 基的な繰り返し(eachメソッド) ArrayオブジェクトにおいてもHashオブジェクトにおいて

    RubyのRangeクラスと範囲オブジェクト、範囲演算子、イテレーターの使い方
  • Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察 | POSTD

    この記事を書き上げるには、相当長い時間がかかりました。来は今年の年明け、 Rubyの死 やデイヴィッド・ハイネマイヤー・ハンソンの TDDは死んだ がアップされて騒ぎになる前に投稿するつもりだったのです。昨年末に書いたツイートを見てください。 > Rubyにはもう飽き飽きした。理由はいろいろあるが、特にその副作用と、ステータスが可変なせいで大量のユニットテストを書かされるのにはウンザリだ。 @abevoelker Rubyの開発に関しては、大勢の人が心のどこかで何かおかしい、何かが欠けていると思っているようですが、たいていの人は責める対象を間違っています。Rubyで書いたアプリがとんでもない代物になったって? それはあなたがきちんとテストコードを書かなかったか、テスト駆動開発(TDD)の指針に則って開発しなかったからです。もしくは、正しいデザインパターンに切り分けるための知識が不足してい

    Rubyにはウンザリ!動的型付け、副作用、およびオブジェクト指向プログラミング全般からの考察 | POSTD
  • Webサービスのプログラミングに必要なことのだいたいは、スクレイピングに学んだ - Line 1: Error: Invalid Blog('by Esehara' )

    この記事を読み始める前に Rubyでやるんだったら、ちょうどそういうが出ているから、その買えばいいのではないでしょうか。 Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例 作者: るびきち,佐々木拓郎出版社/メーカー: SBクリエイティブ発売日: 2014/08/25メディア: 大型この商品を含むブログ (1件) を見る はじめに プログラミングを勉強し始めて、だいたい基礎的な文法を覚えたあとに、次に何をしようかな、と悩む人も結構多いみたいで、明確に「これを作りたい」という場合は、それを作ればいいとは思うんですけど、場合によっては、別段作りたいものが無く、漠然としたプログラミングをしたい、という熱意によって勉強しているという人もいるのではないかと思います。 で、もちろん「作りたいものがないのに、プログラミング勉強してどうするの」という意見もあるかとは思いますが、往

    Webサービスのプログラミングに必要なことのだいたいは、スクレイピングに学んだ - Line 1: Error: Invalid Blog('by Esehara' )
  • ニートが1週間でアイデア共有サービスをつくったときの記録 - kamiのサービス制作ログ

    こんにちは、どうしようもないニート無職の@kami30kです。 ここ最近つくっていたサービスをようやくリリースしたので、作業ログ的な記事を書いてみます。 なにをつくったか 今回つくったのは、HIRAMEKI CAFEというサービスのアイデア共有サービスです。 KPT LOG、SHOMEI DESIGNにつづいて自身3つめのサービスとなります。 サービスのアイデア共有コミュニティ HIRAMEKI CAFE 簡単に説明すると、知っている人は多い(と思う)ideamiのようなサービスです。 ぼくはこのサービスがとても好きだったのですが、最近あまり使われていないようで、とはいえサービス自体のニーズはあると思うので、今回サクッとつくってみました。 機能自体はとてもシンプルで、 Twitterで認証する アイデアを投稿する グッド(いいね!のようなもの)、コメントなどをつけてもりあがる だけのサービ

    ニートが1週間でアイデア共有サービスをつくったときの記録 - kamiのサービス制作ログ
    mirie0908
    mirie0908 2014/06/13
    ちょっとホンマにこれ無職ニートの仕事?さらりと、でもかなり凄いと思うけど。
  • ツールを使いたいだけの人のための bundler 入門 (例: vagrant + veewee) - Qiita

    目次 なぜ bundler? ruby を入れておく rubygems を入れておく bundler を入れておく Gemfile を作る bundle install で gem をインストールする bundle exec で使う まとめ bundle update で更新する bundle clean で古い gem を削除する 0. なぜ bundler? 普通に gem install veewee でインストールしようとすると、依存関係の解決で出来るだけ最新を入れようとするだけで、うまく試行錯誤してくれず、うまく解決出来ない状態になると Gem::DependencyError で諦めてしまいます。 たとえば今最新の veewee をインストールしようとすると以下のように失敗します。 % gem install veewee ERROR: While executing gem

    ツールを使いたいだけの人のための bundler 入門 (例: vagrant + veewee) - Qiita