並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 163件

新着順 人気順

wsgiの検索結果1 - 40 件 / 163件

  • Instagramはどうやって3人のエンジニアで1400万人にサービスを提供できるシステムを組み上げたのか

    Instagramは2010年10月にサービスを開始後、2011年12月までのわずか1年間で1400万人に利用されるほど巨大なサービスに成長しました。こうしたスケールに対応できるシステムを組み上げたのはたった3人のエンジニアだったとのことで、どのように少人数でスケールするシステムを組み上げたのかについて、エキスパートエンジニアのレオナルド・クリードさんが解説しています。 How Instagram scaled to 14 million users with only 3 engineers https://engineercodex.substack.com/p/how-instagram-scaled-to-14-million レオナルド・クリードさんは、Instagramが3人のエンジニアで安定して巨大なサービスを提供できた理由として、下記の3つの原則を守ったからだと述べています

      Instagramはどうやって3人のエンジニアで1400万人にサービスを提供できるシステムを組み上げたのか
    • Python 製 Web フレームワークを Flask から FastAPI に変えた話|NAVITIME_Tech

      こんにちは、けんにぃです。ナビタイムジャパンで公共交通の時刻表を使ったサービス開発やリリースフローの改善を担当しています。 今回は Python 製の Web フレームワークとして FastAPI を導入した話をしようと思います。 Python 製の Web フレームワークPython には代表的な Web フレームワークが 2 つあります。 ・Django: フルスタックフレームワーク ・Flask: マイクロフレームワーク Django は大規模開発向け、Flask は小中規模開発向けと言われますが、今回開発したサーバは小規模なサーバだったため、以前は Flask で開発していました。 しかし、どちらのフレームワークを使う場合でも下記のような機能を使おうとするとプラグインやサードパーティの助けを借りる必要があります。 ・OpenAPI ・JSON Schema ・GraphQL ・We

        Python 製 Web フレームワークを Flask から FastAPI に変えた話|NAVITIME_Tech
      • Software Design連載 2022年2月号 大規模Webアプリケーションの開発環境をモダナイズする - MonotaRO Tech Blog

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

          Software Design連載 2022年2月号 大規模Webアプリケーションの開発環境をモダナイズする - MonotaRO Tech Blog
        • GitHub - docker/awesome-compose: Awesome Docker Compose samples

          Icon indicates Sample is compatible with Docker Dev Environments in Docker Desktop version 4.10 or later. Icon indicates Sample is compatible with Docker+Wasm. ASP.NET / MS-SQL - Sample ASP.NET core application with MS SQL server database. Elasticsearch / Logstash / Kibana - Sample Elasticsearch, Logstash, and Kibana stack. Go / NGINX / MySQL - Sample Go application with an Nginx proxy and a MySQL

            GitHub - docker/awesome-compose: Awesome Docker Compose samples
          • DockerとAWSのコラボによりdocker ecsコマンドが爆誕したので使ってみた | DevelopersIO

            Docker社とAWSがコラボレーションするという驚きとともに、新しくdockerコマンドに組み込まれたdocker ecsの使い心地を試してみました。 「docker ecsコマンド?なにこれ?」 先日、突如、DockerのECSインテグレーションなるものが発表されました! AWS and Docker collaborate to simplify the developer experience | Containers 従来あるdockerコマンドに、なんとdocker ecsコマンドが追加され、docker-composeファイルを利用したECSへのデプロイがAWS CLIなどのAWS製ツールを使わずに、全てdockerコマンドだけで完結するという、ちょっと想像がつかないアップデートです。 まだDocker社ではベータ版の扱いということですが、なかなかにおもしろいアプローチだった

              DockerとAWSのコラボによりdocker ecsコマンドが爆誕したので使ってみた | DevelopersIO
            • 達人出版会

              探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著), 株式会社フレアリンク(監修) 徹底攻略 基本情報技術者教科書 令和6年度 株式会社わくわくスタディワール

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

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

                  実践的Djangoプロジェクトの設計―開発・運用が楽になる設定ファイルを書こう! アンチパターンとベストプラクティス|ハイクラス転職・求人情報サイト AMBI(アンビ)
                • マトリョーシカ人形のようなメソッド設計を避ける - give IT a try

                  フィヨルドブートキャンプのコードレビューでよく指摘してるシリーズです。 次のようなパンを焼くRubyプログラムがあります。 このプログラムはどういう工程を経てパンが焼かれるのか、ぱっと把握できますか? def main パンを焼く(粉, 水) end def パンを焼く(粉, 水) 焼く(パンを発酵させる(粉, 水)) end def パンを発酵させる(粉, 水) 発酵させる(パンを整形する(粉, 水)) end def パンを整形する(粉, 水) 整形する(パンをこねる(粉, 水)) end def パンをこねる(粉, 水) こねる(粉, 水) end main 上のプログラムは次のように書いても同じように処理されますが、工程の全体像がつかみやすいのはどちらでしょうか? def main 生地 = パンをこねる(粉, 水) 整形された生地 = パンを整形する(生地) 発酵した生地 = パ

                    マトリョーシカ人形のようなメソッド設計を避ける - give IT a try
                  • Software Design連載 2021年12月号 リリース作業とエラー追跡の改善 - MonotaRO Tech Blog

                    新年あけましておめでとうございます。モノタロウでエンジニアをしております大西です。本年もよろしくお願いいたします。 本年もMonotaRO Tech Blogでは社内の様々な取り組みを定期的に更新して参りますので、お時間の空いた際にお読み頂けると嬉しく思います。皆様のお役に少しでも立つことができれば幸いです。 今回は、リリースにかかる時間の増加や、リリースに関する作業の属人化を体制変更によって解消した経緯と、大規模な開発体制におけるリリース作業や監視業務でのエラーやアラートの管理方法についてご紹介します。 本記事の初出は、 Software Design2021年12月号「Pythonモダン化計画(第5回)」になります。 過去の連載記事は以下を参照ください。 第1回 Software Design連載 2021年8月号 Python製のレガシー&大規模システムをどうリファクタリングするか

                      Software Design連載 2021年12月号 リリース作業とエラー追跡の改善 - MonotaRO Tech Blog
                    • Django実践開発入門 - Qiita

                      この記事について Djangoを使用する際に実践開発に近いフローを簡単に再現します。 「Djangoを勉強しているけど、実務での開発はどうなっているでしょう」という方の参考になれば嬉しいです。 また本記事の内容は最善とは言えませんので、ぐれぐれもご容赦ください。 本記事の環境 python3.7.1 Django 2.1.5 PyCharm 先ずは設計から Explicit is better than implicit. 暗示するより明示するほうがいい。 --pythonの禅 何かを作る前に先ず頭にあるアイディアを具現化しましょう。 いかに簡単そうなものでも設計図があった方がいい。 特に会社のプロジェクト、制作途中、新しくメンバーが入ってくることがよくあります。 設計図があれば、プロジェクトを理解するための時間が短縮されます。 今回のデモは簡単なスクール学生管理システムと設定します モデ

                        Django実践開発入門 - Qiita
                      • Golang GenericsでREST APIを作る - Nature Engineering Blog

                        Go 1.18が出てしばらく経ちました。みなさんGenerics使っていますか? @maaashです。 これは Nature Engineering Blog祭 の2日目の記事です。 祭り 最初は歓喜し、mapやfilter的なfor文を少しずつgithub.com/samber/loに切り替えたり、 internalなsliceパッケージを作ってみたり。 ですが心のどこかで欲求不満が蓄積されていくのを感じていました。 使い尽くしていないのでその真価が理解できていなくて物足りないような、 こんなに面白いおもちゃが与えられたのに遊び尽くしていないような感覚です。 Genericsを使ったコードを書きたい!と思いながら日々の業務でREST APIを書いていると、、 あれ、これはかの When To Use Genericsの結論にある: If you find yourself writing

                          Golang GenericsでREST APIを作る - Nature Engineering Blog
                        • 達人出版会

                          探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 デザインディレクション・ブック 橋本 陽夫 現場のプロがやさしく書いたWebサイトの分析・改善の教科書【改訂3版 GA4対応】 小川 卓 解釈可能なAI Ajay Thampi(著), 松田晃一(翻訳) PowerPoint 目指せ達人 基本&活用術 Office 2021 & Microsoft 365対応 PowerPoint基本&活用術編集部 ランサムウェア対策 実践ガイド 田中啓介, 山重徹 TODによるサステナ

                            達人出版会
                          • Re: ゼロから理解するFlask生活

                            https://palletsprojects.com/p/flask/はじめにPythonistaの皆さんの中には、Flaskを使ってWEBアプリケーションを構築したことがある方も多いのではないでしょうか? この記事ではそんなみなさんのFlask生活をより良くするべく、Flaskの仕組みを実際にコードを読みながら解説したいと思います。 この記事で紹介すること WSGIの概要と、WSGIを用いた簡単なWEBアプリケーションの実装方法Flaskの実行コードの仕組みFlaskのルーティングの仕組み対象読者 これからFlaskを使って何かを実装しようとしている人Flaskの実装経験はあるが、コードの中身までは理解していない人Pythonの有名ライブラリのコードを読むのが好きな人Flaskの入門コードこの記事では、以下の入門コードを題材として取りあげます。 from flask import Fl

                              Re: ゼロから理解するFlask生活
                            • 【徹底解説】Flask VS FastAPI

                              はじめに 今回の記事では、PythonでWeb開発を進める際に使われるWebフレームワークである「FastAPI」と「Flask」について、両者それぞれの特徴と強みを具体的なソースコードを用いて解説する。 この記事の対象とする読者 これからPythonでWeb開発を進めることを検討している人 APIを開発したいものの、どのような技術を使うべきが迷っている人 FlaskとFastAPI両方とも、あるいはどちらか一方に興味を持っている人 社内あるいは個人開発の技術選定で、FastAPIあるいはFlaskの導入を検討している人 Flaskとは FlaskはPythonで開発された軽量のWSGI(Web Server Gateway Interface)製のWebフレームワークである。 Flaskの説明に入る前に、WSGIについて簡潔に説明させてほしい。WSGIを完結に説明すると、Pythonにお

                                【徹底解説】Flask VS FastAPI
                              • 達人出版会

                                探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著), 株式会社フレアリンク(監修) 徹底攻略 基本情報技術者教科書 令和6年度 株式会社わくわくスタディワール

                                  達人出版会
                                • PythonのWebフレームワーク、どう選ぶべきか? Part.1

                                  2019年9月16、17日、日本最大のPythonの祭典である「PyCon JP 2019」が開催されました。「Python New Era」をキャッチコピーに、日本だけでなく世界各地からPythonエンジニアたちが一堂に会し、さまざまな知見を共有します。プレゼンテーション「Python_Webフレームワーク比較」に登壇したのは、CMSコミュニケーションズ代表取締役の寺田学氏。講演資料はこちら PythonのWebフレームワークについて 寺田学氏(以下、寺田):それでは「Python Webフレームワーク比較」ということで、45分間のトークをしていきたいと思います。 資料は基本的に英語ですが、大事なところは日本語で書いています。もともと英語で発表したいという想いがあったんですけど、日本語で伝えたほうがいいなと思ったので、今日は日本語です。 私は寺田学といいます。CMSコミュニケーションズと

                                    PythonのWebフレームワーク、どう選ぶべきか? Part.1
                                  • Serverless Framework+mangum+FastAPIで、より快適なPython API開発環境を作る - JX通信社エンジニアブログ

                                    はじめに 最近ハイボールにハマっているSREのたっち(@TatchNicolas)です。 昨日オンライン開催されたJAWS DAYS 2020にて、JX通信社もサーバレスをテーマとして発表をしました。(by 植本さん) 発表でもありましたように、上記プロジェクトにおいて開発当時はスピードを優先してプロジェクトメンバーの手に馴染んでいて分担もしやすいフレームワークとしてFlaskを採用しました。 一方で、JX通信社としてはFlaskよりもFastAPIを使うプロジェクトが増えてきており、今後もその傾向は続く見込みです。 そこで、特設ページ作成やAPI提供など初動としての開発が一段落したのを機に、JAWS DAYSで発表した仕組みを今後のために発展させる検証をしたので紹介します。 TL; DR; JAWSでは Serverless Framework+awsgi+Flaskな構成でスピーディに

                                      Serverless Framework+mangum+FastAPIで、より快適なPython API開発環境を作る - JX通信社エンジニアブログ
                                    • 達人出版会

                                      探検! Python Flask Robert Picard, 濱野 司(訳) BareMetalで遊ぶ Raspberry Pi 西永俊文 なるほどUnixプロセス ― Rubyで学ぶUnixの基礎 Jesse Storimer, 島田浩二(翻訳), 角谷信太郎(翻訳) 知る、読む、使う! オープンソースライセンス 可知豊 きつねさんでもわかるLLVM 柏木餅子, 風薬 R/RStudioでやさしく学ぶプログラミングとデータ分析 掌田津耶乃 データサイエンティストのための特徴量エンジニアリング Soledad Galli(著), 松田晃一(訳) 実践力をアップする Pythonによるアルゴリズムの教科書 クジラ飛行机 スッキリわかるサーブレット&JSP入門 第4版 国本 大悟(著), 株式会社フレアリンク(監修) 徹底攻略 基本情報技術者教科書 令和6年度 株式会社わくわくスタディワール

                                        達人出版会
                                      • Webシステムにおける HTTPサーバ機能をどう用意するか?という問題に対して先人達の葛藤の歴史 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]

                                        こんにちは羽山です。 現代の Webシステム界隈は昔よりもはるかに洗練され、初心者からでも簡単に開発方法を学び作れる時代になっています。その反面で例えば Python なら WSGI や gunicorn、Waitress、uWSGI などが何のために存在しているのかが分かりにくいと思ったことはありませんか?Ruby の Rack、unicorn、puma だったり FastCGI など、いずれも Webシステムの構成要素として重要な一方で役割を理解しにくいのは事実です。 そこで今回は Webシステムが現代の形にたどり着くまでの先人達の葛藤の歴史を解説します。歴史を知ればこれらの仕様やプロダクトが何の役になっているかが分かるはずです。 前提 動的な Webサイト(=Webシステム)を作りたいニーズはインターネット黎明期からありますが、ブラウザからのアクセスを適切に処理するには HTTPサー

                                          Webシステムにおける HTTPサーバ機能をどう用意するか?という問題に対して先人達の葛藤の歴史 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
                                        • サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23

                                          PyData.Tokyo Meetup #23 MLOps〜AIを社会に届ける技術での発表資料 https://pydatatokyo.connpass.com/event/210654/Read less

                                            サイバーエージェントにおけるMLOpsに関する取り組み at PyDataTokyo 23
                                          • PythonのマルチスレッドWSGIサーバーの選定 - methaneのブログ

                                            今までuWSGIをシングルスレッド、マルチプロセスで使っていたのだけれども、昔に比べて外部のAPI呼び出しが増えているのでマルチスレッド化を検討している。 uWSGI uWSGIでマルチスレッドを有効にした時は、各workerスレッドがacceptする形で動作する。スレッド数以上の接続をacceptすることがないので安心。 プロセス内のスレッド間ではmutexで排他されて、同時にacceptを実行するのは1スレッドのみに制限されている。つまりthendering herd問題はプロセス間でしか起こらない。マルチスレッド化でプロセス数はむしろCPUコア数まで減らせるので、thendering herd問題はむしろ今よりも軽減できる。(ちなみにプロセス間でもロックしてthendering herdを許さないオプションもあるけど、プロセス間同期は怖いので使っていなかった。) ただしuWSGIのマ

                                              PythonのマルチスレッドWSGIサーバーの選定 - methaneのブログ
                                            • PythonのWeb frameworkのパフォーマンス比較 (Django, Flask, responder, FastAPI, japronto) - Qiita

                                              PythonのWeb frameworkのパフォーマンス比較 (Django, Flask, responder, FastAPI, japronto)PythonFlaskwrk2responderFastAPI 以下のPython Web frameworkを使って単純なAPIを立てて、負荷試験をしてみました。 Django (2.X) Flask FastAPI responder japronto 結果的に、ざっくりと以下が分かりました! performanceは「japronto >>> FastAPI > responder >>> Flask ~ Django」だと言えそう FastAPIとresponderはsingle workerだと秒間100~1000程度のrequestであればpython界で圧倒的なperformanceを誇るjaprontoとほとんど同水準 (検

                                                PythonのWeb frameworkのパフォーマンス比較 (Django, Flask, responder, FastAPI, japronto) - Qiita
                                              • HTTPX

                                                >>> import httpx >>> r = httpx.get('https://www.example.org/') >>> r <Response [200 OK]> >>> r.status_code 200 >>> r.headers['content-type'] 'text/html; charset=UTF-8' >>> r.text '<!doctype html>\n<html>\n<head>\n<title>Example Domain</title>...' Which now allows us to use HTTPX directly from the command-line... Sending a request... Features HTTPX builds on the well-established usability of reques

                                                • Google Cloud Run と AWS Lambda のコールドスタート時間を言語別に観察してみる - Qiita

                                                  コンテナをリクエスト処理時間ベースの料金体系で実行できるサーバレス環境としては、Google の Cloud Run(2019年11月GA)と AWS Lambda(2020年12月にコンテナに対応)が特に有名でしょう。 これらの環境は、一度起動したコンテナインスタンスをしばらく生かしておき、その後のリクエストに使いまわします。しかし、生きているインスタンスが足りない場合は新たなコンテナの起動から始めるいわゆる「コールドスタート」となり、応答のオーバーヘッドが大きく増加します。用途によっては、このコールドスタートにかかる時間が問題になります。 Cloud Run と Lambda でのコールドスタートの様子を観察するため、いくつかの言語で "Hello, World!" を返すだけのWebアプリコンテナを作り、コールドスタートの時間を「雑に」観察してみました。 注意: コストや性能は考慮し

                                                    Google Cloud Run と AWS Lambda のコールドスタート時間を言語別に観察してみる - Qiita
                                                  • ゴールデンウィークなのでGoogle App Engineに機械学習のモデルをdeployして遊んでみた (using TensorFlow 2.1) | DevelopersIO

                                                    こんにちは、ゴールデンウィークはしっかりステイホームしているMr.Moです。 GWに何をやろうかなーと思っていたら目の前にApp Engineと機械学習のモデルがあったので遊んでみました! Google App Engineとは 下記に詳しい記事があるのでご参照ください! https://docs.google.com/presentation/d/1trxz4_ksRyHdj2cAGVKiy3gtx7q1-AE06XbzLraBD44/htmlpresent https://dev.classmethod.jp/articles/gae-webapp/ なぜGAEなのか? App Engine無しでは生きていけない体になっているからです。(笑) あとはやっぱり無料で動かせないかと思いまして... 最低限必要なもの Google Cloud Platformにログインできるアカウント 機械

                                                      ゴールデンウィークなのでGoogle App Engineに機械学習のモデルをdeployして遊んでみた (using TensorFlow 2.1) | DevelopersIO
                                                    • PythonのWebフレームワーク、どう選ぶべきか? Part.2

                                                      2019年9月16、17日、日本最大のPythonの祭典である「PyCon JP 2019」が開催されました。「Python New Era」をキャッチコピーに、日本だけでなく世界各地からPythonエンジニアたちが一堂に会し、さまざまな知見を共有します。プレゼンテーション「Python_Webフレームワーク比較」に登壇したのは、CMSコミュニケーションズ代表取締役の寺田学氏。講演資料はこちら フルスタックなオールインワンのWebフレームワークDjango 寺田学氏(以下、寺田):「Webフレームワークの紹介」に移ります。Django、Flask、Pyramid、Zope、Tornado、aiohttp、Guillotina、Bottle、responderの9種類の紹介をしていきます。 まず、Djangoの説明です。Djangoの公式サイトはここ(https://www.djangopr

                                                        PythonのWebフレームワーク、どう選ぶべきか? Part.2
                                                      • WerkzeugでFlaskを使ったPythonのWebAppをプロファイリングする

                                                        [前回の記事]({{ root_url }}/blog/2013/11/11/logging-system-with-fluentd-elasticsearch-kibana3/)に引き続きISUCONのために調べたことをまとめてみます. うちのチームは使用言語にPythonを選択していたので,ISUCON2やISUCON3の予選でも使われていたFlaskというフレームワークを使ったWSGI Application用のプロファイラを探したところWerkzeugのWSGI Application Profilerというものがあったので使ってみました. FlaskFlaskは,WerkzeugをベースにしてJinja2をテンプレートに使った軽量なWAFです. WerkzeugWerkzeugはWSGI Applicationのutility libraryで,フレームワークという程ではないです

                                                          WerkzeugでFlaskを使ったPythonのWebAppをプロファイリングする
                                                        • 「2020年代のコンテナ時代のPythonアーキテクチャ&デプロイ」というテーマでPyCon.jp 2020で発表してきました | フューチャー技術ブログ

                                                          「2020年代のコンテナ時代のPythonアーキテクチャ&デプロイ」というテーマでPyCon.jp 2020で発表してきました 初のオンライン&Python 2サポートが終了したあとのPyCon.jpという節目のイベントで発表してきました。 発表資料はこちらになります。 日英表記にした関係で表現をだいぶシンプルに削ることになったりしたので、口頭での説明のみ行ったこととか、その後のTwitterの感想を見て思ったことなどを軽く補足します。 コンテナの時代コンテナのカバレッジが広がっている事例としてはDensoのMisakiとか戦闘機にKubernetesを載せてみました、とかもあります。 https://www.publickey1.jp/blog/20/kubernetesmisaki.html https://www.publickey1.jp/blog/20/kubernetesf-1

                                                            「2020年代のコンテナ時代のPythonアーキテクチャ&デプロイ」というテーマでPyCon.jp 2020で発表してきました | フューチャー技術ブログ
                                                          • テストを5倍速にする - BASEプロダクトチームブログ

                                                            この記事はBASE Advent Calendar 2019の20日目の記事です。 devblog.thebase.in PAY株式会社でテックリードを務める東と申します。 主にバックエンド全般に広く携わっています。最近はサーバーアプリばかり書いていますがインフラもわりとやります。 当ブログの読者の方には弊社のことをご存じない方もたくさんいらっしゃるかと思いますので、簡単に社の紹介をさせていただきます。 PAY株式会社はBASE株式会社の100%子会社で、オンライン決済サービス「PAY.JP」とID決済サービス「PAY ID」などの決済サービスを開発・運営している会社です。 「支払いのすべてをシンプルに」をミッションに掲げ、お金を扱うすべての事業者・個人がもっと豊かな生活ができることを目指しています。 さて、決済というミッションクリティカルなテーマを扱うにあたって、品質保証は最も重要な課題

                                                              テストを5倍速にする - BASEプロダクトチームブログ
                                                            • DRFとNuxtを使って画像分類(機械学習)をする① - atma-inc__blog

                                                              はじめに インターンしている小林です.この記事では,DRF(Djangoのいい感じのフレームワーク)を使って,APIを作るまで行います.記事は二編構成とし,一編はDRFによるAPI作成,二編はNuxtを用いてユーザが実際に入力することを想定してフロント作成します.具体的には,PyTorchのresnetを用いて,入力フォームから受け付けられた画像を推論して上位10位までの結果を表示させます.一編では,詳細な機械学習のアルゴリズムは説明せずに,APIを作る工程に重きを向けます.読者の対象はDRFを初めたての人が対象であり,機械学習の画像処理をある程度把握している人が対象となります. 構築したAPIは以下のような感じになります. 今回作るAPI画面 結果で返しているのはresnet-18に入力した画像を推論させ,確率値が高い上位10個を表示させています.用いてるモデルはImageNetの学習済

                                                                DRFとNuxtを使って画像分類(機械学習)をする① - atma-inc__blog
                                                              • Software Design連載 2021年11月号 Robot FrameworkでE2Eテストを自動化する - MonotaRO Tech Blog

                                                                最初に少しイベントの宣伝 こんにちは。金谷です。 Software Designに連載させていただいております「Pythonモダン化計画」は、前半の4回で、それぞれの局面に合ったテスト手法を用いることで変更容易性を確保する話をしてきました。 前半の4回すべてに出てきたツールにJenkinsさんがいて、何らかのかたちで自動化されています。 モノタロウにおけるモダン化計画に不可欠な存在のJenkinsさん。 なんとこのたび、Jenkins Day Japan 2021というイベントで、Jenkinsの活用事例を発表させていただくことになりました。 「モノタロウの開発・リリースサイクルを支えるJenkinsの活用事例」という内容で金谷が発表させていただきます。 詳細とお申込みは、下記のURLからご覧ください。 cloudbees.techmatrix.jp では本題に入ります。 本記事の初出は、

                                                                  Software Design連載 2021年11月号 Robot FrameworkでE2Eテストを自動化する - MonotaRO Tech Blog
                                                                • Choosing a Fast Python API Framework

                                                                  Posted on May 17, 2018 |  6 minutes |  Fotis Gimian This post attempts to highlight my thought process in selecting a suitable stack for developing an API in Python for our current project at work. Although I have personally benchmarked various combinations, I haven’t documented the results for this article, instead merely mentioned which frameworks and WSGI servers were found to be fast or slow.

                                                                    Choosing a Fast Python API Framework
                                                                  • mod_perlからFastCGI、PSGIまでの今昔物語 時代の移り変わりに伴うデプロイ手法の変化

                                                                    「YAPC(Yet Another Perl Conference)」は、Perlを軸としたITに関わるすべての人のためのカンファレンスです。ここで面白法人カヤックのmacopy氏が「デプロイ今昔物語 〜CGIからサーバーレスまで〜」をテーマに登壇。続いて、mod_perl、FastCGI、PSGIについて話します。前回はこちらから。 mod_perlの手法 macopy氏:というわけで、mod_perlの話をします。mod_perlは「Apacheの中にPerlのインタプリタを組み込んでしまいましょう」という発想(のこと)ですね。 Apacheの中にもMPMという、どういうふうにプロセスを立ち上げておくか、リクエスト・レスポンスを処理するかを決めるモジュールがあります。それによってプロセスやマルチスレッドを処理したりするんですが、そのワーカーの中にmod_perlがロードされて、その中に

                                                                      mod_perlからFastCGI、PSGIまでの今昔物語 時代の移り変わりに伴うデプロイ手法の変化
                                                                    • 【Python】Webフレームワーク「Flask」導入 - ITips

                                                                      Webサイトを作る際に必要な機能が準備されているフレームワーク。 RubyならRails、phpならCakePHPやLaravelなどが有名だ。 PythonにもWEBフレームワークは存在する。 Pythonで有名なのはDjangoやFlask。 今回はFlaskの導入をしてみたので手順を紹介する。 Flaskとは FlaskとはPythonにもWEBフレームワークである。 軽量さに主眼を置いており、Pythonのもうひとつ有名なフレームワークであるDjangoに比べて機能が少ない分、シンプルで軽量となっている。 Flask(フラスク)は、プログラミング言語Python用の、軽量なウェブアプリケーションフレームワークである。標準で提供する機能を最小限に保っているため、自身を「マイクロフレームワーク」と呼んでいる。Werkzeug WSGIツールキットとJinja2テンプレートエンジンを基に

                                                                        【Python】Webフレームワーク「Flask」導入 - ITips
                                                                      • "RBS generation framework using Rack architecture"の予習記事 - READYFOR Tech Blog

                                                                        システム基盤部の栗原です。 RubyKaigi2022楽しみですね。READYFORからは、私栗原から発表させていただくことになりました。 https://rubykaigi.org/2022/presentations/_ksss_.html 今回は皆様によりトークを楽しんでいただく為に、予習となる要素を集めました。 何を話すのか orthosesというライブラリーを作ったので使って下さい!というお願いをします。 orthosesは簡単に言うと、RBSの自動生成ツールです。 github.com 抱えている課題感 私は型を使った開発で得られる体験に魅せられています。コードを書いたその瞬間にバグに気づいて修正したり、複雑なロジックでもどの変数でどのオブジェクトが得られるのかエディタで確認しながら開発できるの最高だと思いませんか? Rubyでもそれ、できるんです!!! しかしながら、開発体験

                                                                          "RBS generation framework using Rack architecture"の予習記事 - READYFOR Tech Blog
                                                                        • SageMakerとStep Functionsを用いた機械学習パイプラインで構築した検閲システム(後編) - コネヒト開発者ブログ

                                                                          皆さん,こんにちは!機械学習エンジニアの柏木(@asteriam)です. 今回は前回のエントリーに続いてその後編になります. tech.connehito.com はじめに 後編は前編でも紹介した通り以下の内容になります. 後編:SageMakerのリソースを用いてモデルのデプロイ(サービングシステムの構築)をStep Functionsのフローに組み込んだ話 モデル学習後の一連の流れで,推論を行うためにモデルのデプロイやエンドポイントの作成をStep Functionsで実装した内容になります. 今回紹介するのは下図の青枠箇所の内容になります. 検閲システムのアーキテクチャー概略図 目次 はじめに Step Functionsを使ってサービングシステムを構築する方法 学習済みモデルを含んだ推論コンテナの設定(モデルの作成) エンドポイントの構成を設定 エンドポイントの作成とデプロイ 機械

                                                                            SageMakerとStep Functionsを用いた機械学習パイプラインで構築した検閲システム(後編) - コネヒト開発者ブログ
                                                                          • FastAPI で独自に定義した API エラーも仕様書に自動反映したかった話 - JX通信社エンジニアブログ

                                                                            こんにちは、サーバーサイドエンジニアの @kimihiro_n です。 最近は FastAPI という Python の Web フレームワークが社内で密かなブームとなっています。 今回はその FastAPI を使ったエラー定義まわりの話をしたいと思います。 FastAPI とは FastAPI の概要については先日ちょうど社内勉強会用に資料を作ったのでこちらを見てもらえるのが早いです。 ざっくり言えばシンプルなインターフェースとドキュメント(OpenAPI)の自動生成が強力なフレームワークになります。 OpenAPI でドキュメント管理 今回注目したいのはドキュメントの自動生成のほうです。 開発チームでもドキュメントとAPIの実際の仕様が一致しない問題が時々発生していて、どうドキュメントを管理していくかが課題となっています。 KPTで振り返った結果、「人がドキュメントを書くからメンテが大

                                                                              FastAPI で独自に定義した API エラーも仕様書に自動反映したかった話 - JX通信社エンジニアブログ
                                                                            • 最近の登壇資料と出版予定の書籍、インタビュー記事 - c-bata web

                                                                              最近は勉強会での登壇や書籍の出版などアウトプットが色々重なりました (昨年は一度もプロポーザルを書かず登壇依頼もなかったので随分増えました)。 そのたびにツイートもしてきましたが、ほとんど流れてしまって少しもったいない気がしたのでブログにまとめておこうと思います。 登壇資料 PyData.Tokyo Meetup #23「サイバーエージェントにおけるMLOpsに関する取り組み」 Optuna Meetup #1「CMA-ESサンプラーによるハイパーパラメータ最適化」 World Plone Day「Web パネルディスカッション(Python Webと非同期)」 CA BASE NEXT「サイバーエージェントにおけるMLOpsに関する取り組み」 書籍 実践Django Pythonによる本格Webアプリケーション開発(翔泳社:7月19日発売) エキスパートPythonプログラミング改訂3版

                                                                                最近の登壇資料と出版予定の書籍、インタビュー記事 - c-bata web
                                                                              • New for App Runner – VPC Support | Amazon Web Services

                                                                                AWS News Blog New for App Runner – VPC Support With AWS App Runner, you can quickly deploy web applications and APIs at any scale. You can start with your source code or a container image, and App Runner will fully manage all infrastructure including servers, networking, and load balancing for your application. If you want, App Runner can also configure a deployment pipeline for you. Starting toda

                                                                                  New for App Runner – VPC Support | Amazon Web Services
                                                                                • Containerized Python Development - Part 3 | Docker

                                                                                  This is the last part in the series of blog posts showing how to set up and optimize a containerized Python development environment. The first part covered how to containerize a Python service and the best development practices for it. The second part showed how to easily set up different components that our Python application needs and how to easily manage the lifecycle of the overall project wit

                                                                                    Containerized Python Development - Part 3 | Docker