2024/10 PyCon APAC 2024 のトークネタメモ
トーク申込み
トーク概要
Title
How does Python get the length with the len() function?
Duration*
30min
Abstract*
Python has objects with lengths, such as str and list. To get the length of string variable name, use the len() function instead of name.length. How does the len() function get the length of the name?
Also, how does the if statement determine whether an object is True or False? if statements can be specified with conditions that are True/False, but they can also be passed strings, numbers, and custom data types.
This presentation will explain how the Python core gets the information they need, and how to implement it yourself so that it can be specified for len() and if statements and for loops.
Detailed description
Introduction to Data Types for Beginners
How does Python get the length with the len() function?
How does the if statement use the specified object?
How does the for loop use the specified object?
Summary
Notes
Objectives*
Introduction to Data Types for Python Beginners.
Python beginners often reach a point where they can write simple programs, but they want to take their skills to the next level. To do this, they need to understand how programming languages work at a deeper level.
This talk will introduce beginners to the concept of data types in Python. By understanding how data types work, they will be able to write more complex programs and understand how other programming languages work.
Notes
This talk has been selected as a talk for PyCon PH 2024, which was held in Febulary 2024.
トーク概要
Title*
Structlog in Practice
Duration*
30min
Abstract*
In the era of cloud computing, it is essential to have logs that are structured using JSON and include the context of where the logs came from. This talk will show how to use structlog with Django, Celery, and Sentry in a real web application development scenario.
クラウド時代のログ出力では、JSONによる構造化ログや呼び出し元のコンテキストを含めた出力が必要とされます。このトークではstructlogを使い、実際のWebアプリケーション開発でDjango、Celery、Sentryのコンテキストを繋いでログ出力する例を紹介します。
Detailed description
Easy-to-use logging libraries are great because you can start using them quickly. However, in more complex systems, it's more important to have a library that can handle the complexity and consistently produce traceable logs, rather than just being easy to use.
In the cloud era, logs need to be in a structured JSON format so they can be handled by machines. Also, to improve traceability, the context information of each log should be included in the framework's log output. Such traceable logs can greatly reduce the effort needed for troubleshooting.
Structlog can be customized to meet these needs, but its high customization can be a barrier at first.
The planned agenda is as follows:
Structured and contextual logging required in the cloud era for Python + Web (3 mins)
Recommended logging library for the cloud era: structlog (5 mins)
Setting up structured log output with structlog (5 mins)
How to use context information output by structlog effectively (3 mins)
Linking structlog context from Django to Celery (5 mins)
Linking structlog context to Sentry (5 mins)
Summary and Q&A (4 mins)
簡単に使える便利なログ出力ライブラリは、すぐに使い始められるというメリットがあります。しかし、複雑なシステムで標準ライブラリやフレームワークのログをまとめて扱うためには、使いやすさよりも、複雑な環境でも機能し、追跡しやすい一貫したログを出力できることが重要です。
クラウド時代のログ出力では、ログを機械的に扱えるように、構造化されたJSONフォーマットが求められます。また、各ログの追跡可能性を高めるためにはログのコンテキスト情報をフレームワークのログ出力にも含めることが求められます。こういった追跡可能なログによって、トラブル時の調査にかかる労力は大幅に削減されます。
structlogはこのようなニーズに合わせて自由にカスタマイズが可能ですが、そのカスタマイズ性の高さは最初の導入ハードルにもなっています。
予定しているアジェンダは以下の通りです。
クラウド時代のPython+Webにおけるログ出力に求められる構造化とコンテキスト(3分)
クラウド時代にお勧めのロギングライブラリstructlogについて(5分)
structlogが提供する構造化ログ出力とセットアップ(5分)
structlogのコンテキスト情報出力とその便利な使い方(3分)
structlogのコンテキストをdjangoからceleryに連携する(5分)
structlogのコンテキストをSentryに連携する(5分)
まとめと質疑応答(4分)
Notes:
Objectives*
Many developers use Python's standard logging library, but it has limitations when analyzing problems in complex cloud environments. Structlog, with its high customizability and ability to output logs in a structured JSON format, makes it easier to analyze log data.
Through this talk, I aim to show participants how to use structlog effectively, making their development work smoother and more productive.
多くの開発者がPython標準のログ出力ライブラリを使用していますが、複雑なクラウド環境で発生する問題を効率的に解析するには限界があります。structlogは、そのカスタマイズ性の高さと、ログをJSON形式で構造化して出力する能力により、ログデータをより機械的に解析しやすくすることが可能です。
このトークを通じて、参加者にstructlogの効果的な使い方を伝えることで、開発業務がよりスムーズに、そして生産的に進むことを目指します。
Notes:
This talk has been selected as a talk for PyCon JP 2024, which will be held in September. Therefore, after giving the talk in Japanese, I plan to give the English version at APAC.