Pull to refresh
-1
0.3

User

Send message

Никогда не читайте перед обедом книг по специальности

Level of difficultyMedium
Reading time6 min
Views13K

Книги делятся на две категории: fiction и non-fiction. Технические книги — внезапно — не исключение, и поддаются точно такой же классификации. Между учебником по научной дисциплине, начинающегося с аксиоматики и продолжающегося доказательствами теорем, — и практически любой современной литературой по «Computer Science» — лежит пропасть. Что происходит, когда люди долгое время оказываются рабами одной-единственной книги (с продолжениями), нам хорошо известно из истории. Возникает религия.

99% процентов литературы по ООП — это талмуд. Вероятность того, что вам подойдет «паттерн» — примерно 50%. Как встретить динозавра на Невском. Знание паттернов полезно в той же степени, что и теология, — и примерно тем же по специальности людям. Всегда полезно уметь отличать по запаху Пана от простого фавна, но практических применений такой эрудиции — не существует.

Несколько примеров и торжественный вывод

Как мне захотелось систематизировать виды тестирования

Level of difficultyEasy
Reading time11 min
Views41K

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

Читать далее

Кто стоит за убийством Google Search?

Level of difficultyMedium
Reading time14 min
Views40K

Это история о том, как умер Google Search, и о причастных к его смерти людях.

Начинается она 5 февраля 2019 года, когда Бен Гомес, глава Google Search, столкнулся с проблемой. Джерри Дишлер, на тот момент вице-президент и главный управляющий Google Ads, вместе с Шивой Венкатараманом, тогда вице-президентом по разработке систем Google Search и Ads, объявили «код жёлтый» в отношении доходности Google Search. Причиной такого шага стало, цитирую: «Стабильно низкие ежедневные показатели», а также вероятность того, что к концу квартала доходность этого сегмента окажется в значительном упадке.
Читать дальше →

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

Level of difficultyMedium
Reading time13 min
Views142K

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

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

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

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

Читать далее

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

Level of difficultyMedium
Reading time15 min
Views323K

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

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

Читать далее

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

Level of difficultyEasy
Reading time4 min
Views54K

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

Читать далее

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

Level of difficultyMedium
Reading time10 min
Views78K

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

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

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

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

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

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

Читать далее

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

Reading time11 min
Views43K

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

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

Читать далее

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

Level of difficultyMedium
Reading time10 min
Views5.8K

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

Читать далее

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

Reading time4 min
Views14K


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

Поскольку единых парольных правил нет, многие компании публикуют собственные рекомендации, которые сильно отличаются друг от друга. Иногда эти правила весьма экстравагантые.
Читать дальше →

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

Reading time4 min
Views8.7K


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

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

Reading time13 min
Views106K

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

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

Читать далее

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

Level of difficultyMedium
Reading time14 min
Views10K

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

Читать далее

PHPStorm + XDebug + Docker

Reading time3 min
Views41K

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

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

Читать далее

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

Level of difficultyEasy
Reading time2 min
Views16K

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

Читать далее

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

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

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

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

Reading time9 min
Views125K

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

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

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

Читать далее

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

Reading time18 min
Views9.4K

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

Читать далее

REST — это новый SOAP

Reading time13 min
Views71K

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

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

Information

Rating
3,339-th
Registered
Activity