タグ

Rubyとrubyに関するtm8rのブックマーク (41)

  • Javaエンジニアが、Rubyを始めてみて受けた衝撃 - Money Forward Developers Blog

    エンジニアの中出です。 私は元々、C/C++Java等のコンパイラ型言語をこれまで扱ってきましたが、マネーフォワードに入って、ついにRuby(Ruby on Rails)に触れる機会を頂きました。 Ruby on Railsの学習を始めてまだ2ヶ月弱なのですが、すでに色々な学びがありました。 今回はその中でも言語としてのrubyについて、今更ながら衝撃を受けたことを書きたいと思います。 1. 当にすべてオブジェクト rubyは紛れもなくオブジェクト指向なプログラミング言語です。 一般的にオブジェクト指向な言語では処理や操作の対象をオブジェクトとして扱おうとし、すべてがオブジェクトとして扱える世界を善しとする文化があります。というよりそれがオブジェクト指向と言えます。 一方、多くのオブジェクト指向な言語においても数値等のデータ型はオブジェクトして扱わない事が多いと思います。 javaであ

    Javaエンジニアが、Rubyを始めてみて受けた衝撃 - Money Forward Developers Blog
    tm8r
    tm8r 2015/04/10
  • Railsが時代に合わなくなってきた

    追記 RailsでJS辛い問題に関しての結論:http://qiita.com/kaiinui@github/items/dad6180f1910c6a4bfd5 -- 近年、(1) Web/App両対応が増えてきたこと、(2) WebでもJSを多用するようになったこと、の二つがあり、以下の点でRailsが微妙になっている。 ViewのJavascriptRailsから独立している API層のサポートが微妙 最初に書いておきますが、特に決定的な解決策もなく、辛いから今後解消されてほしいよね、な話です。 ViewのJavascriptRailsから独立している Railsはとても堅牢。 モデル、コントローラ、ルーティングと、変にいじらない限りはほとんどテストが要らない。 必要なのは、モデルに新たにpublicメソッドを付けたときくらいだろう。 実際、バックエンドはそうそうバグが出ない。

    Railsが時代に合わなくなってきた
    tm8r
    tm8r 2015/04/07
  • Railsアプリやgem作る時にいつも入れているgem一覧 - くりにっき

    id:joker1007 さんに触発されました。 Ginza.rb 21回の発表資料。rails_adminのつらみとオススメgem達。 1年間で10個以上アプリやgemを作っている中でよく使うgemをまとめてみます Railsアプリ(rails new した直後に必ず入れる) annotate https://github.com/ctran/annotate_models modelのソースの先頭にテーブルのスキーマ情報を付加してくれるgem。いちいちschema.rbを見に行く必要がなくなるので超ベンリ こんな感じ # == Schema Information # # Table name: plugins # # id :integer not null, primary key # name :string # title :string # version :string #

    Railsアプリやgem作る時にいつも入れているgem一覧 - くりにっき
    tm8r
    tm8r 2015/03/30
  • utf8_unicode_ci に対する日本の開発者の見解 - かみぽわーる

    RailsMySQLのcollationをサーバー側のデフォルトのutf8_general_ciからutf8_unicode_ciにわざわざ変えてるのどうせ大した理由じゃないだろと思って掘ってみたらやっぱり大した理由じゃなかった… https://t.co/6NeetGhTF0— Ryuta Kamizono (@kamipo) April 18, 2014 Railsでcollationとしてutf8_unicode_ci(RailsのDEFAULT_COLLATION)が採用されるのはcharsetが未指定もしくはutf8(RailsのDEFAULT_CHARSET)のときだけで、utf8mb4にすることとかは全く考慮されてない。— Ryuta Kamizono (@kamipo) April 19, 2014 @frsyuki MySQLのcharset utf8のときのデフォルト

    utf8_unicode_ci に対する日本の開発者の見解 - かみぽわーる
  • Mac Yosemite Rails最新環境詳解構築手順 [Homebrew][rbenv][Ruby]

    遅まきながら、Mac YosemiteにRailsのモダンな開発環境を構築するまでの一連の手順をまとめました。 開発環境には好みがあると思いますが、Macを新しく買ったり、OSを再インストールした時などは良かったら使ってください! 🎃 XcodeのインストールXCode Mac App StoreからXcodeをインストール。 必須ではないかもですが、コマンドラインからのライセンスの同意。

    Mac Yosemite Rails最新環境詳解構築手順 [Homebrew][rbenv][Ruby]
    tm8r
    tm8r 2015/02/27
  • RubyのThread、Fiber、Kernel、forkで並列処理やプロセスの深淵へ

    連載目次 前回の「RubyのFile/IOクラスで入力と出力、ファイルの読み取りと書き込み、フィルター作成」では、データの入出力について解説しました。連載第11回に当たる今回は、スレッド、ファイバー、プロセスといったトピックについて解説します。 ThreadクラスやFiberクラスを使うことで、Rubyでも並列処理を記述することが可能です。また、前回紹介したIOクラスを使うことで、Rubyプログラムからプロセスを生成して入出力を行えます。 さまざまなプログラミング言語では並列処理のための仕組みが使えるようになっています。もちろんRubyも例外ではなく、ThreadクラスやFiberクラスを使って並列プログラムを書くことができます。 また、RubyからOS固有のコマンドを別のプロセスとして実行したり、自分自身をfork(フォーク)して別プロセスとしてRubyプログラムを実行したりすることがで

    RubyのThread、Fiber、Kernel、forkで並列処理やプロセスの深淵へ
    tm8r
    tm8r 2014/12/16
  • ドリコムを支える中間ポイントシステム - くりにっき

    はじめに これは ドリコムAdventCalendar の1日目です はじめに 1日目:ドリコムを支える中間ポイントシステム 一応自己紹介 プリキュアおじさん 嫁はキュアピース 開発の背景 ソーシャルゲーム歴史 中間ポイントについて 前受金と資金決済法について 有償ポイントと無償ポイント 複雑な売上計算 ドリコムの中間ポイントシステム(dpoint)について 自分の役割 重要なこと dpointが導入されているアプリ 課金フロー iTunesでの中間ポイント購入 GooglePlayでの中間ポイント購入 ポイント消費 dpointのリリースノート gemのボリューム date_discreterというgemを作りました どういうgem? 月の歯抜けを調べる 日の歯抜けを調べる 時間の歯抜けを調べる dpoint改修時のつらみ DBのスキーマ変更する場合は導入してるアプリ全部での影響を調べ

    ドリコムを支える中間ポイントシステム - くりにっき
    tm8r
    tm8r 2014/12/01
  • Mobage を支える Ruby の技術 ~ 複数DB編 ~ : sonots:blog

    Mobage を支える Ruby の技術 ~ 複数DB編 ~ : sonots:blog
  • 革命的に速いRubyアプリケーション・サーバー「Raptor」リリースへ | ソフトアンテナ

    革命的に速いとされるRuby用の新しいアプリケーション・サーバー「Raptor」のサイトが公開され期待を煽っています(Hacker News)。 公式サイトによると、RaptorはRailsやSinatraなどを動かすための新しいアプリケーション・サーバー。最適化されたHTTPエンジンにより従来のアプリケーションサーバーと比較して高速に動作し、Unicornの最大4倍、PumaとTorqueboxの最大2倍の速度で動作するとのこと。 現在まだ何もダウンロードできるものは公開されたおらず、パブリックベータ版のリリース日は2014年11月25日に設定されています。メールアドレスを登録しておくと、状態が更新されるか、あるいは第三者のレビューが公開されたときなどにメールで連絡してくれるようなので気になった方は登録してみてはいかがでしょうか。 ちなみに誰が開発されているかということに関しても「We

    革命的に速いRubyアプリケーション・サーバー「Raptor」リリースへ | ソフトアンテナ
    tm8r
    tm8r 2014/10/23
  • 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
    tm8r
    tm8r 2014/09/08
  • RailsでAPIをつくるときのエラー処理 - Qiita

    例外を利用して実装すると便利な場合が多い この投稿では、HTTP経由でJSONを返すようなWeb APIRailsを利用して実装するとき、エラーレスポンスを返す場合の処理をどう実装するとやりやすいのか、というニッチな話題に触れる。APIでエラーを返したいとき、即ち400以上のステータスコードと共にレスポンスを返したいような場合、どう実装するのが良いか。もしリクエストの処理中にエラーが検出された場合、それ以降の処理を行わずに直ちに中断してエラーレスポンスを返したいという場合が多いため、例外を利用して実装すると便利な場合が多い。 例外を利用しない方が良い場合もある 1つのリクエストに複数の問題が含まれている場合、先に見つけた問題だけを報告するようなエラーレスポンスを返すのか、それとも問題を抱えながらも進めるところまで処理を進めて報告可能な情報を全て含むようなエラーレスポンスを返すのか、という

    RailsでAPIをつくるときのエラー処理 - Qiita
  • VoiceText Web APIで遊ぶ - ただのにっき(2014-07-09)

    ■ VoiceText Web APIで遊ぶ 昼すぎあたりからTwitterでVoiceTextという文字列をみかけるようになって、見てみたらVoiceText Web APIというのが公開されていた。(TV見ないのでよくしらないけど)「モヤモヤさまぁ~ず」内で使われているのと同じ合成音声エンジンのAPIらしい。開発にえにしテックが協力してるのでおれのTLに流れてきたんだな。 以前さとうささらを職場内で使ったけど、聴覚は上手に使うといいアテンションになるのでこういう自由度の大きなサービスは嬉しいね。VoiceTextでもさっそく遊んでみたけど、APIはシンプルで使いやすいし、声や感情も数種類から選べて組み合わせられるので、けっこう使える。文中の促音が消えてしまうことがあったり、疑問形の語尾上げが足らない感じはあるけど、まぁまぁ聞き取りやすいし実用にはさしつかえない。 サンプルにあるようにc

  • ブックマーク必須、Ruby関連の厳選リンク集「Awesome Ruby」 | ソフトアンテナ

    今の時代、Googleで検索するだけでたくさんの情報をみつけることができますが、見つかった情報が当に価値がある情報なのかどうか、限られた時間で見極めるのはなかなか大変なことだと思います。 そのような時に利用したいのがキューレーションリスト。「Awesome Ruby」はRuby関連ライブラリやリソースへの厳選されたリンク集で、用途ごとに定番情報へのリンクが張られているので、ざっと概略を知りたいときに役に立ちそうです。 例えば、ファイルアップロードでは、環境構築ツールではrvmとrbenvが、ファイルアップロードではpaperclip、carrierwave、dragonflyなどのライブラリの名前が挙げられていて、このチョイスは誰もが納得するところではないでしょうか。 Ruby用だけではなく、GoPHPPython用のリンク集もあるようですのでこちらもどうぞ。 awsome-go /

    ブックマーク必須、Ruby関連の厳選リンク集「Awesome Ruby」 | ソフトアンテナ
    tm8r
    tm8r 2014/07/10
  • ニートが1週間でアイデア共有サービスをつくったときの記録 - kamiのサービス制作ログ

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

    ニートが1週間でアイデア共有サービスをつくったときの記録 - kamiのサービス制作ログ
    tm8r
    tm8r 2014/06/13
  • Rails Hub : Ruby on Rails開発者のための技術情報フォーラム - @IT

    政府の新たな成長戦略の中で小学校の「プログラミング教育」を必修化し2020年度に開始することが発表され多くの議論を生んでいる。特集では、さまざまな有識者にその要点を聞いていく。今回は、プログラミングの考え方を身に付けられる絵『ルビィのぼうけん』に関するワークショップイベントの模様をお伝えする。(2016年8月10日)

    tm8r
    tm8r 2014/06/04
  • 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を制す(嘘)
    tm8r
    tm8r 2014/04/30
  • ScaleOut | Supership

    2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 件に関する詳細は、プレスリリースをご確認ください。

    ScaleOut | Supership
  • ユーザ登録・API 認証の仕組みを Rails で実現する - ボクココ

    スマホアプリから会員の新規登録、ログインが両方できるようにAPIを作成中。ようやく自前でアクセストークンを作ってOAuth認証が出来たのでまとめておく。 まず何がしたいか? スマホアプリでAPI認証ができるように、OAuthを自前で作成したい。 -> スマホアプリ側ではユーザ名とパスワードを入力すればトークンが取って来れて、そのトークンで各APIにアクセスすればユーザ固有の情報が取って来れるようになる仕組みを作る。 スマホアプリ側でユーザ作成も出来るようにしたい。 -> APIでユーザが作れるようにする。もちろんhttps前提。 環境 gemfile ruby '2.0.0' gem 'rails', '4.0.0' gem 'rails-api' gem 'active_model_serializers' gem 'mongoid', '4.0.0.alpha1' gem "moped

    ユーザ登録・API 認証の仕組みを Rails で実現する - ボクココ
  • Ruby と Rails を覚えるために約1ヶ月半でやったこと - takatoshiono's blog

    仕事Rails を使ったサービスを担当し始めて約1ヶ月半、RubyRails にもだいぶ慣れてきたので、ここまでどうやって勉強してきたか書いておこうと思います。いや、まだ初心者もいいところなのですが、そのうち忘れてしまって今しか書けなそうなので、書いておきます。 とはいえ、こういう情報は時間の経過と共に意味のないものになってしまいがちなので、なるべく時間に左右されない質的なことを織り交ぜながら書いていきたいと思います。 irb(main):002:0> Date.new(2014,4,4) - Date.new(2014,2,19) => (44/1) 当時の知識 パーフェクト Ruby を途中まで読んだ Ruby on Rails Tutorial の Chapter 4 Rails-flavored Ruby をやっていた という程度。 パーフェクトRuby (PERFEC

    Ruby と Rails を覚えるために約1ヶ月半でやったこと - takatoshiono's blog
    tm8r
    tm8r 2014/04/09
  • 分散テスト実行システムRRRSpecをリリースしました - クックパッド開発者ブログ

    技術部アルバイトの鈴木(@draftcode)です。 クックパッドが内部向けに開発・運用を行ってきた、分散テスト実行システムRRRSpecをオープンソースとして公開しました。RRRSpecは時間のかかる自動テストを分散処理することで、全体のテスト時間の短縮を狙うアプリケーションです。現在クックパッドでは17000を超えるテスト項目があり、マシン一台でテストを実行すると完了まで数時間かかります。このテストを60並列程度の分散処理で行うことで、平均8分から9分程度で完了できるようになりました。また、Amazon EC2のスポットインスタンスを利用することにより、大幅なコスト削減も同時に達成しました。 https://github.com/cookpad/rrrspec 分散テスト実行とは アプリケーションが大きくなるにつれて、自動テストの数も大きくなっていきます。クックパッドでは、非常に多くの

    分散テスト実行システムRRRSpecをリリースしました - クックパッド開発者ブログ
    tm8r
    tm8r 2014/03/24