nikkie-ftnextの日記

イベントレポートや読書メモを発信

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

ソフトウェアを作りたかった私へ:作ると使うを分ける

はじめに よければポチッとお願いします! 味ついてておいしいです!nikkieです。 週末3/24(日)のOOC 2024 登壇1準備からアウトプットです。 目次 はじめに 目次 わからん殺し「APIに絡む処理を、小さめの関数としてまとめたはずなのに...」 ちょうぜつ本 第…

Mixinを継承したクラスを動的に生成する機能を提供して、Sphinx拡張開発を簡単にする 襲(sphinxcontrib-extdevhelper-kasane)をリリースしました👘

リリース報告エントリです。 sphinxcontrib-extdevhelper-kasaneが爆誕しました! 目次 目次 sphinxcontrib-extdevhelper-kasane(現在 0.2.0) kasaneに至るまで kasaneが提供するSphinx拡張開発体験 終わりに P.S. 機を同じくしてsphinx-revealjsのattakei…

ソフトウェアを作りたかった私へ:入出力と計算を分ける

はじめに 百合子ちゃん、お誕生日2日目、おめでとうございます!! nikkieです。 週末3/24(日)のOOC 2024 登壇1準備からアウトプットです。 目次 はじめに 目次 わからん殺し「小さめの関数としてまとめたはずなのに...」 増田さんのスライド「入出力と計算…

Python 春の勉強会まつり 2024

はじめに 百合子ちゃん、お誕生日おめでとうございます!! nikkieです1。 PHPコミュニティの盛り上がりを指して「月刊PHPカンファレンス」とはうまい言い回しだと思います2。 私の手に馴染む言語であるPythonの界隈も、勉強会が結構目白押しになってきたの…

Pythonのvenvの--upgrade-depsオプションは、どこから来てどこへ行くのか

はじめに ぶっ飛ばせ!! nikkieです 先日言語処理学会でPython仮想環境の話題があり、以下のツイートに多くの反響をいただきました。 情報量を増やした記事を書きます。 ただし、すぐ役に立つ部分で言うとツイートを超える情報はなく、なぜこのオプションが…

pytestのフィクスチャを共有したいときはconftest.pyを使いましょう(ゆめゆめimportしようとなされるな)

結論(『テスト駆動Python 第2版』より) 複数のテストファイルでフィクスチャを共有したい場合はconftest.pyファイルを使う必要があります。(Kindle版 p.95) 第3章でフィクスチャが詳しく解説されています 目次 結論(『テスト駆動Python 第2版』より) 目…

rouge-scoreライブラリが日本語テキストからROUGEを算出できないのはなぜ? デフォルトでは英数字以外を除く挙動でした

はじめに ちはやぶる 神代も聞かず 竜田川、nikkieです。 ライブラリrouge-scoreをそのまま使うと、日本語テキストのROUGEは算出できないことを知りました。 目次 はじめに 目次 rouge-score サンプルコード Hugging Face Spacesで触る 分かち書きされた日本…

pdfminer.sixでPDFを読み取る(extract_textにパスを渡すだけととっても簡単です!)

はじめに アクアトープ16話、やっぱりよい nikkieです。 pdfminer.sixというライブラリを素振りしました。 目次 はじめに 目次 PDFの内容を読み取りたい pdfminer.six extract_text! Dockerイメージでも試してみる 宿題:読み取れないPDFもあるみたい 終わ…

ソフトウェア開発の一側面:摩擦を減らし続ける

XP

はじめに お 姉 さ ん nikkieです 学マスに持ってかれてないで、本日の一本。 「Refactoring -- Not on the backlog!」の感想を書いたのをきっかけに気づいたことを書き散らします。 目次 はじめに 目次 前提:「Refactoring -- Not on the backlog!」感想 …

Ron Jeffries氏による「Refactoring -- Not on the backlog!」がしっくり来ました🪴

XP

はじめに 剃刀境の茂み、nikkieです。 存在を教えていただいた「Refactoring -- Not on the backlog!」の感想エントリです。 非常にしっくり来ました。茂み! 目次 はじめに 目次 Refactoring -- Not on the backlog! 思い出したもの 二つの帽子(『リファク…

Python公式ドキュメントをローカルでビルドする

はじめに venvの--upgrade-depsをよろしくね! nikkieです。 みなさん、Pythonのドキュメントを手元でビルドしたくなることってありますよね?? ということでやってみましょう! ※本記事はすぐどこかで役に立つことはない部類の一本と思われます 目次 はじ…

LLMを使って画像やPDF中のテキストを構造化。知ってる事例まとめ(2024年3月時点)

LLM

はじめに (お財布が)試される仕掛け人、nikkieです。 テキストを含んだ画像をLLMで扱い、情報を取り出す時に参考にできそうな事例をここに書き出します。 目的は知っている事例の整理です。 試行錯誤に進むうえで一度書き出します。 テキストを含む画像の…

確定申告ラプソディ2024

今年も苦しみ、消耗しました1 2025年に向けて書き残します 目次 目次 前進:マイナポータルにはログインできる 苦しみ1:システムを理解できないまま触るのを余儀なくされている 苦しみ2:理解度が低い確定申告を私が正しく進めているのか分からない 終わり…

sphinx-revealjsで作るスライドで、リンクをブラウザの別タブで開くようにする(なんとsphinx-new-tab-linkと一緒に使うだけ!🦋)

目次 目次 attakeiさんによるsphinx-revealjs sphinx-revealjs with sphinx-new-tab-link 必要な設定 reST原稿の例 終わりに P.S. コマンドアップデート版 attakeiさんによるsphinx-revealjs sphinx-revealjsは、SphinxでReveal.js製スライドを生成できるラ…

イベントレポート | TechBrew in 東京 〜技術コミュニティと共に歩むエンジニアキャリア〜 いくおさんにお会いしたく参加しました #techbrew_findy

はじめに 勇気 尊敬 公開 集中 確約 いくおさんのオマージュで登場したのは、nikkieです。 3/6(水)にFindyさん開催の「TechBrew in 東京」に参加しました(ブログライティング枠)。 そのレポートをしたためます。 目次 はじめに 目次 勉強会の概要 nikkieの…

Pythonコードのベンチマークが測れるライブラリ pyperf をお試し 〜Union型について計測〜

本日は小ネタ更新です 目次 目次 pyperfを知る pyperf - Toolkit to run Python benchmarks PEP 604のメーリングリストに見た pyperf は何をやっているのか 終わりに pyperfを知る 先日PEP 604(PythonでUnion型を|で表せる)のメーリングリストを覗きました…

PythonでOptional型の型ヒントは Optional[X] と X | None 、どちらがいいのでしょう?

今の私の結論を言うと、好みです。 Union[X, None] という3択目もありますが、好みだと思います。 はじめに ミリシタの馬場このみさん1もよろしくね、nikkieです。 表題の件について、綴っていきます。 多少のただし書きを加えていますが、要は「好みです」…

Python・Django・Sphinxの公式ドキュメントを翻訳できる設定を整えました(Transifexアカウントを作って翻訳プロジェクトに参加!)

はじめに 世界は、ひとつずつ変えることができる。1 nikkieです。 このたび、公式ドキュメントを翻訳できる設定を整えました! 目次 はじめに 目次 typoを見つけたらプルリクエストを出してます 公式ドキュメントを翻訳できるように整えました Transifexのア…

sphinx-new-tab-link 0.3.0 をリリースしました🦋 フォーマットがHTMLの任意のビルダーと(おそらく)一緒に使えます!

リリース報告エントリです。 「sphinx-new-tab-linkとはなんだろう」という方は、以下の記事をまずどうぞ! 目次 目次 sphinx-new-tab-link 0.3.0 動的にクラスを生成して、Translatorに指定する 気づいたこと システムは2度死ぬ 解き放たれたsphinx-new-tab…

懺悔:Pythonでクラスの継承を書くとき、super(self.__class__, self)は決してオススメしません(無限に再帰しちゃうよ)

はじめに オーイシおにーさん、ありがとうううううう!! vol.2おめでとおおおおおお!! nikkieです。 自作のSphinx拡張を例に、Pythonにおける継承について書いていきます。 やってはいけない事象の共有になります(俺みたいになるな!) 目次 はじめに 目…

報告された無限の再帰となるエラーを修正した sphinx-new-tab-link 0.2.3 をリリースしました

リリース報告エントリです。 「sphinx-new-tab-linkとはなんだろう」という方は、以下の記事をまずどうぞ! 目次 目次 sphinx-new-tab-link 0.2.3 詳細なissueを、いただいたのです❤️ 終わりに P.S. 今回のissue対応きっかけエントリたち sphinx-new-tab-lin…

Sphinx拡張 pydata-sphinx-theme に見る、動的に生成したTranslatorクラスの指定

はじめに 0ビットLLM見えましたね、nikkieです。 本日もSphinxネタ、めちゃ頭いいなと思った実装の紹介です。 目次 はじめに 目次 復習:Sphinx拡張でTranslatorを指定する pydata-sphinx-theme setup()関数 見事な実装 translator モジュール BootstrapHTML…

SphinxのTranslatorってなんだろう? 自作拡張の実装の理解を深める

はじめに Act-4、よかった。想いのこもったツイート見るたび泣いてます。nikkieです。 このところSphinx熱が再燃しており、本日もSphinxネタです。 目次 はじめに 目次 Sphinxの自作拡張におけるTranslator 結論:現時点の理解 Sphinxの拡張 TranslatorとBui…

Sphinx、お前、python -m sphinx なんてできたのか!

自作のSphinx拡張 sphinx-new-tab-link にいただいたissueに対応する中で知った小ネタです。 目次 目次 Read the Docsのログを見ていて ソースコードを確認 python -m sphinx sphinx-buildコマンド 終わりに Read the Docsのログを見ていて :bug: extension …

pip installとpython -m pip install、pytestとpython -m pytestは何が違う? python -mとsys.pathの秘密

はじめに Act-4、最高だった... 余韻の真っ只中のnikkieです。 表題の件について、違いを知ったので記します。 鍵を握るのはsys.pathです 目次 はじめに 目次 pytestのドキュメントより sys.pathのドキュメント 結論:pytestとpython -m pytestはここが違う…

Sphinxのテーマを素振り 〜強調した文字の色を変えてみる篇〜

はじめに エミリーちゃんのことますます すきすきになりました、nikkieです ドキュメンテーションツールSphinx1にはテーマという機能がありますが2、自作できると知り手を動かしました。 目次 はじめに 目次 Sphinxのテーマを作る 強調箇所の色を変えるテー…

ミリオンおさんぽツアー in みなとみらい ネタバレ感想(📣2/29までです。お見逃しなく!)

はじめに Day 0 最高だった... nikkieです。 アイドルマスター ミリオンライブ!10周年ライブツアー Act-4と連動して、みなとみらいコラボが展開されています! 今回はその中からミリオンおさんぽツアーのログを残します。 ※これはネタバレ感想ですので、「…

わたしの #ミリアニ 3幕応援上映道 〜色に込めし想い〜

はじめに Act-4が控えているので今日は祝日です。nikkieです。 明日明後日とみなとみらいはお祭り騒ぎです。 その1つが、ミリアニ3幕リバイバル応援上映1! 私はもう3幕が非常に好きで、毎週のように豊洲に通いました。 久しぶりの応援上映ということで、感…

nikkieと「ほげ言語」のパラドックス 〜"Pythonで考えていた"からインターフェースの理解が難しかった説〜

はじめに にゃんにゃんにゃ〜ん!nikkieです。 先日のPHPカンファレンスで「ほげ言語」のパラドックスを知りました。 自分の経験が「ほげ言語」のパラドックスと呼べるものだったんじゃないかと気づき、その思考ログを記事に残します。 目次 はじめに 目次 …

ツライ時に聞きたくなる「たとえ夢をなくしたとしても未来がなくなるわけじゃない」

今日は現実の厳しさに打ちのめされており、いつもとテイストが違います 目次 目次 ツライ そんな時に思い出す『白い砂のアクアトープ』11話 現実を生き抜け P.S. ツライ Act-4 Day-2の現地チケットが、取れませんでした。 泣いた pic.twitter.com/Q5y5A37hpe…