ar
Feedback
🇺🇦 Python Programming Сhallenges

🇺🇦 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 localhost
4. То что видим в 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

Автор python requests ищет новых владельцев для своих репозиториев, и предлагает передать их во владение в этой теме Если вы умеете в python и вам близка тема open source - wellcome!

COME ON SHOW US THE REGULAR EXPRESSION или как Cloudflare обещает показать регулярное выражение ... https://blog.cloudflare.c
COME ON SHOW US THE REGULAR EXPRESSION или как Cloudflare обещает показать регулярное выражение ... https://blog.cloudflare.com/cloudflare-outage/

Если вы еще не в курсе то уже есть видео с FOSDEM https://video.fosdem.org/2019/UD2.120/

Результаты голосования 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 Там можно найти несколько полезных ссылок и книг)

Рекурсия :)
Рекурсия :)