2019-02-01から1ヶ月間の記事一覧

Python JSON整形

Python で JSON を読みやすく整形 json パッケージの dumps を使えばインデント指定で整形してくれる。 import json sample = '{"a":1,"set":{"type":"A","items":["apple","lemon","orange"]},"price":1200}' data = json.loads(sample) text = json.dumps(…

Python ModuleNotFoundError

Python datetime クラスのメソッド strptime や strftime を利用するのに、 from datetime import datetime と書いて、datetime.strptime ( 文字列, 書式 ) を書くのが長くて嫌です。 Python 分単位で時刻の範囲を展開 - Oboe吹きプログラマの黙示録 これを…

Python 分単位で時刻の範囲を展開

Python 初心者向けのコードだと思いますが、、 開始時刻分と終了時刻分を指定して1分ずつのリストを作る。 # -*- coding: UTF-8 -*- from datetime import datetime from datetime import timedelta def minutes_expand(from_datetime, to_datetime): resul…

MySQL Connector の with 文

Python では、PostgreSQL の接続、psycopg2 の connect は、 with 文を書くことができますが、 import psycopg2 with psycopg2.connect("host=localhost port=5432 dbname=urandb user=postgres password=aswe344f") as con: with con.cursor() as cur: # TO…

Gsonデシリアライザ、汎用化?

久々に Google gson のデシリアライザを書いていて思いました。。 文字列のリスト、 import java.lang.reflect.Type; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import com.google.gson.JsonArray; import com.google…

PostgreSQL の再帰SQL で要素の連結結果を求める。

SQL

再帰SQL で要素の連結、どいうことかというと、 テーブル名:division id parent_id name 1 null A 2 1 B 3 2 C 4 2 D というテーブルが存在した時、再帰SQLを走らせて、 ”A” "A,B" "A,B,C" "A,B,D" のように各々のレコードに対して親→子の name列の連結=つ…

gson encoding u003d

Google gson は、ネットワーク上で、toJson 出力した時に、 "=" 文字は、Uniocode \u003d に変換されてしまう。 ”&”、”" もそうだ。これを回避するには、GsonBuilder で、disableHtmlEscaping() を実行する。 Gson gson = new GsonBuilder().serializeNulls(…

GSON フィールド除外アノテーションを考えた。

Google gson には、@Expose というアノテーションを付与したフィールドだけを JSONシリアライズ対象に する機能があります。 でも逆に、特殊なアノテーションを付与してそのフィールドをシリアライズ対象外にする。 という機能がありません。 ほとんどが、ex…

エポック秒とエポックミリ秒

Java の エポック秒とエポックミリ秒、特にエポックミリ秒は、System.currentTimeMillis() で取得するのが、 いいのか?Instant の toEpochMilli() を使うべきなのか? 未だにわからない。 エポック秒 long epocsec = Instant.now().getEpochSecond(); Local…

JavaScript で RSA 暗合複合

OpenSSL で作成した RSA 暗合鍵、どのJSコードが良いのか探した。 JSEncrypt というのが一番使い易い。 電子署名で、SHA256 にするので、CryptoJS から、 sha256.js だけ使う。 <script src="jsencrypt.min.js" type="text/javascript"></script> <script src="sha256.js" type="text/javascript"></script> 公開鍵で暗合化 var crypt = new JSEncrypt(); // 公開鍵 publickey は、Ba…

Pattern Matcher の find()実行と group()実行、1つの処理文にする。

java.util.regex.Pattern java.util.regex.Matcher マッチした部分の抽出は、今まで良い考えが浮かばず、以下のように、 Matcher 変数宣言を強いられてきた。 String str = "HTTP This request is Unauthorized (401)"; Matcher m = Pattern.compile("\\([0-…

PostgreSQL の再帰SQL

SQL

MySQL は、8.x なら再帰SQL( WITH RECURSIVE target AS ...)が使えるらしいが、 今回はPostgreSQL の再帰SQL 再帰SQLクエリを実行するテーブル構造 テーブル名:divison id プライマリーキー parent_id 親を指すID name 名称 このテーブル、指定のID(id=1)…

Putty で作成したRSA鍵で暗合複合の実行(Python)

本来なら Python だけで PuTTYgen で作成したRSA鍵ファイル (*.ppk) を読み込んで Python crypto が使用できるRSA公開鍵、RSA秘密鍵を取り出したかったのですが、 秘密鍵を抽出するもの puttykeys · PyPI しか見つからず、 公開鍵を抽出するものが欲しかった…

Putty で作成したRSA鍵で暗合複合の実行(Java)

putty key generator (PuTTYgen) で SSH-2 RSA 鍵を作成、PuTTYgen 画面の [ Save private key ] ボタンで 作成する ppk ファイルを使用します。 SSH 通信やFSCP の為に、PuTTYgen で鍵を作って利用するのがほとんどで、業務開発などのプログラム開発の デー…

他言語と相互間の暗合複合を考慮の AES 暗合複合 Java のコード

本記事よりも、2019-3-2 に書き改めた方を参照すべし。。 oboe2uran.hatenablog.com Java と Pyrhon 間の AES 256 暗合複合ができるようにするものです。 他言語と相互間の暗合複合を考慮の AES 暗合複合 Python のコード - Oboe吹きプログラマの黙示録 の続…

他言語と相互間の暗合複合を考慮の AES 暗合複合 Python のコード

本記事よりも、2019-3-2 に書き改めた方を参照すべし。。 oboe2uran.hatenablog.com 先日書いた、 Java と Python 相互で AES 256 暗号/複合を実行する - Oboe吹きプログラマの黙示録 やはり、Python のコードを改める。 複合メソッド、Base64 受け取りとHe…

Base64 かどうか判定する

Apache commons の codec https://commons.apache.org/proper/commons-codec/ に存在する Base64 かどうかを判定する処理、 他の処理は commons の codec にあるものを使わなくてもいいから、 とにかく Base64 かどうかを判定する処理だけが欲しかった。 よ…

Java と Python 相互で AES 256 暗号/複合を実行する

本記事よりも、2019-3-2 に書き改めた方を参照すべし。。 oboe2uran.hatenablog.com 試したのは、CBCモードとECBモードです。 Python暗号→Java複合は問題ないのですが、Base64 エンコードで相互受け渡すとして Java暗号→Python複合では、暗号化した文字列長…

Java 16進数文字列から、byte[]

Java 16進数文字列から、2文字ずつ切り取って byte[] を作る。 必ず2文字ずつ切り出せる文字列であるとする。=すなわち長さが2で割り切れる。 String hexstring= "56d19eaf"; クラシックな方法 Matcher m = Pattern.compile("[\\w]{1,2}").matcher(hexst…

Wicket 8.3.0 がリリースされた

Wicket 8.3.0 がリリースされてる。 https://wicket.apache.org/ 目新しいのは、今までなかった StatelessResourceLink と Component タグの変更~記述したHTMLよりも表示時に変更されるもののリスナーのふるまい。 [WICKET-6626] が追加されてる。Component…