• Учебник по математике, при почти нулевых знаниях?

    @SeptiM
    Мне кажется, то, с чего нужно начинать, это дискретная математика. Можно сказать, это азбука для программиста. Я ниже приложил некоторый список книг. Стоит, правда, понять, хотите вы самостоятельно изучать предмет или иметь менторов и готовую программу...

    Дискретная математика

    Есть здоровская книжка Андерсона "Дискретная математика и комбинаторика". Она довольно толстая, но главы можно читать почти в случайном порядке. Некоторые математики жалуются, что она не очень строгая и много воды, но для начала самое то.

    По дискретной математике есть русский онлайн-курс на Stepic-е.

    Если идти чуть глубже, есть неплохая книжка Кнута и др. "Конкретная математика".

    Алгоритмы и структуры данных

    Кормен "Алгоритмы: построение и анализ" в переводе А. Шеня. Осилить первые две главы, потом можно идти почти в случайном порядке. Написано достаточно просто и понятно.

    Дасгупта, Пападимитриу, Вазирани "Алгоритмы".

    Онлайн-курс по алгоритмам.

    О математике

    МЦНМО свободно распространяет много интересных книг: www.mccme.ru/free-books
    Посмотрите там в первую очередь Шеня и Арнольда. Например, В. И. Арнольд. Задачи для детей от 5 до 15 лет.

    И разумеется не упустите замечательного писателя Мартина Гарднера "Математические головоломки и развлечения".

    Задачники

    Попрактиковаться в решении с проверкой можно здесь.

    www.braingames.ru -- по математике
    https://projecteuler.net/ -- среднее, ближе к программированию
    acm.timus.ru -- по программированию

    Очные программы

    Умение самоорганизоваться -- это хорошо, но иногда нужен ментор и готовая программа.
    Если вы живете в Москве или Петербурге, попытайте счастье в этих двух организациях:
    https://yandexdataschool.ru/
    https://compscicenter.ru/
    Если нет, но есть возможность на два года уйти в учебу, попробуйте поступить в магистратуру СПбАУ на SE-направление:
    mit.spbau.ru

    Посмотрите задания на собеседования. Скорее всего вам будет что повторить или изучить, прежде чем поступить.

    Удачи!
    Ответ написан
    3 комментария
  • Почему все хотят django?

    un1t
    @un1t
    "Легкость и гибкость" на деле оборачиваются тем, что он ничего не умеет и очень мало сторонних библиотек. Ну и легкость видимо заключается в том, что по нему меньше документации. На деле разницы в производительности нет, а отсуствие библиотек становится каждодневной проблемой. Производительность разработки страдает, приходится элементарные вещи писать самому. Можно пойти дальше и самому написать веб сервер на чистом питоне. Будет еще "легче и гибче", а фласковские проблемы усугубятся.
    Ответ написан
  • Как избавитсья от лишних запросов в Django?

    ur001
    @ur001
    Программист. Искатель. Сноб. Социальный ассоциатор
    Почти на всех больших проектах мне удавалось избегать использования .raw(), по этому я спросил вас, что там внутри. Почти наверняка есть обходные пути.

    Для того, чтобы быть уверенным, что запрос не будет выполнен несколько раз, его можно сразу превратить в список:

    object_list = list(MyModel.objects.raw(...))

    Для выполнения prefetch_related в raw запросах обычно используют prefetch_related_objects, хотя эта функция в Django не документирована:

    from django.db.models.query import prefetch_related_objects
    object_list = list(MyModel.objects.raw(...))
    prefetch_related_objects(raw_qs, ['fk_field', 'another_fk_field', ...])


    Для изучения когда и какие запросы выполняются удобно пользоваться консолью debugsqlshell из django debug toolbar (которую вы скорее всего используете).
    Ответ написан
    Комментировать