タグ

関連タグで絞り込む (340)

タグの絞り込みを解除

PythonとBlogに関するsuzukiMYのブックマーク (392)

  • Python: ソケットプログラミングのアーキテクチャパターン - CUBE SUGAR CONTAINER

    今回はソケットプログラミングについて。 ソケットというのは Unix 系のシステムでネットワークを扱うとしたら、ほぼ必ずといっていいほど使われているもの。 ホスト間の通信やホスト内での IPC など、ネットワークを抽象化したインターフェースになっている。 そんな幅広く使われているソケットだけど、取り扱うときには色々なアーキテクチャパターンが考えられる。 また、比較的低レイヤーな部分なので、効率的に扱うためにはシステムコールなどの、割りと OS レベルに近い知識も必要になってくる。 ここらへんの話は、体系的に語られているドキュメントが少ないし、あっても鈍器のようなだったりする。 そこで、今回はそれらについてざっくりと見ていくことにした。 尚、今回はプログラミング言語として Python を使うけど、何もこれは特定の言語に限った話ではない。 どんな言語を使うにしても、あるいは表面上は抽象化さ

    Python: ソケットプログラミングのアーキテクチャパターン - CUBE SUGAR CONTAINER
  • 【一覧付き】初心者は意外と知らない?便利な関数たち(Python3版) -

    Photo by pycon jp 秋山です。 Python3を使って開発中&勉強中の皆さん、組み込み関数はどれくらい覚えていますか?よく使うrange, input, min, max, dict……などしか覚えていないという人も多いかもしれません。 公式ドキュメントを見ると、実に68個もの組み込み関数がありました。(※ちなみに2系→3系で、あまり使われていないものはimportが必要になったり、上位機能のあるものが下位機能と統合されたり、命名変更されたりしています。例えばxrange,rangeは統合、reduceはfunctoolsへ移動…などなど。) もちろん、あまり使う機会のなさそうな特殊な関数まで覚えておく必要はありません。が、実は案外知られていないけど、使うと結構便利なものもあるのです。 というわけで今回は、意外と知られていないけど、知っていると便利ではかどると思うPytho

    【一覧付き】初心者は意外と知らない?便利な関数たち(Python3版) -
  • ボロノイ図の概要とPythonサンプルコード - MyEnigma

    なわばりの数理モデル -ボロノイ図からの数理工学入門-posted with カエレバ杉原 厚吉 共立出版 2009-02-24 Amazonで探す楽天市場で探すYahooショッピングで探す 目次 目次 ボロノイ図とは ロボティクスにおけるボロノイ図 Pythonサンプルコード 参考資料 MyEnigma Supporters ボロノイ図とは ボロノイ図は、 ある平面内の点を、 ある特定の点群の中からどれに最も近いかによって 分割してできる図のことを指します。 (下図はボロノイ図の例) ボロノイ図 - Wikipedia 第11回 ボロノイ図の作成(前編):Blogopolisから学ぶ計算幾何|gihyo.jp … 技術評論社 ボロノイ図とは ボロノイ図を作る - Qiita ボロノイ図を作るための 特定の点群を母点といい、 ボロノイ図の境界は、 それぞれ隣接する母点の垂直二等分線で構成さ

    ボロノイ図の概要とPythonサンプルコード - MyEnigma
  • 最近の Python-dev (2017-03) : DSAS開発者の部屋

    バックナンバー: 2月号 1月号 Python 3.6.1rc1 Python 3.6.1rc1 がリリースされました。大きな問題がなければ 3.6.1 は 3/20 にリリースされる予定です。 3.6.1 は Github に移行してから初めてのリリースになります。なにか問題がないか確認するために、いつものRC版以上にソース形式・バイナリ形式両方の配布物のテストが必要なので、可能な方は協力をお願いします。 Github 移行後日談 以降から1ヶ月が経ちました。開発者からのフィードバックはおおむね好評です。私は、気軽にプルリクエストをくれた人がCLAにサインしないまま放置して大量のマージできないプルリクエストが貯まることを懸念していたのですが、今までののところそれも大丈夫そうです。 一方で Misc/NEWS といういわゆる changelog にあたるファイルが頻繁にコンフリクトを起こし

    最近の Python-dev (2017-03) : DSAS開発者の部屋
  • Python: Pykka でアクターモデルについて学ぶ - CUBE SUGAR CONTAINER

    アクターモデルというのは、並行処理のプログラミングモデルの一つだ。 並行処理という言葉からは、まずマルチスレッドとかをイメージすると思うけど、それよりも抽象度の高い概念となっている。 つまり、アクターモデルというのはマルチスレッドなどを用いて構築することになる。 どちらかといえばプロセス間通信 (IPC) の技法であって、共有メモリやロック、RPC と比較するものかもしれない。 そんなアクターモデルは、概念とか使ったときの嬉しさを理解・実感するのがなかなか難しいモデルだとも思う。 理由としては、使い始めるまでに必要なコード量が多かったり、それなりの規模のアプリケーションで使わないとメリットが分かりづらい点が挙げられる。 ただ、これはあくまで主観的なものだけど、アクターモデルをベースに組まれたアプリケーションは規模が大きくなっても並行処理をしているコードが読みやすい。 共有メモリやロックを使

    Python: Pykka でアクターモデルについて学ぶ - CUBE SUGAR CONTAINER
    suzukiMY
    suzukiMY 2017/03/14
    並行処理のプログラミングモデル
  • Python: python-fire の CLI 自動生成を試す - CUBE SUGAR CONTAINER

    今回は Google が公開した python-fire というパッケージを試してみた。 python-fire では、クラスやモジュールを渡すことで、定義されている関数やメソッドを元に CLI を自動で生成してくれる。 ただし、一つ注意すべきなのは、できあがる CLI はそこまで親切な作りではない、という点だ。 実際にユーザに提供するような CLI を実装するときは、従来通り Click のようなフレームワークを使うことになるだろう。 では python-fire はどういったときに活躍するかというと、これは開発時のテストだと思う。 実装した内容をトライアンドエラーするための CLI という用途であれば python-fire は非常に強力なパッケージだと感じた。 今回使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion:

    Python: python-fire の CLI 自動生成を試す - CUBE SUGAR CONTAINER
  • (翻訳)2017年の展望: pandas, Arrow, Feather, Parquet, Spark, Ibis - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 始めに:pandasの作者であるWes McKinneyさんがPythonのデータツール関連でとても興味深いblogを書かれているので、翻訳して日のPyDataコミュニティに公開してもいいでしょうか、とお聞きしたところ、快諾をいただきましたので少しずつ訳して公開していこうと思っています。 2017年の展望: pandas, Arrow, Feather, Parquet, Spark, Ibis (原文:http://wesmckinney.com/blog/outlook-for-2017/ ) 2016/12/27 Python

    (翻訳)2017年の展望: pandas, Arrow, Feather, Parquet, Spark, Ibis - Qiita
  • wheelのありがたさとAnacondaへの要望 - YAMAGUCHI::weblog

    はじめに こんにちは、Python界のラファエル・ナダルです。全豪オープンテニス、盛り上がりましたね。さて、先日次のようなエントリーを立て続けに書いたんですが、「なぜAnacondaに関しての記述がないのか」という突っ込みをもらったので、参照用にメモを残しておきます。 Pythonの仮想環境構築 2017.01版 - YAMAGUCHI::weblog Pythonの環境設定でむかついてる人はとりあえずこれをコピペで実行してください 2017.01 - YAMAGUCHI::weblog なおこの記事の作成にあたっては @aodag に数多くのアドバイスをいただきました。この場を借りて感謝。 TL;DR condaの開発者はPyPAともっとコミュニケーションとってほしい。 前提 この記事はPythonを触り始めたばかりだけど、パッケージ管理ツール等々のスタンダードがどのようになっているかな

    wheelのありがたさとAnacondaへの要望 - YAMAGUCHI::weblog
  • YAMAGUCHI::weblog

    こんにちは。日3月13日を最終出社としてアマゾンウェブサービスジャパン合同会社を退職しました。 ※業務連絡: 私の退職に伴ってAWSにおけるデベロッパーアドボケイトのポジションがオープンになると思います。ご興味がある方はヘッドカウントを持っている(元)上司につなぎますので、お気軽にご連絡ください。コミュニティが好きで技術が好きな人にはとても楽しいポジションだと思います! 2024年11月入社なので、1年半弱の在籍でした。転職から半年ちょっと様々なことが重なっていたため、転職直後から2025年7月くらいまでは半分くらい記憶がありません。入社直後にre:Invent 2024のためのさまざまなSlackチャンネルに入れられて、オンボーディング中でまだ会社のクレジットカードもない状況で、いきなりラスベガス行きの出張の手配をするところから始まって慌ただしかったことを覚えています。コミュニティマネ

    YAMAGUCHI::weblog
  • Pythonの仮想環境構築 2017.01版 - YAMAGUCHI::weblog

    はじめに こんにちは、Python界のテリー・ギリアムです。こんな記事を見かけて、Pythonの開発環境を作るのが面倒という認識が広まるのは良くないなあと思って書きました。ただの突っ込み記事です。 qiita.com そのツールほんとに要りますか? 出だしにこんなセクションタイトルがありました。 その仮想環境当に必要ですか? たしかに仮想環境要らないひとは要らないよねっていうのは同意です。その場合、入ってるPythonのsite-packagesにどんどんパッケージがインストールされるだけなので、手動で消せる人はそれでいいし、そもそもパッケージのバージョンとか知るかって人はそのままパッケージインストールすればいいと思います。 とはいえ、複数のプロジェクトでパッケージのバージョンがぶつかったら困る人とかいるし、そういう人は仮想環境を使うことになるでしょう。で、件の記事ではいろいろなツールを

    Pythonの仮想環境構築 2017.01版 - YAMAGUCHI::weblog
    suzukiMY
    suzukiMY 2017/01/30
    『基本的に、virtualenvが2系でデファクトスタンダードになった時期に3で標準に取り込まれたvenvがあれば事足りる。パッケージ管理ツールも現状ではpipに落ち着き、後ろで使われるパッケージングもwheelで安定した。』
  • Pythonの環境設定でむかついてる人はとりあえずこれをコピペで実行してください 2017.01 - YAMAGUCHI::weblog

    はじめに こんにちは、最近Pythonをまた書き始めたマンです。なんか古い記事が参照されててだいぶ害があるので現状にあったやつにします。 Pythonの環境設定でむかついてる人はとりあえずこれをコピペで実行してください - YAMAGUCHI::weblog 要点 これからPythonを使い始める人、という前提に立っているので今更Python2系を使い始める意味はない。*1ということでPython3系(現時点最新安定版のPython3.6.0)を使いましょう。 標準を使うのがよい(venv + pip) 自分がよく分かってないツールは使わないほうがいい Python2系を使う人は、上にリンクしてある記事にあるとおりなんですが、Python2.7を使うのであれば pip + virtualenv 一択だと思います。やり方は下にある内容と変わりません。 以下コピペ macOS Homebrew

    Pythonの環境設定でむかついてる人はとりあえずこれをコピペで実行してください 2017.01 - YAMAGUCHI::weblog
  • 初心者がPythonを覚える為の本の選び方を体系化してみた(2017版) - Lean Baseball

    【2020/1/9更新】2020年版もあります, こちらもよろしくおねがいします! 【2018/12/24追記】最新版を公開しました!「Pythonまとめ・2019年版 - Webとデータ分析を初心者が仕事にするまで - Lean Baseball」 ※2017/12/24 最新版をこちらに上げました、この内容は古いのでこちらを見ていただけると幸いです🙇‍♂️ Pythonの学び方と,読むべきを体系化しました2018〜初心者から上級者まで こんにちは.野球(とグルメ)の人です. 会社と仕事はメッチャ楽しいのですが,今日はそれと関係なくPythonの話題を久々に.*1 昨年から,「AI(えーあい)」だの「でぃーぷらーにんぐ」だの「機械学習」といったワードとともにPythonを覚えようとしている方が多いらしく, 何から学ぶべきか 何のがオススメか 簡単に覚えて僕もいっちょ前に「えーあい

    初心者がPythonを覚える為の本の選び方を体系化してみた(2017版) - Lean Baseball
  • 何かを書き留める何か

    Curriculum Vitaeと呼ぶには何かが欠けている気がするが気にしない。 各種アカウント Twitter 何だかんだ学生時代から続けている。ある意味20代の歴史である。 Mastodon 流行りだしたので作って放置していたが、一応生きている。 misskey.io にわかに流行りだしていたので作ってみた。 Bluesky 招待制ではなくなったので、とりあえず作る。 連絡方法 TwitterのDMはだれでも送信できるように設定してある。ただし、スパム扱いされた場合は通知が来ないので、気づかない可能性もある。 BlueskyのDMはだれでも送信できるように設定してある。 Mastodonmisskey.ioはほとんど見ていないため、気づかない可能性が非常に高い。 よって、TwitterまたはBlueskyでコンタクトを取り、適宜、適切な手段に移行する、となる。 翻訳 『Python

    何かを書き留める何か
  • https://www.ploggingdev.com/2017/01/multiprocessing-and-multithreading-in-python-3//

  • Pythonエンジニアが紹介する、Pythonの超便利なライブラリ・フレームワーク13個 -

    Photo by hoerner_brett 秋山です。 私は主にPythonを使って開発をしているので、今回はPythonの便利なライブラリやフレームワークを紹介していきたいと思います。 といっても割と定番のものを中心に使っているので、既にPythonをがんがん使っている人にとっては「知ってるわ!」というものも多いかと思います。「最近Python書くようになりました~」という人たちにも「これ良い!」ってものが見つかればと思います。 ちなみに前回はPython2系と3系の違いについて書いてますので、「3系に移行しよっかなー」と考えている人は合わせて見てみてください。 paiza.hatenablog.com ■Pythonの便利なライブラリやフレームワーク ◆Web開発系フレームワーク ◇Django みんな大好き有名なDjangoRubyでいうところのRailsのような……全部のせ的な

    Pythonエンジニアが紹介する、Pythonの超便利なライブラリ・フレームワーク13個 -
  • Sphinx のメンテナになって一年が経過した話 - Hack like a rolling stone

    クリスマスが過ぎてから始まる Sphinx アドベントカレンダーへようこそ (嘘) Sphinx 大型連載第二夜です。 タイトルにある通り、Sphinx のメンテナ活動をして一年が過ぎたので、その話をします。 OSS 開発者のひとつのサンプルケースとして、何かの参考になれば幸いです。 Sphinx のメンテナ活動をはじめました 去年の 12月から Sphinx のメンテナ活動をはじめました。 Python のリリースマネージャ活動が忙しかったからか原作者の Georg の活動が鈍り、 また、その後を継いだ清水川さんも忙しくて身動きが取れなくなっていたことから、 コミット権をもらっていたことだし、パートタイムで手伝うかと思ったことがきっかけでした。 以前からコミット権は持っていたものの、一切メンテナとしての活動をしていなかったので、 徐々にチケットが溜まっていく様子に後ろめたくなったのかもし

    Sphinx のメンテナになって一年が経過した話 - Hack like a rolling stone
  • Python 3.6の概要 (その3 - async関連) - atsuoishimoto's diary

    非同期ジェネレータ 現在のPythonでは、ジェネレータを使って、とてもお手軽にイテレータを作成できる。例えば、奇数列を生成するジェネレータは、次のように書ける。 def odds(): i = 1 while True: yield i i += 2 しかし、ジェネレータが存在しなかった頃のPythonでは、わざわざ__iter__メソッドなどの特殊メソッドを実装したクラスを定義し、 class Odds: def __init__(self): self._cur = 1 def __iter__(self): return self def next(self): ret = self._cur self._cur += 2 return ret などと書かなければならなかった。 Python3.5で導入された コルーチン は、イテレータと同様な概念として 非同期イテレータ をサポー

    Python 3.6の概要 (その3 - async関連) - atsuoishimoto's diary
  • Python 3.6の概要 (その4 - クラス定義) - atsuoishimoto's diary

    クラス定義のカスタマイズ これまで、Pythonのクラス定義をカスタマイズする手段として、メタクラスが使われてきた。しかし、メタクラスを利用したカスタマイズは、Pythonのオブジェクトモデルや型システムの知識が必要で実装が難しく、また複数のメタクラスを同時に使用するのが難しい、などの問題点があった。そこで、PEP 487 -- Simpler customisation of class creation では、メタクラスを使わずにクラスをカスタマイズする手段を提供している init_subclass() メソッド クラスのサブクラスが作成されたときに呼び出され、引数として、派生クラスと、クラス定義の引数が渡される。__init_subclass__()メソッドは、自動的にクラスメソッドとなる。 class Spam: def __init_subclass__(cls, **kwarg

    Python 3.6の概要 (その4 - クラス定義) - atsuoishimoto's diary
  • Python 3.6の概要 (その5 - ファイルシステムパス プロトコル) - atsuoishimoto's diary

    ファイルシステムパス プロトコル pathlib はPython3.4で導入されたが、pathlibで表現されるファイルパスは、 open() やos.path.* などの、既存のファイル操作関連関数では使用できないため、あまり便利には使えていなかった。 Python3.6からは、pathlib.Path などのファイルパスをあらわすオブジェクトに特殊メソッド __fspath__() が実装された。ファイル名を引数として受け取る、open() などの関数は、__fspath__()を呼び出して、ファイルパスを取得するように変更された。 >>> import pathlib >>> spam = pathlib.Path('./spam') >>> spam.__fspath__() 'spam' >>> open(spam, 'w') <_io.TextIOWrapper name='s

    Python 3.6の概要 (その5 - ファイルシステムパス プロトコル) - atsuoishimoto's diary
  • Python 3.6の概要 (その1 - f文字列) - atsuoishimoto's diary

    f文字列 これまで、Pythonで文字列に変数を埋め込む方式にはいくつかあったが、ついに式を文字列中に直接記述できるようになった。 (PEP 498 -- Literal String Interpolation) 式を埋め込んだ文字列はf文字列(formatted string:フォーマット済み文字列)と呼ばれ、raw文字列の r と同じように、先頭に f を指定する f文字列は通常の文字列と同じようも使えるが、文字列内の {} で囲まれた部分は、Pythonの式として評価し、その結果を文字列として出力する。 >>> f'hello' # 式を含まないf文字列 'hello' >>> f'100+1={100+1}' # 式を評価 '100+1=101' >>> order={'spam':100, 'ham':200} >>> f'spam: {order["spam"]}, ham:

    Python 3.6の概要 (その1 - f文字列) - atsuoishimoto's diary