Pull to refresh

Technotext

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

Reading time6 min
Views13K

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

Читать далее

Апериодическая решётка Яндекс Станции 2: история, 3D-модели и акустические эксперименты

Reading time9 min
Views33K

«Не бывает неинтересных задач, бывают неинтересные исследователи».
— Александр Михайлович Гуськов, профессор МГТУ им. Н. Э. Баумана


Привет, меня зовут Григорий Анненков, я тот, кто предложил и внедрил апериодическую решётку для Яндекс Станции 2. Она установлена под тканью, вокруг динамиков и других компонентов.

Кто-то скажет, что работать над формой решётки — никому не нужный перфекционизм. Для меня как для инженера это была интереснейшая задача, результаты которой (и я это сейчас докажу) повлияли на качество звука колонки, пусть и не настолько же сильно, как, скажем, подбор моделей динамиков. Только улучшение это условно-бесплатное, поскольку мы используем тот же объём пластика, разве что формы чуть сложнее привычных.

Под катом — история прототипирования, очень много картинок, гифок и акустических экспериментов. Трёхмерные модели решётки мы выложили на Гитхаб, подробности — в конце поста.
Читать дальше →

Современный Интернет не предоставляет механизмов предотвращения захвата аккаунтов. FIDO2 — классно, но нас не спасет

Reading time12 min
Views10K

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

Захват аккаунта может произойти на трех стадиях:

Читать далее

Module Federation: простая загрузка динамических модулей

Reading time8 min
Views16K

Всем привет! Меня зовут Евгений, я работаю frontend-разработчиком в платформенной команде. Моя задача — помогать другим frontend-разработчикам выполнять их задачи эффективнее. Мы в Delivery Club больше года назад внедрили подход с микрофронтендами, о чём писали здесь. Вы можете найти и много других статей с описанием этого подхода.

После выхода стабильной версии Webpack 5 мы решили использовать плагин Module Federation в качестве основного способа загрузки микрофронтендов. В этой статье расскажу, с какой проблемой столкнулся при загрузке динамических модулей и как её решил. Описывать будут на примере плагина Module Federation во всех деталях. Если вы слышите про этот инструмент впервые, то советую предварительно ознакомиться.

Читать далее

Система личного планирования в Notion. Эпизод 2 — Управление проектами

Reading time16 min
Views48K

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

Как вы уже поняли из названия - это вторая часть, описываемой системы. В первой части я подробно рассмотрел работу с инбоксом, вторая часть будет посвящена непосредственно "Управлению проектами". Обе части полностью независимы и могут читаться по отдельности, но я всё равно рекомендую с ней ознакомиться (ссылка на первую часть о инбоксе) и настроить один их способов наполнения инбокса.

Читать далее

Вредные советы при построении Аналитики (Data Lake / DWH / BI) – чего стоит избегать

Reading time5 min
Views6.8K

Всем привет! На связи Артемий, со-автор и преподаватель курсов Data Engineer, DWH Analyst.

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

Появилось желание в формате “вредных советов” обратить внимание на набор практик и подходов, которые могут обернуться весьма неприятными последствиями, а порой и вовсе дорого обойтись Вашей компании.

В публикации Вас ожидает:

- Использование select * – всё и сразу

- Употребление чрезмерного количество CTEs (common table expressions)

- NOT DRY (Don’t repeat yourself) – повторение и калейдоскопический характер расчетов

Читать далее

Переход от Платформы работы с данными к Платформе конфиденциальных вычислений

Reading time10 min
Views1.9K

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

Читать далее

Оптимизируй это: как сервисы автоматизации помогли нам упростить инфообмен между разными системами

Reading time7 min
Views2.7K

Меня зовут Максим Кирилов и я - главный инженер в блоке обеспечения и контроля качества выпуска изменений в «РСХБ-Интех» (IT-компании АО «Россельхозбанка»). Наше подразделение специализируется на ЕСПП (Единой Системе Приёма Платежей), а непосредственно моя команда занимается тестированием. В этой статье я расскажу о том, как автоматизация помогла нам оптимизировать рабочие процессы и какие именно инструменты мы для этого использовали.

Читать далее

Do It Yourself or die? Объясняем, что делать с Open Source для «импортонезависимости» на гифках из Футурамы

Reading time11 min
Views5.5K

Религиозные противостояния GNU против Microsoft и Open Source против проприетарного ПО шли несколько десятков лет. Казалось, что тема Open Source уже раскрыта со всех сторон, каждый занял свою позицию, интерес к этому конфликту сошел на нет: Linux так и не убил Windows, а Билл Гейтс не завладел миром. 30 лет назад оптимисты предсказывали, что проприетарное ПО умрет и весь софт станет открытым — всего этого так и не произошло.

Но 2022-ой год для ИТ-отрасли России проходит под девизом «DIY or DIE», и в этой парадигме тема Open Source стала снова актуальной и дискуссионной. Мы в DataOffice Ростелекома используем ПО с открытым исходным кодом для решения задач по работе с данными с 2017 года, и с тех пор мы набили много шишек и накопили экспертизу в вопросах работы с Open Source. В этой статье мы делимся своими размышлениями, опытом и любимыми гифками из Футурамы.

Читать далее

Продукт API

Reading time12 min
Views5K

Это черновик двух первых глав раздела «API как продукт» моей книги о проектировании API.

Когда мы говорим об API как о продукте, необходимо чётко зафиксировать два важных тезиса.

Читать далее

Впервые на проекте: как не потерять себя, или записки юного тестировщика

Reading time5 min
Views10K

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

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

Для начала пара слов обо мне. Это поможет лучше понять и прочувствовать то, о чём я говорю. Меня зовут Наталья, мне 23. В прошлом году я получила степень бакалавра в сфере Информационных систем и технологий. После этого около полугода я искала себя и наконец в феврале 2022 пришла в IT.  Сейчас я младший тестировщик в ГК Юзтех. Три месяца я обучалась по внутрикорпоративной программе менторства и только после этого присоединилась к настоящему проекту по разработке внутреннего веб-продукта “Программа лояльности”.

Читать далее

GraphQL в мобильной разработке. Пишем клиент для iOS

Reading time17 min
Views3.8K


Доброго времени суток! С вами Анна Жаркова, ведущий разработчик компании Usetech, и мы продолжаем нашу серию статей, посвященных работе с технологией GraphQL  при разработке мобильных приложений.

В предыдущих частях мы говорили о подготовке облачного GraphQL бекенда на Hasura и подключении GraphQL API к Android клиенту. Теперь настал черед iOS мобильного приложения.

Для работы нам понадобится библиотека Apollo GraphQL для iOS:

www.apollographql.com/docs/ios

github.com/apollographql/apollo-ios

Наше приложение абсолютно аналогичное Android и включает в себя такие же по функционалу экраны:

— вход

— регистрация

— лента постов

— экран создания и редактирования поста

— экран с информацией о текущем пользователе.

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

Ищем боттлнеки за 30 минут с помощью Jaeger трейсов

Reading time8 min
Views5.4K

Всем привет! Меня зовут Артем, я бэкенд-разработчик в команде клиентского бэкенда. Одна из важных частей моей работы — это снижение латенси нашего бэкенда. История, о которой я расскажу в статье, как раз и началась с одной из таких задач. Звучала она следующим образом:


В одном из эндпоинтов чекаута 99 перцентиль латенси пробивает SLO. Нужно это исправить.

Соответственно, возникает вопрос: как максимально быстро и точно найти причину тормозов очень низкочастотного запроса на 99 перцентиле и что делать, чтобы ее устранить? Ответом на него стала библиотека для полуавтоматического поиска узких мест в распределененных системах. Ссылка на гитхаб будет в конце статьи.

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

Нужен бесплатный SSL-сертификат? Легко

Reading time3 min
Views204K

Если вам нужен SSL-сертификат, но вы не являетесь специалистом в веб-технологиях, то эта заметка для вас. Описан простой способ выпуска базового SSL-сертификата Let’s Encrypt в ручном режиме, на локальном компьютере с Windows, с помощью приложения Certbot. Этот способ позволяет получить файлы SSL-сертификата в папку на своём локальном компьютере, после чего можно установить сертификат на свой хостинг.

Потребность в SSL-сертификатах возникла у меня в связи с тем, что срок старых истёк, а создать новые оказалось невозможным из-за возникших ограничений на доменные зоны RU и РФ. Если у вас такая же проблема или вам просто надоело искать веб-сервис для выпуска SSL-сертификатов, то эта заметка вам поможет.

Поскольку я пока не знаю наилучшего пути, то ниже просто опишу ту последовательность действий, которую сам выполнил и которая позволила мне создать SSL-сертификаты для десяти своих доменов (в том числе в зонах RU и РФ), а значит и вам этот способ может помочь.

Читать далее

Как построить управление анимациями персонажа в Unigine

Reading time5 min
Views2.6K

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

Читать

Как искусственный язык стал живым: история эсперанто

Reading time5 min
Views25K

Эсперанто – плановый язык, созданный в 1887 году Людвигом Заменгофом для международного общения и известный тем, что содержит 16 правил и ни одного исключения. 140 лет спустя он все еще жив, его словарный запас вырос как минимум в 17 раз (с 904 корней при создании до 17000 корней в словаре Plena Ilustrita Vortaro издания 2020 года), им владеют по разным подсчетам от десятков тысяч до миллионов людей по всему миру, включая тех, кто говорит на нем с рождения. Как изменился язык? Утратил ли он свою простоту? Понял бы Заменгоф современных эсперантистов? Сейчас разберемся.

Очевидно, что словарный запас языка сильно расширился; прирост в 1600% за 140 лет – это в разы больше, чем бывает у естественных языков, но сделаем скидку на то, что время бурное, язык только появился, а 900 корней все же маловато даже для повседневного общения. Как и в естественных языках, слова обычно возникает так: много человек придумывает слово для обозначения какого-то понятия, оно кому-то нравится, им начинают пользоваться другие, какое-то время эти варианты сосуществуют, потом один побеждает, слово закрепляется в речи и далее попадает в словари. Иногда слова заимствовали, но чаще всего пытались использовать уже имеющиеся в эсперанто элементы. Рассмотрим, например, компьютерную лексику с корнем -ret-:

reto – сеть

Interreto – интернет

eksterreta (прилагательное) – офлайн: например, офлайн-версия

retejo – сайт

retejestro – администратор сайта

retumi – сидеть в интернете

retumilo – браузер

retumejo – интернет-кафе

enretigi – выложить в интернете

Читать далее

Приоритизация бэклога. Зачем нужны фреймворки и как работать по ICE — опыт менеджера с 5-летним стажем

Reading time11 min
Views13K

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

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

Читать далее

Подсчёт слов

Reading time24 min
Views15K

В статье рассказывается о решении задачки с собеса в одну российскую IT-контору.

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

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

Читать далее

Как Яндекс перепридумал поиск для разработчиков

Reading time9 min
Views39K

У вас бывало, что открываешь поиск, ищешь что-то по программированию и не находишь ответ? Тогда эта история для вас. 

Меня зовут Алексей Степанов, я руковожу службой исследований машинного обучения поиска Яндекса. Сегодня я расскажу непростую историю. Она про проблему, до решения которой у нас слишком долго не доходили руки. Из поста вы узнаете, почему стандартная метрика качества поиска не учитывала интересы разработчиков и как мы её улучшили. Расскажу про новую нейросеть CS YATI, обученную понимать таких же айтишников, как и мы. Ну и про грабли на нашем пути тоже расскажу, куда без них.

Этот пост основан на моём докладе с Data Fest 2022, но не во всём (мой коллега Максим Хурсанов @Maxim2207 существенно расширил историю).

Читать далее