• DjangoCon Europe 2019. А не сдох ли ваш пони?
    0
    Зависит от того что и как разрабатывать. Если вот в описанном стиле, то хоть на хаскеле оно будет как в 1С. Это не проблема языка и фреймворка.
  • Ускорить сложные вычисления с минимальной загрузкой RAM
    0
    1. функция power_2 бесполезна и её результат аналогичен обычному range(11)
    2. if i < 11: бесполезен, range(11) последним числом вернет 10
      >>> list(range(11))
      [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    3. переменные в теле цикла не инициализируют, например d = 0 и d += i**200000 фактически просто прибавление i**200000 к нулю.

    Итого после исправления некоторых ошибок:


    >>>
    >>>
    >>> d = 0
    >>> total_2 = 0
    >>>
    >>> for i in range(1, 11):
    ...     start = time()
    ...     d += i**200000
    ...     end = time()
    ...     total_2 += end - start
    ...     # print('Iteration {} lasts {}'.format(i, round(total_2, 6)))
    ...
    >>> print('    \n End with total time {} \n'.format(round(total_2,3)))
    
     End with total time 0.077
    
    >>>
    >>>
    >>>
    >>> from time import time # импорт модуля времени
    >>>
    >>>
    >>> total_1 = 0
    >>>
    >>> def power_1(x):
    ...     global total_1
    ...     start = time()
    ...     power = x**200000
    ...     end = time()
    ...     total_1 += end - start
    ...     return round(total_1,6)
    ...
    >>> # простые операции сложения, для того что бы посчитать отдельно время операции
    ... power_1(1) + power_1(2) + power_1(3) + power_1(4) + power_1(5) + power_1(6) + power_1(7) + power_1(8) \
    ... + power_1(9) + power_1(10)
    0.308704
    >>>
    >>> print('    \n End with total time {} \n'.format(round(total_1,3)))
    
     End with total time 0.078

    Тут бы еще поправить подсчет времени – сложение для больших чисел, как вы заметили, тоже требует времени, а оно тут не учитывается. Очевидно, что при исправлении ошибок код эквивалентен.

  • Занимательный пролог #3
    0
    Хмм, странно, вроде был под питон, а сейчас не ставится. Ну ладно тогда.
  • Занимательный пролог #3
    0
    И еще возможно стоило бы попробовать re2, он детерминированный насколько я понимаю.
  • Занимательный пролог #3
    0
    А fnmatch никто не пробовал?
    >>> import time
    >>> start = time.time(); fnmatch.fnmatch('aaaabaaaabbbbaabbbaabbaababbabbaaaababaaabbbbbbaabbbabababbaaabaabaaaaaabbaabbbbaababbababaabbbaababbbba', '*****b*aba***babaa*bbaba***a*aaba*b*aa**a*b**ba***a*a*'); time.time() - start
    True
    816.2632331848145
    >>>
  • Как запустить Istio, используя Kubernetes в production. Часть 1
    0
    Много эта штука добавляет оверхеда? Я правильно понял, что теперь с каждым подом ездит envoy proxy, и проксирует все запросы?
  • Руководство к созданию собственного когортного отчёта по возвратности
    0
    Для тех кто в теме нового ничего нет. Для тех кто не в теме видимо ничего не понятно что и зачем, а жаль. Развивайте тему, полезная.
  • Генерация кода на Python при помощи Hy
    0
    Вероятно можно было бы сделать на Hy прикольную кодогенерацию. Но возможно пример хромой, и галопом по европам тоже не помогает. Может вторая попытка?
  • Что за чёрт, Python
    +6
    Практически. Все эти штучки отлавливаются в первые полгода знакомства с языком. Дальше все логично.
    То есть вообще не то же самое что с JS, где про сравнения я вот прям ну никак не скажу что же там получится в итоге, и в больших сомнениях что у меня есть ресурсы это держать в памяти.
  • Что за чёрт, Python
    +9
    Про клаузу и генератор, где несовпадение времени обработки — это ужас. Во-первых что такое «клауза»? Во-вторых объяснение поведения описано просто ужасно, in срабатывает, что??
  • Призрак локомотива или биржевой рынок через призму корреляций
    +2
    безумные строки это еще полдела, в коде куча штук типа:
    if:
        много много много строк
    else:
        continue
    

    или unlink на файл в каждой ветке двух вложенных if.
    Очень рекомендую кому-то дать свой код на ревью перед публикацией, текущий вариант показывать нельзя.
  • Как я SQLAlchemy удобной сделал
    +1
    Вы пошли по стандартному сценарию — не открыли свое сердце для алхимии, а сделали привычный интерфейс, с которым познакомились первым. Я бы не сказал что что-то из этого круче и задачи бывают разные, но задетектить в этом плане свое когнитивное искажение стоит.

    Интерфейс алхимии сильно гибче аналогичных из перечисленного. Алхимия не прячет от вас SQL, наоборот в алхимии гораздо проще понять что в итоге получишь. Какой запрос для вас сготовит джанга — та хз, надо смотреть логи и в кишках копаться. Когда джанга кинет запрос, где словишь N+1 и тому подобные тонкости.

    С другой стороны к алхимии у меня тоже есть пачка претензий, но она гораздо тоньше чем к django orm и аналогам.
    Неспроста в RoR есть arel, а activerecord поверх.

    Вашим пакетом лично я вряд ли буду пользоваться, лишний слой абстракции, и новичкам сильно бы не советовал. Но писать опенсорс достойно, желаю успехов )
  • Синий экран смерти при копировании через Remote Desktop теперь доступен и на серверной платформе
    0
    В описании говорится что far использует свои, особые вызовы. Весьма вероятно, что powershell так не делает.
  • Синий экран смерти при копировании через Remote Desktop теперь доступен и на серверной платформе
    0
    Многие разработчики вообще не пользуются файловыми менеджерами. Если умеешь командную строку, настроено автодополнение и тп, то быстрее вбить команду, чем ползать по папкам, а с помощью мыши или стрелочек, это уже дело десятое. А этому интерфейсу еще больше лет чем нортону.

    Сила интерфейса не в новых стильных иконках.
  • Чем заменить ELK для просмотра логов?
    0
    Не вот прям про логи, а более общая фича.
    http://blog.getsentry.com/2016/05/04/breadcrumbs.html
  • Чем заменить ELK для просмотра логов?
    0
    Там у Sentry апдейт вышел кстати. Как раз про логи.
  • Программисты на C — самый большой разделённый народ в мире?
    0
    скорее «Перейти ~куда_угодно_только_не_в_сторк»
  • Клещи атакуют
    0
    Я читал что была вакцина, но началась антипрививочная истерика, и все компании забили — себе дороже такие прививки производить. В итоге для собак она есть, я для людей никто не рискует связываться.
  • Tarantool как сервер приложений
    0
    А нет никакого инструментария для управления зависимостями там и тп? Ранние адаптеры не выкладывают своих решений?
  • Django: Как быстро получить ненужные дубликаты в простом QuerySet
    0
    Ну и для демонстрации, если очень захочется именно в порядке списка вывести, в SQL это будет так:

    SELECT * FROM users
    JOIN (values (1, 7), (2, 9), (3, 8)) as ids(ordr, uid) ON uid = users.id
    ORDER BY ordr;
    
  • Django: Как быстро получить ненужные дубликаты в простом QuerySet
    +1
    Плюс за смелость, вроде банальщина, но правда люди попадаются. Особенно именно на этом кейсе — кажется интуитивно, что выведется в том же порядке, в котором айдишники сунули :) Ан нет, хочешь порядок, напиши какой.
  • Про Swift, и почему мои большие проекты будут на Objective-C еще какое-то (возможно долгое) время
    0
    Обычные такие интерфейсы :) Структура не класс — можно например наследовать структуру?

    Явная или неявная реализация это дело то десятое. Например в Go легко с этой неявной фигней попасть в проблемы, так что это не фишка, это беда, мое мнение. Но классов в Go нет. Нет, структуры это не классы. Нет, даже то что там где-то можно объявить нечто похожее на методы, не делает структуры ООП классами.

    Протоколы это не фича из objc, это современный тренд, который повсюду. Просмотрите все языки которые в тренде — там везде так или иначе используется эта фишка вместо наследования. Вместо, не вместе.

    Смотрел доклад по свифт эппловский — там основной упор на то как делать без классов. Так что классы это временное явление, чтобы голову сразу не ломать людям. Вам же скажи что ООП всё, ой что начнется. А тут все прилично — вот вам ООП, это прям практически привычный вам язык, видите, классы. Ничего страшного, вперед, это просто красивый objc, новенький, но такой же. Ой смотрите, а тут еще вот так можно, и нужно кстати, но вы пока не нервничайте, ООП тут, да, пока.

    Одни только страдания народа за private явно это демонстрируют — нельзя вот так сразу сделать ООП всё, нельзя. Хотя всем уже стало понятно, что он всё, но будем это доносить постепенно. Apple умные, знают же что вот там сразу если вывалить истину, язык не полетит.
  • Про Swift, и почему мои большие проекты будут на Objective-C еще какое-то (возможно долгое) время
    0
    Протоколы — developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Protocols.html

    Такая же тема как в Go, Rust etc. Я не знаю как в общем этот подход называется, к сожалению, но он гораздо гибче чем ООП наследование.
  • Про Swift, и почему мои большие проекты будут на Objective-C еще какое-то (возможно долгое) время
    0
    Swift не ООП язык. А классы, мне кажется это временная штука, и с какого-то момента писать их станет моветон.
  • Первый генетически модифицированный вирус одобрен для лечения рака
    0
    Он не обходит, он прячется в областях недоступных для иммунной системы. А здесь проблема с тем чтобы вводить вирус в кровь. Там все эти вирусы иммунной системе прекрасно доступны.
  • Памятка евангелиста PostgreSQL: критикуем MySQL грамотно
    +1
    У меня есть подозрение почему статей с наездами на постгре от mysql нет — чтобы их писать, надо залезть в постгре. А если ты туда залез, зачем тебе обратно?
  • Дистанционный работник – мечта работодателя
    0
    Очень полезная тема – когда у тебя 100% на удаленке, возможность уволить по нормальным основаниям это отлично. А не притягивать за уши всякие там нарушения распорядка и прочее.
  • Дистанционный работник – мечта работодателя
    0
    У нас в проекте нет ни одного офисного сотрудника. Все проблемы были уволены сразу при появлении проблем.
    Если вы нанимаете работников которым нужна нянька, то куда деваться от судьбы, придется няньчить.
  • Разворачиваем Flask-приложение на Nginx, используя Gunicorn
    +1
    Supervisor очень дельное замечание. Ну или если особые любители то runit хотя бы. И еще я вот требую нынче чтобы у каждого проекта в комплекте шел ansible плейбук.
  • Django ORM. Добавим сахарку
    +3
    Ну никто со статьей не спорит – выглядит ничего так. Единственное меня в принципе раздражают стописят слоев перекладывания строк, включая собственно сам SQL, который уходит через сокет, и еще там парсится, а потом там планер, а потом, по окончании всей этой херни включается наконец-то вожделенное – достать уже чертовы строки из таблиц.

    Но тут ведь не заканчивается бал безумия – теперь мы их пакуем и шлем в зад. Тут создается долбанная тонна объектов на каждую строку вернувшегося запроса, а может и больше если это был joinedload. А потом вся эта бодяга тупо перекладывается в dict, list, str, int и прочее, а потом приходит json сериалайзер, и наконец-то сборщик мусора может с удовольствие пожевать, и пусть весь мир подождет, ять.

    Так что ну ок, S выглядит красиво, практически бесконечность. Еще одна маленькая игра со строками ничего особо в картине мира не испортит.
  • Django ORM. Добавим сахарку
    0
    Ну я использовал. Судя по постоянным пул реквестам, кто-то еще использует. Но я джанго последний раз видел давно и на библиотеку честно говоря давно забил. А никого другого на горизонте не нарисовалось чтобы сплавить её к черту.
  • Django ORM. Добавим сахарку
    0
    Не обязательно новое, в github.com/Deepwalker/aldjemy я просто беру готовое.
  • На Reddit проходит глобальная забастовка модераторов
    +5
    > написан на С++ (а значит — быстрей)
    Полный булшит.
  • Samba4 — использование Python Scripting Interface
    0
    Черт, доктор, мы его теряем. Вначале пользователей из самбы копирует, а потом начнет сайты писать, и мир потеряет еще одного админа :)
  • Что такого особенного в Nim?
    +5
    Язык сильно перегружен фичами, синтаксис сильно сильно вольный. Это может привести его к фейлу, хотя и не обязательно. Но так, красный флажок точно есть. Это усложнит его изучение и затруднит разбор чужого кода.

    + я не очень понял пассаж про трансляцию в C и почему при этом rust вдруг должен быть тормозом — rust тоже транслируется не в jvm так-то + никакого gc. Не люблю когда передергивают в свою сторону слегка лукавя или просто не разобравшись.

    Не критикую, но обратить внимание стоит на эти моменты.
  • Не совсем крутой Ruby
    0
    aiohttp
  • Асинхронная работа с Tarantool на Python
    0
    BTW а что вы 1.6 то его назвали — у вас же совсем брат тарантула получился. Если бы он был 2.0 это бы быстрее пояснило как это я так зашел через год в тарантул и там не осталось ничего знакомого :)
  • Асинхронная работа с Tarantool на Python
    +2
    Спасибо, очень хорошая статья и полезный коннкектор.
  • Backslant – шаблонизатор в стиле slim
    0
    Ну как — техника одна и та же. И backslant и jinja2 компилируются в байткод. И backslant и jinja2 каждый раз на диск за ним потом не ходят. Потому и скорость практически одинакова.
    В цифрах есть в папке example на фласке накиданный пример — там оба движка подключены. ab или wrk выдают примерно одинаковые цифры. Небольшая потеря на backslant, на уровне погрешности, видимо из-за генератора. Хотя я точно код жинжи не смотрел, может там тоже генераторы, точно не скажу.
  • Backslant – шаблонизатор в стиле slim
    0
    Нет, там в заголовке прям написано, что именно меня вдохновляло.
    Интересная штука — главное интересно зачем они компилят в django, jinja2 etc.