やっぱりScala and Liftな環境をEclipseで開発したい!
Scala and Liftの環境を、Ubuntu上に構築したのはいいが、やはり使い慣れたEclipse上で開発したくなりました。 ということで、Eclipseに環境を構築する手順を書いてみます。 まず、Eclipseを入れるOSですが、Windowsです。 なので、Windows上にjava環境をセットアップしていきます。 JDKインストール Windows用のJDKをダウンロード 環境変数の設定 次に、scalaです。コンソールでscala使いたいので入れておきます。 Scalaのインストー ...
Ubuntu 11 にScalaとLiftの環境を構築する
Scalaが気になるので、実行環境を作ってみる。 Scalaと、Scalaでwebアプリケーションを作るに当たって必要になってくるソフトウェアを上げてみる。 Scalaとは JVM上で動作する比較的新しい言語 オブジェクト指向言語(つまりJava)と関数型言語 Liftとは Scalaで構築されたWebアプリケーションフレームワーク Mavenとは Java用プロジェクト管理ツールである 環境の構築 Ubuntu 11 はインストール済みとする。 JDKのインストール sudo apt-get ...
PHPのフレームワーク「FuelPHP」
PHPのフレームワークFuelPHP 参考
Railsでx_sendfileを使う
Railsでsend_fileというメソッドがある これは、ファイルなどをそのまま返す場合に使ったりするが これを使うとRailsのメモリ使用量が増加していく。 2.1でこの現象が出るが 2.3とかもかも? なんかメモリを解放してないっぽい感じですが、これに関しては、ほかの方が調べてたりするので深く調べないことにする。 で、解決方法は、x_sendfileを使うのがスマートな気がするので、これを採用する。 導入手順 apacheにmod_xsendfileを組み込む wget sudo apxs ...
Railsで日付処理
Railsで日付処理は、意外と簡単に出来たりする。 1日前 1.days.ago 1日後 1.days.from_now 1ヶ月前 1.months.ago 1ヶ月後 1.months.from_now 1年前 1.years.ago 1年後 1.years.from_now また、本日の開始日時として、たとえば 2011-10-01 00:00:00 という情報を取りたい場合 Date.today.beginning_of_day 逆に 2011-10-01 23:59:59 という情報を取り ...
Solaris 11にMySQLをインストール
Solaris 11 にGUIを入れた環境でMySQLをインストールする手順 パッケージマネージャを起動 mysqlでパッケージを絞り込む この中から mysql-51 mysql-51/library をチェック。 インストール/更新ボタンをクリック。 これで、パッケージはインストールされる。 mysqlをサービスとして設定する。 sudo svcadm enable mysql mysqlの起動確認 ps aux | grep mysql mysqlのプロセスが起動していることを確認。 my ...
Solaris 11 Expressをインストール後、GUIを入れる
Solaris 11 Expressですが、CUIでのインストールになるようです。 なので、GUIをインストールしてみます。 なにやらパッケージをインストールします。 sudo pkg install slim_install マシンを再起動します。 sudo reboot GUIを有効にします。 sudo svcadm enable gdm
Solarisのシャットダウン
sudo shutdown -y -g0 -i5
VMware PlayerにSolaris 11 Expressをインストール
VMware PlayerにSolaris 11をインストールしてみたくなった。 入れる目的は、zfsの調査。 あと、適当にrubyのメモリリーク調査用とかに使おうかなぁ程度。 ということで、まずはインストーラをダウンロードする。 Oracleのホームページにあるダウンロードから Oracle Solarisをクリック そこから、Oracle Solaris 11を探して、ダウンロード。 sol-11-exp-201011-text-x86.iso MVware Playerを起動し、 をクリッ ...
redmineのwikiで、テーブル内の文章を改行
redmineにはwikiがついてます。 基本Textile形式で記述する物なので 表を作るときは |名前|年齢|趣味| |太郎|23|ギター| という感じで書きます。 が、たとえば趣味が複数あって、途中で改行させたいといった場合に、<br/>タグとかが使えません。 これは、redmineが採用しているライブラリ「redcloth3」の中でbrを許可しないようになっているからです。 どうしても表の中で改行を使いたい場合、この「redcloth3」ライブラリを変更する必要があります。 ...
visudoなんかで使用されるエディタをviに固定したい
visudoを実行するときなど、なんかおかしなエディタが起動したりする。 visudoって、viって付くくらいだからviが起動したらいいのにと思う。 そこで、vi固定する方法。 標準のコマンドエディタは alternativesという機構で管理されている。 altenativesは同様のソフトウェアがあるとき、どれを使うかを管理する仕組みで たとえばJavaで使われるJavaVMがSun JavaなのかOpen Javaなのかとか? で、とりあえず管理コマンドを叩いてみる sudo update ...
公開鍵認証の設定
公開鍵認証の大まかな手順 ○ログインする側 公開鍵の作成 ssh-keygen -t rsa ~/.ssh/id_rsa.pub というファイルができあがるので、このファイルをログインされる側のサーバに何らかの手段で転送する。 ○ログインされる側 公開鍵の設置 「authorized_keys」ファイルにログインする側で作成した公開鍵の中身を貼り付けます。
ssh公開鍵の作成
鍵ペアの作成 opensshがインストールされているLinux等で、ssh-keygenコマンドを使用して以下のいずれかの鍵ペアを作成 RSA1鍵(ssh version1) % ssh-keygen -t rsa1 作成される秘密鍵: ~/.ssh/identity 作成される公開鍵: ~/.ssh/identity.pub RSA鍵(ssh version2) % ssh-keygen -t rsa 作成される秘密鍵: ~/.ssh/id_rsa 作成される公開鍵: ~/.ssh/id_rs ...
ベリサイン(verisign)のクロスルートでのSSL設定について
ベリサインSSL証明書で携帯もやりたいので、クロスルート中間証明を入れる。 クロスルートとはどーいう事かというと、 「セキュア・サーバID」公開鍵長2048bit対応の端末の場合 2048bitの対応端末ではルート証明書は「Class 3 Public Primary CA - G5」に変更となり、サイト証明書との間に中間証明書が入る3階層となります。 Class 3 Public Primary CA - G5 Class 3 Secure Server CA - G3 サーバ証明書 「セキュ ...
Apache(2.2系)でSSL接続(なんちゃって、個人認証編)
ApacheでSSL接続をするために、SSL個人認証を入れる。 cd /etc/apache2 sudo mkdir ssl cd ssl opensslで秘密鍵(server.key)を作成 sudo openssl genrsa -out server.key 1024 サーバー用公開鍵(server.csr)作成 openssl req -new -key server.key -out server.csr このコマンドを実行すると、いくつか設定する項目が表示されます。 設定の内容 Co ...
rspecでコントローラのテストを書くときのTips
モジュールがインクルードされているか it "should include AuthenticatedSystem" do controller.class.included_modules.should include(AuthenticatedSystem) end 隠したいパラメータがフィルターされているか it "should filter credit_cards" do controller.send(:filter_parameters, 'credit_card' = ...
特定のアカウントのsudo時のパスワードを聞かれないように設定する
特定のアカウントでsudoする時に、パスワードを聞かれないように設定する。 sudo visudo コマンドでsudoerファイルを開き、以下の行を追加(修正)する hoge ALL=(ALL) NOPASSWD: ALL とすると、パスワードを聞かれなくなる。
Ubuntuのホスト名を確認・設定する
Ubuntuのホスト名を確認する > hostname ホスト名を変更する vi /etc/hostname で、ホスト名を変更 > hostname を実行
has_manyで関連するテーブルのidの一覧を簡単に得るには
usersテーブル hobbysテーブル があり、 usersテーブルの方に has_many :hobbys hobbysテーブルの方に belongs_to :user が指定されているときに user.hobbys.collect{|c| c.id} とすれば、hobbysのID一覧が得られる が、 user.hobby_ids とすれば、idの一覧を簡単に得られる
MySQLのselectで任意の順番にソートする
MySQLで任意の順番にソートをするにはfieldを使う id name 1 一郎 2 二郎 3 三郎 4 四郎 5 五郎 6 六郎 7 七郎 8 八郎 9 九郎 というテーブルがあるとする。 select * from users; とすれば、 id 1 2 3 4 5 6 7 8 9 という一覧が返ってくる select * from users order by field(id, 4,5,6); とすると id 1 2 3 7 8 9 4 5 6 という結果が返ってくる。 なぜか、fie ...