sachin21's blog

技術メモブログ

Ruby

AWSをより手軽にしたVPS

こんにちは @sachin21です 先日EnterrrrrrというEnterキーを押したらエンダアアアイヤアアア(ry と音楽がなるネタサイトを作りました。 作る前からバズるとわかっていたサービスなので落ちる対策は最初からしておこう、と思っていたので サーバ選びに結構な…

スペースとアンダーバーを変換したい時ってありませんか?

今手伝っている会社はグローバルなサービスを作っていて、グローバルな方も働いているので、commitメッセージは基本英語です。 ですが英語が得意ではない私は長いcommitメッセージは単語ggったりGoogle翻訳で翻訳してcommitしたりしています。 その時にspace…

あまり知られてないRubyのコンパイルの仕様について

こんにちは、@sachin21です。 if nil # 実行されない foo = "hoge" p foo else # 変数宣言せずに変数の中身を`p`する p foo end これでエラーが出ないのはなぜなのか? 宣言されてないはずのfooはp fooで表示されないはず でもそうではない => nil 「ローカ…

Rubyにて複数の配列を同時にeachする方法

こんにちは、@sachin21です。 複数の配列を同時にeachしたいけど仕方わからなくなって解決法調べたらこんな方法が。 配列を代入してから ary1 = ['hoge','fuga', 'foo', 'baz'] ary2 = [user_1, user_2, user_3, user_4] ary1.zip(ary2).each do |keyword, u…

Rubyにて1Byteか2Byteを判定するメソッド

こんにちは、@sachin21です。 とある機能を実装してて英語、もしくは日本語の文を文字数減らして表示しなきゃいけなくなった場合 1Byteか2Byteを判別するためにこんな便利なメソッドが・・。 "こんにちはHello".ascii_only? => false "Hello".ascii_only? =>…

長い文章を省略するHelper Method

長い文章を省略するHelper Method 通知一覧などを実装していると誰々が◯◯にコメントしました的な文章だったら ◯◯の文字列が長すぎると汚くなる。 省略するのに今までわざわざsliceなどして省略してました。。遅れ杉 それを解決するメソッドが! truncateです…

rails_autolinkの隠れた機能で詰まった

autolinkメソッドはrails3.1で廃止になったのですが tenderloveさんが続けて使えるようにgemを作ってくれました。 そのrails_autolinkで長いURLだけをhttp://google.comhttps://maps.google.co.jp/maps?saddr=%E... のように表示してリンク先はそのままアク…

rails g migration はスネークケースでもいける

知らんかった... $ rails g miration add_name_to_girls

Ruby破壊的メソッドの変数の扱いについて

例えば変数に文字列を代入して変数から変数に代入するとする。 そうしてgsub!などで置換したら元の代入元の変数まで変わってしまった・・。 結構な時間詰んだ(; ・`д・´) hoge = "foobaz" foo = hoge foo.gsub!("foo", "baz")