並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 749件

新着順 人気順

pepの検索結果1 - 40 件 / 749件

  • アプリケーションにおける権限設計の課題 - kenfdev’s blog

    日々権限設計で頭を抱えてます。この苦悩が終わることは無いと思ってますが、新しい課題にぶつかっていくうちに最初のころの課題を忘れていきそうなので、現時点での自分の中でぐちゃぐちゃになっている情報をまとめようと思い、記事にしました。 所々で「メリット」「デメリット」に関連する情報がありますが、そのときそのときには色々と感じることがあっても、いざ記事にまとめるときに思い出せないものが多々ありました。フィードバックや自分の経験を思い出しながら随時更新する予定です。 TL;DR(長すぎて読みたくない) 想定する読者や前提知識 この記事での権限とは 権限の種類 ACL(Access Control List) RBAC(Role-Based Access Control) ABAC(Attribute-Based Access Control) どの権限モデルを採用するべきか 権限を適用する場面 機能

      アプリケーションにおける権限設計の課題 - kenfdev’s blog
    • データ分析のためのSQLを書けるようになるために

      はじめに 本稿では分析用クエリをスラスラ書けるようになるまでの勉強方法や書き方のコツをまとめてみました。具体的には、自分がクエリを書けるようになるまでに利用した教材と、普段クエリを書く際に意識していることを言語化しています。 想定読者として、SQLをガンガン書く予定の新卒のデータアナリスト/データサイエンティストを想定しています。 勉強方法 基礎の基礎をサッと座学で勉強してから、実践教材で実際にクエリを書くのが望ましいです。 実務で使える分析クエリを書けるようになるためには、実務経験を積むのが一番良いですが、だからといって座学を御座なりにして良いというわけではありません。SQLに自信がない人は、一度基礎に立ち返って文法の理解度を確認した方が良いと思います。 書籍 SQL 第2版: ゼロからはじめるデータベース操作 前提として、SQLに関する書籍の多くがデータベース運用/構築に関する書籍がほ

        データ分析のためのSQLを書けるようになるために
      • pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator

        - はじめに - Pythonのパッケージ管理ツールは、長らく乱世にあると言える。 特にpip、pipenv、poetryというツールの登場シーン前後では、多くの変革がもたらされた。 本記事は、Pythonパッケージ管理ツールであるpip、pipenv、poetryの3つに着目し、それぞれのツールに対してフラットな背景、技術的な説明を示しながら、所属企業内にてpoetry移行大臣として1年活動した上での経験、移行の意図について綴り、今後のPythonパッケージ管理の展望について妄想するものである。 注意:本記事はPythonパッケージ管理のベストプラクティスを主張する記事ではありません。背景を理解し自らの開発環境や状態に応じて適切に技術選定できるソフトウェアエンジニアこそ良いソフトウェアエンジニアであると筆者は考えています。 重要なポイントのみ把握したい場合は、各章の最後のまとめを読んで頂

          pipとpipenvとpoetryの技術的・歴史的背景とその展望 - Stimulator
        • 【Python】良い書き方と悪い書き方を知って中級者を目指す🐍 - Qiita

          Pythonでコードを書くときのGood/Badプラクティス こちらの記事は、DuomlyによりDev.to上で公開された『 Good and Bad Practices of Coding in Python 』の邦訳版です(原著者から許可を得た上での公開です) 元記事:Good and Bad Practices of Coding in Python ※ 記事の内容に注意すべき点と誤りがあるので、詳しくは注釈まで目を通すことをおすすめします。 (以下、翻訳した本文) この記事は元々 https://www.blog.duomly.com/good-and-bad-practices-of-coding-in-python/ に公開されたものです。 Pythonは可読性を重視した高水準のマルチパラダイムプログラミング言語です。Pythonは、「Pythonの禅」、別名ではPEP 20と

            【Python】良い書き方と悪い書き方を知って中級者を目指す🐍 - Qiita
          • 主にVSCodeではじめるPython開発環境構築ガイド | DevelopersIO

            ファイル比較 VSCodeのエクスプローラで、ファイル2つを選択して右クリックメニューから「選択項目を比較」で比較することができます。 また右クリックで、「比較対象の選択」をした後に「選択項目を比較」でも比較することも可能です。 VSCodeのSnippetの使い方 VSCodeのSnippetも便利です。似たような構造のクラスを実装する場合などや、プロジェクト共通で使いがちな書き方というものをSnippetに登録して、効率化することができます。 また、変数を持たせておくこともできます。この場合、Snippetを呼び出した後に変数部分にカーソルがあたるので、そこで変数部分をタイピングできます。 詳細は以下のリンクをご覧ください。 Visual Studio Codeに定型文(スニペット)を登録する方法 VSCodeのUser Snippetを活用しよう! また後述するSnippet Gen

              主にVSCodeではじめるPython開発環境構築ガイド | DevelopersIO
            • 2020年5月におけるPython開発環境の選択肢 - Qiita

              はじめに インストールすればすぐに書けて動かせるのが魅力のPythonですが、 実際に業務などでキチンと書こうと思ったら Pythonのバージョン管理ツール パッケージマネージャー エディター(IDE) リンター フォーマッター 型チェッカー くらいは最低限用意する必要があります。 しかしこの界隈、怒涛の勢いで日々新しいものがリリースされていて一概に「これがベストプラクティス」を提示するのが難しいんですよね。そこで今回は上記それぞれのツールについて「こんなものがあるよ」というのをご紹介したいと思います。 TLDR バージョン/パッケージ管理はpyenv + Pipenvがスタンダードだった時代は終わった VS CodeかVimを使うなら型解析にPyrightを導入するとよい テンプレートを用意しました 1. バージョン/パッケージマネージャー プロジェクトごとに異なるPythonのバージョ

                2020年5月におけるPython開発環境の選択肢 - Qiita
              • 【2021】モダンなPython開発環境の紹介 - Qiita

                📌 はじめに Pythonで開発を行うにあたり、リンタやフォーマッタ、パッケージマネージャ等のツールの選定は非常に重要な問題です。一方で歴史的な経緯もあり、沢山の選択肢から何を選ぶべきか情報がまとまっていないように感じました。この記事では2021年9月時点でモダンと言えるであろう開発環境を紹介します。基本的にはシェアが高いこと、著名なパッケージで使用されていることを主な選定理由としており、また特定のエディタに依存しないことを前提とします。 本記事で紹介する内容は一つのテンプレートに近く、必要に応じてカスタマイズするもよし、そのまま使ってもよし、として参考になればと思います。(CI/CDについてはPythonとは独立した問題なので触れません。またドキュメント生成はSphinxを推しますが、必須ではないので今回は割愛します。) 📄 要約 "モダン"な開発環境を箇条で列挙すると下記の通りです

                  【2021】モダンなPython開発環境の紹介 - Qiita
                • 2020 年の Python パッケージ管理ベストプラクティス - Qiita

                  この記事は Python Advent Calendar 2019 の 19 日目の記事です。 🐍 あらすじ Python のパッケージ管理。特にここ数年で新しいツールが多く出たこともあり、一体何を使うべきなのか、少し調べただけでは分からないと思います。本記事では、新しめの管理ツールを独断と偏見で比較します。著者は Poetry 信者なのでバイアスが掛かっているので悪しからず。 本記事で書いていること Pipenv、Poetry、Pyflow の違いと使い方 本記事で書いていないこと Pyenv、Venv、Virtualenv などの既存ツールの説明 著者の環境は以下の通り。 Ubuntu 18.04 Python 3.8.0 Pipenv 2018.11.26 Poetry 1.0.0 Pyflow 0.2.1 特に Poetry と Pyflow は開発途中なので、本記事の内容と違う

                    2020 年の Python パッケージ管理ベストプラクティス - Qiita
                  • pythonは_(アンダースコア)の使い方を理解するだけでプロフェッショナルになれる - Qiita

                    1. 第3次AIブームの到来 米Google DeepMindが開発した人工知能(AI)の囲碁プログラム「AlphaGo」が世界トップレベルの実力を持つ韓国のプロ棋士、李世ドル(イ・セドル)九段に4勝1敗と大きく勝ち越したことが着火剤となり、2015年より第3次AIブームへと突入した。(ちなみにAIが誕生したのは1950~1960年代で第1次AIブームの到来) 1.1 余談になるがAlphaGo(4億円の知能)はなぜすごいのか? AlphaGoがそれ以前のチェスや将棋のAIと異なるのは、 畳み込みニューラルネットワーク(CNN) を応用している点だ。このCNNはさらに強化学習を行い、自分自身と対局を数千万回も繰り返した。 間違っていたらすみません、、、、 1.2 ChatGPTによる生成AIのブーム ChatGPTに代表されるLLMは以前から開発競争が繰り広げられていた。 GPT1は201

                      pythonは_(アンダースコア)の使い方を理解するだけでプロフェッショナルになれる - Qiita
                    • 【レポート】AWS における安全な Web アプリケーションの作り方 #AWS-55 #AWSSummit | DevelopersIO

                      この記事では、5月12日に行われた AWS Summit Online 2021 のオンラインセッション『AWS における安全な Web アプリケーションの作り方(AWS-55)』の模様をレポートします。 セッション概要 情報処理推進機構(IPA) の公開している「安全なウェブサイトの作り方」をはじめとしたセキュリティを考慮した安全なウェブアプリケーションの設計ガイドラインがいくつか知られています。本セッションでは、アプリケーション開発者向けにガイドラインに則ったアプリケーションを AWS 上でどのように実装するのかを AWS プラットフォームレイヤーとアプリケーションレイヤーのそれぞれの観点から項目ごとに解説し、アプリケーション導入前、または導入後のセキュリティ対策の指標となることを目指します。 登壇者 アマゾン ウェブ サービス ジャパン株式会社 技術統括本部 ソリューションアーキテク

                        【レポート】AWS における安全な Web アプリケーションの作り方 #AWS-55 #AWSSummit | DevelopersIO
                      • (翻訳) GitLab 社で働くのはどのようなものだったか - forest book

                        本稿は Yorick Peterse 氏によって書かれた次の記事の日本語翻訳です。著者に翻訳の許可を得て公開しています。 yorickpeterse.com また本稿は DeepL Pro を使って下訳したものに手を加えています。日本語翻訳の不具合または誤訳については Yorick Peterse 氏ではなく、本稿のコメント欄にお願いします。 ここから本文です。 GitLab 社で働くのはどのようなものだったか 私は2015年10月に GitLab 社に入社し、6年あまり働いて2021年12月に退社しました。 前に GitLab 社を辞めて Inko に取り組んでいることは書きましたが、2015年から2021年までの間、GitLab 社で働いていたことがどのようなものであったのかについては触れませんでした。理由は2つあります。 燃え尽き症候群に苦しんでいて、(当時は) 自分の人生の最後の6

                          (翻訳) GitLab 社で働くのはどのようなものだったか - forest book
                        • Python 3.15からデフォルトのエンコーディングがUTF-8になります - methaneのブログ

                          Pythonがファイルを開くときなどに使われるエンコーディングはロケール(WindowsではANSIコードページ)依存でした。 Unixの世界ではどんどんUTF-8ロケールが一般的になっている一方、WindowsのANSIコードページはなかなかUTF-8になりません。 そのために、Unixユーザーが open(filepath) のようにエンコーディングを指定しないままUTF-8を仮定するコードを気軽に書いてしまって、Windowsユーザーがエラーで困るといった問題が発生します。 また、Windowsでもメモ帳(Notepad.exe)やVSCodeはすでにUTF-8をデフォルトのエンコーディングで使用しています。ANSIコードページがUTF-8になるのを待っていたらどんどん周りの環境から置いていかれ、レガシー化してしまいます。 Pythonがデフォルトで利用するエンコーディングをWind

                            Python 3.15からデフォルトのエンコーディングがUTF-8になります - methaneのブログ
                          • 【読書】『独学プログラマー』の心得 - Qiita

                            優れたプログラマーは、金銭的な報酬や人々から賞賛を浴びる目的でコードを書くのではない。単純にプログラミングを楽しむためにコードを書くんだ。 リーナス・トーバルズ(Linuxカーネル開発者) コーリー・アルソフ氏の『独学プログラマー Python言語の基本から仕事のやり方まで』(清水川貴之氏、新木雅也氏による邦訳は2018年発行)を読んだので、本のタイトルの通り独学でプログラマーを目指している方や、新人エンジニアの方に一読をお薦めできると感じたので紹介します。 かく言う私もソフトウェアエンジニアリングを独学し、肩書きとしてエンジニアの職を得て2年目の身。 『独学プログラマー』を読んで初心に返り、至らぬ点を内省できました。 (エンジニアとして就業できてからも独学は続くので、経験を重ねてからでもこの本を読む価値はあると思います!) 本書の対象となる方 プロのプログラマーになる際に必要な知識や技術

                              【読書】『独学プログラマー』の心得 - Qiita
                            • 2022年秋版 最新React/Typescript開発環境の作成 - Qiita

                              vite4がリリースされましたが、プロジェクト作成時に「vite@latest」を指定しているため問題ありません。 vite4は、以下を参照してください。 https://vitejs.dev/blog/announcing-vite4.html はじめに Reactの開発環境は、CRA(Create React APP)がよく使われますが、CRAは沢山のモジュールの整合性の確認などのため、アップデートがリリースされるまでの間隔が結構あります。 また、使われているモジュールをアップデートするとエラーに悩まされたりします。 ゼロからReactの開発環境を作成していたのですが、いろいろとトライを繰り返すうちに以下の方法に落ち着きました。 比較的短時間で環境が作成できますし、全て最新のモジュールが使えます。 Vite nodejsを用いたJavaSriptプロジェクトは、、Webpackなどでプ

                                2022年秋版 最新React/Typescript開発環境の作成 - Qiita
                              • Pythonでの開発・CI/CDの私的ベストプラクティス2022

                                はじめに 2021年、Pythonで複数の暗号系ライブラリを開発してPyPIで公開してきました。その過程で、setuptools、flit、poetryと、幾つかのパッケージ管理をわたり歩き、GitHub上でのCI/CDも色々試す中で私的なべスプラが定まってきたので、2022年初に備忘録としてまとめておきます。 具体的には、pyenv、poetry、pre-commit、tox、GitHub Actions を活用し、低コストで(=なるべく自動で)、高品質のプロダクトをPyPIにデプロイする方法・設定を共有します。個別のツールの記事はよく目にするのですが、開発ライフサイクル全体をカバーする記事がなかなか無かったので。 開発環境の整備 - pyenvで複数のPythonバージョンでの開発環境を整備 パッケージ管理 - poetry/pyproject.tomlでの一元的なパッケージ管理 静的

                                  Pythonでの開発・CI/CDの私的ベストプラクティス2022
                                • 開発やデバッグが捗るPythonライブラリ6選 - Qiita

                                  目次 概要 動作環境 紹介するPythonライブラリ flake8 pyformat isort mypy bpython ipdb 最後に 概要 仕事でよくつかうパッケージからプライベートで開発するときに、必ずインストールしているパッケージをまとめて紹介してみた。 データサイエンス系の人はJupyterを使うと思うのでWeb開発向きだと思います。 DjangoなどWebフレームワークを使うときは便利な専用のパッケージもありますが本記事には記載してないです。 パッケージ管理はPipenvやpoetryなど有名なものがあるがこの記事では書いてないです。 動作環境 筆者の動作環境。 環境に依存したパッケージはないはずだが念の為。 MacOS Python 3.8.0 anyenv 1.1.1 pyenv 1.2.15-1-g49bf5952 紹介するPythonパッケージ flake8 プロジ

                                    開発やデバッグが捗るPythonライブラリ6選 - Qiita
                                  • pythonのアンダーバーこれなんやねん - Qiita

                                    ってなんでアンダーバーいるねん。みたいな。 今回はそういうお話です。 今回も悩んで調べてる間に神記事見つけたのでそれをもとに肉付けしたり噛み砕いたりしてまとめようと思います。 悩み解決してくれた神記事はこちら 「Pythonic色々」 Pythonのアンダースコア( _ )を使いこなそう! return値を無視するための _ まさに最初に例に挙げたこれがそれにあたります。これがそれ... これは.shapeの三番目のreturn値を無視するよーのアンダーバー 引用元が過不足説明してくださっているので引用 曰く Pythonはライブラリが沢山あって、関数をインポートして使う事が多いです。そういう時、もし関数からのreturn値が複数あって使わない部分があったらアンダースコアを使ってreturn値のメモリの占用をしないまま廃棄ができます これで無駄なメモリを使わずにプログラムが組めるというわけ

                                      pythonのアンダーバーこれなんやねん - Qiita
                                    • 「致死率ほぼ100%」、米国が忘れかけていた「最悪の感染症」症例が過去10年で最多に(ニューズウィーク日本版) - Yahoo!ニュース

                                      <19年、20年と0人だったアメリカにおける狂犬病の症例が、21年には5人に急増。CDCはリスクを認識し直すことの重要性を訴える> 昨年、アメリカでコウモリを介した狂犬病の感染例が次々と報告された。9月28日~11月10日の6週間には、3人が死亡したと米疾病対策センター(CDC)が報告している。3人はアイダホ州、イリノイ州、テキサス州の子供1人と大人2人。すべて男性だった。 【動画】狂犬病患者の様子を捉えた記録映像 彼らは全員が発症の3~7週間前となる8月にコウモリと直接接触していたことが分かっており、発症から2~3週間以内に死亡した。CDCの報告書によれば、2件は「回避可能な(ウイルスへの)暴露」であり、うち1件については素手でコウモリを拾い上げていたという。 また3人とも、ウイルスに感染した可能性がある後に接種することで狂犬病の発症を防ぐことができる「暴露後予防(PEP)」を受けていな

                                        「致死率ほぼ100%」、米国が忘れかけていた「最悪の感染症」症例が過去10年で最多に(ニューズウィーク日本版) - Yahoo!ニュース
                                      • Software Design連載 2022年2月号 大規模Webアプリケーションの開発環境をモダナイズする - MonotaRO Tech Blog

                                        こんにちは。モノタロウの八木(t_yagi)です。 モノタロウのECシステムは創業から20年以上ずっと動き続けており、絶え間なくビジネスを支え続けています。 その間、周囲のIT技術も大きく進歩してきました。 そんな中、開発者が増えたり機能も拡張され続けた結果、当初はさほど問題にならなかった開発に関する課題が浮き彫りになってきました。 今回はそんなレガシーな開発環境にモダンなIT技術を取り入れることで「当時は出来なかったことを現代の技術で実現する」を書きました。 流行りのモダンな技術がイケイケだから乗り変えるといったような輝かしいものではなく、長年積まれ続けてきた課題が現代の技術だから解決できたという時代の恩恵にうまく乗れるかを率直に記事にしています。 どうするとデメリットを抑えながらメリットを得ることができるか読んでいただける人に少しでも感じ取っていただければ嬉しいです。 サーバアプリの開

                                          Software Design連載 2022年2月号 大規模Webアプリケーションの開発環境をモダナイズする - MonotaRO Tech Blog
                                        • PythonとType Hintsで書くバックエンド | メルカリエンジニアリング

                                          こんにちは、AIチーム所属の@shidoです。CRE (Customer Reliability Engineering) 領域でMLを扱っています。 みなさんはPythonで本番コードを書くことについてどうお考えでしょうか。「研究/分析以外には使いたくない」「遅い」「動的型付け言語を本番用に使いたくない」といった声が聞こえてきそうです。 しかしながら機械学習サービス(または機械学習サービスのためのサービスなど)を作りたい場合、「学習に利用したPython用のライブラリを使用したい」「Pythonでやっていた分析と同じことを本番環境内でもやりたい」など、Pythonでバックエンドを実装したくなることがあると思います。 この記事ではtype hintsを付けながらPythonを書くことで、GoやJavaのようなサーバーサイドでよく使われる言語と可読性や保守性、場合によっては型安全性も同じレベ

                                            PythonとType Hintsで書くバックエンド | メルカリエンジニアリング
                                          • Python 3.9の新機能 - python.jp

                                            Python 3.9 のリリース予定日である2020年10月05日が間近に迫ってきました。 https://docs.python.org/3.9/whatsnew/3.9.html から、Python3.9の主要な新機能を紹介します。 辞書のマージ演算子¶2つの辞書オブジェクトを| 演算子で併合して、 一つの新しい辞書オブジェクトを作成できるようになりました。 PEP 584 -- Add Union Operators To dict 2つの辞書オブジェクトの和から、新しい辞書オブジェクトを作成します。

                                              Python 3.9の新機能 - python.jp
                                            • Python開発者のためのセキュアコーディングのコツ10個 - Qiita

                                              本記事は2021年9月27日に公開したPython security best practices cheat sheetを日本語化した内容です。 2019年、Snykは最初のPythonチートシートをリリースしました。それ以来、Pythonのセキュリティの多くの側面が変化しています。開発者向けセキュリティ企業として学んだこと、そしてPython特有のベストプラクティスに基づいて、Pythonのコードを安全に保つために、この最新のチートシートをまとめました。 【チートシート】2021年版Pythonセキュリティベストプラクティス 本記事では、下記に関するPythonのセキュリティに関するヒントを紹介します。 外部データを常にサニタイズする コードをスキャンする パッケージのダウンロードに注意 依存先パッケージのライセンスを確認する システム標準版のPythonを使用しない Pythonの仮

                                                Python開発者のためのセキュアコーディングのコツ10個 - Qiita
                                              • Pythonのパッケージングと配布の全体像

                                                EDIT: このブログと似た内容の話をPyCon APAC2023にてお話ししました。 こちらの登壇資料も合わせてご覧いただけると幸いです こんにちはWantedlyの樋口です。 Pythonのパッケージングと配布は歴史が長く、多くのツール(ex. conda, pip, pipenv, poetry, rye...)が開発されてきました。これらの多様性はPythonが多くの人に使われ、継続的に改善されたゆえの賜物ですが、同時にこれらの理解を難しくしている要因にもなっていると感じます。 そこで本記事では、Pythonのパッケージングと配布の全体像を紹介します。パッケージングと配布が何か、なぜ重要なのか、そしてそれぞれのツールが何を解決しようとしているのかについて説明します。以下のような疑問を解決できることを想定しています。 パッケージングと配布の仕組みがなぜあるのか 多数あるツールが何を解

                                                  Pythonのパッケージングと配布の全体像
                                                • なぜ日本のマスコミは「マスゴミ」と呼ばれるようになったのか 「調査報道」が注目される本当の理由

                                                  「権力監視」を超えた役割 ——今回、澤さんが事務局長を務める報道実務家フォーラムと私(瀬尾)が代表を務めるスローニュースで、「調査報道大賞」を創設しました。くしくも船橋さんのAPIでも「PEP(ペップ)ジャーナリズム大賞」を創設したばかりです。なぜ今、調査報道に注目が集まっているのでしょうか。まずは澤さん、船橋さん、「調査報道」とは何だとお考えでしょうか。 【澤】一般的には社会的な問題を、政府や捜査当局の動きを報じるという形ではなく、記者独自の調査によって明らかにしていく報道スタイルのことです。 代表的なものとして、立花隆さんが文藝春秋に発表した「田中角栄研究―その金脈と人脈」(1974年)、朝日新聞のスクープが発端となった「リクルート事件」(1988年)があります。最近の例では、共同通信による、関西電力の八木誠会長(当時)など経営幹部らが福井県高浜町の森山栄治元助役から大量の金品を受け取

                                                    なぜ日本のマスコミは「マスゴミ」と呼ばれるようになったのか 「調査報道」が注目される本当の理由
                                                  • 2024年のPythonプログラミング - Uzabase for Engineers

                                                    ソーシャル経済メディア「NewsPicks」で推薦や検索などのアルゴリズム開発をしている北内です。Pythonは頻繁に新機能や便利なライブラリが登場し、ベストプラクティスの変化が激しい言語です。そこで、2024年2月時点で利用頻度の高そうな新機能、ライブラリ、ツールなどを紹介したいと思います。 この記事では広く浅く紹介することに重点を置き、各トピックについては概要のみを紹介します。詳細な使用方法に関しては各公式サイト等での確認をおすすめします。なお、本記事ではOSとしてmacOSを前提としています。 環境構築 Pythonの環境構築はpyenvとPoetryの組み合わせがもっとも標準的でしょう。 以下の手順でpyenvとPythonをインストールできます。 brew install pyenv # Bashの場合 echo 'eval "$(pyenv init -)"' >> ~/.ba

                                                      2024年のPythonプログラミング - Uzabase for Engineers
                                                    • Pythonのアンダースコア( _ )を使いこなそう!

                                                      Pythonは一番書きやすいプログラミング言語と知られ、多くの人の第二外国語(英語に次ぎ)です。でもGithubやGitlabで他人のコードを参照した時や自分でclassを書いてる時、こういう疑問はあったでしょうか: 「def __init__(self): の__init__のアンダースコアは何故二つなのか?」 「def _func(x): と def func(x): とdef func_(x): に違いはあるのか?」 「y, _ = func(x)のアンダースコアは何か?」 そんな色んな所で使われてるアンダースコアの使い方を、今回整理して説明してみました! アンダースコアの使い場所Return値を無視する。関数の名付けで使い方を区別する。数字を読みやすくする。インタプリタで最後に表示された値を代表する。以上4種類の状況でアンダースコアを使いこなす事により、読みやすいpythonicな

                                                        Pythonのアンダースコア( _ )を使いこなそう!
                                                      • Pythonがグローバルインタプリタロックの解消へ、マルチスレッド処理の高速化実現

                                                        Python Software Foundationのステアリングカウンシル(Steering Council)は、Pythonのグローバルインタプリタロック(Global Interpreter Lock)を解消する方向で開発を進めていくことを明らかにしました。 グローバルインタプリタロックとは? グローバルインタプリタロックとは、その名前が示すとおりインタープリタ全体で1つのロックを持つことです。 これによりシングルスレッドのプログラムにおいては細かなロック制御が不要となって速度の向上がはかれる一方、マルチスレッドの平行性は制限されるという欠点があります。 また、スレッドセーフではないC言語などによるライブラリとの結合が容易となっています。 Pythonの標準実装であるCPythonでは、以前からグローバルインタプリタロックが採用されていました。 グローバルインタプリタロックを解消する

                                                          Pythonがグローバルインタプリタロックの解消へ、マルチスレッド処理の高速化実現
                                                        • 個人開発OSSが世界に勝てなかった話

                                                          ゆーすけべー氏の「OSSで世界と戦うために」にインスパイアされました。5年間pyserdeというOSSのライブラリを開発・メンテしてきた筆者が、ちょっとだけ世界と戦ってみたけど全然勝てなかったという話です。Honoとはプロダクトの規模も開発にかける情熱も全然違うけど、単純にポストモーテムは読み物として面白いかなと思ったので書いてみます。また、5年間の開発で学んだやってよかったことや失敗などもシェアできればと思います。 pyserde pyserdeは筆者が2019年から開発メンテナンスしているOSSで、RustのserdeというライブラリにインスパイアされたPython用のシリアライゼーションフレームワークです。 以下のようにクラスを定義すると、型アノテーションに基づいたデータ変換やバリデーションのコードが内部的に生成され、強い型付けのクラスを生成することができます。強い型付けのクラスはラ

                                                            個人開発OSSが世界に勝てなかった話
                                                          • 実践的Djangoプロジェクトの設計―開発・運用が楽になる設定ファイルを書こう! アンチパターンとベストプラクティス|ハイクラス転職・求人情報サイト AMBI(アンビ)

                                                            ハイクラス求人TOPIT記事一覧実践的Djangoプロジェクトの設計―開発・運用が楽になる設定ファイルを書こう! アンチパターンとベストプラクティス 実践的Djangoプロジェクトの設計―開発・運用が楽になる設定ファイルを書こう! アンチパターンとベストプラクティス Pythonで広く利用されているWebアプリケーションのフレームワークにDjangoがあります。Djangoで開発を始める際に、プロジェクトの設定ファイルをどのように記述すれば運用が楽になるのか。『Python実践レシピ』の著書もある筒井隆次(ryu22e)さんによる寄稿です。 Djangoは、Python製のWebアプリケーションフレームワークです。もともとニュースサイトを管理する目的で開発が始まり、2005年7月にOSSとしてリリースされました。 Python Software Foundation(PSF)による調査「P

                                                              実践的Djangoプロジェクトの設計―開発・運用が楽になる設定ファイルを書こう! アンチパターンとベストプラクティス|ハイクラス転職・求人情報サイト AMBI(アンビ)
                                                            • Pythonの生みの親グイド・ヴァンロッサム氏が職業プログラマから引退を表明。昨年Pythonの優しい独裁者からも引退

                                                              Pythonの生みの親グイド・ヴァンロッサム氏が職業プログラマから引退を表明。昨年Pythonの優しい独裁者からも引退 Pythonの生みの親であるGuido van Rossum(グイド・ヴァンロッサム)氏が、勤務先であったDropboxを退社し、これからは引退生活を送ることが表明されました。 下記はヴァンロッサム本人のツイート。 It's bittersweet: I'm leaving @dropbox, and am now retired. I've learned a lot during my time as an engineer here -- e.g. type annotations came from this experience -- and I'll miss working here. https://t.co/0ROaUrHQLt — Guido van

                                                                Pythonの生みの親グイド・ヴァンロッサム氏が職業プログラマから引退を表明。昨年Pythonの優しい独裁者からも引退
                                                              • Python3.7以上のデータ格納はdataclassを活用しよう - Qiita

                                                                はじめに Pythonでデータを格納する際に辞書や普通のクラスを使っていませんか?Python3.7からはデータ格納に便利なdataclassデコレータが用意されています。 この記事では公式ドキュメントやPEP557の説明ではいまいち掴めない、どういった時に便利で、なぜ使うべきなのかという点に触れつつ、使い方を説明していきます。 なお、以前のバージョンではPython3.6に限りpip install dataclassesによって使えるようになります。執筆時点ではGoogle Colaboratoryの環境がPython3.6.9ですが、デフォルトでdataclassesがインストールされています。 想定読者 dataclassの存在を知ったが何なのかよく分からない人 可読性高くデータを扱いたい人 「前はこんな機能なかったし、自分は別に使わなくて良いよ・・・」と思っている人 よく見かける

                                                                  Python3.7以上のデータ格納はdataclassを活用しよう - Qiita
                                                                • ヨドバシの中の人が語る、開発中のヨドバシAPIが目指す機能、仕組み、そしてセキュリティ(後編)

                                                                  ヨドバシカメラは現在、お客様との接点をドメインとして設計する新たなAPIを開発中であることを、クリエーションラインが主催し10月27日に開催されたイベント「Actionable Insights Day 2023」で明らかにしました。 REST APIとして実装される予定のこのAPIについて同社は「ヨドバシスタッフの魂を注入する」としており、厳重なセキュリティやユーザーフレンドリーで高い利便性などが追求されています。 ヨドバシAPIがどのように設計され、開発、実装されていくのか。その中味が紹介されたセッションの内容を見ていきましょう。 本記事は前編と後編の2本の記事で構成されています。いまお読みの記事は後編です。 認証強度のレベルダウンを最小限にするための方法 ただ、我々はお客様の情報を大切に守ろうとしておりますので、レベルダウンを最小限にしようとあがいておりまして、そこで採用しましたのが

                                                                    ヨドバシの中の人が語る、開発中のヨドバシAPIが目指す機能、仕組み、そしてセキュリティ(後編)
                                                                  • Goに三項演算子が採用されない理由

                                                                    Goには「なぜ三項演算子がないの?」という意見を時々見かけます。言語開発側の意見と僕の見解をまとめていきますー。 FAQ その回答はGoのFAQに明瞭に書かれています。 Goに?:演算子がないのはなぜですか? Goには3項テスト操作がありません。 同じ結果を得るには、次を使用できます。 Goに?:がない理由は、言語の設計者が、操作が頻繁に使用されて不可解な複雑な式を作成するのを見ていたためです。 if-else形式は、長くなりますが、間違いなく明確です。 言語に必要な条件制御フロー構造は1つだけです。 ネストを許す GoもPythonもif-elseが文であり、式として扱えない方針を採りました。式として扱えないということは、一定の構文でのみ記述が可能ということです。三項演算子はその性質上式として扱えることになります。 式として扱える場合なにが書けるようになるのかというと、各項や条件に式が書

                                                                      Goに三項演算子が採用されない理由
                                                                    • pythonパッケージ管理ツールryeを使う - 肉球でキーボード

                                                                      Pythonパッケージ管理ツール ryeの使い勝手がよかったので使用方法をまとめました。 ryeとは GitHub: https://github.com/mitsuhiko/rye flaskの作者である Armin Ronacher氏 (GitHubアカウント @mitsuhiko)が個人利用目的で作成した、Pythonのパッケージ関係管理ツールです。内部実装はRustです。 ryeが作成された思想がリポジトリ Should Rye Exist? のDiscussionページに書かれています。 Should Rye Exist?: XKCD #927 Disucssion中の図にあるように、従来のPythonのパッケージ管理は”様々な標準”が存在し、このばらつきを統一しようと新しくパッケージ管理ツールを導入しても、”新たな標準が追加されるだけ”となり、真のパッケージ管理の標準化を行えて

                                                                        pythonパッケージ管理ツールryeを使う - 肉球でキーボード
                                                                      • 【初心者向け】無料でPythonの基本文法を5時間で学ぼう! - Qiita

                                                                        はじめに この記事は、AI AcademyのPython文法速習編とPython プログラミング入門編の内容をベースに一部修正を加えたものです。 この記事を読み進めることで、Pythonの基本文法の基礎を学ぶことが出来ます。 Pythonを学び終わった方は、無料(一部のコンテンツのみ有料だが基礎コンテンツはほぼ全て無料)でAI・機械学習が学べるAI Academyも活用ください。 オンライン機械学習スクールはこちら なぜPythonなのか? AI Academyでは人工知能(AI)分野を中心とした学習コンテンツを扱っており、その人工知能分野においてPythonは機械学習・ディープラーニングを容易に扱うことができるからです。 また、The 2018 Top Programming Languagesの記事でも、プログラマーの年収は1位でした。 The 2018 Top Programming

                                                                          【初心者向け】無料でPythonの基本文法を5時間で学ぼう! - Qiita
                                                                        • Python最新バージョン対応!より良い型ヒントの書き方 | gihyo.jp

                                                                          寺田 学です。9月の「Python Monthly Topics」は、Python 3.5で導入され、多くの場面で活用されている型ヒント(Type Hints)について、より良い型ヒントの書き方を紹介します。 Pythonの型ヒントとは Pythonは動的型付け言語です。型を指定せずに変数宣言できますし、関数の引数や戻り値に型を宣言する必要はありません。 Python 3.5(2015年9月リリース)で型ヒントの仕組みが入りました。型の指定が不要なPythonですが、型ヒントを付けることで、「⁠コードの可読性向上⁠」⁠、「⁠IDEコード補完の充実⁠」⁠、「⁠静的型チェックの実行」といった静的型付け言語のようなメリットを得ることができます。 Pythonの型ヒントは以下のように記述します。 name: str = "氏名" # 変数nameをstr型と宣言 def f(arg: int) -

                                                                            Python最新バージョン対応!より良い型ヒントの書き方 | gihyo.jp
                                                                          • PEP 8騒動について - methaneのブログ

                                                                            今週PEP 8の小さい変更についてMLで騒動が起こってしまいました。 該当のコミットはこれです。 PEP 8: Change requirement to adhere to Standard English (#1470) · python/peps@0c6427d · GitHub 変更点はごくごくシンプルなものです。 - When writing English, follow Strunk and White. + Ensure that your comments are clear and easily understandable to other + speakers of the language you are writing in. 今まで知らなかったのですが、変更前の "Strunk and White" とは The Elements of Style というすご

                                                                              PEP 8騒動について - methaneのブログ
                                                                            • Python開発を円滑に進めるためのツール設定 Part.1

                                                                              2019年9月16、17日、日本最大のPythonの祭典である「PyCon JP 2019」が開催されました。「Python New Era」をキャッチコピーに、日本だけでなく世界各地からPythonエンジニアたちが一堂に会し、さまざまな知見を共有します。プレゼンテーション「Python開発を円滑に進めるためのツール設定」に登壇したのは、Atsushi Odagiri氏。講演資料はこちら 開発を効率的に進めるためのツール設定 Atsushi Odagiri氏:この時間はビギナーセッションで、内容はPythonでの開発を効率的に進めるためのツール設定です。 まず「ツール設定」という趣旨の説明と、あとは今日説明するツールがflake8、black、mypy、pytest、toxなどがあります。そしてそれぞれを使うためにエディタ設定をするという流れになっております。 先に自己紹介させていただきま

                                                                                Python開発を円滑に進めるためのツール設定 Part.1
                                                                              • Pythonのコード改善のためのツール5つを試してみた - minus9d's diary

                                                                                Pythonのコードを改善するためのツールについて一通り試してみました。各ツールのインストール方法や使い方については Pythonのスタイルガイドとそれを守るための各種Lint・解析ツール5種まとめ! - Sider Blog に詳細にまとまっているのでおすすめです。 サンプルコード 以下のサンプルコードを対象に、各ツールの出力を確かめてみます。 import time import sys import fractions def func1(varA,varB): '''return sum of a and b''' varC = 42 return (varA + varB) print(func1(fractions.Fraction(1, 2), fractions.Fraction(1, 3))) 3 + 5 sys.exit(0) このスクリプトをsample.pyという名

                                                                                  Pythonのコード改善のためのツール5つを試してみた - minus9d's diary
                                                                                • コードレビューの思想や心構え - Qiita

                                                                                  株式会社ブレインパッドでデータサイエンティストをしているasanoです。 この記事はBrainPad Advent Calender 2023 1日目の記事シリーズ2です。 ※シリーズ1は@fuyu_quantさんの入力プロンプトを復元する技術 #ChatGPTです! 今日はコードレビューの思想や心構えについて書きます。 はじめに コードレビューをより生産的に進めるには単にコーディングのスキルだけでなく、そもそものコードレビューに対する思想や心構えについても一定のリテラシーを求められると考えています。 コードレビューはどうしてもロジカルな話になるため伝え方にも気を付けないとモチベーションの低下に繋がりやすいと考えています。 そうなると当然パフォーマンスも下がってしまいます。 これを防ぐために自分は「コードレビューの思想・心構え」をまとめてチームのガイドラインとして使っています。 あくまで主

                                                                                    コードレビューの思想や心構え - Qiita