Задать вопрос
  • Хэш-таблица без разрешения коллизий?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Нет. Ну, только если вы не будете заводить таблицу на 4 миллиарда с копейками элементов (2^32) и использовать тривиальную хеш-функцию.

    Потому что важно не столько количество элементов в таблице, а их значения. Их может быть 4 миллиарда различных. И даже только с 2 элементами я вам для любого меньшего размера таблицы найду 2 таких элемента, что у них хеш функция совпадет.

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

    @Drno
    От 16гб оперативки минимум
    Ответ написан
    Комментировать
  • Возможно ли передать параметром экземпляр HttpClien в другой класс?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Рекомендуемые варианты использования есть в документации Microsoft. Краткая цитата оттуда:
    Чтобы суммировать рекомендуемое HttpClient использование с точки зрения управления временем существования, следует использовать либо долгосрочные клиенты, либо задать PooledConnectionLifetime (.NET Core и .NET 5+) или краткосрочные клиенты, созданные IHttpClientFactory.

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


    Подскажите пожалуйста, возможна ли передать экземпляр HttpClien в другой класс?

    Ты же это в своём коде и делаешь.


    А хотелось бы одновременно осуществлять два запроса из двух разных классов.

    И что тебя ограничивает?
    Пример кода в вопросе - именно то, как и надо делать.
    Ответ написан
    5 комментариев
  • MacBook Air M1 8/256 подойдёт для разработки?

    У меня Macbook Pro M1 Pro 16/512.
    Когда запускаешь какую-то IDE от Jetbrains типа Goland, то батарея тает на глазах, да и памяти она кушает хорошо.

    Если будете работать в VScode, то такой проблемы возникнуть не должно, если не увлекаться плагинами. Сам Go потреблять много ресурсов не будет. Основной потребитель памяти - это всегда большое количество вкладок в браузере.

    Но... Как только вам понадобится Docker, могут начаться проблемы. На Маке он не нативный, и может сжирать много памяти. У меня много чего в Докере запускается, и вкладок в браузере всегда несколько требуется, поэтому мне 16 прям впритык.

    Мой совет - брать машину с 16гб минимум, но тогда уже нет смысла брать Air...

    P. S. Мак в разы лучше работает с памятью, чем винда, поэтому сравнивать не всегда корректно.
    Ответ написан
    2 комментария
  • Как можно сделать один SSD для игр, чтобы использовать его на Windows и Linux?

    belirofon
    @belirofon
    Full- stack nodejs
    Учитывай такой момент, что из под linux многие игры не идут, придется использлвать какой нибудь эмулятор, типа wine или еще что. Поэтому если играешь, лучше сидеть на windows
    Ответ написан
    Комментировать
  • Как передать данные из формы 2 в 1 C# WPF?

    yarosroman
    @yarosroman Куратор тега C#
    C# the best
    1. Message Bus
    2. В MVVM все проще, 1 у вас будет вью модель по закрытию окна ну или надо в реальном времени менять, то подписываемся на PropertyChanged.
    3. Подписывайся наOnFormClose и по закрытию дергай все параметры нужные из формы, зачем на события каждого элемента подписываться
    4. Прочтите про MVVM, сильно упрощает жизнь
    Ответ написан
    Комментировать
  • Нормально ли писать на C# на Linux Manjaro?

    AshBlade
    @AshBlade Куратор тега C#
    Просто хочу быть счастливым
    Устанавливай .NET Core и разрабатывай на здоровье.
    Разница с Windows разве что в отсутствии оконных приложений, а остальные типы проектов есть.

    P.S. Visual Studio придется забросить и перейти либо на VS Code либо на Rider
    Ответ написан
    Комментировать
  • Нормально ли писать на C# на Linux Manjaro?

    Adler_lug
    @Adler_lug
    Можно и консоль, а можно и формошлепить используя Avalonia, например. Есть и другие.
    Ответ написан
    Комментировать
  • Динамические библиотеки уменьшают кол-во блокировок процессов?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Стоит уточнить, что такое блокировка процессов.
    - Если речь идет о взаимной блокировке (получение доступа к семафору/мютексу/шареной блокировке и т.д.), то не решает - разницы между потоком и процессов в этом случае нет.
    - Если речь о блокировках IO операций, то в общем может за счет распараллеливания.
    - Если речь идет про разницу между статической и динамической, то нет, т.к. переменные и другие структуры, на которые берется блокировка (иначе откуда блокировка), создаются для каждого процесса свои (копии свои).
    Ответ написан
    Комментировать
  • Динамические библиотеки уменьшают кол-во блокировок процессов?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Динамические бибилиотеки это обычно те, которые уже есть в системе, и они могут быть расшарены между разными процессами.
    Плюс: жрут меньше оперативки, так как библиотека загружается один раз, после чего разные процессоры могут ее юзать
    Минус - какая версия библиотеки установлена в систему - той и пользуйся. Следовательно нужно учитывать совместимость.

    Статические - обычно идут вместе с твоим софтом, интегрируются в исполняемый файл.
    Плюс - можно юзать любую версию.
    Минус - каждая программа будет грузить в память свой экземпляр всей библиотеки, и если библиотека большая (а зачастую код print(stdout,"hello world) гораздо меньше, чем библиотека которая собственно выводит строку), то расходуется лишняя память и лишнее место на диске.

    Отношения к блокировкам процессов ни те ни другие не имеют
    Ответ написан
    1 комментарий
  • Как сделать взаимодействие между несколькими процессами?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Это называется IPC (inter-process communication). Гуглите IPC + ваш язык программирования, что-то да найдете. Полно библиотек готовых. Есть способы по-производительнее сокетов (всякие отображаемые в память файлы, например), но велосипед тут переизобретать смысла нет, если это только не задание на курсе по программированию.

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

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    Стандартный способ - применение специального инструмента с конической резьбовой головкой, спиральная резьба на которой - левая. Соответственно применять его надо, переключив шуруповерт на левое вращение.
    c97d1b9df3bf1484b95022255354d42f.jpg
    Для толстых винтов/болтов такой инструмент раздобыть легко, для тонких - трудно (это большая редкость). Можно заменить его самодельным перовым сверлом, сделанным из обломка обычного сверла и заточенным опять-таки под левое сверление. Вот что-то похожее на то, что нужно, если не считать слишком большого диаметра:
    16649_big.JPEG
    Применять его, как и показанный выше стандартный инструмент, надо после того, как в головке закисшего винта сделано неглубокое сверление тонким сверлом (чтобы было за что зацепиться).
    Ответ написан
    Комментировать
  • Какая программа резервного копирования поддерживает reverse incremental backup?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    через пару лет ежедневного инкрементального копирования
    Бэкапы обычно делают по схеме Gransfather-Father-Son. Раз в месяц делается полный бэкап, раз в неделю дифференциальный (от последнего полного), раз в день инкрементальный. В этом случае вам придётся восстанавливать максимум 8 файлов (полный, дифференциальный, 6 инкрементальных). А нужный файл на определённую дату можно достать просто пройдя обратно по цепочке файлов, достав из каждого изменения в каталоге.
    Ответ написан
    2 комментария
  • Возможно ли сделать из проводного геймпада беспроводной?

    NeiroNx
    @NeiroNx
    Программист
    Теоретически можно, но на практике проще купить беспроводной, так дешевле и быстрее.
    Есть тема: https://4pda.to/forum/index.php?showtopic=881589 но мертвая - почему написано выше.
    Ответ написан
    Комментировать
  • Подойдёт ли оперативка под материнку и проц?

    P s. Я в железе не шарю ни капли.

    А читать умеешь?

    Если умеешь, то легко сможешь прочитать мануал:
    https://www.asus.com/motherboards-components/mothe...
    И найдёшь фразу о том, что в МП поддерживает


    2x DIMM, Max. 64GB, DDR4 5333(OC)/5000(OC)/4800(OC)/4600(OC)/4400(OC)/4266(OC)/4000(OC)/
    3733(OC)/3600(OC)/3466(OC)/3400(OC)/3333(OC)/
    3200/3000/2933/2800/2666/2400/2133
    Non-ECC, Un-buffered Memory*
    Dual Channel Memory Architecture


    Смотрим на то, что хотим вставить:

    Hynix , DDR4 1x16Gb, 3200MHz:

    Пытаемся найти совпадение и находим:


    5333(OC)/5000(OC)/4800(OC)/4600(OC)/4400(OC)/4266(OC)/4000(OC)/3733(OC)/
    3600(OC)/3466(OC)/3400(OC)/3333(OC)/3200/3000/
    2933/2800/2666/2400/2133

    Даже без разгона может 3200, получается.

    Теперь смотрим в характеристики процессора:
    https://ark.intel.com/content/www/us/en/ark/produc...
    И также видим инфу, что он из коробки поддерживает 3200 на DDR4
    Ответ написан
    4 комментария
  • Windos 10 не видит жёсткий диск, как исправить?

    @Drno
    Ну у Вас же он отображается.. назван - Диск 1. Нажмите на него ПКМ и выберите инициализировать
    Потом уже сможете отформатировать
    Ответ написан
    2 комментария
  • Redis кеш под Wordpress сожрал всю память, что делать?

    Eugene-Usachev
    @Eugene-Usachev
    Не понимаю вашей проблемы. Redis будет удалять самые старые записи, если он заполнен. Если ничего не делать, он всё ещё будет хорошо работать в качестве кэша.

    1 ГБ - это слабая загруженность, на самом деле. Такой объём можно полностью уместить в Redis или Tarantool.
    Ответ написан
    Комментировать
  • Чем клонировать системный диск на диск большего размера?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    Acronis True Image, да и в принципе любая программа клонирования позволяет выбирать настройки целевого диска: либо точь-в-точь либо пропорциональное увеличение/уменьшение разделов.
    Ну либо True Image склонировать, а потом Disk Director или тем же виндовым диспетчером дисков расширить на весь объем.
    Ответ написан
    2 комментария