タグ

rubyに関するkasedacのブックマーク (57)

  • bundle gemは何をしてくれるのか? - ザリガニが見ていた...。

    必要最小のgemパッケージの作り方は大体理解できた。 rubyコードをlib/とbin/に振り分けて、 .gemspecファイルに設定を記述して、 gem build、gem installしてテスト、 問題なければgem pushで公開。 とっても簡単である。 初回のみ.gemspecファイルの追加とRubyGems.orgへの登録が必要だが、手間はかからない。 一旦公開してしまえば、コード修正して、gem build、gem install、gem pushの繰り返しだ。 これ以上何を求めてbundlerを使うのか?探ってみた。 bundle gemが生成するもの sampleという名のgemプロジェクトを始めてみる。 $ bundle gem sample create sample/Gemfile create sample/Rakefile create sample/LICEN

    bundle gemは何をしてくれるのか? - ザリガニが見ていた...。
  • bundlerでgemバージョンを束ねる - ザリガニが見ていた...。

    Rails1.1.6の環境でどうにかscaffoldはできるようになった。その時の実行環境は以下の状態だった。 $ rbenv version 1.8.7-p375 (set by /Users/zari/.rbenv/version) $ gem list *** LOCAL GEMS *** actionmailer (1.2.5) actionpack (1.12.5) actionwebservice (1.1.6) activerecord (1.14.4) activesupport (1.3.1) rails (1.1.6) rake (0.7.1) sqlite3 (1.3.10) この実行環境というのは非常にデリケートである。 例えば、今の時代にRails-1.1.6を�gemに従うままにインストールすると、最新のRake-10.3.2がインストールされる。 しかし、Ra

    bundlerでgemバージョンを束ねる - ザリガニが見ていた...。
  • プロンプトにRubyのバージョンを表示したい - ザリガニが見ていた...。

    rbenvによって、Rubyバージョンは素早く、簡単に切り替えられるようになった。 すると、作業中にいったい自分はどのRuby環境にいるのか、見失ってしまうことがある...。 そうならないように、コマンドプロンプトにRubyのバージョンを表示しておきたい。 やってみた。 プロンプト Rubyバージョンの由来を調べて(rbenvのglobal・local・shellのどれか) systemの場合は、ruby -vのバージョンを使う。 __ruby_ps1() { if [ -e "$HOME/.rbenv" ] ; then if [ "$RBENV_VERSION" != "" ]; then rbenv_scope="shell" else if [ -e ".ruby-version" ]; then rbenv_scope="local" else rbenv_scope="glob

    プロンプトにRubyのバージョンを表示したい - ザリガニが見ていた...。
  • rbenvは何をしているのか? - ザリガニが見ていた...。

    ~/.rbenv/以下に複数のRubyバージョンをインストールして、それぞれのRuby環境を切り替える仕組みを提供する。 ~/.rbenv/ (rbenvがRubyを管理するルートフォルダ) ~/.rbenv/shims/ (rubyやgemがインストールするコマンドへのラッパーを保存しておくフォルダ) ~/.rbenv/version (global環境のRubyバージョンを記録するファイル) ~/.rbenv/versions/ (Rubyの各種バージョンをインストールするフォルダ) Ruby環境の構造 例えば、rbenvがインストールしたRuby-1.8.7-p375は、以下のような構造となっている。 ~/.rbenv/versions/1.8.7-p375/bin/(実行コマンドを含む:erb gem irb rake rdoc ri ruby testrb) ~/.rbenv/v

    rbenvは何をしているのか? - ザリガニが見ていた...。
  • Rubyコードの健康を保つためのgem 5+1選 - Money Forward Developers Blog

    こんにちは、Railsエンジニアの鈴木(信)です。 先日31歳になったんですが、やはり30歳を超えたあたりから衰えたというか、何か体に変化があったように思います。 自身の健康はもちろんですが、コードの健康(品質)のことも気になる年頃になりました。 そこで今回は弊社で利用しているコード解析ツールをご紹介します。 brakeman - セキュリティ brakemanは、簡単なXSSやインジェクション系の脆弱性を検出してくれるgemです。 もちろんこれだけで完全に安心という訳ではありませんが、弊社ではJenkinsのBrakeman Pluginを使って、継続的にモニタリング、修正しています。 使い方 $ brakeman $ brakeman --only-files=path/to/specific_file simplecov - テストカバレッジ simplecovはカバレッジ計測ツール

    Rubyコードの健康を保つためのgem 5+1選 - Money Forward Developers Blog
  • 最近の rbenv (2014-04)

  • RubyGems.orgで公開する手順 - ザリガニが見ていた...。

    前回からの続き。 gemコマンドは、.gemファイルを元に、gemが管理する階層にライブラリやコマンドをインストールする。 前回手順7で試したとおり、.gemファイルさえあれば、それがどこにあってもインストールは可能なのだ。 但し、そのためには.gemファイルの正確なパスを知っている必要がある。 一方、gemコマンドの醍醐味は、.gemファイルがどこにあるか?なんて気にせずに、gem install jpdateで素早くインストールできてしまう所にある。 �gemコマンドは https://rubygems.org で公開されているgemを探しに行って、同じ名前のgemが見つかれば、それをインストールしようとしている。 RubyGems.orgに.gemファイルを登録しておけば、苦労最小のgem install jpdateでインストールが可能になるのだ。(憧れる) 以下は、jpdateを

    RubyGems.orgで公開する手順 - ザリガニが見ていた...。
  • 日本の祝日もちゃんと表示するjcalコマンドを作ろう - ザリガニが見ていた...。

    紙に印刷して使う目的なら、表計算アプリのカレンダーはけっこう使えるのだけど、画面で素早く確認したい時には、ちょっと仰々し過ぎる。特にターミナルで作業している時などは、そのままコマンドラインから素早くカレンダーを表示したい欲求がある。calコマンドはあるのだけど、日の祝日は表示されない...。 ならば、日の祝日もちゃんと表示するjcalコマンドを作ってみよう!と思い立った。 外部からのカレンダー情報に頼らずに、祝日もちゃんと自力で計算して、jcalコマンドの中のみで完結するようにしたい。 1900年から2099年までのカレンダー出力に対応したい。 作業環境 OSX 10.9.4 ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13] 祝日情報 外部からのカレンダー情報に頼らないので、まずは日の祝日をル

    日本の祝日もちゃんと表示するjcalコマンドを作ろう - ザリガニが見ていた...。
  • ブロックとProcの世界 - ザリガニが見ていた...。

    Rubyの世界はブロックとProcで溢れている。だのになぜ、自分はそれに精通できないのか?Symbol#to_procとか、関数型Rubyとか、そんな発想は自分には到底できそうもない。そればかりか、自分の頭の中はRuby1.8で止まっている。その状態では、Ruby1.9以降に追加された新たな記法が、謎の記号に見えてしまう...。 発想はできないけど、そうゆうコードを読んで感動できる読解力は持ち続けたい。調べてみた。 環境 MacBook Pro Retina15 OSX1 0.9.2 irb(main):001:0> RUBY_VERSION => "2.0.0" $ ruby -v ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13] ブロックとは何か? do ... end、あるいは{ ... }で

    ブロックとProcの世界 - ザリガニが見ていた...。
  • 必要最小の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の作り方とインストール - ザリガニが見ていた...。
    kasedac
    kasedac 2014/10/16
    "現在Webを検索すると、bundlerを使った方法が多く紹介されていた…その手順を雛形として覚えれば用は足りるのだけど、もっと基本的な所からちゃんと知っておきたい”
  • 日本語が使えるirbにしておく - ザリガニが見ていた...。

    OSXに標準インストールされているirbは、残念ながら日語が文字化けする。Rubyの方は標準で日語が使えるようになったのに、何故なんだ? 調べてみると、Ruby自体の日語処理には問題ないのだけど、irbがコマンド入力を受け取る際に使っているライブラリ(libedit)が日語に対応していないのが原因らしい。解決策は、日語対応のライブラリ(readline)に切り替えること。 日語が使えない環境 irbは、"readline"をrequireして、コマンド入力ライブラリを利用している。 requireした"readline"はどこにあるのか? irbを起動して、以下のコマンドを入力してみる。 $ irb irb(main):001:0> puts $LOADED_FEATURES.grep /readline/ /System/Library/Frameworks/Ruby.fra

    日本語が使えるirbにしておく - ザリガニが見ていた...。
    kasedac
    kasedac 2014/09/24
    "OSXに標準インストールされているirbは、残念ながら日本語が文字化けする…irbがコマンド入力を受け取る際に使っているライブラリ(libedit)が日本語に対応していないのが原因…(readline)に切り替える"
  • wri.pe - OSS化されたMarkdownベースのメモアプリケーション MOONGIFT

    個人的にもよく使っているwri.peがオープンソース化されました!Ruby on Railsで作られており、家はHerokuで動作しているなど自前でWebベースのメモ環境を作るのがとても手軽になりそうです。 ということで早速触ってみましょう。Web APIのトークン設定をすればすぐに動かせます。 wri.peの使い方 トップページです。見たまま家のwri.peそっくりです。 ログインしました。早速メモを作ってみましょう。 右側にプレビューもあって分かりやすいですね。 カレンダー。メモを作った日付が分かります。 検索はSolrを使っており日語も対応しています。 バックアップはEvernote、Dropboxにできます。 殆どの機能がJSON出力に対応していたり、iCalでの出力や多数のWeb API、OAuth対応がされているなど今風のWebサービスを作るのに参考になる点が多いと思いま

    wri.pe - OSS化されたMarkdownベースのメモアプリケーション MOONGIFT
    kasedac
    kasedac 2014/09/05
    "Ruby on Railsで作られており、本家はHerokuで動作している"
  • OptionParser底力+ARGFを使ったコマンド作り - ザリガニが見ていた...。

    前回からの続き。マニュアルがあるのだから、ちゃんと読めばそこにすべてが書かれているのだけど、自分はマニュアルを読むのが苦手。それよりもサンプルコードを実行して、その結果を体感しながら覚える方が好き。自分にとってはそうやって覚えた方が、忘れずに記憶が後々まで残るのだ。 RubyのOptionParserの底力を知る - ザリガニが見ていた...。 RubyのOptionParserの使い方は、大体分かった。すると便利な機能を知った後では、以前のコードがずいぶん無駄な努力をしているように思えてくる。もっと楽して、もっと使いやすいコマンドに仕上げるのだ。 サンプルコード(悪い例) 以下のコードは、以前作ったコマンドのRubyコードである。 Closure Compilerを利用してJavaScriptを圧縮・整形する。 #!/usr/bin/ruby require 'optparse' req

    OptionParser底力+ARGFを使ったコマンド作り - ザリガニが見ていた...。
  • RubyのOptionParserの底力を知る - ザリガニが見ていた...。

    コマンドは、以下のような書式でオプションと引数を設定して、実行する仕組みになっている。 例: コマンド名 オプション オプション オプション引数 オプション コマンド引数 optparser_test.rb -a -b VALUE --foo FILE_PATH 実際にコマンドを作ろうとすると、オプションの解析には手間がかかると気付く。 そのため、多くの言語環境にはオプション解析用のライブラリが用意されている。 Rubyのoptparserについて、基的な使い方は知っているつもりだったが... Rubyでコマンドの中身を作るまで - ザリガニが見ていた...。 ちょっと気の利いたコマンドにしようとすると、その使い方は謎だらけになった。 どうしたら苦労最小限でオプションを解析できるのか、調べてみた。 基 require 'optparse' OptionParser.new do |op

    RubyのOptionParserの底力を知る - ザリガニが見ていた...。
  • Matz氏語る「今ソフトウェアはソフトじゃない」 - Engine Yard Blog

    先日Rubyビジネス推進評議会主催の第3回Rubyビジネスフォーラムが大阪で開催されました。 Ruby言語開発者、まつもとゆきひろさんが、『インターネットが変えるソフトウェアとビジネス。Rubyを例として』と題した基調講演を行いまいした。 その内容を紹介します。 計算機としてのコンピューター IBMの初代社長トーマス・ジョン・ワトソンの有名な言葉に、「コンピューターは全世界で5台くらいしか売れないと思う」と言ったとされています。 その数字は当時の計算技師の人数とENIACの計算性能から導かれた数でした。 ところが、今ではその数百万倍の処理能力をもつコンピューターが何億台もあります。 去年だけでPC出荷台数は3億台。スマートフォンとタブレットはそれを超える出荷がされています。 コンピューターは計算機としてのみ使われているわけではありません。 インターネットとの接続 今日、大阪まで松江から飛行

    Matz氏語る「今ソフトウェアはソフトじゃない」 - Engine Yard Blog
    kasedac
    kasedac 2014/07/24
    "ソフトウェアには建築ほど、物理的限界がありません。 それはソフトウェアの複雑さにつながり、複雑さは依存関係を産みます。 その結果、変化に弱くソフトウェアはソフトじゃなくなっているのです"
  • Mac OSX 10.9(Mavericks)で最新のPythonとRubyとPerlが手軽に使える環境を構築する(pyenv+virturlenv,rbenv+gemset,plenv+pmset)

    Mac OSX 10.9(Mavericks)で最新のPythonRubyPerlが手軽に使える環境を構築する(pyenv+virturlenv,rbenv+gemset,plenv+pmset) 2014/01/09 技術ネタ HomeBrew, MacOSX, python, rbenv, Ruby pyenv+virturlenv & rbenv+gemset & plenv+pmset 環境構築忘備録 年末に新しいMacBook Pro 13inch Retinaを導入しました。 最初にやった事はGoogle Chromeのインストールとお気に入りの同期、次にやった事はGoogle Driveとの同期でした。 生活がGoogle先生に侵されていると感じている今日この頃ですが、その次にやった事は開発環境の環境の構築でした。 クラウドサービスの活躍でデータ同期の手軽さは進むものの

    Mac OSX 10.9(Mavericks)で最新のPythonとRubyとPerlが手軽に使える環境を構築する(pyenv+virturlenv,rbenv+gemset,plenv+pmset)
    kasedac
    kasedac 2014/05/27
    "今回は最近流行り(?)の xxenv 系を使って、最新版のPythonとRubyとPerlを手軽に利用出来 、 なおかつ Pakage や gem 、 CPAN と言った各言語向けパケージを環境毎にグループ化も出来る環境構築を紹介します"
  • 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 この記事について この記事は、新人向けの研修内容を再編集してお送りします。 この記事の内

    新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 - Qiita
  • rubypressでWordPressの情報をRubyから操作する | mah365

    そろそろこのブログも投稿数が増えてきたので、カテゴリを整理した方が良いかなと思い始めてきました。というのも、昔の記事にアクセスしようと思ってもなかなか上手く辿り着けない。書いてる人が辿り着けないレベルです。これはSEO的にも最悪だよなーと思い、ちょっと整理してみようと思った訳です。 で、全体的にどんな記事があるのか知りたいのでWordPressの投稿一覧を見てみるわけですが、いろいろプラグインを入れているせいかタイトルの視認性が良くないです。むしろExcelっぽい感じで見たい。むしろExcelで見たい。 そんな訳でWordPressの情報を引っこ抜く手段を探していたところで、rubypressと出会ったのでした。 WordPress meets rubypress rubypressというGemを使うとWordPressの情報にRubyから簡単にアクセスすることができます。XML-RPC

    rubypressでWordPressの情報をRubyから操作する | mah365
    kasedac
    kasedac 2014/03/16
    "rubypressというGemを使うとWordPressの情報にRubyから簡単にアクセスすることができます。XML-RPC APIに列挙されているAPIは一通り使える"
  • NHK 番組表 API を触る為の Ruby クライアント作った - Kōenji

    NHK 番組表 API が公開されたので RubyAPI ライブラリを作った インストール 下記コマンドでインストール出来る gem install nhk_program 使い方 こんな感じで使える client = NHKProgram.new(api_key: 'YOUR_API_KEY') # 明日のNHK総合1の番組表取得 data = client.list('130', 'g1', Date.today + 1) # 違う書き方 # data = client.list('東京', 'NHK総合1', :tomorrow) data.list.g1.each do |program| # 何かする end # 明日のNHK総合1のアニメの番組表取得 data = client.genre('130', 'g1', '0700', Date.today + 1) # 違う

    NHK 番組表 API を触る為の Ruby クライアント作った - Kōenji
  • Radikoを予約録音する WEB-UI。作ったよ - それマグで!

    (radiko-lockon画面) ソース https://github.com/takuya/radiko-lock-on これはなに? ・Radikoの番組表して予約 ・番組始まると、録音開始。 ・録音終わるとMp3に変換。 ・ブラウザで聞けます。 これから作る予定。 ・いますぐ録音 ・キーワード予約 ・ポッドキャスト作成 ・過去番組表の閲覧 ・明日の番組表の閲覧 ・番組情報のMp3埋め込み ・番組表に番組情報を表示 ・Radikoプレイヤー ・らじるらじる対応 ・Radikoの広告を代理表示 使い方 番組表から選ぶだけ。 (番組表から番組を選び) 番組を選びます (番組表から選ぶ) 予約できたら背景色が変わります。 (予約できたらピンクに) これを使うのに、必要なもの rtmpdump 2.4 ffmpeg swftools(swfextract) ruby/ rubygems si

    Radikoを予約録音する WEB-UI。作ったよ - それマグで!
    kasedac
    kasedac 2014/02/04
    "Radikoの番組表して予約…録音終わるとMp3に変換…ブラウザで聞けます"