Как стать автором
Обновить
18
0

Пользователь

Отправить сообщение

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

Время на прочтение10 мин
Количество просмотров12K

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

Читать далее
Всего голосов 59: ↑57 и ↓2+71
Комментарии27

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

Время на прочтение14 мин
Количество просмотров16K

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

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

Читать далее
Всего голосов 12: ↑10 и ↓2+9
Комментарии34

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

Время на прочтение8 мин
Количество просмотров30K

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

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

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

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

Читать далее
Всего голосов 19: ↑11 и ↓8+8
Комментарии114

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

Время на прочтение8 мин
Количество просмотров23K

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

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

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

Читать далее
Всего голосов 31: ↑26 и ↓5+33
Комментарии28

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

Время на прочтение7 мин
Количество просмотров15K

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

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

Читать далее
Всего голосов 43: ↑42 и ↓1+52
Комментарии98

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

Время на прочтение8 мин
Количество просмотров10K

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

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

Заглянуть внутрь
Всего голосов 13: ↑11 и ↓2+11
Комментарии22

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

Время на прочтение34 мин
Количество просмотров21K

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

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

Время на прочтение4 мин
Количество просмотров26K

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

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

Читать далее
Всего голосов 36: ↑21 и ↓15+13
Комментарии110

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

Время на прочтение21 мин
Количество просмотров912

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

Читать далее
Всего голосов 6: ↑4 и ↓2+4
Комментарии0

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

Время на прочтение13 мин
Количество просмотров60K

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

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

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

Читать далее
Всего голосов 165: ↑162 и ↓3+207
Комментарии331

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

Время на прочтение19 мин
Количество просмотров18K

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

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

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

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

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

Чай готов, начинаем погружение
Всего голосов 33: ↑31 и ↓2+37
Комментарии11

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

Время на прочтение7 мин
Количество просмотров18K


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

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

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

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

Время на прочтение17 мин
Количество просмотров43K

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

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

Читать далее
Всего голосов 56: ↑54 и ↓2+64
Комментарии24

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

Время на прочтение12 мин
Количество просмотров41K

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

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

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

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

Читать далее
Всего голосов 27: ↑26 и ↓1+28
Комментарии12

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

Время на прочтение7 мин
Количество просмотров35K

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

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

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

Время на прочтение21 мин
Количество просмотров20K

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

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

Читать далее
Всего голосов 57: ↑55 и ↓2+75
Комментарии12

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

Время на прочтение8 мин
Количество просмотров15K

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

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

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

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

Читать далее
Всего голосов 29: ↑29 и ↓0+29
Комментарии3

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

Время на прочтение9 мин
Количество просмотров92K
Продолжая серию статей о «подводных камнях» не могу обойти стороной System.Net.HttpClient, который очень часто используется на практике, но при этом имеет несколько серьезных проблем, которые могут быть сразу не видны.

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

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

Время на прочтение10 мин
Количество просмотров18K

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

Читать далее
Всего голосов 10: ↑8 и ↓2+9
Комментарии8

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

Время на прочтение8 мин
Количество просмотров67K

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

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

Читать далее
Всего голосов 109: ↑109 и ↓0+109
Комментарии27

Информация

В рейтинге
5 464-й
Зарегистрирован
Активность