Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 1 hour 43 min ago

Статический анализатор подталкивает писать чистый код

Tue, 04/16/2024 - 19:34


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

Читать дальше →

Reflection в iOS: как посмотреть содержимое любой сущности

Tue, 04/16/2024 - 19:22

В Swift, как и во многих других языках программирования, есть возможность получать информацию о структуре объекта в Runtime. Для этого в языке есть специальный механизм — Reflection. С его помощью можно просматривать содержимое любых сущностей, не зная о них абсолютно ничего.

Меня зовут Светлана Гладышева, я iOS-разработчик в Тинькофф. Расскажу, какие возможности есть у Reflection в Swift, в чем ограничения и подводные камни. Рассмотрим его применение на примерах и узнаем, для чего его можно использовать в повседневной работе. А еще поговорим о том, как можно отключить Reflection в проекте и на что это может повлиять.

Читать далее

Простой гайд для предпринимателей: купить готовое решение или уйти в собственную разработку?

Tue, 04/16/2024 - 19:10

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

Читать далее

Медленная сборка кода с .NET Roslyn: как найти и устранить причину

Tue, 04/16/2024 - 18:33

.NET разработчики знают, что такое ждать сборки кода. Работать при этом невозможно: пока не увидишь, как обновится приложение, — не перейдешь к следующему шагу. А переключиться на другую задачу за это время не успеешь. Получается, если в день переписать код 5 раз, можно потерять полчаса при сборке, а то и больше.

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

Читать далее

Книга: «Кибербезопасность: главные принципы»

Tue, 04/16/2024 - 18:14
Привет, Хаброжители!

С 1970-х годов InfoSec-специалисты постепенно совершенствовали безопасность, даже не задумываясь, в правильном ли направлении со стратегической точки зрения они движутся. Рик Ховард утверждает, что нет. Общее направление само по себе было ошибочным, но идейные лидеры в этой области так и не смогли докопаться до корня проблемы. Идя по стопам таких авторитетов, как Декарт и Илон Маск, автор обосновывает главный принцип кибербезопасности и определяет стратегии и тактики его реализации. Читать дальше →

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

Tue, 04/16/2024 - 18:12

Привет, Хабр! Меня зовут Михаил Фандуберин, я Product Owner, отвечающий за авторизацию и онбординг в KION. В прошлом августе я написал статью о повышении конверсии регистраций на примере страницы входа онлайн-кинотеатра KION. Сегодня расскажу о другом проекте — работе со стартовым экраном приложения для улучшения пользовательского опыта и оптимального перераспределения метрики смотрения. Подробности — под катом.

Читать далее

Термоэлектрические генераторы

Tue, 04/16/2024 - 18:00
Картинка WangXiNa, Freepik

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

Тем не менее, существует отдельный вид генераторов, которые не содержат в своём составе движущихся механических частей — так называемые «термоэлектрические генераторы». Читать дальше →

DECT: как покрыть беспроводной телефонией склад размером с три футбольных поля

Tue, 04/16/2024 - 17:40

DECT — стандарт беспроводной IP-телефонии, альтернатива Wi-Fi-телефонии и сотовой связи. У него много применений, но для покрытия больших площадей со сложной планировкой (для ритейла, производства) он вне конкуренции.

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

Читать далее

Предвестники шторма в малом и среднем бизнесе, и в государственных структурах среднего размера

Tue, 04/16/2024 - 17:21

Для лиги лени: много лет в российском ИТ продвигалась политика «Умные нам не надобны. Надобны верные». В связи с этим в российском интернете уже сейчас много интересных моментов и криков боли – свободные мидлы кончились, а джуны не прыгают за табличкой 'морковка будет завтра'. Потому что морковки для них уже давно нет, осталась только табличка, и джуны это знают.

Посвящается моему бывшему руководителю Анатолию А., который на прошлой неделе (в апреле 2024 года) узнал, что контейнеры при настройке по умолчанию вовсе не предназначены для хранения чего-либо, и что скорость дисковых операций контейнера даже с подключенным локальным NVME несколько ниже, чем он представлял.

Читать далее

Шардирование (sharding). Эпизод 2: шардирование по гео

Tue, 04/16/2024 - 17:05

Viam supervadet vadens (дорогу осилит идущий)

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

Давайте разбросаем осколки по всей земле?

Разбрасываем?

Победить хаос в документации: почему мы создали свой продукт для Docs-as-a-Code

Tue, 04/16/2024 - 15:40

Привет, Хабр! В 2020 году компания решила вывести на рынок линейку продуктов Platform V. Для них нужна была документация, которая на тот момент велась в Confluence. Нам предстояло проделать сложную и дорогую работу: собрать документы на нужные версии, привести тексты к единому стилю и терминологии, оформить как комплект документации от поставщика ПО. Расскажу, какие инструменты мы в СберТехе использовали, почему перешли от документирования в Confluence нa Docs-as-a-Code и создали инструмент Platform V GetDocs, который помогает эффективно писать документацию.

Читать далее

Как обучают GPT

Tue, 04/16/2024 - 15:22

Привет, Хабр! Меня зовут Родион Уколов, я занимаюсь искусственным интеллектом в компании Friflex. Мы помогаем компаниям внедрять модели машинного обучения и развиваем свои цифровые продукты.

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

Читать далее

Тестирование рассылок: зачем проводить и что проверять в первую очередь

Tue, 04/16/2024 - 15:05


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

Яндекс запустил Нейро. Рассказываем, как он работает

Tue, 04/16/2024 - 15:01

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

Меня зовут Андрей Сюткин, и я отвечаю за ML-трек в Нейро. В этой статье покажу, как выглядит архитектура Нейро и как формируются ответы на технологическом уровне. Ну и, конечно же, поговорим о нейросетях, в том числе о YandexGPT 3, без обучения которых новый сервис просто не увидел бы свет.

Читать далее

Графика древности: пятая волна. Аутсайдеры и современность (часть 4/4)

Tue, 04/16/2024 - 14:00

В предыдущих частях этого лонгрида мы узнали всё про лидеров пятого поколения игровых консолей и про параллельную реальность 3D-ускорителей на персональных компьютерах. Казалось бы, тема исчерпана. Но не спешите расслабляться. В заключительной, самой объёмной части статьи мы узнаем многое про аутсайдеров поколения, а также о современном наследии, которое оставила после себя пятая волна.
Читать дальше →

Денежный вопрос: обсуждаем затраты на Bug Bounty с Лукой Сафоновым

Tue, 04/16/2024 - 13:55

Награда за обнаружение багов разного уровня зависит от сектора и типа уязвимости. Активнее всего с программами Bug Bounty работают IT-компании, онлайн-сервисы, сфера услуг, торговля, финансовые организации и блокчейн-проекты. Средняя сумма вознаграждения может составить: 

критический уровень опасности — $40 000;
высокий уровень опасности — $20 000;
средний уровень опасности — $5000;
низкий уровень опасности — $0.

В одной из статей мы уже писали, что Bug Bounty — это не разовая услуга, которую можно приобрести и забыть, как в случае с пентестом. Компании должны понимать, что внедрение, поддержка и развитие этой практики обойдутся им недешево. Так, средняя стоимость годовой подписки на услуги платформ Bug Bounty начинается с $16 000 за рубежом и стартует с 600 000 ₽/год в России.

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

Читать далее

Хороший парень, плохой код: доброта дороже денег?

Tue, 04/16/2024 - 13:55

Привет, Хабр!

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

Читать далее

Безопасность в Docker: от правильной настройки хоста до демона

Tue, 04/16/2024 - 13:44

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

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

Сегодня сложно представить современное приложение без технологий контейнеризации. Поэтому я решила подробно изучить вопросы безопасности в этом направлении и собрала рекомендации, как лучше подойти к работе с Docker-платформой. Подробности под катом! Читать дальше →

5 полезных JS-библиотек для анимации, которые могут пригодиться в работе

Tue, 04/16/2024 - 13:34

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

Читать далее

Локальный веб-сервер для разработки с помощью Docker

Tue, 04/16/2024 - 13:31


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

Если это Senior Full Stack разработчик с опытом администрирования Linux, то установка и настройка конфигов Nginx, PHP-fpm, MariaDB для него не будут проблемой (а может и с Docker даже знаком?). 

Разработчик Middle уровня (особенно без опыта с backend) возможно пользуется одним из готовых решений под Windows/MacOS.

Junior верстальщик, в свою очередь, раньше не запускал приложение работающее на PHP на своем компьютере вообще, и вот-вот попробует в первый раз.

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

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

Читать далее

Who's online

There are currently 0 users and 1 guest online.