Search
Write a publication
Pull to refresh
1
0

User

Send message

10  наиболее часто используемых 1-кубитных квантовых вентилей

Reading time6 min
Views2.5K

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

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

Так как кубит можно представить вектором в двумерном пространстве, то действие вентиля можно описать унитарнойматрицей, на которую умножается соответствующий вектор состояния входного кубита. Однокубитные вентили описываются матрицами размера 2 × 2. 

Вот, например, схема с одним кубитом, инициализированным состоянием |0〉, которая выполняет одну операцию, X, а затем измеряет кубит.            

Читать далее

Повышение эффективности SQL-запросов: советы и рекомендации

Level of difficultyMedium
Reading time12 min
Views22K

В статье представлен ряд советов и методов, которые помогут читателям оценить производительность своих SQL-запросов и улучшить ее при необходимости. Здесь будут рассмотрены некоторые ключевые аспекты оптимизации запросов для SQL Server, чтобы помочь пользователям сделать их более эффективными и быстрыми.

Читать далее

Почему с моим менеджером так тяжело работать или проблемы в общении с бывшими гуманитариями в IT

Level of difficultyEasy
Reading time8 min
Views30K

Разберем пример одной из фундаментальных проблем в общении с бывшими гуманитариями, которую вызывает недостаток у них математического мышления. А именно — это проблема восприятия мира как черно-белого, в котором истина — одна единственная.

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

Но это не помогает... А что поможет?

Четыре года с умным домом: личный опыт и интересные сценарии

Reading time22 min
Views81K

Меня зовут Виктор, я backend-разработчик в финансовом маркетплейсе Банки.ру.

Последние годы я интересуюсь темой умного дома. Хочу поделиться тем, с чего я начинал и к чему пришел. Эта статья будет полезна тем, кто: хочет понять как устроен self-hosted умный дом; хочет перенять опыт и избежать чужих ошибок; уже имеет умный дом и интересуется прикладными сценариями.

Читать далее

Проектирование высокопроизводительных кэширующих решений с использованием Redis и Memcached

Level of difficultyHard
Reading time15 min
Views11K

Привет, Хабр!

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

Redis и Memcached – два из самых популярных и мощных инструментов для реализации кэширования. Redis, изначально разработанный как in-memory хранилище данных, позволяет эффективно хранить и быстро извлекать информацию в памяти, что делает его идеальным выбором для кэширования. Memcached, с другой стороны, специализируется исключительно на кэшировании данных и предоставляет простой, но мощный способ ускорить доступ к данным.

Читать далее

Вы кто такие, я вас не знаю, или Как мы делаем JWT-аутентификацию

Level of difficultyMedium
Reading time11 min
Views88K

Привет! Меня зовут Данил, я backend-разработчик в Doubletapp. Почти во всех наших проектах есть пользователи, которые могут войти в систему. А значит, нам почти всегда нужна авторизация. Мы используем авторизацию, построенную на JSON Web Token. Она отлично сочетает в себе простоту реализации и безопасность для приложений.

В интернете есть много разных материалов с объяснением, что такое JWT и как им пользоваться. Но большинство примеров ограничиваются выдачей токена для пользователя. В этой статье я хочу рассказать не только о том, что такое JWT, но и как можно реализовать работу с access и refresh токенами и решить сопутствующие проблемы. Будет немного теории и много практики. Присаживайтесь поудобнее, мы начинаем.

Путеводитель:

Что такое JSON Web Token?
Использование и реализация
Простая реализация JWT
Access и refresh tokens
Как отозвать токены
Доступ с нескольких устройств
Удаление старых данных
Резюмируем

Читать далее

Когда стоит заменить A/B-тестирование сэмплированием Томпсона

Level of difficultyMedium
Reading time7 min
Views3.1K

Какую рекламу показать пользователю, красную или синюю?

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

Но как узнать, какой из баннеров имеет наибольший уровень кликабельности?

Чаще всего для ответа на этот вопрос используется A/B-тестирование. Группа пользователей разделяется пополам, и первой части показывают один баннер, а второй — другой. После этого можно вычислить уровень кликабельности и выбрать лучший из вариантов.

Предположим, что в конце A/B-тестирования у вас получились следующие результаты:

Читать далее

Невидимая проблема текстовых редакторов на смартфонах

Level of difficultyEasy
Reading time15 min
Views25K

Когда я рассказываю о своих исследованиях редактирования текста на мобильных в Google, то обычно сталкиваюсь с непониманием и немного враждебным «Разве на телефонах нельзя редактировать тексты? В чём проблема?»

Редактирование текста на мобильных поломано. На самом деле, оно гораздо хуже, чем вы думаете, это невидимая проблема, на которую никто не обращает внимания. Я написал этот пост, чтобы вы поняли, насколько это важно. Так как проблема имеет много нюансов, вам может наскучить чтение, поэтому я разбросал по тексту множество заголовков; если надоест, просто пропускайте раздел.

Читать далее

Пробиваем дыры в NAT

Level of difficultyHard
Reading time14 min
Views33K

NAT - механизм, создающий множество проблем для P2P коммуникации, в силу того, что нередко адрес пира может не иметь доступного из любой точки мира, "белого" адреса. Существует ряд способов обхода NAT, но их документация, равно как и данные об их надежности, достоинствах и недостатках оставляет желать лучшего, а потому мы рассмотрим наиболее простой, и в то же время надежный метод - "hole punching".

Читать далее

5 советов разработчику перед стартом своего стартапа. Опыт после 750 000 рублей

Level of difficultyEasy
Reading time6 min
Views25K

Всем привет! Меня зовут Ростислав, я full-stack разработчик. Последние 3 года у меня есть хобби - доведение пет-проектов до стадии финансово рентабельных IT продуктов. Сейчас я хочу поделиться своими советами о запуске проекта, исходя из своего опыта.

Читать далее

Полный релиз бесплатного интерактивного 700-страничного учебника по тестированию от Mentorpiece

Level of difficultyEasy
Reading time12 min
Views111K

Гуд ньюз эвриван! Спустя полтора года работы восьми айтишников с суммарным опытом в IT 130 лет достигнут результат в виде учебника по тестированию, которого еще никто и никогда не делал.

Читать далее

Построение распределенной системы очередей сообщений с RabbitMQ и Python

Reading time22 min
Views25K

Распределенные системы — это важная составляющая современных вычислений. Они позволяют нам создавать приложения и сервисы, способные обрабатывать огромные объемы данных, обеспечивать высокую доступность и масштабируемость. Однако, при работе с распределенными системами, существует ряд сложностей и вызовов, которые разработчики должны учитывать.

RabbitMQ — это мощный и гибкий брокер сообщений, который широко используется для создания распределенных систем, поддерживающих обмен данных между различными компонентами приложения. Он был разработан с учетом принципов протокола Advanced Message Queuing Protocol (AMQP), что делает его стандартом в индустрии для обработки сообщений.

Читать далее

Как мы версию Sanic’а повышали

Level of difficultyEasy
Reading time8 min
Views2.8K

Приветствую всех читателей, меня зовут Вадим, я — бэкенд-разработчик в компании Домклик. В этой статье я хотел бы поделиться своим интересным опытом мажорного повышения зависимостей в проекте, который свыше пяти лет находится в проде под ежедневной нагрузкой более 2000 RPS. Мне пришлось обновить наш основной фреймворк сразу на несколько мажорных версий. Приглашаю прочесть как именно и зачем я это делал!

Узнать как это было

Расширенная настройка бэкэнд-проекта Python ( пример FastAPI )

Level of difficultyMedium
Reading time12 min
Views20K

? Привет! Возможно, вы что-то знаете о Python, если вы здесь. Особенно о веб-фреймворках Python. Например, есть одна вещь, которая меня очень раздражает при использовании Django: наложение слоя структуры проекта.

Вы можете спросить, почему это проблема, верно? Потому что вы просто следуете официальной документации, а затем у вас просто есть код, который понимает каждый, кто читает эту документацию.

Но как только вы начнете писать «лучшие» приложения, вы освоите другие шаблоны проектирования мирового класса, такие как DDD и его многоуровневая архитектура, и через некоторое время вы еще больше усложните свою систему с помощью CQRS. Лично мне стало труднее поддерживать базу кода, следуя всем этим принципам, когда фреймворк является ЦЕНТРАЛЬНОЙ частью всего приложения. Из него даже выйти невозможно, если через какое-то время решишь сменить фреймворк…

✅В этой статье я постараюсь поднять вопрос, а затем решить его.

? Отказ от ответственности: давайте ограничим проект серверного API интернет-рынком.

Читать далее

Made at Intel. Эпилог

Level of difficultyEasy
Reading time8 min
Views33K

Несколько дней назад я закончил последнюю главу саги Made at Intel. Напоследок хочу поделиться с вами несколькими мыслями, посетившими меня по ходу ее написания. Они обращены в прошлое, настоящее и немного в будущее.

Читать далее

Солитоны. Модель Скирма

Level of difficultyHard
Reading time60 min
Views5.5K

В мире солитонов, где волны проявляют себя не только как простые колебания, но и как частицеподобные структуры с удивительной устойчивостью, модель Скирма выступает как одна из ключевых для понимания сложных волновых явлений в трехмерном пространстве. После нашего анализа модели Френкеля-Конторовой и знакомства с одномерным уравнением Синус-Гордона, стоит задаться вопросом: можно ли адаптировать эту модель к трехмерному миру, и какие сложности и открытия это может нам принести? Тони Скирм уже задавался подобными вопросами в 1958-1962 годах, пытаясь моделировать барионные частицы. В этой статье мы погрузимся в мир его исследований, затронем проблемы и особенности солитонов в трехмерном пространстве и попытаемся понять, как скирмионы могут изменить наше понимание физики частиц

Читать далее

Почему малые языки — это будущее программирования

Reading time10 min
Views47K

Разработчик веб-приложений и распределённых систем под псевдонимом chreke* убеждён: «малые языки», то есть специализированные языки, созданные для решения конкретных задач, являются будущим программирования. Это убеждение укрепилось в нём после прочтения статьи Габриэллы Гонсалес «Конец истории программирования» и просмотра лекции Алана Кея «Программирование и масштабирование».

Под катом автор объясняет, что подразумевает под «малыми языками», и почему они так важны.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее

Принцип работы async/await в JavaScript

Level of difficultyMedium
Reading time8 min
Views35K


Если вам доводилось работать с JavaScript, то вы наверняка встречались с синтаксисом async/await. Эта функциональность позволяет прописывать асинхронную логику синхронным образом, упрощая тем самым её понимание. Некоторым ветеранам JS известно, что async/await – это просто синтаксический сахар для существующего Promises API. Это означает, что в JS должен быть способ реализации функциональности async/await без использования ключевых слов async и await, хоть и более громоздкий. Именно об этом и пойдёт речь в данной статье.

Видео от автора на ту же тему.
Читать дальше →

Логика и принципы построения BI-дашборда

Level of difficultyEasy
Reading time9 min
Views23K

Привет, Хабр!

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

Статья будет полезна тем, кто только планирует начать применять BI в своей компании. Сложной технической информации тут не будет.

Читать далее

«Враг мой» – нетленная космическая история о настоящей дружбе

Level of difficultyEasy
Reading time6 min
Views8K

1989 год. На экраны страны Советов выходит снятый четырьмя годами ранее американский фантастический фильм «Враг мой». Лента, где зритель не увидел лазерных мечей, киборгов, спайса и путешествий во времени, была философской, построенной на принципах гуманизма, дружбы и справедливости.

«Враг мой» является фильмом о вечных ценностях, о которых никогда не поздно узнавать, никогда не поздно смотреть, и поэтому этот фильм является знаковым для всех времен.

Читать далее

Information

Rating
Does not participate
Registered
Activity