【Ruby on Rails】テーブルとモデルを作る。
Ruby on Railsでテーブルとモデルを作ります。
例えばユーザーテーブル。カラムはidとname
$ rails generate scaffold User id:integer name:string
上記コマンドでデータモデルの属性をオプションとしてパラメータに追加します。
$ bundle exec rake db:migrate
マイグレーションをするとテーブルとモデルができます。
因みに
<APP_ROOT>/db/schema.rb
こちらにスキーマがあります。
おわり。
phpで別ポートへの通信ができない
solrを使いだしてphpからsolrに通信する機会があるのですが
cURL使ってもfile_get_contentsを使ってもどうも結果が返ってこない。
どうしたものかと思ってデバッグをしてみると
cURLのエラーメッセージでaccess deniedと出た。
アクセスできない・・・SELinuxか!と思い
ローカルなので思い切ってSELinuxを無効にしました。
状態確認、Enforcingは有効状態
# getenforce Enforcing
無効にします
# setenforce 0
もっかい確認
# getenforce Permissive
ずっと無効
# vim /etc/sysconfig/selinux SELINUX=disabled
かなりハマった・・
【解決】Rails4.0 mysql2のbundle installでエラー
Ruby on Railsでmysqlを使おうと思いGemfileに
gem 'mysql2'
と記述し
$ bundle install
すると・・
mysql.h is missing. please check your installation of mysql and try again.
エラー出ました。
じゃぁmysql-devel入れますかなと
# yum install mysql-devel
Package perl-DBD-MySQL needs libmysqlclient.so.15, this is not available. Package perl-DBD-MySQL needs libmysqlclient.so.15(libmysqlclient_15), this is not available. Package php53-mysql needs libmysqlclient.so.15, this is not available. Package php53-mysql needs libmysqlclient.so.15(libmysqlclient_15), this is not available.
うおお・・
じゃぁ入れます。
# yum install mysqlclient15
Transaction Check Error: file /usr/lib/mysql/libmysqlclient.so.15.0.0 from install of mysqlclient15-5.0.91-1.jason.1 conflicts with file from package mysql-5.0.86-jason.1 file /usr/lib/mysql/libmysqlclient_r.so.15.0.0 from install of mysqlclient15-5.0.91-1.jason.1 conflicts with file from package mysql-5.0.86-jason.1
入れれない。ファイルがぶつかってるのである。
入ってるバージョンを確認してみる
# rpm -qa | grep mysql
mysql-5.0.86-jason.1 php53-mysql-5.3.3-13.el5_8 mysql-server-5.0.86-jason.1
上記バージョンが入っていました。
古いバージョンを削除
# yum remove mysql
# yum --enablerepo=remi,epel install mysql
# yum install mysql-devel
するとどうだろう
# gem install mysql2
Building native extensions. This could take a while... Successfully installed mysql2-0.3.13 Parsing documentation for mysql2-0.3.13 unable to convert "\xA0" from ASCII-8BIT to UTF-8 for lib/mysql2/mysql2.so, skipping Installing ri documentation for mysql2-0.3.13 1 gem installed
入った!
excelのスケジュールを作る上で色付きのカラムを数えるのが便利すぎる
上記のようにexcelでスケジュールを作る時があると思いますが。
工数が変わる度に何人日か書き直す。なんて時があるはず。
そんな時はマクロで関数を作ると「色付きのカラム数をカウント」できるのです。
参考:
How to count and sum cells based on background color in Excel?
Function ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean) Dim rCell As Range Dim lCol As Long Dim vResult lCol = rColor.Interior.ColorIndex If SUM = True Then For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = WorksheetFunction.SUM(rCell, vResult) End If Next rCell Else For Each rCell In rRange If rCell.Interior.ColorIndex = lCol Then vResult = 1 + vResult End If Next rCell End If ColorFunction = vResult End Function
あとは
=colorfunction(カウントしたい色があるカラム,カウント範囲,FALSEでカウントTRUEでSUM)
これで色付きカラムの増減を自動でカウントしてくれます。
便利。
rails consoleでエラー
require': cannot load such file -- readline (LoadError)
とか
uninitialized constant IRB::ReadlineInputMethod::Readline (NameError)
が出たら
Gemfile内に
gem 'rb-readline', '~> 0.4.2'
と書いて
bundle install
で動くようになります。
solr cloudを使ってみる。
なんか最近のsolrは分散検索が簡単にできるらしいのでやってみた。
参考:
http://wiki.apache.org/solr/SolrCloud
rm -r example/solr/collection1/data/* cp -r example example2
cd example java -Dbootstrap_confdir=./solr/collection1/conf -Dcollection.configName=myconf -DzkRun -DnumShards=2 -jar start.jar
各オプションの説明
・Dbootstrap_confdir
zookeeperの設定ファイルがない場合、指定するディレクトリ
・DzkRun
zookeeperをsolrとして使うためのオプション
・Dcollection.configName
新しいコレクションの設定ファイル名になる。省略すると"configuration1"となる
・Dnumshards=2
インデックスを分ける際の論理的なパーティション番号を指定
cd example2 java -Djetty.port=7574 -DzkHost=localhost:9983 -jar start.jar