【PHP】PHP7.1で暗号化・復号化

5年前に書いた記事

【PHP】シンプルに暗号化・復号化する

の内容がPHP7.1では非推奨になってしまったようなので
OpenSSLを使う新しい方法で暗号化・復号化をしてみました。

特にインストールが必要なものはありません。

【Windows10】エクスプローラーのCtrl+Z問題を解決する

「Ctrl+Z」は多くのソフトで「元に戻す(アンドゥ)」操作を行うショートカットキーとして登録されています。

Windows10のエクスプローラーでもそうなのですが、
結構前からエクスプローラーでのCtrl+Zの挙動が問題になっています。

エクスプローラーでファイルを別のフォルダへコピーした後でCtrl+Zを押すと
コピー先のファイルはゴミ箱にも入らず完全に削除されます。

これだけなら、「Ctrl+Y」の「やり直し(リドゥ)」で
コピー先のファイルは復活できますし、コピー元が消えることはないので
問題はありません。

問題なのは、
コピー先のファイルを編集した後でCtrl+Zを押した場合です。
やはりファイルは完全に削除され、Ctrl+Yで復活できるのは編集前のファイルなのです。

この挙動は、システムとしての動作としては間違ってはいません。
ただ、Ctrl+Zを押した瞬間、編集した内容がなかったことになってしまい、
取り戻す手段がありません。これはかなり怖いですよね。

では、これを防ぐ方法はあるのか。
将来的にWindows Updateで修正される可能性もありますが、
私がここで提案する方法は、これです。

「エクスプローラーを使わない」

エクスプローラーのような機能を持つソフトを「ファイラー」と呼びますが、
エクスプローラーと同等以上の機能を持つフリーソフトがいくつかあります。

その中には、Ctrl+Zなどのショートカットを再定義できる機能を持つものもあります。
この機能を使って「元に戻す」を別の動作にしてしまえばいいわけです。

例えば、私がエクスプローラーの代わりに使っているのは

Tablacus Explorer

というフリーソフトです。

高機能なファイラー「Tablacus Explorer」。タブや分割だけでも、作業効率がグンと上がる。

このソフトはアドオンによってショートカットを定義することができます。
また、このアドオンは最初から入っているので、設定は決して難しくはありません。

とりあえず当たり障りのない機能を定義してみた。

このようにCtrl+Zの挙動を変えてしまえば、もう恐れることはありません。

このソフトはとても高機能で、使いこなせているとは言えないため詳細は割愛しますが、
標準のエクスプローラーにはないタブや分割など、非常に便利な機能がそろっていますので
Ctrl+Zの問題とは関係なくおススメです。

【Windows10】デュアルモニターで左右に別々の壁紙を指定する

これ、Windowsのバージョンによってちょこちょこやり方が変わってきているので、
久しぶりにやろうとしたときに

「あれ、どうやるんだっけ?」

ってなるんですよね。
特にWindows10では、Windows Updateしたら
以前のやり方ができなくなった、ということがあります。

2018年2月現在(Windows10のバージョンは1709)のやり方は
とても簡単です。

デスクトップの背景を右クリックして「個人設定」を開き、
「背景」を「画像」にして「参照」で画像を選択したら
その画像を右クリックすると

という選択肢が出てきます。

【Android】スマホのChromeでデベロッパーツールを使う

「スマホの実機でだけ動かない!なぜだ!」

たまにありませんか?

「何かJavaScriptのエラーが出てるっぽいけど、スマホでコンソール見れない!」

Chromeならとても簡単に見れます。

まず、Androidの設定で「USBデバッグ」をオンにしましょう。

開発者オプションが設定にない場合は

を連打すると表示されます。

次に、スマホとPCをUSBで接続します。
Windowsの場合はあらかじめ「Google USB Driver」のインストールが必要です。

接続したら、PC側のChromeで下記のURLにアクセスします。

接続されているスマホの情報が表示されますので、
そこにある「inspect」というリンクをクリックすれば
スマホで表示中の画面とデベロッパーツールが開きます。

これでスマホの実機でのデバッグがとても簡単になりますね!

【git】ブランチにcommit、pushする

gitでブランチにcommit、pushする方法です。

まずはcloneで取得した情報からブランチの一覧を表示してみます。

ブランチにはリモートとローカルがありますので-rオプションでリモートのブランチを指定します。

このように、ブランチのリストが出ます。
cloneした後に作られたブランチは表示されませんので
最新のブランチのリストを見るには再度cloneする必要があります。

目的のブランチを見つけたら、
ブランチをチェックアウト(リモート上のブランチを落としてきてローカルのブランチを作成)します。

たとえばver237というリモートのブランチをローカルに落としたい場合は

これでver237というブランチがチェックアウトできました。
コミット対象がブランチになっているか確認しておきます。

-rオプションをつけなければローカルのブランチリストが表示されます。

*がついている行が現在のコミット対象であることを示していますので、
ブランチ「ver237」がコミット対象です。
この状態でcommitやpushを行えば
このブランチを更新することができます。