読者です 読者をやめる 読者になる 読者になる

light log

学んだこととか

RubyMineを使い始めた & RSpecが動かずハマった

RubyMineを使い始めた。 超いい感じな予感がするけど、試しに適当にプロジェクトを作ってみたら早速ハマった。ハマり名人。 RSpecが動かなかった。 事象 rspecをrunすると以下が出てエラーになる。 `require': cannot load such file -- teamcity/spec/runne…

Nginx + Unicornをつかう(手抜き記事)

今日はサザンのライブだった!!! 幸せな時間だったなあ。。 サザン最高。桑田さん最高。 ということで、今日はあんまり作業できなかったので、Unicornを使ってみた感じをさっくりと書く。 Vagrantfile書いてNginxインストールしてrbenvでRubyインストール…

HerokuでMySQLを使うためにいろいろした

いろいろしたのでメモしておく。 そこら中の有益な記事を参考にした。 ClearDBアドオンの追加 HerokuのデフォルトのDBはPostgreSQLなので、MySQLを使うためにClearDBアドオンを入れる。 $ heroku addons:create cleardb:ignite 環境変数を設定する。 $ herok…

SQLite3の既存RailsアプリをMySQLに移行したメモ

今日書くことねーな。 じゃあ書かなければいいんだけど。 一応書く。 今日はSQLite3で作ってた既存RailsアプリをMySQLに移行したので、そのメモでも。 ながれ Gemfileの編集 config/database.ymlの編集 MySQLのユーザを作成 rake db:create , rake db:migrat…

will_paginateの出力をカスタマイズする

昨日↓の続き。今日も少し。 Railsでwill_paginateとwill_paginate-bootstrapを使った - light logyamacent.hatenablog.com トータル件数の上限を指定する ページごとの件数上限指定は、昨日も書いた通り:per_pageを設定することで可能。 ただ、ページネーシ…

Railsでwill_paginateとwill_paginate-bootstrapを使った

今日は半日くらいSCSSを触ってた。floatの動きがいまいち感覚的に掴めない。 スタイルシートについては特に知見得てないので、今日は短いけどpaginationについて書く。will_paginateとwill_paginate-bootstrapで簡単しゃれおつページネーション。 mislav/wil…

Rubyのモジュールについて調べた

ちょっと前にモジュール関係で結構ハマって、なんでこれが動かないんだろうってのがあったので少し調べた。結局それはモジュール関係なくただの自分の(くそしょぼい)凡ミスのせいだったんだけど、せっかくちょっと調べたのでメモしておく。 はじめに まずi…

RubyのTwitter Gem使い方メモ(リスト周り) Part2

昨日↓の続き。少しだけ。 RubyのTwitter Gem使い方メモ(リスト周り) - light logyamacent.hatenablog.com リストに追加されている/リストを購読しているユーザの取得方法。 ユーザの取得は、リスト自体の取得に比べてRate Limitsの制限がゆるい。 require…

RubyのTwitter Gem使い方メモ(リスト周り)

Twitter Gemについて、Twitterのリスト関係の情報を取得する方法を覚えたので、簡単にまとめておく。Rate Limitには注意。 require 'yaml' require 'twitter' CONFIG = YAML.load_file('config.yml') client = Twitter::REST::Client.new(CONFIG) user = 'ya…

require 'rubygems'

WebでRubyのコードを検索すると、結構な頻度で require 'rubygems' っていう一行を目にする。 これって必要なのか?もし必要なのであれば、どんなときに必要なのか? これが気になって調べたのでメモ。きっと昔の書き方なんだろうと見当つけてたら、実際そう…

RubyでSQLite3使ってみた

Railsで使うときはActiveRecordに隠されててあんまり意識することなかったSQLite3だけど、ちょっと直接使ってみた。 Gemのインストール Gemfileに以下を書いてbundle install。 gem 'sqlite3' 使い方 require 'sqlite3' db = SQLite3::Database.new 'test.db…

Heroku上のTwitter botを修正した

昨日作ったツイッターに自動投稿するbotだけど、動きがおかしかったので修正した。 (それにしても最近やる気が出ないことが多い。。いわゆる五月病だろうか) 問題 想定では、Heroku Schedulerを使って毎朝8時に一度だけ投稿するようにしたつもりだったが、…

RubyとHerokuでTwitterに自動投稿する

昨日のやつを毎朝自動投稿するようにした。 環境 ruby: 2.2.0p0 twitter: 5.14.0 キーとかトークンとかシークレットをコードの外に出す 昨日はこれらの値もソースコードに直接書き込んでいたんだけど、これだとGitHubで公開できない。GitHubにもHerokuにもプ…

RubyでTwitterに投稿してみた

もうあらゆるところで解説されまくってる感じのネタだけど、やってみた。 自分のTwitterアカウントにツイートを投稿するだけなら超カンタン。 目標 自分のTwitterアカウントにRubyプログラムからツイートを投稿する。だけ。なので例えば以下のようなことは今…

RSpecを導入し始めたらrequireとか調べてた

(今日も作業ログ的日記的文章) 昨日に引き続きRSpecやってた。いよいよ今日はspecを書き始めた。 でもすぐにはまった。 経緯(というか全部をベタ書き) 前に作った勉強用アプリのspecを書き始めてみた。 (RSpecの本家サイトのドキュメントとかを参考にし…

RSpecを導入しようとしたらSpringとか調べてた

ただの作業ログ的な日記的な文章。 環境 $ ruby -v ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin14] $ rails -v Rails 4.2.1 背景 Rails Tutorialを終えたので、学んだことを活かして、以前勉強用に作ったRailsアプリにRSpecのテストを書いてみ…

Rails Tutorialをやり終えた

後半ペースが鈍ったけど、とりあえず一通りRails Tutorialをやり終えた。 Ruby on Rails チュートリアル:実例を使って Rails を学ぼう せっかくなので感想を残しておく。 取り掛かる前の状態 Rubyは少し触ったことがある 他のプログラミング言語はいくつか…

今日やったこと(2015/5/5)

今日はRails Tutorialの10章と11章の途中まで。 いよいよ終盤。 10章 デフォルトスコープ has_manyのdependent: :destroy User.all(limit: 6) <%= render 'shared/error_messages', object: f.object %> 任意のオブジェクトをパーシャルに引き渡せる(ここで…

今日やったこと(2015/5/4)

何日かオフモードだったけど、今日の午後から復帰した。 今日はRails Tutorialの8章の途中から9章の終わりまでやった。 8章の途中から link_toでdeleteメソッド Bootstrapドロップダウンメニュー(JSが必要) cucumber概要 9章 patchメソッドのform new_reco…

今日やったこと(2015/5/3)

今日も少しだけ。 Rails Tutorial 8章の初めから8.2.4の手前まで。 sessionをリソースとして定義する 対応するモデルがないform_for sign in のロジック flash.now Helperはviewでは自動的に使える。controllerでは明示的にinclude要 base64で記憶トークンを…

今日やったこと(2015/5/2)

今日もあんまり時間取れなかったので少しだけ。 Rails Tutorial 7章の続きから。 やったこと CSS !important capybaraを使ったformのテスト form_for Strong Parameters params.require(...).permit(...) pluralize モデルのインスタンス.errors.full_messag…

Rubyのトップレベルについて調べた

参考にした記事 Rubyのオブジェクトは生物なんかじゃない、トップレベルこそが生物なんだ! Rubyのトップレベルのメソッドの不思議 : As Sloth As Possible 環境 $ ruby -v ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14] 結果 トップレベル…

今日やったこと(2015/4/30)

引き続きRails Tutorial。今日は5章の続きから。 以下やったこと抜粋。 5章 (昨日の続き) RSpecのリファクタリング Routing Routingを修正したときとかcontroller/viewに新しいファイルを追加したときに、テスト用に起動してるGuardの再起動が必要になる(と…

今日やったこと(2015/4/29)

昨日に引き続き、Railsチュートリアルの3章の途中〜5章の途中までやった。 以下やったことのメモ。 3章 Red -> Green -> リファクタリング テストを使って確信を持ちながらリファクタリングする (ERB) provide で定義した変数を yield で使う 高度なセットア…

今日やったこと(2015/4/28)

今日はRailsチュートリアルを進めた。 1章の途中から、3章の途中まで。 『Ruby on Rails 4 アプリケーションプログラミング』を(だいたい)読んだので、そんなに詰まらないだろうと思ったら、予想よりだいぶボリューミーだしカバー範囲も広くてなかなか大変…

はじめてのRailsアプリ作った

昨日も書いた通り、ボキャブラリービルディングのWebアプリを作った。 yamacent/voca - GitHub 完全なるRailsの勉強用なので、サービスとして公開する予定はない。でも個人的には結構普通に使えてる。 こだわりは、問題を解くときにマウス操作が要らないこと…

今日やったこと(2015/4/26)

Railsの勉強&作業ログ。 ほとんど日記。 今日やった主なものは以下のふたつ。 Ajax対応 Bootstrap対応(のさわり) いまRailsの勉強用に、英単語勉強用のWebアプリを作っている。日本語の文章が表示されて、対応する英文を回答するアプリ。初めてのお試しア…

RailsのTurbolinks

Railsの勉強でWebアプリを作っていて、Turbolinksの存在をよく知らなかったために、ページ遷移したときにloadイベントが発生せずに困った話。 事象 今日は「トップに戻る」ボタンをjQueryを使って付けてみた。ある程度以上スクロールすると表示されるやつ。…

Railsのタイムゾーン

Railsアプリを試しに作っていて、今日はタイムゾーンで少しハマって調べたのでメモ。 構成はこの通り。 Mac OS X 10.10.3 Ruby 2.2.0 Rails 4.2.1 SQLite 3.8.5 タイムゾーンいろいろ まず、Railsアプリを作ってるときに関係するタイムゾーンが複数ある。 シ…

Railsでレスポンスを返すメソッドについての簡単勉強メモ

勉強メモ。 Railsでレスポンスを返すためのメソッドについて本読んだので簡単にまとめておく。 本ばかり読んでいるのにもいい加減飽きてきたので、この章(コントローラの章)だけざっと読んだら何か簡単に動くものでも自分で作ってみようと思う。 以下につ…

Ruby2.2.0とcounter_cacheでハマった

引き続き以下の本をやっていて、 Ruby on Rails 4 アプリケーションプログラミング作者: 山田祥寛出版社/メーカー: 技術評論社発売日: 2014/04/11メディア: 大型本この商品を含むブログ (3件) を見る 5.6章のカウンターキャッシュのところでハマった。このせ…

Rubyのエコシステムを軽く調べた

はじめに いろいろあってよくわからなかったので、軽く調べた。 Gems RubyGems.org | your community gem host パッケージマネージャ。nodeのnpmのようなやつ。 Bundler Bundler: The best way to manage a Ruby application's gems 依存関係マネージャ(っ…

ActiveRecordのSELECT系メソッド

はじめに 今日はあんまり進まなかったけど、とりあえず復習として読んだところのメモだけしておく。 読んでる本はこれ。 Ruby on Rails 4 アプリケーションプログラミング作者: 山田祥寛出版社/メーカー: 技術評論社発売日: 2014/04/11メディア: 大型本この…

Rubyのblockの使い方

はじめに Ruby基礎の勉強メモ。 JSからRubyに来てみて、Rubyでのブロックというのは、JSでのコールバック関数に相当するものだということは分かったけど、細かい所でよくわからない部分がいくつかあったので、調べた。 block 基本的なブロックの使い方のみ。…

【メモ】RubyのClassとObjectの疑問

未解決の疑問のメモ。 -- すべてのクラスはObjectクラスを継承している ClassクラスもObjectクラスを継承している ...1 一方 すべてのクラスはClassクラスのインスタンス ObjectクラスもClassクラスのインスタンス ...2 1 と 2 が混乱する。 Objectを定義す…

RubyとJavaScriptの"falsy"な値

JavaScriptでは混乱しがちな、booleanの文脈でfalseになる値(=falsyな値)について、Rubyではどうなってるか調べた。 まずJS(Node)。 [ false, undefined, null, 0, NaN, '', [], {}, new Number(0), new String(''), ].forEach(function (v) { console.…

RubyのHashについて基本的な記法を調べた

Railsの本を読んでいて、Hashの記法がよくわかってない気がしたのでちょっと調べた。 キーワード引数についても少し。 # 普通の記法 hash = {"foo" => 1, "bar" => 2} # キーがシンボルの場合、 # これが hash_symbols1 = {:foo => 1, :bar => 2} # こう書け…

Railsのform関連のViewヘルパー

はじめに 言い訳から入ると、今日は他のことやっててあんまり捗らなかった。いま差し迫って関係ないこと(一応プログラミング関係だけど)を調べてしまってたのも響いた。反省。 ということであんまり進捗がないけれど、読んでる本の「4.1 フォーム関連のビ…

Ruby on RailsをGetting Startedしてる

はじめに Railsを勉強し始めた。 この前はNode.js + Expressをやってたり、無節操にいろいろGetting startedしまくってるような気がするけど、たぶん当分はRailsに集中することになる。 この本で勉強してて、いま4章の「ビュー開発」の章を読んでる。 Ruby o…