Pythonのstrptimeはスレッドセーフでない
なんか妙なところでテストが落ちるなあと調べたらそういうことだった.
なんだってー.
import thread
import datetime
import time
def run():
print 'wait 1sec'
time.sleep(1)
datetime.datetime.strptime('', '')
thread.start_new_thread(run, ())
time.sleep(1)
print 'strptime'
datetime.datetime.strptime('', '')
一番簡単な解決方法はimport datetimeの前にimport _strptimeを入れる.
いろいろ試していたときはWindowsのPythonインタプリタがSEGVしたこともある.
他の関数でもありそうだが大丈夫なんだろうか.
Effective Modern C++勉強会#2
今回はItem 7から11まで読みました. みなさまありがとうございます.
()と{}の違いなんて分けわからない. 変数のコンストラクタを{}で呼べるようにするのは間違いだったんじゃないかなあ.
// C++11, C++14 C++17
auto x = {1}; // 初期化リスト 初期化リスト
auto x = {1, 2}; // 初期化リスト 初期化リスト
auto x{1}; // 初期化リスト int
auto x{1, 2}; // 初期化リスト error
とかitem7-3.cppとか.
初期化リストは{}でいいと思うのだけど, T x();が関数宣言になるという方を変えちゃったほうがよかったんじゃなかろうかと思ってしまう.
第8回公開鍵暗号の安全な構成とその応用ワークショップ
参加.
トップカンファレンスのお話を聞けるのはとてもありがたい.
中には全然わからないのもあったけど.
ここしばらく論文読んだり講義に参加したりして大分インプットが増えた.
そろそろ何かできないか落ち着いて考えたいな.
デブサミ
終わった. すっごい緊張して準備も時間がかかったな.
まあトラブルもなく時間通りに終わったのでよかった.
他の人の発表を聞いている余裕は無かった.
Pythonの正規表現のインスタンスの個数
しょぼいテキストプリプロセッサを1年ぐらい使っていたのだけど,
最近なぜか急に20倍ぐらい遅くなった.
単語のパラメータを減らすと速くなったりしてよく分からない.
@shuyoさんに助けてもらってPythonの正規表現のインスタンスは100個を越えると遅くなることがわかった.
その上限はre._MAXCHACHEを変更すればいいらしい.
まあ, そんなに沢山のインスタンスが必要になるコードが悪いのだが少しずつ足してる間にそうなってしまった.
時間をとって書き直そう.
岡本先生の集中講義
5日間参加できて非常に勉強になった.
一人で論文読んでてもよく分からなかったところをいろいろ質問できた.
本当にありがとうございました.
ビットコイン
岡本龍明先生の集中講義第2回.
面白い. 参加人数が少なく時間もたっぷりあるのでいろいろ質問できて非常にありがたい.
ビットコインはよくこんなものを思いついた上, 実装してみなが使うまで持っていったなあ.