Потому что отдельно это не работает - нужны другие сервисы вроде кролика, базы и ещё много чего. Да можно все развернуть локально - но это такой геморрой, что врагу не пожелаешь
Это неудобно - сначала надо git commit, потом git push на удалённый сервер. Кроме того, при активной разработке я предпочитаю только законченные коммиты, чтобы история была более менее чистой, а с таким подходом будет много промежуточного хлама. Да есть изменение истории, но это дополнительный оверхед.
По поводу читай сиди - локально собрать в несколько раз быстрее, а когда это надо сделать 30 раз в день - экономия времени очень существенная
Ага и постоянно упражняться в перемещении исходников в VM и следить за их актуальностью там. Это может подойти если вы редко их трогаете и образ надо собирать нечасто, а когда это надо делать постоянно - это еще хуже чем работа с веслом (WSL).
Все очень сильно зависит от конекста. Личный опыт - был у меня 2 года наза рабочий ноут на Windows, и все работало, задачи делались, но почему то у него постоянно, при более менее рабочей нагрузке работал вентилятор охлаждения процессора. Моя работа связана была с докером и все такое, для этого использовался Docker Desktop для Windows. Потом надоели глюки WSL (докер нормально только через него работает), я снес виндоус, и поставил линукс. Да было привыкание месяца два, но зато потом - я перестал постоянно слышать вентилятор, докер образы стали собираться буквально в ТРИ раза быстрее, ну и машина на аккумуляторе спокойно полдня а то и больше выживала. В случае Windows это было всего 2-3 часа. Теперь на Windows больше возвращаться не хочется.
Ну а так да, для грамотного пользователся и типичных офисных задачах или в задачах по перекладыванию джейсонов из одного места в другое - без разницы на чем работать.
можно за чуть меньше чем 7К купить роутер с wifi 6, тот же ASUS RT-AX53U, который прекрасно ставится OpenWRT (https://openwrt.org/toh/asus/rt-ax53u) у которого 4-х ядерный проц те же 256 мегабайт ОЗУ, флешка на 128 Мб. Сам на таком сижу уже почти месяц, с включенным программным и аппаратным offloading нагрузка на проц околонулевая при любом потоке. Брал в озоне месяц назад чуть больше чем за 5К (да сейчас немного дороже стало, но некритично)
Спасибо автору, прямо в ридми он собрал список проектов делающие аналогичные трюки под другие операционки. Вся суть этих проектов, в том, что бы как то извратить передаваемую в открытом виде строку домена.
на самом деле автор упомянутой статьи топил не совсем за это, а за то, чтобы разбить TCP пакет на 2 части, передавая их в обратном порядке с SNI посередине, что и было сделано в его проекте https://github.com/Waujito/youtubeUnblock а в других ссылках возможно конечно и то что вы говорите, является рецептом от замедления.
Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI).
может лучше так? "Если совсем кратко, своими словами - во время установки SSL соединения, домен, к которому мы подключаемся(так называемое SNI), передается в открытом виде." А то я весь мозг сломал пока понял фразу :)
Да собственно везде где видео используется, я тот же браузер например, или любой плеер или например ffmpeg. Точно я вам не скажу, да и надо ли? Да конечно можно обойтись и без этих новых инструкций. Современный проц и это вытянет, но какой ценой - без аппаратного декодирования, тот же plex, при декодировании более менее большого файла загружен почти полностью и для другой работы места не остается, а это очень нежелательно.
> "Работа ОС" - что это? Без каких функций ОС, добавленных за последние лет двадцать, не может обойтись софт более-менее общего назначения, а не редкий/специальный?
Да без всего можно обойтись, но только ценой увеличения нагрузки на ЦП но зачем? Тот же SHA-1 используется в том же git для хэшей, да много где еще он используется для проверки целостности, а не только в безопасности кстати. И круто когда это ничего не стоит.
Посмотрите на тот софт, что есть у Вас - какой его части действительно нужны функции из версий ОС, добавленные за последние десять-двадцать-тридцать лет?
его полно - AVX2 и иже с ним, много где нужны и они реально ускоряют. Видео, расчеты, работа ОС, да много чего. Да для перекладывания JSONов это как правило не нужно.
Чаще всего совместимость теряется просто потому, что кто-то увидел в новой версии ОС встроенную реализацию функции, для реализации которой у себя когда-то написали несколько десятков (или даже сотен) строк кода.
Все так, но часто не только из-за новой функции ОС поднимаются требования - часто дело и в железе - например использование новых инструкций процессора, например появилась поддержка аппаратного вычисления SHA-1, CRC32 и пр.
ну коли речь зашла о компиляторах в оригинальном ответе - то все они нынче open source, и собственно никто не мешает брать это и поддерживать для старых систем - только вот желающих кот наплакал :) Ибо вы со временем устанете постоянно актуализировать состояние нового кода и своих несущих костылей.
например убирают из современных компиляторов возможность сборки под старые системы.
Это все не от хорошей жизни - поддержка старого, требует ресурсов и (очень часто), несущих костылей в коде, чтобы все это работало. Со временем, если не делать периодическую чистку, все это превратится в дикий бардак, который будет невозможно поддерживать и тем более развиваться. Поэтому выбирают меньшее из зол, но все равно, приходится чем-то жертвовать, без этого никуда. Никто, в своем уме, если что-то не требует ресурсов, не будет это выкидывать из своего кода.
вопрос правильный (важна не строгость наказания, а его неотвратимость), но кто же даст такую статистику? Я все равно очень часто вижу и катание вдвоем, и езду на пешеходном переходе через оживленную улицу и много других вещей.
Опять же, Wi-Fi 5 роутер ASUS (RT-AC87U), 2 декабря 2015 года (специально залез посмотрел заказы), стоил 14500, правда на тот момент он был топ, ибо 802.11ac только, только стал выходить на массовый уровень. И кстати, старичок живой до сих пор (до этого отработал 5 лет без проблем), лежит как запасной, и недавно пригодился, ибо заглючил основной роутер. В общем у меня много было роутоеров ASUS - и ни с одним не было проблем. Может все потому, что не стоит покупать по низу рынка?
Он был довольно дорогой, стоил примерно 3 500 тысячи рублей
Вы серьезно? Сейчас более, менее нормальный роутер WiFi-6 наверно от 5000 рублей. Например ASUS RT-AX53U (на него кстати спокойно ставится тот же OpenWRT). Дорогой это уже от 10К по нынешним временам. Топовые модели стоят от 30К
Не совсем так - RemoveWhere идет по списку значений, а Remove по списку бакетов, а это не совсем одно и тоже, точнее совсем разное - в один бакет может попасть несколько разных значений (если у них хэш код один), а в списке значений такое невозможно. Но собственно, ни один, ни другой метод не меняют поле _version у коллекции, изменение которого, приводит к инвалидации итератора.
public int RemoveWhere(Predicate<T> match)
{
if (match == null)
{
ThrowHelper.ThrowArgumentNullException(ExceptionArgument.match);
}
Entry[]? entries = _entries;
int numRemoved = 0;
for (int i = 0; i < _count; i++)
{
ref Entry entry = ref entries![i];
if (entry.Next >= -1)
{
// Cache value in case delegate removes it
T value = entry.Value;
if (match(value))
{
// Check again that remove actually removed it.
if (Remove(value))
{
numRemoved++;
}
}
}
}
return numRemoved;
}
так она по сути и использует то, что описано в статье
В структуре данные хранятся в стеке, в отличие от классов, которые хранятся в куче.
Это слишком грубое упрощение. Более правильное другое - память для структур (или Value type), выделяется прямо в месте, где она используется (да, часто это стек), память для классов (или Reference type), выделяется где-то еще, а в месте использования, присутствует лишь ссылка на выделенную в другом месте память.
К вашему утверждению можно с ходу задать вопрос - а где хранятся данные для, скажем, каждой из структур, из массива в 1 млн. структур ну или даже в 10 млн.? В стек такое явно не влезет
Потому что отдельно это не работает - нужны другие сервисы вроде кролика, базы и ещё много чего. Да можно все развернуть локально - но это такой геморрой, что врагу не пожелаешь
Это вариант да, но накладные расходы на VM никто не отменял. Мне проще и быстрее было перейти на линукс
Это неудобно - сначала надо git commit, потом git push на удалённый сервер. Кроме того, при активной разработке я предпочитаю только законченные коммиты, чтобы история была более менее чистой, а с таким подходом будет много промежуточного хлама. Да есть изменение истории, но это дополнительный оверхед.
По поводу читай сиди - локально собрать в несколько раз быстрее, а когда это надо сделать 30 раз в день - экономия времени очень существенная
Ага и постоянно упражняться в перемещении исходников в VM и следить за их актуальностью там. Это может подойти если вы редко их трогаете и образ надо собирать нечасто, а когда это надо делать постоянно - это еще хуже чем работа с веслом (WSL).
Все очень сильно зависит от конекста. Личный опыт - был у меня 2 года наза рабочий ноут на Windows, и все работало, задачи делались, но почему то у него постоянно, при более менее рабочей нагрузке работал вентилятор охлаждения процессора. Моя работа связана была с докером и все такое, для этого использовался Docker Desktop для Windows. Потом надоели глюки WSL (докер нормально только через него работает), я снес виндоус, и поставил линукс. Да было привыкание месяца два, но зато потом - я перестал постоянно слышать вентилятор, докер образы стали собираться буквально в ТРИ раза быстрее, ну и машина на аккумуляторе спокойно полдня а то и больше выживала. В случае Windows это было всего 2-3 часа. Теперь на Windows больше возвращаться не хочется.
Ну а так да, для грамотного пользователся и типичных офисных задачах или в задачах по перекладыванию джейсонов из одного места в другое - без разницы на чем работать.
можно за чуть меньше чем 7К купить роутер с wifi 6, тот же ASUS RT-AX53U, который прекрасно ставится OpenWRT (https://openwrt.org/toh/asus/rt-ax53u) у которого 4-х ядерный проц те же 256 мегабайт ОЗУ, флешка на 128 Мб. Сам на таком сижу уже почти месяц, с включенным программным и аппаратным offloading нагрузка на проц околонулевая при любом потоке. Брал в озоне месяц назад чуть больше чем за 5К (да сейчас немного дороже стало, но некритично)
на самом деле автор упомянутой статьи топил не совсем за это, а за то, чтобы разбить TCP пакет на 2 части, передавая их в обратном порядке с SNI посередине, что и было сделано в его проекте https://github.com/Waujito/youtubeUnblock а в других ссылках возможно конечно и то что вы говорите, является рецептом от замедления.
может лучше так? "Если совсем кратко, своими словами - во время установки SSL соединения, домен, к которому мы подключаемся(так называемое SNI), передается в открытом виде." А то я весь мозг сломал пока понял фразу :)
10-20-30 лет назад не было сжатого 4К видео
категоризация, удобный интерфейс, всеядность, раздача по сети и много чего еще. У меня даже в телевизоре 10 летней давности есть plex клиент
PS: давайте закончим этот диалог - ни вы меня не убедите, ни я вас, просто впустую тратим время
Да собственно везде где видео используется, я тот же браузер например, или любой плеер или например ffmpeg. Точно я вам не скажу, да и надо ли? Да конечно можно обойтись и без этих новых инструкций. Современный проц и это вытянет, но какой ценой - без аппаратного декодирования, тот же plex, при декодировании более менее большого файла загружен почти полностью и для другой работы места не остается, а это очень нежелательно.
> "Работа ОС" - что это? Без каких функций ОС, добавленных за последние лет двадцать, не может обойтись софт более-менее общего назначения, а не редкий/специальный?
Да без всего можно обойтись, но только ценой увеличения нагрузки на ЦП но зачем? Тот же SHA-1 используется в том же git для хэшей, да много где еще он используется для проверки целостности, а не только в безопасности кстати. И круто когда это ничего не стоит.
его полно - AVX2 и иже с ним, много где нужны и они реально ускоряют. Видео, расчеты, работа ОС, да много чего. Да для перекладывания JSONов это как правило не нужно.
Все так, но часто не только из-за новой функции ОС поднимаются требования - часто дело и в железе - например использование новых инструкций процессора, например появилась поддержка аппаратного вычисления SHA-1, CRC32 и пр.
ну коли речь зашла о компиляторах в оригинальном ответе - то все они нынче open source, и собственно никто не мешает брать это и поддерживать для старых систем - только вот желающих кот наплакал :) Ибо вы со временем устанете постоянно актуализировать состояние нового кода и своих несущих костылей.
Это все не от хорошей жизни - поддержка старого, требует ресурсов и (очень часто), несущих костылей в коде, чтобы все это работало. Со временем, если не делать периодическую чистку, все это превратится в дикий бардак, который будет невозможно поддерживать и тем более развиваться. Поэтому выбирают меньшее из зол, но все равно, приходится чем-то жертвовать, без этого никуда. Никто, в своем уме, если что-то не требует ресурсов, не будет это выкидывать из своего кода.
вопрос правильный (важна не строгость наказания, а его неотвратимость), но кто же даст такую статистику? Я все равно очень часто вижу и катание вдвоем, и езду на пешеходном переходе через оживленную улицу и много других вещей.
Опять же, Wi-Fi 5 роутер ASUS (RT-AC87U), 2 декабря 2015 года (специально залез посмотрел заказы), стоил 14500, правда на тот момент он был топ, ибо 802.11ac только, только стал выходить на массовый уровень. И кстати, старичок живой до сих пор (до этого отработал 5 лет без проблем), лежит как запасной, и недавно пригодился, ибо заглючил основной роутер. В общем у меня много было роутоеров ASUS - и ни с одним не было проблем. Может все потому, что не стоит покупать по низу рынка?
Вы серьезно? Сейчас более, менее нормальный роутер WiFi-6 наверно от 5000 рублей. Например ASUS RT-AX53U (на него кстати спокойно ставится тот же OpenWRT). Дорогой это уже от 10К по нынешним временам. Топовые модели стоят от 30К
Не совсем так -
RemoveWhere идет по списку значений, а Remove по списку бакетов, а это не совсем одно и тоже, точнее совсем разное - в один бакет может попасть несколько разных значений (если у них хэш код один), а в списке значений такое невозможно. Но собственно, ни один, ни другой метод не меняют поле _version у коллекции, изменение которого, приводит к инвалидации итератора.коммьюнити версия и так грузится с сайта, без менеджеров пакетов. Закрыли только для коммерческих версий
так она по сути и использует то, что описано в статье
Это слишком грубое упрощение. Более правильное другое - память для структур (или Value type), выделяется прямо в месте, где она используется (да, часто это стек), память для классов (или Reference type), выделяется где-то еще, а в месте использования, присутствует лишь ссылка на выделенную в другом месте память.
К вашему утверждению можно с ходу задать вопрос - а где хранятся данные для, скажем, каждой из структур, из массива в 1 млн. структур ну или даже в 10 млн.? В стек такое явно не влезет