![](https://webcf.waybackmachine.org/web/20230317155554im_/https://habrastorage.org/getpro/habr/upload_files/035/868/89c/03586889cc08a6c69d95d034c2de7154.png)
Рассказываю как сберечь нервы разработчикам сайтов.
Сложно найти веб-тестировщика, который не знал бы о DevTools, но еще сложнее найти человека, который знал бы DevTools полностью. Помимо знакомой всем базовой функциональности, есть и множество менее известной. И ещё сильнее ситуация усложняется, если не ограничиваться Хромом, а рассматривать три браузера сразу.
Осенью на нашей конференции по тестированию Heisenbug Татьяна Дроздова поговорила именно о возможностях DevTools в Chrome, Firefox и Safari, и доклад очень понравился участникам. Сейчас мы готовим следующий Heisenbug, где Татьяна выступит с новым докладом о браузерных расширениях — а в ожидании этой конференции сделали для Хабра текстовую версию доклада с предыдущей. Далее текст идёт от лица Татьяны.
На текущем месте работы столкнулся с необходимости собирать Docker образы для сервисов написанных на Rust. Обычно в таком случае пишется Dockerfile, который внутри докера просто собирает контейнер и все. Но все оказалось не так однозначно: такая схема довольно неплохо работает, когда у тебя есть x86_64 Linux машина, но любой шаг в сторону и начинаются большие проблемы.
Все довольно неприятно уже на Intel MacBook машинах, докер поедает довольно много ресурсов с хоста, а еще возникают всякие странные приколы с монтированием файловой системы и правами доступа. Но настоящий ужас начинается на Макбуках с Apple Silicon процессорами, где обычной виртуализацией уже не обойдешься и можно часами ждать сборки простого сервиса через qemu. Можно решать эту проблему через сборку контейнеров в CI, но когда разработчиков много, а им надо часто что-то пересобирать, то там образовывалась очередь.
Поэтому я начал искать пути, а каким же образом можно избежать в общем-то не нужной виртуализации и в результате нашел довольно успешный и универсальный подход, которым и хочу теперь поделиться.
Наш спикер и экс-CTO Слёрма Марсель Ибраев почти год живёт и работает системным инженером в Абу-Даби. Мы поговорили с Марселем, и он поделился, как прошёл собеседование на иностранном языке, хотя его английский и сейчас далёк от идеала, а до переезда в ОАЭ был ещё хуже.
А ещё рассказал про квартиру в ЖК с бассейном на крыше и назвал зарплату, на которую не стоит соглашаться айтишнику, планирующему жить в Эмиратах.
Периодически я сталкиваюсь с проблемой - не хочу ставить лишний класс элементу внутри различных кнопок, ссылок и label-ов. Зачастую это текст, который нужно подсветить или галочка чекбокса или маленькая иконка.
Как же справиться с такой проблемой? Тут самым простым и понятным решением будет наследование. Возьмём код простой ссылки с иконкой, которую нужно анимировать:
cypress-plugin-api, написанный амбассадором Cypress Филипом Хриком (Filip Hric), представляет собой плагин для эффективного тестирования API. Представьте себе Postman, но в Cypress; этот плагин выводит на печать всю информацию о вызове API в пользовательском интерфейсе приложения Cypress, обеспечивая несколько преимуществ:
1) В cypress-plugin-api команда cy.api() работает также как cy.request(). Основное отличие заключается в том, что помимо вызова вашего API, cy.api() также печатает информацию о вызове API в вашем Cypress Test Runner.
2) Всю эту информацию можно просмотреть в виде time-travel (реверсивная отладка) snapshots.
3) Также формируется простая таблица для просмотра файлов cookie, сворачивания объектов данных JSON и массива, а также цветового кодирования методов в представлении пользовательского интерфейса и на таймлайне (временной шкале)
В активно развивающихся приложениях порой сложно обеспечивать масштабируемость, удобочитаемость и качество кода. Это частая ситуация, которая со временем может усложнить поддержку, выявление проблем и их устранение. Избежать подобных проблем помогает модуляризация приложений — подход, при котором кодовая база делится на небольшие специализированные, готовые к повторному использованию модули.
Меня зовут Кирилл Смирнов. Я технический лидер iOS команды в СберЗдоровье. Последний год наша команда плотно занималась улучшением инструментов разработки, в том числе модуляризацией. В этом материале я поделюсь опытом и рекомендациями по подготовке бизнеса (заказчиков, исполнителей, смежников и др.) к модуляризации iOS приложений.
Давайте поговорим об одиноких мужчинах, оставшихся, по тем или иным причинам, без женского внимания – об одиночках. На мой взгляд, это более подходящее слово чем инцел – в первую очередь потому, что не связанно с негативными коннотациями, сопутствующими последнему термину.
Сразу предупреждаю – это очень взрывоопасная тема. Несмотря на взрывное развитие социума, связанные с сексом вопросы до сих пор считаются табуированным, что приводит к появлению множества нелепых стереотипов. Этой статьёй я постараюсь развенчать некоторые из них. Так же я постараюсь дать некоторые практические советы – основанные на личном опыте. Всю свою молодость я был классическим, эталонным одиночкой. И только к тридцати годам сумел измениться, вырвавшись из замкнутого круга.
Для обсуждения мужского одиночества, я пригласил в себе в студию Никсель – яркую представительницу феминистического движения. Но не ту, настоящую Никсель, известную своей защитой прав женщин и сексуальных меньшинств, а Никсель вымышленную, персонажа собственного фантастического романа «Записки I-тетрамино»
Нужен ли каждому разработчику свой dev-сервер? Многие компании, опасаясь лишних расходов и проблем, даже не пробуют внедрить такой подход.
CarPrice развернул свои dev-серверы еще в те далекие времена, когда все работало на монолите. А после монолита пилил собственный сервис для оркестрации dev-серверов на базе Docker, затем разворачивал их на Minikube и постепенно пришел к Kubernetes.
На связи ведущий инженер отдела DevOps CarPrice Михаил Чешуин. В этой статье я расскажу, как мы запускали dev-серверы в разные периоды — и как все работает сейчас
В те времена, когда сервера ещё стояли в швейцарских подвалах, они могли обслуживать только статический HTML. В лучшем случае можно было загрузить целое изображение.
Теперь же веб-страница может быть полноценным приложением, которое получает данные из различных источников, выполняет манипуляции «на лету» и предоставляет полную интерактивность. Это значительно повысило полезность интернета, но ценой размера, пропускной способности и скорости. За последние 10 лет средний размер веб-страниц для десктопа увеличился с 468 КБ до 2284 КБ, что составляет рост на 388,3%. У мобильных устройств скачок еще более впечатляющий — от 145 КБ до 2010 КБ, то есть больше на 1288,1%.
В этом блоге я неоднократно обращался к теме астроинженерных сооружений, чрезвычайно интересующей Хабр. Навскидку вспоминаются материалы о сфере Дайсона (91 комментарий), космическом лифте (124 комментария) и обустройстве космической станции внутри астероида (212 комментариев). Все подобные идеи кажутся осуществимыми в обозримом будущем, так как мы привыкли экстраполировать успехи, уже достигнутые при сборке космических станций. Эпоха обитаемых космических орбитальных станций начинается в 1971 году и хронологически выглядит так:
В этой статье не будет конкретных практических кейсов и паттернов. Хоть практические примеры зачастую гораздо интересней каких-то абстрактных рассуждений, но общие принципы иной раз играют более важную роль. В разработке и других областях использование более совершенных инструментов не гарантируют успешной реализации проектов, а вот человеческие качества участников проекта как раз наоборот оказывают на его успех самое непосредственное влияние.
С выходом Spring 6 и Spring Boot 3 Java 17+ стала базовой версией фреймворка.
Поэтому сейчас самое время начать использовать компактные Java Records в качестве объектов передачи данных (DTO, Data Transfer Object) для различных вызовов баз данных и API.
Предпочитаете ли вы читать или смотреть, давайте рассмотрим несколько подходов к использованию записей Java в качестве DTO, которые применимы к Spring Boot 3 с Hibernate 6 в качестве поставщика персистентности.
1С:ERP — внедрять или подождать? Для нас это уже пройденный этап, поэтому я собрал распространенные опасения, что проект внедрения 1С:ERP затянется, вас разорит или банально провалится. И, соответственно, ответил на них — что делать, чтобы внедрение или миграция на 1С:ERP стали не болью, а как на сленге маркетологов, «историей успеха».
Как отмечалось в первой части, условно эволюцию языка Фортран можно разделить на классический период (Фортран I – Фортран IV), когда ведущую роль в разработке занимала фирма IBM, язык абсолютно доминировал среди программистов (особенно в США) и сохранял значительную преемственность с самой первой версией; и современный период (Фортран 90 – Фортран 2018), когда разработка велась в основном ISO, синтаксис и семантика языка были значительно осовременены, но, несмотря на это, язык был уже вытеснен на периферию инструментальных средств. Версия Фортран 77 занимает промежуточное положение между этими периодами.
В январе в Дубае состоялась крупнейшая международная выставка в сфере безопасности — Intersec-2023. В мероприятии приняли участие более 800 компаний со всего мира, включая ведущих производителей рынка турникетов. Разберем основные тренды представленного на стендах вендоров оборудования.
Всем привет! В связи с последними событиями в мире, вопрос отечественных разработок в сфере программного обеспечения и дистрибуции становится все более и более актуальным и нам все чаще поступают запросы по переезду с западных дистрибутивов на отечественные операционные системы. По законодательству государственные учреждения, корпорации с государственным участием, объекты критической инфраструктуры, например больницы и электростанции, обязаны использовать ПО из единого реестра российских программ. В свою очередь для коммерческих проектов важна минимизация рисков санкций на ПО, которые могут косвенно или напрямую повлиять на работу.
Именно поэтому было решено посвятить статью одному из таких продуктов. Речь пойдет о российской операционной системе РЕД ОС — дистрибутиве, построенном на базе ядра Linux и пакетной базе RPM. Со слов разработчиков дистрибутива, РЕД СОФТ опирается на опыт ведущих мировых сообществ Open Source и придерживается конвенций о наименовании пакетов и спецификации сборок.
Решающим фактором в выборе РЕД ОС является наличие свидетельства государственной регистрации программ ЭВМ и ее наличие в едином реестре российских программ.
В рамках статьи будет продемонстрировано развертывание простого Bitrix окружения на этой ОС, а именно развертывание стандартного LEMP (Linux, Nginx, MySQL, PHP) и установка дополнительных решений для работы проекта на данном дистрибутиве. Однако мы посчитали скучным описание установки стека LEMP только из родного репозитория, поэтому решили в рамках статьи развернуть СУБД MySQL 5.7, пакеты которой отсутствуют в репозиториях РЕД ОС. Как показывает наша практика, данная версия MySQL все еще остается одной из самых популярных для LEMP‑стек проектов.