タグ

ブックマーク / qiita.com/simonritchie (7)

  • docstringのテンプレートを出力してくれるautoDocstringのVS Code拡張が素敵だった - Qiita

    Pythonの関数(メソッド)の内容に合わせてdocstringのテンプレートを生成してくれるautoDocstringというVS Codeの拡張機能をお仕事とプライベートで使っていたら結構気に入ったのでその紹介です。 autoDocstringでできること Pythonの関数やメソッドの引数名や型アノテーションなどに応じたdocstringのテンプレートをVS Code上で生成してくれます。 ※JSDoc的なもの含め、他の言語だと割とその辺をしっかり生成してくれる一方でPythonだと(出力されるdocstringのスタイルがずれていたりなど)個人的にしっくりくるものが無く、今まではスニペット的にクリップボードへ定型文登録などして過ごしていました。 PEP257やGoogleスタイル、NumPyスタイルなどメジャー所のdocstringのスタイルはサポートされています。 ※そもそもdoc

    docstringのテンプレートを出力してくれるautoDocstringのVS Code拡張が素敵だった - Qiita
    sh19910711
    sh19910711 2024/06/18
    "autoDocstring: VS Codeの拡張機能 + Pythonの関数(メソッド)の内容に合わせてdocstringのテンプレートを生成 / PEP257やGoogleスタイル、NumPyスタイルなどメジャー所のdocstringのスタイルはサポート" 2022
  • [Python]コードサンプルが正しく動くことを担保し続けるためのdoctest入門 - Qiita

    最近自作Pythonライブラリでがっつりdoctestを使い始めたので記事にまとめておきます。 doctestってなに? dostring内に書くコードサンプルを実際にPythonで動かしてエラーにならないことや返却値が正しいかどうかをチェックすることができる機能です。 ※docstringについては必要に応じて以下の記事などをご確認ください。 ※Rustなどにも似たような機能がビルトインで入っています。 doctestを書くとなにが嬉しいの? docstringにコードサンプルが載っているとユーザーがエディタ上などでさくっと使い方を確認できてユーザーフレンドリーです。 一方で書いただけだとそのコードサンプルはテストやLintでチェックされるわけではありませんので正常に動作しないケースが発生し得ます。書いたときは動いていても日々のアップデートでいつの間にか動かなくなってしまうこともあるかも

    [Python]コードサンプルが正しく動くことを担保し続けるためのdoctest入門 - Qiita
    sh19910711
    sh19910711 2024/06/17
    "doctest: dostring内に書くコードサンプルを実際にPythonで動かしてエラーにならないことや返却値が正しいかどうかをチェックすることができる機能 / pytestはdoctestの機能を有している" 2022
  • Jinjaテンプレートの書き方をがっつり調べてまとめてみた。 - Qiita

    記事はQiitaの「データに関する記事を書こう!」イベント用の記事となります。 最近聞くことが多くなってきたJinjaの書き方について整理&まとめてみました。 Jinjaって何?(どんなところで使われているのか) Djangoとかを普段使っている方はお馴染みの{% for i in range(10) %}とか{{ any_variable }}みたいな書き方を任意のテキストファイルに対して反映できるテンプレートエンジンのライブラリです。初版リリースはこの記事を執筆している時点で3年弱くらい前なので比較的新しいライブラリになります。 以下に書かれているようにDjangoのテンプレートの機能がベースとなっており、Djangoに慣れている方であればほぼ学習コスト0で書けるような書き方になっています。 Djangoのテンプレートエンジンにインスパイアされているので、パッと見はDjangoのデフ

    Jinjaテンプレートの書き方をがっつり調べてまとめてみた。 - Qiita
    sh19910711
    sh19910711 2024/06/16
    "Jinja: 名前はどうやらTemplateライブラリということで日本語の神社(Jinja)の英語のtempleに由来しているそうです / withを使った変数宣言の場合、終了箇所を指定するための{% endwith %}の記述が必要" 2022
  • データエンジニアの1年のお仕事の振り返り - Qiita

    データエンジニア(?)としてのお仕事の1年の振り返りを上長から執筆の許可をいただいたので今年も記事にしておきます。今年やってみたこと・やってみて良さそうに思えたもの・考えが変わったものなど色々と雑多に触れていきます。 ※理想からはまだまだ遥かに遠く、他社さんの方が遥かに先を行っている事例も多いですがあくまで1事例としてお読みください。 ※筆者はゲーム業界に所属しているため他業界とは結構ずれているところもあるかもしれませんがご容赦ください。 ※あくまで弊社のケースをベースとしています。会社や環境・状況など様々だと思いますので1つの事例程度にお考え下さい。 弊社の場合データ基盤は横断基盤の方が良いのでは?という考えに変わってきた 去年のアドベントカレンダーで書いていた時点では「各プロジェクト横断のデータ基盤にするべきか?」「それとも疎結合にしてサイロ化させるべきか?」というのは判断が出ず迷って

    データエンジニアの1年のお仕事の振り返り - Qiita
    sh19910711
    sh19910711 2021/12/15
    "AthenaでのETL > AWSのイベントでの中の方々でも意見が割れていた / 比較的最近追加されたAthenaのUNLOAD / Athenaではスキャンサイズが圧縮後のサイズで計算されるので自動処理で並列でたくさんSQLを流しても非常に安価"
  • [Python]レビューソート問題をベイズ推論で解いてみる - Qiita

    概要 Pythonで体験するベイズ推論 PyMCによるMCMC入門の書籍を結構前に読了しましたが、しばらくPyMCを触っていないので、復習用に自習課題として動かします。 どんな書籍なのか、というのはここでは触れないので、『Pythonで体験するベイズ推論 ―PyMCによるMCMC入門―』の書評などをご確認ください。(書籍自体はとても分かりやすかった・・) ちなみに統計・確率・数学・ベイズ周りは初心者(理系出身でもない)なため、理解が浅い点はご了承ください。 誰のための記事? 書籍の原書が元々for Hackers とあるように、書籍もエンジニア・もしくは最近PyMCを触り始めた方など向けで、この記事でもほとんど数式などは扱いません。 がっつりデータサイエンスを仕事にしている方達からすると、大分物足りない記事だとは思います。 機械学習(特にディープラーニング)を先に学んでから、それを踏まえて

    [Python]レビューソート問題をベイズ推論で解いてみる - Qiita
    sh19910711
    sh19910711 2021/10/02
    "レビュー件数が増えたことで、「この商品はそれなりに高い確率で0.85付近の評価が妥当そうだ」とか、95%信用区間的に「ほぼほぼの確率で0.75~0.93辺りのレビュー評価だろう」といったことが判断できます"
  • PythonのDaskをしっかり調べてみた(大きなデータセットを快適に扱う) - Qiita

    PandasやNumPyの並列処理だったり、メモリに乗り切らないデータを扱う際などによく見かけるDaskライブラリ。 ただ、細かいところまで触れている日語の資料があまり無かったので、公式ドキュメントなどをしっかり読んでみてまとめてみました。 ※Daskのドキュメント既に読まれている方はご存知かと思いますが、ドキュメントがかなりのボリュームなのと、細かい所まで把握するのを目的とするため、記事も長めです。仕事などの都合でさくっと使われたい方には向いておりませんので、そういった場合は別の記事をご参照ください。 どんなライブラリなのか Pythonで並列処理・分散処理などを簡単に扱ってくれる。 Pythonでよく使われるライブラリとかなり近いインターフェイスを提供している(NumPy、Pandas、Scikit-Learnを中心に、他にもTensorFlow・XGBoostなども)。 必要な場

    PythonのDaskをしっかり調べてみた(大きなデータセットを快適に扱う) - Qiita
  • SVGとD3.jsの入門まとめ - Qiita

    最近勉強し始めたので、備忘録も兼ねてSVGやD3.jsなどの全体的且つ基的なところを浅く広く触れます。 SVGとは Scalable Vector Graphicsの略。普通のビットマップ画像と比べて、拡大しても荒れたりしません。 その代わりに小さい画像で凄い複雑な構造になっていると、負荷が高くなったりします。 IE9以前だとSVG自体やフィルターなどの機能が使えなかったりするので、どうしても古いブラウザまでサポートしないといけない場合は諦めて普通にビットマップ画像を利用します。 D3.jsとは SVG含めたHTML上でのビジュアライズやインタラクティブな処理・アニメーションが色々できるjsのライブラリ。 シンプルな記述で凝った表現のものが作れます。インタラクティブなグラフ(プロット)を作ったりなどに使われます。 2019年1月現在、githubのリポジトリにおけるスター数が8万を超えて

    SVGとD3.jsの入門まとめ - Qiita
  • 1