2018-04-01から1ヶ月間の記事一覧

Python で string に format を使ってる時になぜか KeyError が出る件

結論: jsonstring には format 文を使わないこと たとえば以下のようなコードを実行すると、 value1 = 1 value2 = "2" jsonstr = '{"property":{"key1":"{:}"},"key2":{:}}'.format(value1, value2) KeyError: '"property"' などと怒られる。 原因 原因は fo…

Python3 で TypeError: 'dict_values' object does not support indexing が出る件

Python2 で書いてた以下コードを Python3 で実行すると、 return r.json()['query']['pages'].values()[0]['revisions'][0]['*'] TypeError: 'dict_values' object does not support indexing が出た。 原因は、Python3 が dict_values() が明示的に list 型…

Python の json ライブラリで json.decoder.JSONDecodeError が出る件

json.loads() などを使ってるとよく出る。 loads() に与えてる jsonstring のフォーマットが(JSON的に)正しいか確認する こと。 Web 上に支援ツールがある。JSONLint を使ってバリデーションしてみたり、 Free Online JSON Formatter を使って見易く表示し…

Python でモジュール内名前空間をつくる

やりたいこと 動機 やり方 コード 実行結果 その他ノウハウ やりたいこと hoge.py の中で名前空間を実現したい。 動機 別ファイルを作ればモジュール化できるが、一ファイルで済ませたいから。 やり方 名前空間用の class を作り、(その名前空間に入れたい…

AutoHotkey で起動したコマンドプロンプトウィンドウを画面中央に配置する

ウィンドウ操作の練習も兼ねて書いてみた。 コード コード解説 (余談) ウィンドウを画面中央に配置する計算式 参考 コード #Left:: Run, cmd WinWait, 管理者:,,0 WinActivate WinGetPos, posx, posy, sizex, sizey, A WinMove A,, (A_ScreenWidth/2)-(sizex…

カテゴリー(Category)とタグ(Tag)の違い

違いがいまいちわからなかったので調べてみた。 複数と単一 日本語訳で 歴史的に 参考 (余談) 本ブログのカテゴリ運用 複数と単一 タグは キーワードの羅列 で、対象に複数付与できる カテゴリーは ジャンルの指定 で、対象に一つのみ指定できる 日本語訳で …

wevtutil でイベントログをフィルタリングするサンプル

イベントビューワーは重すぎてイライラするので、wevtutil でサクっとフィルタリングできないかなと思って調べてみた。 前提 (1) 特定のイベントIDのみ (2) 特定のレベル(情報とかエラーとか)のみ (3) 比較演算子を使う(例:指定値以下のEventIDのみ) (4) O…

MSDN の URL が丸括弧を含んでいるせいで Markdown のリンク表記で解釈できない件

問題 解決策 (余談) Markdown パーサによってはちゃんと解釈してくれる 問題 MSDN はしばしば以下のように () を含む URL となっている。 Registry Virtualization (Windows) https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa965884(v=vs.85).a…

VSCode で Markdown の相対パス画像ファイルがプレビューされない件

前提 現象 原因 対策 前提 VSCode v1.22 現象 project1/docs/doc1.md を開いている doc1.md に ![img1](../images/img1.jpg) を書いている この img1 がプレビューされない(有効なリンクになっていない) 図示するとこんな関係。 + project1 + docs - docs1…

製品ソフトウェアにテストを含める STO(Secret Test Option) とは

STO(Secret Test Option) とは製品に「その製品自身のテスト」を埋め込むことである。 通常テストコードはソースコードには含めないが、製品自身が正しく動作することを素早く確認したい場合には重宝する。 以下よくありそうな質問を Q&A 形式でまとめた。 Q…

VSCode でデバッグ実行すると「node.exe: bad option: --inspect-brk」とか「connect ECONNREFUSED 127.0.0.1」とかで怒られる件

前提 事象 原因 解決策 前提 VSCode v1.22 Node v6.10 VSCode は最新だが Node が古い(特に大幅なアップデートが加わった v8 よりも古い)というケース。 事象 デバッグ実行すると、VSCode では以下のように --inspect-brk を node.exe に与えようとするが…

GitHub への push/pull/clone が「fatal: unable to access 'https://github.com/...': SSL certificate problem: unable to get local issuer certificate」でエラーになる時にやること

前提 原因 対処その1 対処その2 前提 Windows で Git を使っている(他の OS でも同じだとは思いますが) git:// ではなく https:// で push/pull/clone している 原因 SSL 証明書が不正のため、認証が通っていない。 対処その1 該当の証明書をインポートす…

Firefox Quantum に乗り換えて良かったことと悪かったこと

前提 良かったこと 悪かったこと プロセスが多い ブックマーク追加先がデフォルトで「他のブックマーク」になる (余談)拡張機能について 前提 Windows 10 + メモリ8GB Firefox v55 → Quantum に乗り換えた 拡張機能はほとんど使ってません(uBlock Origin …

javascript + mocha でカバレッジ測定をするには istanbul のラッパー nyc を使う for Windows

javascript + mocha でカバレッジ測定したい場合、「 istanbul を使うといいよ」という情報が多いが、情報が古いのか、成功しなかった。 手順 注意点 (参考) 古いやり方 手順 nyc という istanbul の CLI を使う。 $ cd (mochaを使ってるprojectのディレクト…

cx_Freeze で Tkinter を使った Python スクリプトを実行ファイル化する際に必要な設定

必須手順 LIBRARY 系の環境変数を設定する DLL のパスを build_exe の include_files オプションに指定する 推奨手順 不要なファイルを削除する 必須手順 ここの手順は全て行わないとビルドが通らない。 LIBRARY 系の環境変数を設定する cx_Freeze の setup …

Firefox で新しいタブで開こうとするとキャンセルされることがある件

たまに起きてイラっとする。原因は複数存在するが、そのうちの一つを取り上げる。 事象 原因 対処法 所感 事象 Firefox でリンクを新しいタブで開こうとすると、一瞬タブが開かれるが、すぐに閉じられてしまう。 原因 広告ブロッカー(uBlock Origin)でブロッ…

Firefox で selenium-webdriver のサンプルコードを動かすまでのメモ

背景 前提 手順 (参考)上記手順に至るまでにハマったところ 背景 Firefox で自動テストするには Selenium IDE が定番だが 最近の Firefox では動作しない。 代替としてどうしようかと考えて、node.js で動かす selenium-webdriver ってのが目に入ったので…