2013年5月30日木曜日

Ubuntuがきてるヘ(^o^)ノ

最近、Ubuntuにぞっこんのむらじゅんですw

Ubuntu 13.04
Rubyのバージョン管理はrbenv
Gemパッケージ管理はbundler
PostgreSQL9.2.4

あと、Chromeでないと生きていけないので…

使い出して2週間ほどですが、標準のTerminalがイマイチいけてないのに気がつきました(;・∀・)

Googleさんに聞いてみると…

Guake terminalなるものが Σ(゚д゚lll)

こいつがなかなかイイ


F12でさくっと立ち上がり、F11で全画面表示ヘ(^o^)ノ













スクショがこちら…

うーん、いいのよー

RubyMotion以外の開発はUbuntuへ移行するかもー

今度、家に転がってるNexusにUbuntu for phonesでもインストールしてみようヘ(^o^)ノ

( ̄(エ) ̄)彡☆

2013年5月6日月曜日

Arrayクラス #Ruby

Class Array(Ruby 2.0)

Rubyの配列

foo = Array.new(2, "foo") # => ["foo", "foo"]
foo[0].replace("bar")
foo # => ["bar", "bar"]

ひえー、すべての要素の値が変更されました(;・∀・)

んじゃ…
foo = Array.new(2){"foo"} # => ["foo", "foo"]
foo[0].replace("bar")
foo # => ["bar", "foo"]

ほー、おもろいなーヘ(^o^)ノ

( ̄(エ) ̄)彡☆

2013年5月4日土曜日

比較演算子 #Ruby

Rubyの比較演算子

"foo" == "foo" # => true

eql?メソッド
"foo".eql? "foo" # => true

基本的には同じ振る舞いですねー

でも、eql?メソッドには少し注意が必要です

eql?メソッドは型の比較も行います

1 == 1.0 # => true
1.eql? 1.0 # => false

equal?メソッドは同じオブジェクトか判定します

"foo".equal? "foo" # => false

a = "foo"
b = a
a.equal? b # => true

( ̄(エ) ̄)彡☆

文字列からシンボルを生成する #Ruby

Rubyのシンボル

:foo ← こういうやつ

実は文字列からも生成できる

こんなかんじ
"foo".to_sym # => :foo

"foo".intern # => :foo

Class: String (Ruby2.0)

( ̄(エ) ̄)彡☆

2013年4月12日金曜日

Array#injectを使ってみたよヘ(^o^)ノ

Rubyで配列内の値をもごもごしたいときに使うやつ?

たとえば配列内の合計を取得してみる
[1,10,100].inject{|sum, value| sum + value} # => 111

実はこいつ…こんな風に書ける
[1,10,100].inject(:+) # => 111

知らんかった…Σ(゚д゚lll)

( ̄(エ) ̄)彡☆

2013年3月24日日曜日

Windowsで生成したcsvファイルをPostgreSQLへインポートしたよ

サーバはLinuxでDBはPostgreSQL…

WindowsでCSVファイルを生成して、\copyコマンドでインポートしたい!

なやましいところ

改行コード
文字コード
BOM(なんだこれ?)

改行コードヘ(^o^)ノ
WindowsはCR+LF
Linux、Mac OS XはLF

僕はC#.NETでアプリ作ってたからControlChars.LFで

文字コード
これはファイル作成時にUTF-8を指定してファイルを作ってあげればよい

それでもできない…なぜ…

それはBOM…
od -c file_path で見てみると…
なにやら先頭に357 273 277←こいつですよ

UTF8Encoding(false)でBOMを無効にできる

コマンドでもできる

めんどくさい…

と、統一しようぜ…Win…do…

( ̄(エ) ̄)彡☆

2013年3月12日火曜日

MBAの環境構築ヘ(^o^)ノ

ヘ(^o^)ノ

Xcode
Command Line Tools
Homebrew

$ brew install wget
$ brew install rbenv
$ brew install ruby-build

.bashrc or .zshrc
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init - zsh)" ← zsh
eval "$(rbenv init -)" ← bash

$ rbenv install 2.0.0-p0
$ rbenv global 2.0.0-p0
$ gem install bundle
$ gem install pry
$ gem install powder
$ rbenv rehash

bashの人
bundler exec
curl -L https://github.com/gma/bundler-exec/raw/master/bundler-exec.sh > ~/.bundler-exec.sh
$ echo "[ -f ~/.bundler-exec.sh ] && source ~/.bundler-exec.sh" >> ~/.bashrc

zshの人
bundler exec 
$ curl -L https://raw.github.com/willnet/bundler-exec/master/bundler-exec.sh > ~/.bundler-exec.sh
$ echo "[ -f ~/.bundler-exec.sh ] && source ~/.bundler-exec.sh" >> ~/.zshrc

Github for Mac
iTerm2
TextMate バイナリはここ
Postgres.app
MacRuby
RubyMotion (有料ですw
R for Mac
RStudio

TextMateでRubyMotionの補完 ここを参考
$ cd ~/Library/Application\ Support/
$ git clone https://github.com/libin/RubyMotion.tmbundle.git Avian/Bundles/RubyMotion.tmbundle

Railsヘ(^o^)ノ
$ mkdir hoge
$ cd hoge
$ vi Gemfile

Gemfile
source 'https://rubygems.org'
gem 'rails', git: 'git://github.com/rails/rails.git'

$ bundle install --path vendor/bundler
$ rails new .  (bundler execがインストールされてないならbundle exec rails new .
$ bundle

こんな感じ