pythonで暗号化関係メモ

2月 2nd, 2018

中身ちゃんと読んでないけど、自分用にメモ

hashlibとかpycryptoとか。

https://code.i-harness.com/ja/docs/python/a26

とか

http://yoshi-python.blogspot.jp/2009/10/pycrypto.html

http://kapibara-sos.net/archives/311

http://www.sassy-blog.com/entry/20171020/1508457907

https://qiita.com/Azunyan1111/items/01a4df7a1c162dbb6f08

何かこの辺にいろいろ書いてあるっぽい

煮詰まる、煮え詰まる、行き詰まる

10月 29th, 2017

珍しく用語の話。

ちょっとものを書いていて、前々からの疑問に行き当たった。

「ちょっと煮え詰まってしまって」

という台詞を書こうとしたのだけれども。いや、待てよ。

煮詰まる、というのは、本来詰めに近づいている、という意味。「議論が煮詰まってきた」とは、諸々意見等が上手く集約され、じき結論が出る段階まで来たことを指す。

その一方で、口語では、意外と「もう煮詰まっちゃって、参った」なんて感じで「思考や議論がにっちもさっちも行かない袋小路に入って抜け出せない」雰囲気を表す時にも使われている。

意味合いは真逆に近い。前々からとても不思議に思っていたのだけれども、今回、真面目に調べて見た(というほどでもないが)。

結論から言えば、「結論が近い」という方が本来。「にっちもさっちも行かない状態」は、現段階では誤用、そして広がりつつある(辞書にも掲載されつつある)。

なるほど~?

後者の「煮詰まる」は「行き詰まる」にすれば誤用を避けられる。

がっしかし。

それをあえて「行き詰まる」とせず「煮詰まる」としたくなるのは、「行き詰まる」では表しきれないぐっちゃり感を出したいから。

原義の「煮詰まる」は、ほどよく煮詰まっておいしく出来上がる状態が念頭にある。「良く煮詰まっておいしい」。他方、誤用の「煮詰まる」のイメージは、「煮詰まりすぎて焦げ付きそう/焦げ付いた」辺りのイメージ。

煮え煮え度に差がある。考えて考えて考えすぎて焦げ付いてねばねばでぐちゃぐちゃ。この雰囲気は、「行き詰まる」なんてさらっとした言い方では到底表現できない。

ちなみに、これはあくまで私個人の感覚だけれども。

煮詰まる→原義
煮え詰まる→誤用版

というイメージがある。私にとっては「煮詰まる」は一つのフレーズとして完成しており、それは「ほどよく煮えた状態」とリンクしている。

他方、「煮え詰まる」は、本来煮詰まると同義のはずだけれども、煮え過ぎたイメージが何故かくっついていて、ぐだぐだの意味でもオッケーな気がしてしまう。

とはいえ。

口語ではなく、書き言葉として、そしてそれなりに作品として出すからには、まだ完全に認められたわけではない用法を分かっていて使うのもちょっとな、と思うので・・・

泣く泣く「ちょっと煮え詰まってしまって」という表現はあきらめることにした。行き詰まる、じゃ駄目だし、といって「どツボにはまる」はちょっとカラーが合わないし。煮え詰まる、使いたいよう(涙)

Win10の更新(1709 Fall Creators Update)で更新トラブル

10月 25th, 2017

うー、やられた。やられたっていうか、やられてないっていうか、できなかったっていうか。

設定の方でWinUpdateの下準備をしておき、「完了には再起動が必要です」とのことだったので、再起動をかけた・・・ら。

再起動が終わらない、終わらない、延々終わらない。

ウィルスバスターだと途中で更新が止まることがある(対策用パッチを用いるか一旦削除するかが必要らしい)のだそう。だが、私はバスターは使っていない。

えーーと^^;;;。待っても待っても待っても再起動が終わらない。どーーーしても、終わらない。

3時間ほど待っても終わらなかったので寝たのだが、朝になっても駄目だった。

電源を切るな、とは書いていなかったので切ってみたが、スイッチを入れても再起動中画面に戻るだけ。おおう、なかなか根性があるなっっ。

リセットしようとしたが、やっぱり駄目。

・・・というわけで、危険だと思いつつも、ウルトラCで電源5秒押しで一旦強引に止めた後F8+起動をかけてみた(起動時の諸々のやり方は機種等で違うと思うので真似しない方が良いかと)。

どやさっっっ。

・・・無事パソは起動した。更新はされていなかった(苦笑)。

どこの何で詰まっているのかさっぱり分からないところがミソ。とりあえずデータをもうちょっときっちりバックアップ取って、また後で再挑戦かなあ。グラフィック周りがどーたらこーたらという話だったけど、良く分からない・・・

numpyに手を出してみた

10月 9th, 2017

人工無脳の方がぼちぼち上がったので、そろそろ「自動学習機能」なんかをやってみたいなあ、と・・・

とりあえず「単語学習機」(何も使えない・・・爆)を作ろうとしているのだけれども。

構想はある。一般的な深層学習系のものとは異なるアプローチ(あれは手に負えない)だけれども、しかし、どう考えても膨大な計算が必要になる。かなりアバウトな動作になるはず(何故私が作るとアバウトな挙動になるんだろう・・・)だが、それでもそれなりに計算がいる。

・・・というわけで、噂のnumpyをようよう使ってみようか、という気になった。できれば使いたくないけど。だって難しそうだし(涙)。

動かしながら覚える性質なので、正しいやり方ではないかもしれないが、ともあれやってみた。

とりあえずimport
imprt numpy as np

毎回numpyって書くのは面倒なので「np」と名付けておいて、と・・・

#普通のリストと一緒にzip
a=np.array([1,2,3,4,5])
tx=’あいうえお’
mlist=[]
mlist.extend(tx)
for (w,i) in zip(mlist,a):
print (w,i)

おおっ、動いた。tx=’あいうえお’云々は、単に一文字ずつ区切った配列を書きたくなかっただけ。だって’やら,やら打つのが面倒なんだも(どれだけ面倒がりなんだ)。

さて、もう一丁。要素の付け足しどうするんだろ、ということで・・・
b=np.array([])
c=10
b=np.append(b,c)
print(‘b=’,b)

お、ちゃんとbに「10」が入った。numpy君は、数字にうるさい(?)ので、「10.0」だと考えているっぽい。上記に続いて

d=b[0]+1

をやらせたら「11.0」だとお答えに。ちゃんと桁やらデータ型やらを考えないと後で泣きを見そうだけど、考えたくないので後回し(おいっ)。

・・・とここまでやって、とある記事を見つけた。

速度:Pythonの配列の末尾に要素追加

pythonの配列の末尾にデータを付け加える時の速度を計ったそうな。

・・・普通のappendでリストに追加する方が圧倒的に早いらしい。うわい。

私のような「ちょこっと計算」レベルだと、普通にnumpyなしの方がいいのかなあ・・・

str化した数値をextendで追加すると・・・(文字のばらし方?)

10月 9th, 2017

何をお馬鹿なことやってるんだ、というのはさておき・・・こんな感じ。

######
mylist=[5,3]
add=15
mylist.extend(str(add))
print (mylist)
######

実行結果は・・・

[5,3,1,5]

・・・桁がバラされた。うわい。

バラされたくない場合は、
mylist.append(str(add))

とappendを使うべし。え?じょーしきだ??

・・・ぼーっとしていて間違ってextendを使ってしまい、しばし悩んでしまっただよ(涙)。

あれ、これってさ・・・ってことでやってみた。

mylist=[5,3]
tx=’あいうえお’
mylist.extend(tx)
print(mylist)

結果は・・・

[5,3,あ,い,う,え,お]

・・・文字をばらすのに使えそうだなあ・・・ってその必要があるケースがどのくらいあるか分からないけど。

Windows spotlightで画像が変わらない時

8月 30th, 2017

///下記の方法で、上手く行った人もあるが、私の場合は、上手く行かなかった。「気に入りましたか」が表示されなく・・・削除したファイルを戻しても元に戻らなかったので注意///

ロック画面にきれいな画像が表示されるWindows spotlight(ウィンドウズ・スポットライト)。

ある日突然、画像が変わらなくなった。ずーーーっと同じ。気に入りましたか、というのは表示されるが、気に入らない、とフィードバックを送っても画像は変わらず。

害はないけどやっぱり寂しい。というわけで、調べてみた。

Windows Spotlight lock screen is stuck on the same picture!

上記はマイクロソフトのQAコーナー。「ウィンドウズスポットライトのロック画面が、同じ画像で固定されています!」

そこにある対処法によれば、

1.個人設定(デスクトップ画面で何もないところをクリックすると出る)のロック画面を選択し、背景を「スポットライト以外」に変更しておく

2.下記フォルダにある全てのファイルを削除
C:\ユーザー\<ユーザー名>\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_<なにがしかの英数字>\Settings

<>内は、人によって違う模様

3.再び個人設定でロック画面の背景をスポットライトに戻す

・・・さてこれで戻るか・・・目下様子見中・・・

伺かのシェルでpnaを使う

8月 29th, 2017

久々にやったらはまったので・・・(確かめない自分が悪いんだけど)。

pnaを使って画像をなめらかにするには、

1.pnaファイルを用意する
2.シェルのdescript.txtに以下の行を書いて置く

seriko.use_self_alpha,1

上記がないと、左上のドットと同じRGB色が透明色扱いになる。

正規表現で漢字を取り出す

8月 13th, 2017

漢字を取り出したい!!

・・・が、これはひらがな、カタカナの場合に比べてものすごく難しい。

[亜-熙]

というのを見かけたが、これはうまく行かなかった。「上」等が入っていない。上記はシフトJIS用らしい。

気を取り直してさらに調査して見つけたのが

[一-龥]

やってみたところ、まずまず動いている。ただ、これでは含まれない漢字(JIS第三水準、第四水準漢字等)もあるようなので、がっつりとやりたければ、下記になるらしい。

[\u2E80-\u2FDF々〇〻\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF\u20000-\u2FFFF]

部首なんかも入っているっぽい…

とりあえず忘れないようにメモということで。

正規表現でひらがなやカタカナを取り出す

8月 13th, 2017

pythonで、ひらがなやカタカナを取り出すときのパターン。

カタカナで一番よくあるのは、
[ァ-ン]

でもこれだと、「ー」が入っていないので、例えば「ドーナツ」などは「ド」「ナツ」(findallで取り出した時)と分けて取り出されてしまう。後、「ヴ」にも反応しない。

[ァ-ヾ]
にするという方法もあるが、これだと中黒「・」が含まれてしまう。個人的事情によりこれは含めたくない。

というわけで、こんな風にしてみた。
[ァ-ヴー]

具体的には↓な感じになる。
katakana=re.compile(r’[ァ-ヴー]+’)

どこまでを範囲に含めるかは、Unicode表(?)を見て決めるのがよさげ。
片仮名 (Unicodeのブロック)

ひらがなの場合も上記と同様。
[ぁ-ん]
がよくあるやり方。「う」に点々は、ひらがなの場合ちょっと厄介なので、私は含めず、
[ぁ-んー]
で使用。どこまで必要かは状況によるので、表を見て決めると良いかと。
平仮名 (Unicodeのブロック)

Timerで呼び出す関数に引数を送る方法

7月 31st, 2017

Threadingは便利なんだけど、未だに今一つ良く分からない。

今回つまったのは、Timerで呼び出した関数に引数を送りたい、というもの。

折角のタイマーなので、単に「時間です」というだけでなく、具体的に「◯×の時間になりました」と言って欲しいわけで…

ところが、いざ引数を渡そうとすると上手く行かない。で、調べた結果、こうやるらしい…

import threading

def its_time(string):
    print (string)

timertime=5
mes='Hello!'
timer = threading.Timer(timertime,its_time,[mes])
timer.start()

上記は5秒後にメッセージを表示させるもの。いじょ。