Pull to refresh
0
0
Send message

Алгоритмы быстрого возведения в степень

Reading time8 min
Views24K

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

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

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

Шпаргалка по SQL (postgres), которая выручает меня на собесах

Level of difficultyEasy
Reading time8 min
Views186K

Привет, Хабр!

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

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

Читать далее
Total votes 191: ↑184 and ↓7+177
Comments177

PHP. Как увеличить потребление памяти в 3 и более раз при работе с массивами

Level of difficultyMedium
Reading time12 min
Views18K

1. Общие сведения.
2. Увеличиваем потребление памяти вдвое.
3. Увеличиваем потребление памяти втрое.
4. Ещё раз увеличиваем потребление памяти на ровном месте.
5. Заключение.

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

Чёрная магия трансформов, или об оптимизации анимаций на CSS

Reading time4 min
Views8.9K

Иногда Frontend-разработчики сталкиваются с тем, что для оптимизации производительности нужно написать волшебное свойство translateZ(0) или will-change. Анимации перестанут зависать, ничего не будет лагать и мир станет чуть ярче. ✨

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

SEO для разработчика и верстальщика: основные SEO-требования к разработке сайтов

Level of difficultyEasy
Reading time8 min
Views7K

Подготовил подробную инструкцию, как сделать SEO-friendly сайт и учесть все основные SEO-требования на этапе разработки сайта.

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

Ниже представлена подробная инструкция с основными SEO-требования, которые необходимо предусмотреть на этапе создания нового сайта.

Посмотреть Чек-лист
Total votes 9: ↑4 and ↓5-1
Comments8

Как рисовать красивые соединения с помощью SVG

Level of difficultyMedium
Reading time5 min
Views13K

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

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

Алгоритмы быстрого умножения чисел: от столбика до Шенхаге-Штрассена

Level of difficultyMedium
Reading time26 min
Views38K

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

И уж конечно, никогда при написании a * b мы не задумываемся о том, как реализовано умножение чисел a и b в нашем языке. Какие вообще есть алгоритмы умножения? Это какая-то нетривиальная задача?

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

Скорее к формулам!
Total votes 173: ↑173 and ↓0+173
Comments28

Современный способ глубокого клонирования объектов в JavaScript

Reading time5 min
Views30K

Вы знали, что теперь в JavaScript есть нативный способ делать глубокие копии объектов? Это стало возможным с помощью функции structuredClone, встроенной в среду выполнения JavaScript.

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

__proto__ и prototype

Reading time6 min
Views33K

Часто на собеседовании опытный разработчик может спросить у начинающего: «Что такое __proto__ и prototype, и чем они отличаются?». Обычно этот вопрос либо ставит в тупик, либо на него отвечают заученной мантрой из видео «50 вопросов на собеседовании»: « __proto__ — это ссылка на prototype, а prototype — это собственно свойство». И этот ответ правильный, только большинство недавно пришедших в профессию разработчиков не понимают, что это значит на самом деле. Причина проста — они не встречают в разработке ни __proto__, ни prototype, потому что современные стандарты JS прячут от него работу с этими свойствами за синтаксический сахар. Эта статья для таких, как я — разработчиков, которые столкнулись с JS в то время, когда никаких __proto__ и prototype на поверхности уже нет, а желание понять, как это устроено "под капотом" остается.

Читать далее
Total votes 23: ↑19 and ↓4+15
Comments10

Четвёртая будет? Как мы развернули ещё одну зону доступности в нашем ЦОД

Reading time6 min
Views1.7K

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

К моменту завершения работ над инфраструктурной частью всё больше заказчиков стало спрашивать, когда у нас в облаке появится третья зона доступности. Нам уже не приходилось доказывать необходимость развертывания ещё и вычислительной инфраструктуры — сейлы сами просили сделать её поскорее. Наше представление о том, как правильно, не только совпало с реальными потребностями рынка и с запросами пользователей, но и позволило нам серьёзно повысить надёжность сервисов, обеспечивающих работу облака, благодаря резервированию и распределению нагрузки между площадками. А перенос Control Plane облака на виртуалки позволил оптимизировать использование железа в условиях его ограниченной доступности на рынке.

Ниже мы расскажем как внедряли Compute в третьей зоне доступности в теперь таком уже далёком 2021 году.

Читать дальше
Total votes 11: ↑11 and ↓0+11
Comments2

Создание расширения браузера Google Chrome для извлечения всех изображений web-страницы. Часть 1

Reading time15 min
Views71K

Расширения браузера это web-приложения, которые устанавливаются в web-браузер чтобы расширить его возможности. Обычно для того чтобы воспользоваться расширением, пользователю нужно найти его в Chrome Web Store и установить.

В этой статье я покажу как создать расширение для браузера Google Chrome с нуля. Это расширение будет использовать API браузера для того чтобы получить доступ к содержимому web-страницы любой открытой вкладки. С помощью этих API можно не только читать информацию с открытых web-сайтов, но и взаимодействовать с этими страницами, например, переходить по ссылкам или нажимать на кнопки. Таким образом расширения браузера могут использоваться для широкого круга задач автоматизации на стороне клиента, таких как web-scrape или даже автоматизированное тестирование фронтенда.

Мы создадим расширение, которое называется Image Grabber, которое будет содержать интерфейс для подключения к web-странице и для извлечения из нее информации о всех изображениях. Далее, при нажатии на кнопку "GRAB NOW" список абсолютных URL этих изображений будет скопирован в буфер обмена. В этом процессе вы познакомитесь с фундаментальными строительными блоками, которые в дальнейшем можно будет использовать для создания других расширений.

Расширения, создаваемые таким образом для браузера Chrome совместимы с другими браузерами, основанными на движке Chromium и могут быть установлены, например, в Yandex-браузер или Opera.

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

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

Перевезу в iframe. Дешево

Reading time9 min
Views7.4K

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

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

Электроэнергия и дата центры

Reading time14 min
Views3.2K
Как получить точные данные об использовании энергетических ресурсов — и почему они нам так важны.

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

Но как же быть с более важным вопросом? Как влияет весь сектор дата центров на мировое энергопотребление?

Большинство сотрудников компаний пожимая плечами ответят, что их объекты потребляют «около 2% электроэнергии в мире». Если уточнить, почему такая цифра, они заявят, что данные взяты с газетной статьи, аналитической компании или из слайд-деска их собственного отдела маркетинга. При этом они могут сказать, что якобы энергопотребление центров обработки данных находится на прежнем уровне благодаря виртуализации и облачным технологиям.

Однако есть и еще категория людей, считающих, что на самом деле, цифра более высокая и что в некоторых странах центры обработки данных потребляют 7% и более электроэнергии, а к 2030 году будут использовать около 51% от мирового объема.

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

Это крайне ответственная работа, потому как неверные данные могут привести к ошибочным выводам.
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments0

Внутренние и внешние признаки надежности сети ЦОД

Reading time8 min
Views3.9K

Эта статья о том, как развиваются и поддерживаются дата-центры МТС, на которых «живет» облако #CloudMTS. Вы узнаете, что лежит в основе надежности и доступности облачных ресурсов. Сегодня инфраструктурная сеть МТС состоит из 15 дата-центров, объединенных каналами связи длиной в ~248 000 км. Она играет ключевую роль в обеспечении доступности облачных сервисов #CloudMTS по всей России и в странах СНГ. Развитие продолжается: в ближайшем будущем каналы связи соединят еще 20 российских городов — практически все федеральные округа. 

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

Искусство ЦОДообороны. Часть вторая. Штатная защита

Reading time6 min
Views2.3K

Привет!

Я работаю в строительстве ЦОД вот уже 13 лет. Одна из главных моих задач — обеспечить ЦОД необходимыми средствами защиты от разных напастей. Ситуации случаются разные, о самых распространенных я уже недавно писал.

Продуманная система физической безопасности ЦОД — это целое искусство. Примерно, как каратэ киокушинкай или айкидо. Чтобы получить черный пояс в строительстве дата-центров, нужно читать Хабр на обеде много практиковаться.

В этом посте я рассказываю о системах, которые должны быть в каждом защищенном дата-центре, и объясняю, почему некоторые из них ставят только 10 % заказчиков.

Читать далее
Total votes 2: ↑1 and ↓10
Comments2

Как сделать так, чтобы новый сайт быстро добавился в поисковые системы Яндекс и Google и начал индексироваться?

Reading time7 min
Views18K

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

Берем в учет то, что сайт уже разработан и просто лежит где-то на тесте.

Честно сказать, задачка не из простых.

Итак, поехали: выберете тематику вашего сайта и точно определитесь с тем, что хотите продвигать. Это нужно для того, чтобы у вашего сайта в последствии было максимально релевантное доменное имя к основному запросу. Затем выберете доменное имя, это можно сделать на таких площадках как: nic.ru, reg.ru, beget.com/ru и многих других.

Читать далее
Total votes 34: ↑13 and ↓21-8
Comments4

Алгоритмы сортировки и их производительность

Reading time17 min
Views45K

Здравствуйте, давно читаю Хабр и все хотел написать кому-нибудь статью, но не знал с чего начать и о чем писать. Но решил что тянуть кота за причинное место. Надо просто взять и написать обзор о чем то что я знаю и что будет просто для начало. Поэтому решил описать алгоритмы сортировки в размере 37 штук. Я понимаю, что на Хабре есть подобные статьи, одна постараюсь их добавить количеством алгоритмов и приведением небольшого числа графиков.

Читать далее
Total votes 79: ↑77 and ↓2+75
Comments29

Стили заголовков в CSS: картинки, тени, анимации

Reading time6 min
Views16K

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

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments0

Как достичь производительного рендеринга в браузере

Reading time10 min
Views5.5K

Один великий китайский философ сказал: «каждый разработчик должен понимать, как исполняется его программа». Что ж, давайте разбираться. Говорить будем про рендеринг и его производительность.

Меня зовут Глеб Михеев, я CTO Skillbox Holding, а также руководитель программного комитета FrontendConf. Уже как 19 лет работаю в коммерческой разработке. Сегодня я расскажу, как устроен браузерный конвейер поставки кадров на экран и что нужно знать каждому разработчику, чтобы его интерфейсы были отзывчивыми, не лагали, а анимации были плавными и выдавали 60fps даже при высокой вычислительной нагрузке на main thread.

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

Любопытные CSS фишки 2022 года

Reading time8 min
Views16K

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

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

Читать далее
Total votes 15: ↑11 and ↓4+7
Comments11
1
23 ...

Information

Rating
Does not participate
Registered
Activity