|
async await в c#
|
|||
---|---|---|---|
#18+
вот здесь статистика ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2020, 12:01 |
|
async await в c#
|
|||
---|---|---|---|
#18+
listtoview, про что вообще вопрос? про PHP? так иди в соответсвующий раздел форума, тебе там расскажут про php-fpm и прочее ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2020, 12:05 |
|
async await в c#
|
|||
---|---|---|---|
#18+
Не стоит судить по какому-то видео из интернета, что "при 500 запросов половина отваливается, если синхронно". Изучи лучше как утроен механизм рабочих потоков (WorkerThreads) в IIS и что в нём можно изменить на конкретном железе через конфигурацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2020, 12:11 |
|
async await в c#
|
|||
---|---|---|---|
#18+
listtoview А как же на пхп например сайты держат тысячи пользователей Открой для себя такие понятия, как ферма, балансировка нагрузки. Там может быть 10 серверов на бекенде. Ну и это твоё "держат тысячи пользователей" - влажные фантазии. 1000 запросов в секунду - это уже уровень сайтов типа StackOverflow с нехилой такой аудиторией. А там как раз множество бекендов и балансировка нагрузки. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2020, 12:19 |
|
async await в c#
|
|||
---|---|---|---|
#18+
listtoview А как же на пхп например сайты держат тысячи пользователей Разработчики языка PHP в своё время принесли в жертву быка и 10 девственниц. Один из разработчиков выполнил ритуальное публичное самососжение. Вот почему PHP держит тысячи пользователей, а остальные вынуждены выдумывать какие-то костыли, чтобы хоть как-то приблизиться к нему. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2020, 23:43 |
|
async await в c#
|
|||
---|---|---|---|
#18+
Дед в ролике правильный - PowerShell, Git в консоли, features ветки, Test Explorer в студии сразу же закладкой сбоку открыт. Зачетно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 01:04 |
|
async await в c#
|
|||
---|---|---|---|
#18+
fkthat, Мужик юзает IReadOnly*** коллекции, а не две идиотские крайности: List<T> или IEnumerable<T>... Прям тепло на душе стало :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 03:07 |
|
async await в c#
|
|||
---|---|---|---|
#18+
hVostt Мужик юзает IReadOnly*** коллекции, а не две идиотские крайности: List<T> или IEnumerable<T>... IEnumerable<T> это, так-то, тоже read-only коллекция :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 08:38 |
|
async await в c#
|
|||
---|---|---|---|
#18+
fkthat IEnumerable<T> это, так-то, тоже read-only коллекция :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 09:44 |
|
async await в c#
|
|||
---|---|---|---|
#18+
Shocker.Pro fkthat IEnumerable<T> это, так-то, тоже read-only коллекция :)) Смотря что считать коллекцией :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 09:52 |
|
async await в c#
|
|||
---|---|---|---|
#18+
fkthat hVostt Мужик юзает IReadOnly*** коллекции, а не две идиотские крайности: List<T> или IEnumerable<T>... IEnumerable<T> это, так-то, тоже read-only коллекция :)) В том-то и дело, что нет. Если ожидать на вход, то в целом ок, так как ленивые вычисления, максимально обобщённый интерфейс. Но в 90% случаев ленивость не нужна, и функция либо по нескольку раз перебирает последовательность, либо материализует в список/массив. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 13:33 |
|
async await в c#
|
|||
---|---|---|---|
#18+
fkthat Смотря что считать коллекцией :)) У коллекции есть количество элементов. Если количества нет, это бесконечная последовательность. И подходы, соответственно, разные. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 13:34 |
|
async await в c#
|
|||
---|---|---|---|
#18+
hVostt и функция либо по нескольку раз перебирает последовательность, либо материализует в список/массив А вот, на самом деле, и нет (если ты про Linq) :)). Он достаточно умный, чтобы сначала проверить, что на самом деле за IEnumerable<T> спряталось и сразу тупо пересчитывать все элементы IEnumerable не станет. Вот код Count() из дотнета: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 14:31 |
|
async await в c#
|
|||
---|---|---|---|
#18+
hVostt У коллекции есть количество элементов. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 14:42 |
|
async await в c#
|
|||
---|---|---|---|
#18+
fkthat А вот, на самом деле, и нет (если ты про Linq) :)). Он достаточно умный, чтобы сначала проверить, что на самом деле за IEnumerable<T> спряталось и сразу тупо пересчитывать все элементы IEnumerable не станет. Это не "достаточно умный" -- это необходимая "оптимизация" из-за чрезмерного злоупотребления этим интерфейсом. fkthat Вот код Count() из дотнета: Знаю я про эти костыли :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 14:46 |
|
async await в c#
|
|||
---|---|---|---|
#18+
fkthat hVostt У коллекции есть количество элементов. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Ну это уже жесть... Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
О боже, оказывается никакой интерфейс не даёт 100% гарантий реализации!? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 14:50 |
|
async await в c#
|
|||
---|---|---|---|
#18+
hVostt Ну это уже жесть... А ты попробуй вот такое: Код: c# 1. 2.
С т.з. компиляции код безупречный и классы/интерфейсы все прямо из фреймворка - никакой самодеятельности. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 14:56 |
|
async await в c#
|
|||
---|---|---|---|
#18+
fkthat А ты попробуй вот такое: Код: c# 1. 2.
С т.з. компиляции код безупречный и классы/интерфейсы все прямо из фреймворка - никакой самодеятельности. Если ты получишь интерфейс IReadOnlyCollection, ты не можешь изменить коллекцию, если не будешь заниматься рефлексией и другой самодеятельностью. Собственно, тоже самое можно сделать и с IEnumerable, но так делать нельзя, на любом ревью по рукам надают, если не по голове :) Иначе так можно сказать, что и до приватных полей можно добраться и private это фикция. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 16:01 |
|
async await в c#
|
|||
---|---|---|---|
#18+
fkthat, А, насчёт ReadOnlyCollection (реализация) -- проблема в том, что он наследуют ICollection, это легаси, IReadOnly**** интерфейсы были добавлены позже и невозможно от них отнаследовать уже существующие интерфейсы. Поэтому сейчас в .NET-е наблюдается неконсистентная каша из интерфейсов и реализаций. По сути надо с нуля перерабатывать FCL. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 16:04 |
|
async await в c#
|
|||
---|---|---|---|
#18+
hVostt, Можно еще Stream взять как пример (это хоть и не интерфейс, но все-таки абстрвкция) - большая часть свойств/методов в овердофига случаях поддерживаться в принципе не могут и всегда будут кидать ексепшен. hVostt Поэтому сейчас в .NET-е наблюдается неконсистентная каша из интерфейсов и реализаций. Так значит .NET гамно? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 16:30 |
|
async await в c#
|
|||
---|---|---|---|
#18+
fkthat Можно еще Stream взять как пример (это хоть и не интерфейс, но все-таки абстрвкция) - большая часть свойств/методов в овердофига случаях поддерживаться в принципе не могут и всегда будут кидать ексепшен. Stream это апофеоз неудачного дизайна :( fkthat Так значит .NET гамно? Да везде такая фигня. В .NET всё же намного лучше, чем в Java. Просто нужно это принимать. Самое главное понимать, что если есть какая-то возможность, это не значит что ей надо бездумно пользоваться. Например, вот это полная дичь: Код: c# 1. 2. 3. 4. 5. 6. 7.
Просто это уже по умолчанию бездумно. Некоторые из новичков даже не знают, что есть массивы. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 17:36 |
|
async await в c#
|
|||
---|---|---|---|
#18+
hVostt вот это полная дичь Это кал безотносительно к тому, что там для SomeItems используется. Но, если сделать так: Код: c# 1.
то вполне себе норм. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2020, 01:05 |
|
async await в c#
|
|||
---|---|---|---|
#18+
hVostt, Я просто не вижу каких-то прямо железобетонных причин чтобы между IReadOnlyCollection<T> и IEnumerable<T> выбирать всегда что-то одно. С одной стороны, IReadOnlyCollection не даст в случае рукожопия наступить на грабли со всяким "deffered", но с другой стороны оно и не даст в случае нерукожопия преимущества этого самого "deffered" использовать. Отличия, в конце-концов, только в наличии одного свойства, которое, даже и не вспомню когда мне нужно было. Тут, скорее, просто дело привычки и/или принятых соглашений. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2020, 01:53 |
|
async await в c#
|
|||
---|---|---|---|
#18+
fkthat Это кал безотносительно к тому, что там для SomeItems используется. Но, если сделать так: Код: c# 1.
то вполне себе норм. Не, это говнокод. В дтошке должна быть коллекция, или массив. fkthat Я просто не вижу каких-то прямо железобетонных причин чтобы между IReadOnlyCollection<T> и IEnumerable<T> выбирать всегда что-то одно. С одной стороны, IReadOnlyCollection не даст в случае рукожопия наступить на грабли со всяким "deffered", но с другой стороны оно и не даст в случае нерукожопия преимущества этого самого "deffered" использовать. Отличия, в конце-концов, только в наличии одного свойства, которое, даже и не вспомню когда мне нужно было. Тут, скорее, просто дело привычки и/или принятых соглашений. Дело в семантике. Плюс в производительности. Ну и да, там где стараются не говнокодить и принимают соглашения, это сразу продумано. Я бы сказал, бездумное пихание IEnumerable -- это изначально принятый формат говнокодинга, отсутствие соглашений и по сути принят подход когда каждый разработчик пишет так как ему "нравится". Типа я художник, я так вижу, а у нас художники идут лесом, так как программирование -- это инженерная дисциплина, а не бабский модный фешен. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2020, 07:51 |
|
|
start [/forum/topic.php?fid=18&msg=40024423&tid=1354595]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 161ms |
0 / 0 |