リモートリポジトリとの差分を確認する

Git

差分を取得する。 git fetch diff を確認する git diff remotes/origin/master diff する前に fetch しないでいい方法があるかどうか?

ジョブについての疑問

ジョブ名はどんな名前を付けるのがいいのか? GREEにおけるJenkins, その3http://labs.gree.jp/blog/2012/07/5173/他に例はないかな... ジョブとして実行する粒度はどのくらいがいいのか?

外部キーについて

テーブル間のデータの整合性を保つ機能。有用な場面もあるが、使いすぎには気をつけなければならない。データの移行時に手間になる可能性があるから。

調べる単語

入れ子集合モデル隣接リストモデルグラフ隣接行列ランダムサーファーモデル

config/database.yml のデプロイ

問題1config/database.ymlはデータベースのパスワードが記述されているので、公開 Git リポジトリに push することができない。問題2Git で管理したとしても、development環境とproduction環境で設定が違う可能性がある。解決策Gitの管理対象から外し、デプ…

デプロイ先のサーバーで rake assets:precompile を実行するには

config/deploy.rb 29 after :restart, :clear_cache do 30 on roles(:web), in: :groups, limit: 3, wait: 10 do 31 # Here we can do anything such as: 32 within release_path do 33 # execute :rake, 'cache:clear' 34 execute :rake, 'assets:precompil…

RVM でデフォルトで使用する Ruby を指定する

rvm use --default 2.0.0

mysql2 の gem が入らない

下記を実行する。 apt-get install -y libmysqlclient-dev

Ubuntu の root 以外のアカウントで rails を入れようとするとエラーになる

下記のエラーが出る。 Building native extensions. This could take a while... ERROR: Error installing rails: ERROR: Failed to build gem native extension. /usr/bin/ruby1.9.1 extconf.rb /usr/local/lib/site_ruby/1.9.1/rubygems/core_ext/kernel_r…

db:migrate をやり直す

rake db:migrate:reset

ひとつのサーバーで rails アプリを 2個以上動かすと

Webサーバー再起動した時に影響ありそう。

速習RSpec

RSpecのインストール gem install rspec インストールされていることを確認する rspec -v

速習Ruby

配列は初期化しないと push できない NG arr.push('suzuki') p arr OK arr = [] arr.push('suzuki') p arr 配列の各要素を push するには concat を使う。 arr = ['tokyo'] arr.concat(['saitama', 'osaka']) p arr # ['tokyo', 'saitama', 'osaka']ができる…

メール送信部分のユニットテストはmailcatcherが良さそう

http://mailcatcher.me/・Gemでインストールする。・ダミーのSMTPサーバーが起動できる。・PHPの場合は、sendmail_pathを差し替えることでmailcatcherをSMTPサーバーとして利用できる。・ブラウザから送信されたメールを確認できる。・送信されたメールをAPI…

インストール手順

下記が必要だった。 libxml2 libxml2-devel libxslt libxslt-devel

ルーティングについて(2)

GET、POSTリクエストの両方を受け付ける場合は下記のように記述する。http://example.com/hoge/recieve にGETまたはPOSTリクエストを送信すると、hogeコントローラーのrecieveアクションが実行される。 match 'hoge/recieve' => 'hoge#recieve', :via => [:g…

ルーティングについて

Railsアプリケーションのルーティングはconfig/routes.rbにて行われる。具体的な記述方法が分からなかったので調べた。(1)下記は、http://example.com/hoge にアクセス(GETリクエストを送信)すると、hogeコントローラーのindexアクションが実行される。 get …

返報性の原理と一貫性の原理

返報性の原理http://ja.wikipedia.org/wiki/%E8%BF%94%E5%A0%B1%E6%80%A7%E3%81%AE%E5%8E%9F%E7%90%86返報性の原理が応用されている事例 ・無料サンプルの配布 ・無料体験 ・地域の清掃活動 ・寄付一貫性の原理http://ja.wikipedia.org/wiki/%E4%B8%80%E8%B2…

FTPデプロイメント

本番環境はFTPしか利用できない。 ステージング環境として仮想サーバー(a)を用意する。 (a)に普通のGitリポジトリ(a-git)を作成する。 (a-git)にはetckeeperを入れてパーミッションの管理を行う。 (a)に共有Gitリポジトリ(a-git-shared)を作成する。 Gitの操…

ファイルパーミッションを含めたバージョン管理をする場合は etckeeper を使うしかなさそうだ

etckeeper は本来は /etc 以下を簡単にバージョン管理してくれるツールのようだが、-d オプションを使うことで /etc 以外のディレクトリも管理対象とすることができる。

Webデザインにおいてグラデーションを使う理由

適当なメモです。自然に存在するもので完全に均一な単色として見えるものはない。モニターでは物理的に二次元でしか表現することができないが、グラデーションを利用することでより三次元に近い表現をすることができる。つまり、グラデーションを使う理由の…

xdebug のインストール

xdebug をインストールする pecl install xdebug

tools to use

CentOSUbuntubashtmuxmysqlphpmyadminJavascriptjQueryPHPWordPressJenkinsRedmineVagrantVeeweeRubyRailsRubyGemsRakeCakePHPSeleniumphpunitsimpletestCygwinVimEclipseNetbeansPhantomJS

LD_LIBRARY_PATH とは

共有ライブラリを探すためのパスであり、実行されるソフトウェアはこれらのパスの中から自分が使用するライブラリを検索する。もし無い場合は下記のようなエラーを出す。(tmuxの場合) tmux: error while loading shared libraries: libevent-2.0.so.5: canno…

rakeコマンドってなんだ

http://rubicle.net/rubicle_talk_1-1.htmlRubyで記述されたタスクを実行するためのツール。タスクというのは、スクリプトで記述された一連の処理のことである。rake -T を実行すると説明付きのタスクの一覧が表示される。具体的に説明をみてみると、rake ab…

setContentView は

Activity に View を表示する。引数には View を継承したクラスを渡す。XML で記述されたレイアウトファイルでも可。

textViewを中央寄せする

package com.example.xxx; import android.os.Bundle; import android.app.Activity; import android.graphics.Canvas; import android.view.Menu; import android.widget.*; import android.content.*; import android.graphics.*; import android.view.*; …

矩形を表示させる

package com.example.xxx; import android.os.Bundle; import android.app.Activity; import android.graphics.Canvas; import android.view.Menu; import android.widget.*; import android.content.*; import android.graphics.*; import android.view.*; …

vim 7.3 をソースからインストール

./configure --enable-multibyte --enable-xim --enable-fontset --disable-selinux --with-features=huge make make install --enable-multibyteマルチバイトを利用できるようにする --enable-ximIMEを利用可能にする(?) --enable-fontsetいまのところ不明(…

centos 5.9 に mercurial を入れる

epel には mercurial あるようなので yum から入れる。 yum -y install --enablerepo=epel mercurial