OneDrive and distnoted (備忘録)
先日、iMacを新しく買った。Macの製品が近日中にAppleチップになるという話(いろいろ問題を抱えている可能性がある)で、Windowsに戻ろうかとも考えたが、使い慣れたことやいくつかのソフトがMac版だったりするので今回もMacを購入することに。intel Macのうちに。
で、新しいiMacがきて、ついでにOffice365を使い始めた。せっかくなので1TBのクラウドストレージを活用しようと思い、OneDriveも使い始めた。しかし、どうもOneDriveで同期中にdistnotedというプロセスが暴走してCPU使用率が100%を超えるようである。ファンが高速回転し続けて、明らかに一つのCPUに負荷がかかっている。これはいかんとネットで調べると、distnotedというプロセスを探して、CPU使用率が100%以上になるとこのプロセスをkillするシェルスクリプトがあって、これをcrontabで常時(1分おき)稼働させることでCPUの暴走を防ぐ方法を見つけた(https://apple.stackexchange.com/questions/111197/runaway-distnoted-process)。distnotedについて調べてもいまいちよくわからないが、killしても問題がなさそうだったので、試しにやってみた。
そうするとOneDriveで同期中に新しい書き込み読み込みが始まる毎にdistnotedが立ち上がるが、暴走しはじめるとプロセスが止まるようになった。この暴走は急激にくるので1分毎の監視では不十分なような気もするが(ちょくちょくファンが高速回転し始める)、とりあえず長時間高負荷をあたえることは回避できそう。一応、100%以上という条件を60%までさげても今の所問題なくOneDriveは使えている。
他にもオフィスのキャシュを消せばよいというような記載(https://gist.github.com/drblue/6fdc431396760f2440ce)も見つけたが、どれくらいの頻度でどのタイミングでするべきかが不明なので、この方法は保留。
OneDriveは便利だけど、distnotedは曲者。
ラズパイZero WにSambaを導入してファイルサーバーを作ってみた(覚書)
新たに正規のドアカメラが設置されて、自作ドアカメラに使っていたラズパイZeroが空いたので、NASを構築してみることにした。
まずはHDDのフォーマット。バッファローの新品のHDD。2T 。6000円くらいのちょっと古いやつ。
外付けHDDをUSB接続して認識されているかを確認。
sudo fdisk -l | grep /dev/sda
パーティションテーブルの設定
sudo fdisk /dev/sda
Command…:と出るので、
1. dでパーティションを削除
2. pで現在の状態を確認
3. nでパーティション作成
3b. パーティションナンバー、1
3c. ファーストセクター、2048
3d. ラストセクター、最大値
で作成。
4. pでパーティションが追加されていることを確認。
5. wで変更を書き込む
次に、ext4でフォーマット。基本的にはmacとiphoneなので。Windowsでの使用の想定なし。
sudo mkfs.ext4 /dev/sda1
マウントするディレクトリを作成。
sudo mkdir /mnt/hdd1
UUIDを調べる。
sudo blkid /dev/sda1
fstabを編集
まずバックアップ。
cd /etc sudo cp fstab fstab.bak
sudo nano fstab
UUID=XXXX /mnt/hdd1 ext4 nofail 0 0
を最後の行に追加してCtrl+Xでnanoを保存して終了。XXXXには上で調べたUUIDを記載。スペース区切り。イコールの前後はスペースなし。
sudo reboot
再起動後、マウントされていることを確認。
df | grep /mnt/hdd1
ここからはSambaの導入。
HDDに保存用ディレクトリを作成
sudo mkdir /mnt/hdd1/storage
書き込みできるように設定
chmod 777 /mnt/hdd1/storage
sambaをインストール
sudo apt-get install samba
(時間かかる)
共有フォルダを設定
その前に、confファイルを上の階層のetcにバックアップしておく。
sudo cp -p /etc/samba/smb.conf /etc/smb.conf.bak
nanoでsmb.confを編集する
sudo nano /etc/samba/smb.conf
[share]
comment = Network Logon Service
path = /mnt/hdd1/storage
guest ok = yes
writable = yes
force user = pi
を最終行に追加してCtrl+Xで保存してnanoを終了
sambaを再起動する。
sudo systemctl restart smbd
nmbdがマスクされているのでアンマスクして再起動させる。
sudo systemctl unmask nmbd sudo systemctl enable nmbd sudo systemctl restart nmbd
自動起動するように設定しておく
sudo update-rc.d smbd defaults
ifconfig (またはip addr)でIPを確認しておいてそのIPにCmd+K (Mac ファインダー)または、iphoneフォルダアプリのネットワーク接続でアクセスするとファイルの読み書きができるようになった。
とりあえずraspberry pi zero Wでファイルサーバーを構築できたが、ファイルの転送速度は相当遅い。アクセスも2つ以上になると厳しい感じ。
バックグラウンドでバックアップさせるとかなら問題なさそうではあると言いたかったが、この文章を書き始めるタイミングで始めた動画ファイルの保存(~500MB)がまだ終わっていないw。
raspberry piはwifi接続なので、LANケーブルに直差しすればちょっとは早くなるかもしれんけど。
結論: zeroにファイルサーバー役をさせるのは(家の環境では)厳しそう。こまめにiphoneの写真のバックアップするくらいならいけるかも。
サーボモータで遠隔スイッチでも作ろうかな。
フリー画像のAPI 〜pixabay API〜を使ってみる(まだ使っていない)
フリー画像のAPIってどんなのがあるのかな〜と思ってなんとなくウエブサーフィンしていたら、pixabay
というのがあるということを知ったので、そのAPIを試しに使ってみようと思ったけどまだ使っていないはなし。
pixabayの概要
pixabay(ピクサベイ)というのは、無料画像サイトで、画像だけではなくて、フリーの動画(ショートムービー)もある。
フリーというのは、著作権フリーのこと。
つまり自由に使うことができる素材が置いてあるサイト。
ただし、中にはpixabayのスポンサー(iStock)の画像が含まれていたり、画像の中に商標登録されているようなものが含まれていたりすると、著作権が生じる可能性も出てくるので、素材の取捨選択もある程度必要かと思われる。
pixabay APIの概要
サービス全体の説明は日本語だが、APIの説明は英語。
https://pixabay.com/ja/service/about/api/
簡単にここのページを要約すると、
- 200万以上の素材にアクセス可能(2020年7月現在)
- 素材の種類は写真、イラスト(+ベクター画像)、ビデオ。
- リクエストは無制限(5000件/時間という時間制限はある)。
- セットアップは簡単。
- AndroidとiOSの公式アプリの中でも使われている。1895のdeveloperがPixabay APIを使っているとのこと。
- 利用するときは必ずpixabayの素材であることを明記すること。それから、その際は、pixabayのロゴを使ってもいいですよ。
- APIを使った大量ダウンロードは禁止。クエリに対する一時的なURLsが生成されるので、そこから素材をダウンロードして使うように。
とのこと。
pixabay APIをどうやって使うか
無料だが、まずは登録が必要(まだ登録していない)。
pixabay.com/api/
動画は、
pixabay.com/api/videos/
にGETをリクエストする。
この際、上のURLの末尾にパラメータ(引数)をつける。
画像のリクエストにつけるパラメータは以下の通り(詳細は公式ページを参照)。
key (required), q, lang, id, image_type, orientation, category, min_width, min_height, colors, editors_choice, safesearch, order, page, per_page, callback, pretty
必須のパラメータは、「key」。これは、サービスに登録すると得られるAPI key。
qは検索文字。花を探したければ、「flower」を指定。and検索は「+」
あとは、langでjaを指定すると日本語で検索した結果を得ることもできる。
image_typeで写真(photo)かイラスト(illustration)かベクター画像(vector)かを選ぶ。
categoryでカテゴリーを指定することができる。指定できる値は、backgrounds, fashion, nature, science, education, feelings, health, people, religion, places, animals, industry, computer, food, sports, transportation, travel, buildings, business, music。
リクエストの例
https://pixabay.com/api/?key={KEY}&q=yellow+flowers&image_type=photo
{KEY}にAPI keyを入れる。これで、黄色、花、に一致する写真を検索できる。
videoもほぼ同じような感じでリクエストできる。
pixabay APIを使うと何が戻ってくるのか
画像ではなく、JSON形式のテキストがレスポンスとして返される。
Headerにリクエストのリミット(5000リクエスト/時間)までどれくらいかなどの情報が含まれる。
”hits”キーの値が検索結果で、リストの形で含まれている。
個々の検索結果としていろんな形式の画像の一時URLが帰ってくるので、必要なサイズの画像をリクエストGETでダウンロードすれば後は自由に使える。
”userImageURL”は画像の直リンクだが、これを直接使うあるいは改変してオリジナル画像に直接アクセスすることは避けるべし。
Openweathermapなどの気象情報系のAPI, はてなブログAPI, はてなフォトライフAPIと合わせて使えば、その日の天気などに合わせて画像を自動ではてなブログに貼り付けるボット(アプリ?)が簡単にできそう。
市ヶ谷〜九段下〜神保町〜小川町をただただ歩く
しばらく前の話になるけど、2月末のある日、iPhoneにインストールされている「ヘルスケア」アプリで勝手に歩数が記録されていることに気がついた。なんと、iPhoneを買った日からのデータが全て記録されてグラフで表示されている。何月何日にどれくらい歩いたかが一目瞭然でわかるグラフ。とてもわかりやすい。それまでは、歩数など気にもかけていなかったけど、ヘルスケアアプリが自動的に歩数を計測しているということに一旦気がついてしまうと、毎日の歩数が気になってしょうがない。元々通勤で比較的歩いてはいたのだが、実際に何歩歩いているかということについては無知であり、グラフ化された歩数はとても新鮮だったということもあるのかもしれない。とにかく毎日が無駄に「歩数、歩数、歩数」になった。
そんなわけで、万歩計生活が始まって3ヶ月。1日の平均歩数は1万5000歩を超えるようになった。歩くときは必ずスマホを携帯。そんな生活。緊急事態宣言発令中は買い物などもできるだけ控える生活で、運動不足になりがちだったが、このライフスタイルの変化の陰で減量にも成功。一時帰休中も感染拡大に寄与しなければ良いだろうということで、人ごみを避けて歩いた。新型コロナが猛威を奮う中ウォーキングをしていたのは、決して、「あまのじゃく」とか、「怠け者の節句働き」というわけではないというのはここだけの話。
この3ヶ月培った徒歩能力のおかげで、長距離の散歩が可能に、いや、むしろ歩くことが快感になっている。緊急事態宣言が解かれたので、先週の土曜日、少し時間ができたこともあり、(堂々と)曙橋駅から馬喰横山駅まで歩いてみた。途中から思いたって写真を撮りながら歩いたので、その記録を忘れないうちに残しておきたいと思い、久々にリアルワールドをブログを書くことにした。何の変哲もない、曇り空の平凡な写真ばっかりだけど、後々、こういう「盛っていない」写真の方が見ていて趣深かったりすると思う主観に基づいてあえて厳選してません。
歩き始めは曙橋駅だけど写真を撮り始めたのは九段坂上から。靖国神社があるところ。丁度鳥居があって、新型コロナに打ち勝とうみたいなことが書かれた横断幕が貼られていた。新型コロナ、今後どうなることか。早くワクチンができるといいけど。
交差点には「sagafred」という名の新しいエスプレッソカフェが。まだオープンしていなかったが近日中に開きそう。
ここから坂を下り神保町方面へと続く。途中品川弥次郎の銅像や常灯篭などがある。常灯篭は明治4年にできた灯篭で品川沖を行き来する船の灯台としても機能したらしい。九段坂はかつては急な坂だったらしいけど関東大震災後に今のような緩やかな坂に改修されたみたい。
常灯篭から少し下りると皇居の堀と昭和館がある。坂の上から眺める堀は、蓮の葉が青々しく覆っていて初夏を感じさせる。昭和館の入り口には「あの日の昭和がここにある」。入ったことはないけど、戦時中の暮らしとかが展示されているのかな?外装からは中が想像できない綺麗にデザインされた立派な建物。別に深い意味はないのだけれど、ふと京極夏彦の魍魎の匣にあった「箱は外側にしか存在価値がないのだ」という言葉を思い出した。
坂を下り切ると九段下交差点。内堀通りと交差し地下鉄の入り口がある。
少し歩くと川があって、その上を首都高速が走っている。橋の名前は「まないたばし」。
まないたばしから少し歩くと神保町。見慣れた風景。古本屋の町。
寄り道をしなければ、小川町まですぐにたどり着く。先々週は、この界隈の某サーフショップで半額のアルメリックのサーフボードを買った。
小川町から先はビルが連立する比較的ボアリングな街並みが続く。ここで初めて歩いている道が「靖国通り」という名前であることを知る。交差する道の名前は比較的すぐに見つけられのに、歩いている道の名前はなかなか見つからないもどかしさよ。
以上、距離にして6キロちょいの道のり。散歩は楽しい。ありがとうヘルスケアアプリ。
散歩後は自宅近くの銭湯で汗を流して帰宅。コロナ前だとそれほどでもなかったかもしれないけど、ちょっとした贅沢というか、幸せを感じた土曜の午後だった。やっぱり日常っていいな。
pythonanywhereを利用してFlaskでWebアプリを作ってみる
pythonを使い始めて半年。時間はかかるけど、localで意図するwebアプリを作れるようになってきた。Herokuを使ってwebアプリを立ち上げたりもしてみたが、無料サーバーとして使えそうなpythonanywhereというものを見つけた。コロナウイルスで不要不急な外出の自粛と外が雪だったので、pythonanywhereを利用してFlaskでWebアプリを作ってみることにした。
追記: urllib (pandasのread_html), requestsを使うと、無料版だとホワイトリストに含まれないサイトに対してはHTTP Error 403: Forbiddenになる。以下ホワイトリスト。
https://www.pythonanywhere.com/whitelist/
これ以外のサイトをスクレイピングするような動作を含むアプリを作る場合は有料にする必要がありそう。
詳細はこちら
https://help.pythonanywhere.com/pages/403ForbiddenError
pythonanywhereの特徴
使い方
- まずはサイト(https://www.pythonanywhere.com/)にアクセスする。
- 図のような画面が表示されるので緑色の"Start running Python online in less than a minute!"をクリック
- "Create a Beginner account"をクリック
- 必要な情報(username, email, passwords)を入力する
- こんなポップアップが出てくるので一応"Next"を押してチェックしてみる
コンソールにコマンドをタイプして結果がすぐに見られる、コンソールにはPython コンソールとBashコンソール(terminal)がある、Fileを作ったりするボタン、Web appsのボタン、Jupyter Notebooksを使うボタン、’Open Web tab’をクリックすることでWeb appsが作れる、有料サービスだとJupyter Notebooksが使える等の情報がツアー形式で説明される。後からでも確認できる(と思われる)ので読み飛ばしても大丈夫そう。
- ログインが完了するとこんな画面が出てくる。Warningが出ているが、登録したemailに送られてきた確認アドレスにアクセスすると消えた。
- ウェブアプリを作るためにまず右下の"Open Web Tab"ボタンをクリック(上の写真の赤丸)する。
- 左の青いボタンの"Add a new web app"をクリック
- appのドメインが自動で設定される。"Next"をクリック。
- どのフレームワークを使うかを選択する画面が出てくるのでFlaskを選択。"Next"をクリック。
- pythonのバージョンを選択する。とりあえず、3.8を選択。"Next"をクリック。
- こんな画面が出てくるので、"Next"をクリック。
- リンクをクリックするとアプリが見られる。最初は下のような画面が出てくる*1。
実装
- Webアプリの'/'で表示される文字を書き換えてみる。まずはflask_app.pyファイルを書き換えるために、以下の写真のうな流れでファイルにアクセスする。
ファイルを開くとコードが出てくるので、return 'XXXXXX'という部分を適当に書き換えて、ファイルを保存し、リロードすればホーム画面が書き換わる。
あとは自分の好みで色々と作り上げれば簡単にWebアプリが作れる。これは便利。
Flaskの使い方の本
英語
Pythonフレームワーク Flaskで学ぶWebアプリケーションのしくみとつくり方
- 作者:掌田津耶乃
- 発売日: 2019/08/10
- メディア: 単行本
*1:ちなみに、無料プランだと3ヶ月に一度は下のオレンジボタンをさなければアプリが消えてしまうので注意が必要。
3/20 東浪見
南西のち北西のち南西の風が強く吹く予報。
昨夜は雨と風がひどかったが、朝には雨も止んで行楽日和な空。
午後の方が風が弱まって風向きも良くなりそうだったので、ソラハナでゆっくりと朝食をとってから海へ向かう。
つくねバーガーとタンドリーチキンスープ。
タンドリーチキンスープはいい塩梅でスパイスが効いていている。
コーヒーは一杯まで無料。
板が降りなさそう。
しばらく待って南西に振れて来た時点で東浪見に移動。
まとまりのないガチャガチャした波で乗りにくいが、たまに乗るといい波も混在。
人も少なく遊べた。
昼はかさやで三陸ラーメン。
出汁がいい感じ。
夕方に一宮で入って帰りは都賀の緑の湯で身体を温めて帰宅。
久々の1日2ラウンドコース。まだまだ若い!