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

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

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

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

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

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

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

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

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

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров183K

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

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

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

Читать далее
Всего голосов 191: ↑184 и ↓7+177
Комментарии177

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

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров17K

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

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

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

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

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

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

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

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров6.9K

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

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

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

Посмотреть Чек-лист
Всего голосов 9: ↑4 и ↓5-1
Комментарии8

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

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров13K

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

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

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

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров38K

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

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

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

Скорее к формулам!
Всего голосов 173: ↑173 и ↓0+173
Комментарии28

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

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

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

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

__proto__ и prototype

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

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

Читать далее
Всего голосов 23: ↑19 и ↓4+15
Комментарии10

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 13: ↑12 и ↓1+11
Комментарии16

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

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

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

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

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

Время на прочтение14 мин
Количество просмотров3.2K
Как получить точные данные об использовании энергетических ресурсов — и почему они нам так важны.

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

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

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

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

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

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

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

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

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

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

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

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

Привет!

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 34: ↑13 и ↓21-8
Комментарии4

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

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

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

Читать далее
Всего голосов 79: ↑77 и ↓2+75
Комментарии29

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 17: ↑16 и ↓1+15
Комментарии1

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

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

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

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

Читать далее
Всего голосов 15: ↑11 и ↓4+7
Комментарии11
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность