2018-01-01から1ヶ月間の記事一覧
pythonの標準ライブラリのひとつであるcsvを使うと、簡単にcsvファイルを読み込むことができます。 使い方を見ていきましょう。 CSVファイル 読み込み対象のcsvファイルとして下記のファイル(sample.csv)を使います。 name,age,height,weight yamada,20,17…
ソースコード検索システムであるOpenGrokをdockerを使って手軽に立ち上げる方法です。 OpenGrokのdockerイメージを取得する まずはdocker hubからOpenGrokのイメージをpullします。ここではhttps://hub.docker.com/r/scue/docker-opengrok/を使わせていただ…
docker pull等のネットワーク接続を伴う操作をするとき、認証プロキシは邪魔をしてきます。 ここではsystemdを使ってdockerデーモンを起動している場合の認証プロキシ設定について紹介します。 前提 プロキシの情報は次の通りとする 項目 値 ユーザID userna…
classに__iter__と__next__メソッドを実装することで、反復処理をサポートさせることができます。 反復処理をサポートしたclassは、for文などに対してiterable objectとして与えることが可能です。 コード # 反復処理をサポートしたクラス class iter_sample…
pythonの標準ライブラリのひとつであるconfigparserを使うと、設定ファイルを簡単に扱えるようになります。 これを使うことで、ソースコード中に設定をべた書きするよりもユーザに優しいスクリプトが書けるでしょう。 設定ファイルの用意 test.confとして、…
PythonからGetModuleBaseNameを呼び出し、プロセス名を取得します。 Windows APIを利用しているため、Windowsでしか動作しません。 コード import ctypes # 引数としてプロセスIDを与え、プロセス名を取得する def get_name_by_pid(pid): PROCESS_ALL_ACCESS…
C言語入門の宿題としてたまに見かけるお題です。 文字列の先頭と末尾から順に入れ替えを行っていきます。 下記のコードでは文字の入れ替えに排他的論理和演算を使っていますが、 char tmp; tmp = msg[i]; msg[i] = msg[len-1-i]; msg[len-1-i] = tmp;のよう…
cpuid命令をVM(Virtual Machine, 仮想マシン)環境で実行すると制御が一時的にVMM(Virtual Machine Monitor, 仮想マシンモニター)へ移るので、 物理マシン環境と比べて実行速度が遅くなります。 そのため、cpuid命令の実行速度をrdtsc命令などで計測する…
現在のローカル時刻をタイムゾーン付きのISO 8601形式(YYYY-MM-DDThh:mm:ss±hh:mm)で取得します。 Python3.6からはnaiveなdatetimeオブジェクトもastimezone()を使えるようになりました。 import datetime # --- python3.3以降 --- utctime = datetime.dat…
Python3.6で実装されたsecretモジュールを使うと、暗号学的に強い乱数を簡単に得ることができます。 これを使ってランダムなパスワードを生成することができます。 import secrets import string # パスワードの文字数 num = 16 # パスワードに使用する文字…
proxies引数を使おう ユーザIDがusername、 パスワードがpassword、 プロキシのアドレスがhogehoge.proxy.jp、 プロキシのポート番号が8080 である場合は、 import requests proxy_dict = { "http": "http://username:password@hogehoge.proxy.jp:8080/", "h…
--proxyオプションを使おう インストール対象がfugafuga、 ユーザIDがusername、 パスワードがpassword、 プロキシのアドレスがhogehoge.proxy.jp、 プロキシのポート番号が8080 である場合は、 $ pip install fugafuga --proxy=http://username:password@ho…
まずは設定ファイルをエディタで開く エディタはなんでもいいので、下記のどちらでもOK。 viを使いたい場合(viは大抵のlinuxで使える) $ sudo vi /etc/apt/apt.conf nanoを使いたい場合(Ubuntu系ならこちらのほうがわかりやすい) $ sudo nano /etc/apt/a…