Mad Devs Channel
1.6K subscribers
664 photos
30 videos
1 file
867 links
Канал Mad Devs.🤘Здесь мы рассказываем о жизни компании и инсайтах. Делимся знаниями и лайфхаками IT-индустрии.
Download Telegram
The large, small, and dynamic viewport units

В CSS долгое время использовались единицы измерения области просмотра (viewport), такие, как vw и vh.

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

Что такое large, small, and dynamic viewport units?

Наконец, появились более современные единицы измерения, которые учитывают различные состояния области просмотра. Они включают единицы для большой (lv), маленькой (sv) и динамической области просмотра (dv).

Как это работает?

Единицы lv (например, lvw, lvh, lvi, lvb, lvmin, lvmax) используются для определения размеров элементов, когда все динамические интерфейсы пользователя, которые могут изменять размер области просмотра - скрыты или сжаты.

Единицы sv (например, svw, svh, svi, svb, svmin, svmax) используются для определения размеров элементов, когда все динамические интерфейсы пользователя, которые могут изменять размер области просмотра - видимы или расширены.

Единицы dv (например, dvw, dvh, dvi, dvb, dvmin, dvmax) используются для определения размеров элементов, которые динамически меняются в зависимости от текущего состояния панелей инструментов.

Какие достоинства мы имеем?

Новые единицы измерения поддерживаются свежими версиями браузеров Safari, Chrome и Firefox, а значит их использование позволяет значительно улучшить пользовательский опыт на всех ведущих платформах.

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

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

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

Каковы сегодняшние ограничения?

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

Они не обновляются с частотой 60 кадров в секунду, отсюда и возможные задержки в обновлении размеров, особенно при быстром изменении размеров области просмотра.

Конечно же, возможны проблемы совместимости, если пользователи используют старые версии браузеров.

А насколько вы рады этим новшествам, и насколько они упростили вам жизнь? Поделитесь с нами в комментариях👇
👍3
Есть у нас в Mad Devs команда, которая работает над проектом, связанным с ЖД перевозками. Сегодняшнее задача по мотивам этого проекта - про поезда 🚂

На один из рейсов были проданы абсолютно все билеты. Всего в поезде было 11 вагонов и 381 место.

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

Итак, вопрос - сколько человек едет в девятом вагоне?

❤️ Мы видим, как сильно вам нравится решать наши задачи и это нас чертовски радует! Именно поэтому мы хотим порадовать вас в ответ и вручить приз первому подписчику, который даст правильный ответ на задачу в комментариях под этим постом. Победитель получит от нас классную брендированную толстовку 🎁
🔥7👍2
"Гибридные команды" или команды в которых рука об руку трудятся сотрудники из офиса и удаленщики, стали предметом обсуждения очередного Кибирда. В наши дни подобная система организации команд становится обыденностью, и важно понимать как подобные команды устроены изнутри: как они работают, какие преимущества и недостатки они имеют.

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

🔗 https://youtu.be/zzbf6qbM6pk
Приятного просмотра!
🔥9
Mad Devs Channel
Есть у нас в Mad Devs команда, которая работает над проектом, связанным с ЖД перевозками. Сегодняшнее задача по мотивам этого проекта - про поезда 🚂 На один из рейсов были проданы абсолютно все билеты. Всего в поезде было 11 вагонов и 381 место. В разных…
Решение задачи про поезд 🚂

Пронумеруем вагоны и обозначим каждый вагон своей переменной. Когда мы их сложим, то получим 381:

x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10 + x11 = 381

По условию три любых вагона подряд дают в сумме 99. Это значит, что:

x1 + x2 + x3 = 99

x4 + x5 + x6 = 99

x7 + x8 + x9 = 99

Заменим эти переменные на числа:

(x1 + x2 + x3) + (x4 + x5 + x6) + (x7 + x8 + x9) + x10 + x11 = 381

99 + 99 + 99 + x10 + x11 = 381

297 + x10 + x11 = 381

x10 + x11 = 84

С другой стороны, по условию в трёх последних вагонах тоже едет в сумме 99 пассажиров:

x9 + x10 + x11 = 99

Вычтем отсюда предыдущее уравнение:

(x9 + x10 + x11) − (x10 + x11) = 99 − 84

x9 + x10 − x10 + x11 −x11 = 15

x9 = 15

Получается, что в девятом вагоне едет 15 человек. Кстати, в третьем вагоне тоже 15 человек, потому что он девятый с конца. Такая вот математика 🤓
👍5
Mad Devs Channel
Есть у нас в Mad Devs команда, которая работает над проектом, связанным с ЖД перевозками. Сегодняшнее задача по мотивам этого проекта - про поезда 🚂 На один из рейсов были проданы абсолютно все билеты. Всего в поезде было 11 вагонов и 381 место. В разных…
Трое наших подписчиков дали правильный ответ и указали, что в девятом вагоне едет 15 пассажиров. Первым правильный ответ дал Адилет Акылбеков 🥳

Адилет, поздравляем вас с победой! Сегодня наш менеджер свяжется с вами, чтобы договориться о передаче вашего выигрыша - нашей брендированной толстовки. Ждем ваших решений в следующих задачах.
🔥12👏3
Зачем краулеру Docker 🐳

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

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

🐳 Переиспользование
Docker позволяет создавать образ, который можно далее переиспользовать с зависимостями и легко создавать новые экземпляры парсера. Это идеально для масштабирования приложений и обработки больших объемов данных через создание дополнительных контейнеров.

🐳 Безопасность
Docker обеспечивает дополнительный уровень безопасности, изолируя контейнеры от хост-системы. Даже при атаке на парсер, атакующий не может повлиять на работу.

🐳 Управление версиями и обновлениями
Docker упрощает управление версиями и обновлениями. Вы можете обновить Docker-образ и применить его на всех машинах, вместо ручного обновления каждого экземпляра парсера.

В заключение, Docker предоставляет ряд значимых преимуществ для развертывания приложений. Его изолированность гарантирует одинаковую работу приложений на разных системах, обеспечивая стабильность и надежность.
👍5
Что изменилось с обновлением JupyterLab 4.0
JupyterLab 4.0 — самое крупное обновление полнофункциональной среды разработки.
Сегодня рассмотрим основные изменения и новые функции.

📌 Скорость
Благодаря оптимизации правил CSS, внедрению CodeMirror 6, MathJax 3 и введению окон для блокнотов, удалось значительно повысить скорость работы. JupyterLab 4 стал более эффективным в работе с большими проектами благодаря отображению только видимых частей блокнота, которые помещаются в окне браузера.

📌 Улучшенный редактор CodeMirror
Были внесены изменения с выпуском версии CodeMirror 6, которые привели к улучшению его доступности, производительности и добавлению гибких настроек. Функциональность совместной работы RTC теперь доступна в отдельном пакете, который позволяет отображать несколько курсоров и выделений, а также поддерживает регистрацию новых типов общих моделей.

📌 Новый менеджер расширений
В обновленной версии теперь доступны как заранее созданные расширения Python, так и расширения с платформы pypi.org. Установка расширений из PyPI не требует компиляции при использовании менеджера. Вы можете добавить дополнительный репозиторий пакетов, чтобы отображать свой набор расширений.

📌 Улучшенный поиск документов
Добавлена подсветка совпадений в отформатированных ячейках markdown, поиск в текущем выделении, поиск по нескольким строкам, замена с сохранением регистра, и так далее.

📌 Улучшения UI-интерфейса
Была переработана секция активных ядер, кнопка «Добавить новую ячейку», диалоговое окно для сочетаний клавиш и отображение первой строки в свернутых ячейках ввода и вывода.

📌 Обновления средств разработки
Были внесены значительные обновления: TypeScript до версии 5, Yarn до версии 3, а React до версии 18. Рекомендуется использовать Node.js версии 18 или выше для получения всех последних обновлений.

📌 Исправление багов
Исправлено более 100 ошибок, улучшены стабильность и производительность.

📌 Новые функции
- Редактор JSON и интерактивный режим на основе React JSON Schema в редакторе настроек двойного режима.
- Панель инструментов ячейки для быстрой манипуляции ячейками.
- Уведомления от расширений и JupyterLab для мгновенных объявлений, предупреждений и обновлений.
- Возможность отключения объявлений от команды JupyterLab.
- Обратное портирование нескольких функций из JupyterLab 4 в JupyterLab 3.6.

Вы уже слышали про обновление? Расскажите об опыте работы с ним 👇
👍4🔥1
10 репозиториев GitHub, чтоб прокачаться разработчику
Никак не можем перестать делиться с вами полезными репозиториями с GitHub, но и зачем останавливаться, верно? Ловите еще список крутых источников, которыми помогут вам и задачки по работе выполнять быстрее и навыки свои улучшить:

⭐️ Книга тайных знаний
Коллекция вдохновляющих списков, руководств, шпаргалок, блогов, хаков, односложных фраз, инструментов cli/web и многого другого.

Coding Interview University
Поможет подготовиться к техническому собеседованию практически в любой компании (даже Amazon, Facebook, Google и Microsoft) занимающейся разработкой программного обеспечения.

Open Source Society University, Computer Science
Здесь бесплатная учебная программа OSSU в области компьютерных наук с использованием онлайн-материалов.

⭐️ The Art of Command Line
Заметки и советы по использованию командной строки.

30 Seconds of Code
Короткие фрагменты кода JavaScript на все случаи в разработке.

freeCodeCamp
Репозиторий №1 по количеству запусков. Это кодовая база и учебная программа freeCodeCamp с открытым исходным кодом.

You Don't Know JS
Здесь серия книг об основных механизмах языка JavaScript. Совершенно бесплатно.

⭐️ JavaScript Algorithms and Data Structures
Репозиторий содержит примеры популярных алгоритмов и структур данных на основе JavaScript.

Бесплатные книги по программированию
Проверьте этот репозиторий, чтобы найти книги по программированию в свободном доступе.

The System Design Primer
Коллекция ресурсов, которые помогут проектировать крупномасштабные системы.

Как бы вы дополнили этот список? Что вам помогало и помогает прокачивать свои скиллы?
👍13
Веб-доступность

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

Альтернативный текст

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

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

Подзаголовки

Подзаголовки (H1, H2, H3, H4, H5 и H6) помогают структурировать иерархию контента на сайте.

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

Ссылки

Ссылки также требуют правильного оформления для обеспечения доступности.

Чтобы сделать их понятными для всех пользователей, используйте отличный цвет и подчеркивание. Избегайте использования URL в качестве текста ссылки, предпочитая более описательные варианты.

Создание доступного сайта может потребовать дополнительного времени и ресурсов для обеспечения соответствия всем стандартам. Зато он будет доступным и удобным для всех пользователей, независимо от их способностей или ограничений.

Тоже считаете это принципиально важным? Поделитесь вашим мнением и рекомендациями в комментариях.
👍5💯2
Помогает ли ИИ изучать сновидения?

Изучение снов и осознанных сновидений — новая и увлекательная область для научных исследований. Недавно была представлена необычная модель ИИ для более глубокого изучения и использования снов, о которой сегодня поговорим.

Архитектура и технологии
Представленная модель — инструмент для глубокого исследования сновидений, которая помогает раскрывать скрытые паттерны и символическое значение снов. Предполагается, что данную модель можно использовать в различных сферах, от творчества до терапии.

Проект использует микросервисную архитектуру и включает несколько ключевых сервисов:
📌 Pinecone для поиска сновидений
📌 Elasticsearch для хранения данных и обработки языка
📌 OpenAI для анализа текстовых описаний
📌 TypeScript обеспечивает статическую типизацию и надежность разработки.
📌 Чтобы обеспечить гибкость и масштабируемость модели, используется технологии Docker и контейнеризация.

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

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

Технологии, помогающие изучать сновидения, открывают новые горизонты в исследовании и понимании сновидений и человеческой психологии. Что вы думаете о данном проекте? Хотели бы попробовать? 👇
😱7👍32🤔1
Сарказм на встречах и как с ним бороться? 🤡

Токсичные шутки от участников встречи — одна из сложностей в работе фасилитатора. От обычной шутки всем смешно, а вот от сарказма может быть неприятно/неловко/обидно как вам, так и другим участникам встречи. Сегодня разберемся, в чём разница между “хорошим” и “плохим” юмором.

В чем отличие?
🚩 Ирония носит легкий тон и не несет негативных эмоций. Например,

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

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

🚩 Сарказм зачастую использует резкие и оскорбительные высказывания, с целью высмеять, унизить или вызвать насмешку.

«Ну и новая статья! Давайте клепать и дальше такие профессиональные статьи, чтобы нас сразу же приняли за профессионалов!»

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

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

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

Шаг 1. Переспросите

«Прости, что ты сказал? Я не расслышал (-а).»

Зачастую люди, использующие сарказм не хотят явно выражать своё недовольство и открыто конфликтовать. На ваш вопрос они могут сказать, например: «Ничего, забей», либо сводят всё в шутку: «Да ладно, Маш, я пошутил!».

Шаг 2. Не отступайте

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

«Ты сказал “Давайте проведем очередную полезную встречу. Это точно поможет нам достичь целей” в ответ на моё предложение. Что ты имеешь в виду?»

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

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

А какие способы ответить на сарказм знаете вы? Поделитесь в комментариях 👇
👍4🔥21
Из категории: курица или яйцо – Сначала код или сначала API?

Хотите чуть поменять свой подход для разработки ПО? Вот вам интересный вариант – а что если начинать с API, а потом код?

📌 Микросервисы увеличивают сложность системы

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

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

📌Единый язык для функциональных команд

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

📌 Повышение качества программного обеспечения и эффективности разработчиков

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

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

Снижается вероятность непредвиденных проблем в конечной стадии жизненного цикла проекта. Поскольку вы начинаете с разработки API, тесты могут быть разработаны параллельно с кодированием. В некотором смысле вы также применяете методологию TDD (Test Driven Development) с использованием подхода «сначала API».

А какой подход вы используете в своей работе - «сначала код» или «сначала API»?
👍51👏1😁1
Как составить запоминающееся резюме IT-специалисту 🤔

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

✒️ Правила хорошего резюме в IT

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

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

Сопроводительное письмо. Представьтесь и укажите на конкретную вакансию, на которую вы откликаетесь. Добавьте краткое описание своего опыта и навыков, но помните, что это не должно быть простым пересказом резюме. Ваша цель — привлечь внимание рекрутера.

✒️ Структура резюме

Образование. Указывайте любое образование и не забудьте добавить пройденные курсы

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

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

Ключевые навыки. Тут можно не расписывать подробно и схематично указать уровень владения тем или иным навыком. Выделяйте ключевые навыки одним блоком.

Личные качества. При составлении списка качеств добавляйте примеры из профессиональной сферы.

Фотография. Фотография персонализирует резюме, но не влияет на принятие решения о найме.

✒️ Оригинальный способ – видеорезюме
Некоторые крупные компании могут попросить вам, помимо традиционного резюме, прислать видеовизитку. Так HR-менеджер может быстрее принять решение, приглашать кандидата на следующий этап отбора. Кроме того, видеорезюме может продемонстрировать манеру общения и поведения, насколько грамотная у кандидата речь, приятный и коммуникабельный ли человек.

Правила видеорезюме
📌 Оптимальная длина — не более двух минут.
📌 Выбирайте нейтральный или однотонный фон.
📌 Не снимайте слишком близко.
📌 Не должно быть постороннего шума.

Представьте себя на месте рекрутера и проанализируйте, какая информация поможет принять решение в вашу пользу. Что вы думаете? Как стоит оформлять резюме? 👇
🔥3
Слышали про Dython?🤔

Dython - это библиотека Python для анализа данных, особенно в области зависимостей и корреляций. Dython упрощает процесс анализа данных, используя стандартные библиотеки Python, такие как Pandas, Matplotlib и NumPy.

Dython предлагает следующие основные возможности:

📌Работа с табличными данными
Dython предоставляет операции для работы с таблицами (датафреймами), включая фильтрацию, сортировку, объединение и агрегацию данных.

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

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

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

📌Визуализация данных
Создание графиков и визуализации данных, включая диаграммы, гистограммы, диаграммы рассеяния и другие типы графиков для исследования и представления данных.

Заинтересовало? Тогда с документацией фреймворка можно ознакомиться здесь.
🤔5👍21
7 быстрорастущих open-source проектов на GitHub, о которых следует знать:

📌 RLHF + PaLM
👉Альтернатива ChatGPT с открытым исходным кодом.
Эта языковая модель объединяет обучение с подкреплением (RLHF) и архитектуру PaLM, и хотя предварительно обученная модель отсутствует, она обладает потенциалом стать конкурентоспособной альтернативой ChatGPT.

📌 RATH
👉Альтернатива Tableau с открытым исходным кодом.
RATH предлагает передовые технологии для анализа и визуализации данных, привлекая множество разработчиков, Data Scientists и бизнес-аналитиков, которые активно содействуют развитию проекта.

📌 Gogs
👉Альтернатива GitHub с открытым исходным кодом.
Gogs предлагает удобный интерфейс управления версиями Git, а также отслеживание проблем, пулл реквесты и вики. Благодаря своей гибкости и безопасности, он является отличной альтернативой для совместной работы с Git.

📌 NocoDB
👉Альтернатива Airtable с открытым исходным кодом.
NocoDB — гибкая и масштабируемая платформа данных, поддерживающая SQL, NoSQL и Graph. Она предлагает простой интерфейс для создания и управления базами данных в режиме реального времени.

📌 Rocket.Chat
👉Альтернатива Slack с открытым исходным кодом.
Rocket.Chat обеспечивает разнообразные средства коммуникации для команд, включая текстовые, голосовые и видеозвонки, совместное использование экрана и обмен файлами. Он может быть развернут самостоятельно или использован в качестве облачного решения.

📌 Plausible Analytics
👉Альтернатива Google Analytics.
Plausible Analytics предоставляет безопасную аналитику, не собирающую личные данные пользователей. Она предлагает простой интерфейс для отслеживания активности на веб-сайте в режиме реального времени.

📌 Mastodon
👉 Альтернатива Twitter.
Mastodon — децентрализованная социальная сеть, где пользователи могут общаться, обмениваться контентом и участвовать в онлайн-сообществах. Она обеспечивает функциональность, аналогичную традиционным социальным сетям, с акцентом на конфиденциальность, свободу слова и контроль над личностью в Интернете.

А у вас есть в закромах интересные open-source проекты на GitHub? Делитесь со всеми нами в комментариях!
👍7
Про CSS. Gap vs Margin
Правильное управление пространством между элементами на веб-странице является важной частью создания качественного интерфейса. Сегодня мы сосредоточимся на сравнении двух ключевых свойств CSS, а именно Gap и Margin.

Что такое Gap и Margin?

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

Gap. Свойство определяет размер промежутка между строками и столбцами в многоколоночном макете.

Margin. Свойство позволяет добавлять пространство вокруг отдельных HTML-элементов.

Как они работают?

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

Margin применяется к отдельным элементам, создавая пространство вокруг них.

Рассмотрим преимущества:

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

📌 Margin:
- Очень универсален и может быть применен к любому HTML-элементу.
- Позволяет контролировать пространство вокруг элемента, включая внешние границы.
- Идеально подходит для создания пространства между элементами, которые не находятся в одном контейнере.

Определим недостатки

Gap:
- Не все браузеры поддерживают свойство gap для flexbox, что может вызвать проблемы совместимости.
- Не может быть применен к отдельным элементам.

Margin:
- Использование margin для создания пространства между элементами может привести к созданию дополнительного пространства после последнего элемента.
- Может вызвать проблемы с коллапсом полей, что может привести к неожиданным результатам.

Что в итоге? Выбор между gap и margin зависит от конкретных потребностей вашего проекта. Оба свойства имеют свои преимущества и недостатки, и важно понимать, как они работают, чтобы сделать правильный выбор.

А что и когда предпочитаете вы? Поделитесь в комментариях.
👍4🔥1
Ищем стажера ML инженера в наш проект Enji.ai

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

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

Мы ждем тебя, если у тебя есть математический бэкграунд (ты учился на математическом факультете, писал курсовые бакалаврские или магистерские работы по направлению машинного обучения), тебе нравится работать с данными, а "Алгоритмы и структуры данных" - твоя настольная книга, то тебе точно к нам!

Больше подробностей по вакансии на сайте. Переходи и оставляй свой отклик!
🔥10👏3
Задача с любовью (и со звездочкой) от Mad Blockchain Department 🎯

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

Итак, NFT-трейдер купил редкий токен на картинку с поросёнком, сумма сделки составила 6 тысяч долларов. Через время он продал токен за 7 тысяч, но передумал и выкупил обратно за 8 тысяч. Ещё через какое-то время он продал этот токен за 9 тысяч долларов.

Вопрос: сколько денег в итоге заработал или потерял трейдер на этой цепочке сделок?

🎁 Первого верно решившего эту задачу мы наградим ценным призом - нашей брендированной толстовкой.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍2👏2
Mad Devs Channel
Задача с любовью (и со звездочкой) от Mad Blockchain Department 🎯 Самое время размять мозги и порешать задачи, не считаете? В этот раз задачу, которую мы приготовили для вас с ребятами из нашего блокчейн департамента, всемогущий Chat GPT не смог верно решить…
Время поделиться решением задачи. Итак, сколько же в итоге заработал NFT-трейдер на цепочке сделок?

Иногда эту задачу решают так:

Трейдер потратил 6 (−6), потом заработал 7 (+7), потом потратил 8 (−8), а потом заработал 9 (+9), но раз после последней продажи он остался без токена, который изначально стоил 6, то он ещё потерял 6 (−6):

−6 + 7 − 8 + 9 − 6 = −4 тысячи долларов.

По этой логике трейдер потерял за все эти сделки 4 тысячи долларов, но это явно неверное решение.

Правильное решение

Задачу легко решить, если правильно определить исходную точку. А она такая: когда трейдер покупает токен, это не трата, а его цель, за которой он пришёл. На старте у него есть 6 тысяч долларов, а остальное зависит от продавцов.

На первом шаге он покупает токен за 6 тысяч, и его баланс равен −6 тысяч.

На втором шаге он продаёт его за 7 тысяч, и его баланс становится равен −6 + 7 = 1 тысяча.

На третьем шаге трейдер покупает токен назад за 8, и его баланс равен 1 − 8 = −7 тысяч.

А на четвёртом он продаёт токен обратно и получает за это 9 тысяч, и итоговый баланс становится равен −7 + 9 = 2 тысячи.

Подвох с пропавшей тысячей

🤔 Кажется, что задача решена, но если трейдер в плюсе на 2 тысячи и пришёл на криптобиржу с 6 тысячами на счёте, то у него должно быть 8 тысяч. Но за последнюю продажу он получил 9 тысяч и с ними и остался — куда же тогда делась ещё тысяча?

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

Купил за 6 тысяч ← денег стало 0 (условно, на самом деле мы не знаем, сколько денег у него было на счёте).
Продал за 7 тысяч ← появились 7 тысяч.
Купил за 8 тысяч ← а вот здесь как раз не хватает той тысячи, которую нужно у кого-то занять, чтобы выкупить токен.
Продал за 9 тысяч ← появилось 9 тысяч, возвращаем 1 тысячу долга.
🤯7👍1