Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (5)

Наибольший вклад в теги

Все теги (24)

Лучшие ответы пользователя

Все ответы (21)
  • Что вообще может C#?

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

    Я задавался этим же вопросом несколько лет назад, так что мой ответ можете считать выжимкой за последние ~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 комментария
  • Не получается разобраться со словарями?

    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 комментария
  • Как кодировать строку с символами из разных кодировок?

    @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'))
    Ответ написан
    Комментировать
  • Как реализовать реалтайм приложение?

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

Лучшие вопросы пользователя

Все вопросы (30)