Код некорректен - если в словаре нету данного ключа, то создаем новую сущность и ее же возвращаем? Если в корзине нету красного яблока, создадим новое и вернем его. Где здесь корректность? Null-значения все же не просто так придумали, хе хе. Можно прикрутить сюда NullObject pattern (или как его там кличут).
То же самое касается и принимающей стороны. Зачем нам дополнительная проверка в алгоритме программы? И почему мы передаём null?
Потому что если метод является публичным, то нет гарантий, что клиентский код передаст в метод корректные параметры. А если в метод переданы некорректные параметры, то метод не может выполнить свою работу - следуем принципу самурая (он же safe programming) - бросаем ислключение. Однако вся внутренняя кухня может не делать проверок, если гарантируется корректность и целостность данных, то есть мы доверяем собственному коду. И вообще все это зависит еще от требований к производительности - бросать/не бросать исключения. Автор не впечатлил своей статьей - слабовато.
Хватит ерунду городить, с позиции своих 10+ лет опыта, посматривая от скуки его видосики, могу сделать вполне себе вывод - что Виндертон довольно квалифицирован, и делает очень классные концентрованные ролики по IT - самое-то для новичков или желающих вкатиться. Сакутин ему в подметки не годится (не сравнивайте шарписта и плюсовика, у плюсовика фундамент крепче). Не понимаю эти необоснованные комментарии - "не разговаривайте с ним, он плохой". Ей богу, как маленькие дети. По одному только качеству роликов можно сделать вывод, что контент очень и очень проработан и на уровне.
Индусы в большинстве своем хорошего и не пишут, у них большая конкуренция вот и приходится хоть как-то имитировать компетенции и проявлять активность. И да, нет такого паттерна, это все выдумки автора, статья - шлак, непонятно для кого. Нету качественных глубоких материалов, но зато есть напоминалка на гавнокурсы, уж простите.
Вы знаете уже достаточно грамматики для базового общения, поэтому ваша цель — запомнить как можно больше слов.
О да, уже как год выписываю конспекты из nytimes - word of the day колонки, где запоминаю не только основное слово дня, но и ВСЕ незнакомые слова фрагмента текста из приаттаченой статьи + саму ссылку на статью сохраняю (+ делаю bookmark на самом сайте nytimes, если тема реально интересная) + идиомы, встреченные в тексте. Некоторые особо "интересные" слова перевожу не только в translate.google, но и параллельно в dictionary.cambridge.org.
В среднем поначалу тяжело было, по 5-10 новых слов в день, дальше уже проще. Но пассивный вокабуляр прямо как на дрожжах вырос. Правда это монотонная работа, не все захотят такое проделывать. Итого, в среднем, по 5 слов в день выходит - через месяц уже будет ровно год, а это как минимум 1500 слов (На деле все 2000 точно будет, включая идиомы). Конспект на руках, всегда можно потренить/повспоминать.
При этом читая даже фрагменты, понимаешь насколько язык живой, некоторые термины, специфичные для узких областей можно использовать в повседневной речи и прочее прочее. Короче говоря, tedious work paid off itself.
В комплект с SDK не входит ASP.NET-Runtime. Имея опыт разработки и развёртывания приложений под Windows, MacOS и Ubuntu, я долго не мог понять, почему после установки SDK, я получаю ошибку при попытке собрать и запустить проект: "No frameworks were found."
Сам SDK лучше ставить с официального сайта из tar-бола. Единожды указав корректный $DOTNET_ROOT в .bashrc/.zshrc, SDK-и ставятся одной командой:
tar zxf dotnet-sdk-8.0.201-linux-x64.tar.gz -C $DOTNET_ROOT
Как мэйнтейнер пакета решит, такие зависимости и будут.
Вот это точно глупость. Если так рассуждать, то на винде тоже как разработчик решит, такие у софта и будут зависимости. Смысл в том, что в Arch-е не предустанавливаются возможно ненужные пакеты, которые потом придется удалять. Простота - один из ключевых моментов философии этого канадского дистрибутива. За 20 лет пользования не увидели разницы между mainstream-ными дистрибутивами + разницы между LTS-release VS Rolling-release?
Я как на ноутбук пересел, Арч выкинул через полгода в пользу debian stable. Хотя ноут Асус не особо дешевый.
Стараюсь Тайваня придерживаться - MSI - тащусь от их продукции. MSI Katana - все работает из коробки, правда видюшка встроенная от Intel (дискретную пока не пробовал включать - не разбирался еще даже за 2 года - все и так работает).
PS: про простоту.
Arch Linux defines simplicity as without unnecessary additions or modifications. It ships software as released by the original developers (upstream) with minimal distribution-specific (downstream) changes: patches not accepted by upstream are avoided, and Arch's downstream patches consist almost entirely of backported bug fixes that are obsoleted by the project's next release.
Арч же в принципе практически идеологически это бета тест.
Кто вам такое сказал?
У Арча меньше всего зависимостей, так как ставишь сам и выбираешь что нужно самому, у себя на двух устройствах использую Arch + Manjaro - из этих двух дистров Aрч работает стабильнее, несмотря на то, что версия ядра и софт у него по свежее будет. Тут, скорее всего, еще комбинация с железом играет роль - на Manjaro чутка специфичное работает.
Все же это специфика GameDev-репозиториев, поскольку они по своей сути - файловая помойка, уж простите. 300GB c 90-95% программного кода (а не всяких спрайтов и прочего) - это невероятно огромные объемы. И правильно переводить слово huge из оригинальной статьи Скотта Чакона - огромный. То есть это действительно огромный репозиторий. Сравните с другими 10-летними полноценными репозиториями (комментарий ниже с примером Avalonia).
Я бы еще добавил, что short-circuit можно и самому делать, достаточно в своих Middleware/RequestDelegate-ах, НЕ вызывать следующий в пайплайне RequestDelegate - который обычно обозначается идентификатором next. Это уже от логики зависит. А если и вызываете, то в доках есть упоминание, что лучше использовать те перегрузки, которые требуют явной передачи HttpContext-а в следующий RequestDelegate - это позволяет избежать 2 лишних аллокаций памяти во внутренней кухне пайплайна.
//делай так
//Func<HttpContext, RequestDelegate, Task> - используется эта перегрузка
app.Use(async(context, next) =>
{
//my middleware logic
//next one
await next(context);
});
//НЕ делай так
//Func<HttpContext, Func<Task>, Task> - используется эта перегрузка
app.Use(async(context, next) =>
{
await next();
});
По поводу short-circuit - это вовсе не костыль, это оптимизация использования CPU для веб-приложений. Тот же StaticFilesMiddleware, если вы, например, делаете запрос на получения favicon, то не имеет смысла уже далее пропускать через routing, авторизацию и прочее, а надо сразу вернуть ответ. Это просто здравый смысл обработки запроса.
Хм, спасибо. Все равно в голове не укладывается, взять что-то родное из своей экосистемы (.NET), к примеру, Avalonia - кроссплатформенный UI фреймворк для .NET - репозиторию 10 лет, и он не весит даже 200 MB. Так что, пресловутые GameDev-repos, они скорее как файловые хранилища. 300GB чистого исходного кода под операционную систему - это действительно очень много.
Ну хорошо, судя по прилетевшим минусам я поторопился с выводами, тогда задам такой вопрос - какой процент от этого объема занимают именно текстовые файлы (программный код)? 5% хотя бы будет? Просто стало интересно, что это за магические GameDev репозитории, на терабайты заполненные спрайтами и другими графическими ассетами. Вот даже интересно стало, условно, я на PS4-ке раньше игрался в souls-like жанр, самые тяжелые из них уже после установки занимают (специально зашел в настройки проверить):
Nioh - 55.3GB
Nioh2 - 53GB
Nier Automata - 52.63GB
Ghost of Tsushima - 52.23GB + Bonus Content в 22.10GB
God of War - 45.86GB.
Elden Ring - 45.69GB
Nier Replicant - 27GB
Sekiro: Shadows Die Twice - 17.02GB (!)
Вот объясните недалекому, неужели в этих игрушках в репозиториях тоже терабайты ассетов?
Код некорректен - если в словаре нету данного ключа, то создаем новую сущность и ее же возвращаем? Если в корзине нету красного яблока, создадим новое и вернем его. Где здесь корректность? Null-значения все же не просто так придумали, хе хе. Можно прикрутить сюда NullObject pattern (или как его там кличут).
Притянутая за уши критика.
Потому что если метод является публичным, то нет гарантий, что клиентский код передаст в метод корректные параметры. А если в метод переданы некорректные параметры, то метод не может выполнить свою работу - следуем принципу самурая (он же safe programming) - бросаем ислключение.
Однако вся внутренняя кухня может не делать проверок, если гарантируется корректность и целостность данных, то есть мы доверяем собственному коду. И вообще все это зависит еще от требований к производительности - бросать/не бросать исключения.
Автор не впечатлил своей статьей - слабовато.
Хватит ерунду городить, с позиции своих 10+ лет опыта, посматривая от скуки его видосики, могу сделать вполне себе вывод - что Виндертон довольно квалифицирован, и делает очень классные концентрованные ролики по IT - самое-то для новичков или желающих вкатиться. Сакутин ему в подметки не годится (не сравнивайте шарписта и плюсовика, у плюсовика фундамент крепче). Не понимаю эти необоснованные комментарии - "не разговаривайте с ним, он плохой". Ей богу, как маленькие дети. По одному только качеству роликов можно сделать вывод, что контент очень и очень проработан и на уровне.
Индусы в большинстве своем хорошего и не пишут, у них большая конкуренция вот и приходится хоть как-то имитировать компетенции и проявлять активность. И да, нет такого паттерна, это все выдумки автора, статья - шлак, непонятно для кого. Нету качественных глубоких материалов, но зато есть напоминалка на гавнокурсы, уж простите.
Он не один, у меня тоже нет проблемы с переключением раскладки в XFCE.
Понятно только то, что в вашем посте больше ерунды написано чем здравой критики.
Ахах, черт возьми, у статьи еще и тег "туториал". )
О да, уже как год выписываю конспекты из nytimes - word of the day колонки, где запоминаю не только основное слово дня, но и ВСЕ незнакомые слова фрагмента текста из приаттаченой статьи + саму ссылку на статью сохраняю (+ делаю bookmark на самом сайте nytimes, если тема реально интересная) + идиомы, встреченные в тексте. Некоторые особо "интересные" слова перевожу не только в translate.google, но и параллельно в dictionary.cambridge.org.
В среднем поначалу тяжело было, по 5-10 новых слов в день, дальше уже проще. Но пассивный вокабуляр прямо как на дрожжах вырос. Правда это монотонная работа, не все захотят такое проделывать. Итого, в среднем, по 5 слов в день выходит - через месяц уже будет ровно год, а это как минимум 1500 слов (На деле все 2000 точно будет, включая идиомы). Конспект на руках, всегда можно потренить/повспоминать.
При этом читая даже фрагменты, понимаешь насколько язык живой, некоторые термины, специфичные для узких областей можно использовать в повседневной речи и прочее прочее. Короче говоря, tedious work paid off itself.
Да PHP уже давно умер, судя по слухам. Просто все никак не может, медленно, не торопясь, проехать все круги чистилища на своем золотом велосипеде. ))
Сам SDK лучше ставить с официального сайта из tar-бола. Единожды указав корректный $DOTNET_ROOT в .bashrc/.zshrc, SDK-и ставятся одной командой:
Profit.
Вот это точно глупость. Если так рассуждать, то на винде тоже как разработчик решит, такие у софта и будут зависимости. Смысл в том, что в Arch-е не предустанавливаются возможно ненужные пакеты, которые потом придется удалять. Простота - один из ключевых моментов философии этого канадского дистрибутива. За 20 лет пользования не увидели разницы между mainstream-ными дистрибутивами + разницы между LTS-release VS Rolling-release?
Стараюсь Тайваня придерживаться - MSI - тащусь от их продукции. MSI Katana - все работает из коробки, правда видюшка встроенная от Intel (дискретную пока не пробовал включать - не разбирался еще даже за 2 года - все и так работает).
PS: про простоту.
Кто вам такое сказал?
У Арча меньше всего зависимостей, так как ставишь сам и выбираешь что нужно самому, у себя на двух устройствах использую Arch + Manjaro - из этих двух дистров Aрч работает стабильнее, несмотря на то, что версия ядра и софт у него по свежее будет. Тут, скорее всего, еще комбинация с железом играет роль - на Manjaro чутка специфичное работает.
Так он так и работает из коробки. А то что автор статьи описал - это возможность писать свой подобный функционал быстрее.
Все же это специфика GameDev-репозиториев, поскольку они по своей сути - файловая помойка, уж простите. 300GB c 90-95% программного кода (а не всяких спрайтов и прочего) - это невероятно огромные объемы. И правильно переводить слово huge из оригинальной статьи Скотта Чакона - огромный. То есть это действительно огромный репозиторий. Сравните с другими 10-летними полноценными репозиториями (комментарий ниже с примером Avalonia).
Я бы еще добавил, что short-circuit можно и самому делать, достаточно в своих Middleware/RequestDelegate-ах, НЕ вызывать следующий в пайплайне RequestDelegate - который обычно обозначается идентификатором next. Это уже от логики зависит. А если и вызываете, то в доках есть упоминание, что лучше использовать те перегрузки, которые требуют явной передачи HttpContext-а в следующий RequestDelegate - это позволяет избежать 2 лишних аллокаций памяти во внутренней кухне пайплайна.
По поводу short-circuit - это вовсе не костыль, это оптимизация использования CPU для веб-приложений. Тот же StaticFilesMiddleware, если вы, например, делаете запрос на получения favicon, то не имеет смысла уже далее пропускать через routing, авторизацию и прочее, а надо сразу вернуть ответ. Это просто здравый смысл обработки запроса.
Хм, спасибо. Все равно в голове не укладывается, взять что-то родное из своей экосистемы (.NET), к примеру, Avalonia - кроссплатформенный UI фреймворк для .NET - репозиторию 10 лет, и он не весит даже 200 MB. Так что, пресловутые GameDev-repos, они скорее как файловые хранилища. 300GB чистого исходного кода под операционную систему - это действительно очень много.
Ну хорошо, судя по прилетевшим минусам я поторопился с выводами, тогда задам такой вопрос - какой процент от этого объема занимают именно текстовые файлы (программный код)? 5% хотя бы будет? Просто стало интересно, что это за магические GameDev репозитории, на терабайты заполненные спрайтами и другими графическими ассетами.
Вот даже интересно стало, условно, я на PS4-ке раньше игрался в souls-like жанр, самые тяжелые из них уже после установки занимают (специально зашел в настройки проверить):
Nioh - 55.3GB
Nioh2 - 53GB
Nier Automata - 52.63GB
Ghost of Tsushima - 52.23GB + Bonus Content в 22.10GB
God of War - 45.86GB.
Elden Ring - 45.69GB
Nier Replicant - 27GB
Sekiro: Shadows Die Twice - 17.02GB (!)
Вот объясните недалекому, неужели в этих игрушках в репозиториях тоже терабайты ассетов?
А вы хотя бы какие-то репозитории видели? И вообще, знаете что такое репозиторий?
Вопросы к чему - хватить нести чушь.
400 долгоиграющих веток? У вас проблемы с организацией воркфлоу, совершенно точно, это на 5-6 человек то.