All streams
Search
Write a publication
Pull to refresh
4
0
dannie-walker @danSamara

User

Send message

Ну чо ты сразу с козырей-то заходишь

Оставить исключения только для исключительных случаев.

Как иронично...

Можно установить и в систему через пакет — удобно для контейнеров.
А для локальной разработки удобнее в домашнее окружение — несколько редакций, типов сборки и кэш пакетов — переключается и обновляется на лету, не надо глобально систему дёргать.

Зачем нужен let

Потому что есть много сахара, основанного на паттерн матчинге, как пример: if-let, без let наверное можно было бы обойтись, но читаемость была бы сильно ниже.


Всё что не константы, должно быть mutable

Что, по-вашему должно происходить в выражении "x = y" и почему?


Подозреваю, правила видимости переменных в расте слишком либеральны.

Строго консервативны


Должна быть поддержка utf8/utf16 с определением длины таких строк в символах

Какая длина у составных эмодзи и почему вы думаете, что ваш вариант устроит всех?

Анна Каренина ехала в карете с приподнятым задом.

Если используете databases, имейте ввиду, что оно не поддерживает параметры по умолчанию для полей в модели:
https://github.com/encode/databases/issues/72
https://github.com/encode/databases/pull/206

Микродополнения к статье спустя годы.


Словари


dict — словарь. Интересная особенность, что словарь не гарантирует сохранение порядка (в PHP гарантирует)

В-четвёртых: существует упорядоченный dict — OrderedDict.

Начиная с версии Python 3.7 расположение элементов в словаре гарантируется "в порядке вставки"


Функции


В Python аналогично можно ловить в массив неименнованные и в словарь именованные аргументы:

Соответственно *args — list неименованных аргументов, **kwargs — dict именованных аргументов.

В версии Python 3.8 синтаксис объявления аргументов расширен.


Версии


Разумных причин начинать новый проект на Python 2 на момент 2019 года нет.

Тем более, что, согласно PEP-0373 жизненный цикл ветки 2.x будет официально завершён 01 января 2020 г. Версия Python 2.7 станет последней:


Being the last of the 2.x series, 2.7 will receive bugfix support until 2020. Support officially stops January 1 2020, but the final release will occur after that date.

Часто это требование бизнеса: "девопсы дорогие, Амазон дешевле"

Это до первой встречи, например, с полицией, когда вы будете в роли человека, который им не нравится. Прививку от любви к родине получите на несколько лет вперёд.
Потом можно будет ревакцинацию сделать.

У меня были знакомые "медвежатники по вызову". По их словам, могут вскрыть подавляющее большинство замков, с которыми имеют дело, без повреждения оных. Однако, не делают этого по причине невозможности получения "лицензии медвежатника в законе", понятие о которой в законе отсутствует. В результате вынуждены вскрывать замки грубой силой, но стараются это делать с минимальными для владельца материальными тратами.

Используйте Common Table Expressions и временные таблицы, когда вам нужно выполнить цепочечные запросы.

Только не забывайте, что до версии PG 12, CTE материализуются.

Используйте a.b.c.d.e и будет exception

Если говорить о Python 3 в целом, то в версии 3.8 у нас будут Assignment Expressions (PEP 572):
if x := True:
     print(f'{x}')
# Выведет: True

x = 2
print([y := x**x, y**2, y**3])
# Выведет: [4, 16, 64]


И много разговоров про None-aware operators (PEP 505), значительно сокращающие код:
# Old
data = data if data is not None else []
# New
data = data ?? []

# Old
if lst:
    lst.append('string')
# New
lst?.append('string')

# Old
if callable(foo):
    foo()
# New
foo?()

# Old
if x:
   x + 1
# New
x? + 1

# Old
result = a
try:
    result = result.b
except AttributeError:
    pass
else:
    result = result.c
    try:
        result = result.d
    except AttributeError:
        pass
    else:
        result = result.e
# New
a?.b.c?.d.e

Однако PEP 505 сейчас в состоянии Deferred.

Ну и конечно следовало в статье упомянуть asyncio — это важная часть, по которой сделано много хорошей и качественно работы.
Не истечёт, а незначительно измениться. Эти скидки — побуждение к покупке.
История цены за три месяца
image

Vue.js вне конкуренции, судя по всему.
ph_piter, подскажите, почему, при заказе на сайте, у вас отсутствует вариант «самовывоз из магазина»?
В разделе где купить вижу пару десятков магазинов (Самара), а самовывоз только из ПВЗ СДЭКа.
Если они включат эту опцию, то данные карт будут присутствовать в видео, а видео хранится в AppSee, а AppSee не платёжный шлюз и им PCI DSS соблюдать не надо.

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Chief Technology Officer (CTO)
Lead
People management
Building a team
Linux
High-loaded systems
PostgreSQL
Python
Rust