Pull to refresh
2
0
Сергей @gres_84

C++ Developer

Send message

Проджект менеджер свалился под стол с кровавой пеной во рту — что делать?

Level of difficultyEasy
Reading time5 min
Views7K

Айтишный труд опасен: можно отравиться соевым латте, словить инфаркт от правок и подраться на корпоративе. Можем ли мы рассчитывать на помощь коллег в случае ЧП? Пока вы врубаете VPN, чтобы спросить совета у ChatGPT, ваш коллега отправится на тот свет. 

В этой статье разобрали несчастные случаи, которые могут настигнуть вас в офисе. Рассказываем, что нужно сделать в таких ситуациях (и что делать ни в коем случае нельзя). Кстати, ВОЗ говорит, что на рабочем месте ежегодно умирает до 600 000 человек. 

Читать далее
Total votes 23: ↑21 and ↓2+27
Comments51

Как не надо проверять размер массива в С++

Level of difficultyMedium
Reading time7 min
Views26K

Как часто вам приходится сталкиваться с конструкцией sizeof(array)/sizeof(array[0]) для определения размера массива? Очень надеюсь, что не часто, ведь на дворе уже 2024 год. В заметке поговорим о недостатках конструкции, откуда она берётся в современном коде и как от неё наконец избавиться.

Читать далее
Total votes 66: ↑63 and ↓3+83
Comments103

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

Level of difficultyEasy
Reading time6 min
Views8.1K

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

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

Погнали!
Total votes 40: ↑40 and ↓0+41
Comments3

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

Level of difficultyMedium
Reading time9 min
Views20K

Я читаю курс статистического мышления магистрам, и одна тема вызывает у них явные затруднения — чем стандартное отклонение отличается от стандартной ошибки, и в каких случаях, применять ту или иную статистику. Думаю, будет интересно поговорить об этом в блоге ЛАНИТ.

Читать далее
Total votes 35: ↑35 and ↓0+36
Comments8

Бесконтактные и слабые измерения, контрфактические вычисления и контрпортация

Level of difficultyMedium
Reading time20 min
Views3.4K

От философов-антиреалистов, эзотериков и богословов часто можно услышать проповеди на тему ограниченности научных методов и о существовании за пределами физического мира иных планов бытия, которые нематериальны и не могут быть познаны экспериментальным путём. Но они не в курсе, что наука уже много лет занимается изучением контрфактуалов - «потусторонних» событий, происходящих не в нашей вселенной, но тем не менее подчиняющихся известным физическим законам. Учёные постоянно открывают новые способы «взломать» классическую физику и ставят умопомрачительные эксперименты, результаты которых заставляют нас пересмотреть традиционные определения реальности. Практика показывает, что природа познаваема и содержит в себе всё необходимое для роста знания, главное – задавать ей правильные вопросы. Как измерить светочувствительную бомбу, не подрывая её? Как провести вычисление, не включая компьютер? Как увидеть, не глядя, и узнать о событии, которое не произошло? Как подсмотреть за котом Шрёдингера и воскресить его? Как отменить коллапс волновой функции? Наконец, как осуществить настоящую телепортацию без локального обмена информацией? Если обычная квантовая телепортация, запутанность и туннелирование уже не кажутся вам чем-то удивительным, готовьтесь к настоящим чудесам. В этой статье я разберу пять экспериментов, о которых вы вряд ли слышали, но результаты которых действительно взрывают мозг.

Читать далее
Total votes 12: ↑11 and ↓1+12
Comments6

SSH-Туннели простыми словами

Level of difficultyEasy
Reading time7 min
Views19K

В какой-то момент у меня возникла необходимость разобраться с простыми SSH-туннелями: как из запускать и какие туннели могут помочь мне (обычному web-разработчику). Разобраться в этом удалось и я решил поделиться пояснениями в простой понятной форме.

Читать далее
Total votes 17: ↑16 and ↓1+18
Comments27

Преобразование Уолша-Адамара

Level of difficultyHard
Reading time11 min
Views13K

На сайте hackerrank.com есть отличная задача. По заданному массиву short[] A; найти максимальное количество его подмассивов, xor элементов которых будет одинаковым. Сам этот xor тоже нужно найти.

Максимальная длина массива равна 105, так что квадратичный алгоритм не укладывается в лимит по времени исполнения. Я в своё время с этой задачей не справился и сдался, решив подсмотреть авторское решение. И в этот момент я понял почему не справился — автор предлагал решать задачу через дискретное преобразование Фурье.

Читать далее
Total votes 64: ↑64 and ↓0+64
Comments5

Стрела времени, демон Лошмидта и квантовая термодинамика. Почему время необратимо?

Level of difficultyMedium
Reading time36 min
Views21K

Когда всё вокруг стремится к хаосу и жизнь с каждым днём становится только хуже, невольно возникает желание обратить время вспять. Но почему-то реальность всячески противится попыткам развернуть стрелу времени на 180°. Что же заставляет время идти только вперёд и не даёт повернуть его назад? Чем прошлое отличается от будущего? И почему мы помним прошлое, а не будущее? Почему разрушать, рассеивать и смешивать легко, а строить, концентрировать и сортировать – сложно? Как вывести асимметричные во времени законы термодинамики из симметричных во времени законов механики? Является ли второй закон термодинамики единственной причиной необратимости времени? Связана ли необратимость времени с расширением Вселенной? Поискам ответов на эти и другие связанные со временем вопросы посвящён весь мой блог, поэтому объяснений в двух словах не будет. В данной статье я лишь задам направление мысли и разберу самую проработанную на сегодняшний день теорию, позволяющую описать время на языке квантовой физики. Также мы выясним, насколько правдоподобен фильм «Довод» и можно ли инвертировать энтропию человека, чтобы он жил назад во времени.

Читать далее
Total votes 34: ↑30 and ↓4+37
Comments55

О Wikidata для тех кто вообще не слышал: открытая база данных, сестринский проект Википедии — с ней же и интегрирован

Level of difficultyEasy
Reading time3 min
Views5.6K

Здравствуйте, на Хабре не много о Викиданных, хочу рассказать об этом бесплатном открытом интересном и полезном сервисе. Веб интерфейс располагается по адресу https://www.wikidata.org/wiki/Wikidata:Main_Page.

Читать далее
Total votes 34: ↑31 and ↓3+35
Comments11

C++26 — прогресс и новинки от ISO C++

Level of difficultyMedium
Reading time7 min
Views24K

Работа в комитете по стандартизации языка C++ активно кипит. Недавно состоялось очередное заседание. Как один из участников, поделюсь сегодня с Хабром свежими новостями и описанием изменений, которые планируются в С++26.

До нового стандарта C++ остаётся чуть больше года, и вот некоторые новинки, которые попали в черновик стандарта за последние две встречи:

  • запрет возврата из функции ссылок на временное значение,
  • [[indeterminate]] и уменьшение количества Undefined Behavior,
  • диагностика при =delete;,
  • арифметика насыщения,
  • линейная алгебра (да-да! BLAS и немного LAPACK),
  • индексирование variadic-параметров и шаблонов ...[42],
  • вменяемый assert(...),
  • и другие приятные мелочи.

Помимо этого, вас ждут планы и прогресс комитета по большим фичам и многое другое.
Рассмотрим новинки на примерах
Total votes 51: ↑49 and ↓2+62
Comments119

Философия и физика времени. Презентизм и этернализм. Пространство-время в СТО и ОТО

Level of difficultyMedium
Reading time24 min
Views18K

Время (time) – наиболее часто употребляемое слово в английском языке и третье по употребляемости в русском. Оно есть и в любом другом языке, потому что синхронизация действий во времени так же важна, как и их координация пространстве. Не зная точного времени, невозможно упорядочить свою жизнь и спланировать её наперёд. Если в древние времена можно было полагаться на природные циклы и внутреннее ощущение времени, то в наши дни нужно постоянно иметь при себе часы или телефон. Время – важнейшее из абстрактных понятий, которое мы произносим каждый день. Над проблемой времени хотя бы раз в жизни задумывался каждый мыслящий человек, и на эту тему написано огромное количество философской и научной литературы. Тем не менее, никто не скажет наверняка, что же такое время. Оно реально, или это иллюзия, порождённая нашим сознанием? Существует ли время независимо от пространства и материи? Что первично: время или движение? Возможно ли время без движения и движение без времени? Что определяет разницу между прошлым и будущим? Время необратимо, или нам так только кажется?

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

Читать далее
Total votes 17: ↑14 and ↓3+15
Comments66

Жуткое дальнодействие. Как не запутаться в квантовой запутанности?

Level of difficultyMedium
Reading time19 min
Views14K

В 2022 г. Алан Аспе, Джон Клаузер и Антон Цайлингер получили Нобелевскую премию по физике «за эксперименты с запутанными фотонами, установившие нарушение неравенств Белла и положившие начало квантовой информатике». О важности этого события много говорили журналисты и популяризаторы науки, привлекая внимание громкими заявлениями о «доказательстве нелокальности», «второй квантовой революции» и о том, что «Эйнштейн был неправ». Но подавляющее большинство людей как не понимало, так и не понимает, о чём вообще идёт речь. На этой почве процветает квантовый мистицизм, распространяющий ошибочные представления о квантовой запутанности как о свойстве макроскопических объектов. Также пользуются популярностью конспирологические теории о том, что «учёные снова пытаются нас запутать» и на самом деле мир устроен намного проще. К сожалению, реальность не так проста, как нам хотелось бы, а наш мозг не был заточен эволюцией на понимание квантовой механики. Но я всё же попробую объяснить квантовую запутанность простыми словами без страшных формул.

Читать далее
Total votes 10: ↑8 and ↓2+13
Comments52

Меры сложности: колмогоровская, вычислительная и эффективная сложность, логическая и термодинамическая глубина

Level of difficultyMedium
Reading time24 min
Views4.3K

Это продолжение статьи «Информация об информации», где я показал, что информация – физическая величина, не имеющая ничего общего с духом, сознанием, «информационным полем» и другими эзотерическими понятиями. Но среди философов и мистиков бытует мнение, что физическая и метафизическая информация – не одно и то же. Дескать теория информации изучает только цифровые данные, а информация как таковая – это другое. Ведь об информации можно говорить только при наличии источника и приёмника информации, а значит, её объективно не существует без субъекта, который будет её воспринимать и интерпретировать. Кроме того, ни количество информации по Хартли, ни количество энтропии по Шеннону не позволяют оценить смысл сообщения. Но значит ли это, что смысл, глубину или сложность информации нельзя измерить количественно и объективно? Пожалуй, пришло время разобраться, что такое сложность, как её можно измерить, связана ли она с упорядоченностью системы и есть ли у неё объективные критерии. Также мы выясним, насколько наши сообщения универсальны и можно ли прочитать их вне биологического или культурного контекста.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments70

ООП, «святая троица» и SOLID: некоторый минимум знаний о них

Reading time43 min
Views115K

Необходимое вступление


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


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


Столь малые гарантии поднимают вопросы о причинах, по которым статья пишется. Я считаю, что этим вещам должны учить везде, где учат программированию, вплоть до уроков информатики в школах с углублённым её изучением. Тем не менее, для меня стала пугающе нормальной ситуация, когда я узнаю, что собеседник мой коллега, причём работающий уже не первый год, но про инкапсуляцию «что-то там слышал». Необходимость собрать всё это в одном месте и давать ссылку при возникновении вопросов зрела давно. А тут ещё и мой «pet-project» дал мне изрядно пищи для размышлений.


Тут мне могут возразить, что учить эти вещи в школе рановато, и вообще на ООП свет клином не сошёлся. Во-первых, это смотря как учить. Во-вторых, 70% материала этой статьи применимо не только к ООП. Что я буду отмечать отдельно.



Читать дальше →
Total votes 88: ↑82 and ↓6+76
Comments79

Проблема квантового измерения и её решения: байесовские вероятности или неопределённость самолокации?

Level of difficultyMedium
Reading time37 min
Views5.6K

Кажется, наука приближается к разрешению парадокса, породившего множество интерпретаций квантовой механики и множество споров между их сторонниками. Реализованный в 2019 г. эксперимент «Друг друга Вигнера», в котором наблюдатели моделируются с помощью фотонов или кубитов квантового компьютера, убедительно показал, что квантовую механику нельзя применять для описания мира с точки зрения других наблюдателей. В результате теории, постулирующие коллапс волновой функции, перестают быть самосогласованными и выбывают из игры. В финальный раунд проходят только кьюбизм и многомировая интерпретация – две самые радикальные и диаметрально противоположные интерпретации, предлагающие очень похожие решения проблемы измерения. Одна из них требует отказаться от идеи объективной реальности, а вторая – признать собственную неуверенность в том, в какой вселенной вы находитесь. Я делаю ставку на второй вариант, а какое из этих двух зол выбираете вы?

Читать далее
Total votes 27: ↑25 and ↓2+29
Comments67

Самое понятное объяснение Специальной теории относительности

Level of difficultyMedium
Reading time13 min
Views113K

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

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

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

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

Читать далее
Total votes 385: ↑385 and ↓0+383
Comments391

Константность в C++

Level of difficultyMedium
Reading time31 min
Views14K


Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это седьмая статья из серии, список предыдущих статей приведен в конце в разделе 10. Серия ориентирована на программистов, имеющих определенный опыт работы на C++. Данная статья посвящена концепции константности в C++.


Переменные являются основой любого языка программирования. Если значение переменной нельзя изменить после инициализации, то такие переменные называются неизменяемыми (immutable) переменными или константными переменными или просто константами. Константные переменные в том или ином виде поддерживаются во всех языках программирования и играют в них важную роль. Такие переменные помогают компилятору оптимизировать код, улучшают читаемость и надежность кода, позволяют выявлять бОльшее количество ошибок на стадии компиляции. Константы помогают решать проблемы, связанные с многопоточным доступом к переменным. Использование константных переменных влияет на проектные решения в объектно-ориентированном программировании, а функциональное программирование изначально исходит из неизменяемости используемых переменных.


В C++ концепции константности уделяется значительное место. Для переменных используется два вида константности, имеются ссылки и указатели на константу, константные функции-члены, константные итераторы. Попробуем разобраться во всех этих понятиях.

Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments24

Квантовая информация и законы сохранения. Энтропия фон Неймана как мера квантовой запутанности

Level of difficultyMedium
Reading time25 min
Views12K

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

Читать далее
Total votes 11: ↑10 and ↓1+15
Comments30

Файловый ввод, сделанный по-человечески

Reading time21 min
Views18K

Поводом к написанию данной статьи и к разработке соответствующей мини-библиотеки ffh стало одно из практических заданий по дисциплине ‘Языки программирования’, которую я веду. В этом задании необходимо прочитать все строки из текстового файла для последующей обработки. Так вот, у студентов, выбравших для выполнения этого задания язык C++ [язык программирования выбирается студентом для каждого задания, но чаще всего выбирают C++ или Python], почему-то иногда читалась из файла лишняя пустая строка. В прошлые годы я не придавал этому большого значения, но в последний раз решил таки разобраться в чём проблема.
Читать дальше →
Total votes 28: ↑24 and ↓4+29
Comments134

Запущен портал открытых данных правительства Москвы

Reading time1 min
Views15K
Московское правительство запустило портал открытых данных. На нем размещаются наборы данных в машиночитаемом виде (в формате CSV) для последующего использования и обработки всеми желающими.

Читать дальше →
Total votes 45: ↑42 and ↓3+39
Comments46

Information

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