C-limber's highへようこそ。
C-limber's highは山登りのサイトではなく、福岡システム開発WEB制作会社 C-limber(クライマー)株式会社の技術メモブログです。
福岡システム開発ホームページ制作をお探しの方はお気軽にご相談下さい。

2015年6月3日水曜日

[Ruby on Rails]Mac OSX のhomebrewでRailsの環境を作る

21:18 Posted by 池田 , No comments
homebrewをアップデート


$ brew update
$ brew install rbenv ruby-build
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ source ~/.bashrc $ rbenv --version rbenv 0.4.0
インストールされているRubyのバージョンを確認
$ rbenv versions
* system (set by /Users/eikichi/.rbenv/version)
2.1.3
Ruby の新しいバージョンが有るか確認
$ rbenv install -l
2.1.0
2.1.1
2.1.2
2.1.3
2.1.4
2.2.0-dev
2.2.0-preview1


新しいバージョンの Ruby をインストール
$ rbenv install 2.1.4
Downloading ruby-2.1.4.tar.gz...
-> http://...
Installing ruby-2.1.4...
Installed ruby-2.1.4 to /...

プロジェクトディレクトリに移動してローカルのRuby を設定
$ cd /path/to/project
$ rbenv local 2.1.4

プロジェクトディレクトリに .ruby-version ファイルが生成される
ローカル Ruby のバージョン確認
$ rbenv version
2.1.4 (set by /...

Rails のローカルインストールの準備
ローカル Ruby に Bundler のみをインストール
$ rbenv exec gem install bundler
$ rbenv rehash

Gemfile 作成
$ rbenv exec bundle init

Gemfile 編集
$ vi Gemfile

編集内容
source "https://rubygems.org"
gem "rails", "4.1.7" # 出来るだけ開発開始時の最新バージョンを指定

Rails を vender/bundle ディレクトリ以下にインストール
$ rbenv exec bundle install --path vendor/bundle

インストールされた Gem を確認
$ rbenv exec bundle list 
Gems included by the bundle:
  * actionmailer (4.1.7)
  ...

Rails プロジェクト作成
MySQL を利用
$ rbenv exec bundle exec rails new project-name --skip-bundle -d mysql
※--skip-bundle を必ず指定すること。指定しないとと bundle install が発動し、ローカル Ruby 自体 に Gem がインストールされてしまう


Rails をローカルインストールするために使用した Bundler 環境を削除
$ rm -f Gemfile
$ rm -f Gemfile.lock
$ rm -rf .bundle
$ rm -rf vendor

Rails プロジェクトセットアップ

Rails プロジェクトディレクトリに移動
$ cd project-name

必要に応じて Gemfile などを編集
Bundler で必要な Gem をインストール
$ rbenv exec bundle install --path vendor/bundle

Gitの管理対象から vendor/bundle ディレクトリを外す
$ echo '/vendor/bundle' >> .gitignore

Rails プロジェクト起動
$ rbenv exec bundle exec rails s
bundleコマンドはgemコマンドでインストール。
"rbenv exec" は「システムrubyのgem」ではなく「rbenvで現在有効なrubyのgem」であることを明記する表記。
"gem" がrbenvで有効なrubyのgemを指している場合は省略可能。

2015年5月27日水曜日

2015年4月14日火曜日

[Cake2]Model内でsessionを使うには

14:33 Posted by Unknown , , No comments
井口です。
cake2でのお仕事中です。

自由なYiiから抜けだしてCake2やると
やっぱり窮屈に感じてしまいます。

Model内でのSession取扱い、というか使い方
cakephp - Accessing Session in Model - Stack Overflow

App::uses('CakeSession', 'Model/Datasourse');
$session=new CakeSession();

// ここからはsession変数使って色々書ける
$session->check('hoge');

cake2とYiiを比べてみて思うのは、
cakeのほうがフレームワークとしての歴史が長い分、色々な書き方で書けるような気がしました。
でもただそれが、「こういう書き方でも書けてしまうんだよね」的なものなのかなという印象も受けました。
とっちらかってるイメージです。
ViewやModelが命名規則や、「data」変数で部分部分で自動でくっついて自動化されてますが、
それが逆にちょっと複雑になると、「逆にめんどくさい」状態になってしまうのかなと感じてます。
もっとcake2勉強したら違うのかもしれませんが。
cake3ではオブジェクト指向色が強まるらしいですが、cake2とcake3が違いすぎてはまた逆に結果的にめんどくさくなるのではないかなと思います。
view側も配列もりもりで、少々見づらいですね。

逆にYiiはcakeに比べてすごくシンプルです。
View内でModelをぶん回すのは当たり前。
Model内に機能を追加しまくって、そのModelを各所でぶん回すっていうシンプルで強力な作りだと思います。
ComponentにもModelさえ渡しちゃえば、結構自由に戦えちゃう感じです。
Fat Model。Modelありき。
余計にYiiが好きになりました。

弊社もYii2に近日移行予定です。
楽しみです。

以上です。


--------------------------------------
弊社では独自管理画面によるシステム開発、Web制作など幅広く対応しております。
お気軽に問い合わせ下さい。
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社

2014年9月9日火曜日

[MYSQL]date型の最大値

19:09 Posted by Unknown No comments
date型のフィールドに最大値をデフォルト値として持たせたいとき

date型の最大値は'9999-12-31'です!

以上〜

2014年7月31日木曜日

[PHP]csvへエクスポートする際の注意点

0:47 Posted by Unknown , No comments
井口です。

phpにexportする際の注意点を備考録。

・各項目の中のダブルコーテーションはシングルコーテーションに変更もしくはエスケープ
・各項目はダブルコーテーションで囲む
・ゼロバインディング(ゼロ埋め)する項目は、ダブルコーテーションで囲ったあとにイコール(=)を頭につける

$zero_binding_text='=' . '"' . sprintf("%05d", $target_text) . '"';

以上です。


--------------------------------------
弊社では独自管理画面によるシステム開発、Web制作など幅広く対応しております。
お気軽に問い合わせ下さい。
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社

2014年7月1日火曜日

[CSS][sass]source mapsの導入

17:06 Posted by Unknown , No comments
sass,compassを使って作業してたら
chromeのDeveloper Toolsでcssの確認した際に
どのscssファイルに記載しのか知りたくなることがあります。
そういう時のメモ

参考サイト
google chrome - Chromium: missing sass support - Stack Overflow
Sass - Compassのsourcemap出力 - Qiita

「souce map sass」で検索すると
いろんなサイトが出てきますが、古い記事が多いです。

chrome側の設定の話が出てきた時は古い記事です。

chromeのv30以降では標準でsassに対応してるらしいです。

手順
1. sassのアップデート
source mapへの対応はsassのv3.3.0以降のみとなるので、
まずそれをインストール
gem install sass -v '>=3.3.0alpha' --pre
結構時間かかりますが辛抱強く待ちましょう

---compassを使わない場合はこれで終了
sass --watch --sourcemap sass/styles.scss:styles.css

compassを使う場合は
Compassは現時点ではsourcemapの出力に正式対応していないのでalpha版をインストールする
2.compassのアップデート
gem install compass --pre

3.compassのconfig.rbに一文追加
sourcemap = true

以上でchromeのDeveloper Toolsにsassのファイル名・行番号が 出力されるようになります。


--------------------------------------
弊社では独自管理画面によるシステム開発、Web制作など幅広く対応しております。
お気軽に問い合わせ下さい。
福岡のシステム開発・Web制作 C-limber(クライマー)株式会社

2014年6月17日火曜日

[Postfix]バーチャルドメイン環境下でメール受信でコマンド実行

0:57 Posted by Unknown No comments
まず、バーチャルドメインでの注意点として virtual_alias_mapsに記述できるのはメールアドレスだけでコマンドは指定できない。 virtual_mailbox_mapsに登録しているメールアドレスでコマンドを実行する場合は、transport_mapsでパイプ渡しを行う。 main.cf
local_transport = local
transport_maps = hash:/etc/postfix/transport
/etc/postfix/transport
test@sample.com       local
/etc/aliases
test: "| echo hohoho  >> /tmp/test.txt"
sudo postmap /etc/postfix/transport
sudo newaliases
sudo /etc/init.d/postfix reload
これでtest@sample.com宛にきたメールを受信することでtest.txtにhohohoと書き込む