В алгоритме шифрования у вас на каждый символ два вложенных цикла поиска символа в массиве, что делает его чрезвычайно медленным (асимптотика O(n^3), подробнее тут). Я бы рекомендовал обратить внимание на использование словаря, под капотом у которого - хэш-таблица.
Алгоритм дешифрования чересчур громоздкий - что если у вас таблица будет 10х10? А если 128х128? Если вы точно знаете, что на входе - число, тогда его можно разделить на две компоненты, и с помощью int.Parse/int.TryParse получить нужные индексы для нахождения буквы.
Ну и перед публикацией статьи желательно хотя бы выровнять код, который Вы публикуете.
В целом, Вы молодец что изучаете программирование, но технический уровень этой статьи точно не соответствует уровню хабра. Рекомендую найти кого-то, кто бы помог Вам с вычитыванием статьи перед публикацией, ну и в целом в изучении языка C#. Можете писать мне, почта navferty@ymail.com
В случае если речь идет о работе с кодом - да. У меня VSCode чаще используется для просмотра логов, правки конфигов, редактирования json'ов и тому подобных эпизодических задач, а для кода есть полноценная Visual Studio
Упомянули multiple cursors, который давно и часто использую, но самый частый паттерн забыли: выделить кусок текста, и дальше Ctrl-D (select next occurrence) или Ctrl-Shift-L (select all occurrences). И не нужно использовать мышь.
Кроме того, при использовании поиска по документу, тоже можно нажать Alt-Enter, и он перейдёт в режим multiple cursors по всем вхождениям искомой фразы.
"в идеале" может быть для разных субъектов разным. Например, лично для меня, мои наличные сбережения, которые лежат под матрасом, лучше бы росли, или хотя бы не обесценивались.
Если же смотреть с точки зрения общества в целом, то оно будет выигрывать, если сбережения будут немного обесцениваться со временем (инфляция): это будет стимулировать людей (и компании) инвестировать свои накопления, а не держать их под подушкой, тем самым стимулируя экономическую активность, что увеличит количество благ для всех.
Но и слишком высокая инфляция тоже негативно влияет на экономику.
Context-based injection is the ability to inject a particular dependency based on the context it lives in (or change the implementation based on the type it is injected into). Simple Injector contains the RegisterConditional method overloads that enable context-based injection.
Из того что есть в наличии, наверно альтернативой могло бы быть собственно инъекция фабрики, с резолвингом зависимости уже внутри конструктора или даже в рантайме
class Consumer
{
IDependency _dependency;
public Consumer(IDependencyFactory factory)
{
_dependency = factory.Create(this);
}
}
Но опять же, в описанном случае если уже есть 100500 мест где эта зависимость резолвится напрямую - те же проблемы с переписываением.
В договоре указывалось, что стороны признают юридическую силу всех документов, тексты которых получены по электронной почте или другим каналам связи, в том числе привязанным к телефонным номерам сторон (мессенджер WhatsApp, принадлежит компании Metа, которая признана в России экстремистской организацией и запрещена).
Ну, если включить режим зануды, то действительно оценивается, только не совсем так.
Если я живу на 3 этаже, и плачу коммуналку за лифт N тугриков в месяц, то "чё-то дорого, нафиг оно мне надо". Если живу на 15 этаже, то те же N тугриков будут "норм, я бы даже и больше заплатил"
Я не джавист, но мне кажется не очень разумным полагаться на поведение сборщика мусора в вещах, которые относятся к бизнес-логике. Предположим, завтра к Вам придет аналитик и скажет: давайте мы будем держать эту вьюмодель в памяти, но только пока пользователь находится в этом разделе приложения (на соседних экранах), а как только переходит в другой раздел (скажем, корзина) - можем прерывать запросы, если они еще идут, и освобождать память для более нужных вещей. И наоборот: пока пользователь находится в этом разделе, пусть и на других страницах - держать вьюмодель в памяти, независимо от приходи GC.
Имхо для подобных вещей имеет смысл создавать отдельную сущность, которая будет управлять подобными вещами, пусть даже в первоначальной реализации там действительно используются слабые ссылки.
То что вы перечислили - это не библиотеки, а пространства имён, все они входят в BCL (base class library).
В алгоритме шифрования у вас на каждый символ два вложенных цикла поиска символа в массиве, что делает его чрезвычайно медленным (асимптотика O(n^3), подробнее тут). Я бы рекомендовал обратить внимание на использование словаря, под капотом у которого - хэш-таблица.
Алгоритм дешифрования чересчур громоздкий - что если у вас таблица будет 10х10? А если 128х128? Если вы точно знаете, что на входе - число, тогда его можно разделить на две компоненты, и с помощью int.Parse/int.TryParse получить нужные индексы для нахождения буквы.
Ну и перед публикацией статьи желательно хотя бы выровнять код, который Вы публикуете.
В целом, Вы молодец что изучаете программирование, но технический уровень этой статьи точно не соответствует уровню хабра. Рекомендую найти кого-то, кто бы помог Вам с вычитыванием статьи перед публикацией, ну и в целом в изучении языка C#. Можете писать мне, почта navferty@ymail.com
Зато можно пользоваться Ctrl-W для закрытия вкладки блокнота, аналогично как в браузерах, удобно. В этом случае, кстати, спрашивает.
А что с ним случилось?
Расшифровка
"ползала" не как глагол, а как "половина зала"
В случае если речь идет о работе с кодом - да. У меня VSCode чаще используется для просмотра логов, правки конфигов, редактирования json'ов и тому подобных эпизодических задач, а для кода есть полноценная Visual Studio
Упомянули multiple cursors, который давно и часто использую, но самый частый паттерн забыли: выделить кусок текста, и дальше Ctrl-D (select next occurrence) или Ctrl-Shift-L (select all occurrences). И не нужно использовать мышь.
Кроме того, при использовании поиска по документу, тоже можно нажать Alt-Enter, и он перейдёт в режим multiple cursors по всем вхождениям искомой фразы.
"в идеале" может быть для разных субъектов разным. Например, лично для меня, мои наличные сбережения, которые лежат под матрасом, лучше бы росли, или хотя бы не обесценивались.
Если же смотреть с точки зрения общества в целом, то оно будет выигрывать, если сбережения будут немного обесцениваться со временем (инфляция): это будет стимулировать людей (и компании) инвестировать свои накопления, а не держать их под подушкой, тем самым стимулируя экономическую активность, что увеличит количество благ для всех.
Но и слишком высокая инфляция тоже негативно влияет на экономику.
Если кому-то интересно посмотреть как выглядит треугольник с указанными сторонами
Угол гамма 104.08, действительно попадает в указанный диапазон
Нет, у меня на O открыл десктопный Outlook
К слову, некоторые IOC имеют такую фичу:
Advanced Scenarios — Simple Injector 5 documentation
Из того что есть в наличии, наверно альтернативой могло бы быть собственно инъекция фабрики, с резолвингом зависимости уже внутри конструктора или даже в рантайме
Но опять же, в описанном случае если уже есть 100500 мест где эта зависимость резолвится напрямую - те же проблемы с переписываением.
Там тройка пропущена, если сравнивать с приведённым изображением письма (34512075 x^11)
Самое важное тут это:
Новость высосана из пальца, имхо.
Вряд ли такое решение будет работать годами без обслуживания.
Ну, если включить режим зануды, то действительно оценивается, только не совсем так.
Если я живу на 3 этаже, и плачу коммуналку за лифт N тугриков в месяц, то "чё-то дорого, нафиг оно мне надо". Если живу на 15 этаже, то те же N тугриков будут "норм, я бы даже и больше заплатил"
Я не джавист, но мне кажется не очень разумным полагаться на поведение сборщика мусора в вещах, которые относятся к бизнес-логике. Предположим, завтра к Вам придет аналитик и скажет: давайте мы будем держать эту вьюмодель в памяти, но только пока пользователь находится в этом разделе приложения (на соседних экранах), а как только переходит в другой раздел (скажем, корзина) - можем прерывать запросы, если они еще идут, и освобождать память для более нужных вещей. И наоборот: пока пользователь находится в этом разделе, пусть и на других страницах - держать вьюмодель в памяти, независимо от приходи GC.
Имхо для подобных вещей имеет смысл создавать отдельную сущность, которая будет управлять подобными вещами, пусть даже в первоначальной реализации там действительно используются слабые ссылки.
Согласен, интересный проект.
Это для Вас эти средства безопасные. А для кого-то другого эти же средства, используемые Вами, представляют опасность (реальную или мнимую).
Странный у вас курс доллара, судя по тому как он указал мой уровень в рублях, у вас он где-то в районе 52 рублей за доллар
А что была за статья, поделитесь ссылкой (или хотя бы намекнёте)?