タグ

ブックマーク / lukesilvia.hatenablog.com (7)

  • 特定のコマンドをパスワードなしでsudo する設定 - LukeSilvia’s diary

    ちょい分かりにくかったので、設定メモです。やりたいことは、sudo で実行する際に、find コマンド等、よく使う、かつ、実行してもあまり被害がないコマンドに関しては、パスワード入力なしで実行できるようにしたいということです。 sudo コマンドに関する設定は、「/etc/sudoers」にかかれています。 設定を変更するのは、これを直接編集するのではなく、「visudo」コマンドを実行します。このコマンドで設定を行うと、終了時にSyntax のチェックなどを行ってくれます。 $sudo visudo ユーザー「lukesiliva」は、「find」コマンドだけについては、sudo で実行する際にパスワードを聞かれないようにしたいという設定は以下のようになります。 こで、find コマンドのみパスワード入力を求められず、他のコマンドをsudo で実行する際には、今まで通りパスワードを求めら

    特定のコマンドをパスワードなしでsudo する設定 - LukeSilvia’s diary
  • MySQLの高速化のメモ - LukeSilvia’s diary

    最近Railsアプリを作成している中で、初めて高速化をやったので、その際のことをメモしておく。 高速化の手順 ベンチマークをとる まずはベンチマークをとっておく。これによって、どのくらい早くなったか見極める。Railsなら、script/performance/benchmarkerを使って出来る。 テストコードとして、大量のフィクスチャを用意し、それに対して処理したベンチをとる方法もあるが、フィクスチャのデータがかなり現実味を帯びている必要があるため、番環境でベンチをとった方がいい。 また、プロファイルして、当にDBアクセスがボトルネックになっているのかを見ておく。 スロークエリログを見る MySQLには、結果を得るのに一定時間以上かかったクエリを記録しておく、「スロークエリログ」という機能があるので、どのクエリがボトルネックになっているかをこのログを見て調べる。 ログファイルの場所

    MySQLの高速化のメモ - LukeSilvia’s diary
    J138
    J138 2010/08/02
  • まつもとゆきひろ氏が語る「ビューティフルコード」セミナーに行って来た - LukeSilvia’s diary

    まつもとゆきひろが語る「ビューティフルコード」×「プログラマ35歳定年説」に行ってきました〜。今年初めて行ったイベントなのですが、とてもいいお話を聞くことができました。美しいコードとはどのようなものか、またそのようなコードを書けるようになるためにはどうすればいいのかというお話でした。 以下、まとめになります。僕のメモを元にしたので、まつもとさんが話された内容と多少ズレがあるかもしれません。 そもそもコードとは何か 「コードの美しさとは」という前に、そもそも「コード」とは何か。 ソフトウェアの作成はものづくりではない コードは工業製品ではない。コードは、車とかと同じ工業製品だと思われることが多く、例えば次のような勘違いがある。 日は「ものづくり」が得意だ。だからソフトウェアも「ものづくり」として取り組めばいい 車のように、ソフトウェアも部品をどんどんコピーして組み合わせばできる 違うよ!全

    まつもとゆきひろ氏が語る「ビューティフルコード」セミナーに行って来た - LukeSilvia’s diary
  • MySQL のNULL ではまったことあれこれ - LukeSilvia’s diary

    MySQL に限らず、SQL のNULL の仕様には何回か「えっ」と驚くことがあったのでメモしておこうと思います。5.1 版の日語マニュアルがなかったものについては、4.1 のマニュアルを参照しました。 そもそもNULL は何を意味するか NULL は未定義または、不明を意味する。「電話番号を持たない」ということを表現する場合は、NULL ではなく、空の文字列を使う。 NULL 値というものを SQL 初心者はよく混乱します。SQL 初心者は、多くの場合、NULL が空文字 "" と同じであると考えてしまいます。これは違います。たとえば、以下のステートメントは完全に別のものです。 mysql> INSERT INTO my_table (phone) VALUES (NULL); mysql> INSERT INTO my_table (phone) VALUES (""); どちらのス

    MySQL のNULL ではまったことあれこれ - LukeSilvia’s diary
    J138
    J138 2010/06/03
  • ハッカーと遅延評価勉強法 - LukeSilvia’s diary

    の(というかはてな界隈)ハッカーはほぼ「遅延評価勉強法」をしている気がします。 僕はまだまだ世界のハッカーについて詳しくもないし、日ハッカーですら、はてな界隈で有名な人を知っているくらいです。それでも、上記のような確信を持ちました。 遅延評価勉強法とは 遅延評価勉強法とは、僕が知る限りでは、id:amachangさんのブログで作られた造語です。元はプログラム用語の「遅延評価」から来ています。 「遅延評価」という言葉を調べてみると、「ある式を、その結果が当に必要になる時点までは評価しないでおくテクニック」とあります。そのメリットは、「条件次第で捨ててしまうような値を事前に準備することは非効率的である。このような場合遅延評価を行うと必要なときだけ値が計算されるので計算量を低減できる」とありました。 ここから遅延評価勉強法とは、「その知識が必要になった時に初めて勉強する方法」です。もっ

    ハッカーと遅延評価勉強法 - LukeSilvia’s diary
  • kill コマンドって、プロセスを終了させるものかと勘違いしていた - LukeSilvia’s diary

    今までは、「kill すればプロセスは終了する」って思ってたので、例えば、以下のようなコマンドでデーモンプロセスが終了しないのを不思議に思ってた。 $ kill [デーモンのプロセス番号] (いや、man 読んどけよって話なんですが・・・) kill で終了させられない例 例として、rails のデフォルトのweb サーバであるwebrick $ ruby script/server webrick -d $ ps ax | grep ruby 518 ?? S 0:00.00 ruby script/server webrick -d $ kill 518 $ ps ax | grep ruby 518 ?? S 0:00.00 ruby script/server webrick -d kill したのに終了してねー(⊃д⊂) 今までやってた対処法 $ kill -KILL 518 こ

    kill コマンドって、プロセスを終了させるものかと勘違いしていた - LukeSilvia’s diary
  • saveとsave! - LukeSilvia’s diary

    ■ARをDBに保存する際のsaveメソッドの使い分け 【1.saveは例外を発生させない】 saveはとても簡単だが、例外を発生させない。よって、リレーションの場合や、トランザクションの場合 は困ってしまう。次の例を見てみる。(p237) invoice = Invoice.new invoice.save an_order.invoice = invoice見ての通り、リレーションである。子行を作成し、親行に関連付けている。しかし、ここで、子行が保存 されない場合(検証などで引っかかった場合)、ARは何も訴えない。よって、次の様にする。 invoice = Invoice.new invoice.save! an_order.invoice = invoiceこれなら、子行(invoice)が保存されなかった際に例外が発生するので、何かあった時に分かる。 【2.トランザクション編(p25

    saveとsave! - LukeSilvia’s diary
    J138
    J138 2009/04/14
  • 1