juri-t

教育業界のWebエンジニアです。業務ではRailsとかTypeScriptとか書いてま…

juri-t

教育業界のWebエンジニアです。業務ではRailsとかTypeScriptとか書いてます。今は「responderで理解するWebサーバーの話」というマガジンを不定期に更新してます。

マガジン

  • responderで理解するWebサーバーの話

    responderというPythonのフレームワークを通じて、Webサーバーの理解を深めるノートをまとめてます。

最近の記事

responderで理解するWebサーバー #9 ORMとHTTP Client

こんにちは、Webエンジニアのjuri-tです。 responderが非同期でリクエストを処理できることは以前紹介させていただきました。 では、実際に非同期の処理を行う際、どういったライブラリが選択肢に入るかを紹介したいと思います。(本格的に業務で運用したりはしていないため、紹介程度になります) HTTP クライアント他のWebサービスのAPIを使ったり、マイクロサービスとの通信するなどでHTTPリクエストを送ることはあると多いと思います。ネットワークを超える処理は、超

    • responderで理解するWebサーバー #8 APIドキュメント

      こんにちは、Webエンジニアのjuri-tです。 今回はAPIドキュメントについて書きたいと思います。 APIドキュメントとは?普段私達が使っているWebサービスの中には、APIとして、外部から操作可能なエンドポイントを公開していることがあります。例えば、Google Calender。普段はWebブラウザなどで使っていると思いますが、他のWebサービスやアプリから連携できるように、APIがあります。(ちなみに私は使ったことないです) さて、Google Calenda

      • responderで理解するWebサーバー #7 GraphQL

        こんにちは、Webエンジニアのjuri-tです。 GraphQL使ってますか?私は正直聞いたことはありましたが、使ってみたことはありませんでした。responderでは標準でサポートしているということなので、今回良い機会なので使ってみました。 GraphQLを教科書的に説明すると、 Facebookが開発したデータを取得・操作するためのクエリ言語 となります。よく比較対象としてあげられているのはRESTful APIです。RESTful APIは言語ではなく設計思想で

        • responderで理解するWebサーバー #6 非同期処理

          こんにちは、Webエンジニアのjuri-tです。 本当は前回書きたいなと思っていた内容でしたが、勘違いしていて実際はバックグラウンドタスクになってしまったので、リベンジです。 非同期処理という言葉の意味が曖昧な問題Pythonでは非同期処理は、Python3.4で実装されたasyncioに代表される非同期I/Oを指すことが一般的かと思います。マルチスレッド、マルチプロセスとは別概念として説明されていることも多い気がしますが、公式ドキュメントではasyncioについて並行処

        responderで理解するWebサーバー #9 ORMとHTTP Client

        マガジン

        • responderで理解するWebサーバーの話
          10本

        記事

          responderで理解するWebサーバー #5 バックグラウンドタスク

          2019.7.29 追記 当初非同期処理として公開していましたが、公開後再度内容を精査した結果、非同期ではなくバックグラウンドタスク(マルチスレッド)の内容となっており誤解を生みそうだったので、タイトルを修正しました。 合わせて、非同期として書いていた箇所について一部修正しました。 こんにちわ、Webエンジニアのjuri-tです。 今日はresponderにおけるバックグラウンドタスクについて理解していきたいと思います。 準備サーバーはいつものように簡単なところからスタ

          responderで理解するWebサーバー #5 バックグラウンドタスク

          ヒマワリ

          ヒマワリ

          responderで理解するWebサーバー #4 デバッグ

          こんにちは、Webエンジニアのjuri-tです。 「あれ、APIの仕様に沿って書いてるのに思ったように動かない・・」「サンプル通りに書いたのに動かない・・」なんてことは、プログラムを書いていると日常茶飯事だと思います。私もしょっちゅうあります。頭の中では「なんでや工藤!」とか「どういうことだってばよ!」とか言ってます。ときどきSlackにも漏れてます。 そんな日常を揶揄してプログラマーの世界にはこんな格言があります。 プログラムは思った通りに動かない。書いた通りに動く。

          responderで理解するWebサーバー #4 デバッグ

          僕がresponderの記事を書く理由

          こんにちは、Webエンジニアのjuri-tです。 今回noteへの投稿5回目です。タイトル通り、どうしてresponderの記事を書き始めたかについてちょっと書こうかと思います。 最近Pythonが流行っているpython最近人気ですね。まぁ私も流行ってから触ってるので、それについては何も言えねぇ・・って感じですが。 pythonが人気の理由はいくつかあると思うんですが、この辺ですかね。 ・スクリプト言語である(コンパイル不要で型も不要ですぐ実行できる。環境構築で挫

          僕がresponderの記事を書く理由

          responderで理解するWebサーバー #3 リクエストとレスポンス

          こんにちは、Webエンジニアのjuri-tです。 今回は、リクエストとレスポンスについて扱います。前回のルーティングと合わせれば、基本的な機能は抑えた気がしますね。 JSON形式でレスポンスを返すまずは簡単な例から。 @api.route('/api/')async def api_response(req, resp): resp.media = {"status": 200, "user": {"id": 1, "name": "juri-t"}} 基本はこの

          responderで理解するWebサーバー #3 リクエストとレスポンス

          responderで理解するWebサーバー #2 ルーティング

          こんにちは、Webエンジニアのjuri-tです。 responder啓蒙活動第2回です。今回はresponderにおけるルーティングについて書きます。 READMEにも書いてある簡単な例import responderapi = responder.API()@api.route("/hello")async def hello(req, resp): resp.text = 'Hello'if __name__ == '__main__': api.run()

          responderで理解するWebサーバー #2 ルーティング

          CookieとSessionの違いを説明できますか?

          こんにちは、Webエンジニアのjuri-tです。 このタイトルの記事を読んでいる方は、おそらく違いが曖昧で困っている方でしょう。 SessionとはHTTPというプロトコルはステートレスなプロトコルです。要は状態を持たないってことですね。これはシンプルで割とうまくいくことも多いです。一方で、やっぱり状態を持ちたいというシチュエーションも往々にしてあります。たとえばログイン状態、はたまたショッピングカートなど。それを解決する手段として、リクエストを跨いだ状態をもつ仕組みがS

          CookieとSessionの違いを説明できますか?

          responderで理解するWebサーバー #1

          こんにちは。Webエンジニアのjuri-tです。 最近軽く触ってみたresponderというフレームワークが割と良かったので、普及活動のために記事にしたいと思います。 タイトルは入門ですが、入門したのは私です。 断っておきたいこととしては、割と良かったというのは私個人の感想なので、PythonのWeb Application Framework(以下WAF)としてresponderを選択すべきと主張するわけではありません。 1. responderとは Githubの

          responderで理解するWebサーバー #1