2013-01-01から1年間の記事一覧

railsの正規化

SQLアンチパターン作者: Bill Karwin,和田卓人(監訳),和田省二(監訳),児島修出版社/メーカー: オライリージャパン発売日: 2013/01/26メディア: 大型本購入: 9人 クリック: 698回この商品を含むブログ (35件) を見るこれ、名著です。読んでいて苦い記憶がうわ…

fuelphp事始め

php

mod_rewrite public/.htaccessを変更すること(index.php)排除のため RewriteBase /path/to/fuelphpnginxで横にプロジェクトが並びまくる弊社環境の場合、いちいちrewriteやってられないので ダサいけどindex.phpは必須。config.phpをいじって対応になりそう…

base64エンコードサンプル

#!/usr/bin/env ruby # jpgファイルを無事作れたあとでhtmlに埋め込むサンプル jpg = '' ## rubyでa.jpgというファイルが作成できたとする。 open("a.jpg" ,"r"){|io| jpg = io.read } # base64にエンコード jpg = [jpg].pack('m') ## html書き出し open("a.…

新しいmysql環境から古いmysqlに接続する

これって、何したら接続できるんでしたっけ? mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. SET SESSION old_passwords=0; SET PASSWORD FOR 'user'@'localhost' = PASSWORD('xxxxx');

railscast#196,197 Nested Model Formをrails4で動かす

http://t-taira.hatenablog.com/entry/20110420/1303310783 を元にしてstrong parameterがあるとうまく動かないのでしょうがなく def category_params params.require(:category).permit! end してやり、DEPRECATION WARNINGが今後のことを考えると怖いので …

systemuのハマりどころ

会社でちょっと話題になった。上司が解決してくれたのでメモしておく。 プロセスが長く掛かりそうなときに途中で殺す処理を入れることがある。 https://github.com/ahoward/systemuによると require 'systemu' begin looper = %q( ruby -e" loop{ STDERR.put…

railsメモ railsで別DBを利用する

既存のユーザーテーブルなどを利用したいときがある。その場合は以下の様にすると良い class Hoge < ActiveRecord::Base establish_connection( :adapter => "mysql2", :host => "ホスト", :database => "データベース名", :username => "ユーザー", :passwo…

study duoというサービスを作った

会社でDUOが流行っている。 http://modeverv.aa0.netvolante.jp/study_duo/html/ にて。 tmuxなどで使えるようにperlでAPIも書いた。 検索は無いけど http://modeverv.aa0.netvolante.jp/study_duo/api/100/en で100番の英文が、 http://modeverv.aa0.netvol…

Railsメモ サブディレクトリモデル

models-| |-Network-| |-hoge.rbで module Network class Hoge def self.aa "aa" end end end で @a = Network::Hoge.new でアクセスできる

rails4のサブディレクトリ運用

http://quickhack.net/nom/blog/2012-09-19-rails-with-relative-url-root.html#sec-6config.ruは map ActionController::Base.config.relative_url_root || "/" do run Rails.application end起動は RAILS_RELATIVE_URL_ROOT='/yourdict' unicorn -p 8080 -…

JS即時実行いろいろ

js

<script> +function(){alert(1);}() (function(){alert(1);})() !function(){alert(2);}() </script> なんか+かっこいいよね(完全に好み) 最近良く使ってる。

chgrpで親ディレクトリを遡って変更しないと行けないのはわかっていたけど

変更したらなんか他のところがおかしくなるんじゃないかと二の足踏んでいた私を軽々のりこえてやってのけるところにしびれるぅあこがれるぅ。

ajaxでクライアントをリモートコントロールするサンプル

仕事で徹夜してしまって脳が沸いとる。 なんか書かないと家まで持たない。 電車内で書きました。 本当にアイデアですが作ってみました https://github.com/modeverv/ajaxremotecontroll定期的にサーバー側のjsを読み込んでevalする、というものです。 作りこ…

CrossOver.AppでIEが必要なとき

mac

IEコンポーネントが必要なアプリをインストールしたくても ー>CrossOver.AppのIE7はどうにもうまくインストール出来ない。 ー>MSからIE8英語版だとインストールできる。 URL:http://windows.microsoft.com/ja-JP/internet-explorer/downloads/ie-8 などか…

attr_accessorを自分で定義する。

メタプログラミングRubyを再読している。 メタプログラミングRuby作者: Paolo Perrotta,角征典出版社/メーカー: アスキー・メディアワークス発売日: 2010/08/28メディア: 大型本購入: 18人 クリック: 533回この商品を含むブログ (112件) を見る P154らへんの…

bundlerメモ

http://shokai.org/blog/archives/7262 がすごくよくまとまっていたのでメモ bundle init プログラム内で require 'bundler' Bundler.require

emacsのxmpfilterをrvm由来に

環境 macbook air 1.システムrubyをmv sudo mv /usr/bin/ruby /usr/bin/ruby 2..emacsに (setq xmpfilter-command-name "/Users/xxxx/.rvm/gems/ruby-1.9.3-p385@rails/bin/xmpfilter --dev --fork --detect-rbtest") 以上。 システムrubyを捨てることになり…

もっと早く読んでおけばよかった。

WEB+DB PRESS Vol.74作者: 井上誠一郎,奥野幹也,田中慎司,西嶋悠貴,伊藤直也,登尾徳誠,天野祐介,後藤秀宣,ヒノケン,近藤宇智朗,近藤嘉雪,渡邊恵太,堤智代,中島聡,A-Listers,はまちや2,川添貴生,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2013/0…

gitlab5でpush時にメールする

gitlab良いですね。version5になってgitlab-shellになりました。 なのでファイルの場所がちょっと変わりますね。 http://d.hatena.ne.jp/akishin999/20120702/1341193098 を参考に設定。ubuntu12環境 sudo su su - git git config --global hooks.mailinglis…

MySQLでselect結果でupdateする(副問い合わせ付き)

db

表題の件、副問い合わせselectの先の方で必要な情報がつながるのでやらざるを得なくてやったのですがすごい違和感。ちゃんと通るのですよコレ。 スパっとupdateされます。 UPDATE `tableA` r, (SELECT id,c.hoge FROM `tableA` r JOIN tableB e ON r.aa = e.…

変数を吸い込んで関数は動くのだけれど読みにくいです

perlを書くけど会社の先人たちのコードに四苦八苦しています。 #例1 #! /usr/bin/env perl my $val = 1; hoge(); $val = 2; hoge(); sub hoge { print $val . "\n"; } 関数内で引数取り込まないのやめてほしい。 呼び出し時のスコープの変数をもって関数は…

redmineのsvnレポジトリのページを開かないとsvnの更新がredmineに反映されない仕様をなんとかするスクリプト

表題の件、だよねーという話になってそれrubyなら5分で書けるよ、と。cronで毎分回してますまだ、svn使ってるの?というのもありますけどgitに移行過渡期だよ!、gitlabも稼働しているよ!でもTiDD開発すら始まったばかりだよ!というのが現実。さて、スク…

checkboxを一括チェック、チェック外すのtoggle

js

何が原因かは分からないがcheck状態を反転させるボタンを作ってjQueryでcheckedを操作するだけではうまくtoggleできない。 とても遅そうなセレクタを使うと機能した。 一応attrの変更も残している。僕の知識では原因がわからない、という。 <label><input class="chk_output" type="checkbox" name="outputs[]" value="1"> 1</label> <label></label>

phpのサイトをselenium-webdriverでrspec+guradする

phpのサイトですが、テストを自動化したら?とCTOに言われたのでselenium試してみました。seleniumからrspecファイルを吐き出せることがわかりましたので、rspecファイルを吐き出したところ、guardできるんじゃね?となり、カッとなって環境用意しました。 …

cronで叩くときに前回のプロセスをkillする

教えてもらった。すばらしい。sh覚えて行きたい。 #! /bin/sh PID=`ps x | grep -v grep | grep "hoge.rb" | awk '{ print $1 }'` if [ x$PID != x"" ]; then kill -9 $PID; fi ruby /hoge/hoge/hoge.rb これで前回プロセスが暴走しても強制的に心機一転キッ…

gitlabで新規なPCからpushする時の方法

sshとか公開鍵とかよくわかっていない。 うまい使い方あるんだろうなぁ。 どうやったらできるかをメモしておく。 ダッシュボード > プロファイル > Add Public Key ここに貼り付ける文字列を作る。 ssh-keygen -t rsa -C "seed.メルアドとか。" 作成ファイル…

passengerでrails サブディレクトリ運用の場合の設定

仕事でrails触れる日が来るとは。。。 本番環境はpassengerで良いとなって、サブディレクトリで運用しようとしてハマった。 gem install passengerpassenger-install-apache2-module ls -s をしてhttpdの設定には # config for passenger LoadModuleの3行ぐ…

転職します

これまではSEのはずですが非IT系っぽい会社でした。 ITってもっとコード書く仕事だと思っていた。 きっとコレは勘違い。 バリバリコードもかける会社に移籍します。 設立5年の電話系ITの会社。 神戸元町にある大変オシャレなオフィスの会社です。 全社macで…

macbookの電池交換した

mac

もうずっと「電池交換して下さい」となっていて電源接続されていないとどうにもならない状況が続いていました。 ネットで必要な電池を探して購入したらシンガポールから届いたでござる7500円。 交換したらまた「気軽に持ち運べるノート」に戻りました。 すご…

テーブル名の大文字小文字

sqlでは大文字小文字関係ないよね!とか牧歌的に思っていました。 しかしMySQLではテーブル名の大文字小文字を区別するおぷしょんが在り、本日つまづきました。おどろき。/etc/my.cnfなどのmysqldのところに lower_case_table_names=1を書き込みましょう。ち…