既存システムのPHP8対応の依頼を受けることが増えてきました。
PHP8ではeachが使用できなくなりましたので
1 2 |
while(list($key, $value) = each($data)) { } |
のような構文はforeachに置きかえます
1 2 |
foreach($data as $key => $value) { } |
在宅プログラマーの備忘録として2005年に始めたブログです。
既存システムのPHP8対応の依頼を受けることが増えてきました。
PHP8ではeachが使用できなくなりましたので
1 2 |
while(list($key, $value) = each($data)) { } |
のような構文はforeachに置きかえます
1 2 |
foreach($data as $key => $value) { } |
Windowsで作成されたzipファイルをLinuxでunzipすると
日本語のファイル名が文字化けすることがあります。
対策1:エンコード
unzipの-Oオプションを使ってエンコードを指定すれば解決する場合があります。
1 |
unzip -Ocp932 (zipファイル) |
対策2:unar
しかし、対策1でも解決しないケースや、元のエンコードが不明な場合は
unzipの代わりに、エンコードを自動判別してくれるunarを使いましょう。
1 |
unar (zipファイル) |
unarがインストールされていなければ
1 |
yum install unar |
(CentOS系)
古いサーバーから新しいサーバーへパスなし接続がどうしても必要だったのでメモ。
もちろんセキュリティ的にオススメはしません。
接続元サーバーでECDSAでssh-keygen
1 |
ssh-keygen -t ecdsa -b 256 |
生成された公開鍵(id_ecdsa.pub)の内容を
接続先サーバーの authorized_keysにコピー
1 2 3 4 5 |
vi .ssh/authorized_keys (内容をコピーして保存) chmod 600 .ssh/authorized_keys chmod 700 .ssh |
接続元サーバーのECDSA対応
1 2 3 4 5 6 7 8 |
vi .ssh/config (以下を記載して保存) Host hogehoge.com(接続先) HostKeyAlgorithms ecdsa-sha2-nistp256 chmod 600 .ssh/config chmod 700 .ssh |
接続先サーバーのssh設定
1 2 3 4 5 |
vi /etc/ssh/sshd_config 以下を追記 PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys |
接続先サーバーのssh再起動で完了
Android5.1の古いスマホが余っていたので
卓上カレンダー代わりにできないかと考え、やってみました。
個人的に卓上カレンダーとして使うためのポイントは以下の4つでした。
・横向きの見やすいカレンダーが表示できるアプリ
・Googleカレンダーと連携
・スリープさせない
・古いOSなのでカレンダー以外には通信させない
まず考えたのはGoogleカレンダーをそのまま利用することですが、
Googleカレンダーのアプリはカレンダーとしては見やすいものではなく
月表示を横向きにもできませんでしたので
こちらのアプリを利用することにしました。
Jorte
https://www.jorte.com/?lang=ja
Jorteはカレンダーがとても見やすくて
まさに卓上カレンダーのような見た目にできます。
それにGoogleカレンダーの予定の連携も簡単でした。
ただ、Googleカレンダーの予定を連携するためには
スマホにGoogleアカウントを登録する必要があります。
そうすると標準でメールの受信まで自動的に行われてしまいます。
古いOSということもありますので
カレンダー以外は通信しないようにしたいですよね。
Googleアカウント設定でカレンダー以外の同期をしないように設定しましょう。
「設定」→「アカウント」→「Google」を開いて
Googleカレンダー以外の同期をオフにします。
あとはスリープさせないことですが、
新しいAndroidにはスリープさせない設定があるみたいですが、
古いAndroidの場合、「開発者モード」にする必要があります。
これは「設定」→「デバイス情報(端末情報)」を開いて
「ビルド番号」を7回タップすると開発者モードになります。
そうすると「設定」→「開発者モード」が追加され、
「スリープモードにしない」という設定があるのでチェックします。
完成した卓上カレンダー専用スマホです。
スマホなので小さいですね。
でも土日祝日が見やすいし、Googleカレンダーの自分と家族の予定をすべて表示できるので
理想的なデジタル卓上カレンダーになりました。
Google Workspaceでは複数のドメインを管理できますが、
企業の都合などでプライマリドメイン(アカウントのIDとなるメインのドメイン)の変更が必要になることがあります。
プライマリドメイン以外のドメインが
「セカンダリドメイン」として登録されていた場合は簡単なのですが、
プライマリドメイン以外のドメインが
「ドメインエイリアス」として登録されていた場合、
「ドメインエイリアス」を「プライマリドメイン」に変更することはできません。
この場合、以下の手順が必要でした。
対象のドメインエイリアスをいったん削除する
↓
そのドメインを「セカンダリドメイン」として再度登録する
↓
このときドメインの所有権を再度チェックされるので
DNSレコードに指定されたテキストを追加する
↓
追加されたセカンダリドメインをプライマリドメインに変更する
↓
登録されているユーザーのドメインを一括変更する
(CSVで出力し、CSVに必要事項を追加してインポートする)
↓
登録されているグループのドメインを一つ一つ変更していく
(そう、グループは一括で変更できないのである!(2023年1月時点))
実際に200近く登録されていたグループの設定を
一つ一つ変更していきました。
さて、ここで実際に作業する人にとって気になるのは、
各工程での「反映されるまでの時間」ではないでしょうか。
ドメインに関する変更なので、反映されるまで「最大○○時間」など
けっこうな待ち時間が発生するのではないか、
と私も考え、金曜の夜から月曜の朝までを「メンテナンス期間」と各所に通知して作業を行いました。
しかし、実際は
金曜の20時から上記の作業を開始し
すべて完了したのが金曜の22時でした。
(ほとんどはグループの設定を変更する作業でした)
ただ、やはり即時に反映されるわけではないので
ある程度余裕をもたせる必要はあります。