ペネトレーションしのべくん

さようなら、すべてのセキュリティエンジニア

python

【Python】ファイルを作らずにデータをGzip圧縮する

はじめに コード中で生成したデータを、Gzip圧縮してAWSのS3バケットにアップロードする必要がありました。ローカルにファイルを作ってそれを送るのが手っ取り早いんですが、ファイルを作らずに済むスマートな方法を模索していたら、こんな時間になってしま…

【Python】テキストファイルを開いて for で読み込むときは改行コードに注意しましょう(自戒

はじめに あまりに初歩的過ぎて書くまでもないと思ったけど、そういうのだからこそ(自分のために)残しておく価値があると言い聞かせて書く。とは言え初歩的過ぎて凹んでいるので Twitter に流すのはやめておこうと思う。 結論 テキストファイルを for 文で 1…

【プログラミング】複数キー、異順ソート(AtCoder ABC128-B)

はじめに 目から鱗だったのでメモします。異順ソートという言葉はないと思いますが便宜上名付けました。 問題 市名 点数 が複数個渡されるので、市名は昇順、かつ同じ市名なら点数は降順にして、番号(渡された順に1から採番)を出力する。 atcoder.jp ポイン…

【Python】リストや辞書を複製するときは copy() しなきゃいけないし、それらに値として更にリストや辞書が含まれているなら copy.deepcopy() しましょう(自戒

はじめに はまったのでメモします。 リストや辞書を代入で複製しようとするとハマる a_dict の構造をそのまま b_dict でも流用して、値だけ b に変えたれ~と思ったとき、代入によってそれをしようとすると、 a_dict['id'] まで b に変わってしまいます。調…

ネットワーク機器のインターフェイス名をいい感じにソートする

はじめに ネットワーク機器のインターフェイス名って、だいたい以下のような感じです。 >>> interfaces = ['GigabitEthernet1/0/' + str(i) for i in range(1, 21)] >>> for interface in interfaces: ... print(interface) ... GigabitEthernet1/0/1 Gigabi…

【Zabbix】pyzabbix と py-zabbix の違い

はじめに はじめて使った Zabbix API の Python ラッパーは pyzabbix でした。 github.com 記事も書いてます。 befs-anne.hatenablog.com しかし、最近はご縁があって(?) py-zabbix というまた別のラッパーを使っています。 github.com ざっくり、それぞれの…

PyZabbix(PythonのZabbix APIライブラリ)の使い方

概要 Zabbix APIをPythonで叩くためのライブラリ「PyZabbix」に関する日本語情報があんまりなくて英語読んだりソース読んだりちょっと大変だったので、メモがてら書いておく。 github.com Zabbix APIそのものについての説明は割愛するが、公式ドキュメントと…

【Batfish】ネットワークバリデーションツール「Batfish」を使った簡易経路テスター

Batfishとは? 主要ネットワーク製品の設定ファイルを解釈し、動作を検証できるOSSツール「Batfish」が、TLで密かな盛り上がりを見せている。Javaで書かれているみたい。 https://www.batfish.org/ github.com Batfishの使い方 2種類のDockerイメージと、Pyt…

【写経】【更新中】『みんなのPython 第3版』 Chapter 03 条件分岐とループ(最終更新: 20160906)

概要 『みんなのPython 第3版』から、「Chapter 03 条件分岐とループ」のサンプルコードを写経する。 03-01 if文で条件分岐する if文の簡単な例 >>> year = 1868 >>> if year == 1868: ... print("明治元年") ... 明治元年 >>> else文を使う else文の簡単な…

【写経】『みんなのPython 第3版』 Chapter 02 変数と組み込み型

概要 『みんなのPython 第3版』から、「Chapter 02 変数と組み込み型」のサンプルコードを写経する。 少しずつでも、毎日考えながら考えられる時間だけやっていく。 02-01 変数を使う 変数を作る 変数には名前を付ける。 品物を分類するために、入れ物に名前…

【写経】『みんなのPython 第3版』 Chapter 01 プログラミング言語Python

概要 『みんなのPython 第3版』から、「Chapter 01 プログラミング言語Python」のサンプルコードを写経する。 今更確認するまでも無いようなことがほとんどだけれど、やるからには最初からやらないと気持ち悪い性分。自分でも損だと思う。 01-01 Pythonの魅…

【手順書】CentOS7にanacondaをインストール

概要 anacondaというpythonのディストリビューションをVirtualBox上のCentOS7にインストールする。 プログラミング言語のディストリビューションという概念がよく分かっていない……。 pythonの環境構築関連の記事で上位にあったので、(データサイエンティスト…