はてなキーワード: パーミッションとは
当レポートは、Vistaをパスして、XPから乗り換えを検討している、
ぶっちゃけRC版の時点で書ける内容です。まあせっかく発売したんで。
=====
まえおき
結論
困ったこと
ソフトの動作状況
当方環境、状況、遍歴:
Windows 7 32bit Ultimate版です。RC版の使用経験はありません。
今回はXP→7への移行です。
ここしばらくのOS遍歴
Vista 32bit(絶望)(1年)→XP 64bit(絶望)(1年)→XP 32bit(2ヶ月)→7 32bit(今)(2日)
PCのスペックは、Pen4D 820、Radeon X1950、メモリ2GBです。
CPUが未対応で、XPモードは動かず。というわけでXPmodeのレポートはありません。
(この時点でこのレポートは8割の意義を失った!)
いい感じです。
すんげえ微妙なスペックに入れましたが、パフォーマンス的には問題ありませんでした。
UI(ユーザーインターフェース)の操作感はVistaから見ても、格段に進歩していると感じました。
特にタスク切り替えは非常に優秀。
見た目KDE+操作感はUbuntuのNautilus+MacのFinderって感じでしょうか。
Winオンリーユーザよりも、そっち系ユーザへのアピールが強いかな?という印象。
新規購入の場合ははProfessional以上がいいんじゃないかと思います。
XPmodeの対応なんかもありますが、イザって時の問題解決の手段がHome版だと足りない OR 面倒な事が多いので。
(大事なこと) ソフトやドライバをインストールする前に、必ず手動で復元ポイントを作ったほうがいいです。マジで。
今このPCが動かなくなると困るなーって時はOSのアップグレードをしちゃ駄目です(7に限った事じゃないけど)
かといって、デュアルブートはあんまりホイホイやるもんじゃないです。
簡単にできるよーってレポートも多いですが、よほど慣れているならともかく
後でいろいろと面倒になるのがデュアルブートとMBRいじりってもんですので。
(昔ほど致命傷にはなりにくいですが)
アップグレード版でもXPの環境を7に持ち越すことは、ほとんどできません(Vistaは問題なくいけるとのこと)
ファイルは保持できますが、どのみちクリーンインストールすることになります。
(Cドライブにwindows.oldというフォルダが作成され、旧環境のユーザーフォルダやProgram Files等が格納されます)
しかし、その後の動作が不安定だったので、再度CDbootからクリーンインストール。
どっちでもインストーラの動作は同じはずなのですが、なぜかそれで問題は解決しました。
というわけで、不安な人はフォーマットしたCドライブにインストールした方が良いかもしれません。
ハードディスクにファイルやフォルダを残しておくと、前環境のアクセス権等も一部継承されることがあります。
(NTFSの場合のみ。SSD等の理由でFATでフォーマットしてる方は関係ないです)
そのため、ファイルやフォルダが読めなくなったり、消せなくなることがあります。
自信のない人は 絶対に Cドライブをフォーマットしてからインストールした方がいいです。
改善方法などは↓この辺を参考に
http://builder.japan.zdnet.com/sp/windows-7/story/0,3800092267,20394364,00.htm
それでも駄目な場合は
ファイルプロパティを開いて所有者やアクセス権を確認、変更したりすると直ることもあるのですが、
これってHome版でもできるのでしょうか…。報告くださる方、よろしくお願いします。
(ちなみに裏技としては、FATフォーマットのHDDなりUSBストレージなりを用意して、
1-CD LinuxからPCを起動。読めなくなったファイルを前述の外部ストレージに待避……
とかするとファイル読み出せたりすることもありますが、普通はこんなアホなことはしません。
ただまあ、パーミッションとかが分からない場合は、むしろ簡単かも)
他でこの手のパーミッション関係に引っかかってるって人の話きかないから家だけなのかなあ?
Radeonのアスペクト比固定拡大機能が使えなくなりました。
同様の現象を改善された方もいらっしゃるようですが
当方環境ではどうにもなりませんでした。
Vistaからの移行の場合は気にしなくても問題ないのですが、
XPまでサポートのパーソナルファイアーウォール系のソフトは、ほぼ全滅です。
インストールできてもシステムに悪影響を及ぼす場合もあります。
動作報告があってもインストールの際には十分注意してください。
フリーならComodoあたりをおすすめしておきますが、これがベストってわけではないです。
エクスプローラ干渉系のソフトもいろいろ問題抱えてますので注意。
ぴたすちおとかZLToolsとかGmoteとか諸々のフリーソフトとか…
一部機能を切ったり設定変えたりすれば動くこともありますが、問題が起きたときに
どのソフトのせいなのか分かりにくくなるので、古いソフトとは決別する覚悟も必要です。
Aero切ってまで古い常駐ソフトを使いたい場合はXPに帰ることをお勧めします。
動作を確認したソフト等
Sandboxie 3.40(3.38で支障がでました、3.40でもフルスクリーン化に問題が残ってます)
MagicDisc(Daemon Tools、Alcoholは未対応だそうです)
StExbar(無いと不便なんで助かりました)
FullScreenWin(7でも動きました)
Avast
今日1時間30分もxreaのPHPセーフモード エラーで苦しみました。。。
同じような人が出ないように、取り合えず情報共有しておきますー。
【問題】
phpのtouch()関数で自動的にphpファイルを生成していましたが、
アクセスしてみると、SafeModeエラーが表示されて閲覧出来ません。
これは自動的に生成されたファイルであり、所有者権限が違うため見れないっぽいらしい。
オーナー権限や、パーミッション変更の関数を使ってもこればかりはムリらしいです。
【解決方法】
なので、自動生成したphpがあるディレクトリに下記の.htaccessを設置したらokでした。
AddHandler application/x-httpd-phpcgi .php
パーミッションは604
上記でも出来ない場合は、自動生成しているphpのパーミッションなどを変更しているかもしれませんー。
ああー、今回もxreaではまった・・・・。
http://takahashifumiki.com/others/480/
まぁまぁまともな生活ができる楽園なんだからさー。
アンタのような頑張り屋さんで能力が高い人が
わんさか来ちゃうと、居場所なくなってしまうでしょ。
しーえすえすないと見ればわかるでしょ?
俺らがスイーツ(笑)だって。
これを知らなきゃ始まらない。
当然一度くらい仕様書読んでるよね?
「・・・」
クソプログラマがわけわかんねぇ実装するから
俺たちはこんな苦労してんだ。
あー忙しい忙しい。
うんそうだね。でもあと5年もすれば
そんな知識ほとんど必要なくなるけど
ほかに何ができんの?
「・・・」
見てみろよこのきらきら感。
同じようなレイアウトで違いがわからないんだけど?
「いろいろサイト見て参考にしてるんで・・・」
まぁ0->1を生み出せる人間なんてほとんどいないわけだから
君たちは1を1.1にしてくれればいいよ。
「・・・」
・・・じゃあなんでこの位置にこのボタン置いたの?
「・・・なんとなく」
wwwwww
なんとなくって何だよwww
クリエーターが自分の作ったもの説明できなくてどうすんだよwww
見た目だけパクってんじゃねーよ。
結構絵を描いてきてるんだよね?勉強してるんだよね?
この画像パース狂ってるし光源がわけわからなくて気持ち悪いけど?
「・・・」
アナログできねーやつが
色についてちゃんと勉強したの?
「イキル。なんかクールじゃないですか??」
色の本は1冊くらい読もうよ。
うんうん重要だね。
「・・・」
多くの人に見てもらいたいんすよ。
うんうん。そうだね。
で、ガイドラインは当然読んでるんだよね?
「・・・」
おぉさすがクリエーター。センスあるね。
ところでさっき言ってたユーザビリティ、
アクセシビリティとか考えているんだよね?
「・・・あぁまぁ一応」
で、どこクリックすればいいの?
「・・・」
半端な知識で設計されても後々困るからやんなくていいよ。
無茶な要求しやがって。こういうわけわかんねぇ
「・・・?」
別に.confには触れなくていいから、
.htaccessくらいは設定できるようになろうよ。
興味ないの?死ぬの?
「イキル。でも興味はありません。」
内容が同じファイルUPしたのに動かない・・・
パーミッションが違うよ。
どういう意味か調べないの?興味ないの?死ぬの?
「イキル。でも興味はありません。」
フォームなんていろいろあるから
適当に選んでUPするだけでだろ。簡単簡単。
え?確認画面がほしい?
「無理です。」
別にアプリケーション作れとは言わないけどさ
単なる問い合わせメールフォームくらいつくれない?
簡単なカスタマイズもできないようじゃ
顧客の要求にこたえられないだろ。
やっぱ今はAjaxだよね。スクロールしてもサイドバーがついてくるんだぜ!!
ライブラリ読み込んでるだけじゃね?
しかもDOMってるだけだよ。
アプリケーション作れなんて言わないから
君らクリエーターならこのナビゲーション
俺ならこうするって思うことないの?
「・・・ライブラリで充分です。」
またバカなクライアントから修正きたよ。
まぁ俺がサービス名間違ってたんだけど。
確認しないの?
ふーん。ちなみにIE6でレイアウト崩れてるけど?
「・・・」
で、なんでその誤字の修正に3時間もかかってんの?
「だって100ファイルもあるんですよ?俺じゃなきゃ1日あっても終わらねっす。」
君らが大好きなDreamweaverで多少正規表現使えなかったっけ?
1分で終わるよ。自分使うツールの機能に興味ないの?
忙しい忙しいって無能なだけでしょ?
「興味ないです。CSSをダイアログで設定する機能くらいしか使わないです。」
これまでのようにやっぱり自分が満足できる
うんうん自分が納得できるものを作るのは大事なことだね。
サイト見てるユーザが全然満足してないんじゃない?オナニーなの?
「・・・でもクライアントはきっと満足してますよ。俺のオナニーすごいし。」
売れるサイトが欲しいんだよ。
なんとか売るのがてめぇらの仕事だろが。
一流プログラマ様が作ってくださった物をまったく理解しようともしないで
いじくってるバックボーンなきスイーツ(笑)なんだからさレベル高い奴はくんな。
こんな程度のスキルで4、500万は稼げちゃって
やっすいキャバでもオークションのやり方教えてとかブログのやり方教えて、
とか言われてお家行ってにゃんにゃんできちゃうわけだから出たくねーよこんな楽園。
しかもこんな能力じゃ楽園でたらどこも行くとこないよ。
努力しないでそこそこの金がもらえて
おしゃれって思われる仕事を用意するのが政治だろって訴えますよマジで。
残らないだろうけどなwww
オワタwww
改行コードとかパーミッションはサーバに転送するときにFTPクライアントソフトが勝手に書き換えてる可能性があるね。FFFTPとか。
htmlとcssは、ハックとか覚えて使えるようになってきたレベルです。渡されたデザイン画をみて、すぐにココはどういうコードか思いつくくらいのレベルです。
phpは学校で少し習いました。メール送信プログラムとかは、なんとか自作出来るレベルです。でもソの後に¥マークが出るアレを処理していません。確かやり方はアレだとは思うんですが、趣味のほうで使っているのでまだ修正していません。
jsはほぼ分かりません。画像切り替えくらいなら学校で習いましたが、ロールオーバーボタンならフラッシュにしてしまいたいくらいです。フラッシュのボタンなら作れます。cssで画像切り替えでもいいですね。
cgiはさっぱりです。レイアウトに関する変更をするぐらいなら、なんとか解読出来るかもしれないレベルです。
サーバー関係はさっぱりです。特にphpってあんまりパーミッション変更とかって無いらしいので、パーミッション変更とか、よく分かりません。そういえばphpのバージョンもよく分かりません。バージョンによって動かないプログラムもあるらしいですね。
cgiが動かないから検証しろ、っていきなり言われても、よく分かりません。
cgiの改行コードが間違っていてパーミッションも何故か644に戻ってました。
でもそんなの、理由も分からないし、どのファイルが必要かとか、何時何をしたら改行コードが変わってしまうのかとか、分からないことだらけです。
新卒だから何でも吸収して欲しい、って言ってくれるのは正直嬉しいです。勉強して覚えたいです。
でもいきなり仕事でやらされても困ります。
確かに今までのcgiとかはなんとか解読して修正とかしてきました。
でも今回の仕事は、分からない僕じゃなくて、分かる誰かがやるべき仕事だと思うんです。
きっと相手は苛々してるでしょう。なんでこういう間違いが起こるのかと。
前の60行テンプレートエンジンを改良して、レイアウトテンプレート機能を追加してみた(それでも全部で90行)。
レイアウトテンプレート機能とは、例えば個別のテンプレートが<table>...</table>を出力して、それをレイアウトテンプレートが<html><body>...</body></html>で囲って出力するとかそんなの。
詳しくは終わりの方のサンプルをみてくれ。
これは Ruby on Rails(とその仲間たち)にある便利機能のひとつ。
ついでにいうとSmartyにはない機能のひとつ。
今まで知らなかった人はぜひ試してくれ。チョー便利だから。
前回はたくさんのブックマークありがと。
コメントで「男前テンプレート」と名前がついてたので、勝手に採用。
あと、これ以上の機能追加はしないので、各自勝手に改造して使ってくれ(そのためにコメントをつけてるから)。何でも人任せにするな。
コード:
<?php /* * OtokomaeTemplate.php -- レイアウトテンプレートに対応した90行のテンプレートエンジン * * - レイアウトテンプレート中で echo $_content; とすると中身が表示される。 * - テンプレート中で設定した変数をレイアウトテンプレートで使うことが可能。 * - レイアウトテンプレート名をテンプレート側で指定することも可能。 * - 使い方: * require_once('OtokomaeTemplate.php'); * $TEMPLATE_DIR = 'templates'; // 省略可、パーミッションに注意 * $LAYOUT_TEMPLATE = 'layout.php'; // 省略可 * $context = array('title'=>'Example', * 'list'=>array(10,'<A&B>',NULL)); * include_template('template.php', $context); * - 要 PHP 5.1 or later * - ライセンス: public domain (自由に改造してね) */ /* * 設定用のグローバル変数 */ $TEMPLATE_DIR = NULL; /* テンプレートを探すディレクトリ */ $LAYOUT_TEMPLATE = NULL; /* レイアウトテンプレートのファイル名 */ /* * テンプレートを読み込んで実行する。 * $_context は変数名をキー、値を要素とする連想配列。 * $_layout はレイアウトテンプレートのファイル名。 * - NULL または省略した場合は $LAYOUT_TEMPLATE を使う。 * - FALSE ならレイアウトテンプレートを使わない。 * - $_context['_layout'] = '...'; とすればテンプレート側でも指定可能。 */ function include_template($_filename, $_context, $_layout=NULL) { global $LAYOUT_TEMPLATE; $_content = render_template($_filename, $_context); if (@$_context['_layout'] !== NULL) // テンプレート側で指定された場合は $_layout = $_context['_layout']; // それを使う。 elseif ($_layout === NULL) // 引数で指定されなかった場合は $_layout = $LAYOUT_TEMPLATE; // デフォルトのファイル名を使う。 if ($_layout) { $_context['_content'] = $_content; // レイアウトテンプレート中で使う変数 $_content = render_template($_layout, $_context); } echo $_content; // or return $_content; } /* * テンプレートを読み込んで実行し、その結果を文字列で返す。 * include_template() の実体。 */ function render_template($_filename, &$_context) { $_cachename = convert_template($_filename); extract($_context); // 連想配列をローカル変数に展開 ob_start(); include($_cachename); // テンプレートを読み込んで実行 return ob_get_clean(); } /* * テンプレートファイルを読み込み、convert_string() で置換してから * キャッシュファイルに書き込む。読み込み時のロックは省略。 * (file_get_contents() もファイルロックできるようにしてほしいなあ。) */ function convert_template($filename) { global $TEMPLATE_DIR; if (! file_exists($filename) && $TEMPLATE_DIR) $filename = "$TEMPLATE_DIR/$filename"; $cachename = $filename . '.cache'; if (! file_exists($cachename) || filemtime($cachename) < filemtime($filename)) { $s = file_get_contents($filename); $s = convert_string($s); file_put_contents($cachename, $s, LOCK_EX); // LOCK_EX サポートは 5.1.0 から } return $cachename; } /* * テンプレートの中身を置換する。 * - '#{...}' を 'echo ...;' に置換 * - '%{...}' を 'echo htmlspecialchars(...);' に置換 * - ついでにXML宣言も置換 */ function convert_string($s) { $s = preg_replace('/^<\?xml/', '<<?php ?>?xml', $s); $s = preg_replace('/#\{(.*?)\}/', '<?php echo $1; ?>', $s); $s = preg_replace('/%\{(.*?)\}/', '<?php echo htmlspecialchars($1); ?>', $s); return $s; } ?>
<?php require_once('OtokomaeTemplate.php'); $TEMPLATE_DIR = 'templates'; $LAYOUT_TEMPLATE = 'layout.php'; $context = array('list'=>array(10,'<A&B>',NULL)); include_template('template.php', $context); ?>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <body> <h1>%{$title}</h1> <div id="maincontent"> <!-- テンプレートの内容 --> <?php echo $_content; ?> <!-- /テンプレートの内容 --> </div> </body> </html>
<?php // レイアウトテンプレート名をテンプレート中で指定する場合 ?> <?php //$_context['_layout'] = 'mylayout.php'; ?> <?php // レイアウトで使用する変数をテンプレート中で指定する場合 ?> <?php $_context['title'] = 'レイアウトのサンプル'; ?> <table> <?php foreach ($list as $i=>$item): ?> <tr bgcolor="#{$i % 2 ? '#FFCCCC' : '#CCCCFF'}"> <td>#{$i}</td> <td>%{$item}</td> </tr> <?php endforeach ?> </table>
出力例:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <body> <h1>レイアウトのサンプル</h1> <div id="maincontent"> <!-- テンプレートの内容 --> <table> <tr bgcolor="#CCCCFF"> <td>0</td> <td>10</td> </tr> <tr bgcolor="#FFCCCC"> <td>1</td> <td><A&B></td> </tr> <tr bgcolor="#CCCCFF"> <td>2</td> <td></td> </tr> </table> <!-- /テンプレートの内容 --> </div> </body> </html>
いくつか補足:
方針:
【追記】レイアウト機能を追加してみた
コード:
<?php /* * SixtyLinesTemplate.php - 60行しかないけどSmartyより速いテンプレートエンジン * * 使い方: * require_once('SixtyLinesTemplate.php'); * $TEMPLATE_DIR = 'templates'; // 省略可、パーミッションに注意 * $context = array('title'=>'Example', * 'list'=>array(10,'<A&B>',NULL)); * include_template('template.php', $context); * * ライセンス: public domain (自由に改造してね) */ /* * テンプレートを探すディレクトリ。 */ $TEMPLATE_DIR = NULL; /* * テンプレートを読み込んで実行する。 * $_context は変数名をキー、値を要素とする連想配列。 */ function include_template($_filename, $_context) { $_cachename = convert_template($_filename); extract($_context); include($_cachename); } /* * filename を読み込み、convert_string() で置換してから * filename.cache に書き込む。読み書きのロックは省略。 * (file_{get,put}_contents() はファイルロックできるようにすべきだ。) */ function convert_template($filename) { global $TEMPLATE_DIR; if (! file_exists($filename) && $TEMPLATE_DIR) $filename = "$TEMPLATE_DIR/$filename"; $cachename = $filename . '.cache'; if (! file_exists($cachename) || filemtime($cachename) < filemtime($filename)) { $s = file_get_contents($filename); $s = convert_string($s); file_put_contents($cachename, $s); } return $cachename; } /* * テンプレートの中身を置換する。 * - '#{...}' を 'echo ...;' に置換 * - '%{...}' を 'echo htmlspecialchars(...);' に置換 * - ついでにXML宣言も置換 */ function convert_string($s) { $s = preg_replace('/^<\?xml/', '<<?php ?>?xml', $s); $s = preg_replace('/#\{(.*?)\}/', '<?php echo $1; ?>', $s); $s = preg_replace('/%\{(.*?)\}/', '<?php echo htmlspecialchars($1); ?>', $s); return $s; } ?>
<?php require_once('SixtyLinesTemplate.php'); $TEMPLATE_DIR = 'templates'; // optional $context = array('title'=>'Example', 'list'=>array(10,'<A&B>',NULL)); include_template('template.php', $context); ?>
サンプルテンプレート:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>%{$title}</title> </head> <body> <h1>%{$title}</h1> <table> <?php foreach ($list as $i=>$item): ?> <tr bgcolor="#{$i % 2 ? '#FFCCCC' : '#CCCCFF'}"> <td>#{$i}</td> <td>%{$item}</td> </tr> <?php endforeach ?> </table> </body> </html>
出力例:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Example</title> </head> <body> <h1>Example</h1> <table> <tr bgcolor="#CCCCFF"> <td>0</td> <td>10</td> </tr> <tr bgcolor="#FFCCCC"> <td>1</td> <td><A&B></td> </tr> <tr bgcolor="#CCCCFF"> <td>2</td> <td></td> </tr> </table> </body> </html>