class Comment < ApplicationRecord belongs_to :user belongs_to :post alias_method :sender, :user def reciever post.user end end こうしておくとメール送るときにわかりやすい。 if comment.sender != comment.reciever NoticeMailer.recieved_comment(@comment).deliver_later end
こちらの記事の解決編です。 ActiveRecord::RecordNotFoundのエラーは放置すべきか? - komagata @hiroshi3110さんからズバリな答えをいただきました。 @komagata ... とかやってました。 ActiveRecord::Notfound がでるときはバグというのがすぐわかるように — hiroshi (@hiroshi3110) 2015, 1月 6 怖話で実装 # lib/record_not_found_by_trustless_param.rb: class RecordNotFoundByTrustlessParam < StandardError; end # app/controllers/comics_controller.rb: class ComicsController < ApplicationController
$ rails c >> Story.last.previous => #<Story id: 1, title: "パンドラ(禁后)", body: "私の故郷に伝わっていた「禁后」というものにまつわる話です。\nどう読むのかは最後までわかりませんでしたが...", view: 0, user_id: 1, created_at: "2011-11-25 08:48:33", updated_at: "2011-11-25 08:48:33", comments_count: 0, scares_count: 0> バグ報告からふとActiveRecordで使えるpreviousメソッドってどこからきてるんだろう?と思ってgemsをgrepしてみるも見当たらず。 ┐(´ー`)┌「これだからメタプログラミングってやつは・・・」. なんですと!よし、場所を探り当ててやる! >> Story.
Kaleidoscopeをgitで使うデモ。 元ファイルを修正すると即座に反映されるのがちょっと便利。
昨日の生放送で@n0tsさんにscreenの便利な設定を教えてもらいました。 .screenrc screen -t vi 1 screen -t zsh 2 screen -t db 3 screen -t repl 4 screen -t server 5 select 1 こう書くと、screenを立ち上げた時に自動的に5枚windowが用意されて1が選択されている状態になります。特に僕はwindow 0を使ってなかったし、かならず5毎立ち上げるのが癖になっていたのでとても便利になりました。 それぞれのwindowの使い道も何故か自分の中で決まってるので初期タイトルにそれを付けておきました。
少し長めのJavascriptを書く時にtypoとかケアレスミスが目立ってきたので文法チェックしてくれるjslintをvimから使うjslint.vimを使ってみました。 (JavascriptでVNCクライアントを実装したJoelさんのインタビューでJSLintを使ってるというのを読んで気になってました。) hallettj's jslint.vim at master - GitHub READMEに書いてある通りで行けます。(Macの場合はこう) % sudo port install spidermonkey % git clone git://github.com/hallettj/jslint.vim.git % cd jslint.vim % rake install MacBookの場合、F5とかってfnキー必要だし面倒なので他に割り振った方が良さそうです。 quickfi
Heroku用Redmine簡単セットをforkしときました。バージョンは0.9.6で日本語用の初期データが入っている状態です。 % sudo gem install heroku rails -v=2.3.5 sqlite3-ruby taps % git clone git://github.com/komagata/redmine.git -b 0.9.6-for-heroku % cd redmine % heroku create issues-fjord % heroku db:push % git push heroku 0.9.6-for-heroku:master admin / adminで入れます。 やっていることはこちらを参考にしただけなので下記を見て自分でやっても同じです。 参照:Herokuでredmineを動作させる。 - コンピュータわ難しくて分からない!!
プログラマーの力量を見極める--面接官になったら尋ねるべき質問実例集 - IT業界を生き抜く秘密10箇条 - ZDNet Japan ソフトウェア開発者を採用する面接の場においては、応募者の専門家としての力量を見極めることが最も困難な作業の1つである。 現時点でプログラマーの面接についての自分の考えをまとめておきます。 結論: プログラマー採用にあたって応募者の力量を見極めることは困難ではない。(面接で見極めることは困難である。) 前提: 短時間の面接(対面して話す事)でプログラマーの力量を実用的な精度で見極めることは不可能である。 中途採用において、PCやネットと切り離した無菌室状態での力量と現実世界での成果には大きな差がある。 専門技能(プログラミング)の高低と人間性の良し悪しは無関係である。 採用方法: ソースを見る。(githubのアカウント名を教えてもらえれば十分である) 会って
svn最新だけをclone 職場はsvnで個人的にgitを使うときなど、全部持ってくると死ぬほど時間がかかるので最新のtrunkだけ持ってくる。 % git svn clone -rHEAD https://svn.example.com/unk/trunk unk svnから更新分を持ってくる % git svn rebase svnへ更新分を反映する % git svn dcommit 空ディレクトリの削除をsvnにお伝えする % git svn dcommit --rmdir svnをgitに変換 -sは--stdlayoutでtrunk/, branches/, tags/構成を想定してブランチに変換してくれるそうです。 % git svn clone -s http://foo.com/repos/project ブランチ一覧 % git branch ブランチ作成 % git
とりあえずはこんな感じで行こうかなあ・・・。(みんなどうやってる?) まずHTTPのメソッドについてはREST厨的にはこれしか無い気がする。そうなるとgetが4個あるので最低でも4個のクラスが必要になる。suffixはAction, Handler, Page, Controllerなど色々な例を見るけど、どうもどれもしっくりこない。 Actionはその後に動詞が来るので"XxxActionがgetする"っていうのは何か変な感じがする。Handlerは無難な感じがするけど逆にあってもなくても良いものをわざわざ付けてるという雰囲気が気になる。Pageはページだけじゃないし、Controllerはリソースに対して一つのControllerが対応しないとおかしい気がする。 NewとかEditもちょっとなぁ・・・。
花京院の続き。 "プログラマーとして困る"というのはみみっちい話だけど2点ある。(両方個人的な話で、「俺は関係無いな」という人も沢山いると思う。) プログラマーの価値が下がる 超大雑把に言うと、IT業界のエンタープライズ系・コンシューマ系は、 垂直統合型の時代 水平分業型の時代 オープンソースの時代 Googleの時代 って感じだと思う。1、2の時代はある程度鉄板ソリューションがあったんだけど、オープンソースが仕事にも使える様になってきて、プログラマにコーディングだけじゃなく、カオスな中からソリューション自体を選ぶ目利き的な事も期待されるようになった。 それが全部Googleでいいんでしょ?ということになるとIDEやフレームワーク、ミドルウェアなどもGAEに特化してきて今よりプログラマーの差異は小さくなる。(カオスな中をHackして一刀両断に問題解決するのが醍醐味だったわけだ) 多様性が減
瀬戸内海の漁師の続き。 GAEが出た時、 「スケールするつってもそんな大量のアクセスこないしなぁ。月100万PVぐらいまでならさくらの7800円(専用サーバー)で行けるんじゃないのかな?」 なんて思ってた。そんな風に考えてて触ってすらなかった。花京院風に言えばコチコチのクソ石頭の持ち主だった。ところが一年半近く遅れて最近触ってみたところ、なんかスゲー簡単だし、ほとんどのWebサイトは無料で行けるぐらい無料ゾーンが広い。 どうやらGoogle様の意図は俺の思ってたのとは違うらしい。 高性能な分散環境にばかり注目していたが、GAEはある意味、"無料サーバー"なのだ。GAEには"0円"から"格安専用サーバー1台程度"までを全てリプレイスできちゃうような無料レンタルサーバーサービスという側面がある。"WordPressが動く広告も無い無料レンタルサーバー"があったらみんな使うだろう?MySQLとS
デザイナーのmachidaさんと話していて、"エンジニアによってスキル・給料・モチベーションがバラバラで分かりづらい"的な話しを聞きました。 というよりもっとはっきり言うと、 「高い金取ってポンコツシステム作ってくスーツの奴は何なんだ。」 という事っぽい。 これは耳が痛い話ですが、下記のようにプログラマーには3種類居ると考えてはどうかと話した。 土日にコードを書く人:ホビイスト 平日にコードを書く人:インダストリアルプログラマー 365日コードを書く人:ハッカー また、プログラミングには産業的な側面と文芸的な側面の両方があるので分かりづらい。 産業的な側面からみて土日も勉強しているのはとても熱心な人だということになるけど、文芸的な側面、例えば音楽をやってる人にすれば土日練習するのなんて当たり前。 僕らは現状のスキルが無くてもホビイストを探してる。求人市場にはスキルの高いインダストリアルプロ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く