All streams
Search
Write a publication
Pull to refresh
4
0.1
Сергей @gres_84

C++ Developer

Send message

Современные возможности C++ и проверенные паттерны: активный объект, внешний полиморфизм и корутины

Reading time14 min
Views18K

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

Читать далее

Что означает RISC и CISC?

Reading time21 min
Views184K

Многие говорят, что разница между RISC и CISC стала несущественной. Так ли это? И если нет, то в чем разница между современными RISC и CISC процессорами?

Компания Apple выпустила процессор Apple Silicon M1, который произвел фурор. Теперь вы можете задаться вопросом, чем он отличается от процессоров Intel и AMD? Вероятно, вы слышали, что M1 — процессор с архитектурой ARM, а ARM — это RISC, в отличие от Intel и AMD.

Если вы читали про разницу между микропроцессорами RISC и CISC, то вы знаете, что множество людей утверждают об отсутствии практической разницы между ними в современном мире. Но так ли это на самом деле?
Читать дальше →

Квантовая запутанность глазами хакера. Часть 1

Reading time12 min
Views21K

Квантовая запутанность, изначально предсказанная в совместной работе Эйнштейна, Подольского и Розена, подразумевает взаимозависимость квантовых состояний двух или большего числа объектов. Такая взаимозависимость может сохраняться, даже если эти объекты разнесены в пространстве за пределы любых известных взаимодействий. Хотя Эйнштейн не рассматривал ЭПР-парадокс как описание какого-либо физического феномена, последующие эксперименты подтвердили существование запутанных состояний в реальном мире. Установлено, что корреляция запутанных пар происходит со скоростью, существенно превосходящий скорость света в вакууме. Вероятно, использование запутанных состояний позволило бы мгновенно передавать информацию на любые расстояния. Однако физики сходятся во мнении, что квантовая запутанность не может использоваться для передачи информации.

Квантовый мир словно использует надежную защиту, чтобы оставить в тайне свои секреты. Но любая защита — это лишь генератор ошибок перед правильным кодом. Как мы знаем, решением, казалось бы «невозможных задач» лучше всего справляются люди, обладающие нестандартным мышлением и творческим подходом. Поэтому, предлагаю рассмотреть способы решения данной задачи с точки зрения специалиста по информационной безопасности, вплотную опираясь на результаты реальных экспериментов. Каждый эксперимент шаг за шагом раскроет небольшие детали, которые позволят двигаться дальше в нужном направлении. Мы залезем в дебри квантовой механики и приоткроем завесу тайны, экспериментально показав «баги и фичи» не описанные в учебниках. В результате нам удастся провести ряд практических экспериментов во второй части данного поста, позволяющих получить уникальные результаты. Постараемся разобраться с алгоритмами квантового мира и подобрать правильные ключи к тайнам этого удивительного мира.
Читать дальше →

Simulation theory: взаимосвязь квантово-химических расчётов и Реальности

Reading time32 min
Views17K

Введение


О чём этот текст


Если человек услышит о «симуляции реальности», то в наиболее вероятно ему в голову придут или разные научно-фантастические произведения (типа Матрицы, Темного города, или Теоремы Зеро), или компьютерные игры. В случае людей, чьи головы засорены инженерным образованием, возможно всплывут пакеты типа КОМПАС-3D AutoCAD, Solid Edge или NX. Человек, слушающий научпоп, возможно вспомнит о всяком моделировании разных космических штуковин.

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

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

Текст рассчитан на людей понимающих и/или интересующихся тем, как живут атомы и молекулки.

image

Взято из xkcd.com
Читать дальше →

Простое суффиксное дерево

Reading time12 min
Views78K
ДеревоСуффиксное дерево – мощная структура, позволяющая неожиданно эффективно решать мириады сложных поисковых задач на неструктурированных массивах данных. К сожалению, известные алгоритмы построения суффиксного дерева (главным образом алгоритм, предложенный Эско Укконеном (Esko Ukkonen)) достаточно сложны для понимания и трудоёмки в реализации. Лишь относительно недавно, в 2011 году, стараниями Дэни Бреслауэра (Dany Breslauer) и Джузеппе Италиано (Giuseppe Italiano) был придуман сравнительно несложный метод построения, который фактически является упрощённым вариантом алгоритма Питера Вейнера (Peter Weiner) – человека, придумавшего суффиксные деревья в 1973 году. Если вы не знаете, что такое суффиксное дерево или всегда его боялись, то это ваш шанс изучить его и заодно овладеть относительно простым способом построения.
Читать дальше →

Коллекционирую лучшие C++ практики

Reading time3 min
Views22K

Коллекционирую лучшие C++ практики


Что-то наши публикации всё больше о плохом, чем о хорошем. Здесь баг, тут код с запахом, это антипаттерн, вот так писать не надо. Помогите увидеть светлую сторону программирования на С++. Оставляйте комментарии.

Читать дальше →

Bash-скрипты, часть 2: циклы

Reading time8 min
Views831K
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

В прошлый раз мы рассказали об основах программирования для bash. Даже то немногое, что уже разобрано, позволяет всем желающим приступить к автоматизации работы в Linux. В этом материале продолжим рассказ о bash-скриптах, поговорим об управляющих конструкциях, которые позволяют выполнять повторяющиеся действия. Речь идёт о циклах for и while, о методах работы с ними и о практических примерах их применения.

image

Внимание: в посте спрятана выгода!
Читать дальше →

Как войти в IT?

Reading time8 min
Views126K

Цель статьи помочь желающим войти в IT, либо показать, что оно им не нужно.

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

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

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

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

Читать далее

Как ИТ-специалисту развить навыки коммуникации. 20+ полезных материалов

Reading time10 min
Views30K


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

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

Играйте в хакера безопасно: 20+ игр, чтобы почувствовать себя хацкером и не призвать ФСБ

Reading time9 min
Views68K
Пока кто-то играл в «REvil», кто-то играл в безобидные «симуляторы хакерства». Хакер — очень популярный сеттинг в играх. Во многих играх, к примеру, Watch Dogs 2, System Shock 2, Deus Ex: Human Revolution, Cyberpunk 2077, есть тематика хакерства. Но эти игры дают искаженное представление: кто загадочный и что-то тыкает в компьютере, тот и хакер.



Ниже моя подборка с разными играми про хакерство, я разделяю их на:

  • те, которые реально прокачивают какие-то скиллы в сфере информационной безопасности, включают какой-то образовательный контент для начинающих (5 игр);
  • те, которые симулируют атмосферу хакерства и какие-то процессы в упрощенном виде (9 игр);
  • те, которые просто симулируют атмосферу хакерства и загадочности (5 игр);
  • фан на тему около хакерства (3 игры).


Еще я веду канал в Telegram: GameDEVils, делюсь там клевыми материалами (про геймдизайн, разработку и историю игр).
Читать дальше →
12 ...
7

Information

Rating
3,981-st
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity