🇺🇦 Python Programming Сhallenges
رفتن به کانال در Telegram
Размышления на тему решения различных задач по спортивному программированию на Python и не только.
نمایش بیشتر839
مشترکین
اطلاعاتی وجود ندارد24 ساعت
اطلاعاتی وجود ندارد7 روز
+1730 روز
آرشیو پست ها
beta preview of Python 3.9 is out:
- PEP 584, Union Operators in dict
- PEP 585, Type Hinting Generics In Standard Collections
- PEP 593, Flexible function and variable annotations
- PEP 602, Python adopts a stable annual release cadence
- PEP 615, Support for the IANA Time Zone Database in the Standard Library
- PEP 616, String methods to remove prefixes and suffixes
- PEP 617, New PEG parser for CPython
https://www.python.org/downloads/release/python-390b2/
Import Linter allows you to define and enforce rules for the imports within and between Python packages.
[importlinter]
root_package = myproject
[importlinter:contract:1]
name=Foo doesn't import bar or baz
type=forbidden
source_modules=
myproject.foo
forbidden_modules=
myproject.bar
myproject.baz
Example output:
============= Import Linter ============= --------- Contracts --------- Analyzed 23 files, 44 dependencies. ----------------------------------- Foo doesn't import bar or baz BROKEN Contracts: 1 broken.https://import-linter.readthedocs.io/en/stable/readme.html
После моего доклада на python fwdays обещал рассказать как пользоваться tcpdump:
Andrii Soldatenko, [18.05.20 13:15]
tcpdump example:
1. Я запустил postgresql в докере и пробросли порт в систему (5432)
f9284723a810 postgres "docker-entrypoint.s…" 2 days ago Up 2 days 0.0.0.0:5432->5432
2. запускаем tcpdump:
sudo tcpdump -i lo0 -nX dst port 5432важный параметр: -X print data of each packet in hex and ascii 3. Логинимся
PGPASSWORD=postgres psql -U postgres -h localhost4. То что видим в tcpdump output (некоторые пакеты я пропустил):
13:09:25.020387 IP6 ::1.62337 > ::1.5432: Flags [P.], seq 8:92, ack 2, win 6371, options [nop,nop,TS val 962074756 ecr 962074756], length 84
0x0000: 6004 334d 0074 0640 0000 0000 0000 0000 `.3M.t.@........
0x0010: 0000 0000 0000 0001 0000 0000 0000 0000 ................
0x0020: 0000 0000 0000 0001 f381 1538 3b74 c631 ...........8;t.1
0x0030: b72a e9e7 8018 18e3 007c 0000 0101 080a .*.......|......
0x0040: 3958 1884 3958 1884 0000 0054 0003 0000 9X..9X.....T....
0x0050: 7573 6572 0070 6f73 7467 7265 7300 6461 user.postgres.da
0x0060: 7461 6261 7365 0070 6f73 7467 7265 7300 tabase.postgres.
0x0070: 6170 706c 6963 6174 696f 6e5f 6e61 6d65 application_name
0x0080: 0070 7371 6c00 636c 6965 6e74 5f65 6e63 .psql.client_enc
0x0090: 6f64 696e 6700 5554 4638 0000 oding.UTF8..
1
13:09:25.022436 IP6 ::1.62337 > ::1.5432: Flags [P.], seq 92:133, ack 15, win 6371, options [nop,nop,TS val 962074758 ecr 962074758], length 41
0x0000: 6004 334d 0049 0640 0000 0000 0000 0000 `.3M.I.@........
0x0010: 0000 0000 0000 0001 0000 0000 0000 0000 ................
0x0020: 0000 0000 0000 0001 f381 1538 3b74 c685 ...........8;t..
0x0030: b72a e9f4 8018 18e3 0051 0000 0101 080a .*.......Q......
0x0040: 3958 1886 3958 1886 7000 0000 286d 6435 9X..9X..p...(md5
0x0050: 6234 3339 6532 3464 3065 6231 3861 3635 b439e24d0eb18a65
0x0060: 6431 6563 3039 6438 3231 3333 3665 6565 d1ec09d821336eee
0x0070: 00 .
1
Далее все завист от того как настроен ваш сервер БД (https://www.postgresql.org/docs/9.1/auth-pg-hba-conf.html)
у меня это md5 - Require the client to supply an MD5-encrypted password for authentication. See Section 19.3.2 for details.
13:09:25.022436 IP6 ::1.62337 > ::1.5432: Flags [P.], seq 92:133, ack 15, win 6371, options [nop,nop,TS val 962074758 ecr 962074758], length 41
0x0000: 6004 334d 0049 0640 0000 0000 0000 0000 `.3M.I.@........
0x0010: 0000 0000 0000 0001 0000 0000 0000 0000 ................
0x0020: 0000 0000 0000 0001 f381 1538 3b74 c685 ...........8;t..
0x0030: b72a e9f4 8018 18e3 0051 0000 0101 080a .*.......Q......
0x0040: 3958 1886 3958 1886 7000 0000 286d 6435 9X..9X..p...(md5
0x0050: 6234 3339 6532 3464 3065 6231 3861 3635 b439e24d0eb18a65
0x0060: 6431 6563 3039 6438 3231 3333 3665 6565 d1ec09d821336eee
0x0070: 00 .
1
но бывает там стоит password - Require the client to supply an unencrypted password for authentication =)A tool (and pre-commit hook) to automatically add trailing commas to calls and literals.
tl;dr:
# with no trailing commas x( - arg + arg, + arg2 )
# with trailing commas
x(
arg,
+ arg2,
)
https://github.com/asottile/add-trailing-comma"filter(P, S) is almost always written clearer as [x for x in S if P(x)]"
(с) Guido van Rossum on Python
Дэвид Бизли выложил курс, на который потратил около 13 лет:
https://dabeaz-course.github.io/practical-python
Сегодня буду выступать на бесплатной онлайн конференции Python fwdays’19 с темой: "The art of data engineering".
-> https://fwdays.com/event/python-fwdays-online-conference
PEG Parsers Guido van Rossum
https://medium.com/@gvanrossum_83706/peg-parsers-7ed72462f97c
Автор python requests ищет новых владельцев для своих репозиториев, и предлагает передать их во владение в этой теме
Если вы умеете в python и вам близка тема open source - wellcome!
COME ON SHOW US THE REGULAR EXPRESSION
или как Cloudflare обещает показать регулярное выражение ...
https://blog.cloudflare.com/cloudflare-outage/
Если вы еще не в курсе то уже есть видео с FOSDEM
https://video.fosdem.org/2019/UD2.120/
How to toggle a value in Python:
https://stackoverflow.com/questions/8381735/how-to-toggle-a-value-in-python
Результаты голосования Python Core Devs касательно модели без BDFL ->
https://discuss.python.org/t/python-governance-vote-december-2018-results/546
Нашел старый, но актуальный доклад от Автора книги "Effective Python" на PyConUS 2016 :)
Очень крутые Jupyter notebooks -> https://github.com/bslatkin/pycon2016
https://www.youtube.com/watch?v=D_6ybDcU5gc
Guido van Rossum is the creator of Python, one of the most popular and impactful programming languages in the world. This conversation is part of the Artificial Intelligence podcast and the MIT course 6.S099: Artificial General Intelligence.
https://www.youtube.com/watch?time_continue=1&v=ghwaIiE3Nd8
Всем привет!
15-16 февраля 2019 года пройдет PyConBelarus, мы уже начали принимать заявки на доклады и активно ищем новых спикеров :)
Если вы думаете подать доклад или это ваша первая заявка можно написать мне, я подскажу как это сделать более эффективно (telegram/twitter @a_soldatenko)
https://www.papercall.io/pyconby
https://by.pycon.org/
This function helps you do not see errors during upload solutions, because you forget to switch back to sys.stdin and also you can easily debug your code with ipdb or another python debuggers
https://gist.github.com/andriisoldatenko/cd6d10e2d9ff147a612838e8afa34e3d
Слайды моего доклада на OdessaPY'18 - https://goo.gl/ZjY8JP
Там можно найти несколько полезных ссылок и книг)
Code Jam 2018 Finals Livestream
https://www.youtube.com/watch?v=urT6rDu60h4&feature=share
