してログ

このブログでは、主に技術系の話題やネット関連の話題を扱います。 ネーミングはまだしっくりいってないけど、「LANDHERE Web Site log」→「Site blog」→「Sitelog」→「してログ」、とりあえず。

Windows であればタスクバーなどに時計は表示されていますが、なかなか目に入らなくて時間を知りたいときイライラするものです。普通の据え置きタイプの時計だと大きすぎて、必要なときにどこか別の場所あったりするし、何かいい手は無いものかと思っていました。そこで思いついたのが、車用のデジタル時計をディスプレイのフレームに張り付けてみるというものです。

車用デジタル時計のいいところは、外部電源がいらないこと、小さくて邪魔にならないこと、取り付け用ステーが付いていること、電波時計なこと(これは欠点にもなりますが)などです。実際に張り付けてみると、邪魔にならず非常に見やすいし、これがなかなかすばらしい。

NAPOLEX Fizz-940

形状的にディスプレイのフレームにステーを使わず両面テープで貼り付けることができます。文字も大きく見やすいのですが、24時間表示に設定すると一番左の数字が細く表示されてしまいます。また、車載用なのにアラームも付いていて、室内での利用に不足はありません。

今回の目的のために購入したものですが、個人的には横長の文字(見やすいですが)と24時間表示時の不ぞろいの文字サイズが気になりました。ただ後で気づいたことですが、この点は多くのデジタル時計に共通しています。24時間表示で十の位を細く表示するものの方が多く、12時間表示しかできないものは1しか表示しないため更に余白を削っています。

SEIWA W661

これは何年か前に買って、今も車載用として使っているものです。W661 と違い24時間表示でも均等の幅で数字が表示され、縦長のすらっとした表示が気に入っていたので、これをもう1個買っても良かったです。買わなかった理由は、裏側のソーラーパワーのパネルが室内ではいらないと思ったためです。

ただ、形状や文字スタイルなど2個手にして比べてみると、こちらをもう1個買った方が正解だったと思います。

SEIWA W690

NAPOLEX と似た表示の SEIWA 製品がありました。説明書から24時間表示で十の位を細く表示され、横長な文字で表示される点も共通しています。ということで、買い直すなら W661 のほうがいいようです。

まとめ

シンプルなデジタル時計は百均にも売っていて通常はそれでも十分なのですが、自分の場合は特殊な要件があるので最適な製品はありませんでした。

  • 24時間表示が良い(24時間表示にすると不ぞろいな文字幅で表示する製品が多い)
  • 日付と曜日の表示が欲しい(百均のだと表示されるものが無い)
  • 貼り付けやすいスクウェアなデザイン(室内用だと角度が付いている)
  • 電波時計が邪魔(UTC を表示した時計も欲しいので勝手に時刻設定されると困る)

最後の UTC 表示の要件があるので、24時間表示が欲しいのですが、百均のものは12時間表示しかできません。12時間表示だと、せっかく UTC に調整していても朝なのか夜なのか一瞬考える必要があります。逆に車載用や室内用だと電波時計になりますので、UTC を表示したままにできません。

SEIWA W661 の見た目で、ソーラーなしのスクウェアな形状、電波時計ではない(または自動設定をオフにできる)製品があればベストです。百均だとセリアで売ってる RY-01-Aがスクウェア形状で、これで24時間表示ができればコスパ最強なんですが、なかなかうまく行かないものですね。

新聞取ってないので年末年始だけ TV ガイドを毎年買うのだが、いつも楽しみにしていた「ビートたけしの超常現象Xファイル」が無い。去年あたりは年末よりちょっと前に放送されていて、異変を感じていたので視聴率低迷で打ち切られたんでしょうかね。楽しみがひとつ減って残念な年末になりそうです。

その他にも異変があるようで、全国・ローカルいずれも映画の放送がほとんどありません。去年は「風の谷のナウシカ」とかジブリもやってたし、ローカルの新春シネマ深夜枠もあったように思います。今年は、金曜ロードSHOW!の「スター・ウォーズ/最後のジェダイ」くらい。TV ガイドからも映画特集ページが消えているようで、こちらも寂しい限りです。

追記

超常現象Xファイルのほうは、1月3日18:00から放送があるようです。「世界がザワついたマル秘映像 ビートたけしの知らないニュース 超常現象XファイルSP(仮題)」これですね。よかったよかった。

Lenovo IdeaPad S130
Lenovo IdeaPad S130

さっきまで繋がっていたはずなのに、DNS のエラーが出てネットに繋がらなくなってしまいました。最初、Google 検索とかはできていたので、一時的なネットワーク障害だと思っていたのですが、1日経っても改善しません。調べたところ IPv6 には繋がっているようなのですが(Google は IPv6 で使えていたのでしょう)、ほとんどのページは IPv4 なので繋がりません。

他のノート PC と見比べると、IPv4 のアドレスが取れていないっぽいんですよね。本来なら DHCP から設定されるはずなのに、直前に繋がっていたネットワークで割り当てられていた IP がそのまま表示されている、といった状況です。何が悪いのか色々やってみましたが、すべて無駄でした。

  • 接続しなおし、機内モードオンオフ、iPhone再起動、PC再起動
  • IPv6 の無効化
  • WLAN ドライバの更新

状況からして PC 側がおかしいと思われますので、アダプタ(Realtek 8821CE Wireless Lan 802.11ac PCI-E NIC)が壊れた可能性があります。解せないのは、他の Wi-Fi アクセスポイントには何の問題も無く IPv4 で接続でき DCHP から接続情報を貰えている点ですよね。何故か iPhoneXのテザリングをしたときのみ、IPv4 の接続情報が設定されず「インターネット接続なし」になります。

追記

余っていた TP-Link の無線 LAN があったので、これを使って問題が無いことを確認しました。やはり、Realtek の物理故障かドライバ不具合もしくは相性(それか直前に Windows10 アップデートをしたのでそれが関係しているかも知れない)だと思います。とりあえず、内臓の Realtek は無効にしておきます。それにしても Realtek にはいい思い出がないなあ。

TP-Link の無線 LAN 子機(Archer T2U Nano)は、小さくて予備として持っておいて助かりました。ただ、アクセスランプの緑 LED が点滅するのがマイナスポイント。あと、USB ポートが潰れるのが痛いです。もっと信頼性のあるデバイスを積んで貰いたいですね。あまり意識はしていませんでしたが、今度何か購入する際は Realtek を避けようと思いました。

ノートパソコンで Ubuntu のデュアルブートを試してみて、途中で面倒臭くなって止めたのですが、その時できた残骸を消去する方法です。1年に1回は Linux ノート作ろうと思うんだけど使い続けられた試しが無いのはお約束です。

ブートメニューの削除

コマンドプロンプトを管理者権限で開き、bcdedit コマンドで Ubuntu のエントリを探して、それを削除します。

bcdedit /enum firmware

表示の中から下記のような Ubuntu の文字を探します。

ファームウェア アプリケーション (101fffff
--------------------------------
identifier              {6ab12d87-1531-11ea-9cbf-806e6f6e6963}
device                  partition=\Device\HarddiskVolume1
path                    \EFI\ubuntu\shimx64.efi
description             ubuntu

見つかった identifier を指定して削除します。

bcdedit /delete {6ab12d87-1531-11ea-9cbf-806e6f6e6963}

EFI パーテーションから GRUB を削除

これだけだと、GRUB の残骸が消えていませんので、EFI パーテーションから物理的に消去します。こちらも管理者権限でコマンドプロンプトを開き、diskpart に入ります。

diskpart

具体的な手順はメモしていませんが、EFI パーテーションを見つけてドライブレターを割り当て、diskpart を抜けてディレクトリ削除という流れです。一応、記憶で箇条書きにしておきます。

  • list disk
  • select disk N
  • list vol
  • select vol N
  • assign letter=X
  • exit
  • x:
  • cd efi
  • rmdir ubuntu

CentOS の PHP に GnuPG 拡張モジュールをインストールする方法をご紹介します。

必要なパッケージの確認

以下のパッケージが必要になります。作業した環境で入っていなかったものは、php-devel と gcc-c++ でした。必要なものは、yum install でインストールしてください。

  • gcc-c++
  • php-pear
  • gnupg
  • libgpg-error
  • gpgme
  • gpgme-devel
  • php-devel

GnuPG のインストール

PECL 拡張モジュールになっているので、下記のコマンドにてインストールします。必要パッケージが揃っていれば、ダウンロードとコンパイルが自動的に行われます。

pecl install gnupg

php.ini の設定

php.ini を編集して extension=gnupg.so を追加します。CentOS の場合、/etc/php.d の下に gnupg.ini を作成します。

/etc/php.d/gnupg.ini
extension=gnupg.so

インストールの確認

拡張モジュールが有効になっているか確認します。

php -m | grep gnupg

また、必要に応じて Apache などを再起動します。

systemctl restart httpd
NASへのファイル転送が重い・止まる
NASへのファイル転送が重い・止まる

アップデート後、エクスプローラやファイル転送で問題が発生しています。同様の問題は最近の月例更新で発生していたため、7月頃からアップデートの度にロールバックして運用していました。あっちが良くなればこっちがダメ、本当にもういい加減にして欲しい。

  • ネットワークドライブの反応が激重になる
  • ディレクトリの表示、ファイルのリネーム、その他エクスプローラの動作が重い
  • ファイル転送が途中でしばらく止まる、終了直前99%で止まる(スクショの状態)
記念スクショ
記念スクショ

前にも見たことある気がするけど、久しぶりに起動した環境で表示されたのでスクショしました。後で思いましたが、標準の壁紙を表示して写せばよかったですね。XP のときから思うんだが、サポート終了した OS はフリーライセンスにしてくれんかなあ。

自分用なので色々と中途半端な記事です。

データベースの作成
createdb DBNAME --encoding=UTF8 --lc-collate=ja_JP.UTF-8 --lc-ctype=ja_JP.UTF-8 --template=template0
データベースの複製

既存データベースをテンプレートにして新しいデータベースが作成できます。

createdb -T DB_ORG DB_REP

データベースが稼働中なら、下記のコマンドで複製できます。

pg_dump -Ft DB_ORG | pg_restore -c -d DB_PEP
日付のフォーマット
表現結果
桁揃えto_char(now(),'YYYY-MM-DD HH24:MI:SS')2019-04-21 09:31:22
前ゼロ抜きto_char(now(),'YYYY-FMMM-FMDD FMHH24:MI:SS')2019-4-6 9:32:02
ISO8601to_char(now(),'YYYY-MM-DD"T"HH24:MI:SS"Z"')2019-11-14T18:37:28Z
データベースのタイムゾーンを変更する
alter database DBNAME set timezone to 'Asia/Tokyo';
select pg_reload_conf();
あるソート順において対象データが何番目にあたるか調べる

例えば、sorted_table で update_time の降順で並び変えたとき、id=24 のデータが何番目に来ているかを調べるには下記のような SQL になります。

select *
from (select row_number() over (order by update_time desc) as rowno,id from source_table) as sorted_table
where id=24
その他
評価が null の場合に別の値を返す(nvl 代替)
coalesce(column,0)
降順の並べ替えで NULL 値を最後にする
order by update_time desc nulls last

ハンドルカバー初体験

愛車のハンドル表面が剥げてきたので、ハンドルカバーという商品を初めて購入してみました。ドレスアップアイテムという位置づけなので、ふだん車にお金をかけていない自分にとっては疎いカテゴリーになります。たくさん種類が出ているので正直どれがいいのか分かりませんでしたが、赤黒のツートンのものにしてみました。

取り付け

簡単に取り付けられると思っていたら、これがとんでもなく固くて大変でした。考えてみれば、ズレたりしたら責任問題にもなりそうなパーツなだけに、かなり固く締め付けるような作りになっているのでしょう。正直、サイズを間違えたか初期不良なのかと思うくらい固いです。

商品が壊れることを心配するくらい思い切りひっぱって、ようやく装着できたときは指の感覚が無くなるくらいヒーヒー言ってました。装着中に何度か手が滑って、クラクションを鳴らしてしまったのはおそらく「あるある」なのでしょう、場所を選ぶか十分気を付けましょう。あと、もう二度と外したくなくなると思うので、センターを出す必要のあるハンドルカバーの場合は慎重に位置合わせしましょう。

まとめ

今回ははじめてハンドルカバーを購入してみました。むかしスポーティ感を出すのに、ハンドルのセンター位置に白いビニールテープを巻く、というドレスアップをしていたのを思い出しました。このハンドルカバーも見違えるほど車内の雰囲気が良くなりますが、あのテープひとつで驚くほど効果があったのは内緒です。

購入は近所の量販店でもいいですが品揃えが少なかったです。ネットで検索すると、ハンドルカバーはかなり多くの種類が出ているみたいので、デザイン重視ならネット通販のほうがお勧めです。

評価点

  • 表面の禿げたハンドルの触り心地が良くなった
  • 車内の雰囲気がカッコよくなる(思ったより効果絶大)
  • 赤と黒のツートンはスポーティでおしゃれ(センターマークもレース感があって良い)

マイナス点

  • 装着のし難さ(安全性のため仕方ない面はあるが)
  • ハンドルが太くなる
  • 内側はカバーされないので、逆手ハンドルすると握り心地が悪い(矯正にはいい)
  • 片手でぐりぐり回すのがやり難い(矯正にはいい)
総合評価:★★★★☆

素直に買ってよかった。

PhD cat
PhD cat

PHP のマニュアルは DocBook という形式で整備されており、HTML や PDF などに変換して利用することができます。公式からダウンロードできる HTML 版が以前のようなシンプルなものでは無く、スタイルシートが適用された活用し難いものだったのでトライしてみたのですが、結論から言うと同じ構成のものが生成されるようです。そのため公式にない PDF を作りたい場合など、参考程度にどうぞ。

作業に必要なパッケージの確認

subversion と git が必要になりますので、入ってない場合は下記コマンドにてインストールしておきます。

yum install subversion
yum install git

XML ドキュメントを取得

マニュアルの日本語 XML ソースをリポジトリから取得します。

svn co https://svn.php.net/repository/phpdoc/modules/doc-ja doc-ja

続いてソース内の configure.php を実行しますが、-with-lang=ja を指定しないと英語版が出力されるのでご注意ください(処理時間も長いので)。

cd ~/php-docs/doc-ja
php doc-base/configure.php --with-lang=ja --enable-xml-details

関係ありませんが下記のような「AA」が出てきたのでご紹介します。

All good. Saving .manual.xml... done.
All you have to do now is run 'phd -d /root/php-docs/doc-ja/doc-base/.manual.xml'
If the script hangs here, you can abort with ^C.
         _ _..._ __
        \)`    (` /
         /      `\
        |  d  b   |
        =\  Y    =/--..-="````"-.
          '.=__.-'               `\
             o/                 /\ \
              |                 | \ \   / )
               \    .--""`\    <   \ '-' /
              //   |      ||    \   '---'
         jgs ((,,_/      ((,,___/

 (Run `nice php configure.php` next time!)

PhD(DocBook を PHP マニュアルに変換するツール)

以下のコマンドにて PhD をリポジトリから取得します。

cd ~/php-docs
git clone http://git.php.net/repository/phd.git

ここで生成処理が大量にメモリを消費するようなので、実行する前に PHP の使用メモリの上限を上げておきます。今回は memory_limit = 512M と設定してみました(php.ini を編集)。準備ができたら、xhtml 形式で randered-docs ディレクトリに生成します。

cd ~/php-docs/phd
php render.php --docbook ~/php-docs/doc-ja/doc-base/.manual.xml --package PHP --format xhtml --output ~/php-docs/rendered-docs

PDF 出力するには、--format pdf としますが、HaruDoc が必要になります。HaruDoc は今回はじめて聞いたのですが、使えそうな PDF 生成エンジンのようです。今回は試しませんが FPDF の代わりに今度使ってみようと思います。

マニュアル最新版のバグ

関数一覧ページがバグっていたので書いておきます。マルチバイト文字を ASCII として扱おうとしてバグっているように見えますが、ソース等確認していないのでわかりません。ちなみに、公式からダウンロードできる HTML もそうなっています。

indexes.functions.html
indexes.functions.html