Top image

Perl Monk

主にPerlとRaspberryPiの個人的技術研鑽


Perl小ネタ:配列をソートする

2020/09/23 20:00
category:Perl

■配列を数値で昇順ソート

@array = sort { $a <=> $b } @array;

■配列を辞書順で昇順ソート

@array = sort { $a cmp $b } @array;

降順にする場合は$aと$bを入れ替えます。

文字列データを数値でソートしようとするとエラーになります。


Perl小ネタ:配列の中身すべてに対してループ

2020/09/22 20:00
category:no_data

基本的にはforeachさんを使います

my @array = qw(a b c d e f);
foreach ( @array ) {
	print $_;
}

$_を使いたくない場合は、途中に変数を入れます。

ループ内で値を加工したい場合や可読性がよくない時はこちらを使います。

foreach my $value ( @array ) {
	print $value;
}

Perl小ネタ:配列の特定にある場所のデータを消す

2020/09/21 20:00
category: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小ネタ:エラーシグナルを取得する

2020/09/20 20:00
category:Perl

独立したシステムで、エラーも別処理として参照したりするときにたまに使います。

BEGIN {
	$SIG{__WARN__} = sub {
		print $_[0];
	};
}
warn "make warn";

ワーニングのシグナルを受けると、これが実行されるというところまでは何となくわかる。

そしてエラー内容が@_に格納されるらしいが、$_[1]以降にデータが入る事はあるのだろうか。。

$_[0]がなかった場合、warningが発生してさらに呼び出されて無限ループしないか・・・!?って思ったんですが、この中で発生したwarningは除外ぽいです。


Perl小ネタ:配列の中身をすべて削除

2020/09/19 10:00
category:Perl

■配列の中身をすべて消すには以下のように()で引き渡します。

@array = (); 

外出先でスマホからリモートデスクトップする環境を整える

2020/09/15 20:00
category:日常

いざという時、スマホでリモートデスクトップして文字入力する為にかさばらないキーボード&マウスパッドを買ってみました。

スマホでキーボード&マウス

折りたためるので、収納がいい。

最低限のコマンド入力や確認操作ぐらいは問題ないですね。

スマホはTorqueG03なんですが、4.6インチでもまあ何とかリモートデスクトップ先でもメール見れちゃいます。

iClever キーボード IC-BK08

Ewin スマホタブレットスタンド

Remote Desktop 8


奥多摩日帰り登山 軍畑駅~高水山~岩茸石山~御嶽駅

2020/08/16 20:00
category:日常

ATL

この暑い中、奥多摩へ日帰り登山いってみました。

> read more


JavaScriptを始めた理由

2020/08/13 20:00
category:サーバ全般

いや別にプログラマでもないしSESやSIerやってるわけでもないから、ずっとPerl使いで時代に置いて行かれてもいいかなって思ってたんです。

だがしかし、会社でそれなりに皆でやろうとなるとやっぱ何か選定しなくてはいけなくなりました。

で、最近触り始めたJavaScript。

昔の認識は、ブラウザにくっついてる、WEBでなんか凝ったことしたい時にコピペして使う言語だよねーって思ってました。

反省しました。

バックエンドでLinuxで動かしたいよぅ → Node.js

フロントエンドでブラウザで動かしたい! → Ajaxとか

流行りのビジュアルプログラミングってなんぞ → NodeRED

Windowsアプリやってみたい → Electron

スマホアプリも作れちゃう・・・? → ReactNative や NativeScript

なにこれ、どこでも動くじゃん・・・

やっぱ慣れてるPerlでゴリゴリ書くのは楽だけど、ちょっとJavaScriptも勉強中であります。


【都内散策】愛宕神社

2020/07/26 10:00
category:日常

愛宕神社

ここは東京のど真ん中にある愛宕神社です。

皇居と東京タワーの間ぐらいですかね、自宅からもそれ程遠くないので気晴らしに自転車で散策します。

愛宕神社

周りは高層ビルにかこまれているのに、ここだけ空気感が違う。小高い丘の上に鎮座されております。

個人的におすすめ。


サーバを運用しながらインターリンクによる快適なテレワーク環境を実現させる

2020/05/18 20:00
category:サーバ全般

―――――――――――――――――――――――――――――――――――――――

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ではありません。

> read more


< Prev Page
[ page:3 ]
Next Page >