Задать вопрос
  • Задача про стену и кирпичи. Как решить?

    @Andy_U
    Ну, я бы начал с решения уравнения в целых положительных числах 3*x+4*y=25. Решений две штуки: (x=3, y=4) и (x=7, y=1). Т.е. у нас 2 класса рядов. Вариантов расположения кирпичей в первом классе 7!/(3!*4!)=35, во втором классе 8!/(7!*1!)=8. Итого 35+8=43 вариантов ряда. Генерируем их. Теперь заполняем матрицу размером 43*43, ставя единички там, где ряды кирпичей (один в столбце, второй в колонке) совместимы с условием отсутствия общей вертикальной щели (для каждого варианта ряда строим множество {L[1], L[1]+L[2], ... L1+...L[N-1]}, потом очевидно, что ряды "совместимы", если пересечение множеств пустое). Это все быстро и памяти немного надо. На питоне - 30 строк. Кстати, в построенной матрице нулей сильно больше, чем единиц. несколько рядов просто ни с одним другим не совместимы. А потом, увы, перебор, если я правильно понял условие задачи. Типа как в классической задаче "поставить 8 ферзей на шахматную доску, чтобы они не били друг друга".

    Update:

    Код на питоне 3.4.3, решающий задачу перебором (кроме получения "классов" рядов), приведен ниже:

    import itertools
    
    
    def build_tail(height, row):
        if height == 9:
            return neighbours_number[row]
        else:
            return sum(build_tail(height+1, i) for i in acceptable_neighbours[row])
    
    
    rows = {i for i in itertools.permutations([3, 3, 3, 4, 4, 4, 4], 7)} | \
           {i for i in itertools.permutations([3, 3, 3, 3, 3, 3, 3, 4], 8)}
    
    acc_rows = [set(itertools.accumulate(row[: -1])) for row in rows]
    acceptable_neighbours = [[i for i, b in enumerate(acc_rows) if not (a & b)] for a in acc_rows] # copied from @bobrovskyserg
    neighbours_number = [len(i) for i in acceptable_neighbours]
    
    print(sum(build_tail(1, i) for i in range(0, len(acc_rows))))


    Время решения ~40 секунд, ответ bobrovskyserg подтверждаю. Пошел разбираться с его алгоритмом...
    Ответ написан
    3 комментария
  • Как научиться понимать английский язык на слух? Это вообще возможно?

    miraage
    @miraage
    Старый прогер
    Почитайте про "reductions". Это основа основ.

    что, как он смог сжать это в одно слово бкз единой паузы

    Это одна из фишек английского языка, особенно, американского акцента.

    Например, "i bought him a car", который можно сказать "ай бОт хим э кАр", произносится, как "эбАрм'экАр" без задержек (звуки не такие, но, надеюсь, посыл поняли)

    У самого были огромные проблемы с восприятием разговорного английского на слух. Решал через просмотр фильмов/сериалов в оригинале. По началу с субтитрами. TIP: смотрите те фильмы/сериалы, которые смотрели на русском, ибо самые большие проблемы с восприятием начинаются тогда, когда теряется контекст.

    // edit

    Что мне ещё определенно помогло – это прокачка произношения. Когда учишься говорить как нэйтив спикеры, то многие reductions попадают в отсек долгосрочной памяти, и затем они автоматически применяются при звуковом восприятии.

    И ещё совет, капитанский такой: практиковать английский язык каждый день. Говорить дома на английском (я вот живу один, так не смущаюсь сам с собой разговаривать), петь песни (нередко включаю песни, гуглю слова и просто пою – тренировать моторику языка).
    Если на работе английский задействуется - вообще класс.

    В мемасики/картиночки не прочь позалипать? Залипайте в них на английском (к слову,  масса контента с reddit переводится – читайте, первоисточник).
    Ответ написан
    1 комментарий
  • Может ли жёсткий диск замыкать блок питания?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    1. Небольшая возня с мультиметром даст ответ. Померьте величину напряжения по линиям 12 вольт (желтые провода), 5 (красные) и 3,3 (оранжевые), когда этот самый диск отключён от компа (по питанию, без SATA) и когда он подключён. На исправном железе разница между этими измерениями не должна превышать 10%. Если она больше, поменяйте БП. Если на другом БП то же самое - вот тогда можно этот диск считать неисправным.
    2. Если вы считаете, что этот диск просаживает питание компа - значит, он берёт себе ток сильно больше нормы. Лишний ток не исчезает бесследно, его энергия должна что-то нагревать. Потрогайте корпуса микросхем на плате контроллера диска голым пальцем - если некоторые из них нагреты так, что палец не терпит, то диск дохлый.
    3. Крайне полезно проверить, не вздулись ли электролитические конденсаторы на материнке и в БП. Это вообще стоило бы делать регулярно, хотя бы раз в полгода, как меру профилактики.
    Ответ написан
    Комментировать
  • Работа для начинающего web разработчика?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    1. Джуниором в офисе.
    2. Заказ у знакомых за деньги.
    Ответ написан
    Комментировать
  • Как сделать треугольник на CSS?

    LenovoId
    @LenovoId
    svg, css,js


    Я только для canvas не знаю как текст оформлять , задал вопрос, в общем три примера: css svg canvas.
    Ответ написан
    Комментировать
  • Как договорится с художником и какие есть лицензии у изображений?

    mixail_fet
    @mixail_fet
    Дизайнер веб-интерфейсов
    За процент хотят заказать все, каждый второй ищет студента, который сделает все за "бесплатно", понятное дело, никаких процентов не будет.

    Нормальный художник не будет работать на четное слово, и скорее всего, вы должны будете готовы отдать ему предоплату за проект.

    А также, если вы уверены в своей идеи, я бы не советовал всем раздавать проценты, потому что, намного дешевле заплатить.
    Ответ написан
    Комментировать
  • Парсер xml и виджет для него, как написать в python?

    qlkvg
    @qlkvg
    python backend developer
    1. Декомпозируйте
    Написать парсер и виджет = написать парсер + написать виджет

    2. Осмыслите
    Мне нужно написать парсер xml, для этого я погуглю. Возможно, есть смысл погуглить что-то более конкретное, наверняка моя проблема уже решалась до меня. Для виджета мне нужен графический интерфейс, погуглю и про него. Замечу, что люди чаще всего советуют tkinter, стоит обратить внимание.

    3. Пишите

    ???

    PROFIT
    Ответ написан
    Комментировать
  • Как записать на ES5 счетчик с инкапсуляцией?

    potapchino
    @potapchino
    function counter() {
      var i = 0
      
      return {
        next: function() {
          return ++i
        }
      }
    }
    
    var foo = counter()
    var bar = counter()
    
    console.log(foo.next()) // 1
    console.log(foo.next()) // 2
    console.log(foo.next()) // 3
    console.log(bar.next()) // 1
    Ответ написан
    Комментировать
  • Что такое asyncio и в чём реальное отличие от многопоточности?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Один человек ставит кастрюлю на плиту, ждёт пока она закипит, закидывает пельмени, ждёт пока сварятся, снимает, ставит вторую, ждёт пока закипит... - последовательное однопоточное выполнение.

    Один человек ставит две кастрюли на плиту, как только одна из них закипела, забрасывает пельмени и т.д. - асинхронное выполнение.

    Два человека ставят две кастрюли... - многопоточное выполнение.

    Очевидно, что при асинхронном выполнении ресурсов требуется меньше, а скорость та же, что и при многопоточном. Именно поэтому проблема c10k могут решать только асинхронные сервера. Минусы в том, что асинхронный код сложнее и не всё можно выполнять асинхронно.
    Ответ написан
    3 комментария
  • Почему не сохраняются изменения в контейнере?

    qlkvg
    @qlkvg
    python backend developer
    Комментировать
  • Python, почему так медленно?

    @deliro
    1. Читай весь файл "highway-line.shp" в память. Или хотя бы большими кусками (скажем, по 50+мб), если он не помещается в ОЗУ. А не вот это вот по 8 байтов. Если у тебя там HDD, он, наверное, с ума сходит. Чтобы сохранить код — заверни весь считанный файл в BytesIO. Хотя можно и переписать, чтобы работало просто с bytes.

    2. Функция outfile просто пипец какая неоптимальная. Открывать файл, чтобы дописать записать туда 4 байта? Отличная идея! (нет)
    Ответ написан
    2 комментария
  • Как установить Linux вместо Android?

    @nrgian
    Находите дистрибутив с поддержкой вашего устройства и устанавливайте.
    Или разрабатывайте этот дистрибутив самостоятельно

    Если не найдете и не создадите этого дистрибутива - то никак.

    Телефон, не компьютер.

    В компьютерный Linux входит уйма драйверов на почти все случаи жизни.

    Но для аппаратного оборудования телефонов, как правило, драйвера не открыты и не опубликованы.
    Ответ написан
    Комментировать
  • Какие знания нужны для первого заказа на апворк начинающему Python программисту?

    @Andrey_Dolg
    Можете пробовать, по стеку django сомнительно крайне лучше flask(но рынок ещё меньше), не то чтоб django сложен но без навыков вы мало что сможете предложить заказчику. Далее часть заказов на python это ML/Data analysis/Api integration визуально тоже не ваша ниша. Ну и манкикодинг на python это создание скраперов данных тут стек(scrapy/bs4/selenium) при отсутствии знаний баз данных дальше выгрузки данных в exel/csv/google spreedsheet с деплоем скажем на heroku вы не уйдёте, ну и заказы от 5 до 30$ с конкуренцией в виде индусов и китайцев. Я не знаю вашей ситуации, но лучший вариант найдите наставника который сможет вам скидывать заказы и подучать вас именно фрилансу. Реалистичный вариант увы зачастую офис и работа php/html в хорошем случае python.
    Ответ написан
    Комментировать
  • Какие знания нужны для первого заказа на апворк начинающему Python программисту?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Начать лучше с выхода на работу в офис. Без реального опыта на фрилансе нет шансов.
    Ответ написан
    4 комментария
  • Шлейфу капут на батарее люмии. Есть варианты как починить?

    Rou1997
    @Rou1997
    Зачистить от изоляции, пропаять, да там всего 3 проводка, тоже мне шлейф, можно и "заколхозить" любой "вермишелью", которая под рукой будет.

    когда изгибаю в обратную сторону контакт есть

    Или зафиксировать! :)
    Ответ написан
    8 комментариев
  • Как можно удалить определенный элемент по ключу из словаря?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Во-первых, для таких данных лучше подойдёт список списков, в котором индекс обозначает номер зала или номер места, а занятость места отображается логическим типом:
    [
        [             # Первый зал
             True,    # Первое место (занято)
             False,   # Второе место (не занято)
             False,
             True,
             ...
        ],
        [ ... ],  # Второй зал
    ]

    Во-вторых, элемент словаря удаляется оператором del: del some_dict['some_key']
    Ответ написан
    3 комментария
  • Как запустить 2 проекта на Django на одном VPS на nginx?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Решительно непонятно с чем у вас проблема. Повторить все те же действия, которые выполнялись для первого проекта - развернуть сам проект, создать для него БД, настроить WSGI-приложение, настроить ещё один виртуальный сервер Nginx, прописать в DNS ещё одного доменное имя для этого сервера.
    Ответ написан
    7 комментариев
  • Как транслировать посты из Telegram в Wordpress?

    @vodnicear
    2 варианта
    1. Создать бот, который через API будет взять посты с пост из Телеграмма и сохранит его в БД.
    2. Через MadelineProto извлекать посты и тоже сохранить их в БД.

    А уже WordPress оттуда будет взять и показывать в sidebar.
    Ответ написан
    1 комментарий
  • Нужна база данных всех празников. Где найти?

    duhbox
    @duhbox
    Официальная информация по рабочим и праздничным дням в РФ находится вот здесь: https://data.gov.ru/opendata/7708660670-proizvcalendar
    Ответ написан
    Комментировать
  • Как и стоит ли учить паттерны на Javascript?

    Stalker_RED
    @Stalker_RED
    Да стоит. Потом стоит поучить еще на каком-то языке, и еще на каком-то.
    В итоге возможно вы заметите, что паттерны не зависят от языка, а общие для всех :)
    Ответ написан
    1 комментарий