Smarty 配列の要素をカンマ・スラッシュなどで区切って並べる

次のような配列を受け取るとする。

...
$list = ['たまねぎ','にんじん','じゃがいも'];
$smarty->assign('list', $list);
$smarty->display('test.tpl');

スラッシュで区切って並べることにする。

ループで回して単純に後に置くと、最後に余計な文字が残ってしまう。

{foreach from=$list item=item}
{$item|escape}/
{/foreach}
たまねぎ/ にんじん/ じゃがいも/

そこで、最後の要素でなければ後に置く。

{foreach from=$list item=item name=loop_name}
{$item|escape}{if not $smarty.foreach.loop_name.last}/{/if}
{/foreach}
たまねぎ/にんじん/じゃがいも

あるいは最初の要素でなければ前に置く。

{foreach from=$list item=item name=loop_name}
{if not $smarty.foreach.loop_name.first}/{/if}{$item|escape}
{/foreach}
たまねぎ /にんじん /じゃがいも

{foreach}内の改行がスペースに変換され余計な空白が入る。ただし{/if}の後では起きない。 最初の要素でなければ前に置くのように、行末が{/if}で終わらない場合は、改行しないでつなげる。

{foreach from=$list item=item name=loop_name}{if not $smarty.foreach.loop_name.first}/{/if}{$item|escape}{/foreach}

NHKのWebサイトにつながらなかった

11/13 0時前後、NHKのWebサイトにつながらなかった。 こことか。

ChromeDNS_PROBE_FINISHED_NXDOMAIN が出ていた。

最初、自宅のネット環境がおかしいのかと思ったが、 よそのWebサイトは閲覧できた。

NHK関連でもここにはつながった。 ドメインが違うからか。

5chにスレが立っていた。 【速報】NHKのサイト死亡 DNS権威サーバーに障害か

1時前頃には復旧していたと思う。

nhk.or.jp と nhk-sc.or.jp のDNSサーバを今見てみる。 Windowsコマンドプロンプトでnslookup。

nslookup -qtype=NS nhk.or.jp
nhk.or.jp       nameserver = ns10.nhk.or.jp
nhk.or.jp       nameserver = ns.nhk.or.jp
nslookup -qtype=NS nhk-sc.or.jp
nhk-sc.or.jp    nameserver = dns-c.iij.ad.jp
nhk-sc.or.jp    nameserver = dns-b.iij.ad.jp

nhk-sc.or.jp はIIJなのか。

Bluetoothマウスが動かなかったのでペアリングをやりなおしたら動いた (Windows10)

ぺリング手順メモ

  1. 画面右下、タスクトレイの ^ *1 をクリック
  2. Bluetoothのアイコン *2 をクリック
  3. Bluetoothバイスの追加」 をクリック
  4. 目的のマウスの機器名が表示されていたらクリックして「削除」をクリック
  5. 「[+]Bluetoothバイスまたはその他のデバイスを追加する」 をクリック
  6. Bluetooth マウス、キーボード、ペン、オーディオまたはその他の種類の Bluetoothバイス」をクリック
  7. 「デバイスの電源が入っていて、検出可能になっていることを確かめてください。接続するには、以下からデバイスを選択してください」が表示されたらマウスのペアリングボタン等を押す
  8. 目的のマウスの機器名が表示されたらクリック
  9. 「完了」クリック

タスクトレイ以外からBluetoothとその他のデバイスの画面に行く方法

  • 田 → 設定 *3 → デバイス 3ステップ
  • 田を右クリック → 設定 → デバイス

*1:「隠れているインジケーターを表示します」のチップヘルプが表示されるやつ

*2:縦長の青い小判型にルーン文字

*3:「さ」のグループにある。スクロールして探すのがダルいのでお勧めできない。

宅配便の受領サインがデジタル化されていてびっくりした

宅配便の受け取りに出たら、幅広のスマホのような往年のPDAのような端末の 画面にサインを求められた。 人差し指で画面をなぞってサインした。上手ではない。 印鑑ではない、紙でもない。 そういう時代なんだなと思った。

本日 00:00:00 の YYYY-MM-DD hh:mm:ss を作るSQL

MySQL
mysql> SELECT CONCAT(current_date, ' 00:00:00') AS todays_midnight;
+---------------------+
| todays_midnight     |
+---------------------+
| 2019-10-24 00:00:00 |
+---------------------+
PostgreSQL
postgres=# SELECT current_date || ' 00:00:00' AS todays_midnight;
   todays_midnight
---------------------
 2019-10-24 00:00:00

9.1 から concat が使えるらしい。 文字列関数と演算子(9.0) 文字列関数と演算子(9.1)