Search
Write a publication
Pull to refresh
0
0
Андрей Серов @zmejserow

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

Send message

фоновые сервисы, которые выполняют синхронизацию данных, теперь принудительно останавливаются после шести часов активной работы

интересно, а вот это можно будет отключить как-то для выбранных приложений? у меня syncthing синкает базу obsidian и базу с паролями для keepass; вообще не помню, когда его открывал. если для синка придётся его раз в шесть часов открывать...

Да, это здорово!
Блин, так это, похоже, не нам везло, а просто запретили… Дело в чём: я 2020 встречал в Херцег-Нови, и курящих не было ни в одном баре. Мы с женой думали, что просто везёт на некурящие заведения :)
Серьёзно, теперь в ЧГ нельзя курить в кабаках и кафешках? Больше нет чёрненьких табличек на столах «Dozvoleno pušenje»?
Ну, кстати, сейчас туристические визы государства ЕС не дают из-за ковида. Если закончился шенген — сидишь дома или катаешься по безвизовым соседним Босниям и Македониям, шансов скататься в Загреб или Афины ноль.
Я не нагнетаю, я живу в Сербии шесть лет и езжу в Черногорию на море. В Сербии та же картина, к слову.
Ещё один момент автором упущен: в Черногории курят практически все. При этом курение разрешено в заведениях (это не Европа и не Россия). Зашёл в кафешку, посидел, вернулся домой — стирай одежду.
Во всём меру знать нужно, конечно. Например, за такой comprehension golf можно и селёдкой по щщам:

{
    'pages': [
        {
            'customerapprovalStatus'
                if k == 'statusCA' else k:
            'APPROVED'
                if k == 'statusCA' else page[k]
            for k in page if k == 'pageID' or k == 'statusCA'
        }
        for page in elements['pages']
    ]
}


А для построения IMAP-запроса с множественными FROM reduce подходит как нельзя лучше: gist.github.com/zmej-serow/4d6292591c690563e7dd205964f8b8ee
а, да. действительно, я эти тесты делал для иллюстрирования немного другой идеи.
ну хорошо, давайте сделаем такой цикл, а генератор забудем как нерелевантный:

def loop(error, list_of_errors):
    a = False
    for error_message in list_of_errors:
        if error in error_message:
            a = True
    return a


list items 10, list length 500:
  • loop 5.5052784
  • reduce 12.4489548
  • any_lst 9.775371399999997


list items 5000, list length 10:
  • loop 40.1854446
  • reduce 53.282886000000005
  • any_lst 56.423127699999995


всё равно ощутимо медленнее. оверхед на вызов функции даёт о себе знать.

так-то я только за функциональный подход и сам стараюсь его везде использовать: правильно написанный функциональный код легче читать и поддерживать.
но в преимущественно императивном языке типа питона приходится искать баланс между красотой и производительностью.
буквально на днях тесты проводил как раз: github.com/zmej-serow/imperative_vs_functional_python/blob/master/testing.py

  • reduce: 5.9973929
  • any_gen: 1.0433306
  • any_lst: 5.5095213
  • loop: 0.5569408000000013
«повышения скорости» не будет вообще. функции в питоне дороги, и тот же цикл, записанный имплицитно, будет работать в разы быстрее. увы.
Iosevka.
Узкая, красивая, лигатуры есть, если надо, и «глаз по вертикали скользит».
Descent.
Первая игруха, в которую я натурально не смог играть — фиг сориентируешься. Убивали мгновенно, очень сложно уворачиваться было. :)
О, ну раз Another World помянули… был ещё Flashback от этих же ребят. Тоже затягивал весьма!
А не за что благодарить — я не понимаю, почему бы нет. Врядли вы обладаете правами на официальный перевод книги и обеспокоены соседством с пиратским англоязычным оригиналом.
Ладно, не вопрос, я уже нашёл оригинал.

И, пожалуй, положу в форк :)
А зачем здесь Flask? Разве что у вас бот крутится не на той машине, которой вы хотите управлять.
github.com/nickoala/telepot
А можете выложить рядом с переводом оригинал? Спасибо!
Извините, конечно, но не «трансцендентальные», а «трансцендентные».
Трансцендентальность — это кое-что другое :)

Information

Rating
Does not participate
Location
Белград, Белград, Сербия
Date of birth
Registered
Activity