Forwarded from ΠΠ½Π°Π»ΠΈΠ· Π΄Π°Π½Π½ΡΡ
(Data analysis)
ΠΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΡ ΠΊΠΎΠ΄Π° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΡΡΡΠΊΠΈΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½ ΠΈΠ»ΠΈ ΡΡΠ΅Π΄Π΅ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ, ΡΠΊΠ°Π·ΡΠ²Π°Ρ ΡΡΠ°ΡΡΠΎΠΊ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ±ΠΎΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ ΠΊΠΎΠ΄Π°.
Π ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΠ Π΄Π»Ρ Python. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ ΡΠ»ΡΡΡΠ°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
βͺ Π§ΠΈΡΠ°ΡΡ
@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from ΠΠΈΠΊΠΎΠ»Π°ΠΉ ΠΡΡΠΏΠΈΠΉ
import sqlite3
from functools import wraps
def create_cache_table():
conn = sqlite3.connect("cache.db")
c = conn.cursor()
c.execute("CREATE TABLE IF NOT EXISTS cache (input text, output text)")
conn.commit()
conn.close()
def drop_cache_table():
conn = sqlite3.connect("cache.db")
c = conn.cursor()
c.execute("DROP TABLE IF EXISTS cache")
conn.commit()
conn.close()
def store_in_cache(input, output):
create_cache_table()
conn = sqlite3.connect("cache.db")
c = conn.cursor()
c.execute("INSERT INTO cache VALUES (?,?)", (input, output))
conn.commit()
conn.close()
def retrieve_from_cache(input):
create_cache_table()
conn = sqlite3.connect("cache.db")
c = conn.cursor()
c.execute("SELECT output FROM cache WHERE input=?", (input,))
result = c.fetchone()
conn.close()
if result:
return result[0]
return None
def cache(func):
@wraps(func)
def wrapper(input):
output = retrieve_from_cache(input)
if output is not None:
print("# from cache: ", end='\t')
return output
else:
print("# new question: ", end='\t')
output = func(input)
store_in_cache(input, output)
return output
return wrapper
@cache
def get_answer(input):
ai_dict = {
"who are you" : "stupid algorithm)",
"2 + 2": '4',
}
return '\t'*3 + ai_dict.get(input, "I don't khow
π€·ββοΈ")
def test():
drop_cache_table()
test_ai_qsts = [
"who are you",
"2 + 2",
"who are you",
"ok"
]
for q in test_ai_qsts:
print(
q, get_answer(q),
sep=' -> \n',
)
if __name__ == '__main__':
test()
@getcher ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠΎΠ²Forwarded from DataEng
100 ΡΠ°ΠΌΡΡ
ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
Python Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ²
ΠΠ°ΡΠ΅Π» Π² ΡΠ΅ΡΠΈ ΠΏΠΎΠ΄Π±ΠΎΡΠΊΡ ΠΈΠ· 100 ΡΠ°ΠΌΡΡ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΡ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² ΠΏΡΠΎ Python: 100 most-watched Python 2023 conference talks ordered by the number of views
Π‘ΡΠ΅Π΄ΠΈ ΡΡΠΈΡ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² ΠΏΠΎΠΏΡΠ»ΡΡΠ½Ρ ΡΠ΅ΠΌΡ ΠΏΡΠΎ Rust, data engineering ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π ΡΠ»ΠΎΠ²Ρ, PyCon US 2024 ΡΠΆΠ΅ ΠΏΡΠΎΡΠ΅Π», Π½ΠΎ Π² ΠΎΡΠΊΡΡΡΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ΅ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π½Π΅Ρ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ². ΠΠ°Π΄Π΅ΡΡΡ Π½Π° ΠΈΡ ΡΠΊΠΎΡΠΎΠ΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅, Ρ.ΠΊ. ΡΠ°ΠΌ Π΅ΡΡΡ Π½Π° ΡΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ.
ΠΠ°ΡΠ΅Π» Π² ΡΠ΅ΡΠΈ ΠΏΠΎΠ΄Π±ΠΎΡΠΊΡ ΠΈΠ· 100 ΡΠ°ΠΌΡΡ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΡ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² ΠΏΡΠΎ Python: 100 most-watched Python 2023 conference talks ordered by the number of views
Π‘ΡΠ΅Π΄ΠΈ ΡΡΠΈΡ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² ΠΏΠΎΠΏΡΠ»ΡΡΠ½Ρ ΡΠ΅ΠΌΡ ΠΏΡΠΎ Rust, data engineering ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π ΡΠ»ΠΎΠ²Ρ, PyCon US 2024 ΡΠΆΠ΅ ΠΏΡΠΎΡΠ΅Π», Π½ΠΎ Π² ΠΎΡΠΊΡΡΡΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ΅ Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ Π½Π΅Ρ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ². ΠΠ°Π΄Π΅ΡΡΡ Π½Π° ΠΈΡ ΡΠΊΠΎΡΠΎΠ΅ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅, Ρ.ΠΊ. ΡΠ°ΠΌ Π΅ΡΡΡ Π½Π° ΡΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ.
Forwarded from Newprolab: ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ DE ΠΈ DS
Simplifying the Python Code for Data Engineering Projects
ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½Π°Ρ ΡΡΠ°ΡΡΡ (10 min read)
Π‘ΡΠ°ΡΡΡ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΠΈ Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π° Π½Π° Python Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π°Π½Π½ΡΡ . ΠΠ½Π° ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ Π²Π°ΠΆΠ½ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ , ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Python.
ΠΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ
π ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
π ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ ΡΠ°ΡΡΡΠΌΠΈ: ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ°Π·Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡ ΠΏΠΎΡΡΠΈΡΠΌΠΈ (batch processing). ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΠ°ΠΌΡΡΡΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΡΠ°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π΄Π°Π½Π½ΡΡ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°Π½Π½ΡΡ
π ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Pydantic Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ»Π΅ΠΉ Π΄Π°Π½Π½ΡΡ : Pydantic ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡ Π΅ΠΌΡ Π΄Π°Π½Π½ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Python. ΠΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΈ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΈΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ ΠΈ ΡΠΎΡΠ½ΠΎΡΡΡ.
π Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ: Pydantic ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΏΠ»Π°ΡΠ΅ΠΆΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²). ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΡΡ .
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ
π ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΠΎΠ² Python Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ: ΠΠ΅ΠΊΠΎΡΠ°ΡΠΎΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²ΡΡΠ²Π»ΡΡΡ ΡΠ·ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ° ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.
π ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (
-
-
-
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° Π΄Π°Π½Π½ΡΡ
π ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Pytest Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ: Pytest ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΎΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ², ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎΠ±Ρ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ²ΠΎΠΈ Π·Π°Π΄Π°ΡΠΈ.
π ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ: Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²ΡΡΠ²Π»ΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Π½Π° ΡΠ°Π½Π½ΠΈΡ ΡΡΠ°Π΄ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ , Π³Π΄Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΡΠ΄Π½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠΌΡΠΌΠΈ.
ΠΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ
π ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:
Π‘ΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
π ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ : Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°Π½Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π΅ΠΎΡΡΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ ΡΠ°ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π²ΡΡΠΎΠΊΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΡΡ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠ΅Π»ΠΎΠΌ.
#ΠΏΠΎΡΠΈΡΠ°ΡΡ
ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½Π°Ρ ΡΡΠ°ΡΡΡ (10 min read)
Π‘ΡΠΎΠΈΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΈΠ»ΠΈ Π½Π΅Ρ? Π‘Π΄Π΅Π»Π°Π»ΠΈ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ π
Π‘ΡΠ°ΡΡΡ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΠΈ Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π° Π½Π° Python Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π°Π½Π½ΡΡ . ΠΠ½Π° ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ Π²Π°ΠΆΠ½ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ , ΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Python.
ΠΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ
π ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
yield
Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΠΎΠ»ΡΡΠΈΡ
Π½Π°Π±ΠΎΡΠΎΠ² Π΄Π°Π½Π½ΡΡ
: yield
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π·Π° ΡΠ°Π· Π²ΠΌΠ΅ΡΡΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²ΡΠ΅Ρ
Π΄Π°Π½Π½ΡΡ
Π² ΠΏΠ°ΠΌΡΡΡ. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΈ ΡΡΠΊΠΎΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ
.π ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ ΡΠ°ΡΡΡΠΌΠΈ: ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ°Π·Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡ ΠΏΠΎΡΡΠΈΡΠΌΠΈ (batch processing). ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΠ°ΠΌΡΡΡΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΡΠ°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π΄Π°Π½Π½ΡΡ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°Π½Π½ΡΡ
π ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Pydantic Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ»Π΅ΠΉ Π΄Π°Π½Π½ΡΡ : Pydantic ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡ Π΅ΠΌΡ Π΄Π°Π½Π½ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Python. ΠΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΈ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΈΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ ΠΈ ΡΠΎΡΠ½ΠΎΡΡΡ.
π Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ: Pydantic ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΏΠ»Π°ΡΠ΅ΠΆΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²). ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΡΡ .
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ
π ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΠΎΠ² Python Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ: ΠΠ΅ΠΊΠΎΡΠ°ΡΠΎΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²ΡΡΠ²Π»ΡΡΡ ΡΠ·ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ° ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.
π ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (
map, filter, reduce
):-
map
ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ Π²ΡΠ΅ΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΏΠΈΡΠΊΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΈΠΊΡΠ° ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΠΏΠ»Π°ΡΠ΅ΠΆΠ½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²).-
filter
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΠΈΡΠΈ Ρ ΠΏΠ»Π°ΡΠ΅ΠΆΠ½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ "Cryptocurrency").-
reduce
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Ρ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ).Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° Π΄Π°Π½Π½ΡΡ
π ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Pytest Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ: Pytest ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΎΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠΎΠ², ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎΠ±Ρ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ²ΠΎΠΈ Π·Π°Π΄Π°ΡΠΈ.
π ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ: Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π²ΡΡΠ²Π»ΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Π½Π° ΡΠ°Π½Π½ΠΈΡ ΡΡΠ°Π΄ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ , Π³Π΄Π΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΡΡΠ΄Π½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠΌΡΠΌΠΈ.
ΠΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ
π ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:
Π‘ΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ Π΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
π ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ : Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°Π½Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π΅ΠΎΡΡΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ ΡΠ°ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π²ΡΡΠΎΠΊΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π΄Π°Π½Π½ΡΡ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠ΅Π»ΠΎΠΌ.
#ΠΏΠΎΡΠΈΡΠ°ΡΡ
Medium
Simplifying the Python Code for Data Engineering Projects
Python tricks and techniques for data ingestion, validation, processing, and testing: a practical walkthrough
ΠΠ° Π΄Π½ΡΡ
ΠΌΠ½Π΅ ΠΏΠΎΠ΄ΠΊΠΈΠ½ΡΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ°Π½Π°Π» https://t.me/press_any_button , ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΡΠΈΡΠΌΠΎΡΡΠ΅ΡΡΡΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ π
ΠΠ²ΡΠΎΡΡ ΠΏΡΠ±Π»ΠΈΠΊΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π³Π°ΠΉΠ΄Ρ ΠΏΠΎ python, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π° django, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ docker, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π±ΠΎΡΠΎΠ² Ρ aiogram ΠΈ ΠΏΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ΅ΠΌΠ°ΠΌ. Π’Π°ΠΊ ΠΆΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π½Π° python. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΡ https://t.me/press_any_button/738 π
ΠΠ»Ρ ΡΠ΅Ρ ΠΊΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΌΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π½Π°ΡΠ°ΡΡ ΡΠΈΡΠ°ΡΡ ΠΊΠ°Π½Π°Π» Ρ ΡΠ°ΠΌΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠΎΡΡΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠΉΡΠΈ ΡΠ΅ΡΠ΅Π· ΡΡΠΎΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΠΉΡΠΎΠ² Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½ΡΠ»Ρ π, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ django.
ΠΠ²ΡΠΎΡΡ ΠΏΡΠ±Π»ΠΈΠΊΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π³Π°ΠΉΠ΄Ρ ΠΏΠΎ python, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π° django, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ docker, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π±ΠΎΡΠΎΠ² Ρ aiogram ΠΈ ΠΏΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ΅ΠΌΠ°ΠΌ. Π’Π°ΠΊ ΠΆΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π½Π° python. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΡ https://t.me/press_any_button/738 π
ΠΠ»Ρ ΡΠ΅Ρ ΠΊΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΌΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π½Π°ΡΠ°ΡΡ ΡΠΈΡΠ°ΡΡ ΠΊΠ°Π½Π°Π» Ρ ΡΠ°ΠΌΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠΎΡΡΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠΉΡΠΈ ΡΠ΅ΡΠ΅Π· ΡΡΠΎΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΠΉΡΠΎΠ² Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½ΡΠ»Ρ π, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ django.
Telegram
ΠΠΎΠ΄ Π½Π° ΡΠ°Π»ΡΠ΅ΡΠΊΠ΅
ΠΠ°Π½Π°Π» Π΄Π»Ρ ΡΠ΅Ρ
, ΠΊΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ.
Π‘Π°ΠΉΡ ΠΊΠ°Π½Π°Π»Π°: https://pressanybutton.ru/
Π§Π°Ρ ΠΊΠ°Π½Π°Π»Π°: https://t.me/+Li2vbxfWo0Q4ZDk6
ΠΠ°ΠΌΠ΅ΡΠΊΠΈ Π°Π²ΡΠΎΡΠ°: https://t.me/writeanynotes
Π Π΅ΠΊΠ»Π°ΠΌΠ° ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠΏΠΈΠ°Ρ: @Murzyev1995
Π‘Π°ΠΉΡ ΠΊΠ°Π½Π°Π»Π°: https://pressanybutton.ru/
Π§Π°Ρ ΠΊΠ°Π½Π°Π»Π°: https://t.me/+Li2vbxfWo0Q4ZDk6
ΠΠ°ΠΌΠ΅ΡΠΊΠΈ Π°Π²ΡΠΎΡΠ°: https://t.me/writeanynotes
Π Π΅ΠΊΠ»Π°ΠΌΠ° ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠΏΠΈΠ°Ρ: @Murzyev1995
# ΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΊ Π΄ΠΎΠΊΠ»Π°Π΄Ρ Π½Π° PYCON RUSSIA: "ΠΠΎΠ»Π³Π°Ρ Π΄ΠΎΡΠΎΠ³Π° ΠΊ JIT"
Π£ΠΆΠ΅ Π·Π°Π²ΡΡΠ° ΡΡΠ°ΡΡΡΠ΅Ρ pycon, Π° Ρ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π΄Π΅Π½Ρ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»ΡΠ²Π°Ρ Π²Π΅ΡΡ Π΄ΠΎΠΊΠ»Π°Π΄ π. ΠΡΠΊΠ»Π°Π΄ΡΠ²Π°Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎ Π΄ΠΎΠΊΠ»Π°Π΄Ρ Π΄Π»Ρ Π·ΡΠΈΡΠ΅Π»Π΅ΠΉ. ΠΠ°Π²ΡΡΠ° ΠΏΠΎΡΠ»Π΅ Π²ΡΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Π²ΡΠ»ΠΎΠΆΡ Π² ΠΊΠ°Π½Π°Π» ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ, Π½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ Π·Π°ΠΏΠΈΡΠΈ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°ΡΡ.
## ΠΡΠΎ cpython ΠΈ Π±Π°ΠΉΡΠΊΠΎΠ΄
- ΠΡΠΎΠ½Π°ΡΡΠ΅Π² ΠΠ²Π³Π΅Π½ΠΈΠΉ - Π ΠΏΠΎΠ±ΡΡΡΡΠ΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ? - Π΄ΠΎΠΊΠ»Π°Π΄ ΠΏΡΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±Π°ΠΉΡΠΎΠΊΠΎΠ΄ΠΎΠΌ, Π² ΡΠ°ΠΌΠΊΠ°Ρ Π½Π΅Π³ΠΎ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π±Π°ΠΉΡΠΊΠΎΠ΄ ΠΈ ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ cpython (ru)
- ΠΡΠΎΠ½Π°ΡΡΠ΅Π² ΠΠ²Π³Π΅Π½ΠΈΠΉ - Π°Π΄Π°ΠΏΡΠΈΡΡΠΉΡΡ ΠΈΠ»ΠΈ ΡΠΌΡΠΈ - Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΄ΠΎΠΊΠ»Π°Π΄Π° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Specializing Adaptive Interpreter (ru)
## ΠΡΠΎ JIT Π² ΡΠ΅Π»ΠΎΠΌ
- ΡΠ°Π·Π±ΠΎΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΡΠΈΠ΅ΠΌΠΎΠ² Π΄Π»Ρ JIT Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ Π‘ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ru)
- ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ JIT Π΄Π»Ρ brainfuck ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ (eng)
- ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ jit Π΄Π»Ρ lua (eng)
## ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² python ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π»Π΅Ρ
- ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ DSL Π΄Π»Ρ Π±Π°ΠΉΡΠΊΠΎΠ΄Π° Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ cpython (eng)
- ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ DSL Π΄Π»Ρ Π±Π°ΠΉΡΠΊΠΎΠ΄Π° (eng)
- ΡΠ°Π½Π½ΠΈΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ tier2 ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΠ° (uops) (eng)
- PEP 669 β Low Impact Monitoring for CPython (eng)
- PEP 689 β Unstable C API tier (eng)
## PEP 744 β JIT Compilation
- Brandt Bucher β A JIT Compiler for CPython ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΊΠΎΡ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅ΡΠΎΠ² (eng)
- JIT Π² Python | ΠΠΈΠΊΠΈΡΠ° Π‘ΠΎΠ±ΠΎΠ»Π΅Π² Π΄ΠΎΠΊΠ»Π°Π΄ ΠΎΡ core developer (ru)
- PR Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ JIT (eng)
- PEP ΠΏΡΠΎ JIT, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΈ ΠΏΡΠΈΠ½ΡΡΡΠΉ ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΌΠ΅ΡΠΆΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (eng)
- ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ PEP (eng)
- Π½Π°ΡΡΠ½Π°Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΎ copy-and-patch jit (eng)
- Ρ ΠΎΡΠΎΡΠ°Ρ ΡΡΠ°ΡΡΡ Ρ ΠΏΡΠΎΡΡΡΠΌ ΡΠ°Π·ΡΡΡΠ½Π΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ JIT Π² python (eng)
#pycon
Π£ΠΆΠ΅ Π·Π°Π²ΡΡΠ° ΡΡΠ°ΡΡΡΠ΅Ρ pycon, Π° Ρ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π΄Π΅Π½Ρ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»ΡΠ²Π°Ρ Π²Π΅ΡΡ Π΄ΠΎΠΊΠ»Π°Π΄ π. ΠΡΠΊΠ»Π°Π΄ΡΠ²Π°Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎ Π΄ΠΎΠΊΠ»Π°Π΄Ρ Π΄Π»Ρ Π·ΡΠΈΡΠ΅Π»Π΅ΠΉ. ΠΠ°Π²ΡΡΠ° ΠΏΠΎΡΠ»Π΅ Π²ΡΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Π²ΡΠ»ΠΎΠΆΡ Π² ΠΊΠ°Π½Π°Π» ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ, Π½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ Π·Π°ΠΏΠΈΡΠΈ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°ΡΡ.
## ΠΡΠΎ cpython ΠΈ Π±Π°ΠΉΡΠΊΠΎΠ΄
- ΠΡΠΎΠ½Π°ΡΡΠ΅Π² ΠΠ²Π³Π΅Π½ΠΈΠΉ - Π ΠΏΠΎΠ±ΡΡΡΡΠ΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ? - Π΄ΠΎΠΊΠ»Π°Π΄ ΠΏΡΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±Π°ΠΉΡΠΎΠΊΠΎΠ΄ΠΎΠΌ, Π² ΡΠ°ΠΌΠΊΠ°Ρ Π½Π΅Π³ΠΎ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π±Π°ΠΉΡΠΊΠΎΠ΄ ΠΈ ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ cpython (ru)
- ΠΡΠΎΠ½Π°ΡΡΠ΅Π² ΠΠ²Π³Π΅Π½ΠΈΠΉ - Π°Π΄Π°ΠΏΡΠΈΡΡΠΉΡΡ ΠΈΠ»ΠΈ ΡΠΌΡΠΈ - Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΄ΠΎΠΊΠ»Π°Π΄Π° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Specializing Adaptive Interpreter (ru)
## ΠΡΠΎ JIT Π² ΡΠ΅Π»ΠΎΠΌ
- ΡΠ°Π·Π±ΠΎΡ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΡΠΈΠ΅ΠΌΠΎΠ² Π΄Π»Ρ JIT Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ Π‘ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (ru)
- ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ JIT Π΄Π»Ρ brainfuck ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ (eng)
- ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ jit Π΄Π»Ρ lua (eng)
## ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² python ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π»Π΅Ρ
- ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ DSL Π΄Π»Ρ Π±Π°ΠΉΡΠΊΠΎΠ΄Π° Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ cpython (eng)
- ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ DSL Π΄Π»Ρ Π±Π°ΠΉΡΠΊΠΎΠ΄Π° (eng)
- ΡΠ°Π½Π½ΠΈΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ tier2 ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΠ° (uops) (eng)
- PEP 669 β Low Impact Monitoring for CPython (eng)
- PEP 689 β Unstable C API tier (eng)
## PEP 744 β JIT Compilation
- Brandt Bucher β A JIT Compiler for CPython ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΊΠΎΡ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅ΡΠΎΠ² (eng)
- JIT Π² Python | ΠΠΈΠΊΠΈΡΠ° Π‘ΠΎΠ±ΠΎΠ»Π΅Π² Π΄ΠΎΠΊΠ»Π°Π΄ ΠΎΡ core developer (ru)
- PR Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ JIT (eng)
- PEP ΠΏΡΠΎ JIT, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΈ ΠΏΡΠΈΠ½ΡΡΡΠΉ ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΌΠ΅ΡΠΆΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (eng)
- ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ PEP (eng)
- Π½Π°ΡΡΠ½Π°Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΎ copy-and-patch jit (eng)
- Ρ ΠΎΡΠΎΡΠ°Ρ ΡΡΠ°ΡΡΡ Ρ ΠΏΡΠΎΡΡΡΠΌ ΡΠ°Π·ΡΡΡΠ½Π΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ JIT Π² python (eng)
#pycon
ΠΡΠ»ΠΎΠΆΠΈΠ»ΠΈ Π² ΠΏΠ°Π±Π»ΠΈΠΊ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΠ»Π΅ΠΉΠ»ΠΈΡΡ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² Ρ ekbpy π₯
ΠΡ ΡΠ΅Π±Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π΄ΠΎΠΊΠ»Π°Π΄Π°ΠΌΠΈ
π€ ΠΠΈΠΊΠΎΠ»Π°ΠΉ ΠΠ°ΡΠΊΠΎΠ² - Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ - Ρ ΠΎΡΠΎΡΠ΅Π΅, ΠΏΠ»ΠΎΡ ΠΎΠ΅, Π·Π»ΠΎΠ΅? - ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ Π² python, ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ ΡΠ΅ΠΉΡΠ°Ρ?
π€ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Ρ ΠΠΎΠ½ΡΠ°ΡΠΎΠ². Π§ΠΈΡΡΡΠΉ ΠΊΠΎΠ΄: Π°Π½ΡΠΈΠΏΠ°ΡΡΠ΅ΡΠ½Ρ Π² ΠΏΠΈΡΠΎΠ½Π΅, ΠΈ ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌΠΈ Π±ΠΎΡΠΎΡΡΡΡ - Π±ΠΎΠ΄ΡΠΎ, Π²Π΅ΡΠ΅Π»ΠΎ, Π·Π°Π΄ΠΎΡΠ½ΠΎ ΠΏΡΠΎ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ Π°Π½ΡΠΈΠΏΠ°ΡΡΠ΅ΡΠ½Ρ, Ρ ΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄Π°ΡΠ°, ΡΠΌΠΎΡ
π€ ΠΠ»Ρ ΠΠΌΠΈΠ½ Π£ΠΆΠ°Ρ ΠΎΠ². ΠΠ°ΠΊ Π²Π½ΡΡΡΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Litestar? - ΠΏΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°
#ekbpy
ΠΡ ΡΠ΅Π±Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π΄ΠΎΠΊΠ»Π°Π΄Π°ΠΌΠΈ
π€ ΠΠΈΠΊΠΎΠ»Π°ΠΉ ΠΠ°ΡΠΊΠΎΠ² - Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ - Ρ ΠΎΡΠΎΡΠ΅Π΅, ΠΏΠ»ΠΎΡ ΠΎΠ΅, Π·Π»ΠΎΠ΅? - ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ Π² python, ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ½ΠΈ ΡΠ΅ΠΉΡΠ°Ρ?
π€ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Ρ ΠΠΎΠ½ΡΠ°ΡΠΎΠ². Π§ΠΈΡΡΡΠΉ ΠΊΠΎΠ΄: Π°Π½ΡΠΈΠΏΠ°ΡΡΠ΅ΡΠ½Ρ Π² ΠΏΠΈΡΠΎΠ½Π΅, ΠΈ ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌΠΈ Π±ΠΎΡΠΎΡΡΡΡ - Π±ΠΎΠ΄ΡΠΎ, Π²Π΅ΡΠ΅Π»ΠΎ, Π·Π°Π΄ΠΎΡΠ½ΠΎ ΠΏΡΠΎ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ Π°Π½ΡΠΈΠΏΠ°ΡΡΠ΅ΡΠ½Ρ, Ρ ΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄Π°ΡΠ°, ΡΠΌΠΎΡ
π€ ΠΠ»Ρ ΠΠΌΠΈΠ½ Π£ΠΆΠ°Ρ ΠΎΠ². ΠΠ°ΠΊ Π²Π½ΡΡΡΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Litestar? - ΠΏΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°
#ekbpy
YouTube
EkbPy 2024
Π£ΡΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ ΠΏΠΎ Python 2 ΡΠ΅Π²ΡΠ°Π»Ρ 2024 Π³ΠΎΠ΄Π°
https://peps.python.org/pep-0751/
ΠΡ Π½Π΅ ΠΆΠ΄Π°Π»ΠΈ ΠΈ Π½Π΅ ΠΏΡΠΎΡΠΈΠ»ΠΈ, Π½ΠΎ ΠΎΠ½ ΠΏΡΠΈΡΠ΅Π». ΠΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ pep ΠΏΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ lock ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π²Π΅ΡΡΠΈΠΉ ΡΡΠ°Π½Π·ΠΈΡΠΈΠ²Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² python. ΠΠ²ΡΠΎΡ ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ Π±ΡΠ΅ΡΡΡ Π·Π° ΠΏΡΠ°Π²ΠΎ ΠΏΡΠΈΠ½ΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ pep, ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π² ΡΡΠΎΡ ΡΠ°Π· Π΅ΠΌΡ ΡΠΎΠΏΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ΄Π°ΡΠ°. ΠΡΠ΅ ΠΆΠ΅ Π»ΡΡΡΠΉ Π·ΠΎΠΎΠΏΠ°ΡΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ (poentry, pipenv, pdm, rye) ΠΏΠΎΡΠ° ΡΠΆΠ΅ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ-ΡΠΎ ΠΎΠ±ΡΠ΅ΠΌΡ Π·Π½Π°ΠΌΠ΅Π½Π°ΡΠ΅Π»Ρ.
ΠΡΠΈΠΌΠ΅Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°
PEP 665 β A file format to list Python dependencies for reproducibility of an application - ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΎΡΠΊΠ»Π°Π½Π΅Π½Π½ΡΠΉ pep ΠΎΡ ΡΡΠΎΠ³ΠΎ ΠΆΠ΅ Π°Π²ΡΠΎΡΠ°
ΠΡ Π½Π΅ ΠΆΠ΄Π°Π»ΠΈ ΠΈ Π½Π΅ ΠΏΡΠΎΡΠΈΠ»ΠΈ, Π½ΠΎ ΠΎΠ½ ΠΏΡΠΈΡΠ΅Π». ΠΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ pep ΠΏΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ lock ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ Π²Π΅ΡΡΠΈΠΉ ΡΡΠ°Π½Π·ΠΈΡΠΈΠ²Π½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² python. ΠΠ²ΡΠΎΡ ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ Π±ΡΠ΅ΡΡΡ Π·Π° ΠΏΡΠ°Π²ΠΎ ΠΏΡΠΈΠ½ΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ pep, ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π² ΡΡΠΎΡ ΡΠ°Π· Π΅ΠΌΡ ΡΠΎΠΏΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ΄Π°ΡΠ°. ΠΡΠ΅ ΠΆΠ΅ Π»ΡΡΡΠΉ Π·ΠΎΠΎΠΏΠ°ΡΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ (poentry, pipenv, pdm, rye) ΠΏΠΎΡΠ° ΡΠΆΠ΅ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ-ΡΠΎ ΠΎΠ±ΡΠ΅ΠΌΡ Π·Π½Π°ΠΌΠ΅Π½Π°ΡΠ΅Π»Ρ.
ΠΡΠΈΠΌΠ΅Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°
PEP 665 β A file format to list Python dependencies for reproducibility of an application - ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΎΡΠΊΠ»Π°Π½Π΅Π½Π½ΡΠΉ pep ΠΎΡ ΡΡΠΎΠ³ΠΎ ΠΆΠ΅ Π°Π²ΡΠΎΡΠ°
Python Enhancement Proposals (PEPs)
PEP 751 β A file format to record Python dependencies for installation reproducibility | peps.python.org
This PEP proposes a new file format for specifying dependencies to enable reproducible installation in a Python environment. The format is designed to be human-readable and machine-generated. Installers consuming the file should be able to calculate wha...
Forwarded from HABR FEED + OPENNET
Π Π°Π±ΠΎΡΠ° ΠΏΠ°ΠΌΡΡΠΈ Π² Python #habr
https://habr.com/ru/post/721804/
Tags: Python, python, ΠΏΠ°ΠΌΡΡΡ, memory management
Author: broffer
https://habr.com/ru/post/721804/
Tags: Python, python, ΠΏΠ°ΠΌΡΡΡ, memory management
Author: broffer
Π₯Π°Π±Ρ
Π Π°Π±ΠΎΡΠ° ΠΏΠ°ΠΌΡΡΠΈ Π² Python
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Python - ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄ ΡΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅ΡΡΡ Π² ΠΌΠ°ΡΠΈΠ½ΠΎΡΠΈΡΠ°Π΅ΠΌΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ - Π±Π°ΠΉΡ-ΠΊΠΎΠ΄. ΠΠ°ΠΉΡ-ΠΊΠΎΠ΄ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ,...
Forwarded from Zen of Python
Π Python ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²?
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ JavaScript, C#, Dart ΠΈΠ»ΠΈ Rust, Π³Π΄Π΅ Π΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΡΠΈΠΏΠ° npm, NuGet, pub ΠΈΠ»ΠΈ Cargo, Python ΡΡΠ°Π½Π΄Π°ΡΡΡ ΠΎΠ±ΠΎΡΠ»ΠΈ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΠ΅Π»ΡΠΉ Π²ΠΎΡΠΎΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, pip, venv, conda ΠΈ Π΄Ρ.
Π₯ΠΎΡΠΎΡΠΎ ΡΡΠΎ ΠΈΠ»ΠΈ ΠΏΠ»ΠΎΡ ΠΎ? ΠΠ²ΡΠΎΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΡΠΎΠΌ Π²ΠΎΠΏΡΠΎΡ, ΠΏΠΎΠΏΡΡΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°Π² ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ Π΄Π»Ρ Python:
https://dublog.net/blog/so-many-python-package-managers/
Π Π²Ρ Π·Π° ΠΎΠ±ΠΈΠ»ΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΌΠ΅ΡΡΠ°Π΅ΡΠ΅ ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ?
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ JavaScript, C#, Dart ΠΈΠ»ΠΈ Rust, Π³Π΄Π΅ Π΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΡΠΈΠΏΠ° npm, NuGet, pub ΠΈΠ»ΠΈ Cargo, Python ΡΡΠ°Π½Π΄Π°ΡΡΡ ΠΎΠ±ΠΎΡΠ»ΠΈ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΠ΅Π»ΡΠΉ Π²ΠΎΡΠΎΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, pip, venv, conda ΠΈ Π΄Ρ.
Π₯ΠΎΡΠΎΡΠΎ ΡΡΠΎ ΠΈΠ»ΠΈ ΠΏΠ»ΠΎΡ ΠΎ? ΠΠ²ΡΠΎΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΡΠΎΠΌ Π²ΠΎΠΏΡΠΎΡ, ΠΏΠΎΠΏΡΡΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°Π² ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ Π΄Π»Ρ Python:
https://dublog.net/blog/so-many-python-package-managers/
Π Π²Ρ Π·Π° ΠΎΠ±ΠΈΠ»ΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΌΠ΅ΡΡΠ°Π΅ΡΠ΅ ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ?
Forwarded from Zen of Python
ΠΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΡΠΈΡΡΡΠΉ ΠΊΠΎΠ΄ Π½Π° Python. Π‘ΠΎΠ²Π΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ
ΠΠ°ΠΏΠΈΡΠ°Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ² ΠΈ ΠΏΡΠ°Π²ΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ. Π Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΠΊΠ΅ΠΌ-ΡΠΎ, ΡΠΎ Π±Π΅Π· ΡΡΠΎΠ³ΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΠΈΠΊΡΠ΄Π°.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ PEP8, poetry, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ Driven Development ΠΈ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΡΠΈΡΡΡΠΉ ΠΊΠΎΠ΄ Π½Π° Python.
#ΡΠΎΠ²Π΅ΡΡ #ΡΠΈΡΡΡΠΉΠΊΠΎΠ΄
ΠΠ°ΠΏΠΈΡΠ°Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ² ΠΈ ΠΏΡΠ°Π²ΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ. Π Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΠΊΠ΅ΠΌ-ΡΠΎ, ΡΠΎ Π±Π΅Π· ΡΡΠΎΠ³ΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΠΈΠΊΡΠ΄Π°.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ PEP8, poetry, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ Driven Development ΠΈ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΡΠΈΡΡΡΠΉ ΠΊΠΎΠ΄ Π½Π° Python.
#ΡΠΎΠ²Π΅ΡΡ #ΡΠΈΡΡΡΠΉΠΊΠΎΠ΄
Forwarded from Zen of Python
ΠΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΡΡΡ, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΡΡΡ Π² python
Π₯ΠΎΡΡ Python ΠΏΠΎΠΊΠ° ΠΈ Π½Π΅ ΡΡΠ°Π» ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΌ ΠΎΠ±Π΅ΡΠ°ΡΡ Π² Python 3.13, ΠΊΠΎΠ΅-ΡΡΠΎ ΠΎΠ½ Π²ΡΡ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΠΎΠΌ:
β ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅;
β ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ Π²ΠΈΠ΄Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
β ΡΠ·Π½Π°ΡΡ ΠΏΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΎΠΊΠΈ ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ΄.
https://youtu.be/_4QY1nGFRY8
#Π²ΠΈΠ΄Π΅ΠΎ #ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ
Π₯ΠΎΡΡ Python ΠΏΠΎΠΊΠ° ΠΈ Π½Π΅ ΡΡΠ°Π» ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΌ ΠΎΠ±Π΅ΡΠ°ΡΡ Π² Python 3.13, ΠΊΠΎΠ΅-ΡΡΠΎ ΠΎΠ½ Π²ΡΡ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΠΎΠΌ:
β ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅;
β ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ Π²ΠΈΠ΄Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
β ΡΠ·Π½Π°ΡΡ ΠΏΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΎΠΊΠΈ ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ΄.
https://youtu.be/_4QY1nGFRY8
#Π²ΠΈΠ΄Π΅ΠΎ #ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ
YouTube
ΠΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΡΡΡ, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ, ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΡΡΡ Π² python | ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° asyncio ΠΈ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ΄
Π Π²ΠΈΠ΄Π΅ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈ Π²ΠΈΠ΄Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ - ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΎΠΊΠΈ ΠΈ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ΄. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ asyncio ΠΈ ΠΊΠ°ΠΊ Π½Π° python ΠΏΠΈΡΠ°ΡΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ΄.
ΠΠΎΠΈ ΠΊΡΡΡΡ Π½Π° Udemy:
π ΠΠΎΠ»ΡΡΠΎΠΉ ΠΊΡΡΡ ΠΏΠΎ Pythonβ¦
ΠΠΎΠΈ ΠΊΡΡΡΡ Π½Π° Udemy:
π ΠΠΎΠ»ΡΡΠΎΠΉ ΠΊΡΡΡ ΠΏΠΎ Pythonβ¦
Forwarded from Zen of Python
Π Python ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²?
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ JavaScript, C#, Dart ΠΈΠ»ΠΈ Rust, Π³Π΄Π΅ Π΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΡΠΈΠΏΠ° npm, NuGet, pub ΠΈΠ»ΠΈ Cargo, Python ΡΡΠ°Π½Π΄Π°ΡΡΡ ΠΎΠ±ΠΎΡΠ»ΠΈ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΠ΅Π»ΡΠΉ Π²ΠΎΡΠΎΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, pip, venv, conda ΠΈ Π΄Ρ.
Π₯ΠΎΡΠΎΡΠΎ ΡΡΠΎ ΠΈΠ»ΠΈ ΠΏΠ»ΠΎΡ ΠΎ? ΠΠ²ΡΠΎΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΡΠΎΠΌ Π²ΠΎΠΏΡΠΎΡ, ΠΏΠΎΠΏΡΡΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°Π² ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ Π΄Π»Ρ Python:
https://dublog.net/blog/so-many-python-package-managers/
Π Π²Ρ Π·Π° ΠΎΠ±ΠΈΠ»ΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΌΠ΅ΡΡΠ°Π΅ΡΠ΅ ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ?
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ JavaScript, C#, Dart ΠΈΠ»ΠΈ Rust, Π³Π΄Π΅ Π΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΡΠΈΠΏΠ° npm, NuGet, pub ΠΈΠ»ΠΈ Cargo, Python ΡΡΠ°Π½Π΄Π°ΡΡΡ ΠΎΠ±ΠΎΡΠ»ΠΈ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΠ΅Π»ΡΠΉ Π²ΠΎΡΠΎΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, pip, venv, conda ΠΈ Π΄Ρ.
Π₯ΠΎΡΠΎΡΠΎ ΡΡΠΎ ΠΈΠ»ΠΈ ΠΏΠ»ΠΎΡ ΠΎ? ΠΠ²ΡΠΎΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΡΠΎΠΌ Π²ΠΎΠΏΡΠΎΡ, ΠΏΠΎΠΏΡΡΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°Π² ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ Π΄Π»Ρ Python:
https://dublog.net/blog/so-many-python-package-managers/
Π Π²Ρ Π·Π° ΠΎΠ±ΠΈΠ»ΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΌΠ΅ΡΡΠ°Π΅ΡΠ΅ ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ?
Forwarded from Zen of Python
ΠΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΡΠΈΡΡΡΠΉ ΠΊΠΎΠ΄ Π½Π° Python. Π‘ΠΎΠ²Π΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ
ΠΠ°ΠΏΠΈΡΠ°Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ² ΠΈ ΠΏΡΠ°Π²ΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ. Π Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΠΊΠ΅ΠΌ-ΡΠΎ, ΡΠΎ Π±Π΅Π· ΡΡΠΎΠ³ΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΠΈΠΊΡΠ΄Π°.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ PEP8, poetry, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ Driven Development ΠΈ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΡΠΈΡΡΡΠΉ ΠΊΠΎΠ΄ Π½Π° Python.
#ΡΠΎΠ²Π΅ΡΡ #ΡΠΈΡΡΡΠΉΠΊΠΎΠ΄
ΠΠ°ΠΏΠΈΡΠ°Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ² ΠΈ ΠΏΡΠ°Π²ΠΈΠ» Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ. Π Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΠΊΠ΅ΠΌ-ΡΠΎ, ΡΠΎ Π±Π΅Π· ΡΡΠΎΠ³ΠΎ Π²ΠΎΠΎΠ±ΡΠ΅ Π½ΠΈΠΊΡΠ΄Π°.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ PEP8, poetry, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ python-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ Driven Development ΠΈ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΡΠΈΡΡΡΠΉ ΠΊΠΎΠ΄ Π½Π° Python.
#ΡΠΎΠ²Π΅ΡΡ #ΡΠΈΡΡΡΠΉΠΊΠΎΠ΄
Forwarded from Zen of Python
ΠΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΡΡΡ, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΡΡΡ Π² python
Π₯ΠΎΡΡ Python ΠΏΠΎΠΊΠ° ΠΈ Π½Π΅ ΡΡΠ°Π» ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΌ ΠΎΠ±Π΅ΡΠ°ΡΡ Π² Python 3.13, ΠΊΠΎΠ΅-ΡΡΠΎ ΠΎΠ½ Π²ΡΡ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΠΎΠΌ:
β ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅;
β ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ Π²ΠΈΠ΄Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
β ΡΠ·Π½Π°ΡΡ ΠΏΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΎΠΊΠΈ ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ΄.
https://youtu.be/_4QY1nGFRY8
#Π²ΠΈΠ΄Π΅ΠΎ #ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ
Π₯ΠΎΡΡ Python ΠΏΠΎΠΊΠ° ΠΈ Π½Π΅ ΡΡΠ°Π» ΠΏΠΎ-Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΌ, ΠΊΠ°ΠΊ Π½Π°ΠΌ ΠΎΠ±Π΅ΡΠ°ΡΡ Π² Python 3.13, ΠΊΠΎΠ΅-ΡΡΠΎ ΠΎΠ½ Π²ΡΡ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΠΎΠΌ:
β ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅;
β ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ Π²ΠΈΠ΄Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ;
β ΡΠ·Π½Π°ΡΡ ΠΏΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΎΠΊΠΈ ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ΄.
https://youtu.be/_4QY1nGFRY8
#Π²ΠΈΠ΄Π΅ΠΎ #ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ
YouTube
ΠΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΡΡΡ, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡ, ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΡΡΡ Π² python | ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° asyncio ΠΈ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ΄
Π Π²ΠΈΠ΄Π΅ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈ Π²ΠΈΠ΄Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ - ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΎΠΊΠΈ ΠΈ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ΄. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ asyncio ΠΈ ΠΊΠ°ΠΊ Π½Π° python ΠΏΠΈΡΠ°ΡΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠ΄.
ΠΠΎΠΈ ΠΊΡΡΡΡ Π½Π° Udemy:
π ΠΠΎΠ»ΡΡΠΎΠΉ ΠΊΡΡΡ ΠΏΠΎ Pythonβ¦
ΠΠΎΠΈ ΠΊΡΡΡΡ Π½Π° Udemy:
π ΠΠΎΠ»ΡΡΠΎΠΉ ΠΊΡΡΡ ΠΏΠΎ Pythonβ¦
Forwarded from Data Whisperer
ΠΠΈΠ½ΡΠ΅ΡΡ Π² Python
Π python ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΈΠ½ΡΠ΅ΡΠΎΠ² Π½Π° Π»ΡΠ±ΠΎΠΉ Π²ΠΊΡΡ ΠΈ ΡΠ²Π΅Ρ, Π²ΡΠ±ΠΈΡΠ°ΠΉ ΠΊΠ°ΠΊΠΎΠΉ Π½ΡΠ°Π²ΠΈΡΡΡ ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΠΉ ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ.
ΠΠΎ Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅ ΡΠ°ΠΌΡΠΌ ΠΆΠ΅ΡΡΠΊΠΈΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ wemake-python-styleguide
Π£ Π½ΠΈΡ Π΄Π°ΠΆΠ΅ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π·Π°ΡΠ²Π»Π΅Π½ΠΎ
Welcome to the strictest and most opinionated Python linter ever.
ΠΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΊΠ½ΡΡΠΈΠ±ΡΡΡΠΎΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΠΈΠΊΠΈΡΠ° Π‘ΠΎΠ±ΠΎΠ»Π΅Π², Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΊΡΡΡΠΎΠΉ ΠΊΡΡΡ Π’ΠΈΠΏΠΈΠ·Π°ΡΠΈΡ Π² Python.
ΠΠ°ΡΠ° ΠΠ½ΠΆΠ΅Π½Π΅ΡΡ Π½Π΅ ΡΠ°ΠΊ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΏΠ°ΡΡΠ²Π°ΡΡΡΡ Π² Π»ΠΈΠ½ΡΠ΅ΡΡ ΠΈ CI ΠΊΠ°ΠΊ Π±ΡΠΊΠ΅Π½Π΄Π΅ΡΡ, Π½ΠΎ Π²ΡΠ΅ ΡΠ°ΡΠ΅ ΡΡΠΎ ΠΏΡΠΈΡΡΡΡΠ²ΡΠ΅Ρ Π² Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Airflow ΠΈ TaskFlow API.
ΠΠ΅ΡΠ΅ΠΌ ΠΊΠΎΠ΄ Ρ ΡΠ°ΠΉΡΠ° Astranomer ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π»ΠΈΠ½ΡΠ΅Ρ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ.
ΠΡΠ»ΠΈ Π½Π΅ Π±ΡΠ°ΡΡ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ΅ Π²ΠΎΡΠ½ΠΈΠ½Π³ΠΈ ΡΠΈΠΏΠ°:
- Q000 Double quotes found but single quotes preferred
- W292 no newline at end of file
Π’ΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΎΡΠ½ΠΈΠ³:
- WPS430 Found nested function: extract_bitcoin_price
ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π΄Π°Π³Π°, ΡΡΠΎΠ±Ρ Π»ΠΈΠ½ΡΠ΅ΡΡ ΠΏΡΠΎΡΠ»ΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π³Π° (ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡ Π½Π° ΡΠ°ΠΉΡΠ΅ astronomer Π½Π° Traditional syntax).
Π ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄ΡΡΠ³ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ Π²ΠΎΡΠ½ΠΈΠ½Π³:
- WPS428 Found statement that has no effect
ΠΡΠ΅ΠΌ Π·Π½Π°ΠΊΠΎΠΌΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΌΡΠ΅ΠΉ Π² airflow ΡΠΎΠΆΠ΅ Π½Π΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ Π»ΠΈΠ½ΡΠ΅Ρ.
ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎΠ±Ρ Π»ΠΈΠ½ΡΠ΅ΡΡ ΠΏΡΠΎΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π² Airflow.
ΠΠΈΠ½ΡΠ΅ΡΡ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ Π½ΡΠΆΠ½Ρ, Π½ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π»ΠΈΠ½ΡΠ΅Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΠΈΡΡΡ ΠΏΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡ, Π° Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
ΠΠ΅ΡΠ΅Π΄ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ΠΌ Π»ΠΈΠ½ΡΠ΅ΡΠΎΠ² Π² ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ΄ΠΈΡΠΈ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ, Π° ΠΎΡ ΠΊΠ°ΠΊΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ.
Π₯ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π±ΡΠ» ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π²ΡΡΠ΅ Ρ Airflow, Π²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π» Ρ ΠΎΡΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° Airflow ΠΈ Astronomer
Π python ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΈΠ½ΡΠ΅ΡΠΎΠ² Π½Π° Π»ΡΠ±ΠΎΠΉ Π²ΠΊΡΡ ΠΈ ΡΠ²Π΅Ρ, Π²ΡΠ±ΠΈΡΠ°ΠΉ ΠΊΠ°ΠΊΠΎΠΉ Π½ΡΠ°Π²ΠΈΡΡΡ ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΠΉ ΠΏΠΎΠ΄ ΡΠ΅Π±Ρ.
ΠΠΎ Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅ ΡΠ°ΠΌΡΠΌ ΠΆΠ΅ΡΡΠΊΠΈΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ wemake-python-styleguide
Π£ Π½ΠΈΡ Π΄Π°ΠΆΠ΅ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π·Π°ΡΠ²Π»Π΅Π½ΠΎ
Welcome to the strictest and most opinionated Python linter ever.
ΠΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΊΠ½ΡΡΠΈΠ±ΡΡΡΠΎΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΠΈΠΊΠΈΡΠ° Π‘ΠΎΠ±ΠΎΠ»Π΅Π², Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΊΡΡΡΠΎΠΉ ΠΊΡΡΡ Π’ΠΈΠΏΠΈΠ·Π°ΡΠΈΡ Π² Python.
ΠΠ°ΡΠ° ΠΠ½ΠΆΠ΅Π½Π΅ΡΡ Π½Π΅ ΡΠ°ΠΊ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠΏΠ°ΡΡΠ²Π°ΡΡΡΡ Π² Π»ΠΈΠ½ΡΠ΅ΡΡ ΠΈ CI ΠΊΠ°ΠΊ Π±ΡΠΊΠ΅Π½Π΄Π΅ΡΡ, Π½ΠΎ Π²ΡΠ΅ ΡΠ°ΡΠ΅ ΡΡΠΎ ΠΏΡΠΈΡΡΡΡΠ²ΡΠ΅Ρ Π² Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Airflow ΠΈ TaskFlow API.
ΠΠ΅ΡΠ΅ΠΌ ΠΊΠΎΠ΄ Ρ ΡΠ°ΠΉΡΠ° Astranomer ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π»ΠΈΠ½ΡΠ΅Ρ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ.
ΠΡΠ»ΠΈ Π½Π΅ Π±ΡΠ°ΡΡ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ΅ Π²ΠΎΡΠ½ΠΈΠ½Π³ΠΈ ΡΠΈΠΏΠ°:
- Q000 Double quotes found but single quotes preferred
- W292 no newline at end of file
Π’ΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΎΡΠ½ΠΈΠ³:
- WPS430 Found nested function: extract_bitcoin_price
@dag(schedule="@daily", start_date=datetime(2021, 12, 1), catchup=False)
def taskflow():
@task(task_id="extract", retries=2)
def extract_bitcoin_price() -> Dict[str, float]:
return requests.get(API).json()["bitcoin"]
ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π΄Π°Π³Π°, ΡΡΠΎΠ±Ρ Π»ΠΈΠ½ΡΠ΅ΡΡ ΠΏΡΠΎΡΠ»ΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π³Π° (ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡ Π½Π° ΡΠ°ΠΉΡΠ΅ astronomer Π½Π° Traditional syntax).
Π ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄ΡΡΠ³ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ Π²ΠΎΡΠ½ΠΈΠ½Π³:
- WPS428 Found statement that has no effect
extract_bitcoin_price >> process_data >> store_data
ΠΡΠ΅ΠΌ Π·Π½Π°ΠΊΠΎΠΌΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠΌΡΠ΅ΠΉ Π² airflow ΡΠΎΠΆΠ΅ Π½Π΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ Π»ΠΈΠ½ΡΠ΅Ρ.
ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎΠ±Ρ Π»ΠΈΠ½ΡΠ΅ΡΡ ΠΏΡΠΎΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π² Airflow.
ΠΠΈΠ½ΡΠ΅ΡΡ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ Π½ΡΠΆΠ½Ρ, Π½ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π»ΠΈΠ½ΡΠ΅Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΠΈΡΡΡ ΠΏΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡ, Π° Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
ΠΠ΅ΡΠ΅Π΄ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ΠΌ Π»ΠΈΠ½ΡΠ΅ΡΠΎΠ² Π² ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ΄ΠΈΡΠΈ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ, Π° ΠΎΡ ΠΊΠ°ΠΊΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ.
Π₯ΠΎΡΠΎΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π±ΡΠ» ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π²ΡΡΠ΅ Ρ Airflow, Π²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π» Ρ ΠΎΡΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° Airflow ΠΈ Astronomer
tough-dev.school
Π’ΠΈΠΏΠΈΠ·Π°ΡΠΈΡ Π² Python
Forwarded from Data Whisperer
Π Π² Π΄ΠΎΠ³ΠΎΠ½ΠΊΡ ΠΏΡΡΠ½ΠΈΡΠ½ΠΎΠ΅ ΠΏΡΠΎ Π»ΠΈΠ½ΡΠ΅ΡΡ Π΄Π»Ρ Python Dev