いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

2019-01-01から1年間の記事一覧

Pythonメモ-105 (動的にクラスを定義)(type(), types.new_class())

概要 滅多に使わないのですが、たまーに使いたいシーンが出てきたりするのが動的にクラス定義するやり方。 よく忘れるので自分用にメモです。 環境 $ sw_vers ProductName: Mac OS X ProductVersion: 10.14.4 BuildVersion: 18E226 $ python --version Pytho…

mac で "/usr/include" ディレクトリが存在しなかった件 (10.14, xcode-select, Xcode 10, 標準インクルードファイル)

mac

概要 これもタイトルのまんまなのですが、私の環境では存在していませんでした。忘れないうちに自分用にメモです。 私の環境は以下。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.14.4 BuildVersion: 18E226 xcode-select してみた 最初に見つけた…

brew cask で "No Cask with this name exists." って出て困った件

mac

概要 タイトルの通りなのですが、久しぶりに brew caskでインストールしようとしたら $ brew cask list Error: Cask 'sublime-text3' is unavailable: No Cask with this name exists. って出て、ちゃんと動かなくなったので、しばらく困りました。忘れない…

Pythonメモ-104 (GithubでTravis-CIを設定)(Python 3.7を使用, pipでwxPythonをインストール)

概要 すぐ忘れてしまいそうなので、自分用にメモ。 自分用のサンプルリポジトリに Travis-CI を導入しようとしていろいろハマったので。。。 Travis CI のサインアップ travis-ci.com なにはともあれ、サインアップしておかないと使えない。github アカウン…

Pythonメモ-103 (round関数の丸め戦略)(python3から変更, 最近接偶数丸め, round ties to even)

概要 知らなかったので忘れないうちにメモメモ。組み込み関数 round() の丸め方が python3 から変更されていたのですね。 docs.python.org stackoverflow.com 最近接偶数丸めに変更となっています。 ja.wikipedia.org python2 の環境が今無いので試していま…

Pythonメモ-102 (特殊メソッドのリスト)(Special Method, Dunder Method, Double Underscore)

概要 特殊メソッドのリストが記載されているページを忘れないようにメモメモ。たまに見返さないと忘れる・・・。 最も個人的に見やすいのは、やっぱり Dive into Python3 diveintopython3-ja.rdy.jp 公式ドキュメントでは、ライブラリの中の3.データモデル…

Pythonメモ-101 (組み込み関数 len の挙動)(文字数, バイト数, __len__, Sized)

概要 組み込み関数 len() の挙動をよくボケて忘れてしまうので、忘れないようにメモ。 docs.python.org [https://docs.python.org/ja/3/reference/datamodel.html?highlight=len#object.len:embed:cite] dunder method の存在をつい忘れてしまいますね。 サ…

Pythonメモ-100 (aiojobs)(asyncio向けのジョブスケジューラライブラリ)

概要 便利なライブラリ見つけたので、忘れないうちにメモメモ。 github.com aio-libsグループのライブラリですね。asyncio向けのジョブスケジューラを提供してくれます。 どんなライブラリなのかは、上のページのREADMEを見たほうが早いのですが、自分用に以…

Pythonメモ-99 (リストの flatten 化)(list, itertools.chain, フラット化)

概要 よく忘れるのでメモ。 リストを flatten したい場合、便利なのが itertools.chain.from_iterableを使うと簡単にフラット化できます。 サンプル """ リストのサンプルです. リストの flatten について REFERENCES:: http://bit.ly/2L7yfq1 http://bit.ly…

Pythonメモ-98 (venvでの仮想環境でのsys.prefixとbase_prefixの違い)

概要 小ネタ。 venvで仮想環境を作って activate した状態だと、sysモジュールの以下のプロパティの値が異なる状態となります。 sys.prefix sys.exec_prefix sys.base_prefix sys.base_exec_prefix 仮想環境だと、baseなしの方が 仮想環境のパス、baseありの…

github で https で毎回ユーザ名とパスワード聞かれないようにする

概要 以下、忘れないように自分用のメモです。 プライベートリポジトリを clone すると、たまに毎回コマンドラインで push や pull したときに「ユーザ名」と「パスワード」を指定しないといけなくなったりします。 sshにしたらいいみたいなんですが、個人的…

VSCodeのオススメ拡張機能のリンク (Qiita, vscode, extensions)

概要 Qiitaにアップされていた以下の記事がとても有用だったので、忘れないうちにメモメモ。 投稿してくださった方に感謝です。。ありがとうございます。 qiita.com 「なんかオススメの拡張機能ってありますか?」って聞かれたら、この記事教えてあげればも…

Gitpodがめっちゃ便利 (github app, gitpod, vscodeライク, ブラウザでソース編集)

概要 Github App で公開されている Gitpod が使ってみたらすごく便利でした。以下簡単なメモです。 www.gitpod.io インストールすると、対象のリポジトリをVSCodeライクなエディタで表示してくれます。 ブラウザだけでソース編集もプルリクもできるので、と…

gitで日本語ファイル名が文字化けするのを直す (git, config, core.quotepath)

git

概要 たまにしか使わないので、いつも忘れてしまうのでここにメモ。 core.quotepathをfalseにする。 $ git config --local core.quotepath false 過去の記事については、以下のページからご参照下さい。 いろいろ備忘録日記まとめ devlights.github.io サン…

ConsoleZ (Console2) で コピー アンド ペースト する方法

概要 完全に自分用のメモです。 github.com というアプリを使っているのですが、何回もコピーの仕方を忘れてしまう・・・。 superuser.com に書いてあるように、正解は SHIFTキーを押しながら選択する とするとコピーできる。貼り付けは SHIFT+INSERT 過去の…

Pythonメモ-97 (python 3.7 + pyinstaller 3.4 + venv で TypeError が出る件)(expected str, bytes or os.PathLike object, not NoneType)

概要 忘れない内にメモメモ。 Python 3.7 + PyInstaller 3.4 + venv の環境で実行ファイルを作成しようとしたら以下のようなエラーが出ました。 8473 INFO: Building PKG (CArchive) PKG-00.pkg Traceback (most recent call last): ・・割愛・・ File "C:\P…

Pythonメモ-96 (async-timeout)(asyncio 互換のタイムアウトクラス)

概要 便利なライブラリがあったので、忘れないうちにメモメモ。 github.com 非同期処理でタイムアウト処理って書くの面倒なんですが、これ使うと楽ですねー。 サンプル 以下、async-timeout モジュールのちょっとしたサンプルです。 """ async-timeout モジ…

Pythonメモ-95 (正規表現で絶対最大量指定子を指定する)(re, regex, possessive quantifier, 強欲な量指定子, 標準モジュールではサポートされていない)

概要 昨日の devlights.hatenablog.com に引き続き、標準モジュール re でサポートされていない正規表現シリーズ。 忘れない内にメモメモ。 絶対最大量指定子って 名前がすごいイカついですが、概念的にはアトミックグループと同じようなものです。 アトミッ…

Pythonメモ-94 (正規表現でアトミックグループを指定する)(re, regex, atomic groups, 標準モジュールではサポートされていない)

概要 python で re モジュールを使って、正規表現書いていたときにたまたま知ったのでメモメモ。 python の 標準モジュール re では、アトミックグループの指定がサポートされていないんですね。 アトミックグループって何ぞや 正規表現を使って処理をする場…

Pythonメモ-93 (Pythonセキュリティベストプラクティスチートシート)(Python Security Best Practices Cheat Sheet)

概要 素晴らしいチートシートが公開されていたので、忘れない内にメモメモ。 snyk.io 10か条で記載されています。上記のページから、チートシートのPDFのダウンロードが可能なほかに、それぞれの項目についての説明があります。 このチートシートで、Bandit …

Pythonメモ-92 (PEP-448 Additional Unpacking Generalizations)(アンパック演算子の利用方法拡張, python 3.5で追加)

概要 Python 3.5 で追加された PEP-448 についてのメモ。 www.python.org 元々存在している * と ** というアンパック演算子の利用方法を拡張するというものです。 便利なので忘れないようにメモメモ。 どんな内容? 以下のケースでの利用方法が拡張されてい…

Coder.com が VSCode をリモートサーバで動作させるcode-serverをオープンソースで公開 (code-server, vscode on a remote server, github, docker)

概要 VSCodeをブラウザ上で操作して編集できるサービスを公開していた Coder から code-server がオープンソースで公開されてますね。 忘れない内にメモメモ。coderはまだバージョンがalpha版なのですが、先日触っていたらすごくいい感じでした。 ブラウザ上…

Windows 10 の電卓がオープンソースに (Microsoft, calculator, C++, xaml)

概要 Windows 10 の 電卓アプリ がオープンソースとして公開されましたね。 Githubで公開されています。 とりあえずメモメモ。 gigazine.net forest.watch.impress.co.jp blogs.windows.com github.com 過去の記事については、以下のページからご参照下さい…

Pythonメモ-91 (python 3.7 からdictの挿入順序が保証されている)(Dictionaries now ordered, 順番を守ったまま重複を削除する)

概要 Python 3.7 から dict の挿入順序が保持されるというのが、公式に Python 言語仕様の一部であると 宣言されました 。 docs.python.org mail.python.org 公式に宣言されたのは、素晴らしいことです。 順番を守ったまま重複を削除する qiita の方に qiita…

Pythonメモ-90 (vscodeでpython のターミナルとしてIPythonが起動するようにする)(python.terminal.launchArgs, IPython)

概要 以下、自分用のメモです。 ついでに、vscode 内で python のターミナル起動 したときに、IPython 起動するようにする設定。 以下を参考にしました。 stackoverflow.com python.terminal.launchArgsにそのまんま ipython 起動するように設定してやるだけ…

Pythonメモ-89 (vscodeでパッケージ形式になってるpythonファイルをデバッグ起動)(PYTHONPATH, launch.json)

概要 以下、自分用のメモです。 自分のpythonの知識が足りていないだけなのですが、vscode で 以下のような構造 +---.vscode | launch.json | +---lib | versions.py | __init__.py | \---pkg1 main1.py __init__.py があって、main1.pyが例えば以下のように…

Pythonメモ-88 (ターミナルの行列のサイズを取得)(get_terminal_size, terminal_size, 3.3 以降)

概要 ターミナルのサイズが知りたいときがあって、最終的にめっちゃ簡単に取得できたので忘れない内にメモメモ。 最初、以下の gist を発見。 Get current terminal size on Linux, Mac, and Windows · GitHub 結構大変やん・・って思ってたら、以下のコメン…

Pythonメモ-87 (文字列から16進とか2進に変換したり戻したり)(bitstring使用)

概要 いつも忘れてしまう文字列から16進数にしたり2進数にしたりのメモ。 前に似たようなものを記事で書いた記憶があるけど、それすらも見つけることが出来なかったので。。。。 環境設定 いろいろやり方はありますが、最近こういうのは bitstring さん使っ…

Pythonメモ-86 (requirements.txtにて特定のOSの場合のみインストールするようにする)

概要 最近、conda をやめて pip と venv の環境に戻ったのですが、requirements.txt で 特定のOSの場合のみインストールするようにしたいことがたまにあります。 Windows版が存在しないライブラリとかWindows版しか存在しないものなどの場合です。 例を上げ…

Pythonメモ-85 (Evolution of the Jupyter Notebook) (jupyter lab の基本的な使い方について)

概要 jupyter lab の基本的な使い方について、個人的に一番分かりやすかったのでメモメモ。 google drive と github に連携できる extensions の説明があるのが助かりました。 towardsdatascience.com 便利になりましたねー。 $ python -m venv jupyter $ so…