いろいろ備忘録日記

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

Pythonメモ-57 (サブクラスで __init__ を定義する場合の注意点) (class, super, __init__, Never code a method that just delegates to the superclass)

概要 たまに間違えてバグ作ってしまったりしてるので、忘れないようメモメモ。 python で サブクラスの __init__ 定義する場合に super().__init__() としていないと、親クラスの__init__() が呼ばれないよって話しです。 他の言語の場合 (例えば C#) C#の場…

Pythonメモ-56 (pygments で色付き cat コマンドみたいなの作る) (pygments, highlight, get_lexer_for_filename, TerminalFormatter)

概要 前回 devlights.hatenablog.com ってことで、pygments ってライブラリを初めて使ってみたのですが 面白かったので、もう少し遊んでみました。 ドキュメント見ると、いろいろ関数があって、Lexer を推定して作ってくれる系のものがあります。 その中にge…

Pythonメモ-55 (pygments でシンタックスハイライトさせて遊ぶ) (pygments, pygmentize, syntax highlight)

概要 何かのライブラリをインストールしようとすると、ちょこちょこ見る名前って結構あります。 私の場合、pygments ってライブラリがよく出てきていたのですが これが何なのか知りませんでした(恥 Welcome! — Pygments とっても有名なライブラリなんですね…

最近の VSCode の C# サポート具合をメモ (Visual Studio Code, C#, dotnet core, .NET Core)

概要 前回、前々回と VSCode のメモ書いたので、ついでにC#の方もメモ。 devlights.hatenablog.com devlights.hatenablog.com ドキュメントさらっと見た限りだと、サポートの仕方がものすごく限定的。.NET Core 用って感じ。 それ以外の事したい場合は、本家…

最近の VSCode の Python サポート具合をメモ (Visual Studio Code, Python, conda, pytest)

概要 前回、VSCode の Java サポート具合について devlights.hatenablog.com 書いたので、ついでなので、Python の方も調べてみた。 私自身は、普段は PyCharm で作業しているので、 VSCode で書くのは、たまに殴り書きのスクリプト書くときぐらいでした。 M…

最近の VSCode の Java サポート具合がすごい (Visual Studio Code, Java, JUnit, Maven, Tomcat)

概要 最近、Visual Studio Code での Java のサポートが加速してるなって思ったのでメモメモ。 VSCodeでのJava環境構築事始め。 code.visualstudio.com Webアプリ作ってみようのページ。Spring Boot を用いている。 code.visualstudio.com デバッグとテスト…

Kotlinのめっちゃ分かりやすかった記事 (Qiita, Java, Kotlin)

概要 QiitaでKotlinについて、すごく分かりやすい記事を見つけたので、忘れないようメモメモ。 公開してくださった方に感謝。 qiita.com qiita.com qiita.com Javaプログラマ向けと銘打ってありますが、Javaやってなくても充分分かります。 Kotlin勉強せなっ…

JetBrains の IDE を日本語化 (Pleiades, IntelliJ IDEA, PyCharm, Rider)

概要 JetBrains さんの 各 IDE を普段めっちゃ使っているのですが、日本語化できるの全然知りませんでした。 WillBrainsさんのページをひょんなことで発見。 IntelliJ や PhpStorm などの日本語化 IDE がJavaで作成されているから、Pleiades で日本語化でき…

Pythonメモ-54 (py.test と pytest) (pytest, command, since version 3.0)

概要 普段お世話になっている pytest さんなのですが、ネットで情報みると py.testってなっているものと pytestってなっているものが あります。 バージョンが異なるのかなって思って見てみても $ py.test --version This is pytest version 3.3.0, imported…

Pythonメモ-53 (pytest から pudb 起動) (pytest, pudb, pdbcls, pudb.debugger)

概要 前回、前々回とpudbについて書きました。 devlights.hatenablog.com devlights.hatenablog.com pudbのdocument見ると、pytestからpudb起動も出来るとのこと。 Getting Started — pudb 2.0.1.7...1...4 documentation 普段からpytest使っているので、こ…

Pythonメモ-52 (ipython 上で pudb 起動) (ipython integration, pudb, %pudb, magic command)

概要 前回の続き devlights.hatenablog.com 前回で、pudbスゲーってなって、いろいろ見てみると ipython とも連携できるみたい。 PuDB/IPythonIntegration - Andreas Klöckner's wiki 試してみる てことで、前回の環境には ipython いれてなかったので入れる…

Pythonメモ-51 (PuDB -- コンソール上でIDEみたいなデバッグ環境) (pudb, pdb, full-screen console-based visual debugger for Python)

概要 twitter で以下のようなツイートを発見。 Trying to find a bug in your script? Rerun it with pdb as followspython -m pdb example.py(example.py and output attached)Too complicated? The text-GUI debugger pudb is here to helppython -m https…

Pythonメモ-50 (conda 4.4.6 にしたら fish shell 上で activate 出来なくなった) (conda, activate, fish)

概要 以前、以下の記事で fish shell に切り替えたのですが devlights.hatenablog.com conda のバージョンをアップデートしたら、fish shell 上で activate できなくなりました。 $ conda --version conda 4.4.6 $ activate py3 Error: activate must be sou…

Pythonメモ-49 (startswithとendswithはタプルも受け付ける) (str, bytes, bytearray)

概要 知らなかったのでメモメモ。ドキュメントみたら、ちゃんと書いてあった。。。 大抵の言語では、文字列などに startswith / endswith みたいなメソッドが存在していますが pythonの場合は、タプルも受け付けてくれる。何気にすごい便利です。いちいちル…

Pythonメモ-48 (vscodeで特定のpython環境を選択) (visual studio code, select interpreter, conda)

概要 忘れないうちにメモ。Visual Studio Code (vscode) で特定の python 環境を選択するには Cmd + Shift + P してから Python: Select Interpreter で使うものを選択する。 予め、MicrosoftのPython拡張機能をインストールしているのが前提条件ですね。 他…

Happy Hacking Keyboard で右クリックメニューを表示 (hhk, shift + F10)

概要 ずっと使ってるくせに、いつも忘れてしまうので、ここにメモ。 Happy Hacking Keyboard (HHK) で、右クリックメニューを表示するのは Shift + F10 (F10 は Fn + 0) で表示できる。 過去の記事については、以下のページからご参照下さい。 いろいろ備忘…

fish shellインストール & condaの設定 (mac, fish shell, oh my fish, fisherman, conda, dracula-theme)

概要 今更ながら fish shell 導入してみました。 fishshell.com conda を使っている場合にちょっとハマった点が あったので、忘れないうちにメモメモ。 下調べ 以下のページの情報がとても有用でした。感謝。 dev.classmethod.jp qiita.com qiita.com もろも…

CLionでmakefileをサポートしてくれるプラグイン (JetBrains, CLion, Makefile Support)

概要 CLionさん、とても便利で重宝しているのですが、現在のところ CMake しかサポートしてくれていないのがちょっとネックでした。 まあ、CMakeLists.txt ちょっと頑張ったら行けるのですが、大抵のC言語プロジェクトってmakefileがついています。 で、以下…

Pythonメモ-47 (結果の型を特定の値の型と一致させる) (python3, type, coerce)

概要 Fluent Python ―Pythonicな思考とコーディング手法作者: Luciano Ramalho,豊沢聡,桑井博之,梶原玲子出版社/メーカー: オライリージャパン発売日: 2017/10/07メディア: 単行本(ソフトカバー)この商品を含むブログを見る に書いてあった小ネタ。なるほ…

Pythonメモ-46 (2.x系と3.x系で内包表記内の変数のスコープが違う) (python2, python3, listcomp, 内包表記, 変数スコープ)

概要 pythonに慣れている人は当然な知識なのかもしれませんが、自分用に忘れない内にメモメモ。 Python 2.x 系と python 3.x 系では、内包表記で使用する一時変数のスコープが違うんですね。 python 2.x 系 $ activate py2 (py2) $ python --version Python …

Postgres.appとPostico (macOS, postgresql, GUIツール)

mac

概要 macOSで、postgresql をインストールしようして情報探すと 大抵、HomeBrewからインストールするみたいなのですが ひょんな事で以下のものを知りました。 postgresapp.com いやー楽ですね。こういうのが好き。 自分のマシンでローカルに動かす分にはこれ…

path_helper ($PATHを設定するコマンド) (macOS, /etc/paths.d, /etc/paths, shell間をまたいだパス設定)

mac

概要 ずっと謎だったことが解決して、忘れないうちにメモメモ。 (単純に私が知らなかっただけなのですが) macOSで、.NET Core をインストールすると、dotnetコマンドが使えるようになります。 んで、 $ which dotnet ってすると ~$ which dotnet /usr/loca…

Pythonメモ-45 (Django vs Flask) (Django, Flask, 比較)

概要 django と flask の分かりやすい比較してくれているページがあったので、忘れないうちにメモメモ。 devel.tech かなり長いですが、リンクをそれぞれ貼ってくれているので参照し易いです。 どちらも知らない人に説明する際に、使えそう。 記事中にでてく…

Pythonメモ-44 (conda に conda-forge チャネルを追加) (conda config, channel, 追加パッケージ)

概要 conda 使っていると、大体の有名どころのパッケージは見つかるのですが 当然、存在しないものもあります。いろんなページで、そういうときは pip でインストールすると記載されています。 例えば、私が個人的にめっちゃ使っているパッケージに pypercli…

Pythonメモ-43 (conda search する際のtips) (full-name, names-only, 名前で完全一致, 名前だけ表示, anaconda search)

概要 よくオプション忘れちゃうので、自分用のメモ。 conda 使っていると、パッケージ探すときに conda search するのですが pip search と同じで、conda search もデフォルトでは、その文字列を名前に「含む」ものが 検索結果として表示されます。 どんなの…

javascript と python が似てる (JavaScript is almost pythonic)

概要 面白い内容だったのでメモメモ。 javascriptの方は、ES2017。pythonの方は、3.6系ですね。 確かに似てる。 dev.to 過去の記事については、以下のページからご参照下さい。 いろいろ備忘録日記まとめ http://sites.google.com/site/gsfzero1/ サンプルコ…

Pythonメモ-42 (mmapとreの組合せ) (パフォーマンス, メモリマップ, re.search, mmap.mmap)

概要 stackoverflow で以下のスレッドを見つけました。 stackoverflow.com 内容は linuxのgrepコマンドと比べて、pythonで組んでみた俺のgrepコード超遅いんだけどなんとかなんないかな? って事なんですが、そこで回答された方が提示した案が以下の点。 メ…

Pythonメモ-41 (__weakref__ 属性) (weakref, 弱参照, ユーザ定義クラス, __slots__)

概要 devlights.hatenablog.com 前回の補足メモ。 弱参照を作った際、python データモデルでは、オブジェクトの __weakref__属性に 設定されるとのこと。試してみると set01 = {1, 2} wref = weakref.ref(set01) print(hasattr(set01, '__weakref__')) 出力…

Pythonメモ-40 (オブジェクトが削除されたことを検知する) (weakref.finalize, ファイナライザ, 弱参照)

概要 小ネタ。以下の書籍で知りました。 Fluent Python ―Pythonicな思考とコーディング手法作者: Luciano Ramalho,豊沢聡,桑井博之,梶原玲子出版社/メーカー: オライリージャパン発売日: 2017/10/07メディア: 単行本(ソフトカバー)この商品を含むブログを…

Pythonメモ-39 (メッセージボックス表示) (tkinter, messagebox)

概要 小ネタ。 スクリプト書いていると、たまに処理完了したから、メッセージボックス表示したいときがあります。 たまに、バッチファイル作って、そこから表示しているサンプルも見るのですが pythonに標準搭載されている tkinter にメッセージボックスがあ…