トップ 最新 追記   RSS 1.0 FEED  

Journal InTime


2005-11-02 (Wed) [長年日記]

_ 残業

何か最近残業が多いよう。 もうちょっとチームとしての生産性を上げないとなあ...。

Tags: 会社

2005-11-04 (Fri) [長年日記]

_ 上向き矢印

で,今回の話も脱線していて(笑)昔のASCIIには,左向き矢印と上向き矢印があり,DECのPDP-8上で動いていたFOCAL言語では,左向き矢印が代入,上向き矢印が累乗に用いられていたのに,1967年のASCIIの改定で,それぞれ下線(_)と曲折アクセント記号(^)に置き換えられてしまって,自分のコードが悲惨に見えるようになってしまったとのこと.

[Cafe Babe - Upwards Arrowより引用]

Jim Freezeが提案してたのも結局矢印だったのかよっ。

Tags: Ruby

2005-11-06 (Sun) [長年日記]

_ RSSフィード

プロジェクトページのニュースのRSSフィードの提供を開始しました。

Tags: ximapd

2005-11-07 (Mon) [長年日記]

_ 配列へのポインタ

後輩がハマっていたので、C FAQに載っていることを教えてあげた。 前にも教えてあげたんだけどなあ。

Tags: C

2005-11-10 (Thu) [長年日記]

_ AutoArchive

AutoArchiveというプラグインを作ったらどうだろう。

有効にすると、INBOXやmlのメールで一定期間より古いものが自動的に アーカイブされて、queriesフォルダで検索しないと見えなくなるという もの。 実際にはメールを移動したりするわけではなくて、クエリに日付による 条件を付けるだけなんだけど。

前も同じことをやろうと思ったんだけど、プラグインでできるように した方がすっきりするかなという気がしてきた。 対象フォルダや期間は設定できた方がいいかな。

Tags: ximapd

_ W32S

証明書 W32S

ポイントを使って5000円で購入。色はオレンジ。

なるべくかぶらないようにお願いします > 各位

ちなみに、目玉機能はKDDIの認証局から発行される証明書を取得できることです(写真右)。 かっこいい。

Tags: 買い物

_ Security Pass

サーバ用の証明書も無料で発行してもらえるらしいけど、

ご利用は日本国内に本店所在地を有する国内法人、国または自治体などの公共法人に限らせていただきます。

[KDDI 法人サービス: Security Pass > お申し込み方法より引用]

研究と称して取ってみません? > ゆうぞうさん


2005-11-13 (Sun) [長年日記]

_ まいにちのやることリスト

中身 表紙

手軽なTODOツールを探していたのだが、サティでいいのを見つけた。 「ひとやすみ」とか「あしたでいいや」とかいうのがいいね。

本日のツッコミ(全4件) [ツッコミを入れる]

_ まつもと [あんまり固くなさそうなところがいいですね]

_ shugo [階層をサポートしてたらまつもとさんにもお勧めできるんですけど;)]

_ まつもと [欲しいのは階層よりもむしろネットワーク共有です。文房具屋で買えるツールではしばらく実現しそうにないですね。]

_ shugo [そこはウェブカムを買って来てですね...なんてのは冗談です(汗]


2005-11-17 (Thu) [長年日記]

_ コンビニエンスメソッド

後輩に通じなかったのはいいとして、まつもとさんにも通じなかったので、AWDwRでは訳注を付けることにしようかな。

「便利なメソッド」みたいにとくに用語っぽくない感じにしてもいいけど、 「他のメソッドでも(複雑にはなるけど)書ける処理を、より簡単に記述するためのメソッド」 というニュアンスが伝わらなくなってしまうのが気になる。

本日のツッコミ(全3件) [ツッコミを入れる]

_ ささだ [ユーティリティメソッド?]

_ まつもと [それは私も思ったんだけど、英語と全く違うカタカナを割り当てるのもなあ、と躊躇しました。日本語英語を拡大再生産するのも..]

_ えむ ['90年代初期のオブジェクト指向本では「コンビニエンスメソッド」という言葉をよく見た記憶があります。あの頃なので吉田..]


2005-11-22 (Tue) [長年日記]

_ encoding support for MySQL adapter

もりきゅうさんの記事を参考に MySQLアダプタにencodingオプションを追加するパッチを作って、tracに投げてみた。

development:
  adapter: mysql
  database: depot_development
  socket: /var/run/mysqld/mysqld.sock
  username: shugo
  password:
  encoding: cp932

みたいな感じで設定する。

"表"のquoteもOKで、binary_test.rbもちゃんと通ったけど、なぜかencoding: sjisだとquote のテストでコケる。 "\\"が"\201_"になるみたいだけど、MySQLの変換テーブルのせい?

quoteまわりはPostgreSQLアダプタもあやしい気がするけど、Mysql.quoteじゃなくてMysql#quoteを使うべきだということになかなか気付かずハマったのと、MySQLのバイナリのquote方法をしらべるので力尽きたので、今日はこれまで。

Tags: Rails

_ コンビニメソッド

コンビニメソッド、ということでいかがですか。

[丁稚な日々より引用]

文体と合わないので却下の方向で。

ちなみにコンビニ関数 というのはすでに定着してるようですね(ほんとか)。

_ encoding support for MySQL adapter(2)

MySQL#real_connect は self が返るので、そのパッチだと mysql == conn ですね。 つまり @connection.quote でいいわけです。

[3 日坊主日記 - encoding support for MySQL adapter , 高速バスの予約より引用]

がーん、そうだったんですか。 と思ったらもうcommitされてるし。

reconnect!も考えると、こんな感じですかね。

Index: lib/active_record/connection_adapters/mysql_adapter.rb
===================================================================
--- lib/active_record/connection_adapters/mysql_adapter.rb	(revision 3155)
+++ lib/active_record/connection_adapters/mysql_adapter.rb	(working copy)
@@ -38,17 +38,7 @@

       mysql = Mysql.init
       mysql.ssl_set(config[:sslkey], config[:sslcert], config[:sslca], config[:sslcapath], config[:sslcipher]) if config[:sslkey]
-      if config[:encoding]
-        begin
-          mysql.options(Mysql::SET_CHARSET_NAME, config[:encoding])
-        rescue
-          raise ActiveRecord::ConnectionFailed, 'The :encoding option is only available for MySQL 4.1 and later with the mysql-ruby driver.  Again, this does not work with the ruby-mysql driver or MySQL < 4.1.'
-        end
-      end
-
-      conn = mysql.real_connect(host, username, password, database, port, socket)
-      conn.query("SET NAMES '#{config[:encoding]}'") if config[:encoding]
-      ConnectionAdapters::MysqlAdapter.new(conn, logger, [host, username, password, database, port, socket], mysql)
+      ConnectionAdapters::MysqlAdapter.new(mysql, logger, [host, username, password, database, port, socket], config[:encoding])
     end
   end

@@ -97,10 +87,11 @@
         "MySQL server has gone away"
       ]

-      def initialize(connection, logger, connection_options=nil, mysql=Mysql)
+      def initialize(connection, logger, connection_options=nil, encoding=nil)
         super(connection, logger)
         @connection_options = connection_options
-        @mysql = mysql
+        @encoding = encoding
+        connect
       end

       def adapter_name #:nodoc:
@@ -144,7 +135,7 @@
       end

       def quote_string(string) #:nodoc:
-        @mysql.quote(string)
+        @connection.quote(string)
       end

       def quoted_true
@@ -170,7 +161,7 @@
           @connection.ping
         else
           @connection.close rescue nil
-          @connection.real_connect(*@connection_options)
+          connect
         end
       end

@@ -318,6 +309,18 @@


       private
+        def connect
+          if @encoding
+            begin
+              @connection.options(Mysql::SET_CHARSET_NAME, @encoding)
+            rescue
+              raise ActiveRecord::ConnectionFailed, 'The :encoding option is only available for MySQL 4.1 and later with the mysql-ruby driver.  Again, this does not work with the ruby-mysql driver or MySQL < 4.1.'
+            end
+          end
+          @connection.real_connect(*@connection_options)
+          @connection.query("SET NAMES '#{@encoding}'") if @encoding
+        end
+
         def select(sql, name = nil)
           @connection.query_with_result = true
           result = execute(sql, name)

追記:

PostgreSQLの方も修正してパッチをtracにつっこんどきました。

Tags: Rails
本日のツッコミ(全1件) [ツッコミを入れる]

_  [コンビニエンス関数は普通に使うけどなー。]