Pull to refresh
18
0

User

Send message

Кварковый конструктор. О протоне, его аддонах и спиноффах

Reading time10 min
Views12K

В одной из моих публикаций я затрагивал тему распада протона. Суть проблемы: до сих пор не зафиксировано ни одного самопроизвольного распада свободного протона, хотя, искусственно «расколоть» протон не составляет труда. Более того, свободные нейтроны вне атома распадаются очень быстро (период полураспада – около 15 минут). Чрезвычайная стабильность протона – залог существования Вселенной и, в частности, залог горения звезд, состоящих в основном из водородной плазмы, то есть, из свободных протонов и свободных электронов (ни те, ни другие частицы в свободном виде не распадаются). При этом не менее интересно, что протон не является подлинно элементарной частицей, а состоит из кварков и глюонов. И здесь у физиков возникают большие вопросы о природе массы протона. С одной стороны, масса протона гораздо больше, чем суммарная масса входящих в него кварков и глюонов. С другой стороны, в 2022 году был поставлен эксперимент, указывающий, что некоторые свойства протона можно объяснить только присутствием в его составе очарованного кварка – а очарованный кварк сам по себе тяжелее протона. Наконец, я кратко остановлюсь на вкладе вещества и антивещества в массу протона, и расскажу о некоторых экзотических частицах, возникающих при этих взаимодействиях.  

Читать далее
Total votes 59: ↑57 and ↓2+71
Comments27

Упрощаем код с помощью if constexpr и концептов C++17/C++20

Reading time14 min
Views17K

До C++17 у нас было несколько довольно неэлегантных способов написать static if (if, который работает во время компиляции). Например, мы можем использовать статическую диспетчеризацию или SFINAE. К счастью, ситуация изменилась к лучшему, ведь теперь мы можем воспользоваться для этого if constexpr  и концептами C++20!

Ну что ж, давайте разберемся, как мы можем использовать это в качестве замены std::enable_if кода!

Читать далее
Total votes 12: ↑10 and ↓2+9
Comments34

8 практических советов как сделать тренировки частью привычной жизни и перестать ненавидеть физкультуру. Часть вторая

Reading time8 min
Views31K

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

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

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

Разберем еще несколько, достаточно важных, рекомендаций, которые вы сможете применить немедленно. И в конце, по традиции вас ждет чек-лист для самоконтроля. И велкам комментировать!

Читать далее
Total votes 19: ↑11 and ↓8+8
Comments114

Как я 20 лет ненавидела физкультуру, а потом решила подойти с точки зрения нейрофизиологии и выучилась на тренера

Reading time8 min
Views24K

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

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

Как бывший невролог уверена, уговаривая себя пойти на тренировку или отказаться от шоколадки, вы противостоите древним механизмам вашего мозга и всей биохимической лаборатории организма, которые спасали ваших предков от гибели. Не понимая внутреннего устройства вашего организма и того, как работает мозг, очень сложно заставить себя тренироваться. Я сама 20 лет пыталась «заставить себя полюбить спорт» (ну а как минимум регулярно делать зарядку), потом поняла, что дело в не том, что у меня «нет силы воли», а в том, что мозг не любит расставаться с калориями. И ваша задача тут — постараться обмануть мозг используя «нейрофизиологические хитрости».

Читать далее
Total votes 31: ↑26 and ↓5+33
Comments28

Цифровая ностальгия: BBS, DOS Navigator, DOOM и Civilization

Reading time7 min
Views15K

Есть гипотеза, что интерфейсные предпочтения пользователя закладываются в самом начале его компьютерного пути. В моем случае — это консольные приложения и строгий аскетизм DOS.

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

Читать далее
Total votes 43: ↑42 and ↓1+52
Comments98

Очередная статья про систему типов TypeScript

Reading time8 min
Views10K

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

Особо впечатлительным просьба смотреть через розовые очки.

Заглянуть внутрь
Total votes 13: ↑11 and ↓2+11
Comments22

Как звероящеры стали нами?

Reading time34 min
Views22K

Продолжаем серию докладов с научного фестиваля «Улики Эволюции». Сегодня мы поговорим про то, как же человек стал тем, кто он есть, и как звероящеры захватили планету.
Читать дальше →
Total votes 112: ↑106 and ↓6+132
Comments68

Взлетит или нет — сможет ли новый язык программирования Hare стать альтернативой Си

Reading time4 min
Views27K

Практически сразу после анонса языку стали пророчить светлое будущее в качестве замены не только Си, но и других ЯП. Однако энтузиазм разделили далеко не все участники ИТ-сообщества. В лагере скептиков оказались даже сами разработчики Hare.

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

Читать далее
Total votes 36: ↑21 and ↓15+13
Comments110

Краткий обзор библиотеки so5extra с дополнениями для SObjectizer-5

Reading time21 min
Views928

О проекте SObjectizer-5 мы рассказываем на Хабре уже давно и более-менее регулярно. А вот о сопутствующем ему проекте so5extra речь заходит гораздо реже и вскользь. Между тем so5extra развивается уже пять лет (как же быстро летит время) и на днях мы зафиксировали очередную версию. Что представляется хорошим поводом представить вашему вниманию обзор библиотеки so5extra, с акцентом на разнообразие реализованных в ней типов почтовых ящиков (mbox-ов в нашей терминологии).

Читать далее
Total votes 6: ↑4 and ↓2+4
Comments0

Ужасы японского языка. Письменность

Reading time13 min
Views62K

Четыре года назад я совершил один из самых безрассудных поступков в своей жизни: начал учить японский язык. Разумеется, прежде чем решиться на такое приключение, я тщательно все продумал и провел подробное исследование на тему. Т.е. погуглил, что другие люди думают об этом экзотическом языке. Отзывы меня весьма приободрили. В них говорилось, что нужны годы и годы тяжелого учения. Люди писали, что, если тебе кажется, что язык очень тяжелый, то ты все еще недооцениваешь опасность раз в десять. Интернет пестрит предупреждениями, что тебе это не нужно; что это тяжело; что "не лезь оно тебя сожрет".

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

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

Читать далее
Total votes 165: ↑162 and ↓3+207
Comments331

Продление жизни временных значений в С++: рецепты и подводные камни

Reading time19 min
Views18K

Прочитав эту статью вы узнаете:

1. Способы, которыми можно продлить время жизни временного объекта в С++.

2. Рекомендации и подводные камни этого механизма, с которыми может столкнуться С++ программист, и с которыми сталкивался на работе я.

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

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

Чай готов, начинаем погружение
Total votes 33: ↑31 and ↓2+37
Comments11

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

Reading time7 min
Views18K


Если я хочу поиграть с друзьями, то мы либо долго спорим в какую игру по сети будем играть, т.к. ребята предпочитают шутеры, вроде CS и Battleground, а я фанатею от League of Legends. Если договориться не вышло, мы назначаем встречу в аналоговом мире и тащим с собой несколько коробок настолок, потому что у каждой игры свои поля, фишки, карты и вообще вдруг количество игроков изменится.

Древние любители игр о такой ерунде не парились. Начертили поле на земле, камушков набрали и играют, радуются. У игроков, которые могли донатить, конечно были vip-скины, к примеру, игровые фигурки не из дерева, а из слоновой кости. На игровой процесс это не сильно влияло, а археологам помогает сейчас восстанавливать древние игры. Под катом подборка популярных игр из древнего Египта, Месопотамии, Северной Америки времен ацтеков и Скандинавии, а еще ссылочки на их браузерные версии.

Еще я веду канал в Telegram GameDEVils и блог на Substack , делюсь там клевыми материалами (про геймдизайн, разработку и историю игр).
Читать дальше →
Total votes 45: ↑43 and ↓2+60
Comments15

Неклассические контейнеры в C++

Reading time17 min
Views45K

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

В стандартную библиотеку C++ входит несколько контейнеров. Кроме этого, в Open Source есть несколько контейнеров, которые покрывают больше юзкейсов. Я опишу устройство интересных контейнеров вне STL и их отличия от классических контейнеров.

Читать далее
Total votes 56: ↑54 and ↓2+64
Comments24

Дампы LSASS для всех, даром, и пусть никто не уйдет обиженный

Reading time12 min
Views44K

Здравствуйте, хабролюди!

Меня зовут @snovvcrash, и я работаю в отделе анализа защищенности компании Angara Security. Отвечаю я, значится, за инфраструктурный пентест, и в этой статье я хотел бы поговорить об одном из самых эффективных методов добычи учетных данных на «внутряке» — извлечении секретов из памяти процесса lsass.exe (MITRE ATT&CK T1003.001) — и, в частности, об особенностях реализации этого метода в ру-сегменте тестирования на проникновение.

За два года работы пентестером мои нервы были изрядно потрепаны нашим любимым отечественным антивирусным решением Kaspersky Endpoint Security (далее — KES), который установлен у каждого первого второго нашего клиента, и который, в отличие от других средств антивирусной защиты, наглухо блокирует все попытки потенциального злоумышленника получить доступ к lsass.exe (не реклама!).

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

Читать далее
Total votes 27: ↑26 and ↓1+28
Comments12

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

Reading time7 min
Views37K

Почтовый ящик с письмами — это личная собственность человека. Никто не имеет права доступа к архиву, кроме владельца.

Забота о своём почтовом архиве тем более актуальна в нынешних условиях, когда любой внешний сервис может закрыться, обанкротиться или просто откажется вас обслуживать. Гораздо спокойнее хранить архив у себя — сделать резервную копию в надёжном домашнем хранилище.
Читать дальше →
Total votes 28: ↑25 and ↓3+32
Comments21

Особенности реализации STL в Clang, GCC и Microsoft С++

Reading time21 min
Views20K

Любая программа состоит из данных и алгоритмов их обработки. Для написания программ на C++ в начале 90-х годов прошлого века Александр Степанов с коллегами разработал библиотеку STL. Я, Михаил Полукаров из команды разработки VK Teams, заглянул под капот этой библиотеки чтобы разобраться, как правильно ей пользоваться, в каких случаях лучше использовать другие библиотеки, а в каких стоит написать что-то своё. 

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

Читать далее
Total votes 57: ↑55 and ↓2+75
Comments12

Кратко о форматах TLV, BER, CER, DER, PER

Reading time8 min
Views16K

Я хотел бы кратко рассказать о таких форматах данных, распространенных в ИТ-индустрии, в том числе в области инфраструктур открытых ключей (ИОК), смарт-картах, включая документы нового поколения на базе смарт-карт, в мобильной связи. Хотя рассматриваемые форматы и связаны с ASN.1, но некоторые из них ушли далеко за пределы этой области. О некоторых из них многие знают, но не все знают настолько, чтобы, допустим, уметь отличать BER от DER, а некоторые варианты типа PER вообще являются экзотикой.

Глубоко в тему погружаться не буду. Просто познакомлю с главными особенностями, чтобы понимать, что это такое и с чем это едят. Досконально и в полном объеме всё это описано в соответствующих стандартах ITU-T X.690 и ISO 7816.

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

Правила абстрактной нотации (ASN.1) используются, когда надо специфицировать формат некой структуры данных. Сами правила описаны в стандартах ITU-T X.680–X.683. Пожалуй, что наиболее распространенный вариант применения — это форматы сертификатов X.509 и всего, что имеет к ним отношение. Пример текстовой нотации может выглядеть как-то так:

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

Подводные камни HttpClient в .NET

Reading time9 min
Views93K
Продолжая серию статей о «подводных камнях» не могу обойти стороной System.Net.HttpClient, который очень часто используется на практике, но при этом имеет несколько серьезных проблем, которые могут быть сразу не видны.

Достаточно частая проблема в программировании — то, что разработчики сфокусированы только на функциональных возможностях того или иного компонента, при этом совершенно не учитывают очень важную нефункциональную составляющую, которая может влиять на производительность, масштабируемость, легкость восстановления в случае сбоев, безопасность и т.д. Например, тот же HttpClient — вроде бы и элементарный компонент, но есть несколько вопросов: сколько он создает параллельных соединений к серверу, как долго они живут, как он себя поведет, если DNS имя, к которому обращался ранее, будет переключено на другой IP адрес? Попробуем ответить на эти вопросы в статье.
Читать дальше →
Total votes 52: ↑51 and ↓1+50
Comments12

Дженерики в Go — подробности из блога разработчиков

Reading time10 min
Views19K

В Go 1.18 добавлена поддержка дженериков. Это самое большое нововведение с момента первого Open Source выпуска Go. Не будем пытаться охватить все детали, затронем всё важное. Подробное описание со множеством примеров смотрите в документе с предложением по улучшению языка. Материалом делимся к старту курса по Backend-разработке на Go.

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

Как писать bash-скрипты надежно и безопасно: минимальный шаблон

Reading time8 min
Views68K

Скрипты на Bash. Как много в этом слове. Любому разработчику рано или поздно приходится их писать. Почти никто не скажет "да, я люблю писать bash-скрипты", и поэтому этой теме уделяют мало внимания.

Я не буду пытаться сделать из вас эксперта в Bash, а просто покажу минимальный шаблон, который поможет сделать ваши скрипты более надежными и безопасными.

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

Information

Rating
4,322-nd
Registered
Activity