Fitbit製品はソニータイマーみたいな壊れ方するから買うべきではない

書かずにはいられなかったよ。 TL;DR Fitbitは故障対応が最悪なので、購入を検討してここに辿り着いたなら考え直すことを強くお勧めします 特にIonicはダメだ。3万円もするんだぞ。 アキバでやっすい中華ウォッチを買ったほうがマシ 何が起こった Amazonの日…

go-proto-validatorでis_in_enumを使ったときにコンパイルに失敗する

TL;DR https://github.com/mwitkow/go-proto-validators の version 0.1.0 で、 ネストされているEnumに対して is_in_enum:True を設定するとエラーになる。 version 0.2.0 で解決された様子?だが、うまくいかない。。。 エラーメッセージ C:\Go\Project\ho…

PyConJP2019に当日スタッフとして参加しました

2018年9月から本格的に業務でPythonを使い始めて1年が経ちました。 満を持して!初PyConJPに参加してきました。 しかも当日スタッフとして。 自分の中ではかなりのチャレンジをしました…! 9/15(前日) 事前準備から参加しました。何もないだだっ広い大展示ホ…

Dockerコンテナ内からlocalhostで起動しているアプリケーションに接続する

解決法 Windows環境では http://docker.for.win.localhost:xxxx へ Mac環境では http://docker.for.mac.localhost:xxxx へ接続する 参考 https://qiita.com/tatsuya-miyamoto/items/08bd6ea142d02708614f どういうときに使うの やむを得ない事情があってloca…

GCP Associate Cloud Engineer不合格記

合格記書いてる人はそこそこいるから、不合格記書いてる人がいてもいいでしょ?というコンセプト。 己の浅学を露呈するタイプのプレイである。 tl;dr 落ちました!!!!!!!! めっちゃ悲しい悔しい!!!!!!!!!! メッチャむずかった!!!!!!…

カンファレンスで使える英語の質問表現

tl;dr カンファレンスで外国人スピーカーに質問&会話する時の便利な言い回しまとめ 基本的に質問するときは May I know ... の形式で質問すると良い。最も丁寧な言い回し まえおき 2019年末のRe:Inventに参加することになりました。 ただ英語は全っっ然でき…

Qiitaに初投稿した

qiita.com 温めてたブログ用ネタのうち、 そこそこのサイズ感で、Qiitaに出しても一応恥ずかしくなさそうなやつを選んだつもり…つもり。 バーンと出すのが恥ずかしい小さいやつはブログ、そうじゃないやつはQiitaに流していこうと思いました。

mimetypes.guess_type()の挙動はOS依存だよ

なんだこれゎ。 mimetypes.guess_type() でどのmimetypeが返ってくるかは動作している環境のOSに依存する様子。 そのため、たとえば hogehoge.csv というファイルを引数に与えたとき、 Windowsでは application/vnd.ms-excel が返り、Linuxでは text/csv が…

Djangoのテストでsettingsの値をモックする

定期的に忘れるのでメモ settingsの値をモックしたいときは、 django.test.utils.override_settings か TestCase.settings を使う。 override_settingsを使う場合 参考: https://gist.github.com/blaix/2294982#gistcomment-1318400 に書いてある通り。 fro…

moto+boto3のテストでOSError、NoCredentialErrorが出る場合

現象 moto == 1.3.7, boto3 == 1.9.130 環境でテスト実行時に発生。 urllib3.exceptions.NewConnectionError: <botocore.awsrequest.AWSHTTPConnection object at xxxxxxxxxxxxxxxx>: Failed to establish a new connection: [WinError 10051] 到達できないネットワークでソケット操作を実行しようとしました。 テストのときにbo</botocore.awsrequest.awshttpconnection>…

Windows環境でpipenvコマンドが認識されないとき

pip install pipenv したのに C:\Users\foo\var\ >pipenv 'pipenv' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 になるときの対処法。 stackoverflow.com stackoverflowに対処法があった。 …

dependabotのcompatibilityとは何か

dependabotがGitHubに買収された ので、これを機に最近dependabotの利用を始めた方も多いはず。 しかしいざdependabotからPRが飛んで来ると見方に困ったので記録に残します。 タイトルの通り、「compatibility」って書いてるけどこれ何??状態になった。 公…

serverless-python-requirementsで変名Pipfileを読むことはできない

タイトルの通り。 serverless-python-requirements で無理をしたかったができなかった話。 serverless-python-requirementsはpipだけでなくpipenvにも対応している。 custom: pythonRequirements: usePipenv: true でpipenvのPipfileを読むことが可能になる…

タイ・チェンマイに行ってきた

タイトルの通りですが、2019年1月末にチェンマイに行ってました。 チェンマイはご飯もうまいし治安もよい、観光名所も多い、さらにショッピングモールが多い上に遅くまでやっているという、一日中いろんなことして遊べる最高の観光地です。 良いとこだったよ…

Python+Django+MySQL環境でMySQLdbがModuleNotFoundErrorになったときの対処

こんなエラーログ File "/usr/local/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 15, in <module> import MySQLdb as Database ModuleNotFoundError: No module named 'MySQLdb' 対処方法 使っているsettingファイルに、以下のコードブロ</module>…

Django Rest FrameworkのSerializerでバリデーションをして、ついでにkey名を変更したいとき

Modelから取得したレコードをシリアライズするSerializerでは、入出力するkey(カラム)名が異なる場合、sourceオプションで入力元のカラム名を指定すればよい。 しかし、dictを整形したりvalidationしたいがためだけにSerializerを使う場合、これが逆にする…

Jestでテストを強制的に失敗させたい場合

fail() のようなメソッドが用意されているかと思ったけれど、ないっぽい。 https://stackoverflow.com/questions/42176642/in-jest-how-can-i-make-a-test-fail StackOverflowおじさんたちは、テストを失敗させたいところで throw new Error('failed'); とし…

__init__.pyがないディレクトリに出るエラー

基本的なことなんだけど、この手のエラーに関する日本語の情報が少なかったので書き残し。 pythonでディレクトリを作るときは __init__.py が必須。当たり前の話だけど初心者なのでちょっとハマった。 ( __init__.py がなくても動く場合があるからややこし…

GitHubにDraft Pull Requestが追加されたけど利用制限があるみたい

8/3追記 一部プランで使用できるようになってました。 GitHub Proの人が作ったリポジトリ+Privateで確認。 一方GitHub Free+Privateはまだ未対応でした。ほかはよくわかりません。情報求む。 2/15ごろからGitHubにDraft pull requestという機能が追加され…

MacOS 10.7 Lion でHTTPのページが開けない&設定からAppleIDを登録できない現象

スタートの状態 会社の先輩ら古めのMacBookを譲り受けた。 初期化済み&初期化後の確認のため、適当なrootユーザー作成済み。 osはMacOS 10.7 Lion。 発生したこと HTTPSのページが開けない 「設定」からAppleIDサインインできない(アプリDLできない、iClou…

Node.js + Jestで「SecurityError:~」が発生した際の解決法

こんなエラーが出た > jest FAIL test\fileA.test.js ● Test suite failed to run SecurityError: localStorage is not available for opaque origins at Window.get localStorage [as localStorage] (node_modules/jsdom/lib/jsdom/browser/Window.js:257:1…

Puppeteer入りNode.jsアプリをServerlessでAWS Lambdaにデプロイするときに困ったこと

結論 nodejs+puppeteer+lambdaのアプリケーションには .npmrc が必須 起きたこと C:\[hogehoge]>npx sls deploy をしたら Serverless Error --------------------------------------- An error occurred: [Function Name] - Unzipped size must be smaller…

Djangoで空文字・Noneを許容する文字列Validateを作る

やりたいこと DjangoのSerializerで、 空文字とNoneと、ついでに未入力も許容する文字列バリデータをつくる 結論 CharFieldを定義するときに、 requiredだけでなく allow_blank, allow_null も設定しよう(でも罠がある) class TestSerializer(serializers.…

香港旅Tips(MTR、女人街、香港ディズニーランド)

目標:一般のかたにも有益なブログになる → ひねり出したネタ:海外旅行Tips (^o^) これは2018年5月に初めて香港に行った自分の教訓や気付きですので、 すべての方に有益というわけではございません。 海外旅行は事前の下調べが大変重要になります。 他の情…

foreachの中で参照渡しのunsetしたときの不思議

PHP

PHPで、配列の中の特定の要素を削除するときといえばだいたい、 ↓な感じかと思います。 1, 'b' => 2, 'c' => 3]; foreach($a as $key => $val){ if($val === 2){ unset($a[$key]); } } array(2) { ["a"]=> int(1) ["c"]=> int(3) } けど、foreachで参照渡し…

IDをkeyにした配列をarray_mergeしてバグを出しました

PHP

やったこと 'a', '257' => 'b', '245' => 'c'); $b = array('477' => 'd', '502' => 'e', 'f4c' => '600'); var_dump(array_merge($a, $b)); // <1> var_dump($a + $b); // <2> けっか array(6) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1)…

OneSignalで特定ユーザーにプッシュを送るためのWeb実装

日本語の解説ページがあんまり見当たらなかった…。 OneSignalはプッシュ通知を購読登録されたとき、ユーザーを識別するOneSignal player IDなるものを払い出します。 このPlayer IDを指定して通知を飛ばすと、特定のユーザーだけに送ることができます。 この…

IFTTTのWebhooksの作成方法

地味に分かり辛いよね。 IFTTTのWebhookは他のアプリケーションと同じページから設定ができません。 なので、設定のためにIFTTT Platformにサインインする必要があります。 (アカウントはIFTTTと共通です。) 手順 ①IFTTT Platformにサインイン https://pla…