Pull to refresh
4
0.2

Пользователь

Send message

Что это за бред? Доказательства будут?

Регулярно читаю как ещё один автор <PROGRAM_NAME> объявил, что не будет поддерживать Wayland, потому что они опять что-то сломали и не хотят чинить. Кажется, недавно вспоминали jitsi и захват рабочего стола или типа того.

в арче консоль по дефолту, иксы или вейланд ставят по желанию.

Я в курсе, что Арч ничего не навязывает из коробки. Но уровень поддержки xorg и wayland сообществом сильно отличается. Сужу по арчвики - в гайде предлагается ставить xorg, в статье про mate предполагается xorg и ни слова про связку с wayland.

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

В смысле автор получает отчисления с продаж иксов? Wayland недружелюбен к разработчикам, Поттеринг недружелюбен ни к кому, в Арче вэйланд пока ещё не по дефолту, и Mate (gnome 2), кажется, тоже с ним не до конца дружит.

Исключения ещё можно на континуациях сделать.

Поддерживаю - ключом может быть любой объект с методом __hash__. Даже __hash__ = lambda _: return 42 подойдёт.

  1. Напишите регулярное выражение, которое будет принимать идентификатор электронной почты. Используйте модуль re.

На самом деле, это подлянский вопрос из разряда бинарного поиска.

Так же как Солнце и Галактика - это наши солнце и галактика. Экзопланеты "землями", впрочем, не называют.

Тоже недавно заметки на Obsidian перевёл. К сожалению, настольный клиент на электроне, и ссылки Obsidian не подходят для других markdown редакторов. Ну хотя бы так.
Поскольку я чужим облакам не доверяю, то синхронизацию сделал через Syncthing в своей VPN - крутая штука, всем советую.

Длинно - это соответствует принципам Single Responsibility и Dependency Inversion. Бэкенд не должен заниматься настройкой адаптера к базе и вообще не должен знать о том, что адаптер реально собой представляет.
Коротко - разгружаем init, проще расширяться, проще делать мок-тесты - не возимся с флагами внутри Backend, а просто передаём туда MockAdapter для тестов.

Я его как-то случайно переизобрёл когда из ФП в Питон вернулся. Потом уже вспомнил, что в SOLID'е чёт такое было. В ФП просто это совершенно естественный ход вещей.

В питоне отсутствие return эквивалентно return None. Если мы аннотируем функции, то возращаемый тип тоже будет type(None) -> None

Пример чего? Dependency injection?
Вместо

class Backend:
  def __init__(self, config):
    self.adapter = DbAdapter(user=config["user"], password=config["password"])

def main():
  ...
  backend = Backend(config)
  ...

Делаем так

class Backend:
  def __init__(self, adapter):
    self.adapter = adapter

def main():
  ...
  adapter = DbAdapter(config["uri"], config["password"])
  backend = Backend(adapter)
  ...

Я лично даже стараюсь не использовать конструкцию DbAdapter(config["uri"], config["password"]). Для каждой сущности своя секция в конфиге: DbAdapter(config["database"]). Или DbAdapter(**config["database"]) для самоуверенных.

Примеры неубедительные, что и понятно, потому что они слишком простые. И если они простые, нет нужды упарываться по паттернам, это частая ошибка.
Ок, допустим, у нас большая сложная инициализация, которую мы хотим упростить. Ну, я бы предпочёл простые поля развернуть как обычно, а объекты передать через Dependency Injection - пока не встречал кода, где этого было бы недостаточно.

Как написан fib_closed_form? Возводим double в степень, вычитаем, делим на double, округляем? Тогда вопрос - начиная с какого n даблы начнуть давать ошибки?

Много ли на "чистом" sql можно написать такого что нельзя сделать через orm? Зато orm даёт больше безопасности.

Например, мне ещё далеко до того чтобы упереться в производительность. Зато баги случаются постоянно - поле не того типа, поле пропущено. Плюс замедляется разработка - каждое добавление колонки требует кучу переписываний, пропустишь одно - см. предыдущие предложение.

Прямо сейчас пишу себе микро-орм для Монги с поддержкой motor_asyncio. Мне не нравится дизайн многих орм в которых параметры соединения и сессии передаются через глобальные переменные и плохо работают с asyncio. Поэтому я начал с класса Adapter, который хранит в себе сессию и является фабрикой для моделей. Хочу чтобы интерфейс выглядел примерно так:

class User(metaclass=orm.Model):
  id_ = orm.Field(index=ASCENDING)
  name = orm.Field()

adapter = Adapter("mongodb://localhost:27017")
# protected определяет, будут ли методы типа insert, delete, update среди методов user_class
user_class = adapter.retrieve_model(User, database="test", collection="users", protected=False)
await user = user_class.find(name="test")
await user_class.insert(User(name="test2"))

orm.Model делает свои классы наследуемыми от ProtectedModel / FreeModel, которые имеют разный набор CRUD операций. Adapter.retrieve_model добавляет инстанс AsyncIOMotorCollection в новый класс.
В принципе, всё вроде получается, но если кто-то подскажет хороший проект для референсов или ещё чего - будет круто.

Удалена поддержка таких браузеров, как Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape, Firebird, и Firefox до версии 36.

Это шутка? Или как вообще браузеры поддерживались в языке?

Скажите в чём лучше держать и я переложу туда часть портфеля. В баксах? Ну у меня там комиссия 1% в месяц и $1000 за перевод. В бумагах? Nvidia год не могу продать, а Газпром - увольте.
Биткоин будет скакать туда-сюда, но я смогу так или иначе его вывести и он стоит столько, сколько стоит вера его энтузиастов. Холодный кошелёк, конечно.
Чем вот для обычного Васяна, вроде меня, биток отличается от ценных бумаг, например? Инвестиции и инвестиции. Но не сбережения, ок.

Да я ж не спорю, что командный режим у вима отличный. Просто лично я выбираю вим за эргономику и отсутствие необходимости в мышке.

В результате совершенно не представляю зачем нужны vi/vim/emacs

в итоге перешел на свою программу с WYSIWYG редактором и прочим функционалом таким как я хочу

Вот примерно за этим - сделать как удобнее самому, только не нужно совсем уж строить с нуля. Я тоже перебрал разные редакторы на пути к виму и под виндой по мелочи в саблайме сижу (ну чисто одностраничники в питоне набросать), но пока не вижу замены виму как основной ide. У остальных редакторов есть фатальные недостатки (как минимум необходимость мыши), а у вима ничего, что нельзя было бы исправить плагинами.

Information

Rating
2,034-th
Location
Россия
Registered
Activity