« 2017年3月 | トップページ | 2017年5月 »

2017年4月28日 (金)

HDD(250G) → SSD(240G) (戻す)

今日も多くの方には関係ありません。パソコンを自作する人のみの話です。

三月の上旬に SSD が壊れた。そのときの記事はこちら
Windows 標準のバックアップを行っていたので、手元にあった HDD にそれを復元することで対応できた。

 

壊れたSSDが保証期間内だったので、修理依頼し戻ってきていた(新品に交換になった)。
ここのところ忙しくて HDD → SDD に戻す、をしていませんでした。
やっと先日手をつけたのですが、、。

SSDは 240G、HDDは 250G。
Windows 標準のバックアップを使った場合、、、

SSD(240) → HDD(250)は難なくできました。

しかし逆の20170428

HDD(250) → SSD(240)をしようとすると 「受け側が小さすぎる」とエラー表示が出て進みません。

ネットで調べると
領域を縮めると納めてくれる、と書かれていますが、幾つの方法(減らした分、空き領域を作ってそこを領域確保したり、フォーマットしたり)でやってみましたがダメでした。
バックアップも、Windows7のものイメージバックアップも色々試しましたがダメ。

SSD(240) → HDD(250)にしたとき、ディスク全体の容量が大きくなった分、最後尾に差分の空き領域(未確保)が出来ている。これを無視してくれればいいだけなのですが、真面目なWindowsは許してくれませんでした。

とにかく、Windows 標準のツールでは出来ない!、と結論づけました。

 

途方に暮れていたら
このマシンには、以前 Acronis Ture Image Personal 2015 というものをインストールしてあったことを思い出した。しかしドライバ扱いで常駐するのが気に入らなくてアンインストールしていた。ただ、レスキュー・メディア(CD)は作ってあった。それが見つかったeye

このCDにある「クローン」という機能をつかったら、何の苦労もなく出来ました。
立ち上がった後、SSDとして認識されているか確認したら、きちんとSSD扱いされていました。

Acronis Ture Image Personal 2015 は有料のソフトだし、(パーティションを縮めるなどの)小回りが利きませんので、お勧めはしません。
ネット上では、EaseUS Todo Backup というソフトの名前がよく挙がっています。私も Acronis のレスキューメディアがなければこれを使っていたと思います。

 

MSさんに言いたい!
ディスクの容量じゃなくて、データの領域で復元できるようにしてください!!

とにかく一件落着でほっとしましたhappy01

| | コメント (0)

2017年4月26日 (水)

SESSION変数が消える(PHP7)

プログラムの話です。多くの人には関係ありません。プログラムのプロの人にも関係ありません。年に1~2回プログラムをいじる人だけ向けです。

 

先日、レンタル・サーバーのphpのバージョンが上がり、7になったら色々と不具合が出た。
文字コードが、デフォルトが UTF-8、私は昔ながらの SJIS。明示的にそのことを書いて問題解決したと思った。

HPを見てくださっていると人とのコミュニケーションには、昔からフォームを使っている。受け取る側は POST変数。やりとりしている間、消えないようにするため受け取ったら SESSION変数に入れておく。このSESSION変数が消えてしまうようになった。つまり、見てくださっている人が入力してくれたのに、こちらでは受け取れず「入力してください!」とコメントを表示していたことに気が付いた (>_<)

ネットで調べても分からなかったので、備忘録として、私と同じように苦しむ人のために書いておきます。

 

【症状】

フォームに入力して、送信ボタンをクリックすると、記入したはずのデータが未入力になってしまう。つまり、記入したのに消えてしまう
しかも、半角は消えずに消えるのは全角のみ

 

【元のコード】

if ($_SERVER["REQUEST_METHOD"] == "POST") {
   foreach($_POST as $k => $v){
// ここに条件により $v を処理
   $_SESSION[$k] = $v;
 }
}

つまり
$_POST → $v → それを処理 → $_SESSION
これだけのこと

 

【結果】(これで動きました)

if ($_SERVER["REQUEST_METHOD"] == "POST") {
   foreach($_POST as $k => $v){
     $_SESSION[$k] = $_POST[$k]; // まずSESSION 変数に入れてしまう
//  その後、個別に処理。元となる変数は $_POST[$k] を使う。
   }
}

つまり
$v を通さない。それだけ。
これに気付くまで3日もかかってしまいました。
(文字コードの宣言とかいじくりまわしましたがダメでした (T_T) )

$v の立場がないので、

if ($_SERVER["REQUEST_METHOD"] == "POST") {
   foreach($_POST as $k => $_SESSION[$k]){
//  その後、個別に処理。元となる変数は $_POST[$k] を使う。
   }
}

とするべきだと思いますが、上記のコードに辿り着くまでに疲れ果て、それ以上いじりたくなかったので、こちらには試していません (-_-;)

 

【おまけ】 htmlspecialchars

私が行っている処理の内、htmlspecialchars は多くの人も行うと思いますので、期待するように動くようになった書き方を書いておきます。
(変換指定のフラグは適当です)

$_SESSION[$k] = htmlspecialchars($_POST[$k], ENT_NOQUOTES | ENT_HTML401 ,Shift_JIS);

POST 変数を使うことと、指定する文字コードは自分が使っている文字コード。

 

コーディングなんて年に1~2回しか見ないので、本職の人からすれば 「おいおい...」って感じだと思いますが、自分が忘れるし、私と同じような人もいると思うので、備忘録として書いておきます (^o^)

| | コメント (0)

2017年4月14日 (金)

3月の「犬とゆく」

東京の桜も満開ですが、寒さを感じる北風が吹くこともありますね。
犬とのお出かけにいい季節ですが、この季節でも車の中に残すと命に係わることもありますので、気を付けてあげてください。

 
3月の公開は4件。通算13件。
今年も週一のペースとなっていますhappy01

 

では、3月の公開記事。

southcafe
下田市吉佐美にある「犬連れも断らない」お店。ドッグカフェではない。それで長く続いているお店は、お店の人のお人柄も食事も素敵なことが多い。
私はここを利用したことありませんが、たぶん、ここもそうだと思います。
観光地にありながらボリューミーというのは嬉しい。

アザセボラ
西伊豆、大瀬崎にある、こちらも「犬連れも断らない」お店。投稿者が利用した時は、なんとテーブルにコタツ!、それで犬連れもOK!。立地もユニーク。そして絶景。
コーヒー他ドリンク類とケーキなどがメインのお店のようです。高速に乗る前、降りて一息つきたい時など、寄るといいかも。

伊豆テディベア・ミュージアム
伊豆高原にあるテディベア・ミュージアム。館内は広そうです。テディベア以外の展示もあります。
小型犬のみ、ケージに入れるか抱きかかえていれば入館OK。条件があったとしても入れていただけるだけで嬉しい。
ふわふわのぬいぐるみなどが多数展示してあるので、抜け毛には気を付けたいものです。

和山海料理 宇賀神
伊豆高原、城ケ崎近くにある和食屋さん。投稿にメニューの写真がありますが、定食メニュー多数。丼物も。海の幸を使ったもの中心。投稿を見ているだけで美味しそう。価格もリーズナブル。
こちらも「犬連れも断らない」お店。ドッグカフェなど犬連れ専用のお店ではない。

 

犬連れも断らないお店が増えてほしいものです。
お店側とはご苦労多いこととおもいます。その苦労を少しでも減らせる飼い主さんが増えてほしいと願っています。

| | コメント (0)

2017年4月 3日 (月)

php 5.3 から 7.0 へ (見事に文字化け)

「犬とゆく」で php を使うようになって15年以上経つ。使うといってもプログラムを組んで動くようになったら放置。なので進歩しない。
私は進歩しなくても、php は進歩してゆく。クラスとかオブジェクトは最低限の考えになっているようですが、昔からのコードにはそんなものはありませんcoldsweats01。それでも動いているのでいいのですbleah

先日、サーバーの増強&諸々のバージョンアップがあった。php も 5から7へと。
メンテナンスが終わって「犬とゆく」を表示させてみたら、見事に文字化けsad。焦って、設定で、5.3 に戻す。

色々調べたら、php7 では、文字コードを utf-8 で処理することになっているそうだ。昔、utf-8 で作るのは面倒だったので、日本国内で一般的な、Shift-JIS で作ってきた。
さて、このまま5で続けても数年で使えなくなるだろう。7対応をしたい。たぶん、エンコードを変えるだけで動くのであれば当分延命出来る。

色々と調べた結果、以下の一文を他の出力に先だってしておけばいいことが分かりました。

header("Content-Type:text/html;charset=shift_jis");

分かってしまえば簡単なこと。これだけで現在、7で動いています。
日々触れている人には当たり前のことだと思いますが、年に1~2回しかいじらない人間にはこれだけのことを理解し、対応するのに一日かかってしまいましたweep

 

その後、php7 に関する書籍を購入しようとネット上で探したのですがあまりない。世の中、本当にペーパーレスの時代がくるのかもしれませんね。

 

仕方ないので、ネット上で注意点を探して読んでた。本家のphp.netのドキュメントはこちら

冒頭に書いたようなクラスとかそういうものに関係することがほとんどで、私には関係ないと思っていたら、なんと、ereg系関数がなくなった!
焦って自分のコードを確認したら、何年か前に上手く動かなくなったので、preg_match に書き換えていたのですが、mb_ereg系が残っていました。
これについて調べたら、php7 でも  mb_ereg系は残っていましたhappy01

 

さてさて、あと何年動いてくれるかな。

| | コメント (0)

2017年4月 1日 (土)

ASUS MeMO Pad 7 ME572CL タッチパネルが反応しない

女房が使っている MeMO Pad 7 のタッチパネルが反応しなくなった。ネットで調べてみるとcrying

http://bbs.kakaku.com/bbs/J0000013893/SortID=19289391/?Reload=%8C%9F%8D%F5&SearchWord=%94%BD%89%9E%82%B5%82%C8%82%A2#tab

購入から1年以上経っているので保証外になるだろうし、一ヶ月も使えないのは困るだろうなと考え修理店を探した。見つかって、電話する前にデータの確認とかした方がいいよなとおもい、マウスを繋いで女房に「これで動くよ」とマウスが繋がったタブレットを渡し、今までのことと説明しようと思ったとき、自分の指が画面に触れた。

すると反応するではないかhappy02

 

結論(ウソでした)

ASUS MeMO Pad 7 の タッチパネルが反応しない場合は、マウスを繋いでみる!

と、思ったら違った。
電源切って立ち上げ直したら同じ症状 crying

マウスを使って色々やってみたら

 

結論

ASUS MeMO Pad 7 の タッチパネルが反応しない場合は、画面上部から下方向にスワイプすると、「自動同期」 なるものが出てくるけど、これをオフにする!

 

この自動同期がなんなのかよく分かりません。設定メニューの中の自動同期とも違うようです。
とにかくこれで大丈夫みたいです。再起動しても動かないということはありませんでした。

| | コメント (0)

« 2017年3月 | トップページ | 2017年5月 »