トップページphp
1001コメント333KB

△▲ WebProg 初心者の質問 Part22 ▼▽

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/05/03(月) 16:42:08ID:???
2ちゃんねるは初めて。 WebProg 板は初めて。
質問したいけど、どうしたら良いか分からない。

そんなときは、ここに書き込んでください。
板の住人や、その他が、けなしながら、厳しく教えてくれるかも。

質問する前に、まずはここを読んでね。
【注意事項】
・質問する前にGoogleで検索してみましょう
http://www.google.co.jp/
・環境(ソフトウェアのバージョンなど)は、必ず書いてください。できるだけ詳しく。
 後から情報を書き足す、いわゆる情報の小出しは極力避けてください。
・何がしたくて、何ができて何ができないのかを書きましょう
・マルチポスト(複数のスレッドで質問する行為)は絶対に禁止です。
・過去ログは必ず読みましょう。あなたと同じ質問をしてる人がいるかも知れません。

2ch 総合ガイド
http://www.2ch.net/guide/

お願い。
適切な、板、スレ、を発見した場合、誘導してあげましょう。
スレの性質上 age 進行でお願いします。

関連情報は
>>2-4辺り

☆前スレ☆
△▲ WebProg 初心者の質問 Part21 ▼▽
http://pc11.2ch.net/test/read.cgi/php/1257701535/
0637nobodyさん2010/11/01(月) 00:25:26ID:???
10万個だなんて嫌らしい・・・
0638nobodyさん2010/11/01(月) 00:26:59ID:???
>>636
DBにパスを持たせるなら全くばらばらのパスでよくなるのだから、
全部真っ正直に /usrfile の下にフラットに配置する必要がなくなるでしょ。

DBに持たせなくても、userid0001みたいなユーザーIDだったら、それをmd5ハッシュ
して(1b54d8bdecb31d77a0919134d60ca64c)、最初の2文字で1つずつディレクトリ
を掘って 1/b/userid0001 みたいなパスにすると、16×16で、10万ユーザーいても
1サブディレクトリあたり400弱のユーザー数に抑制されることが期待できる。
0639nobodyさん2010/11/01(月) 00:28:23ID:???
md5ハッシュ取る必要はあるのか・・・?
0640nobodyさん2010/11/01(月) 00:30:26ID:???
会員IDを [0-9]{9} の10桁にして、3桁ずつ区切ればいい

最大数は 999999999 で、9億人になるんで、まぁいいんじゃないのかな?
12桁にすれば 999999999999 9兆人になるので余程スクリプトで攻撃されない限りは大丈夫だと思う

0641nobodyさん2010/11/01(月) 07:00:27ID:OMrNiXi0
>>640
その方法だと一人が10万ファイルうpしたらアウアウだけどな
うpファイル数制限できるならありだと思うけど

一番効果的なのは>>640だな
ただ2文字取るだけならフツーに乱数生成したほうが早いし単純だしスケーラビリティも優れてると思うが
ユーザー数に応じて乱数の範囲変えるだけでユーザーの増加に対応できるし
0642nobodyさん2010/11/01(月) 08:49:15ID:???
PHPで

"00345" という文字列を数値の 345 にキャストするにはどうすれば良いですか?
0643nobodyさん2010/11/01(月) 10:17:13ID:???
intval
0644nobodyさん2010/11/01(月) 10:48:50ID:???
>>642

$string += 0;
0645nobodyさん2010/11/01(月) 11:09:15ID:???
>>642

parseInt
06466332010/11/01(月) 12:13:37ID:CwD+jH13
>>637-641

すごいな〜!
みんなプロですね〜。こういうノウハウって「ただPHPで何か作る」系の本には載ってないから
独学じゃ限界あるなぁ
PHPの知識っていうよりシステム構築って範囲になるのかな?
こういうの、掲載されてる本あるんですか?
DBに保存するメリットは何だろうって疑問も解けたし、凄く勉強になりました
0647nobodyさん2010/11/01(月) 12:32:16ID:???
ブラウザか何かのキャッシュディレクトリの中を見たら、
サブディレクトリ作って小分けにしてたので、そこから調べたっけな。
06486332010/11/01(月) 13:50:24ID:CwD+jH13
>>647
もし今上に書いたような仕組みのサービス作るとしたら、
サブディレクトリに保存形式にしますか? DBに保存形式にしますか?

「DBに保存形式だとアプリを通じてじゃないと内容確認出来ない。
ファイルで保存ならフォルダ開いていって簡単に確認出来る」と思ってたのが
あれだけディレクトリが煩雑になると「面倒には変わりない、DBで良いのかも」と認識し直しました。

どちらかを選ぶ大きな判断基準ってどんなものがあるでしょう?
ファイル保存形式の方がサーバースペック求めなくて済むとかありますか?
0649nobodyさん2010/11/01(月) 14:15:11ID:???
俺ならファイルだな
0650nobodyさん2010/11/01(月) 14:55:51ID:???
Web系の勉強ってほとんど暗記ゲーだよね
06516332010/11/01(月) 15:39:29ID:CwD+jH13
>>649
自分がDBのほうが良いのかもって思い始めた1つに
半年より前にupした画像を削除したいような時、
ファイルだと2010-11-10_pic10.jpgって感じに登録時の日付を付けなきゃいけない点です
DBならdatetimeカラムの値を条件にしてサクサク消せるんで。
php5からアップロード済みファイルのうp日時を確認して(消去する)方法ってあるんでしょうか?

どういう時にはどっちの保存形式がふさわしい、って話、いろんな人の意見聞きたいです
0652nobodyさん2010/11/01(月) 15:44:56ID:???
phpってファイルのタイムスタンプ見られないの?
0653nobodyさん2010/11/01(月) 15:46:21ID:???
ファイルシステムによるがUnix系やLinux系やBSD系ならまぁ問題ないだろう
画像をユーザディレクトリに保存し画像のパスだけをDBに保存するって感じだな
0654nobodyさん2010/11/01(月) 15:46:48ID:???
DBにファイルパス持つんだからそれと結合して消せばいいだけだし
0655nobodyさん2010/11/01(月) 15:56:39ID:???
例に出しているように、DBの方が管理は楽。
ディスク容量や直公開できる点を考えるとファイルの方が有利。

要件次第じゃない?
古いファイルを削除はバッチとか。
06566332010/11/01(月) 16:00:38ID:CwD+jH13
>>652-655
どうもです。
「タイムスタンプ」って言うんですね。それでしらべたらfilemtime()って関数がありました。
ファイルで管理する方がディスク容量は有利なのも今知りました。
ファイルそのもののサイズにDBのテーブル情報とかのリソース?分が加わるからでしょうか

>>653さんのやり方でやってみようと思います。
今まで答えてくれた人、ありがとうございました
0657nobodyさん2010/11/01(月) 16:39:06ID:???
DB なんて SNS みたいに、リストに追加した人達の発言がタイムラインで欲しい時とか、
掲示板とかで検索とか付けないかぎりは要らない


って自分は思う
0658nobodyさん2010/11/01(月) 17:28:41ID:???
何から何までDBに突っ込んだほうが管理は楽
DBのバックアップ取っておけばそれだけで済むんじゃない?
バイナリをDBに突っ込むのは抵抗がある人が多いようだけど、そこは好き好きで。
0659nobodyさん2010/11/01(月) 21:07:00ID:???
>>648
俺だったらDBだな
0660nobodyさん2010/11/01(月) 22:20:07ID:???
こういう話題やってると、ディレクトリシステムも立派なDBだ!と言ってくる人が出てくるぞ
0661nobodyさん2010/11/01(月) 22:24:07ID:???
逆にDB以外のなにものでもないやろ
0662nobodyさん2010/11/01(月) 22:26:28ID:???
http://ja.wikipedia.org/wiki/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9
0663nobodyさん2010/11/02(火) 01:24:18ID:???
>>661-662
だからこそ言ったんだろ
0664nobodyさん2010/11/02(火) 01:35:45ID:???
はい?
0665nobodyさん2010/11/02(火) 08:12:56ID:???
>>643
thanks
0666nobodyさん2010/11/02(火) 08:14:59ID:???
EclipseのAll In Packageを使用しているのですが

ブレークポイントが止まりません。

PDTも既に入っている筈なのですが何が原因として考えられるでしょうか?

また、PHPコード内で選択した範囲を1クリックでコメントアウト、コメント解除を

行うショートカットアイコン等はEclipse

には用意されていないのでしょうか?

※Windows7 (Home Premium)
0667nobodyさん2010/11/02(火) 08:47:53ID:???
文字コードに起因する問題にあたった時の対処方法がよくわからず勉強しています
PHPマニュアルに書いてるような内部エンコーディングっていうのはなんのことですか?
エディタでPHPスクリプトを保存するときにUTF-8で保存するといったこととは違うんですか?
UTF-8で保存したスクリプトで
echo mb_internal_encoding();
としたところISO-8859-1が返ってきました
SJISで保存したスクリプトでmb_ereg_matchを使ったところコンパイルエラーが出ましたが
UTF-8で保存しなおしたところ出なくなりました
SJISで保存したときにエラーが出なくする方法はないのかとか(保存する文字コードに依存したくない)
まだ文字化けはしたことはありませんが文字化けをしないためにどうするかのノウハウを知りたいです
0668nobodyさん2010/11/02(火) 09:43:52ID:ZBI1y15I
src="img.php?id=100"
とかで該当のイメージを出力するやり方がありますが、
こんな感じに1ページ中で100枚とか画像出力したとして、サーバー負荷高くなって
トラブルに繋がったりしないんでしょうか? 全然大丈夫なもの?
なにか回避する方法ありますか?
0669nobodyさん2010/11/02(火) 09:56:17ID:???
全然大丈夫だよ
0670nobodyさん2010/11/02(火) 10:21:10ID:xK7DgzhW
mixiやGREE、facebookなどのSNSは何のプログラミング言語で書かれているのでしょうか?
PHP、Perl、Javaのどれ(又はどの組み合わせ)なのかもし知っていたら教えていただきたいのですが
0671nobodyさん2010/11/02(火) 10:30:21ID:???
>>670
mixiはperl
GREEはphp
facebookはphp

厳密にはどこもcも使ってるが。

中の事知りたかったら開発者blogとか読むと良い
http://labs.gree.jp/blog/
http://alpha.mixi.co.jp/blog/
0672nobodyさん2010/11/02(火) 11:11:31ID:???
>>671
ありがとうございます
0673nobodyさん2010/11/02(火) 11:14:26ID:???
>>667
http://hain.jp/index.php/tech-j/2007/02/13/
0674nobodyさん2010/11/02(火) 11:36:01ID:???
>>671
このCっていうのはWebページに関してじゃないよね?
使ってるかどうか分からんけれど、Linux、Apache、MySQL等についてって事だよね?
スクリプト書いたり、ソースコードを改変させたりとか
自分にはよくわかんないけれどアプリケーションにはCを使うこともあるのかもしれないけれど
0675nobodyさん2010/11/02(火) 11:45:31ID:???
適当に言ったんだろ
0676nobodyさん2010/11/02(火) 11:46:35ID:???
切り分けが難しいが、php/perlで受け取って、一部重い処理をCへ等は大規模ならよくやる事だ
mixiがやってるかは知らんが
0677nobodyさん2010/11/02(火) 11:53:49ID:???
画像の処理とか動画の変換とかPHPやPerlでやらないしな。
0678nobodyさん2010/11/02(火) 11:59:29ID:???
>>674
違ってたら悪いが、ようはwebサイト作ってるPGがCも使ってるか?という意味で聞いてる?

なら答えはNo。
一部の人達がMySQLに手を加えたり、分散KVS作ったりしてて
それをperlやphpなどから使ってるだけ
0679nobodyさん2010/11/02(火) 12:27:41ID:ZBI1y15I
>>669
ありがとうございました


また別の質問したいんですが、初心者質問というか当たり前のことの確認なんですが
1)サーバAで動いてるサービスのアップロードフィールドから
  サーバB(ipアドレスも違う全然別のサーバ)に画像をupするって当然ムリですよね?

2)サーバAで動いてるサービスからサーバBのMysqlに
  クエリするのは可能ですよね? 必要な接続情報が設定出来てれば。
0680nobodyさん2010/11/02(火) 12:34:54ID:???
>>679
1)
出来ます。
サーバーAにあるページだけどサーバーBにアップするページも書けるし、
サーバーAで受け取ってからサーバーAがサーバーBに投げる仕組みも作れる。
2)
当然出来ます。
06816792010/11/02(火) 14:32:59ID:ZBI1y15I
>>680
えっ! 1)が可能とは思いませんでした
全く別サーバなら権限の問題で不可能ではないのかと思ってたんですが…
管理者が同じローカルネットワーク上の2サーバー間でクーロンとかを使って
ファイル移動させるような仕組みでしょうか?

そうではなく、A社のホスティングでサーバーAを借りて、B社のホスティングでサーバBを
借りたような場合でも可能なんですか?
直接プログラムそのものに関係ない質問ですみませんが、
その技術をどういうキーワードで調べたら良いのか教えてもらえないでしょうか?

あと、それにからんだ蛇足な質問ですが、アマゾンのS3っていうサービスは
1)の技術を使ってアップロードファイルの物置として使えるサービスってことでしょうか?
どうもイマイチ理解できないので…
MysqlとかのDB機能はもってないんですよね?
該当スレが廃れちゃってるのでこちらで聞きました、すみません。

回答ありがとうございました
0682nobodyさん2010/11/02(火) 14:45:30ID:???
>>681
可能と思わなかったというのが不思議。変にむずかしく考えすぎなのでは。
サーバーAで供されたページをブラウザで見ている段階でぶっちゃけサーバーAはもう関係ないんだよ。
ファイルをアップするのは見ているブラウザ。 どこにアップするかはそのページに書いてある通り。別のサーバーが指定してあればそっちに投げる。
サーバーAが受けた場合でも、そのブラウザがBに投げるのと同じことをサーバーAがやればよい。
もちろん他の方法も山ほどある。 A社だろうがB社だろうが関係なし。
そして、アマゾンのS3はこんな話とはまったく関係ありません。
0683nobodyさん2010/11/02(火) 14:47:22ID:???
>>681
単純な話、サーバAにあるhtmlのformのaction先がサーバBになっていればサーバBで受け取れる

サーバA・B間についてだけど
(ブラウザで)パソコンAとサーバA間はhttp/httpsでやりとりできるよね?
それならサーバAとサーバBで同じようにやりとりできるよね?って考えれば良いかと
0684nobodyさん2010/11/02(火) 14:48:13ID:???
>>681
<form action="http://yoso.example.com/put.cgi" method="POST">
とか書けばよそのホストにリクエストが飛ぶぞ。
06856792010/11/02(火) 15:37:54ID:ZBI1y15I
>>682-684
ありがとうございます
うーん、単純にアクションの指定で良いんですか…
そう言われればそうですね

単純な例としてサーバAでプロフィールページを作るとして、
テキスト情報はサーバAのDBへ、プロフィール写真はサーバBに保存したい場合は
<form action="/prof_submit.php" method="POST" enctype="multipart/form-data">ですよね
これでtemp_fileとしてサーバAの一時ファイル領域に保存された写真を
どうやったらサーバBに持ち出せるんですか?

…と、調べたらlinuxのscpコマンドってのが出てきました。
PHPでこれを実行するんですか? こういうwebアプリからlinuxコマンドを実行するようなことを
時々ここで見るバッチ処理っていうんでしょうか。

>そして、アマゾンのS3はこんな話とはまったく関係ありません。
ありがとうございます
S3をファイルの転送先に指定した上記のような処理は不可能なんでしょうか?

質問ばかりですみません
0686nobodyさん2010/11/02(火) 15:51:13ID:???
>>685
action先をサーバAにする
サーバAで受け取り、サーバAからサーバBへ転送する
転送は、ftp・scp・rsyncなどがあり、phpからはexecやsystemコマンドで実行できる
他にはサーバAからサーバBの領域をnfsマウントするという手もある

amazon s3については、s3syncとかで出来る
06876792010/11/03(水) 10:28:16ID:???
>>686
どうもありがとうございます! 参考にして調べてみます!
0688nobodyさん2010/11/03(水) 18:58:12ID:Q0Wz+mzJ
負荷分散って最初から意識して作るものなんでしょうか?

それともユーザー数が増えてからでも対応出来るのでしょうか?
0689nobodyさん2010/11/03(水) 19:04:56ID:???
データベースにつっこんどけばあとからどうにでもなる
0690nobodyさん2010/11/05(金) 15:40:17ID:hKxTIHv5
HTMLのテキストエリア内に入力した改行文字は、サーバサイドではどのように
渡ってくるのかが知りたいです (\r\n ? \n ?)

◯やったこと:

HTML で以下のように書き、(HTMLの文字コードは Shift_JIS、改行コードはCRLFにしています)
textarea name="textArea" cols="30" rows="4">

テキストエリアに以下のように入力し、

aaa[Enter]
bbb

サーバサイド(Java Servlet でやっています)で以下のように書きました。
(関係箇所のみ抜粋)

String textAreaData = request.getParameter("textArea");
byte[] byteArr = textAreaData.getBytes();
for (int i = 0; i < byteArr.length; i++) {
  System.out.print(byteArr[i] + " ");
}

クライアント:WinXp のIE6
サーバ:WinXp の Tomcat 6.0.18(jdk 1.5.0_21)

これで動かしてみると、以下のように標準出力に出力されます
(\r\n CR + LF で渡ってくるようだ)

97 97 97 13 10 98 98 98
06916902010/11/05(金) 15:41:18ID:???
続き:

ブラウザを以下のように変えても、どれも同じでした。
1. WinXp の IE6
2. WinXp の FireFox 3.6.11
3. WinXp の GoogleChrome 7.0.517.41
4. WinXp の Safari 5.0.2
5. iphone の safari (バージョンはよくわからん)

今度はサーバ側を Linux に変えました。
(CentOS 4.4 / jdk 1.5.0_11 / Tomcat 6.0.29)
Tomcat をインストールして、上記の Windows で作ったソースを持って行って
再コンパイルし、上記と同じ手元の WinXp の IE6 や Firefox 3.6.11 でアクセスしてみたところ、
やはり \r\n で渡ってくるようです。

今度はブラウザを Linux の FireFox に変えてテストしてみたいところなのですが、
いま X が動く Linux マシンがないため、これは実験できていません。

◯質問:

テキストエリア内の改行コードは、サーバサイドではどのように取得されるの
でしょうか?
上記の実験によると、どのケースでも CR + LF で取得できているのですが、
これで正しいのかわかりません。
何かルールというか取得ロジックみたいなものがあれば教えてください。

・以前、ブラウザ依存というのを聞いたような気もしましたが、上記実験結果だと異なる。
・クライアント側のプラットフォーム依存? Linux の Firefox からやってみたら
 \n で取得されるはず?
・プラットフォームではなく、HTML の文字コードや改行コードによって変わる?
0692nobodyさん2010/11/05(金) 18:16:06ID:???
バラバラなのを受け入れて、
どれがきてもいいように対応するのが正しい。
また入力したではなくて、htmlの テキストエリアにデフォルトで入れる文字の改行の
挙動もまた違う。
0693nobodyさん2010/11/05(金) 19:20:11ID:???
テキストベースでデータを更新する時に失敗した場合、


追記なら truncate で切り詰めればいいし(追記中の新規オープンがどうなるか試してませんがw)、
上書きなら別ファイルに出力してたのをリネームしなければいい。

ファイルサイズが変わる場合の、ファイル途中にあるデータを編集する場合は、
データをコピーしてから編集するぐらいしか無いのでしょうか?

素直に DB 使えって話しですがw
0694nobodyさん2010/11/05(金) 19:25:23ID:???
\r|\n|\r\n を \r\n に置換すりゃいいのでは?

一括置換出来無ければ


改行を除くコントロールコードを削除
\r\n を \0 などに置換
\r or \n を \r\n に置換
\0 を \r\n に戻す


手順は多いけど、改行コードは統一出来るかと
0695nobodyさん2010/11/05(金) 19:39:47ID:???
改行されたtextareaを非表示で埋め込んでおく、それをプログラム側で受け取って(ry
0696nobodyさん2010/11/05(金) 20:10:03ID:???
>>695
どっかのサイトにあったなw
だが、埋め込まれた(htmlソース)の改行とキーで入力された改行は必ず同じという保障はない
さらにいえば、改行にならないパターンで空白になるものもある。IEだったかな
06976902010/11/05(金) 22:19:47ID:???
みなさんレスどうもありがとうございます。
すみません、あとでゆっくりレスを点けさせていただきたいと思いますが、
取り急ぎ。

>>694-695
これでしょうか?
http://amon.dip.jp/index.php?%A5%C6%A5%AD%A5%B9%A5%C8%A5%A8%A5%EA%A5%A2%C6%E2%B2%FE%B9%D4%A5%B3%A1%BC%A5%C9%A4%CE%A5%D6%A5%E9%A5%A6%A5%B6%B4%D6%C8%F3%B8%DF%B4%B9%C0%AD%A4%CE%B2%F2%BE%C3%CB%A1%28Javascript%29
0698nobodyさん2010/11/07(日) 18:32:03ID:???
レンタルサーバーで「CGI・PHP利用可」と書いてあったりしますが、
「CGI(Perl・PHP)利用可」と書いてあるところもあったりします。
PHPを使ったCGIとCGIじゃないPHPがあるんでしょうか?
あるなら、後者は「CGI」はに対して何と呼ぶんでしょうか?
0699nobodyさん2010/11/07(日) 18:45:03ID:???
>>698
モジュールかな。

>「CGI(Perl・PHP)利用可」
実際にPHPをCGIで使えるのかは怪しい気がする。
0700nobodyさん2010/11/07(日) 18:45:05ID:???
php は CGI で動くことも、モジュールで動くこともある
CGI は仕組みであって言語じゃない
CGI OK とか書いておいてシェルスクリプトが駄目なクソなとこもある(ただの表現間違いだと思うがw
0701nobodyさん2010/11/07(日) 18:51:21ID:???
>>698
本来CGIってのはWEBサーバと外部プログラムが連動するための規格であって
プログラム言語とは関係ありません
CGIを使うPHPのプログラムもあれば、CGIを使わないPHPのプログラムもあります
CGIはプログラムじゃないので、PHPを使ったCGIと言う表現はそもそも間違ってます
0702nobodyさん2010/11/07(日) 19:00:11ID:???
>>699-701
即レスありがとうございますw
レンタルサーバーの機能まとめの表を作ってたのですが、どう記せばよいか迷ったので

>>701
「CGIは仕組みであって言語ではない」ことはわかっていた(PerlやRubyといった言語をなんたら)
・・・つもりでしたが・・・
「CGIという仕組みにPHPという言語を用いる」と思ってました・・・
この場合何と表現すればいいんでしょう?
0703nobodyさん2010/11/07(日) 19:07:08ID:???
レン鯖屋さんの表現が不正確なだけよ。
0704nobodyさん2010/11/07(日) 19:29:15ID:???
>>702
Perl CGI
PHP CGI
CGIを使わないPHP
とかで通じる
07056982010/11/07(日) 19:32:32ID:???
>>703-704
なるほど。
ありがとうございます。
0706nobodyさん2010/11/07(日) 23:51:34ID:MLuWY4bM
質問です。
オーダーで業者に発注したPerlコードがフリーウェアで流通しているコードによく似ているのですが。
注釈を除くと最大60行が一致、ファイル名変数名の約50%が一致。
似たコードを配信しているサイトの説明は、商用利用は堅く禁止するとのことで賠償金の規定も有りました。
仮に製作会社側が参考にして作ったとしたらどの程度似ていると盗作になるのでしょうか?

改変して他所に売っってしまった後気が付いたのですが万一流用を主張された場合は普通はどうなりますか?
今予定している対処法はあくまで製作会社を信じ、訴えられたら逆にフリーウエア製作者を訴えるつもりです。
0707nobodyさん2010/11/07(日) 23:53:32ID:???
訴えられる前に訴えなさい
0708nobodyさん2010/11/08(月) 00:01:08ID:???
貴方の話ではありませんが・・・ もしそういうことをしてしまって心配なら
今すぐ打ち明けて対応をお願いするほうが貴方のためです。
それで職を失ったりするとしても。
0709nobodyさん2010/11/08(月) 00:04:04ID:6NFcBNQW
>>707
ありがとうございます、直ちに訴えます。
作ってもらったのが1年半前でフリーソフトの配布のほうが3年前となっているのでやや変ですが
相手は所詮趣味の個人なのでゴミのように潰せると思います。
配布開始の時期なんていくらでも捏造できますからね。
0710nobodyさん2010/11/08(月) 00:06:16ID:???
それは、業者にまねしてませんよねと確認したあとでないといけません。
0711nobodyさん2010/11/08(月) 00:08:11ID:???
どうも言葉の端端からはまねして納品しちゃったけどこうすれば俺は大丈夫的な安心を得ようとしてるような気がぷんぷんするのは、気のせいですよね。
0712nobodyさん2010/11/08(月) 00:08:13ID:???
これが事件の発端となった
0713nobodyさん2010/11/08(月) 00:14:47ID:6NFcBNQW
>>710
先日問い合わせたら真似はしていないとのことでした。
どちらのコードが古いのか証言以外で見分ける方法ってあるんでしょうか?
0714nobodyさん2010/11/08(月) 00:18:04ID:???
業者がperlのコードを流出させたってことですね。
業者そんなことシレっと言ったんでしょうか・・・ありえないと思いますが。
0715nobodyさん2010/11/08(月) 00:20:17ID:???
>>714
知らないうちにウイルスとかバイトが持ち逃げしてまわりまわったとか、別のクライアントに納品した時に流出したとか考えられます。
0716nobodyさん2010/11/08(月) 00:22:39ID:???
つまり、業者の責任ですね? もしくは御社?
別のクライアントにソースを渡せるような形態なら、貴方の会社が心配することではないのでは。
0717nobodyさん2010/11/08(月) 00:32:42ID:???
>>716
ぶっちゃけますと最初に気が付いたのがクライアントでして
どうも向うと連絡をとってしまわれたような感じがするのです。
0718nobodyさん2010/11/08(月) 00:34:20ID:???
いずれにせよ、普通は心配や責任を負うのは業者。
業者に責任がないとしても訴えるのも業者。あなたは業者にどうなってんだと言うだけの立場のはず。
0719nobodyさん2010/11/08(月) 00:40:25ID:???
これは事件のオイニーがしますね
0720nobodyさん2010/11/08(月) 01:18:27ID:???
>>718
GOOGLEに移籍した他社のプログラマが古巣のコードを持ち出したとされ、
古巣から持ち出した本人のPGではなく使用したGOOGLE訴えられたケースがあります。
米国の法律と日本法が違うのと会社→PG→会社ではなく個人→会社→会社(逆もあり)なので
ちょっと判断が難しいのです。
0721nobodyさん2010/11/08(月) 03:01:04ID:???
最近のプログラマーは効率求めてググってコピペして完成させる
コピペプログラマーばかりだからな
こういうの表面化しないだけで割と多いと思う
0722nobodyさん2010/11/08(月) 07:52:26ID:???
>>720
だから、元に戻るけど貴方が訴える先は業者。
なんにも難しくない。
0723nobodyさん2010/11/08(月) 08:27:27ID:???
> 作ってもらったのが1年半前でフリーソフトの配布のほうが3年前となっているのでやや変ですが
> 相手は所詮趣味の個人なのでゴミのように潰せると思います。

なんで趣味でやってる原著作者のほうをゴミのように潰すんだ。
0724nobodyさん2010/11/08(月) 08:29:33ID:???
次のコードを記述したのですが文字コードの取得がうまくいきません。
一体なぜでしょうか?


// 入力文字コードの取得
function numOnly(evt)
{
var e = evt || window.event;
m1 = e.keyCode;
m2 = e.which;

}
<input id="id_number" style="" type="text" onkeyDown="return numOnly()" />


0725nobodyさん2010/11/08(月) 08:31:51ID:???
クライアントサイドはこっち

誘導
http://hibari.2ch.net/test/read.cgi/hp/1289130738/
0726nobodyさん2010/11/08(月) 08:51:23ID:???
業者がパクってないと主張してるんだからそれ信じるしかない立場じゃん
パクリかどうかを事前にチェックする責任の所在がどこにあるかはわたしもよくわからんが
ホントにパクリなのか、もしくは業者が3年より前に書いたコードを使いまわしてるのがパクられてる可能性もあるし
0727nobodyさん2010/11/08(月) 08:56:13ID:???
いいえ違います。
普通、当事者なら信じるしかないとは考えません。
業者があやしい、何してくれやがったんだと考えるのが正しいのです。

さあ、さっさと業者に文句言って業者が悪いなら責任とらせ、そうでなければ
フリーのとこに対応するように言え。
0728nobodyさん2010/11/08(月) 09:44:14ID:???
>>718
つまり万一業者側に問題ありで何らかの方法で本来の著作者に証明されてしまった場合でも
うちが責任を取る必要が無いなら業者VSフリーソフト制作者が当事者ということで
うちは結果待ちだけでほおっておいてかわまわないというわけですね?

いちおう法律を必至で調べましたが所詮素人なので分かりませんでした。
たんなる動産であれば民法192条あたりが適応され2年以内ならこちらは物品を返還し業者から代金を返還してもらえばよく
転売利益も最初に盗んだものに賠償を要求すればいい、ただ今回のケースのようにあとで改造していたら物品でも多少
ややこしいですが。(例えれば盗まれた高級車を買ってシャコタン、エアロ加工して転売し場合など)

そもそもコードを流用したとしてもどの程度から著作権違反になるのかもわからないのです。
CGI入門系サイトでも稀に10行以下程度の短いソースにも無断転用禁止とか使うならメールとリンクをとか書いてる方が
おられますが至極単純な処理であまりに短い物だと全く同じ記述方法しかない場合もある。
そういったものを組み合わせていた場合どこからが著作権違反なのかが不明です。

今回のケースでも業者側、フリーソフト制作者の双方に非が無い可能性すら考えられます。
ようするに偶然同じ本で勉強して本の付録のサンプルコード切り貼りをした場合などです。
大手の出版社のWEBサイトで公開しているコードの上から10行程度が注釈コミで
著名なとこだけで最低3サイトと一致するコードを見たことが有ります。

色々な状況を想定考するときりが無くどのように対処してよいのか分かりません業界の常識を教えてください。

1、コピペ切り貼りはどの程度から著作権法違反なのか?

2、コピペ切り貼りではなく手打ちでコピーしたらどうなるのか?

3、盗用されたソースを知らずに再販した場合の取らされる責任。
0729nobodyさん2010/11/08(月) 09:48:58ID:???
>>728
もう、だから
訴えられる前に(業者に)訴えろ。
って書いただろ。
そういうこと知った時点で、対応するまで販売停止。
対応は業者に振れ。業者はごめんなさいするか、フリー作者に公開停止させるかの二択。
0730nobodyさん2010/11/08(月) 09:51:54ID:???
業者とフリー作者とやらとの間で手打ちってのもありだが、
まあ、いずれにせよ ほっとくんじゃなくて対応させろ。
販売できない間の補償させるとか、期限切るとかしろよ。
0731nobodyさん2010/11/08(月) 10:08:01ID:???
>>729
業者の主張

1 盗用はして居ない
2 類似性は偶然か相手側の盗用
3 よって対応する気は無い

クライアント企業の主張
1 盗用と推測する
2 公開を停止する事を検討
3 弊社に調査と賠償(代金188万+税の返還、業務に支障をきたした賠償2000万)をするように

フリーソフトの製作者の主張は不明
問い合わせてやぶへびになるのも怖いしクライアントをほっとくわけにも行かないし
業者は強行に盗用を否定していますどうしたものでしょう・・・・・・・
製作当時のこちらから業者への代金支払いは105万でした。
0732nobodyさん2010/11/08(月) 10:19:21ID:???
フリーソフトと業者の両方が参考にしたソースが他にある場合も考えられるが、
なぜクライアント企業はソースレベルでチェックできる能力があるのに依頼したのかも引っかかる
0733nobodyさん2010/11/08(月) 10:24:32ID:???
やぶへびになることはありません。なんで怖いの?
ま、弁護士に相談ですな。 そしてこれが事実なら、こんなとこにもう書くなよ。
クライアントが見たらとか思わんのかなぁ。
0734nobodyさん2010/11/08(月) 10:53:49ID:???
セッション関係についていくつか質問お願いします。
クッキーがオフの端末でアクセスした場合、
DBにセッションID、IP、更新日を記録するテーブルAと、
セッションIDとその操作(本来クッキーに保存すべき情報)を記録するテーブルBを使い、
アクションがあるたびにテーブルに記録するやり方を考えています。
1つ目に質問したいことは、セッションハイジャックがらみで、
セッションIDが漏れても、IPのチェックを挟むので少しは強固になると思いますが、
この方法は(ネカフェやProxy等ではIPが重なり)完全ではないのでまずいでしょうか?
その場合どうしたらベストでしょう?
もう1つ目の質問は、
普通のセッション同様にブラウザを閉じたら、AとBの内容を消去したいのですが、
クッキーオフの場合、JavaScriptもオフにしていることが多いので、
でブラウザ終了時にJavaScriptでトリガーを引いて消去するやり方では信頼性が足りません。
となると、cronなどで1分おきにAの更新日を確認し1時間更新がなかったら消去する等の方法が妥当でしょうか?
本来1時間で消したいところを最大1時間59秒になってしまうのですが、
これは別に気にしなくてもいいですか?
07357342010/11/08(月) 10:57:47ID:???
読んでてちょっと最後のほう追加お願いします。
cronで1分ずつ更新レコード確認だと、
ブラウザを閉じたらサーバにあるセッション情報をすぐに消去したいのに、
1時間も待たないといけないですが、これは仕方ないと思うしかないですか?
なんかセッションがきれたことをサーバに通知できればいいのですが。
0736nobodyさん2010/11/08(月) 11:13:16ID:???
IPアドレスがユーザと1対1っていう前提のシステムなんてセキュリティホールでかすぎ。問題外。
クッキーが使えないセッションだと、携帯電話でノウハウがあるので「携帯 セッション」とかでググれ。
あと、「車輪の再発明」でもググれ。
■ このスレッドは過去ログ倉庫に格納されています