Pull to refresh
-4
0
Александр Радченко @ARad

Разработчик

Send message

Теоретически вы можете оказаться даже в самой маловероятной ветви, 100 раз подбросив монетку и 100 раз получив "орёл". Но с таким же успехом это может произойти случайно и в одномировой интерпретации, законы физики нарушены не будут.

Если ветвей много то оказаться даже в самой маловероятной вселенной нет ничего удивительного. Но если предположить что есть всего одна классическая вселенная в которой происходит коллапс волновой функции, то согласно мат. статистике она будет развиваться по мат. ожиданию со стандартным отклонением, другой вариант маловероятен. Если будет "доказано" что мат. ожидание квантовой вселенной в пределах стандартного отклонения порождает "мёртвые" классические вселенные, то это будет аргументом в пользу многомировой интерпретации с такой малой сигмой в пользу других интерпретаций что согласно принятым критериям в физики можно будет сказать, что существование квантовой вселенной доказано.

К тому же сейчас чётко экспериментально показано, что та часть вселенной с которой вы не взаимодействуете, живёт для вас именно как единая волновая функция и эволюционирует согласно уравнению Шрёдингера. Без этого невозможно было бы существование квантовых компьютеров. Вычислительная часть квантовых компьютеров во время вычислений находится в небольшом квантовом мире (маленькой квантовой вселенной). Сейчас в самых мощных это примерно сотня кубитов, т.е. там теоретически одновременно моделируется до 2^100 классических вселенных (теоретически, практически там намного меньше, но все равно число огромное). Это невероятно огромное число и классические компьютеры даже близко такое не могут... Так что по крайней мере существование небольших квантовых миров уже экспериментально доказано.

Квантовая вселенная, это вселенная которую полностью можно описать одной волновой функцией и эволюция которой подчиняется уравнению Шрёдингера.
Грубо говоря её эволюцию можно полностью считать на огромном квантовом компьютере.

Мне кажется ваши рассуждения сами себе противоречат. По многомировой интерпретации существует всего одна квантовая вселенная, и её развитие полностью детерминировано. Скоре всего она конечна.

Если разбить конечную квантовую вселенную по одному определённому базису, то в ней можно будет наблюдать огромное количество классических вселенных. Насколько я понимаю таких вселенных по этому базису будет огромное, но конечное количество. И хотя тут будут все возможные в том числе самые невероятные классические вселенные. Таких невероятный вселенных будет ничтожно малое количество по сравнению с наиболее вероятными вселенными. Т.е. все возможные классические вселенные по этому базису тут будут. Т.е. тут сто процентов будет самая маловероятная классическая вселенная, но она тут будет в одном экземпляре среди невообразимо большего количества самых вероятных вселенных. Т.е. тут будет в основном наиболее вероятных вселенные, которые между собой можно сказать и не отличаются...

Насколько редка наша вселенная, пока непонятно, если доказать что она невероятно редкая, это автоматически будет серьёзным доказательством существования единой квантовой вселенной. Т.е. верности много мировой интерпретации.

Насколько я понимаю самый большая проблема многомировой интерпретации это как раз вопрос о том по каким базисам разбивать. Насколько я понимаю, математически таких базисов бесконечное количество. Но судя по нашей вселенной, её базис соответствует самому математически простому базису. Насколько я понимаю в нашей вселенной это скорость (импульс), и положение.

В квантовой вселенной царит квантовый детерминизм. Который порождает безумное количество классических вселенных в которых царит квантовая случайность.

Возможно в будущем ученные смогут доказать что вероятность появления нашей классической вселенной в том виде, какая она есть, настолько маловероятна, что она может существовать только внутри той самой квантовой вселенной, которая внутри себя порождает все самые ничтожно вероятные классические вселенные. И наша вселенная является одной из ничтожно вероятных классических вселенных. Т.е. наша классическая вселенная имеет бесконечно близкую у нулю вероятность, если бы она существовала только одна классическая вселенная с коллапсом волновой функции.

Либо наоборот, ученные смогут доказать, что наша классическая вселенная является одним из наиболее вероятных вариантов развития классических вселенных внутри квантовой вселенной. Т.е. таких очень похожих друг на друга классических вселенных внутри квантовой вселенной было бы огромное количество (бесконечно близкое к единице вероятность).

Первое доказательство будет скорее всего указывать что много мировая интерпретация наиболее верная, второе доказательство будет указывать что копенгагенская интерпретация наиболее верная.

Вот такую разницу в интерпретациях квантовой механики я вижу.

Такая распаковка будет эффективно работать на квантовом компьютере с достаточным количеством кубитов. Единственное она будет распаковывать в один из возможных вариантов (а их огромное количество) и поэтому нужны будут алгоритмы, которые научат квантовый компьютер отсекать неверные (маловероятные) варианты исходного файла.

Проблема квантовых компьютеров, в том, что хотя внутри он просчитал все возможные варианты исходных данных, за раз вы можете извлечь из него только какой один случайный вариант исходных данных.

Если вы научите квантовый компьютер ПРАВИЛЬНО оценивать вероятности того или иного исходного файла, то это сильно поможет, потому что наиболее вероятные варианты чаще всего и извлекаются за раз.

Я так понимаю электроды тоже надо менять, а значит новые электроды попадут в другие места мозга и сигналы с мозга изменятся. Программа на компьютере перестанет понимать мысли человека. Т.е. её надо будет учить заново...

В модульной архитектуре каждый модуль примерно соответствует одному микросервису по функционалу.

Модули взаимодействует с другим модулем через API, предпочтительно через слабосвязанную асинхронную связь.

Каждый такой модуль можно запустить как отдельный процесс — микросервис. Которые можно горизонтально масштабировать.

В тоже самое время можно объединять несколько модулей в одну сборку, например на машинах разработчиков. Что упрощает конфигурацию для тестовых и отладочных сборок.

Несколько модулей в одной сборке часто позволяет уменьшить нагрузку на инфраструктуру. Данные могут передаваться в одном процессе, а не гоняются по сети или сетевым протоколам. Конечно же такие сборки хорошо горизонтально масштабируются, одна сборка может быть запущена на многих узлах (виртуальных или реальных)

Самая большая разница между модулями и микросервисами заключается в том, как они развёртываются. Каждый микросервис развёртывается как отдельная сборка, в то время как модуль может быть развернут и как отдельная сборка и в составе более крупной сборки с несколькими модулями.

Я вам кратко ответил про гибкость и масштабируемость модульной архитектуры. Почему она более гибкая чем микросервисы, что позволяет на её основе собирать более производительные решения.

У меня нет времени подробно ответить вам. Да и более профессиональные ответы легко найти в интернете.

Ищите в сторону modular monolith, modular monolith vs microservices и т.д.

Также сейчас майрософт пытается решить вопросы сложной конфигурации таких приложений в облаках выпустив .NET Aspire, но он еще не готов к релизу да и первый релиз не думаю что будет без болячек.

Чисто микросервисная архитектура по моему мнению уступает модульной.

Во первых коммунизм это конец эволюции и следовательно это конец всему живому. Это камни. Они бывают красивыми, но они не бывают живыми. Так что с точки зрения науки коммунизм это утопия.

Во вторых, я вам пишу, что надо уметь ПИСАТЬ, а читать тут люди умеют и я в том числе.

В третьих я вам также стал отвечать с конца, как у вас статья и написана. Сначала что ваш код странный, потом когда люди не поняли о чем я, добавил что статья написана неправильно.

Но вы похоже все ещё похоже не поняли почему... А все потому что я отвечаю вам ровно также как у вас написана статья. Она написана задом наперёд. И начинается с одного, а потом перескакивает на другое.

Только со слов ' Наша задача – извлечь имя файла с расширением стандартным инструментарием C#.' становится понятно что вам собственно надо. И почему вы сравниваете какие то странные методы.

А надо вам не извлечь подстроку (по индексу и длине, длина опциональна), а вам надо найти последнее вхождение символа и вернуть часть строки после этого символа. Тут два действия, а не одно. Так бы и написали в заголовке как быстро получить имя файла из полного пути к файлу.

А слова `стандартным инструментарием C#` вообще не совсем соответствуют действительности, потому что самый стандартный для этого путь это использовать класс Path. И только если НАДО быстрее то использовать что то другое. Обычно этого НЕ НАДО и быстродействия класса Path вполне хватает.

Сначала производятся исследования которые показывают какие сервисы выгоднее иметь внутри одного процесса.

Настройки какие сервисы грузить внутри одного процесса можно задавать файлами конфигурации. Файлы конфигурации могут быть достаточно сложные, тут есть своя специфика.

Если вам нужен сервис внутри процесса, то грузится сам сервис, и взаимодействие происходит без участия сети и буферов. Если распределённый сервис, то его прокладка, которая и общается с ним через сеть и т.д. В общем конфигурация более сложная чем когда везде микросервисы через сеть.

Все это основано на DI и конфигурациях.

Так я об этом и пишу свой комментарий. Статья вроде как написана о том как быстро извлечь подстроку и только в конце статьи перед результатами мы узнаем что она не об этом, а о том как разбить строку по последнему вхождению символа.

Также непонятно почему они поддерживают только абсолютные пути и не поддерживают относительные, на которых код будет неверен `c:file.ext`. В общем много странного. Почему не используют стандартный для этого класс Path (https://learn.microsoft.com/ru-ru/dotnet/api/system.io.path) и т.д.

Модульная архитектура отлично горизонтально масштабируется. Не хуже микросервисов. Одновременно с этим она позволяет объединять в одном процессе плотно взаимодействующие между собой сервисы, что позволяет не гонять данные через сеть и протобуфер. В общем правильно написанная имеет преимущества и монолита и микросервисов одновременно. При этом любой из сервисов легко выделить в отдельный процесс или наоборот объединить нужные сервисы в одном процессе. Отдельные процессы могут содержать как один сервис (модуль) так и содержать несколько плотно взаимодействующих сервисов (модулей) и избежать лишней нагрузки на сеть. Позволяет тасовать сервисы по процессам как удобно и производительнее в данный момент.

В том что они там измеряют скорость поиска символа в строке в том числе. В общем выполняют задачу разбиения строки по символу, а не извлекают подстроку.

Статья про одно, а тестовый код про другое.

Правильно написанный свой код будет по скорости практически равен стандартному методу. Думаю что разница будет в пару процентов.

В сторону модульной архитектуры не смотрели? Это намного проще чем микросервисы и производительнее и достаточно гибко.

Да с новыми типами данных, такой код на шарпе можно писать максимально производительно, но это очень специфичные задачи, и не типичные для шарпа. Кому это надо они разберутся, тут в статье детский уровень, а уж код вообще вредный...

Глянул код, он странный. Не удивительно что вы извлекаете подстроку методами, для этого неподходящими.

Я вас не понимаю. Какая разница какая кодировка в БД, или у ваших клиентах и т.д. Для вас это все прозрачно перекодируется. Или вы о чем то другом?

Внутри программ вы же надеюсь используете стандартные строки?

И это вы ещё Span не использовали.

1
23 ...

Information

Rating
5,092-nd
Location
Паттая, Чон Бури, Таиланд
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Application Developer
Senior
From 2,000 $
C#
.NET
Algorithms and data structures
Multiple thread
Code Optimization
System Programming
Applied math
Database
High-loaded systems
Designing application architecture