Pull to refresh
0
0.1

User

Send message

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

Level of difficultyMedium
Reading time13 min
Views105K

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

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

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

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

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

OpenConnect: недетектируемый VPN, который вам понравится

Level of difficultyMedium
Reading time15 min
Views232K

Я уже написал здесь много статей на тему прокси-протоколов и прокси-клиентов, которые очень сложно детектировать и заблокировать, и которые используют пользователи в Китае, Иране, Ираке, Туркменистане, и теперь вот в России (мы здесь в отличной компании, правда?). Но довольно часто мне в комментариях писали, мол, это все отлично, но мне нужен именно VPN для целей именно VPN - доступа в частные локальные сети, либо для соединения клиентов между собой, и желательно так, чтобы его не заблокировали обезьяны с гранатой. Поэтому сегодня мы поговорим именно о VPN.

Классические OpenVPN, Wireguard и IPSec отметаем сразу - их уже давно умеют блокировать и блокировали не раз. Модифицированный Wireguard от проекта Amnezia под названием AmneziaWG — отличная задумка, но есть одно но...

Читать далее
Total votes 273: ↑272 and ↓1+323
Comments342

Нужны ли кому E-ядра?

Level of difficultyEasy
Reading time4 min
Views42K

Зачем я вообще затронул эту тему с современными процессорами Intel? Потому что на Хабре о ней ничего нет; в youtube о ней ничего нет, нигде о ней ничего нет. Может хоть в комментариях кто-то расскажет зачем нужны E-ядра, и нужны ли они?

Читать далее
Total votes 17: ↑12 and ↓5+9
Comments148

Почему E = mc² — это лишь половина описания происходящего

Level of difficultyMedium
Reading time10 min
Views43K

Одним из наиболее глубоких открытий в физике стало самое известное уравнение Эйнштейна: E = mc². Проще говоря, оно гласит, что энергия равна массе объекта, умноженной на квадрат скорости света. Это простое на первый взгляд математическое соотношение таит в себе огромное количество физических смыслов, в том числе:

при наличии определённого количества энергии можно спонтанно создавать новые пары частиц материи-антиматерии, если их масса покоя меньше, чем количество энергии, необходимое для их создания,

если пара частиц материя-антиматерия аннигилирует, то при этом выделяется определённое количество энергии, определяемое массами аннигилировавшей пары частиц,

каждый раз, когда происходит ядерная реакция, будь то синтез или деление, если масса продуктов реакции меньше массы частиц, в ней участвовавших, E = mc² говорит о том, сколько энергии будет высвобождено в этой реакции.

Это уравнение, E = mc², описывает, сколько энергии присуще любой массивной частице, находящейся в состоянии покоя, включая то, сколько энергии требуется для её создания и сколько энергии выделяется при её разрушении.

Но что если частица не находится в состоянии покоя или если она вообще не имеет массы? В этих случаях E = mc² — это только половина значимого уравнения. Вторая половина гораздо интереснее и необходима для того, чтобы понять физический смысл происходящего.

Читать далее
Total votes 64: ↑62 and ↓2+76
Comments86

Увеличивается ли масса объектов при приближении к скорости света?

Reading time11 min
Views39K

Независимо от того, кто вы, где вы находитесь и как быстро вы движетесь, законы физики будут выглядеть для вас точно так же, как и для любого другого наблюдателя во Вселенной. Эта концепция, согласно которой законы физики не меняются при перемещении из одного места в другое или из одного момента в другой, известна как принцип относительности и восходит не к Эйнштейну, а ещё дальше в прошлое: по крайней мере, ко временам Галилея. Если на объект действует сила, то он ускоряется (т.е. изменяет свой импульс), причём величина ускорения напрямую зависит от силы, действующей на объект, делённой на его массу. На языке математики это утверждение выглядит как знаменитое уравнение Ньютона F = ma: сила равна массе, умноженной на ускорение.

Но когда были открыты частицы, движущиеся со скоростью, близкой к скорости света, неожиданно возникло противоречие. Если на малую массу действует слишком большая сила, а силы вызывают ускорение, то массивный объект можно разогнать до скорости света или даже превысить её! Это, конечно, невозможно, и именно теория относительности Эйнштейна позволила нам разрешить этот парадокс. Обычно это объясняется через понятие так называемой «релятивистской массы», т.е. тем, что по мере приближения к скорости света масса объекта увеличивается, поэтому та же сила вызывает меньшее ускорение, не позволяя достичь скорости света. Но верна ли такая интерпретация «релятивистской массы»? Только отчасти. Вот научный ответ на этот вопрос.

Читать далее
Total votes 34: ↑26 and ↓8+29
Comments211

MariaDB, фрагментация, varchar и печалька

Level of difficultyMedium
Reading time10 min
Views5.2K

При проектировании таблиц в базах данных может возникнуть вопрос (я надеюсь) как хранить строки в char или varchar. Совсем недолго помучавшись почти всегда выбирается varchar, по причине того, что места занимает меньше. Собственно о последствиях этого выбора на реальном примере и поговорим , а так же о причинах по которым эти последствия возникают, и о неидеальных решениях этой проблемы.

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

Самые необычные правила паролей

Reading time4 min
Views13K


В связи с ростом вычислительной мощности CPU и GPU правила генерации паролей периодически пересматриваются. Специалисты обычно ориентируются на показатель информационной энтропии (в битах). Но в отношении паролей это не универсальное мерило, потому что пространство возможных вариантов не равномерно, то есть различные элементы этого пространства встречаются с разными вероятностями. Поэтому существуют более эффективные техники вскрытия парольных хэшей, в том числе атаки по словарю, по радужным таблицам, а в последнее время — с применением генетических алгоритмов и нейросетей.

Поскольку единых парольных правил нет, многие компании публикуют собственные рекомендации, которые сильно отличаются друг от друга. Иногда эти правила весьма экстравагантые.
Читать дальше →
Total votes 9: ↑8 and ↓1+10
Comments83

Серверные ARM-чипы начинают и выигрывают. Возможности 192-ядерного процессора AmpereOne от Ampere Computing

Reading time4 min
Views8.2K


Компания Ampere Computing — далеко не новичок в индустрии разработки многоядерных ARM-процессоров. Появившись на горизонте несколько лет назад, в 2017 году, она быстро стала известной. Во многом — благодаря своей первой успешной разработке, 128-ядерному ARM-процессору Altra Max. Он предназначался для установки в специализированное оборудование для дата-центров и индустрии сетевых технологий в целом. С тех пор компания регулярно продолжает выпускать новые чипы. Сейчас представлен чип AmpereOne, у которого уже 192 ядра и новая микроархитектура. Что это за процессор?
Читать дальше →
Total votes 40: ↑40 and ↓0+40
Comments10

Погромист. Мои самые эпичные провалы за всю карьеру

Reading time13 min
Views104K

Я люблю критику. Если вы не заметили, я, как старый дед, всё поливаю грязью и всем недоволен.

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

Читать далее
Total votes 231: ↑222 and ↓9+269
Comments204

Пишем собственный WYSIWYG редактор на основе веб-компонентов и textarea. Часть 1

Level of difficultyMedium
Reading time14 min
Views7.5K

Всем привет, последние пару месяцев я активно изучаю тему веб‑компонентов, собираю и нарабатываю опыт, а затем делюсь своими наработками с другими с целью обменяться опытом, получит новый опыт, фидбек и понять куда двигается разработка в вебе и шагать дальше за новым опытом. Все ниже изложенное не является инструкцией как делать нужно, а является примером того, как сделать возможно на текущий момент в 2023 году, у меня уже набрался небольшой опыт (8 публикаций и 3 веб‑компонента на гитхабе) и я решился попробовать сделать что‑то серьезнее чем просто очередную реактивную кнопку или лайки, в первой части моей публикации я проведу вас по MVP веб‑компонента wc-wisywig, немного затронем философию семантики, браузерные API и обменяемся опытом, потестим HTML5 теги в статье на хабре. Для нетерпеливых сразу вот ссылка на демо и git репозиторий. Остальных ждет техничесий лонгрид, прошу под кат)

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

PHPStorm + XDebug + Docker

Reading time3 min
Views28K

Ещё одна статья на избитую тему? Да! Потому что за два часа поиска не нашёл ни одной, по которой можно было пройтись от и до и получить работающее окружение.

Шагов, на самом деле, немного, все очень простые, нужно лишь...

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

Причины минусов в карму и история голосов

Level of difficultyEasy
Reading time2 min
Views16K

Теперь голоса можно не только услышать, но ещё и увидеть! Представляем вам 4 новых вкладки в профиле, которые помогут добавить немного порядка.

Читать далее
Total votes 127: ↑125 and ↓2+181
Comments675

Модификация в БД табличных или множественных полей документов

Reading time10 min
Views5.4K
Часто в проектах требуется обновление в БД множественных полей каких-либо документов. Наверное существуют готовые решения, но вбив в гугл «изменение множественных свойств документов», «обработка множественных полей», «обработка табличных полей» и т.д., я не нашел никакого решения, поэтому решил написать свое и заодно описать его в этой статье.

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

Исповедь ничтожества

Reading time9 min
Views123K

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

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

 P.P.S. Очень много текста внутри. 

Читать далее
Total votes 223: ↑211 and ↓12+247
Comments385

Сага о SEO, часть 1: серверный рендеринг

Reading time18 min
Views8.4K

Наверняка хотя бы раз в жизни вы или ваши знакомые в поисках приятного досуга на вечер обращались к Яндексу или Гуглу с запросами вроде “кино онлайн бесплатно” или “смотреть сериалы 2021”. Если так, не стоит стесняться, вы такой не один, с подобными запросами в Яндекс, например, обращаются несколько миллионов человек в месяц. При этом, скорее всего, как и большинство пользователей с таким запросом, вы не имеете преференций относительно того, где вам этот контент покажут, и перебираете ссылки в выдаче сверху вниз, пока не найдете устраивающий вас ресурс. А значит, владельцы этих ресурсов максимально заинтересованы в том, чтобы

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

REST — это новый SOAP

Reading time13 min
Views69K

Несколько лет назад я разрабатывал для одного большого телекома новую информационную систему. Нам приходилось взаимодействовать со всё нарастающим количеством веб-сервисов, открываемых более старыми системами или бизнес-партнёрами. Как вы понимаете, мы получили добрую порцию SOAP-ада. Заумные WSDL, несовместимые библиотеки, странные баги… Где только возможно мы старались продвинуть — и использовать — простые RPC-протоколы: XMLRPC или JSONRPC.

Читать дальше →
Total votes 106: ↑103 and ↓3+100
Comments153

Яндекс выложил в опенсорс YDB

Reading time16 min
Views142K
Сегодня мы выложили в опенсорс систему управления базами данных YDB — плод многолетнего опыта Яндекса в разработке систем хранения и обработки данных. Исходный код, документация, SDK и все инструменты для работы с базой опубликованы на GitHub под лицензией Apache 2.0. Развернуть базу можно как на собственных, так и на сторонних серверах — в том числе в любых облачных сервисах.



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

В посте я расскажу об истории развития технологий баз данных, о том, зачем использовать YDB, как её применяют текущие пользователи и какие плюсы для всех несёт выход в опенсорс. А во второй половине поста поговорим о разных вариантах развёртывания.
Читать дальше →
Total votes 262: ↑259 and ↓3+329
Comments135

Строим эффективный сетевой обмен в PHP-микросервисах

Reading time13 min
Views20K

Микросервисы сейчас — это новый черный. Все больше и больше компаний переходят именно на микросервисную архитектуру. И при переходе ловят самые разные ошибки. Самая популярная происходит из-за того, что люди просто не готовы к тому, что их приложения начинают активно использовать сеть. Потому что IPC и RPC-запросы  — это абсолютно разные вещи.

Я техлид в команде Авито в проекте SLA. Сегодня расскажу, как мы оптимизировали сетевые вызовы, чтобы избежать проблем с сетью при переходе в микросервисный мир. Разговор будет про оптимизацию CURL-запросов, деградацию сервисов и FAIL-FAST-подходы.

Читать далее
Total votes 34: ↑33 and ↓1+41
Comments38

Дифференциальные и инкрементальные бэкапы MySQL

Reading time7 min
Views15K

Для MySQL существует широко известный инструмент по созданию резервных копий баз данных — mysqldump, который создаёт дамп посредством записи серии SQL-инструкций для восстановления таблиц и данных целевой базы данных.

Он неплохо подходит для резервного копирования небольших баз данных, но когда база данных набирает приличный «вес» и возникает необходимость резервного копирования чаще, чем раз в сутки, скорость создания и размеры дампов могут стать проблемой. В данном случае на помощь приходят утилиты, создающие копию бинарных файлов баз данных, например, такие как Percona XtraBackup.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments8

Типичные ошибки при защите сайтов от CSRF-атак

Reading time5 min
Views84K


В настоящее время в сфере обеспечения безопасности веб-сайтов и приложений возникла очень интересная ситуация: с одной стороны, некоторые разработчики уделяют особое внимание безопасности, с другой, они напрочь забывают о некоторых видах атак и не считают ошибки, позволяющие выполнить данные атаки, уязвимостями. Например, к такой категории можно отнести CSRF (Сross Site Request Forgery). Эта атака позволяет производить различные действия на уязвимом сайте от имени авторизованного пользователя. Если вы не слышали о таком, то я рекомендую прочитать соответствующую статью в Википедии, чтобы иметь общее представление об этом виде атак. Основная часть статьи предназначена тем, кто обеспокоен правильной защитой своих сайтов от CSRF.
Читать дальше →
Total votes 49: ↑40 and ↓9+31
Comments93

Information

Rating
3,031-st
Registered
Activity