Там автор больше напирает на .NET Framework и Windows, там утечки нет, потому что под капотом у HttpClient находится банальный HttpWebRequest, со своими тараканами, но без утечек. Утечки именно появились в .NET Core 2.2, где сделали свою реализацию работы с HTTP (быстрее, выше, сильнее). Поэтому многие очень удивились проблемам, когда просто обновили фреймворк, не меняя ни строчки в приложении и получили подобное поведение.
HttpClient is intended to be instantiated once and re-used throughout the life of an application. Instantiating an HttpClient class for every request will exhaust the number of sockets available under heavy loads.
Ну и про один запрос оттуда же
The HttpClient class instance acts as a session to send HTTP requests. An HttpClient instance is a collection of settings applied to all requests executed by that instance. In addition, every HttpClient instance uses its own connection pool, isolating its requests from requests executed by other HttpClient instances.
В реальности, мне писали, что получали SocketException, у нас было веселее — приложение чем дольше работало, тем больше процессора использовало. Т.е. после пары недель работы 100%. А при подключении к нему отладчика — всё сбрасывалось и опять типа норма. Приятного анализа, блин.
Да, и работает это именно под Core 2.2 и выше. В более старых версиях — используется другая реализация, а в большом .NET — тот же HttpWebRequest, который не страдает этой проблемой.
Тогда стоит использовать фабрику, но ни в коем случае не обычный диспозабельный HttpClient, иначе у вас будут утекать ресурсы, с весьма неприятными последствиями. Если что, в Microsoft после нескольких пинков поправили документацию, так что там теперь это указано.
Думаю, есть человеческая задача: «развернуть односвязный список», но т.к. в реальности двусвязные обычно удобнее и реализованы в языках, задача сформировалась в такого Франкенштейна.
Спасибо за идею. Мне для других целей надо было, но идея интересная (я больше думал про связный список из дырок, раз уж у нас массив фиксированный и так), но тут в некоторых случаях будет эффективнее.
Немного про оригинальную задачу, а то начался очередной спор. Ответ прост: невозможно сделать такую ленту, т.к. она должна двигаться с бесконечной скоростью. Всё.
Объяснение: задача умозрительная, поэтому считаем, что трения от колёс у самолёта нет. В результате, можно считать, что колёс нет, а самолёт висит в воздухе на магнитной подушке, или левитации, и его невозможно остановить, т.к. с какой бы скоростью не двигалась лента, колёса будут прокручиваться на месте и самолёт не сдвинется.
А если у колёс есть трение, то можно сразу рассматривать предельный случай — самолёт прибит гвоздями к земле, сможет ли он взлететь, не двигаясь с места. Тут уже зависит от двигателя, но задача другая, которую уже решает автор поста.
Первое с 1-wire, nfc 13.56, rfid 125, bluetooth для управления с телефона, ну и фонариком, возможно
Давно хочу устройство с 1-wire, nfc и rfid (можно даже без NFC), в которое можно зашивать кучу меток. Потому что, блин, куча всяких домофонов и карточек, которые с одной стороны можно склонировать, но таскать связку всяких брелков (некоторые из которых раз в полгода требуются, но когда требуются это прям надо-надо). Но не нашёл нигде подобного законченного устройства (может плохо ключевые слова для поиска вводил).
Теория заговора on
На самом деле Павел дуров агент госдепа. И когда у него возникли проблемы, с тем, что он не успевает запустить свою валюту он обратился к своему руководству и попросил перенести запуск, что было реализовано через SEC. Типа всё было готово, но нехорошие регуляторы не дают всё выпустить. Пока идут разборки, валюта будет допиливаться, потом договорятся, придерутся к каким-нибудь бумажным мелочам, их поправят и будет крутая цифровая валюта, к которой уже не будет никаких претензий (договорились ведь), и как результат — резко пойдёт вверх, все инвесторы обогатятся, и т.д. и т.п. Теория заговора off
Так и не понял, зачем нужно создавать единого поставщика вместо нескольких сейчас.
Чтобы, например, реклама, которая идёт с каналов не заменялась на другую, которую подсовывают операторы, или же программы на местные. Но в реальности нагородили такого, что мозг в узел завязывается, когда пытаешься понять, что натворили.
Достаточно было декларативно запретить и всех виновных бить бамбуковыми палками, но, видно, аппетит приходит во время еды и идея освоить бабло оказалась значительно заманчивей оригинальной.
У меня была (впрочем есть до сих пор) Microsoft Presenter Mouse, которую ещё и как презентер можно использовать и там даже лазерная указка есть. Дык вот, она по Bluetooth работает и приёмник есть, на всякий случай. Может, конечно, особенности конкретной модели, но количество глюков, неожиданной потери мышки, пропуска движения просто зашкаливало (особенно это «удобно» на презентациях и докладах было). Пришлось забросить. Думаю, что Bluetooth не очень приспособлен для подобного.
А потом окажется, что бумагу пожрал хомяк, чернила окислились и испарились, из-за повышенной влажности листы слиплись, пластик разложился от ультрафиолета, дерево пожрали жучки, а металл заржавел. А ещё бумага иногда горит.
С бумагой множество проблем на самом деле, поэтому создают специальные архивы. И если прикинуть, сколько на всё это тратится, то окажется, что долговечность гораздо проще соблюдать реплицированием.
Думаю, что не выйдет. Эмулятор это по факту виртуалка, а программы должны обращаться к системным ресурсам (банально файлам), так что получается, что уже надо пробрасывать диск, сеть, графику. В общем, та ещё задача получается. Даже если взять Фотошоп, который сам по себе 64 бита, но часть компонентов — 32 бита. Тут уже ничего не заэмулировать. Проще и дешевле оставить слой совместимости 32 бита, который Apple как раз и выпилила.
Мы стараемся закупать в компанию что-то отличное от сигейтов, но, когда у поставщика ничего подходящего нет, брали сигейты. В результате огромная коробка мёртвых дисков и почти все сигейты. Мрут при этом очень мерзко. Если Тошибы и Хитачи постепенно начинают сдыхать, то тут сразу или полная смерть или псевдоработа с ребутом при попытке обратиться не туда.
Значит изменилось. Изначально, инсайдерские сборки давали как раз право использовать их без лицензии Win10 (вязалось как раз к аккаунту). Т.е. это был способ бесплатно и законно получить Win10. Но вроде бы, так и оставалось сидеть на них. Естественно, могу ошибаться, всё-таки давно было это.
Ну и про один запрос оттуда же
В реальности, мне писали, что получали SocketException, у нас было веселее — приложение чем дольше работало, тем больше процессора использовало. Т.е. после пары недель работы 100%. А при подключении к нему отладчика — всё сбрасывалось и опять типа норма. Приятного анализа, блин.
Да, и работает это именно под Core 2.2 и выше. В более старых версиях — используется другая реализация, а в большом .NET — тот же HttpWebRequest, который не страдает этой проблемой.
Мы решаем гипотетическую задачу, или практическую? Если практическую, то давайте ещё подумаем про материал ленты (чтобы её не порвало), как её закрепить (а то если она будет приводиться в движение колёсиками, то их может разорвать раньше, чем колёса самолёта), обязательно выясним марку самолёта, чтобы точно знать характеристики его двигателя и подъёмной силы, узнаем возраст пилота (ну, на всякий случай). Естественно, надо не забыть про атмосферное давление, направление и силу ветра в точке взлёта. Планету бы ещё, а то вдруг мы на Марсе пытаемся взлететь.
Объяснение: задача умозрительная, поэтому считаем, что трения от колёс у самолёта нет. В результате, можно считать, что колёс нет, а самолёт висит в воздухе на магнитной подушке, или левитации, и его невозможно остановить, т.к. с какой бы скоростью не двигалась лента, колёса будут прокручиваться на месте и самолёт не сдвинется.
А если у колёс есть трение, то можно сразу рассматривать предельный случай — самолёт прибит гвоздями к земле, сможет ли он взлететь, не двигаясь с места. Тут уже зависит от двигателя, но задача другая, которую уже решает автор поста.
Давно хочу устройство с 1-wire, nfc и rfid (можно даже без NFC), в которое можно зашивать кучу меток. Потому что, блин, куча всяких домофонов и карточек, которые с одной стороны можно склонировать, но таскать связку всяких брелков (некоторые из которых раз в полгода требуются, но когда требуются это прям надо-надо). Но не нашёл нигде подобного законченного устройства (может плохо ключевые слова для поиска вводил).
не будет иметь смысла, а будет другой вопрос, и может быть там будет что-то интересное.
На самом деле Павел дуров агент госдепа. И когда у него возникли проблемы, с тем, что он не успевает запустить свою валюту он обратился к своему руководству и попросил перенести запуск, что было реализовано через SEC. Типа всё было готово, но нехорошие регуляторы не дают всё выпустить. Пока идут разборки, валюта будет допиливаться, потом договорятся, придерутся к каким-нибудь бумажным мелочам, их поправят и будет крутая цифровая валюта, к которой уже не будет никаких претензий (договорились ведь), и как результат — резко пойдёт вверх, все инвесторы обогатятся, и т.д. и т.п.
Теория заговора off
Чтобы, например, реклама, которая идёт с каналов не заменялась на другую, которую подсовывают операторы, или же программы на местные. Но в реальности нагородили такого, что мозг в узел завязывается, когда пытаешься понять, что натворили.
Достаточно было декларативно запретить и всех виновных бить бамбуковыми палками, но, видно, аппетит приходит во время еды и идея освоить бабло оказалась значительно заманчивей оригинальной.
С бумагой множество проблем на самом деле, поэтому создают специальные архивы. И если прикинуть, сколько на всё это тратится, то окажется, что долговечность гораздо проще соблюдать реплицированием.