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

こんな感じ

2013年2月25日月曜日

関西ゼロからはじめるR言語勉強会へ参加してきたーヘ(^o^)ノ

最近、お客様の傾向を分析したいとかいう案件があった。

なので、関西ゼロからはじめるR言語勉強会に参加してきたーヘ(^o^)ノ

今回が初めてという事でR言語とは何か?何ができるのか?を飯田さんが説明してくれました。

実際にデモでグラフで視覚化したり、とてもわかり易かったです。

僕の印象
R言語はPythonっぽい(多分、習得には時間はかからない)
統計学、機械工学等の知識がある程度は必要 (。・x・)ゝ
楽しそうヘ(^o^)ノ
簡単そうヘ(^o^)ノ
CRANパッケージが便利ヘ(^o^)ノ

来月も開催されるようなので、書籍を購入してなにか発表できればいいなー

Railsアプリで統計や分析部分をR言語のスクリプトを叩くのが最終目標

やることいっぱいだけど、頑張らないとねヘ(^o^)ノ

これから、マーケティングっぽい案件も増えて来そうだ

でわ( ̄(エ) ̄)彡☆


2013年2月14日木曜日

RubyMineを使ってみようヘ(^o^)ノ

RubyMine5がリリースされてRubyMotionも正式サポートされましたヘ(^o^)ノ

Ruby、Rails、JRuby、RubyMotionとまさにRubyのためのIDE!

もちろんIDEなのでコマンドいらずー

いいか悪いかは別としてねw

今週末のCocoa勉強会関西でRubyMineでRubyMotionを試してみますヘ(^o^)ノ

RVMならgemsetでgemパッケージを管理すると思うので、IDEから新規プロジェクトを作れるのですが…

僕はbundlerでgemパッケージを管理しているのでIDEからはプロジェクトを作成できません…(rbenv-gemsetなるものがあるようだが試してない)

TerminalからRubyMineを起動したいので、Toos > Create Command-line Laucher…
(初回起動時に設定できるよー)

Pathに/usr/binを指定すればTerminalからmineコマンドが利用できる

















30日トライアル版でぜひお試しあれーヘ(^o^)ノ

ちなみにRubyMineは年間ライセンスとなっています


2013年2月11日月曜日

Railsで画像をバイナリファイルで保存ヘ(^o^)ノ

( ̄(エ) ̄)彡☆

適当にひな形作る
$ rails g scaffold photo image:binary

app/models/photo.rb
class Photo < ActiveRecord::Base
  attr_accessible :image, :picture_file
  
  def picture_file= (file)
    if file
      self.image = file.read
    end
  end
end

app/controllers/photos_controller.rb
#追加
def picture
  @image = Photo.find(params[:id])
  send_data(@image.image)
end

config/routes.rb
#変更
resources :photos do
  member do
    get :picture
  end
end

app/views/photos/_form.html.erb
#変更
<%= f.label :picture_file %>
<%= f.file_field :picture_file %>
app/views/photos/index.html.erb
<% @photos.each do |photo| %>
  <%= image_tag picture_photo_path(photo), :size => '30x30' %> #修正
  <%= link_to 'Show', photo %>
  <%= link_to 'Edit', edit_photo_path(photo) %>
  <%= link_to 'Destroy', photo, method: :delete, data: { confirm: 'Are you sure?' } %>
<% end %>

app/views/photos/show.html.erb
Image:
  <%= image_tag picture_photo_path(@photo), :size => '30x30' %> #修正

これでバイナリーデータで保存して、表示できるヘ(^o^)ノ

でもね… select_dateのおかげでレコード毎にselect文が─=≡Σ((( つ•̀ω•́)つ

うーん、なんか良い方法ないですかね?

2013年2月10日日曜日

rbenv BUILD FAILEDヘ(^o^)ノ

$ rbenv install 1.9.3-p385

BUILD FAILED…

またかよ…

$ brew tap homebrew/dupes
$ brew install apple-gcc42
$ export CC=/usr/local/bin/gcc-4.2
$ CONFIGURE_OPTS="--with-readline-dir=/usr/local --with-openssl-dir=/usr/local" rbenv install 1.9.3-p385

インストールできたヘ(^o^)ノ

( ̄(エ) ̄)彡☆

2013年2月5日火曜日

RailsのURIヘ(^o^)ノ

Railsで検索フォームで検索した結果を表示した場合
localhost:3000/search?utf8=✓&title=&commit=検索

こんな感じになる…

なんか( ´Д`)キモッ

localhost:3000/search?title=xxxxみたいにしたい!

調べたヘ(^o^)ノ

Railsのutf8パラメータとcommitパラメータ

なるほど…

commitパラメータ
フォームに複数ボタンを設置した場合に判別できる
今回は不要
<%= submit_tag "検索", name: nil %>

utf8パラメータ
IE対策みたいだから(ЭεЭ)イラネーヨ
app/helpers/application_helper.rb
module ApplicationHelper
 def utf8_enforcer_tag
  return ""
 end
end

URLにクエリを含める理由は検索結果をbookmarkできるから

同じ検索を何度もするのは( ゚Д゚)マンドクセー

セキュリティ上よくない場合もあるので気を付けてねー

( ̄(エ) ̄)彡☆