2013年11月24日日曜日

Rails Application Templatesを使ってみたよヘ(^o^)ノ

Rails Application Templatesとは、Railsアプリの開発環境設定を自動化するやつ

PC開発環境の自動化はBOXENでどうぞ

Railsアプリの環境構築するまで(環境はMacでrbenvを使用
$ mkdir sample_app
$ cd sample_app
$ bundle init
$ vim Gemfile #gem 'rails'をコメントアウト
$ bundle install --path vendor/bundler
$ bundle exec rails new . -m https://raw.github.com/murajun1978/rails_template/master/rails_template.rb --skip-bundle --skip-test-unit

僕はローカルのgem環境を汚したくないので、bundle installするときにpath指定しています

RubyMotionのgemとかごちゃごちゃしちゃう…

ちなみにローカルgemにはspringやherokuなんかをインストールしています

springはbundlerで管理すると意味ないみたいなので

bundle install のpathを毎回指定するのがめんどくさい人は

~/.bundler/config
BUNDLE_PATH: ./vendor/bundler

僕のRails Application Templates ⇒ GitHub murajun1978 / rails_template

作りかけで参考になるかわかりませんがwww

みなさんも自動化して少しでもラクしましょうねー

( ̄(エ) ̄)彡☆

2013年11月20日水曜日

GitHub Meetup in Kobeへ参加してきたヘ(^o^)ノ

参加してきましたヘ(^o^)ノ

GitHubの基本操作からGitHubチームが使っているツールなんかを紹介していただきました。

参加形式でとても楽しかったです。

MBA忘れたので参加できませんでしたが…


仕事の進捗良くないので仕事します:(;゙゚'ω゚'):

明日の大阪も参加予定.。oO(進捗大丈夫かな…)

Thanks( ̄(エ) ̄)彡☆

2013年11月19日火曜日

Git入門 レベル1ヘ(^o^)ノ

Gitを再認識する為に始めました

まずはレベル1から

Gitはバージョン管理システムです

現場ではSubversionを使っていますが…(;・∀・)

自分のお仕事ではGitを使っています。

ぶっちゃけ一人開発なので、Subversionでもよいのですがwww

SubversionとGitとどう違うのでしょうか?

Subversionは集中型バージョン管理システムです。

一方、Gitは分散型バージョン管理システムです。

現場ではSubversionでコミットするとJenkinsが動きます

Subversionでのcommit = 納品という認識です

しかし!うっかりcommitが頻繁に発生します(Subversionのせいではないw

んじゃ、ブランチきればいいじゃーんヘ(^o^)ノ

Subversionは集中型バージョン管理システムです…

ブランチをきるさきはローカルではなくネットワーク先になります

この時点で僕はムリですが…

Subversionをあまり理解していませんので、つっこみ大歓迎です

Gitは分散型なので、ローカルにブランチを切り放題のやっぱやーめたやり放題w

RubyはSubversionで管理されていますが、mrubyはGitで管理されGitHubにて公開されています

GitHubの登場がGitの地位をここまで押し上げたと言っても良いでしょう(ほんまかいなw

そのうち、GitHubについてもブログ書きますよ( ー`дー´)キリッ

MacならGitはデフォルトでインストールされています(10.9以降

10.8以前のバージョンではXcodeのcommand line tool?をインストールすればよろし

今回は基本的なコマンドをご紹介

$ mkdir murajun1978

$ cd murajun1978

$ git init

$ ls -a
.    ..   .git

git initでローカルにリポジトリを作成しています

.gitがリポジトリ

試しにファイルを作成してみましょ

$ echo 'Hello, Git!' >> hello.txt

$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add ..." to include in what will be committed)
#
# hello.txt

Untracked filesはgitで管理されてないよーってこと(ワーキングツリー

$ git add hello.txt

$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached ..." to unstage)
#
# new file:   hello.txt

git addしたことでGitの管理下に(ステージへ移動

$ git commit -m "init commit"

$ git status
# On branch master
nothing to commit, working directory clean

git commitしたことでステージからいなくなった(リポジトリへ移動

$ git log
commit [ハッシュ]

Subversionではコミット番号で管理してるけど、Gitは分散型なので一意な文字列ハッシュを使って管理してるのね

$ git show HEAD
Date:   Tue Nov 19 00:24:21 2013 +0900

    init commit

diff --git a/hello.txt b/hello.txt
new file mode 100644
index 0000000..670a245
--- /dev/null
+++ b/hello.txt
@@ -0,0 +1 @@
+Hello, Git!

git showでリポジトリの状態を見ることができる

$ echo 'Lets try Git' >> hello.txt

$ git status 
# On branch master
# Changes not staged for commit:
#   (use "git add ..." to update what will be committed)
#   (use "git checkout -- ..." to discard changes in working directory)
#
# modified:   hello.txt
#

$ git diff
diff --git a/hello.txt b/hello.txt
index 670a245..edaa8ae 100644
--- a/hello.txt
+++ b/hello.txt
@@ -1 +1,2 @@
 Hello, Git!
+Lets try Git

git diffで変更内容を見ることができます

間違えたのでこの修正を取り消してみましょう

$ git checkout -- hello.txt

$ git status
# On branch master
nothing to commit, working directory clean

もとに戻りましたねー

また書きます

( ̄(エ) ̄)彡☆

2013年11月17日日曜日

Shinosaka.rb キックオフヘ(^o^)ノ

本日、Shinosaka.rbのキックオフを勝手にやりましたw

次回からオープンコミュニティとして運営していくよー

会場も決まっているので、Doorkeeperでイベントたてまするヘ(^o^)ノ

【決まったこと】
メンバーの連絡はyouroomをする
募集はDoorkeeperを利用する
メンバーの困りごとをみんなで解決する
GitHubを使ったソーシャルコーディングを実践する

セッションも少しやりました。

【セッション】
Shinosaka.rb


Ruby × gnuplot


やはり会場探しが一番難しいですね…

会場提供して頂ける場合は@murajun1978までご連絡をm(_ _)m

ステマは全力でさせて頂きますwww

まだ、できたてホヤホヤのコミュニティですが、温かい目で見守ってやってください。

関西圏のRubyコミュニティとも連携していきたいですね

わくわく( ^ω^)

( ̄(エ) ̄)彡☆

2013年11月16日土曜日

GitHub PagesでSassがCSSにコンパイルされなかった…(;・∀・)

前回の「JekyllでHamlとSassとCoffeescriptを使ってみたヘ(^o^)ノ

うまくできなかったから調べた

現象SassがCSSにコンパイルされない…

ローカルでは動いてたけどね(;・∀・)

参考サイト
  ⇒Setting up Jekyll, Compass, and Github Pages
  ⇒Use Jekyll, SCSS, and CoffeeScript without plugins

Rakefileに書くのが手っ取り早いな

( ̄(エ) ̄)彡☆

2013年11月14日木曜日

Paperclipを使ってみたよヘ(^o^)ノ

仕事でファイルを扱うプロジェクトがあり、Paperclipというgemを使ってみた

ブラウザからはサンプルを見ればすぐに理解できる

では、ファイルからPaperclipを使って登録するにはどうすれば良いのか?

やってみたヘ(^o^)ノ

ActionDispatch::Http::UploadedFileを使えば良いのだー

サンプルソースはGitHub⇒paperclip_sample

めっちゃ簡単w

Paperclip便利だー

( ̄(エ) ̄)彡☆

2013年11月3日日曜日

JekyllでHamlとSassとCoffeescriptを使ってみたヘ(^o^)ノ

Shinosaka.rb

コミュニティサイトはGitHub Pagesを使うことにしました

なぜGitHub Pages?

メンバーがGitHub Pageを利用することで、Gitの操作やGitHubの使い方を実践できる

どうせならサイトを運用しならSassやCoffeeScriptのスキルも身につけたいなー(個人的にw

なので、JekyllでSassとCoffeeScriptを使う方法を調べてみました

JekyllでSassを使う


Gemfile
source 'https://rubygems.org'

gem 'jekyll'
gem 'jekyll-sass'

_plugins/bundler.rb
require "rubygems"
require "bundler/setup"
Bundler.require(:default)

_config.yml
sass:
  syntax: scss
  style: compact

css/main.css ⇒ css/main.scss

動作確認…

動いたヘ(^o^)ノ

JekyllでHamlを使う


Gemfile
gem 'jekyll-haml'

_incloudes/test.haml
%h1 Welcome to Shinosaka.rb

index.md
{% haml test.haml %}

動作確認…

動いたヘ(^o^)ノ

JekyllでCoffeeScriptを使う


Gemfile
gem 'coffee-script'

_plugins/coffeescript_converter.rb
module Jekyll
  require 'coffee-script'
  class CoffeeScriptConverter < Converter
    safe true
    priority :normal
 
    def matches(ext)
      ext =~ /coffee/i
    end
 
    def output_ext(ext)
      ".js"
    end
 
    def convert(content)
      begin
        CoffeeScript.compile content
      rescue StandardError => e
        puts "CoffeeScript error:" + e.message
      end
    end
  end
end

javascript/test.coffee
---
---
alert "Hello CoffeeScript!"

_layouts/default.html
script src="javascript/test.js"

動作確認…

ちゃんとjsファイルに変換されてるヘ(^o^)ノ

これでGitHub + Git + Jekyll + Haml + Sass + Coffeescriptの環境ができました

( ̄(エ) ̄)彡☆