Perl小ネタ:配列をソートする
■配列を数値で昇順ソート
@array = sort { $a <=> $b } @array;
■配列を辞書順で昇順ソート
@array = sort { $a cmp $b } @array;
降順にする場合は$aと$bを入れ替えます。
文字列データを数値でソートしようとするとエラーになります。
Perl小ネタ:配列の中身すべてに対してループ
基本的にはforeachさんを使います
my @array = qw(a b c d e f);
foreach ( @array ) {
print $_;
}
$_を使いたくない場合は、途中に変数を入れます。
ループ内で値を加工したい場合や可読性がよくない時はこちらを使います。
foreach my $value ( @array ) {
print $value;
}
Perl小ネタ:配列の特定にある場所のデータを消す
先頭や末端は元々用意されているshift unshift pop pushをつかいます。
それではできない場合はspliceを使います。
my @array = qw(a b c);
splice(@array,1,1);
print Dumper @array;
で見ると、こうなっています。
$VAR1 = 'a';
$VAR2 = 'c';
書式は
splice ARRAY, OFFSET, LENGTH, LIST
となっていて、範囲を指定して取得したり、特定の範囲以外を削除もできます。
ちなみにdelete関数は中味は消しますが配列自体は残っています。
delete($array[1]);
print Dumper @array;
↓
$VAR1 = 'a';
$VAR2 = undef;
$VAR3 = 'c';
Perl小ネタ:エラーシグナルを取得する
独立したシステムで、エラーも別処理として参照したりするときにたまに使います。
BEGIN {
$SIG{__WARN__} = sub {
print $_[0];
};
}
warn "make warn";
ワーニングのシグナルを受けると、これが実行されるというところまでは何となくわかる。
そしてエラー内容が@_に格納されるらしいが、$_[1]以降にデータが入る事はあるのだろうか。。
$_[0]がなかった場合、warningが発生してさらに呼び出されて無限ループしないか・・・!?って思ったんですが、この中で発生したwarningは除外ぽいです。
Perl小ネタ:配列の中身をすべて削除
■配列の中身をすべて消すには以下のように()で引き渡します。
@array = ();
外出先でスマホからリモートデスクトップする環境を整える
いざという時、スマホでリモートデスクトップして文字入力する為にかさばらないキーボード&マウスパッドを買ってみました。
折りたためるので、収納がいい。
最低限のコマンド入力や確認操作ぐらいは問題ないですね。
スマホはTorqueG03なんですが、4.6インチでもまあ何とかリモートデスクトップ先でもメール見れちゃいます。
奥多摩日帰り登山 軍畑駅~高水山~岩茸石山~御嶽駅
JavaScriptを始めた理由
いや別にプログラマでもないしSESやSIerやってるわけでもないから、ずっとPerl使いで時代に置いて行かれてもいいかなって思ってたんです。
だがしかし、会社でそれなりに皆でやろうとなるとやっぱ何か選定しなくてはいけなくなりました。
で、最近触り始めたJavaScript。
昔の認識は、ブラウザにくっついてる、WEBでなんか凝ったことしたい時にコピペして使う言語だよねーって思ってました。
反省しました。
バックエンドでLinuxで動かしたいよぅ → Node.js
フロントエンドでブラウザで動かしたい! → Ajaxとか
流行りのビジュアルプログラミングってなんぞ → NodeRED
Windowsアプリやってみたい → Electron
スマホアプリも作れちゃう・・・? → ReactNative や NativeScript
なにこれ、どこでも動くじゃん・・・
やっぱ慣れてるPerlでゴリゴリ書くのは楽だけど、ちょっとJavaScriptも勉強中であります。
【都内散策】愛宕神社
ここは東京のど真ん中にある愛宕神社です。
皇居と東京タワーの間ぐらいですかね、自宅からもそれ程遠くないので気晴らしに自転車で散策します。
周りは高層ビルにかこまれているのに、ここだけ空気感が違う。小高い丘の上に鎮座されております。
個人的におすすめ。
サーバを運用しながらインターリンクによる快適なテレワーク環境を実現させる
―――――――――――――――――――――――――――――――――――――――
2020/5/28追記
ZOOT NATIVEでIPv4固定IPアドレスサービスが開始されたので、
こんなことしなくても固定IP使えるようになりました・・・・。
しかしまあ、PCからのアクセスで固定IPが身バレしないというメリットがあります。
―――――――――――――――――――――――――――――――――――――――
まずどういうことかっちゅうと、インターリンクの「ZOOT NEXT」を使っていました。
サーバを運用しているので、固定IPが必要なんですが1,320円とすごく安い。
ただ、自宅からテレワークをする機会が増えたんですが、リモートデスクトップが切れまくって混雑時の回線の遅さに耐えられなくなりました。
同サービスによる「ZOOT NATIVE」を使うとIPv6経由で接続できる為早くなるとの事なので追加で契約。
今まで使っていたIPv4 PPPoE接続と、新しく接続するIPv6 IPoE環境を併用させる必要がありました。
ルータの設定にだいぶ苦戦しましたが、現在はかなり快適です。混雑時って何って感じです。
ちなみにYAMAHAの対応機種はDS-Lite対応ルーター NVR500 NVR510 RTX830 RTX1200 RTX1210 となっていてFWX120が無かったんですが、無事接続できちゃいました。
不安だったのでNVR500も中古で買ってしまいましたが、同じようなコンパネだったりするのでFWX120でもファームウェアを最新にすれば全く問題なさそうです。※自己責任で。
設定方法についてはNVR500の設定マニュアル と一緒でした。
そんなわけで以下構成図設定を若干説明したいと思います。
ちなみに職場からのVPNは別途職場で提供されているVPNサーバ&クライアントなのでFWX120側のVPNではありません。