ベスパライフ

日記・備忘録。ベスパもってないです。

芽が出た

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

園芸はじめました

実家に帰ったら親が園芸してました。良いなあと思ったので室内栽培をしてみたいと思います。 買ったもの 植木鉢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 整数かを正規表現で調べる関数を作ったのですが、作った後でテストしているときに、そんなことしなくても例外をキャッチすればいいだけだと気づきました。…

Pythonに完全なプライベート関数がないのは、きっとユニットテストのしやすさを優先させたから

だと思います。Pythonで完全なプライベート関数を作るとき、関数名の前に__(アンダースコア2つ)をつけます。しかし、このような使い方をしているコードは余り見たことありません。 Pythonの標準ライブラリのソースコードを眺めてみてもdef _func()ばかりが…

AtomのRemote-FTPを使ってラズパイのファイル操作をする

今までWin-SCPを使ってサクラエディタでファイル操作していたのですが、常々できることならAtomを使いたいと思っていました(サクラエディタは好きですが、フォルダの階層を行き来しながらファイル操作するのが大変)。どうやらAtomを使ってリモートでファイ…

Atomで"や'の補完機能を無効にする

Atom(というか多くのリッチなエディタ)では、「"」と打つと自動で「""」と補完してくれる。補完して...くれる...?補完しないでください。http://hakomof.hatenablog.com/entry/2015/05/07/210328 上記サイトに方法が書いてあります。File > Config をクリ…

packet_write_wait: Connection to "IPアドレス": Connection reset by peer

SSHでラズパイに接続中、頻繁にぶつぶつ接続が切れる問題に遭遇。 接続が切れるときに、次のようなエラーメッセージが表示されました。 packet_write_wait: Connection to 192.168.8.132: Connection reset by peer色々調べた結果、IPアドレスの衝突が原因で…

Pythonで親ディレクトリのファイルをインポート

実行スクリプトの親ディレクトリのファイルをインポートする - Pythonで遊ぶよ - pythonグループ長年これを探していました…!├hoge.py └tests/ └test_hoge.pytest_hoge.pyからhoge.pyをインポートします。test_hoge.py import os import sys sys.path.append…

systemdのサービスの起動順序を決める

hoge1.serviceとhoge2.serviceという2つのサービスを作成しました。 「hoge1.seriveのExecStartで指定したスクリプトが完全に終了してからhoge2.serviceを起動する」ということをしたい場合は、サービスの起動順序を記述する必要があります。[Unit]セクショ…

anaconda4.3.0でfcntlのflock()が使えない

・Ubuntu14.04 LTS ・pyenvを使ってAnaconda4.3.0 (python3.6.0)をインストール で、fcntlモジュールのflock()等が使用できません。 " AttributeError: module 'fcntl'has no attribute "エラーが起きます。 $ python Python 3.6.0 |Anaconda 4.3.0 (32-bit)…

systemdの"code=exited, status=203/EXEC"エラー

root@raspberrypi:~# systemctl status mydaemon.service -l ● mydaemon.service - This is my daemon Loaded: loaded (/etc/systemd/system/mydaemon.service; enabled) Active: failed (Result: exit-code) since 木 2017-02-09 17:01:27 JST; 1s ago Proc…

apt-get updateに失敗

Raspberry Pi 3で、apt-get updateをすると、次のようなメッセージが表示されました。 インデックスファイルのダウンロードに失敗、アップデートが正常に出来なくなりました ちょっと前まではできていたのに? 思いあたる節はIPアドレスを固定にしたことくら…

systemdの'start request repeated to quickly, refusing to start'エラー

Raspberry Pi 3のRaspbian ver.8.0(Jessie)ではrc.localが非推奨となり、デフォルトで使用できなくなりました。 起動時にスクリプトを実行させたい場合、これからはsystemdを使いましょうとのことです。systemdについての概要記事 http://equj65.net/tech/sy…

Raspberry Pi 3 の無線LANをWEPで接続

ルータに繋がらないなあと思っていたら、WPAじゃなくてWEPでした。大丈夫かなこの施設…やり方はここのサイトの一番下に書いてありました。 https://www.freebsd.org/cgi/man.cgi?query=wpa_supplicant.conf&sektion=5&apropos=0&manpath=NetBSD+6.1.5ラズパ…

.gitignoreで、あるディレクトリの中身すべてを無視しない

git

次のようなディレクトリ構成があるとします。 ├hoge2.txt ├hoge1.txt ├.gitignore └main/ ├ taskA/ │ └ taskAA/ │ └ taskaa.py └ test1.py └ test2.pymain/ディレクトリの中すべてのみをgitで管理したかったので、次のように書きました。.gitignoreの中身 * …

ユーザコントロールから自身のWindowを取得する。それとLoadedイベント

Visual Studio 2010のWPFでアプリを開発中。 Windowにユーザコントロールを設置してあり、そのユーザコントロールのボタンが押された時にWindowのコントロール(ボタンとか)を制御したい。ユーザコントロールから自身のWindowを取得するのは簡単。 (Window1…

似たような機能の関数を区別しやすいような関数名をつける

「左側のメニューにある複数のボタンのそれぞれについて、クリック可能/不可能を更新する」みたいな関数名をつけるとき、次の2種類を考えた。 ・UpdateLeftSideMenuClickable ・UpdateClickableOfLeftSideMenuどちらがよいか悩んだ時の方針として、とりあえ…

C# 16進数文字列を数値に変換する

C#

数値を16進数文字列に変換するのはWEBを探せばよくあるが、その逆は見かけなかったので。 using System; using System.Globalization; public class Test { public static void Main() { // your code goes here string str = "FF"; int ans = int.Parse(str…

Shift-JISのC言語のソースをコンパイルすると「warning: multi-line comment」が出る

謎バグで悩まされたソースコード //各端末のアナログ値のテーブル表 sprintf((char*)tmp_str, ",アナログ値,合計"); //なぜかこれがないと以前のtmp_strが出力される sprintf((char*)tmp_str, ",アナログ値,合計"); tcp_send_writeline( SmtpSocket, (BYTE*)…

Please move or remove them before you can switch branches.

branchにcheckoutできない。 git checkout . 作業を取り消すにはこれ。実行する。 しかしまだ同じエラーが出る。 git clean -f http://qiita.com/konweb/items/061475d6376db957b3c4 これをするといいらしいので、実行。 しかしまだ同じエラーが出る。 Pleas…

VB6.0でWebBrowserを使用してセレクトボックスを操作する

まえがき あまりにもレガシー過ぎてググってもリファレンスもドキュメントもそんなに残っていない。 適当にVBAのコードを書いたら動いた。 本題 htmlのソース <select id="Contact" name="Insw" > <option value=0 selected >入力0</option> <option value=1 >入力1</option> </select> 入力0 入力1 やりたいことは、selectedされているoptionを取得し、他方のoptionを…

間接演算子のインクリメント

以下の様な処理で、予期しない動作をしてかなり悩んだ func(char* hoge){ *hoge ++; } 実際にはもっと処理は長いのだが、どこが原因かを突き止めること自体に悩んだ。上記の意図としては、hogeのアドレスが指し示す値をインクリメントして欲しくて記述したも…

after resolving the conflicts, mark the corrected paths with 'git add <paths>' or 'git rm <paths>' and commit the result with 'git commit'

git

(他ブランチの)特定コミットをmasterブランチにコミットする。 git checkout master git cherry-pick [コミットID] 当たり前のようにエラーが出る。 hint: after resolving the conflicts, mark the corrected paths hint: with 'git add <paths>' or 'git rm <paths>' h</paths></paths>…

RaspberryPi2 ModelBの無線LANの設定

RasberryPi2 ModelBを購入。無線で接続したかったので、Amazon.co.jp: PLANEX 無線LAN子機 (USBアダプター型) 11n/g/b 150Mbps MacOS X10.10対応 GW-USNANO2A (FFP): パソコン・周辺機器を購入。 しかしなかなか繋がらない。かなり苦戦したので設定の備忘録…

BitbucketのSSHキー登録の方法

BitbucketにSSH用の公開鍵を登録する まずBitbuketにアクセス。 右上の人型のアイコンをクリック>「アカウントの管理」 すると管理ページが開くので、左の「セキュリティ」メニューから「SSHキー」をクリック>「鍵を追加」 Labelは適当に「RepositoryName_…