この日記にはツッコミを入れられます。 ツッコミを入れたい日付をクリックすると、フォームが現れます。
xreaでtDiaryを使う方法はxrea.com で tDiary を使う方法やインストールメモやXREA + tDiary + Namazuをどうぞ。
% telnet 127.0.0.1 smtp Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. 220 mail.example.net ESMTP Postfix (Debian/GNU) EHLO localhost 250-mail.example.net 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-XVERP 250 8BITMIME QUIT 221 Bye Connection closed by foreign host. %
require 'apache_log'
logs3=File.read('log3.txt').collect{|line|ApacheLog.new(line)};nil
logs=File.read('log2.txt').collect{|line|ApacheLog.new(line)}
logs.find_all{|x|x.request_uri=="/index.rdf"}.size
logs.find{|x|/mac/i=~x.user_agent}
logs.collect{|x|x.user_agent}.uniq.sort
require 'pp'
pp logs3.collect{|x|x.user_agent}.uniq.sort
c=Hash.new{0};logs3.each{|x| c[x.time.wday]+=1};c
c=Hash.new{0};logs3.each{|x| c[x.time.wday]+=1};c.sort_by{|k,v|v}
c=Hash.new{0};logs3.each{|x| c[%w"Sun Mon Tue Wed Thu Fri Sat"[x.time.wday]]+=1};pp c.sort_by{|k,v|v}
c=Hash.new{0};logs3.each{|x| c[%w"Sun Mon Tue Wed Thu Fri Sat"[x.time.wday]]+=1};pp c.sort_by{|k,v|-v}
c=Hash.new{0};logs2.each{|x|c[x.user_agent]+=1};c
c=Hash.new{0};logs3.each{|x|c[x.user_agent]+=1};pp c.sort_by{|k,v|v}
(add-to-list 'vc-handled-backends 'SVK)
(defsubst eldav-time-less-p (t1 t2)
"Say whether time T1 is less than time T2."
(unless (consp (cdr t1))
(setq t1 (list (car t1)(cdr t1))))
(unless (consp (cdr t2))
(setq t2 (list (car t2)(cdr t2))))
(or (< (car t1) (car t2))
(and (= (car t1) (car t2))
(< (nth 1 t1) (nth 1 t2)))))
(defalias-maybe 'time-less-p 'eldav-time-less-p)
(defun vc-svk-my-assoc-string (key alist)
(assoc-default
key alist
(lambda (a b)
(and (stringp a) (stringp b) (string-equal a b)))))
(defalias-maybe 'assoc-string 'vc-svk-my-assoc-string)
(require 'vc-svk)
% cat app/controllers/application.rb
# The filters added to this controller will be run for all controllers in the application.
# Likewise will all the methods added be available for all controllers.
class ApplicationController < ActionController::Base
before_filter :set_charset
before_filter :configure_charsets
protected
def set_charset
@headers["Content-Type"] = "text/html; charset=utf-8"
end
def configure_charsets
@response.headers["Content-Type"] = "text/html; charset=utf-8"
# Set connection charset. MySQL 4.0 doesn't support this so it
# will throw an error, MySQL 4.1 needs this
suppress(ActiveRecord::StatementInvalid) do
ActiveRecord::Base.connection.execute 'SET NAMES UTF8'
end
end
end
%
1.9の方はuninitialized constant EXIT (NameError)の問題が残っているけど久しぶりに0F0Eに戻っている。
1.8の方はtest_https_proxy_authentication(HTTPSProxyTest)で1F。
リリースされたようです。
窓の杜だと両方1.0.6(ただしThunderbirdの1.0.6は英語版のみ)になっているのに、http://www.mozilla-japan.org/ は古いまま。
変数名とかにエスケープされているかどうかがわかりやすい名前を付けるというのは、あんまり出来てないなあ。エスケープしたものは文字列に埋め込んでたり、それをそのまま返値として返してることが多いからかな。
rubyのtaintをエスケープやサニタイズされているかどうかのフラグに使おうとしたことがあるけど、結局出力の時にチェックが必要だったり、適切にフラグが伝搬しているか確認しにくかったりして、うまくいかなかった気が。
(「えび日記さん」と呼んでいるのにあわせると「こめんとさん」?)
なんと呼ぶかという話はおいといて、『上の話とも関係するんだけど、結局高木さんも言われている通り、 SQL injection でも XSS でも、データの「型」というか「値域」をちゃんと意識していれば、正しいプログラムは自明に書けて、バグなんて引き起こさないはずなんですよ。
』というのは間違ってると思う。ちゃんと意識していても一瞬でも気がゆるめばバグが入る(可能性がある)。
JavaScript必須なのに、JavaScriptオフで見ると中途半端に使えて、途中からクリックが無視されるサイトが困る。必須ならオンにするように促すメッセージが欲しい。
例えば、bloglinesとかFEEDBRINGERとかでログインは出来るのにfeedが読めないとか。
Account Auto-Discovery(Accout(nが抜けてる)になってるところが)をみて思い出したけど、埋め込んだXMLに「--」がそのまま入っていて変になっているものがあるような気がする。そのあたりのエスケープもちゃんと考えないと書式としては不備があるように思ってしまう。
bloglinesもFEEDBRINGERも間違えて閉じてしまうと未読なのに既読になってしまう。mobileimapも長文のものを全部読むのはつらいのに開いただけで既読扱いになるのが不便なことがある。
#!/usr/bin/ruby
require 'stringio'
buf = StringIO.new('', 'w')
buf.print('a')
p buf.string #=> "a"
buf.truncate(0)
p buf.string #=> ""
buf.print('a')
p buf.string #=> "\000a"
buf.truncate(0)
buf.seek(0)
buf.print('a')
p buf.string #=> "a"
File.open('hoge', 'w') do |f|
f.print('a')
f.truncate(0)
f.print('a')
end
p File.read('hoge') #=> "\000a"
File.open('hoge', 'w') do |f|
f.print('a')
f.truncate(0)
f.seek(0)
f.print('a')
end
p File.read('hoge') #=> "a"
Before...
✑ aldara [aldara http://pomm.a]
✑ miss [internet advertising]
✑ cukimbo [aldara http://aldara]