Mad Devs Channel


Гео и язык канала: Киргизия, Русский
Категория: Технологии


Канал Mad Devs.🤘Здесь мы рассказываем о жизни компании и инсайтах. Делимся знаниями и лайфхаками IT-индустрии.


Гео и язык канала
Киргизия, Русский
Категория
Технологии
Статистика
Фильтр публикаций


Куда идти продакт- и проджект-менеджерам для успешной карьеры в стартап или корпорацию 🕵️

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

Кто такие проджект и продакт менеджеры и чем они занимаются
Проджект-менеджер и продакт-менеджер — это две разные роли в управлении проектами и продуктами.

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

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

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

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

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

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

Как менеджеру выстроить карьерный путь
1. Можно начать в корпорации. Вы сможете развиваться линейно и стабильно, меняя при необходимости.
2. Можно начать работать в стартапе, но вам нужно подготовиться к интенсивной работе и быстрому обучению.
3. Можете получить опыт и в корпорации, и в стартапе, начиная с корпорации, где можно учиться, и затем перейти в стартап для дополнительных знаний.

Что думаете вы? Поделитесь своим мнением в комментариях 👇


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

📚Чистый код: создание, анализ и рефакторинг. Роберт Мартин
Эта
книга объясняет, почему важно писать чистый код и как это сделать. Автор предоставляет практические советы и примеры, делая материал доступным и интересным.

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

📚Экстремальное программирование. Разработка через тестирование. Кент Бек
Книга
вводит в методологию разработки через тестирование (TDD) и делает ее понятной через простой язык и примеры.

📚Паттерны объектно-ориентированного проектирования. Эрих Гамма, Ричард Хелм, Ральф Джонсон и Джон Влиссидес
Описывает
паттерны проектирования, помогая разработчикам решать задачи при проектировании программного обеспечения. Она также предоставляет примеры использования паттернов.

📚Алгоритмы. Построение и анализ. Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн
Эта книга является классическим источником знаний о алгоритмах. Она содержит глубокое объяснение алгоритмов с множеством примеров и иллюстраций.

Уверены, что многие из вас знакомы с этими авторами их и работами. Потому что это и есть «база».💪🏻 Но если все-таки пропустили, то горячо рекомендуем!


Почему пет-проект лучше для джуна, чем просто диплом курсов 🤖

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

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

Как создать пет-проект
🔴 Сформулируйте идею.
🔴 Проведите исследование и определите, кому может быть полезен ваш продукт.
🔴 Составьте план действий, оцените, сколько времени это займет. Представьте, как будет работать ваш проект, какой функционал он будет иметь, как будет функционировать логика в разных сценариях, и какой стек технологий вы планируете использовать. Если в стеке есть незнакомые технологии, оцените их сложность.
🔴 Создайте MVP (минимально жизнеспособный продукт). Попросите друзей протестировать его, чтобы выявить слабые места и узнать, насколько удобен продукт для пользователей. Доработайте его на основе обратной связи.
🔴 Ведите проект на GitHub с самого начала. Будущий работодатель или рекрутер смогут просмотреть всю историю коммитов. Добавьте скриншоты или видео работы приложения в описание.

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

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

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


Большие языковые модели: стоит ли бояться больших калькуляторов 🧮

Сегодня разберемся, что такое большие языковые модели (LLM), какие есть плюсы и минусы и что это значит для человечества.

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

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

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

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

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

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


Ваш новый любимый рабочий инструмент — понимание задачи 📝

Новая полезная практика — "понимание задачи". Прежде чем начать работу, внимательно выслушивайте или прочитайте задачу, опишите свое понимание и действия в документе, и отдайте на согласование этот документ тому, кто вам это поручил. И ждите, пока не подтвердят. Данный инструмент помогает избегать переделок, обеспечивает ответственность и защищает от недобросовестного использования.

❓ Гипотетическая ситуация: у вас упали продажи на сайте, и вам нужно выгрузить статистику по всем страницам сайта — сколько там пришло людей и сколько из них купили.

👀 Как видит это специалист:
Он выгрузит эксельку, в которой будет список адресов страниц, число посещений и число кликов по кнопке "Купить". Сначала будут посещаемые, в конце — нет. Возможно, он уточнит, за какой период нужна статистика.

👀 Как видит это менеджер:
Менеджеру сообщили, что сайт не продаёт, и нужно срочно определить, какие направления на сайте нужно развивать. Он поручает аналитику сделать отчёт о том, какие страницы нужно развивать, и ждет его в форме презентации.

❌ Как результат, ожидание-реальность не совпадают и в субботу-воскресенье все будут на ушах. Аналитик будет переделывать данные, дизайнер — рисовать, менеджер — рулить процессом.

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

Почему это важно
Введя в свои рабочие процессы практику "понимания задачи", вы получаете, что:
✔️ У каждого человека будет общее представление о работе и результате.
✔️ При обсуждении задачи могут вскрыться детали, о которых кто-то не знал.
✔️ Менеджер видит нагрузку сотрудников и может перестроить задачу или процесс.
✔️ Через обсуждение вы можете снизить число переделок.
✔️ Исполнитель защищен, если заказчик отказывается принимать результат.
✔️ Заказчик защищен и может попросить исполнителя переделать задачу по ПЗ.
✔️ Альтернативный взгляд с учетом всех нюансов.

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


Уже завтра состоится Mad Devs Meetups: DevOps Night ⚡️

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

Cпикеры и доклады:
🎤 Иван Филянин: «Построение безопасной инфраструктуры для HIPAA и SOC2 с использованием Terraform и GKE в Google Cloud»
🎤 Денис Дудко: «Dockerfile: разбираем лучшие практики шаг за шагом»
🎤 Марат Бедиев: «PaaS: магия простого развёртывания приложений»

Ждем всех зарегистрировавшихся завтра, 12 сентября, в 18:00 по адресу: г.Бишкек, ​микрорайон Асанбай, 27/1 в ololo OrmonKhan. Конференц-зал на втором этаже.

Если вы еще не зарегистрировались, то у вас все еще есть возможность сделать это по ссылке. До встречи на ивенте!


Основные принципы ООП: полиморфизм в программировании

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

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

Какие преимущества принципа полиморфизма
📍 Позволяет добавлять новые объекты и операции без изменения существующего кода, интегрируя новые классы с общим интерфейсом в систему.
📍 Способствует уменьшению дублирования кода. Общий интерфейс/абстрактный класс позволяют описать общее поведение, а каждый класс реализует свою специфичную логику.
📍 Облегчает расширение функциональности, просто добавляя новые методы в классы, наследующие общий интерфейс.
📍 Позволяет использовать общие методы с разными типами данных, избегая дублирования кода.
📍 Обновление функциональности существующих классов упрощается: нужно лишь реализовать методы в новых классах с общим интерфейсом.
📍 Удобное тестирование через общие тестовые сценарии для классов с одним интерфейсом повышает качество и надежность программы.
📍 Позволяет абстрагироваться от конкретных реализаций, сфокусировавшись на общем поведении объектов и разделяя интерфейс и детали реализации.
📍 Позволяет разработчикам взаимодействовать через общие интерфейсы, не глубоко погружаясь во внутренние детали друг друга.

Какие есть виды полиморфизма в ООП
📍 Полиморфизм подтипов (наследования)
Данный вид основан на наследовании и позволяет объектам дочерних классов использоваться как объекты родительского класса, что делает код более гибким и облегчает добавление новых типов.
📍 Параметрический полиморфизм (обобщённое программирование)
Позволяет создавать обобщенные функции и классы, которые могут работать с разными типами данных без знания их конкретной природы.
📍 Полиморфизм в интерфейсах
Позволяет объектам разных классов реализовывать общий интерфейс и предоставлять схожее поведение без явного наследования.

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


HR Day #2 пройдет уже завтра!

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

Ждем всех зарегистрировавшихся в 10:00 в ololo Planet по адресу город Бишкек, Юнусалиева 80. А если вы еще не успели зарегистрироваться, то у вас есть последняя возможность сделать это сегодня по ссылке.


Как ускорить обучение с помощью парного программирования

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

Парное программирование — это метод написания кода вдвоем, где один пишет код, а другой наблюдает и дает советы, исправляет ошибки. Примерно каждые 20-30 минут они меняются ролями, обсуждая, помогая и учась друг у друга.

Где найти себе пару
Вы можете написать в чат группы\рабочий предложение поработать вместе. Либо вы можете попробовать найти себе пару в любом IT-коммьюнити. Другой вариант — поучаствовать в чемпионатах и конкурсах по спортивному программированию. Учтите, что лучше работать в паре новичок-опытный.

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

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

Как правильно проводить парное программирование для ускорения своего обучения
Убедитесь, что у вашей “пары” одинаковые стандарты кодирования. Не используйте парное программирование для слишком простых или слишком сложных задач, где требуется постоянное чтение документации/анализ.

Вот несколько правил:
📌 Меняйтесь ролями каждые 20-30 минут;
📌 Пока кто-то пишет код, второй участник наблюдает, а не занимается своими делами.
📌 Для первых разов ограничьтесь 1-2 часами кодинга.

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

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

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

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


Продолжается регистрация на DevOps Night ⚡️

Первый профессиональный митап для DevOps инженеров от Mad Devs состоится уже 12 сентября. Напомним, что мы приготовили для вас 3 доклада от наших экспертов, которые могут быть интересны инженерам разных уровней и направлений, но прежде всего тем, кто является или желает стать DevOps-ом.

Cпикеры и доклады:
🎤 Иван Филянин: «Построение безопасной инфраструктуры для HIPAA и SOC2 с использованием Terraform и GKE в Google Cloud»
🎤 Денис Дудко: «Dockerfile: разбираем лучшие практики шаг за шагом»
🎤 Марат Бедиев: «PaaS: магия простого развёртывания приложений»

Участие в митапе абсолютно бесплатное. Регистрация доступна по ссылке.

Не пропустите:
📅 12 сентября 2023 года
⏰ Начало в 18:00
📍 Бишкек, ​микрорайон Асанбай, 27/1, ololo OrmonKhan

До встречи на ивенте!


Продвинутая логика именования в Python 🐍

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

📌 Используйте PEP 8 (Python Enhancement Proposal) — документ, определяющий рекомендации и стандарты для улучшения качества кода. В нем описаны принципы, которые способствуют увеличению читаемости и понимания кода.

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

📌 Ограничивайте строки кода до 79 символов, но если выражение длинное, делайте перенос.

📌 Импортируйте только необходимые компоненты. И группируйте следующим образом: стандартные, сторонние библиотеки, самописные модули. Разделяйте группы пустыми строками.

📌 Следует добавлять пробелы до и после операторов (=, +, -, *, /) и после запятых, но не используйте лишних пробелов, чтобы не усложнять код.

📌 Имена в коде должны быть читаемыми, с разделением слов нижним подчеркиванием (например, record_count). Записывайте константы заглавными буквами с нижним подчеркиванием.

📌 Избегайте начала имени с цифры и использования зарезервированных слов в языке.

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

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

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

Кроме этого, вы можете:

📌 Использовать аббревиатуры.

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

📌 Опускать гласные в существительных.

📌 По умолчанию именовать столбцы по-английски.

Сегодня работа с именованием переменных постепенно становится проще. Если вам это дается нелегко, то вы можете спросить у удобного для вас ИИ.


Совсем скоро состоится HR Day#2!
И сегодня мы готовы поделиться подробнее о программе ивента и приглашенных спикерах. Итак,

Программа мероприятия:

🔹 10:00 - 10:30 - Регистрация участников, свободный нетворкинг.
🔹 10:30 - 11:10 - Открытие мероприятия и выступление Екатерины Блудовой на тему: “Как автоматизировать процесс найма без затрат на популярные CRM”+ QA
🔹 11:20 - 11:50 - Дарья Утешева: “Как слышать сотрудников: наш опыт проведения eNPS.” + QA
🔹 12:00 - 12:30 - Клара Абдукова: “Что такое оффбординг и зачем тратить на него время?” + QA
🔹 12:40 - 12:50 - Перерыв.
🔹 12:50 - 13:50 - Open Mic с Дарьей Утешевой (Head of HR в Mad Devs) и приглашенными спикерами, вместе разберем вопросы из зала и обсудим актуальные темы.
🔹 14:00 - Закрытие мероприятия.

Представляем вам наших приглашенных спикеров:

🎤 Ольга Давленбаева — Senior рекрутер EPAM с более чем 5 годами практики. Специализируется на технологиях JS, .NET, Mobile, DevOps, Data Engineering и других.
🎤 Элина Доконалиева — глобальный технический рекрутер в Muse Group. В HRM уже 5 лет, последние 3 года она занимается глобальным рекрутингом технических позиций.
🎤 Айгуль Абдрахманова - Talent Manager в Kanda CA и Senior HR Manager в Timely Soft. Своим опытом создания команд и корпоративной культуры в IT она делится уже более 7 лет.
🎤 Айпери Исаева - Senior рекрутер в MBank. В сфере HR уже более трех лет, деятельность включает не только подбор сотрудников, но и их успешную адаптацию в MBANK.

Напоминаем:
📅 6 сентября 2023 года
⏰ Начало в 10:00
📍 Бишкек, Юнусалиева 80, ololoPlanet

Не упустите шанс погрузиться в мир HR-практик, обменяться опытом и установить новые контакты! Регистрация для участия по ссылке.


Репост из: Матвей
"Ты не заслуживаешь своей должности. Ты не справишься с этой задачей. Твои достижения – это череда случайностей. Все всё равно узнают, что ты не на своем месте."

Считается, что синдром самозванца есть у 70% всех людей, и даже Альберт Эйнштейн был ему подвержен. Но что это такое? Модный тренд, который может помочь вам в работе? Или же проблема, о которой не стоит молчать? И можно ли от него избавиться?

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

🔗 https://youtu.be/NatXbPH1Tyw

Приятного просмотра!


Mad Devs Meetups: DevOps Night ⚡️

Мы продолжаем серию профессиональных митапов для Tech-специалистов и рады пригласить вас на наш первый DevOps Night, который состоится 12 сентября в Бишкеке!

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

Cпикеры и доклады:
🎤 Иван Филянин: «Построение безопасной инфраструктуры для HIPAA и SOC2 с использованием Terraform и GKE в Google Cloud»
🎤 Денис Дудко: «Dockerfile: разбираем лучшие практики шаг за шагом»
🎤 Марат Бедиев: «PaaS: магия простого развёртывания приложений»

Участие в митапе абсолютно бесплатное. Регистрация доступна по ссылке.

Не пропустите:
📅 12 сентября 2023 года
⏰ Начало в 18:00
📍 Бишкек, ​микрорайон Асанбай, 27/1, ololo OrmonKhan

До встречи на ивенте!


🤖 Новое в CSS и пользовательском интерфейсе: издание I/O 2023. Часть 2.

Собрали для вас все новинки CSS и UI из обзора от команды Google I/O. Ознакомиться с подробностями вы можете в оригинальной статье.

🔴 Сегодня мы поговорим о новинках в CSS Foundations.

📌 Вложенность CSS
Вложенность CSS, популярная в Sass, теперь доступна на веб-платформе. Это упрощает группировку и сокращает код. Вложенность распространяется на медиавыражения и даже на Container Queries.

📌 Стили с ограниченной областью действия (scoped styles)
Scoped styles создают собственное пространство имен в CSS. Они предотвращают конфликты стилей, позволяя указывать границы, в которых применяются стили. Можно использовать @scope, чтобы создать область видимости для элементов, например, .title внутри .card, избегая конфликтов с другими элементами на странице.

📌 Отдельные свойства transform
Теперь можно применять подфункции scale, rotate и translate отдельно в анимациях. Благодаря этому изменения в смещении, повороте или масштабировании могут происходить одновременно с разными скоростями в разное время в течение анимации.

🔴 Кроме того, мы рассмотрим новости в настраиваемых компонентах.

📌 Позиционирование якоря
Всплывающие окна (popovers) важны в диалоговых окнах и подсказках. Вы можете создать центрированную всплывающую подсказку с помощью функции «anchor()», используя ширину элемента-якоря для позиционирования всплывающей подсказки посередине по оси x относительно якоря.

📌
С помощью всплывающих окон (popover) и позиционирования якоря (anchor) вы можете создавать полностью настраиваемые выпадающие меню (selectmenus).

📌 Дискретные переходы свойств. ( Discrete property transitions)
Для плавных анимаций всплывающих окон веб-платформа создает механизм анимирования дискретных свойств. Это включает анимацию перехода на верхний слой и из display: none. Освещение новых переходов для всплывающих окон, меню и других элементов является важной задачей браузеров.

🔴 А также затронем обновления в группе взаимодействия.

📌 Анимации, управляемые прокруткой (scroll-driven animations)
Анимации, связанные с прокруткой, управляются положением прокрутки. Они создают интересные эффекты: параллакс, индикаторы прогресса, появление изображений. Новые JavaScript и CSS классы/API облегчают создание декларативных анимаций, включая плавные анимации вне главного потока.

📌 Просмотр перехода (View transitions)
View Transition API упрощает изменение DOM с анимированным переходом между состояниями. Это могут быть простые переходы между представлениями, но вы также можете контролировать, как должны переходить отдельные части страницы. Он также поддерживает поэтапное улучшение, предоставляя резервный вариант для неподдерживающих браузеров.

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


🤖 Новое в CSS и пользовательском интерфейсе: издание I/O 2023. Часть 1.

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

Собрали для вас все новинки CSS и UI из обзора от команды Google I/O. Ознакомиться с подробностями вы можете в оригинальной статье.

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

Сегодня разберем основные новинки в Responsive web-design.

📌 Container Queries и Style Queries
Container Queries — стандарт во всех современных браузерах. Они позволяют задавать стили дочерних элементов на основе размеров и стилей родителя. Более точны и работают с вложенными макетами. В Chrome 111 частично реализовано через CSS-свойства для стилей контейнера. Спецификация container query позволяет запросить стили родительского контейнера. Это лишь начало для Style Queries. В будущем планируются логические запросы для определения пользовательских свойств и range queries для стилей на основе диапазонов значений, уменьшая повторения кода.

📌 :has()
Селектор :has() — мощная новинка CSS, позволяющая стилизовать элементы на основе наличия дочерних элементов или их состояния в родительском элементе. Этот селектор значительно расширяет возможности CSS, делая компоненты более динамичными. Функция API :has() не ограничивает выбор только родителя. Вы также можете стилизовать дочерние элементы.

📌 text-wrap: balance
Логика не ограничивается лишь селекторами и стилями. В Chrome 114 появилась возможность балансировки переноса текста в заголовках через свойство text-wrap с значением balance. Типографика становится более гибкой.

📌 initial-letter
Это новое свойство CSS, улучшающее веб-типографику. Оно помогает управлять стилизацией буквиц в виде внутреннего начертания. Применяется через :first-letter с размером и отступом, зависящими от строк и погружения буквы в блоке.

📌 Dynamic viewport units
Для веб-разработчиков актуальна проблема точного размера элементов на всю высоту viewport. Единица измерения vh не учитывает сворачивание панели навигации, приводя к избыточной длине. Были представлены новые единицы измерения: svh, svw (малая высота и ширина) и lvh, lvw (большая высота и ширина), а также dvh, dvw (динамические) для точного контроля размеров.

Следите за обновлениями и не упустите вторую часть 🔔


Как мы принимаем решения? Мозгом!

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

📌 Процесс принятия решений разделяется на четыре этапа:

⚙️ Формулирование цели
Определение конечного решения и учет влияния внутренних процессов и внешних факторов. На данном этапе мозг анализирует внутренние органические процессы и воздействие внешних факторов, оценивая их потенциальное влияние на конечный результат.

⚙️ Альтернативы
Оценка ценности всех доступных альтернатив.

⚙️ Выбор
Сравнение и выбор наиболее эффективной альтернативы. Момент, когда различия между альтернативами становятся максимальными, называется порогом принятия решения.

⚙️ Реализация решения
Оперативная обработка выбранного решения и оценка полученного результата.

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

Этот процесс также можно назвать рациональным. Такой подход требует больше времени в отличие от эмоционального (интуитивного), который отличается автоматизмом и желанием получить результат «здесь и сейчас».

📌 Немного статистики:
- За 8 секунд до принятия решения человеком его уже принимает мозг.
- На 20% эффективнее принимают решения позитивно мыслящие люди.

📌 Что почитать больше о работе мозга при принятии решений?
📚Питер Уайброу «Мозг. Тонкая настройка. Наша жизнь с точки зрения нейронауки».
📚Даниэль Канеман «Мышление, быстрое и медленное».


Зачем нужен MISRA C — стандарт с огромным количеством запретов? 🚗

Стандарт MISRA был разработан ассоциацией MISRA (Motor Industry Software Reliability Association) в 1994 году в Великобритании. Изначальная цель его создания заключалась в повышении безопасности и надежности ПО для автомобилей, так как уже в начале 1990-х стало очевидно, что некачественный код может представлять опасность для пассажиров.

В 1994 году был выпущен первый стандарт "MISRA Guidelines for the Use of C in Vehicle-Based Software". Он определил правила для использования языка C в автомобильном ПО.

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

Таким образом, MISRA C — это набор промышленных рекомендаций и стандартов, разработанных для разработки программного обеспечения на языке C.

На сегодняшний день, MISRA широко используется. Среди компаний, использующих данный стандарт, можно назвать BMW, Ford, General Motors, Toyota, Airbus, Boeing, Siemens Healthineers, Philips Healthcare, Schneider Electric и многие другие.

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

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

❓ Как проверять код на соответствие MISRA

Существует несколько анализаторов кода, например:
📍 PC-lint/FlexeLint — популярный инструмент статического анализа для языка C и C++. Он поддерживает проверку соответствия нескольким версиям стандарта MISRA C.
📍 Polyspace — анализатор, который поддерживает проверку соответствия стандарту MISRA C. Он помогает выявлять проблемы, такие как неопределенное поведение или использование небезопасных функций.
📍 Klocwork — инструмент статического анализа, поддерживающий проверку соответствия стандарту MISRA C.
📍 Cppcheck — бесплатный и открытый инструмент статического анализа для C и C++. Исходно он не настроен на проверку соответствия стандарту MISRA, но может обнаруживать некоторые нарушения.

Также существуют специализированные компиляторы:

📍 IAR Embedded Workbench — компилятор, который предоставляет статический анализатор для поиска нарушений правил MISRA и предлагает решения для их исправления.
📍 MULTI IDE — интегрированная среда разработки (IDE) с компилятором, поддерживающим стандарт MISRA C. Она включает инструменты статического анализа, охватывающие правила MISRA и помогающие выявить потенциальные ошибки.

Соблюдение стандарта MISRA C — это только один из инструментов для создания безопасного ПО, но следование этому стандарту зависит от конкретного проекта. Компании могут создавать свои собственные правила, включая MISRA C, и сочетать их с другими методологиями и практиками, такими как тестирование или обзор кода.


Mad Devs Meetups: HR Day #2 ⚡️

Присоединяйтесь ко второму HR Day, который состоится 6 сентября в OloloPlanet!
HR Day - это уютная площадка для встреч HR-специалистов в IT, где можно делиться опытом, расширять профессиональные связи и вместе развивать индустрию.

В программе мероприятия:
🎤 Выступления экспертов Mad Devs - ведущих специалистов по найму, онбордингу и оптимизации процессов в HR-отделе:
- Клара Абдукова, HR Generalist
- Екатерина Блудова, Recruitment Team Leader
- Дарья Утешева, Head of HR Department

🎤 "OpenMic" - Разбираем вопросы из зала с приглашенными спикерами.

Участие в митапе абсолютно бесплатное. Регистрация доступна по этой ссылке: https://forms.gle/rDWaUUp6Th9afkUs5 

Не пропустите:
📅 6 сентября 2023 года
⏰ Начало в 10:00
📍 Бишкек,Юнусалиева 80, OloloPlanet

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



Показано 20 последних публикаций.