Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
はじめに RSpecは難しい、よくわからない、といったコメントをときどき見かけます。 確かにちょっと独特な構文を持っていますし、機能も結構多いので「難しそう」と感じてしまう気持ちもわかります。 (構文については僕も最初見たときに「うげっ、なんか気持ちわるっ」と思った記憶がありますw) しかし、RSpecに限らずどんなフレームワークでも同じですが、慣れてしまえばスラスラ書けますし、実際僕自身は「RSpecって便利だな-」と思いながらテストコードを書いています。 そこでこの記事では、僕が考える「最低限ここだけを押さえていれば大丈夫!!」なRSpecの構文や、僕が普段よく使う便利な機能をまとめてみます。 具体的には以下のような構文や機能です。 describe / it / expect の役割 ネストした describe context の使い方 before の使い方 let / let!
inspect -> String[permalink][rdoc][edit] オブジェクトを人間が読める形式に変換した文字列を返します。 組み込み関数 Kernel.#p は、このメソッドの結果を使用してオブジェクトを表示します。 [ 1, 2, 3..4, 'five' ].inspect # => "[1, 2, 3..4, \"five\"]" Time.new.inspect # => "2008-03-08 19:43:39 +0900" inspect メソッドをオーバーライドしなかった場合、クラス名とインスタンス変数の名前、値の組を元にした文字列を返します。 class Foo end Foo.new.inspect # => "#<Foo:0x0300c868>" class Bar def initialize @bar = 1 end end Bar.new.ins
collect -> Enumerator[permalink][rdoc][edit] map -> Enumerator collect {|item| ... } -> [object] map {|item| ... } -> [object] 各要素に対してブロックを評価した結果を全て含む配列を返します。 ブロックを省略した場合は Enumerator を返します。 例 # すべて 3 倍にした配列を返す p (1..3).map {|n| n * 3 } # => [3, 6, 9] p (1..3).collect { "cat" } # => ["cat", "cat", "cat"] [SEE_ALSO] Hash#to_h, Array#collect, Array#map
推薦の言葉 私が前にいた会社 (CD Baby) は、かなり早い段階でRuby on Railsに乗り換えたのですが、またPHPに戻ってしまいました (詳細は私の名前をGoogleで検索してみてください)。そんな私ですが、Michael Hartl 氏の本を強く勧められたので、その本を使ってもう一度試してみた結果、今度は無事に Rails に乗り換えることができました。それがこの Ruby on Rails チュートリアルという本です。 私は多くの Rails 関連の本を参考にしてきましたが、真の決定版と呼べるものは本書をおいて他にありません。本書では、あらゆる手順が「Rails 流」で行われています。最初のうちは慣れるまでに時間がかかりましたが、この本を終えた今、ついにこれこそが自然な方式だと感じられるまでになりました。また、本書は Rails 関連の本の中で唯一、多くのプロが推奨するテ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 株式会社LITALICOでWebエンジニア(Rails)を担当しています、@YudaiTsukamotoです。 この記事は『LITALICO Advent Calendar 2016』21日目の記事です。 はじめに 業務なり趣味なりでプログラミングを学習していくと、技術書を読む機会が誰しも有るのではないでしょうか? 初心者や、新人プログラマの時は、対象となる無数の技術書の中から自分にとって良い技術書を探す事は中々難しいのかなと思います。 技術書を選定する基準はいくつか有ると思いますが 「他人がオススメしている」 という選定軸はそれなりに
表示速度の高速化が趣味のzaruです。こんにちは。今回はRuby on Railsで作られた弊社Webサービスの表示速度を約5倍ほど速くしたので、何をしたのかをまとめました。Railsの高速化手法はいたるところで語られていますが、気にせず行きます。 前提や結果など アーキテクチャとしてはわりと一般的な AWS ELB -> nginx -> Unicorn / MongoDB という構成です。 |改善前|改善後 ---|---|--- Ruby|2.1|2.3 Rails|4.1|- MongoDB|2.6|3.2 Redis|2.4|3.2 Ruby・MongoDB・Redisのバージョンアップ、Railsもバージョンアップしたかったけど依存ライブラリの関係で据え置きになりました。 |改善前|改善後 ---|---|--- ページ読み込み速度|8.49sec|1.69sec 秒間リクエス
最近、Rails界隈でDocker使い始めました、という話を聞く機会が増えてきたので、自分が開発環境整備用に構築したDockerの設定をまとめておく。 ちなみに、production運用については以前書いたので適当に探してくださいw 結論から書いておくと、volumeをちゃんと活用すればいい、ってだけの話です。 まず、本番用と開発用のDockerfileは分けた方が良い。一つでやろうとするとどうにも無理がでるので。 自分はDockerfileとDockerfile-devというものを用意している。 docker-composeはほぼ必須です。少なくともrailsプロセスとDBだけでも二つは必要だし、Dockerfileを分けてると事故るので。 Dockerfileはこんな感じ。 FROM mybase:ruby-2.3.1-debian RUN echo "deb http://http.
こんにちは。今回のテーマは『ApacheでCGIを動かしてみる』です。動的なWebサイトを作成するにはにはPHPやjavascript、JAVAサーブレット等いろいろありますが、今回はRubyで書いたCGIをApache上で動かしてみます。え?時代はRuby on Railsですって?良いんです。趣味ですから。 [adsense02] CGIって? このブログの読者にCGI(Common Gateway Interface)とは何かという説明は野暮だと思いますが、簡単に。CGIとはサーバープログラムから呼び出された外部プログラムを実行することでインタラクティブな動作を可能とするための取り決めですね。(間違ってたらごめんなさい) 今回動かすCGIについて 今回はRubyで書かれたCGIをApache上で動かします。CGIはプログラミング言語に依存しないのですが、レンタルサーバー等で動かせるプ
開発環境をMacにする人が最近はだいぶ増えてきました。MacでRuby on Railsをインストールするという記事は、探せばいくらでも出てくるので、今回はLinux上でインストールしてみます。VPS等で試してみてください。(Macもほとんど変わらないんですが) 環境 CentOS 6.3 Rails 3.2.8 gitをインストール rbenvのインストールにも使うし、いまどきgit入ってないとかなんなの。という感じなので、入れておきましょう。 $ sudo yum install git $ git --version git version 1.7.1 rbenvのインストール rbenvは、簡単にrubyのバージョンを切り替えられるコマンドです。 Macの場合は、homebrewでインストールできてすごく楽です。今回はMacOSではないので、gitからcloneしてインストールしま
はじめに Hadoopとは、Googleの基盤技術であるMapReduceをJavaでオープンソース実装したもので、分散処理のフレームワークです。Hadoopを使うと、1台のサーバでは時間の掛かるような処理を、複数のサーバで分散処理させることができます。「処理を割り振ったサーバが壊れた場合どうするか」などの耐障害性の問題もHadoopが管理してくれるため、利用者は処理のアルゴリズムのみに集中することができるのです。素晴らしいですね。最近ではYahoo!やはてななど、様々な企業でも利用されるようになってきています。 Hadoop導入の背景 筆者はクックパッド株式会社に勤めています。open('http://cookpad.com'); return false;">クックパッドというサイトが有名だと思いますが、他にも携帯版クックパッドであるopen('http://m.cookpad.co
macOS Sierra 版(3部作になりました)はこちら。 [【macOS Sierra】Mac OSX 10.12 macOS Sierra にRuby + Rails4 開発環境の構築 【初心者必見】] (http://qiita.com/keneo/items/e81bad87995fae566234) [【macOS Sierra】Mac OSX 10.12 macOS Sierra にAMP環境の構築【初心者必見】【続編】] (http://qiita.com/keneo/items/8bee152aee75123b7a07) [【macOS Sierra】Mac OSX 10.12 macOS Sierra にNode.js 開発環境の構築 【初心者必見】] (http://qiita.com/keneo/items/08da941711a224b06700) [【Yosem
Pythonプログラマーというか、元々Python(ときどきR、C言語)で数値シミュレーションをしていた学生が、就職してRubyでWeb開発を行うにあたって勉強したことを書き連ねていくだけの記事です。 もし自分と同じような立場の人(これから後輩としてもどんどん増えていくかも!)がいたら、「ここを押さえておけばRubyは問題なく書けるよ」と教えられるように書いておきます。というのも、レビューを行っていた先輩とのプログラミングのスキルとの開きがあり、先輩も私も「どこが分かってないのか説明できない」状態になってしまってお互いに困ってしまった経験があるからです。 RubyとPythonはよく似ているのですが、思想や見た目で違う部分が多く、片方を勉強するともう片方の理解も深まります。 たまに2ちゃんねるのオカルト板である「見たことある世界によく似た異世界に迷い込んだ」みたいな感覚で、なかなか面白い経
こんにちは。 この連載では、ちょっと変わったRuby入門を書いていきます。 想定読者は、Rubyを学びたいプログラミング初心者です。 Ruby以外の言語でプログラミングしたことがあると理解がはかどると思いますが、 Rubyを知らなくてもわかるように、なるべく丁寧に説明していくつもりです。 Rubyをある程度知っている読者には、最初の数回は退屈かもしれませんが、 回を重ねていくにつれ、より深くRubyを知ることができるはずです。 Rubyとは? Rubyは「プログラミング言語」です。 プログラミング言語とは、コンピュータにやらせたい仕事を書くための言語です。 つまり、Rubyを覚えて、Rubyでコンピュータへの指示を書けば、 コンピュータはその指示を実行してくれます。 この指示書のことを「プログラム」と言い、特にRubyで書かれたプログラムを「Rubyプログラム」と言います。 ところで、Ru
あいさつ 流行りにはしっかり乗らさせて頂きたい! line botちょこちょこ遊んでいた中で出来た成果物をAPIのruby言語ラッパーとしてgem化しときました^^ Github Rubygems 即時性や並列性を考えるとガチBotには向いてないかもですがまあサクッと遊ぶときに使ってくださいな^^ ちなみにこのライブラリとheroku+Fixieで作ったbotをひけらかすとこんな感じ 参考: LINE BOT をとりあえずタダで Heroku で動かす 情報のフェッチだけじゃなくて予約とか何か副作用の持つアクションと絡めたり、グループチャットにbot入れてスケージュリングとかは夢が広がる〜! 使い方 Installation require 'line/bot/client' client = Line::Bot::Client.new do |config| config.channel
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く