2002年03月25日(月) 春休み?
■ 会社
- 9:40 今日は部会午後から。電車がとても空いていたのは春休みだからでしょうか?今日は寒い。
- iMarkからメイルが500通以上来ていた。まあMLが爆発するよりはよい。読まなくてよいから。
- 11:30 Xiino 2.0Jのユーザ登録をしようと思ったら、ページにアクセスが殺到しているからちょっと待ってくれと書かれていた。ふーん。
- 13:15 ERCでのエラーは修正された模様。伊藤さん頼りになるのう。
- 19:40 GIGA最後の説明も両角先生と本間先生、兒玉くんの尽力でつつがなく終了。完了報告書もほぼ書けた。わーい。結局おれはほとんど何もしてないぜ。
■ [soft] PuTTY で ISO 2022 による日本語入力・表示を可能にするパッチ
Windows用のsshクライアントPuTTY。fj.os.linux.networkingより。ssh2を扱える。使ってみたいがサンイーピー450ではsshd動いてないよねー。
■ [c] プログラム言語 C の推奨されるスタイルとコーディング規範 (リンク切れ)
→ http://www.gfd-dennou.org/arch/comptech/cstyle/cstyle-ja.htm
Cの話。fj.comp.lang.cより。既にメモってる可能性大。
■ テレビ/本
- アリーマイラブ4。アリー誕生日で憂鬱の巻。おもしろい。スティング登場。
- 笑う犬の発見。みんなでゴルフ。面白くはない。
- ガキの使いやあらへんで。山崎卒業その2。トークは停電のためちょっぴり。
- ガキの使いやあらへんでのビデオ。10年前くらいにおれが録画したもの。原田大二郎の息子おもしろい。
- ライトついてますかを少し。メモを検索してみると去年の5/26か5/27に買ったのだ。自転車買ったのもその頃なのかあ。字がでかいのですぐ読み終われそう。
2003年03月25日(火) げ、田嶋陽子が神奈川県知事選挙出馬の意向
■ [unix] VineでPM-780Cからの印刷
昨日から色々設定しているがまだうまくいっていない。色々なドキュメントを読むとprinttool上でpipsのフィルタを選択できるみたいなのだがどうしても選択肢に出てこない。ので手動でprintcapを書いて色々やっているけど綺麗に印刷されない。pips780を実行してそこからpngファイルを選択して印刷しようとするとコンソールに「セグメンテーション違反です」と表示されてpips780が終了してしまう。
VinePlusから取ってきたpips-PM780-1.3-0vl1.i386.rpmが悪いくらいしか考え付かず、エプソンコーワからダウンロードしてみようと思ったのだが、タイミングよくウェブサーバが落ちているのかエプソンコーワに繋がらない。昨日は繋がったのにー。もー。
- エプソンコーワ復活したのでそこからpips780-2.1.2-1.i386.rpmをダウンロードしてインストールした。こちらの方が機能が向上しているようだったけど印刷結果はVinePlusから取ってきたものと同様。図は印刷されるが文字がかすれ過ぎて読めない。
- 「セグメンテーション違反です」というエラーも相変わらず出ていたが、これは出力するpngファイルを変えたら印刷できた。指定するpngファイルに依存する問題のようだ。
- printtoolで適当に「EPSON MJ-830C/930C/6000C」用のフィルタを指定してみたら結構綺麗に印刷できた。うーむ。
- Vineからの印刷にはこだわらないことにし、WindowsXPからSamba経由で印刷できるようにすることに着手。色々苦労したが結局日本Sambaユーザ会にあるドキュメントにあるよう何もしない設定をprintcapに書けばよかったようだ。なんとかWindowsから印刷できるようになった。
- 結局pipsは使っていないのでアンインストールした。もー。
- 印刷を繰り返すうちにだんだん綺麗に印刷できるようになってきた気がする。あくまで気がするだけだけど。
今のprintcapの内容はこんな感じ。lp0がVine用でlp1がWindows用。
# /etc/printcap # # Please don't edit this file directly unless you know what you are doing! # Be warned that the control-panel printtool requires a very strict format! # Look at the printcap(5) man page for more info. # # This file can be edited with the printtool in the control-panel.
##PRINTTOOL3## LOCAL POSTSCRIPT 300x300 a4 {} PostScript Default {} lp:\ :sd=/var/spool/lpd/lp:\ :mx#0:\ :sh:\ :lp=/dev/lp0:\ :if=/usr/lib/rhs/rhs-printfilters//master-filter: ##PRINTTOOL3## LOCAL mj6000c 360x360 a4 {} EPSONMJ6000C 32 {} lp0:\ :sd=/var/spool/lpd/lp0:\ :mx#0:\ :sh:\ :lp=/dev/lp0:\ :if=/usr/lib/rhs/rhs-printfilters//master-filter: #for Windows lp1:\ :sd=/var/spool/lpd/lp1:\ :mx#0:\ :sh:\ :lp=/dev/lp0:
■ やること
- 携帯&PHS&ThinkPadを返す
- 退職後の手続きをまとめる
Vineで印刷の設定→Sambaの設定→SWTのサンプルプログラムの印刷
2005年03月25日(金)
- Fに1050円貸した。
- 1050円返してもらった。
- AMPMで伊右衛門が当たってその場で貰えた。わーい。
■ [サッカー] ワールドカップアジア最終予選 イランvs日本
TV観戦。イラン寒そう。楢崎宮本中澤三浦加地福西小野中田中村玉田高原が先発。中田が久々に復帰したけど以前の輝きは感じない。小野はいつも信頼できる。ダメな玉田を初めて見た。皆肝心な所ですべる。松木さん五月蝿い。五月蝿ささがどんどん増している。
■ [java] 「Log4J徹底解説」 (杉浦康仁さん)
基本的に内容は筆者のハックによる情報である。Deep なものとか、バグ回避とかもあったりするので、そこらの解説よりもずっと面白いことを保証するぞ。
読んでない。オレンジニュースより。
■ やること
- リンク元のスリム化
- tDiaryバージョンアップ
- FSWikiバージョンアップ
- オーブンレンジ用べんり棚
- ブラウンの安い電動歯ブラシ買う
- 請求
- 見積
- 家賃
- 蛍光灯を買う
- 蛍光灯を捨てる
2007年03月25日(日)
■ [javascript] HTML要素のドラッグでIEの挙動に悩まされる
IEはSELECT要素を最前面に表示してしまう
script.aculo.us を使うとHTML要素を簡単にドラッグ可能にすることができる。が、Internet Explorer では問題があって、画面にSELECT要素があるとそれが常に最前面に表示されてしまう。このページの一番上のボックスで試せる。なんでや。
SELECT要素はIFRAME要素で隠せる
検索すると、IE6まではそういう仕様だという説明がたくさん見つかる。もー。IE7では改善されているようだ。
この問題はIFRAME要素を使えば一応対処できるみたい。dev2devに詳しい説明があった。
このテクニックを使ってみたのがこのページの二番目のボックス。ドラッグ対象のDIVの中にSELECTを隠すためのIFRAMEとコンテンツを記述するためのDIVを重ねて配置するようにした。
これでSELECT要素はうまく隠れるようになったのだけれど、こうするとドラッグ時に文字列選択状態になるようになってしまった。なんでや。
文字列選択はmousemoveイベントを伝播させないことで防げる
文字列選択に関しては これからドラッグ&ドロップを書く人のために というページで色々調べられていた。ここを参考にしてmousemoveイベントのデフォルトの挙動を抑止してみたら、文字列選択されなくなったみたい。このページの三番目のボックスがそれ。
ただ、このボックスだけスムーズにドラッグできなくなっている。ボックス内でのマウス移動時にボックスが動いていないな。改善の余地ありだけれどちょっと時間切れ。
あと、3パターン全てで、XREAで表示される広告にドラッグすると文字列選択状態になってしまう。これに関しても未調査。
(追記)
三番目のボックスでドラッグがきちんとできていなかったのを改善した。「mousemoveイベントのデフォルトの挙動を抑止してみた」というのを、
Event.observe("box4", "mousemove", function(e) { Draggables.updateDrag(e); Event.stop(e); }, true);
と書くようにした。これでそれなりにスムーズにドラッグでき、通常は文字列選択状態にならないみたい。それでも油断していると選択状態になることがあるのだけれど、もうよくわからん。
IFRAMEを挟むと文字列選択状態になる現象が発現する理由は未だに謎。IFRAMEがなければ問題ないんだよなあ。script.aculo.us は文字列選択状態にならないように(かどうかは知らんけど)内部で Event.stop をちゃんと呼んでいるのに、IFRAMEがあるとこのガードがうまく働かないのだ。
■ [life]図書館へ行く
- 日蝕 (平野啓一郎)
- Quick Japan Vol.68 「グラビアアイドル」
- サッカーマガジン 2007.1.9 「06→07 サッカー界」
を借りた。本屋に行きたかったのに、改装中で閉まっていた。
■ やること
- 年金
● まりこ [インフルエンザで布団の中 適当に携帯見てたら メモの日々 って… パソコンのことなんか わかんないけど 筆者の 淡..]
2008年03月25日(火)
- アンケートを依頼されたので答えた。アンケートが役に立つのを見たことがない。無駄なアンケートを禁止する法律があればいいのに。
■ やること
- シュレッダー
- 健康保険料
- 請求書
2009年03月25日(水)
■ [ruby] Net::SCP を使った
RubyでSCPを使ってファイルをアップロードするサンプルをメモ。Net::SCPライブラリを使う(追記:最新のドキュメントはgithub上にあるみたい)。
サンプルではパスワード認証を使っているが、公開鍵認証も使える。WindowsでPageantが動いているとパスフレーズを与えなくても動いた。
#!/usr/bin/ruby # coding: utf-8 require "net/scp" require "net/ssh" require "net/ssh/prompt" # Promptをincludeするとpromptメソッドが使えるようになる。 # ただし別途HighLineライブラリをインストールすべき。 # see: http://net-ssh.rubyforge.org/ssh/v2/api/classes/Net/SSH/PromptMethods.html include Net::SSH::Prompt unless ARGV.size == 2 $stderr.puts "Usage: #{$0} <local file> <remote host>" exit 2 end local_path = remote_path = ARGV[0] remote_host = ARGV[1] # ユーザ名とパスワードを入力してもらう。 # promptの第2引数にfalseを指定するとエコーバックしなくなる。 user_name = prompt("Please input user name:", true) password = prompt("Please input #{user_name}'s password:", false) puts "Uploading to #{user_name}@#{remote_host} ..." Net::SCP.start(remote_host, user_name, {:password => password}) {|scp| scp.upload!(local_path, remote_path) {|ch, name, sent, total| print "\r #{name}: #{sent}/#{total} (bytes)" } } puts
■ やること
- 換金
2021年03月25日(木)
■ [javascript] JavaScriptには部分文字列を取得するメソッドが複数ある
JavaScriptで部分文字列を取得するときにどのメソッドを使えばいいのかいつも迷うのでメモ。
slice()
- String.prototype.slice() (MDN Web Docs)
通常はslice()を使うのがよさそう。名前が短いし。引数には部分文字列の開始位置と終了位置のインデックスを指定する。
'こんにちは'.slice(1, 4); //--> 'んにち'
Why two different methods slice() & substring()?によると、slice()はsubstring()より後に実装されたもののようだ。
substring()
- String.prototype.substring() (MDN Web Docs)
substring()は仕様がslice()とほぼ同じだが違う所もある。MDNのsubstring()の説明に違いが書かれている。
開始位置が終了位置よりも大きい場合と、引数に負の数が指定された場合の動作が違う。
substr()
- String.prototype.substr() (MDN Web Docs)
substr()は2番目の引数にインデックスではなく文字数を指定する。
'こんにちは'.substr(1, 4); //--> 'んにちは'
これが便利なケースもあるけど、substr()は非推奨扱いのようなのでなるべく使わない方がいい。
String.prototype.substr probably won't be removed anytime soon, but it's defined in Annex B of the ECMA-262 standard, whose introduction states: "… Programmers should not use or assume the existence of these features and behaviours when writing new ECMAScript code. …"
● 相澤 [ドクター中松も都知事選出馬です。 http://www.asahi.com/politics/update/0324..]