Задать вопрос
  • Laravel как организовать внутреннюю валюту и вознаграждения пользователей?

    Создайте модель транзакции, сделайте ей несколько статусов (ожидает одобрение, одобрена), сумму, получателя. Когда админ одобряет - на счет получателя (числовое поле) закидывайте сумму
    Ответ написан
    Комментировать
  • Что делать если телеграм бот упал на сервере?

    Supervisor под Cygwin (костыль)
    Или ищите аналоги этой софтины
    Ответ написан
  • Нормальная ли сборка ПК?

    Сборка нормальная, для требовательных подойдет, будет актуальна несколько лет.
    Ответ написан
    Комментировать
  • Не получается разобраться со словарями?

    data = {
        'user': [
            {'name': 'Alex', 'age': 18}, 
            { 'name': 'Jack', 'age': 23}, 
            {'name': 'Anna', 'age': 17}
        ]
    }
    
    # Способ 1
    names = []
    for user in data['user']:
        names.append(user['name'])
    print(names)
    
    # Способ 2 
    names = [user['name'] for user in data['user']]
    print(names)
    
    # Способ 3
    names = list(map(lambda x: x['name'], data['user']))
    print(names)
    
    # Выбирайте, какой вам больше по душе
    Ответ написан
    2 комментария
  • Какой выбрать ноутбук для студента-программиста? С дискретной видеокартой или без?

    Я задавался этим же вопросом несколько лет назад, так что мой ответ можете считать выжимкой за последние ~3 года пользования ноутбуками. Как и вы, я выбирал железку для программирования в бюджете 50. Мой вопрос здесь: Есть ли жизнь без дискретного видеоадаптера?

    В итоге я выбрал Dell Inspiron 5368 (сейчас он уже не актуален, не берите). Конфиг: i5 6200u, 8Gb RAM. С таким железом я не испытал больших сложностей в работе как над учебными проектами (Pascal, C++, C#, PHP, Python), так и над рабочими задачами (PHP + Vue). Дискретная видеокарта по-настоящему бы пригодилась в курсе параллельного программирования (конкретно в вычислениях на видеокарте) и курсе разработки под OpenGL (в моем случае FPS был порядка 10 против ~40-50 у других ребят с ноутбучными дискретками среднего уровня). Тем не менее, считаю что дискретка для моих задач особо не нужна. Сейчас пересел на XPS 9360 (i5 8250u, 8Gb), все так же кайфую.
    От себя посоветовал бы обратить внимание на
    1) Процессоры только последних поколений (в свете удвоения количества ядер в мобильных i5/i7 при переходе на 8 поколение). По поводу Ryzen ничего не могу сказать - не пользовался
    2) SSD это просто маст-хэв в 2019. NVMe или SATA - другой вопрос. Если есть возможность ставить первый - лучше его, но я не думаю, что SATA настолько плох. Смотрите тесты.
    3) 16 RAM. У меня 8 распаяны на плате, забиты под завязку всегда. Дропов в производительности не испытываю т.к. NVMe достаточно быстрый и компенсирует недостаток RAM быстрой подгрузкой необходимых ресурсов с диска. Если будут плашки в слоте, а не паяные чипы - еще лучше.
    4) Автономность и вес. Не знаю как у вас в универе, но у нас во многих (особенно поточных) аудиториях нет обеспечения розетками в достаточном количестве. Ко всему этому добавляется моя любовь покодить в %random_place%. Плюс необходимо еще таскать ноут каждый день с собой на пары. Этот критерий весьма субъективный, но покупать 5 кг машину для ежедневного насилия над собой я бы не стал, честно. По батарейке - на Inspiron 5ч *обычной* работы хватало впритык, на XPS 7ч за глаза (в режиме печатной машинки с одним открытым OneNote там вообще цифры переваливают за 15 часов). Учтите, что аккумулятор проседает по емкости спустя время. Если ноута "с завода" хватало тютелька в тютельку, то через n месяцев/лет этого не будет.
    5) Экран. Очень субъективно, главное чтобы вашим глазам было удобно и комфортно. Мне очень хорошо на 13' FHD, кому-то такой диагонали мало. Смотрите, чтобы подсветка не ШИМила на низкой яркости (если на вас ШИМ влияет).
    Конкретных моделей не посоветую, к сожалению, но надеюсь текст выше вам чем-то поможет.
    UPD: по Type-C - офигенно удобный. Подключил к нему док, а через док - монитор и периферию, в итоге дома через один кабель подключается целое рабочее место.
    Ответ написан
    2 комментария
  • Как реализовать реалтайм приложение?

    Сервер при обновлении данных должен кидать в открытые сокеты сообщение о том, что произошло изменение. Клиенты в таком случае должны подгружать данные заново.
    Вариант 2: раз в n секунд стучите на сервер чтобы получить дату последнего обновления сущности. Если не совпадает (стала новее) - перезагружайте страницу
    Ответ написан
    Комментировать
  • Что вообще может C#?

    Он может практически все, но по-своему. Во многих случаях он может оказаться не самым оптимальным языком. Возможно слишком неоптимальным. Настолько, что нет смысла его использовать для конкретно этой задачи.
    Ответ написан
    Комментировать
  • Какие есть направления программирования, где нет графики?

    Бэкэнд разработка, различные скрипты автоматизации, консольные утилиты
    Ответ написан
    Комментировать
  • Как ускорить генерацию простых чисел? Какой размер простых чисел нужен для RSA?

    Если цель получить число, то
    from Crypto.Util import number
    number.getPrime(2048)

    Если цель получить число и написать код генерации самому, то реализуйте это
    Ответ написан
    Комментировать
  • Как устроена генерация типовой страницы сайта?

    Рискну предположить, что при генерации самой страницы (на примере Тостера) используется древо шаблонов:
    базовый трехколоночный шаблон, слева подставляется меню из шаблона, справа - блоки рекомендаций и т.д. Из таких блоков собирается страничка. Кэширование отдельная тема - не получится кэшировать весь финальный код "в лоб", ведь страница рендерится в контексте пользователя (юзер видит свое имя, аватарку. Админ видит дополнительные кнопки и т.д.). Все эти вещи очень проектоспецифичны и могут очень гибко настраиваться, так что точно ответить вам могут только разработчики :)
    Ответ написан
    7 комментариев
  • Как получить уникальные значения JSON массива из ячейки MySQL?

    @opravdin Автор вопроса
    Вопрос полностью решен. Проверил несколько способов: подсчетом на бэке, запросом из этого ответа на stackoverflow (https://stackoverflow.com/questions/39906435/conve... а также тестом аналогичной структуры, но реляционно.
    Производительность проверил на таблице из 50к записей, 53к элементов в колонке суммарно (сумма длин всех массивов), среди которых ~320 уникальных элементов. В случае с реляционной таблицей, соответственно, 53к строк.
    Решение 1. SELECT DISTINCT по колонке JSON (отсекает одинаковые массивы, которых в моем случае много). На бэке megre по всем массивам и unique. Время выполнения 0.57 секунды (учтено время от инициализации ORM до строки перед return)
    Решение 2. Запрос со stackoverflow. 0.23 секунды. (учитывал только время запроса в phpmyadmin)
    Решение 3. Реляционная форма данных. 0.03 секунды. (учитывал только время запроса в phpmyadmin)
    Все 3 решения по скорости устраивают, запрос 2 среди имеющегося выглядит более костыльным
    Ответ написан
  • Находил ли кто-то реализацию эмоций для голосования как у facebook?

    Как я это вижу - создаете enum с видами реакций (0 -like, 1 - love и т.д.), в базе создаете таблицу связей с колонками user_id, post_id, reaction (уникальность по паре первых ключей). При открытии поста подгружаете из этой таблицы все лайки по post_id+user_id, группировка по reaction с подсчетом COUNT. В бэкэнде сделайте обработчик /ajax/react и отправляйте туда reaction_id, post_id в зависимости от нажатой кнопки и обновляйте таблицу связей по этим данным.
    UPD: не прочитал, что вы ищете именно готовое
    Ответ написан
    1 комментарий
  • Как добавить необходимое разрешение экрана в ноуте Xiaomi?

    Ответ - мое предположение, не уверен, что он вам 100% поможет
    Возможно, вам нужно понизить частоту обновлений экрана (попробуйте 24 Гц). Скорее всего в вашем ноуте HDMI 1.4, он не вытянет ваше разрешение в 60 Гц. Как вариант, использовать подключение через USB-C порт (если в вашей модели он есть)
    Ответ написан
  • Есть ли жизнь без дискретного видеоадаптера?

    @opravdin Автор вопроса
    Ответ спустя год с хвостиком: купил Dell Inspiron 5368 и ни о чем не жалею. Дискретное видео за это время пригодилось бы раз 5 от силы, и то задача на интегрированном выполнялась не сильно долго (рендеры коротких несложных роликов).
    Мой совет: берите дискретные карточки только если четко знаете, что будете играть или как-то иначе нагружать видеоподсистему. Если нет предпосылок - слава автономности.
    Спасибо тем, кто помог мне с выбором.
    Ответ написан
    Комментировать
  • Где найти спецификацию на ноутбук ДНС MB40II (2011 г)?

    Какого рода апгрейд вас интересует? У вас (если я правильно понял) процессор поколения Sandy bridge, скорее всего распаян на материнку, его заменить не получится. Два слота под ОЗУ, суммарно до 8 гигабайт. Жесткий диск с вероятностью 90% обычный SATA. Наилучший вариант - поставить SSD накопитель (это лучшее, что может случиться с этим ноутбуком)
    Ответ написан
    2 комментария
  • Как организовать хранение сложных прайсов в базе данных?

    @opravdin Автор вопроса
    Возможно, из моего описания сложилось некорректное понимание задачи в целом. Я описал ее подробнее в комментарии к другому ответу. Сам я решил проблему через отдельную таблицу "Прайсы", где для каждого набора входных параметров (благо ветвление не очень большое) хранится значение стоимости. Часть критериев и параметров удалось упростить/формализовать/убрать, поэтому в моем случае львиная доля решения - работа над задачей, над ее пониманием и выбором подхода к решению.
    Ответ написан
    Комментировать
  • Почему компилятор не видит описание функции?

    @opravdin Автор вопроса
    Проблему решил. Нужно было поменять порядок импортов. Было:
    #include "Lab8Func.h"
    #include "stdafx.h"
    #include "conio.h"
    Стало:
    #include "stdafx.h"
    #include "conio.h"
    #include "Lab8Func.h"
    Ответ написан
    Комментировать
  • Как преобразовать порядок и положение страниц в PDF?

    @opravdin Автор вопроса
    По ходу дела немного изменилось ТЗ. Но задачу все же решил так:
    1) Исходник оказался DjVu, перегнал через стандартный Print To PDF в PDF файл
    2) Через Acrobat 11 Pro напечатал в PDF документ, сеткой 3x3 на лист
    3) Полученную PDF уже на реальном принтере напечатал как брошюру (через Acrobat). Результат сшил скрепкой и получил на выходе 24 - листовую тетрадь с книгой на 400 с чем-то страниц.
    Ответ написан
    Комментировать
  • Как избавиться от потерь данных в словаре в цикле while?

    По-моему вы создаете ссылку на один и тот же объект в памяти вместо дублирования. Вам нужно снять копию словаря.
    Ответ написан
    Комментировать
  • Как кодировать строку с символами из разных кодировок?

    @opravdin Автор вопроса
    Решил проблему через костыль: так как в моем случае конфликт только с кавычками "ёлочками", я проверил, относятся ли байты \xab и \xbb к буквам Ы (\xd0\xab) и л (\xd0\xbb). Если нет, то заменял на пробел.
    text=bytes()
    i=0
    while  i<=len(rawtext)-1:
    	if rawtext[i]==187 and rawtext[i-1]!=208:
    		text+=bytes([32])
    	elif rawtext[i]==171 and rawtext[i-1]!=208:
    		text+=bytes([32])
    	else:
    		text+=bytes([rawtext[i]])
    	i+=1
    return(text.decode('utf-8', 'ignore'))
    Ответ написан
    Комментировать