MerakiをNetFlowコレクタで見てみたい

Merakiダッシュボードを見てみたらNetFlowを吐ける項目を発見。

(「ネットワーク全体」→「一般」→「NetFlow」で行ける)

 

で、OSSのNetFlowコレクタは何があるのか調べると、ElastiFlowというのが良さそう。

 

(下記記事を参考にさせていただきました)

https://designetwork.daichi703n.com/entry/2016/03/21/NetFlow-Collector

 

ちょっと自前でやってみようかな・・・

BCU30に行ってきました

本日7/6にBattle Conference Under30(BCU30)に行ってきました。

これは30歳以下を対象にした一人10分程度のLT大会です。同時にスポンサー出展やプログラミング大会もあるようです。

去年も参加したので2回目です。

 

内容については...書けません。申し訳ないけど私の頭ではよくわかりませんでした。スライドが公開されたときに要勉強ですね。

 

これ、お互いに刺激になるようにするのが一つの趣旨だと思うのですが、逆に打ちのめされてやる気がなくなった人とかいるんですかね?(私がそうなんですが)

 

なんでこんなこと言うのかというと、これからはクラウドネイティブという時代(という発表)というときに私はACL職人やってましたからね、そりゃやってられませんよ。

 

来年は登壇できるように今からネタ増やして行きます。

 

 

令和元年5月1日を迎えて

せっかく令和になったので久しぶりに記事を書こうかと思います。

 

私にとって平成は何もできなかったな、という印象でした。

明らかに他の人と比べて勉強量が少ないんですよね。

アウトプットもほとんどできていない。

 

今日から少しずつ改善していければと

(あまりに抽象的過ぎてよくないですね・・・)

JANOG43に参加した

久しぶりに記事書きます

 

1/23~25に甲府でJANOG43が開催されたので、そこに3日間行ってきました。

全体の内容的に以下のような傾向がありました。

 

・ホワイトボックススイッチ

・Segment Routing

 

正直全然わからないです。勉強あるのみですね。

 

以上(内容がない)

exitで抜けないせいでtelnetで入れなくなった話

teratermやRloginを使用してCiscoルーターtelnetしてるとき、機器から抜けるにはどうしてますでしょうか。

ウインドウの×ボタンを押す?

それだと後々telnetが拒否される可能性があります。面倒でも特権モードからexitコマンドを打って正しく抜けましょう。

 

私は×ボタンを毎回押していたせいである日突然telnetが拒否される事態になりました。こうなってしまうとコンソールから入って何とかするしかありません。

 

グローバルコンフィギュレーションモードでshow lineと入力するとVTYやTTYの一覧が表示されます。するとUsersのところが異様に多いラインなるのではないでしょうか。

このラインをsh clear tty (tty番号)とすればtelnetでログインできるようになりました。

 

TLEの時は最適化しろ

自分、最近は競技プログラミングAtCoder)に参加しているのです。

昨日ABCに参加して、C問題で詰まったのでメモ。

問題はこんな感じ。

 

あなたは、joisinoお姉ちゃんと以下のようなゲームをしています。

  • 最初、何も書いていない紙がある。
  • joisinoお姉ちゃんが一つの数字を言うので、その数字が紙に書いてあれば紙からその数字を消し、書いていなければその数字を紙に書く。これを N 回繰り返す。
  • その後、紙に書かれている数字がいくつあるかを答える。

joisinoお姉ちゃんが言った数字が、言った順番に A1,...,AN として与えられるので、ゲーム終了後に紙に書かれている数字がいくつあるか答えてください。

   リンク:C - Write and Erase

 

で、私が考えたプログラムは以下の通り(言語は全てjava)。

 

1.0から9億9999万9999までの数字に対応したboolean型の配列を用意し、

  数字が読み込まれるたびに論理値を切り替える。

  結果:Runtime Error

  ちょっと考えれば至極当たり前の話。こんなアルゴリズムではメモリがいくらあっても足らない。

 

2.ArrayListインスタンスを用意し、数字が読み込んだ時リスト内に数字があればそれを消去し、なければリストにその数字を追加する。

  結果:Time Limit Exceeded

  なかなかいい案だと思ったが、テストケースの最後の2個がTLEとなってしまった。

 

ここからすごく時間をかけた。forループを減らしたりアルゴリズムを変えたりしたがどうしてもTLEが解消されない。

数十分考えた後に考えた結果、「ArrayListをもっと高速化できないか?」ということだった。

ArrayList 高速化」ググってみると・・・トップにこんなブログが見つかった。

d.hatena.ne.jp

要するにArrayListよりHashSet使った方が処理がとても早くなるよ、ということだった。なので早速プログラムに組み込むことにした。ArrayListの宣言をHashSetに変えるだけでOK。メソッドの変更も不要だった。

 

そしてプログラムを提出すると・・・あっさりとAcceptedになった。

 

TLEの時はアルゴリズム自体は正しいんだから、処理に時間がかかってる部分を見つけて修正するとか、検索してより高速なクラスを使用するといったことが必要だと学んだ。

TLEの時に下手にアルゴリズムを変更してもあまりいい結果にはならないということだ。

ASLRについての個人的なメモ

Windows Serverの勉強をする中でASLRという言葉が出てきた。気になったのでメモ。

 

ASLR(Address Space Layout Randamization)とは

名前の通り、データとか命令とかをメモリ配置を番地順に置くのではなくてランダムに配置する機能。配列とかもランダム番地に設置されるらしい。

なぜこんな機能があるのかというと、セキュリティ対策。ランダムに配置することで攻撃者がメモリから全データの入手を困難にする。ASLRがないと配列は番地順になっているので、メモリ番地を順々にインクリメントすれば配列内のすべてのデータを入手することができてしまう。

 

詳しいことは以下のサイトから拝読しました。

http://qiita.com/satoru_takeuchi/items/5c80c4e255e21c5b4b8a

 

しかしそんなASLRもJavaScriptで無効化する攻撃手法が発見されたらしい。

http://pc.watch.impress.co.jp/docs/news/1044822.html

要するにWebページにスクリプトを仕込んでおけば自動的にASLRが無効になる攻撃。

しかもほぼすべてのCPUに対して有効。パソコンだろうがスマホだろうが関係なし。

いやーJavaScriptって怖いなー。