Home Blog Best Practices for Working with Configuration in Python Applications Most computer applications can be configured to behave a certain way, be it via command line flags, environment variables, or configuration files. For you as a software developer, dealing with configuration comes with challenges such as parsing untrusted input, validating it, and accessing it on all layers of your progr
__origin__ という属性がどこからやってきたのを調べていたところ、 PEP 585 -- Type Hinting Generics In Standard Collections という PEP を見つけたので、本来の目的を忘れて流し読みしてました。まだ Draft ステータスですので、今後採用されるかどうかはわかりませんが、自分の理解をメモに残しておきます。 概要 これまでの型アノテーションでは、コレクションを表現するのに専用の型を使っていた (typing.List や typing.Dict など) コレクションの実装クラスと型クラスを統合し、標準のコレクションクラス(list や dict など)で型アノテーションできるようにしよう いずれ typing 配下のジェネリックコレクション型は廃止したい 用語 Generic パラメータ化可能な型。一般的にはコンテナを指す。
Python 3.3 から __init__.py を省略して良いと思っている人が多いですが、 省略しないでください。 なぜ勘違いが起こったのか Python 3.3 から、 PEP 420 で Implicit namespace package が追加されました。 Namespace package とは普通の package ではありません。 特殊な用途のもので、ほとんどの人にとっては 知る必要すらない ものです。 どうしても知りたければ、上の PEP 420 と packaging guide を読んでください。 __init__.py を省略する弊害 普通の package で Implicit namespace package を乱用すると弊害があります。 import が遅くなる 通常の package とは違うので import が package 内のモジュールを探すの
Python & OpenGL for Scientific Visualization Copyright (c) 2018 - Nicolas P. Rougier <Nicolas.Rougier@inria.fr> Python and OpenGL have a long but complicated story. It used to be really easy to program something using the fixed-pipeline and libraries such as Pyglet but things have became more difficult with the introduction of the dynamic graphic pipeline in 2004. The goal of this book is to recon
Pipenv is a Python packaging tool that does one thing reasonably well — application dependency management. However, it is also plagued by issues, limitations and a break-neck development process. In the past, Pipenv’s promotional material was highly misleading as to its purpose and backers. In this post, I will explore the problems with Pipenv. Was it really recommended by Python.org? Can everyone
セキュリティ本部セキュリティ情報統括室。IIJグループの緊急対応チームIIJ-SECTメンバーとして、FIRST、日本セキュリティオペレーション事業者協議会(ISOG-J)、日本シーサート協議会(NCA)などの活動や運営に参加。ヘヴィメタルと猫をこよなく愛し、時間を見つけてローカルなグルメを堪能しながらマイナースポットを訪ね歩く。最近は競技麻雀やMリーグ観戦にハマっている。 【IIJ 2018 TECHアドベントカレンダー 12/10(月)の記事です】 こんにちは。ももいです。 先日、共著で書いたblog記事「素人がトピックモデルを試してみた(第1回)」で紹介したようなこともやっていたのですが、今回はその周辺調査をしている時に見つけた便利なライブラリを紹介します。 “男木島の神社にいた猫(写真と本文は関係ありません)” Newspaper3kは、Webにある記事をスクレイピングするためのラ
Motivation Do you have data in collections of files, where information is encoded both in the contents and the file/directory names? Perhaps something li… Motivation Do you have data in collections of files, where information is encoded both in the contents and the file/directory names? Perhaps something li…
Python のメモリダンプから WinDbg でコールスタックを確認する方法を紹介します。 準備 Python 用の WinDbg のデバッガーエクステンションを https://github.com/SeanCline/PyExt/releases よりダウンロードしておきます。 ダウンロードした Zip ファイルを展開し、デバッガーエクステンション pyext.dll があることを確認します。 Python のメモリダンプから WinDbg でコールスタックを確認 1. タスクマネージャーを起動します。 2. python.exe を右クリックし「ダンプファイルの作成」をクリックします。 3. ダンプファイルが作成されます。 4. WinDbg を起動します。 5. 上記 3 で作成したダンプファイルを WinDbg で開きます。 6. lmvm コマンドを利用して、python の
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Powered by DLHacks はじめまして、マンボウです。普段は信号処理や画像解析をやっています。 唐突ですが、PythonからピンポイントにCUDAの機能を利用できるCuPyのElementwiseKernelを紹介します。 CUDAと言っても恐れることはなく、「C++の記法をなんとなく理解している」レベルの人でも簡単に利用できます。 はじめに Pythonは書きやすく読みやすいので私は好きです。 しかし、膨大な信号や大量の画像をPythonで扱っていると、どうしても速度が気になりだします。 かといって、全てをC++やCUDA
メリットとしては、再現性、透明性、高速アクセスなどが挙げられています。 個人的には、設計がシンプルで、後で説明するインストールや使用法が非常に簡単である点だと思っています。 https://github.com/quiltdata/quilt ・Reproducibility - Imagine source code without versions. Ouch. Why live with un-versioned data? Versioned data makes analysis reproducible by creating unambiguous references to potentially complex data dependencies. ・Collaboration and transparency - Data likes to be shared. Qui
機械学習が盛り上がる中ではありますが、ルールベースでできることも色々あるのではということで、Pythonのルールベースエンジンの『durable_rules』というのを使ってみたので紹介しておきます。 durable_rules ルールエンジンも色々と実装がありますが、Pythonで使えて最近も開発されてそうなのを探すとヒットしたのがこれです。 日本語情報全然ないので知名度はないかも。。 RedisConf17で発表されているようです。 参考: https://www.slideshare.net/RedisLabs/redisconf17-durablerules Reteアルゴリズムが実装されているとか。 Pythonだけじゃなく、node.js、Rubyでの実装もあるので、用途に応じて活用できそうです。 導入 pipでパッケージ導入 durable_rules自体の導入はかんたん。
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 完全に趣味ですね。 実は5年くらい前に作っていたんですが、眠らせておくのももったいないので(誰得感はありますが)、何となく紹介してみます。 問題設定 日本の鉄道駅名1を読みがなでしりとりします。 なぜ駅名かというと、メンテナンスされている単語リストがあるからということが理由の一つです。 その他、単語数が手頃だとか、身近な存在(多くの人がいくつかは知っているはず)だとか、いろいろありますが、結局は個人の趣味という点に帰着するかもしれません。 ルール 今回は以下のルールでやってみます。 原則として同じ駅名を2回以上使ってはいけない。 しりと
gensimは前に以下の記事でも使ったPython用のトピックモデルなどの機能があるライブラリです。 小説家になろうのランキングをトピックモデルで解析(gensim) - 唯物是真 @Scaled_Wurm 以前紹介した以下の論文でもgensimが使われていました 論文紹介 “Representing Topics Using Images” (NAACL 2013) - 唯物是真 @Scaled_Wurm deep learningで話題になったword2vecの機能も取り入れてたりして面白いライブラリです Radim Řehůřek : Deep learning with word2vec and gensim 入力の作り方がすこしわかりにくいかなぁと思ったので、メモっておきます。 コーパスの作り方 以下の公式の例で説明します この例ではリスト内のそれぞれの要素が1つの文書となります
はじめに この文書は、 Steven Bird, Ewan Klein, Edward Loper 著 萩原 正人、中山 敬広、水野 貴明 訳 『入門 自然言語処理』 O'Reilly Japan, 2010. の第12章「Python による日本語自然言語処理」を、原書 Natural Language Processing with Python と同じ Creative Commons Attribution Noncommercial No Derivative Works 3.0 US License の下で公開するものです。 原書では主に英語を対象とした自然言語処理を取り扱っています。内容や考え方の多くは言語に依存しないものではありますが、単語の分かち書きをしない点や統語構造等の違いから、日本語を対象とする場合、いくつか気をつけなければいけない点があります。日本語を扱う場合にも
Pythonのメソッドにデコレータをつけるだけで、その処理が終わったらSlackやメールや画面のポップアップで通知してくれるツールを作りました。 github.com 正直そんなに大したツールではないんだけど、 こういう時間のかかる試行錯誤をサポートしてくれるツールを便利だと思ってくれる人が他にもいたらうれしいな、と思うのでブログに書いてみます! 作った背景とコンセプト わたしは普段、機械学習や、大量データに対するデータ処理や分析をやっています。 いつも時間がかかるスクリプトを回しながら他の仕事をして、定期的にスクリプトが終わったか確認するということをしていたのですが、 これが面倒なので、処理が終わったら通知してくれると便利だなと思ったのが作るきっかけです。 ちなみに、kerasやtensorflow、chainerなどを使う場合だと、以下のツールがあります。 Hyperdash | Ma
著者 著者IDはシーケンス値、姓・名はデータプロバイダから取得します。 # ... (前略) import typing import mimesis def next_author(data_locale: str) -> typing.Iterator[Author]: personal = mimesis.Personal(data_locale) author_id = 0 while True: author_id += 1 author = Author(author_id) author.first_name = personal.name() author.last_name = personal.surname() yield author 引数の data_locale は生成するデータの言語指定です。 日本語データの場合は 'ja' を、英語データの場合は 'en'
pip install scrapy cat > myspider.py <<EOF import scrapy class BlogSpider(scrapy.Spider): name = 'blogspider' start_urls = ['https://www.zyte.com/blog/'] def parse(self, response): for title in response.css('.oxy-post-title'): yield {'title': title.css('::text').get()} for next_page in response.css('a.next'): yield response.follow(next_page, self.parse)EOF scrapy runspider myspider.py
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く