Pull to refresh
0
0
Vasiliy Zyablitsev @zvd

User

Send message

Магия CSS на практике: советы по вёрстке от гика. Часть 4

Level of difficultyMedium
Reading time6 min
Views8.1K

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


Сегодня мы рассмотрим:

  • почему декоративные элементы, сделанные с помощью чистого CSS могут не отобразиться в режиме повышенной контрастности Windows;
  • чем можно заменить объявления свойства height со значением auto для изображений;
  • какой есть нюанс при установке максимальной ширины у группы элементов;
  • плавную прокрутку без неприятных ситуаций для пользователя;
  • чего не хватает при использовании фоновых изображений.

Давайте посмотрим, что я вам подготовил.

Читать дальше →
Total votes 33: ↑32 and ↓1+42
Comments31

Как я создавал онлайн игру «нарды» (часть четвертая). Сервер

Level of difficultyEasy
Reading time6 min
Views1.2K

Всем привет!

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

Читать далее
Total votes 2: ↑2 and ↓0+6
Comments1

Новое исследование предполагает, что наша Галактика либо переполнена, либо пуста — и непонятно, что страшнее

Level of difficultyEasy
Reading time8 min
Views121K

Существует ли во Вселенной разумная жизнь? И если да, то насколько она распространена? Или, возможно, вопрос должен звучать так: какова вероятность того, что те, кто занимается поиском внеземного разума (SETI), когда-нибудь с ним столкнутся? На протяжении десятилетий учёные горячо обсуждали эту тему, и на неё было пролито немало чернил. Из множества работ и исследований, написанных на эту тему, выделились два основных лагеря: те, кто считает, что жизнь распространена в нашей галактике (оптимисты SETI), и те, кто утверждает, что внеземной разум либо редок, либо вообще не существует (пессимисты SETI).

В своей недавней работе Дэвид Киппинг (профессор лаборатории Cool Worlds, «Крутые миры») и Джерейнт Льюис более внимательно изучили эти дебаты и предложили новую точку зрения, основанную на форме анализа вероятностей, известной как эксперимент Джейна. Применив этот метод к астробиологии и уравнению Дрейка, они пришли к выводу, что существование разумной жизни в нашей галактике можно охарактеризовать как «всё или ничего». Цитируя покойного и великого учёного и автора научной фантастики Артура К. Кларка, можно сказать следующее: «Существует две возможности: либо мы одиноки во Вселенной, либо нет. Оба варианта одинаково пугающие».

Читать далее
Total votes 45: ↑43 and ↓2+61
Comments614

Playwright: Поиск, фильтрация и ожидание элементов на странице

Level of difficultyEasy
Reading time14 min
Views3.6K

Друзья, приветствую! Для тех, кто не в теме, Playwright — это инструмент для автоматизации и тестирования веб-приложений, который, по моему мнению, уже обошел своего предшественника Selenium, долгое время лидировавшего в автоматизации и тестировании браузеров.

О том, почему Playwright лучше Selenium и зачем вам стоит перейти на Playwright, я подробно писал в предыдущей статье. Там же, хотя и поверхностно, я затронул тему поиска и ожидания элементов на странице.

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

Чем мы займемся сегодня?

В рамках этой статьи мы рассмотрим основные методы для поиска, фильтрации и ожидания элементов на странице.

Читать далее
Total votes 15: ↑11 and ↓4+7
Comments7

Playwright: Лучшая альтернатива Selenium. Первое знакомство

Level of difficultyEasy
Reading time13 min
Views9K

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

Материал станет первой частью нового цикла. Если тема вам интересна, с удовольствием продолжу делиться своими знаниями о Playwright.

Читать далее
Total votes 16: ↑16 and ↓0+19
Comments26

Эволюция конечных автоматов в бэкенд-разработке

Level of difficultyMedium
Reading time6 min
Views7.4K

Привет! Меня зовут Павел, я программист-эксперт в отделе разработки серверных решений ЮMoney. Сегодня расскажу и покажу, как менялись наши конечные автоматы в бэкенде — как от большого страшного монстра с файлами классов по 1000+ строк мы пришли к красивым визуальным диаграммам, которые понимают не только разработчики, но и сотрудники других отделов.

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

Книга: «Реальная криптография»

Reading time22 min
Views8.6K
image Привет, Хаброжители!

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

Изучите приемы, которые используют разработчики, системные администраторы и специалисты по безопасности в своей повседневной работе. Вы не встретите ни сложных математических выкладок, ни умопомрачительного жаргона: современные криптографические методы рассматриваются с помощью понятных графиков и практических примеров. Познакомьтесь с хеш-функциями и подписями, криптографическими протоколами и безопасным обменом сообщениями, а также с передовыми достижениями, такими как постквантовая криптография и криптовалюты. Читать «Реальную криптографию» одно удовольствие и, возможно, она спасет, когда в следующий раз злоумышленники покусятся на ваши данные.
Читать дальше →
Total votes 14: ↑14 and ↓0+17
Comments1

Отвлекать программистов от работы — гораздо страшнее, чем кажется на первый взгляд

Level of difficultyEasy
Reading time6 min
Views42K

Я всегда знал, что если отвлекать человека во время работы, это вредит делу. Но до конца не осознавал, насколько это серьёзная проблема. Особенно для разработчиков ПО.

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

Читать далее
Total votes 54: ↑46 and ↓8+44
Comments86

С MVP покончено. Вам нужно думать о MVE

Level of difficultyMedium
Reading time6 min
Views52K

Подсказка: V – не значит «жизнеспособный», V – значит «ценный»

Большинство стартапов начинаются с момента озарения.

Основатель вдруг ясно видит проблему без очевидного решения. "Как мне это решить?" — думает он.

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

Читать далее
Total votes 38: ↑14 and ↓24+1
Comments33

Генерация надёжных псевдослучайных чисел с ChaCha8Rand в Go

Reading time4 min
Views1.7K

В версии Go 1.22 пакет math/rand/v2претерпел значительные изменения, а в частности - переход на ChaCha8Rand. Этот новый генератор представляет собой модификацию широко известного и проверенного временем шифра ChaCha8, который используется в протоколах TLS и SSH.

Читать далее
Total votes 10: ↑9 and ↓1+12
Comments7

Обзор кредитного протокола Aave V2

Level of difficultyMedium
Reading time15 min
Views3.1K

Это статья‑обзор про один из самых популярных кредитных протоколов Aave V2. Разберем, как устроен протокол, как работают ликвидации, начисление процентов и другие фичи.

Перед этой статьей рекомендую прочитать про Compound V2, так как там описана база кредитных протоколов. Местами мы будем сравнивать различия между Aave V2 и Compound V2.

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

История создания API для курса валют

Level of difficultyEasy
Reading time6 min
Views2.9K

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

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

Ответ на «Коротко о том, почему Rust лучше C/C++» или меня не бомбит

Level of difficultyEasy
Reading time11 min
Views27K

Собственно ответка на указанную статью.

Решил ответить на претензии автора. А так же рассказать, почему С\С++ именно такой какой есть. Почему приняты такие решения при его создании и развитии. Указать на явные недостатки Rust'а и его инфраструктуры. Язык не может существовать сам по себе. Он должен иметь не только токсичное сообщество, но и быть нужным работодателю.

Поехали
Total votes 84: ↑59 and ↓25+52
Comments294

Почему ни в коем случае НЕ надо становиться DevOps инженером! Предостережения начинающим и совет что же делать если «НЕ»

Level of difficultyEasy
Reading time11 min
Views40K

Кто я такой, чтобы делиться своими суждениями и утверждениями? Мне почти 47, в сфере IT профессионально работаю около 25 лет, начав самообучение со школы, с папиного i386 с сопроцессором и модемного dial-up на зюхелях (ну... все же помнят.. да? ну да же? :-) Естественно, среди моего опыта и высшее образование, и технические сертификаты, и работа во множестве компаний самого разного масштаба и разных стран. Сейчас я обладаю как негативным, так и позитивным опытом в различных аспектах IT технологий, попробовав себя как в софте, так и в железе.

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

Читать далее
Total votes 69: ↑50 and ↓19+38
Comments189

Неожиданные последствия запуска PostgreSQL в Docker: замедление запросов в 100 раз

Level of difficultyMedium
Reading time4 min
Views44K

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

Читать далее
Total votes 95: ↑84 and ↓11+93
Comments57

Развертываем peer-to-peer чат с голосом, видео, шарингом экрана, файлов и паролем

Level of difficultyMedium
Reading time7 min
Views9.8K

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

Что будет ниже:

Поиск open source решения для общения голосом, шаринга экрана, включения видео и чатов в режиме peer-to-peer, без лишних бекендов
Запуск этого решения в открытую в github pages
Заворачивание этого решения на приватный сервер
Простенькое закрытие доступа туды через basic http auth
Заключение с описанием некоторых замечаний и потенцевальных возможностей

Читать далее
Total votes 22: ↑20 and ↓2+27
Comments13

Go-like каналы на C++

Level of difficultyMedium
Reading time21 min
Views5.2K

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

Смотреть мой велосипед
Total votes 21: ↑21 and ↓0+21
Comments3

PostgreSQL: обеспечение уникальности записи с проверкой даты валидности

Reading time2 min
Views4.4K

Как бы вы решали такую задачу? Предположим, есть таблица с купонами, и у купонов есть некая дата устаревания valid_until. Вам надо обеспечить такое ограничение (constraint) на уровне БД, чтобы у одного человека мог быть только один действующий купон.


Т.е., таблица изначально выглядит так:


CREATE TABLE coupons (
    id  bigint primary key generated by default as identity,
    user_id bigint not null,
    created_at timestamp not null,
    valid_until timestamp not null
)
Читать дальше →
Total votes 13: ↑11 and ↓2+12
Comments20

Как создать простой LoRa мессенджер: обмен зашифрованными текстовыми сообщениями между устройствами без интернета

Level of difficultyMedium
Reading time30 min
Views15K

В современном мире IoT, когда связь в отдаленных районах становится все более актуальной, технология LoRa (Long Range) предоставляет нам возможность создать дальнобойный, надежный, энергоэффективный и зашифрованный канал связи без необходимости иметь какую-либо сетевую инфраструктуру. 

В этой статье мы рассмотрим, как создать простой LoRa мессенджер с использованием своего протокола обмена и готовых модулей, работающих в режиме P2P (peer-to-peer) – не идеального, но интересного решения для обмена текстовыми сообщениями в условиях ограниченной инфраструктуры.

Для упрощения и автоматизации процесса обмена сообщениями мы воспользуемся Node-RED. Этот инструмент, помимо реализации основной логики обмена сообщениями, также предоставит графический интерфейс для мессенджера, что сделает процесс более доступным и интуитивно понятным. 

Выглядеть будет просто, потому что воспользуемся всем готовым :)

Свистать всех наверх!
Total votes 25: ↑23 and ↓2+27
Comments36

Раскладываем Git по полочкам: терминология

Reading time7 min
Views19K

Первый раз столкнулись с Git и не понимаете, что это такое?

Устали бездумно выполнять серию комманд чтобы закинуть свой проект на GitHub?

Хотите понять, чем отличается merge, rebase, push и pull?

Надоело видеть ошибку о non fast-forward merge и не понимать, что с этим делать?

Сейчас попробуем разобраться в этом всем.

Поехали!
Total votes 16: ↑16 and ↓0+16
Comments10
1
23 ...

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity