ベスパリブ

ベスパもってないです。バイク買いました。

クラスの特殊メソッド__str__()とは

「クラスオブジェクトを文字列で返すメソッド」です class Hoge(): title = "this is Hoge." def __str__(self): return self.title # クラスオブジェクトを表示すると print(Hoge()) # this is Hoge. # インスタンスでもOK hoge = Hoge() print(hoge) # thi…

Anacondaで仮想環境を構築してdjango環境を作る(Windows)

AnacondaはPythonの実行環境を複数構築することができます。 コマンドプロンプトにAnacondaのパスが通っているなら、以下のコマンドで環境を作成できます。 # conda create -n [環境名] # pythonのバージョンを指定したい場合は conda create -n [環境名] py…

ソフトマックス関数の式変形

ゼロから作るDeepLearningという本を読んでいるのですが、ソフトマックス関数でオーバーフローしないように式変形するときは次のように変形するとあります。 のですが、2行目から3行目の変形で分子のところを とやっているのですが、こんな公式あったっけ?…

Atomエディタのremote-ftpで"Sync local -> remote"をするとインジケータが固まるとき

"Sync local -> remote"をするとインジケータが固まってしまう現象が起きました。 これはおそらくパーミッションの問題で、アップロードしたいファイルに書き込み権限を付与していないせいで起きます。 固まった場合、一度Packagesメニュー > Remote FTP > d…

check_keywords=yes&area=default って何

OpenSearchとかの検索APIでクエリのあとに続く check_keywordsとareaってなんなんでしょう。(例:q=hoge&check_keywords=yes&area=default) 調べても情報出てこないし、謎。

state machineの話(あるいはPython3での実装)

Statechart このような記事を見つけました。 ステートマシン(state machine)実装のための本があることを初めて知りました。 ここで提案されている手法は、[* 状態変数を使うかわりに現在の状態を示す関数を使う]というものである。たとえば「あ」という状…

ゲン、Gitに切れる

addコマンドの名前がむかつくんじゃ おどりゃクソ森。「ステージする」んだからstageって名前のコマンドにせんか。 resetコマンドの名前がむかつくんじゃ おどりゃクソ森。 「アンステージする」んだからunstageって名前のコマンドにせんか。 このresetコマ…

Gitの勉強の仕方

Gitを初めて触ったのが2014年の1月なので、それから4年が経過しました。毎日Gitに触っているわけではないのでGit歴を単純計算できませんが、大体そのくらい触っているというわけです。その間に、Gitは何回も挫折しました。重要なファイルを何回も消しました…

Raspbian, Apache2でダイジェスト認証

Raspbian 8.0 Apache 2.4.10(Raspbian) ダイジェスト認証に必要なモジュールを有効化する $ sudo a2enmod auth_digest $ sudo a2enmod authn_file $ sudo a2enmod authz_user Apache2の設定をする $ sudo vi /etc/apache2/apache2.conf (以下を適当なところ…

Raspberry Pi のSDカードを縮小する方法

32GBから16GBのSDカードに縮小したかった。 たくさん記事はあり色々試しましたが、結局以下の方法でうまくいきました。raspberry piのイメージファイルを小さな容量のメモリーカードにコピーする方法EaseUS ToDo Backup Freeを使う方法も試しましたが、不良…

Gitコマンド備忘録

git

この記事は都度更新します。 [最終更新]2019/01/31 Gitの基本知識 fetch, pull, pushの挙動 【Git】リモートからの取得とリモートへの反映で行っていること(fetch,pull,push) - Qiitafetch, mergeの挙動とかを忘れたらコーヒー飲みながら上の記事を読む。 bl…

ジョギング始めました

ソフトウェアエンジニアの人たちって、筋トレとかジョギングとかロードバイクとかやってますよね。なんか体を鍛えるとエンジニア力も上がるみたいな定説ありますよね。やる気出すだめにスポーツウェアを買いました。 スポーツウェアがやる気スイッチになって…

ポインタの値渡しを理解する(あるいはポインタのポインタの使い所)

以下のようなコードがあったわけです。 #include <stdio.h> char data[16] = "abcdefg"; int main(void){ // Your code here! char* pData = NULL; pData = data; printf("%s\n", pData); // abcdefg } 以下のように関数にしたかったわけです。 #include <stdio.h> char data[1</stdio.h></stdio.h>…

ブログ名変更

ブログ名を「ベスパライフ」から「ベスパリブ」に変更しました。 ベスパはまだ持ってません。バイクは250ccです。

WM_IME_CHAR、WM_IME_KEYDOWN、WM_IME_KEYUPの挙動を調べた

WinAPIの話です。 VK_DELETE メッセージを送信したら、"."(ドット)が出力される問題 仮想キーVK_DELETEをSendMessageしたら、なぜか"." (ドット) が出力されてしまう問題に悩んでいました。原因は単純で、SendMessage(hWnd, WM_IME_CHAR, VK_DELETE, 0)とし…

Editコントロールが入力可能になるまで待つ

WinAPIの話です。 Editコントロールのハンドルを取得できても、Editコントロールに入力可能というわけではないようです。 このせいで、ハンドル取得した直後に文字列をSendMessageしても、テキストボックスに文字が入っていない場合があります。しょうがない…

FindWindowに「タイムアウトするまで探し続ける機能」欲しい!!!!

うるさい!!! WinAPIの話です。 FindWindowの問題点 FindWIndowでウィンドウハンドルを取得する際、PCが重かったりするとウィンドウの表示が遅れたりして取得に失敗したりするので、FindWindow()前にSleepするという方法がありますが、これもどれだけSleep…

2018年の目標

2月の終わりですが、2018年の目標を決めました。1. 英語 2. 競プロ 3. 機械学習系のプロダクトを1つ作成英語を一番頑張りたいと思います。 他2つはジャストアイデアですが、興味がある分野なのでやっていきたいと思います(やらなそう)。 英語 ・英検1級 ・…

Python3でラズパイのIPアドレスを取得する

python上でifconfigコマンドを実行し、返ってきた結果にIPアドレスがあればそれを表示することを考えます。 "LANG=C ifconfig"とするとコマンド結果が全て英語で返ってきて、処理しやすくなります。 import subprocess subprocess.call(("LANG=C", "ifconfig…

Pythonのopen関数のencoding引数は必須でもいいんじゃない

たまにファイルの読み込み時(後?)にDecodeErrorする謎現象に遭いました。 どうやらファイルがShift-JISで書き込まれていたのをUTF-8で読み込もうとしていたのが原因。そういえばファイルをAtomで編集したときSJISで保存したかもしれない。うちのAtomは気…

PHPのexplode()の引数の順番がむかつく

PHP

split系の関数は第一引数が文字列で、第二引数がデリミタの印象があり、PHPのexplode()を使うときに毎回間違えるのでちょっとむかつきます。 そこで各言語のexplode()にあたる関数の引数の順番を調べてみました。 PHP explode(delimiter, string) Python str…

python3.4.2のSSLContextのデフォルト引数はなんなのか

SSLContextのデフォルト引数 公式のリファレンスでは、3系ではpython3.5.3以降の情報しか掲載されていません。 ということで実際のソースを見ることにします。私の環境では以下のパスにありました。 /usr/lib/python3.4/ssl.py class SSLContext(_SSLContext…

芽が出た

朝起きたら芽がにょきにょき生えてて気持ち悪かったうれしかったです。たのし~。

園芸はじめました

実家に帰ったら親が園芸してました。良いなあと思ったので室内栽培をしてみたいと思います。 買ったもの 植木鉢x3(1つは物入れ) 二十日大根の種、時なし小かぶの種 野菜の土(腐葉土)x2 鉢底石 鉢底ネット 園芸用はさみ スコップ 水吹き ちなみに全部100…

utf-8とiso-2022-jpのencodeとdecodeのTips

半角英数字をUTF-8でencode >>> s = "aiueo012" >>> b = s.encode("utf-8") >>> b >>> b'aiueo012'これをdecodeする >>> b.decode("utf-8") 'aiueo012' >>> b.decode("iso-2022-jp") 'aiueo012'半角英数字をutf-8でエンコードしたものは、iso-2022-jpでデコ…

python3で文字列にlower()するとidが変わるという当たり前の話

文字列比較は is ではなくて == で比較しましょう、という話です。 >>> a = "hoge" >>> b = 'hoge' >>> a is b True >>> a.lower() 'hoge' >>> a.lower() is b False >>> a.lower() is a False …なぜ? どうやらlower()やupper()したらidが変わってしまう様…

python3でContent-Transfer-Encoding ヘッダを 変更するのに苦労した話

msg = MIMEText( main_text.encode("utf-8", "ignore"), 'plain', 'utf-8' ) 上のようなコードでメッセージを送信したとき、Content-Transfer-Encodingヘッダは7bitでした。 Content-Type: text/plain; charset="iso-2022-jp" MIME-Version: 1.0 Content-Tra…

python3では文字列中の部分文字列検索や辞書にキーが存在するかはin演算子を使おう

公式がそう言っているので、そうしましょう。 https://docs.python.jp/3/library/stdtypes.html 文字列中の部分文字列検索 注釈 find() メソッドは、 sub の位置を知りたいときにのみ使うべきです。 sub が部分文字列であるかどうかのみを調べるには、 in 演…

Pythonでclassの中にclassを作成する

class TemperatureHumidity: class Temperature: def __init__(self): self.value = None self.count = 0 def print(self): print("Temperature:", self.value, self.count) class Humidity: def __init__(self): self.value = None self.count = 0 def prin…

pythonでfloat()やint()で変換可能かどうかを調べる関数

標準では提供されてなかったようなので、自作helper関数として作ります。 与えられた文字列が小数 or 整数かを正規表現で調べる関数を作ったのですが、作った後でテストしているときに、そんなことしなくても例外をキャッチすればいいだけだと気づきました。…