Pull to refresh
11
0
dotfix @dotfix

User

Send message

Руководство по цветовым функциям CSS

Level of difficultyEasy
Reading time6 min
Views11K

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

Что такое цветовые функции CSS?


Цветовые функции CSS (CSS color functions) — это способ задания цвета в CSS при помощи математических функций, а не простого кода цвета. Функции обеспечивают больше контроля и гибкости при работе с цветами, используемыми в таблице стилей.

При помощи цветовых функций можно настраивать тон (hue), насыщенность (saturation), светлоту (lightness) и непрозрачность (opacity) цвета и даже смешивать вместе несколько цветов.
Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments8

Python — Дескрипторы (Descriptors)

Level of difficultyMedium
Reading time8 min
Views7.7K

Если обратиться к документации, то дескриптор — механизм, который позволяет объектам настраивать поиск, хранение и удаление атрибутов.

Дескрипторы используются в классах, выступая в роли атрибутов класса(не экземпляра).

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

Читать далее
Total votes 14: ↑16.5 and ↓-2.5+19
Comments5

Расчёт вкусов пользователя для ленты рекомендаций с применением item2vec-подхода

Level of difficultyMedium
Reading time6 min
Views2K

Ежемесячная аудитория ОК только в России превышает 36 млн человек. Причём это активные пользователи, которые хорошо взаимодействуют с нашим контентом: ставят Классы, комментируют, делают репосты. Залогом активного отклика во многом является формирование новостной ленты с учетом предпочтений каждого конкретного пользователя.

Меня зовут Дмитрий Решетников. Я тимлид команды рекомендаций в Ленте ОК. В этой статье я расскажу, как выглядит наш пайплайн рекомендации в ленте новостей, о месте item2vec в нём и результатах внедрения такого подхода.

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

DDoS-атаки и BGP-инциденты третьего квартала 2021 года

Reading time6 min
Views5.4K

Третий квартал 2021 года во-многом стал рекордным по масштабам и интенсивности DDoS-атак.

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

Помимо этого, в этот раз мы подготовили для вашего внимания фрагмент статистики по атакам на уровне приложения (L7).

Без лишних прелюдий, давайте подробнее остановимся на статистике по DDoS-атакам и BGP-инцидентам за третий квартал 2021 года.

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

Как написать свою маленькую ОС

Level of difficultyEasy
Reading time7 min
Views37K


Большое начинается с малого. Например, ядро Linux 0.0.1 состояло всего из 10 239 строк кода, из них 20% комментарии. Такой проект вполне может осилить студент в качестве курсовой или дипломной работы, программируя по вечерам на домашнем ПК (собственно, Линус и написал его во время учёбы в университете, когда вернулся из армии).

Если один студент смог это сделать тогда, то почему нельзя повторить? И действительно, в интернете есть даже специальные обучающие ресурсы для написания новых ОС и целые сообщества энтузиастов, которые помогают друг другу в этом непростом деле.
Читать дальше →
Total votes 108: ↑103 and ↓5+98
Comments25

Как я зарабатывал $10,000 в месяц на серверах ARK: Survival Evolved

Level of difficultyEasy
Reading time16 min
Views87K

Я — ведущий гейм дизайнер с опытом разработки крупных, хардкорных проектов в жанрах от MMORPG и CRPG до мобильной MOBA. Почти три года мы с лучшим другом продюсировали, дизайнили, разрабатывали и занимались живым оперированием своих серверов по игре ARK: Survival Evolved. За это время мы неплохо заработали (в среднем проект приносил $6000-12000 gross ежемесячно). Конечно же, мы столкнулись с тонной сложностей и челленджей, и выучили много уроков. В этой статье я хочу не только рассказать о нашем приключении, но и поделиться выученными уроками. Оперирование кастомных серверов огромных франшиз типа Roblox, Fortnite или Minecraft и других игр похожа на разработку игр в классическом понимании, но имеет под собой свою специфику. Этот опыт будет полезен не только моддерам, но и разработчикам и продюсерам игр. 

ARK: Survival Evolved — ММО экшен от 1 и 3-го лица с крафтом, строительством и динозаврами. На динозаврах в игре можно охотиться, можно приручать, ездить на них, разводить и воевать с другими племенами в игре, и это основная фишка, привлекающая игроков. Но настоящая основная особенность игры в том, что карты — собственно, ковчеги, объединены в кластеры, внутри которых игроки могут беспрепятственно путешествовать между карт, превращая мир игры в настоящее ММО — в отличие от большинства остальных подобных игр. Это гениальная игра, о которой невозможно рассказать в двух словах, и она доводит своих игроков до настоящей аддикции, и те проводят в ней тысячи и десятки тысяч часов.

Читать далее
Total votes 126: ↑120 and ↓6+114
Comments44

Как я обработал один миллиард строк в PHP

Level of difficultyMedium
Reading time12 min
Views19K

Вероятно, вы уже слышали о соревновании под названием "The One Billion Row Challenge" (1brc), если же нет, то предлагаю ознакомиться с репозиторием 1brc Гуннара Морлинга.

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

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

Читать далее
Total votes 76: ↑74 and ↓2+72
Comments33

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

Level of difficultyEasy
Reading time14 min
Views7.7K

В статье расскажу и покажу, как сверстать письмо, чтобы оно наверняка правильно отображалось во всех почтовых клиентах — особенно в Outlook, который до сих пор возглавляет подборки по популярности в РФ.

В конце — пример целого письма в HTML.

Читать далее
Total votes 44: ↑42 and ↓2+40
Comments17

Современные команды и фичи Git, которыми стоит пользоваться

Level of difficultyEasy
Reading time5 min
Views29K

Мы, разработчики ПО, пользуемся git каждый день, однако большинство из нас применяет только самые основные команды, например, addcommitpush и pull, как будто на дворе по-прежнему 2005 год.

С тех пор в Git появилось множество фич, пользование которыми может сильно упросить вашу жизнь. Так давайте исследуем некоторые из недавно добавленных современных команд git, о которых вам стоит знать.

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

Корпоративный куколдизм

Level of difficultyEasy
Reading time8 min
Views116K

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

Читать далее
Total votes 407: ↑318 and ↓89+229
Comments1149

Создаем чат-бота на Python: Полное руководство

Level of difficultyMedium
Reading time6 min
Views29K

В этом полном руководстве от DataTech Community мы шаг за шагом рассмотрим процесс создания чат-бота на Python. Откройте для себя мощь NLTK и TensorFlow в обработке естественного языка и машинном обучении, чтобы создать интеллектуального помощника, способного общаться и отвечать на вопросы пользователей. Научитесь подготавливать данные, строить и обучать модель нейронной сети, а затем интегрировать ее в логику чат-бота для создания эффективного и интеллектуального виртуального помощника.

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

Метрики тестирования, которые вы точно должны внедрить в процесс

Reading time5 min
Views39K

Тестирование — один из важнейших процессов в разработке. Однако без измерения его эффективности сложно сказать, насколько продуктивно и правильно работают тестировщики. Главный инженер-тестировщик Группы «Иннотех» Павел Петров поделился метриками, которые используются в рабочих проектах.

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

Работа с хранилищами в Kubernetes: руководство для инженеров

Reading time21 min
Views13K
image

Как DevOps-инженер я часто сталкиваюсь с необходимостью глубокого понимания тонких аспектов Kubernetes. Одним из таких ключевых элементов является управление хранилищем данных. Хотя этот элемент иногда остаётся в тени других задач, его важность для успешного развёртывания и поддержки приложений велика.

Накопленный мною опыт в этой области стал основой для этой статьи.

Я сфокусируюсь на трёх ключевых элементах управления хранилищем в Kubernetes:

  • PersistentVolumes (PV).
  • PersistentVolumeClaims (PVC).
  • Storage Classes.

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

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

Например, у нас была задача обеспечить надёжное и масштабируемое хранение данных в веб-приложении для управления клиентскими заказами. Мы настроили в Kubernetes Storage Class на основе SSD для базы данных (что не является хорошей практикой): это помогло обеспечить быстрый доступ и обработку транзакций. А для логов и нечасто применяемых данных использовали отдельный Storage Class с HDD, и это позволило снизить затраты.

А главное, Storage в Kubernetes — это такая штука, которую ты сделал и забыл, дальше оно там само работает.

Рассказываю детально.
Читать дальше →
Total votes 49: ↑49 and ↓0+49
Comments4

Написание минимальной подсистемы хранения данных в памяти для MySQL/MariaDB

Level of difficultyMedium
Reading time24 min
Views5.4K

Я потратил неделю, копаясь во внутренностях MySQL/MariaDB вместе с ещё примерно 80 разработчиками. Хотя MySQL и MariaDB — это, по большей части, одно и то же (я ещё к этому вернусь), я сосредоточился именно на MariaDB.

Раньше я никогда сам не собирал MySQL/MariaDB. В первый день «недели хакерства» я смог наладить локальную сборку MariaDB и твикнул код так, что запрос SELECT 23 возвращал 213. Сделал я и другой твик — такой, что запрос SELECT 80 + 20 возвращал 60. На второй день я смог заставить заработать простую UDF на C, благодаря которой запрос SELECT mysum(20, 30) давал 50.

Остаток недели я потратил, пытаясь разобраться с тем, как сделать минимальный движок для хранения данных в памяти. Именно о нём я и расскажу. Это — 218 строк кода на C++.

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

HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 5

Level of difficultyMedium
Reading time6 min
Views5K

Хабр, я снова пришёл к вам с практическими советами про доступность вместе с Ильёй. Мы показываем, как HTML и CSS могут улучшить или ухудшить её. Напоминаю, что Илья мой незрячий знакомый, который помогает мне найти наши косяки в вёрстке.


Сегодня мы рассмотрим следующие аспекты:

  • Какое количество символов следует использовать для текста подсказки для атрибута alt;
  • В чём польза атрибута lang;
  • Почему использование текстовых символов для декоративных задач — это плохая идея;
  • Для чего существует режим повышенной контрастности.

Давайте начнём!

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

Hadoop в Облаке: история миграции сотен петабайт

Level of difficultyMedium
Reading time10 min
Views3.7K

Миграция с «железа» в облако в большинстве случаев уже не кажется чем-то сложным или удивительным — тенденция на развертывание решений в облаке общая и устоявшаяся. Но если с переносом в облачную среду небольших ИТ-компонентов все просто, то в случае с глобальными системами на сотни петабайт данных все несколько иначе — такие кейсы встречаются редко. 

Меня зовут Михаил Марюфич. Я руководитель Data Platform в ОК, отвечаю за инфраструктуру для Big Data и машинного обучения. В этой статье я расскажу о нашем опыте переноса Hadoop с Bare Metal в облако: с чего стартовали, какие варианты рассматривали, как выстроили миграцию и с чем сталкивались в процессе.

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

Делаем двоичные файлы Rust меньше по умолчанию

Level of difficultyMedium
Reading time6 min
Views4.8K

Вы когда-нибудь пробовали компилировать program helloworld на Rust в режиме --release? Если да, то видели, какой размер двоичного файла получается? Достаточно сказать, что он не очень маленький. Или, по крайней мере, не был таким до недавнего времени. В этом посте я расскажу, как узнал об этой проблеме и попытался устранить её в Cargo.

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

Теория игр за 15 минут

Level of difficultyEasy
Reading time15 min
Views54K

Многие из вас, я уверен, слышали о теории игр в какой-то момент своей жизни. Если вы хотите выглядеть умным и произвести впечатление на свою девушку — просто упомяните «игру с нулевой суммой» или «эволюционную стратегию», и ваши шансы отвести её домой сегодня вечером только что подскочили на 50%. Или вы можете использовать теорию игр, чтобы принимать решения в инвестировании своих денег (чтобы их полностью потерять и разориться) или, например решая, на какой девушке жениться (что также очень вероятно вас разорит). Как видите, это очень полезная теория.

Чтобы казаться умным - достаточно выучить эти пару выражений, но чтобы на самом деле что-то понимать - придется разобраться. Оказывается, это не так уж сложно и довольно интересно. Давайте посмотрим.

Читать далее
Total votes 109: ↑106 and ↓3+103
Comments30

Состоялась первая передача информации с помощью телепортации

Level of difficultyHard
Reading time6 min
Views140K

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

Читать далее
Total votes 76: ↑59 and ↓17+42
Comments95

Улучшаем динамические таблицы YTsaurus с помощью алгоритмов

Reading time17 min
Views4.3K

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

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

В этой статье разберёмся, как работает xor-фильтр, в чём особенность чанкового хеш-индекса и как overload controller повышает стабильность работы. Все примеры разберём на примере YTsaurus, но они будут полезны любому разработчику СУБД.

Читать далее
Total votes 36: ↑35 and ↓1+34
Comments6
1
23 ...

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity