Социальные сети Рунета
Пятница, 19 апреля 2024

[Перевод] Как использовать CSS ::before и ::after для создания пользовательских анимаций и переходов Как сделать плавный анимированный переход на сайте без использования специальных библиотек? Урок использования псевдоэлементов CSS для создания эффектов: от анимированной кнопки до карточки профиля. Подходит новичкам. Читать далее

Мой опыт проведения курса по Android Привет! Меня зовут Мялкин Максим, я занимаюсь мобильной разработкой в KTS. В 2019 году я вместе с платформой для онлайн-обучения Skillbox начал делать курс для начинающих мобильных разработчиков. На создание курса у меня ушло полтора года. Надеюсь, мой опыт поможет спец...

Gatling. Тестирование JDBC Привет! Меня зовут Александра, я работаю в отделе тестирования производительности Тинькофф. Этот текст — часть цикла статей, посвященных тестированию производительности с помощью инструмента Gatling. В предыдущей статье мы с командой рассказали о работе Gatling с HTTP. Еще м...

Дилемма моделирования в рамках Data Vault/Anchor Modeling: объект или событие Всем привет :) Меня зовут Голов Николай, я строю платформу данных на основе Snowflake и Anchor Modeling в ManyChat.В этой статье я уже подробно рассказывал, как решал аналогичную задачу  в Авито, используя Vertica и методологию Anchor Modeling. В комментариях ...

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

Альтернативное использование инструмента для нагрузочного тестирование Apache JMeter Всем привет! Меня зовут Андрей Попов, я Middle QA Engineer Auto-test в Утконос Онлайн. В этой статье хочу поделиться, почему мы выбрали Apache JMeter для нагрузочного тестирования, как выглядит этот инструмент, для чего он был нам нужен, и как мы используем его для нестандар...

Как настроить «Планфикс» с нуля и почему именно он Статья будет интересна бизнес-аналитикам, project-менеджерам, тимлидам, CEO начинающих студий по разработке и всем причастным и интересующимся. Hola, Amigos!Меня зовут Артем, и я TeamLead компании Amiga. Сегодня расскажу, как мы настроили процессы взаимодействия с коман...

[Перевод] Вёрстка в 2022. Часть 1: Теория "Разработчик – это человек, который переводит мысли заказчика на язык машины" @mikita_duИдея статьи появилась год назад, думал назвать «Вёрстка в 2021», но как-то затянулось… Весной 2021 года Microsoft объявила, что с 15 июня 2022 года прекращается поддержка IE11 (да, не для...

Почему я против enum Меня зовут Саша Терентьев, я из команды ленты ВКонтакте. В этой статье поделюсь мыслями о проблемах кода, где используются enum и сопоставления типов. Часто встречаю такой код в проектах, ресурсах, примерах. Мы обсуждали это с кол...

Как за час построить CI/CD для высоконагруженного проекта в облаке SberCloud.Advanced Привет, Хабр! Меня зовут Кирилл Шеховцов, и я технический лидер в SberCloud. Сегодня расскажу, как быстро интегрировать пайплайн Continuous Integration/Continuous Delivery (CI/CD) и продуктовый подход к проектированию приложений в облаке SberCloud.Advanced. Эта обзорная стат...

Behave test recorder. Запись сценариев автотестов Привет! Меня зовут Степан Лущий, я – тимлид команды тестирования компании «БАРС Груп». Мы занимаемся созданием автоматизированных тестов (автотест), инструментов для их написания, а также развитием инфраструктуры автотестирования. В этой статье я расскажу, как мы разработали...

Gatling. Тестирование Kafka Привет! Меня зовут Александра, я работаю в отделе тестирования производительности Тинькофф. Мы продолжаем наш цикл статей, посвященных работе Gatling с различными протоколами. Ранее мы уже рассмотрели работу с HTTP, JDBC и gRPC. В этой статье поговорим о работе Gatling с Kaf...

Хранители данных: как устроена работа с DWH в Lamoda Всем привет! Меня зовут Юлия Скогорева, я системный аналитик в команде Center of excellence в Lamoda, которая входит в дирекцию данных и аналитики.Если бизнесу нужны какие-то данные для принятия важных решений, то на помощь приходит наша команда. Мы тщательно изучаем множест...

Автоматизация процесса релиза Всем привет! Меня зовут Даниил Хейфец, и я QA Lead мобильного направления в hh.ru. В этой статье я расскажу, как мы автоматизировали flow релиза мобильных приложений, как разбили его разработку на этапы, какие инструменты использовали и с какими проблемами столкнулись. ...

Ментор в беде не бросит: как онбордить новичка, чтобы он тестил в свое удовольствие Всем привет. Меня зовут Ильмир, я QA Manual Engineer в inDriver. В статье расскажу о своем опыте менторства. Я занимаюсь этим уже больше 2 лет и хочу поговорить про этапы, которые могу выделить как основные. В статье будут затронуты не проблемы методик и инструментов дл...

Blazor: Нужен ли нам .Net в вебе? Всем доброго времени суток, меня зовут Михаил. Я .net разработчик в компании Orion Innovation. Сегодня речь пойдет про наш опыт создания веб приложения при помощи Blazor. Обсудим с какими проблемами мы столкнулись при разработке и почему вообще решили использовать Blazor.Ста...

Как работает создание и управление маркетинговыми кампаниями Спортмастера и причём здесь Oracle Приветствую! Меня зовут Михаил, я разработчик Oracle в ClubPro (Клубная программа, программа лояльности Спортмастера). В команде разработки моё основное направление связано с развитием Campaign Management. Campaign Management (далее для краткости Campaign) предназначен ...

DevOps: о самом важном. Часть 1. Про то, о чем мало говорят Привет! Меня зовут Каро Манасян, я Chief DevOps Officer Московской биржи, и сегодня мы поговорим про… DevOps. Вокруг этого слова поднят такой уровень хайпа, что каждый интерпретирует его, как хочет. То ли это методология, то ли культура, то ли человек… Однако, на данный моме...

Как правильно верстать в 2022 году. Часть 1 Меня зовут Николай, я Frontend-разработчик IT-компании Relog. Хочу рассказать о самых распространённых ошибках в вёрстке современных проектов.Дело в том, что лишь малая часть современных фронтендеров обращает внимание на работу с HTML и CSS, предпочитая готовые решения, врод...

CSS в Oxygen XML для гуманитариев Всем привет!Меня зовут Татьяна и я старший технический писатель в компании Orion Innovation. В нашей уже немаленькой команде мы используем довольно обширный стэк инструментов и технологий, но наиболее востребованы и удобны в работе - XML-редакторы с поддержкой DITA архитекту...

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

DWH как продукт: платформа, инструменты, масштабирование команды Меня зовут Женя, в Авито я руковожу юнитом DWH. Мы отвечаем за работу с аналитическим хранилищем, которое помогает нашим сотрудникам принимать решения, основанные на данных. В статье расскажу, как продуктовый взгляд помогает нам развивать DWH и быть полезнее для по...

Правки на мёрдже: зачем редактору GitLab Всем привет! Меня зовут Наталья Которева, я редактор в Яндекс.Практикуме. В этой статье я расскажу, как мы создали обучающий курс в GitLab. Да-да, вместо текстовых документов.Вообще сложно представить, как можно подружить git и редактуру, а главное, зачем. Есть же много пров...

Создание внутреннего мобильного приложения «На связи»: от идеи до визуального решения Меня зовут Лена, я дизайнер интерфейсов в Tele2. И я расскажу о создании внутреннего корпоративного мобильного приложения «На связи» для сотрудников Tele2 – его проектировании и выборе визуального решения. Пройдусь по основным этапам работы над digital-продуктом с точки...

Альф, переведи мне на телефон миллион рублей Или нюансы тестирования (и разработки) голосового помощника в банковском приложении.В нашем приложении Альфа-Мобайл с октября 2021 работает голосовой помощник Альф (Alf). Он умеет оплачивать счета, переводить на телефон и озвучивает курс доллара голосом Геральта — Всеволода ...

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

[Перевод] Путь к пониманию декораторов в Python Прим. Wunder Fund: В этой статье разбираемся, что такое декораторы в Python, зачем они нужны, и в чем их прикол. Статья будет полезна начинающим разработчикам.Материал рассчитан на начинающих программистов, которые хотят разобраться с тем, что такое декораторы, и с тем, как ...

Поиграть в игру = протестировать игру. Почему это утверждение неверно? Салют Хабровчане. Сегодня я хочу затронуть чуть глубже топик игрового тестирования, ввести в курс дела начинающих в этом деле тестировщиков, развеять стереотипы вида "поиграй сам, дай другу поиграть, вот и всё тестирование. А что ещё нужно, другу же нравится!", а также расск...

Как завести XCRemoteCache, или Кэши из топора Всем привет! Меня зовут Федоров Василий, я руковожу группой Mobile.Speed в компании Aliexpress Россия. Мы стараемся облегчить жизнь разработчиков, пишем утилиты, настраиваем CI, складируем метрики в Grafana — в общем отвечаем почти за все, что влияет на time-to-mar...

Что нужно знать о вёрстке под ретину Ретиной называют дисплеи Apple с повышенной плотностью пикселей на квадратный дюйм. Впервые о них заговорили в 2010 году, когда Стив Джобс презентовал iPhone 4. Новый на тот момент смартфон получил экран с плотностью 326 PPI — в д...

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

Обзор решений для навигации в iOS Всем привет! Меня зовут Тимур, я – iOS разработчик в hh.ru. В этой статье поговорим о фреймворкинге навигации в iOS. Я расскажу кулстори о популярных и не очень решениях и их преимуществах, а еще о том, как мы искали фреймворк мечты среди этой смертной любви. Поехали! Читать...

[Перевод] Работа с API на языке R, введение в пакет httr2 Цель этой статьи - показать вам основы httr2. httr2 - переосмысленная реализация пакета httr, т.е. интерфейс для работы с HTTP запросами на языке R.Из статьи вы узнаете, как создавать и отправлять HTTP-запросы и работать с полученными HTTP-ответами. httr2 разработа...

DevOps Cookbook: как построить процессы с нуля Привет! Меня зовут Мария, я DevOps-инженер в компании Wrike. В этой статье расскажу о работе DevOps-инженеров с командами разработчиков: как выглядит процесс взаимодействия, из каких этапов состоит и как построить его с нуля. Статья будет полезна, если вы часто меняете проек...

Автоматизируем iOS-сборку c помощью Jenkins Всем привет! Меня зовут Иван Чечиков, я QA-инженер в МТС Digital, работаю в проекте WASD.TV. В этой статье я расскажу о своем способе автоматизации iOS-сборки в TestFlight через Jenkins. С помощью такого метода можно настроить автоматизацию как локально, так и на удаленной м...

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

Какой JS-фреймворк выбрать новичку — мнения шести экспертов Привет! Меня зовут Дима Чудинов, я наставник на веб-факультете Яндекс.Практикума, Head of Frontend в СберМаркете. В первой статье о JS-фреймворках я рассказал о самых популярных из них: Angular, React, Vue и других. В комментариях опытные разработчики спорили о том, какой ...

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

[Перевод] Как писать условия в JSX Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в

Python — серьезный язык для разработки backend Всем привет! Меня зовут Аникин Денис, я тимлид в команде Chat в Райффайзенбанке. А также представитель внутреннего Python-сообщества, так называемый «community lead» (об этом как-нибудь в другой раз). В этой статье я хотел поговорить про отношение к Python среди разработчико...

Новая документация Docsvision ч. 2 — Antora Привет всем читающим! Меня зовут Владимир, я - технический писатель в компании Docsvision и я здесь, чтобы опубликовать вторую часть статьи и надрать задницу всем, кто ставил дизлайки к первой части. Статью вы можете найти ниже.В первой статье я рассказал, как мы выбирали SS...

7 принципов Agile из Agile Extension от IIBA Принципы — это те рельсы, которые направляют людей по жизненному пути. Международный Институт Бизнес-Анализа (IIBA) определил 7 главных принципов, которые указывают бизнес-аналитикам как работать приносить больше пользы команде и клиенту, делая меньше работы с большим к...

Автоматизируем работу с ArchiMate в CI пайплайнах В этой статье я дам краткую вводную, что такое Archi и ArchiMate. Расскажу о коллективной работе с Archi используя расширение coArchi, после чего предоставлю контейнер позволяющий автоматизировать работу по созданию HTML и PDF документов с ArchiMate моделями. Завершим же, со...

OAuth в мобильных приложениях Привет! Меня зовут Максим, я занимаюсь мобильной разработкой в KTS.Ни один сервис не обходится без логина. Часто в мобильных приложениях требуется интегрировать вход через сторонние соцсети — например, зайти через Google или VK. А при обучении мобильной разработке используют...

Реляционные СУБД: история появления, эволюция и перспективы Привет, Хабр! Меня зовут Азат Якупов, я работаю Data Architect в компании Quadcode. Сегодня хочу поговорить о реляционных СУБД, которые играют важную роль в современном IT-мире. О том, что они собой представляют и для чего нужны, понимают, вероятно, большинство читателей.Но ...

Performance review как инструмент для оценки результатов работы и развития сотрудников Меня зовут Артём Сусеков, я менеджер разработки в Miro. Расскажу, как мы пришли к справедливой оплате и прозрачному обсуждению эффективности сотрудников команд продуктовой разработки.Статья будет полезна, если вы задаётесь вопросами: •Как оценить вклад каждого сотрудник...

Потратить миллион, чтобы нанять двух джунов: профит и около него Привет, меня зовут Валерий Антонов, я руковожу направлением Java в Уральском банке реконструкции и развития (УБРиР). Осенью у нас окончилось обучение в двух школах Java. По итогам работы мы приняли в штат двух учеников школы Java, а несколько сотрудников банка сменили с...

«Я больше не могу»: 5 причин эмоционального выгорания программиста и что с этим делать  Андрей Н. начал кодить 8 лет назад, и готов был работать сутками напролет, набирая «шабашки» на выходные, а в свободное от работы время изучая новые фреймворки. Работа приносила удовольствие, он наконец-то нашел себя! Спустя 8 лет Андрей с трудом заставляет с...

[Перевод] Как проверить, зависит ли Java проект от уязвимой версии Log4j Если ваше приложение использует Log4j с версии 2.0-alpha1 до 2.14.1, вам следует как можно скорее выполнить обновление до последней версии (2.16.0 на момент написания этой статьи - 20 декабря).Log4j уязвимость отслеживаться как CVE-2021-44228 (также известный ...

Джентельменский набор для создания WPF-приложений Данная статья представляет собой набор рецептов по созданию WPF приложений. Поэтому скорее всего она будет интересна начинающим разработчикам. В материале описаны основные моменты использования таких пакетов как ReactiveUI, Material Design in XAML Toolkit, LiveChart2. Пример...

Загрузка stage слоя DWH. Часть 1 Доброго дня. Меня зовут Иван Клименко, я разработчик потоков обработки данных в компании Аскона. В этом цикле статей я расскажу опыт внедрения инструмента Apache Nifi для формирования DWH. Данная статья посвящена первому этапу внедрения Apache NIFI - начальным потокам в...

Как прогнозировать временные ряды с ETNA Меня зовут Андрей, я разработчик библиотеки ETNA в Тинькофф. В статье расскажу, как быстро и легко анализировать временные ряды с помощью ETNA, зачем временным рядам столько фич, и покажу, что даже простой линейной моделью можно получить хороший результат прогнозирования. [П...

Книга «Дизайн персонажей-животных. Концепт-арт для комиксов, видеоигр и анимации» Привет, Хаброжители! Если вы начинающий художник и думаете о карьере в индустрии видеоигр, анимации или коммерческой иллюстрации, эта книга станет вашим тренажером по созданию ярких и самобытных персонажей-животных. Восемь успешных художников на примере своих работ покажут ...

Как создавать собственные библиотеки элементов Привет! Меня зовут Сергей Кузнецов, я руковожу отделом Frontend-разработки в AGIMA. Сегодня хотелось бы рассказать о разработке собственных библиотек элементов для крупных проектов. В статье объясню, зачем они нужны, почему собственные библиотеки могут быть полезнее готовых ...

У Unity всё плохо На просторах интернета, и в частности хабра, очень трудно встретить статьи с критикой игрового движка Unity. Я решил это исправить, и приготовил вам текст о переходе на DOTS, насилию над C#, знаменитых UI пакетах, MonoBehaviour, универсальности и о многом другом.Статья не тр...

Как я создал Spring Boot startup analyzer Ни для кого не секрет, что приложения на Spring могут задумываться на старте. Особенно это заметно с развитием проекта: новый сервис стартует быстро и радует отзывчивостью, потом начинает обрастать функционалом, появляются всё новые и новые зависимости, а итоговый дистрибути...

Как мы подняли ретеншн третьего дня на 30% у североамериканских игроков в World of Tanks Blitz Привет! В данной статье расскажу о том, как мы подняли ретеншн приблизительно на 30% на проекте World of Tanks Blitz на регионе NA (Северная Америка).Сперва немного о себе и о нашей игре. Меня зовут Козловский Владимир. Работаю на должности ...

Как самостоятельно выучиться на дата-саентиста — адаптированная подборка "Cтоит ли тратить деньги на тот или иной дорогой курс с codename «Стань DS за два месяца» или все же выучиться на дата-саентиста самостоятельно и бесплатно, и в таком случае, с чего начать?" такие вопросы я получаю от аудитории своего блога. Меня зовут Айра, я делаю про...

reveal.js: HTML-презентации Привет, меня зовут Александр, я старший разработчик ПО в Центре разработки Orion Innovation и я люблю делиться своими мыслями с людьми, разумеется, любимые форматы – статьи на Хабре и доклады на конференциях и митапах. Сложно представить доклад без презентации, о них и хочу ...

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

Из грузчика в QA без регистрации и смс Привет, меня зовут Павел Купцов, я —  QA в Петровиче. До QA я добирался несколько лет окольными путями: через техникум, работу грузчиком и «эникейщиком», упорное обучение, когда курсы нужно было искать, а не они находили тебя, через отчаяние и уныние. Но в итоге я добил...

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

Справочники в iOS: храним, обновляем, используем Всем привет! Меня зовут Саша, и я iOS-разработчик в hh.ru. Страны, города, профобласти, языки, валюты – всё это названия справочников внутри нашего мобильного приложения. Они очень редко меняются, но используются повсюду, а поэтому обязаны быть актуальными и не должны т...

Что такое тестирование. Курс молодого бойца. Книга для новичков Привет!Меня зовут Ольга Назина. Я в тестировании с 2006 года. Тестировщик, тренер, практик, энтузиаст — вот тут можно почитать обо мне подробнее.Я очень люблю серию книг по разработке ПО от Head First O`Reilly:— Изучаем Java. Кэти Сьерра и Берт Бейтс— Изучаем SQL. Линн Бейли...

И снова про App Transport Security: что это и зачем Привет, Хабр! Меня зовут Юрий Шабалин, и, как я пишу в начале каждой своей статьи, мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. В этой статье мне бы хотелось затронуть тему безопасной конфигурации сетевого взаимодействия, а также немног...

[Перевод] PyQt6 — полное руководство для новичков. Продолжение В первом материале мы рассказали о создании первого окна, о сигналах, слотах и событиях, а также о виджетах. Сегодня, к старту курса по Fullstack-разработке на Python, делимся продолжением — о макетах, работе с панелями инструментов и меню при помощи QAction, дополнительных ...

Как ManyChat на PHP8 переезжал Привет, меня зовут Максим, я бэкенд-разработчик в ManyChat. Эта статья – о нашем переходе на PHP8. Однажды мы решили немного поисследовать – посмотреть, чего нам будет стоить возможный переход на новую версию, и запланировать эти работы на следующий год, сразу на 8.1. П...

Делаем видеозвонки с помощью Angular, WebRTC и Openvidu Во всех наших приложениях сотрудники могут общаться при помощи встроенного чата. При этом все чаще можно увидеть приложения, которые позволяют общаться пользователям по видеосвязи без перехода в сторонние сервисы. В этой статье я расскажу про удобный способ создания такого ...

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

Что в глубинах Data Lake? Строим архитектуру, укладываем слои, распределяем ответственность Привет, Хабр! Меня зовут Григорий Коваль, я технический руководитель Core Data Lake центра Big Data МТС. Сегодня я расскажу о том, какие слои находятся внутри Data Lake, как построить архитектуру базы данных и чем распределенный Data Mesh-подход отличается от монолитного хра...

Хабр не делай больно писателям Хабр! Добро пожаловать снова.Сегодня я расскажу о том как писатели хабра теряют свои статьи из за ошибок в работе редактора Хабра. Мне бы очень хотелось чтобы разработчики Habr или Chromium услышал меня и исправили эту проблему как можно скорее. Читать далее

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

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

SQL HowTo: генерируем лабиринты (алгоритм Прима и геометрические типы) SQL является мощным инструментом для обработки множеств, а функционал PostgreSQL позволяет делать многие вещи еще проще, поэтому идеально подходит для реализации некоторых алгоритмов на графах.Причем работа с графами - это не просто разминка для ума, а вполне себе прикладная...

[Перевод] От песочных часов к пирамиде: как усовершенствовать структуру тестов Меня зовут Владислав Романенко, я Senior iOS QA Engineer в Badoo и Bumble. Мы регулярно внедряем новые фичи в приложения, и автоматизация тестирования — один из способов не пропустить баги. Фактически автотесты входят в жизненный цикл всех частей наших приложений: бэкенда, с...

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

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

Автоматическая генерация протоколов совещаний Привет! Меня зовут Максим Бондарев, я работаю младшим разработчиком в компании Digital Design и заканчиваю обучение на математико-механическом факультете СПбГУ. В рамках своей исследовательской работы я занимался решением задачи по автоматической генерации протоколов совещан...

Прячем секреты в репозитории с помощью helm-secrets, sops, vault и envsubst Привет, Хабр! Меня зовут Евгений Симигин, я занимаюсь внедрением DevOps-практик в Центре компетенций по разработке облачных и интернет-решений МТС Digital. А еще я – куратор практикумов docker и kubernetes на платформе rebrainme.com. Практика показывает, что далеко не все ...

Сто раз сломай, один раз поправь или как мы улучшали тестирование отказоустойчивости и восстановления API Привет, хабровчане!Меня зовут Нурыев Асхат, я ведущий инженер по автоматизации в DINS. За время работы в компании я участвовал в решении множества сложных задач. В этой статье я поделюсь историей улучшения процесса и автоматизации тестирования высокой доступности и восстанов...

Идеальный кандидат: миф или реальность? Привет, Хабр! Меня зовут Арина Кретова, я IT-рекрутер в Lamoda. Время от времени у наших кандидатов возникает вопрос — кто для нас идеальный кандидат и как им стать? Думаю, пришло время поговорить на эту тему и расставить все точки над i. В статье я расскажу о качествах...

Сжатые атласы в Unity Runtime Привет, меня зовут Юрий Грачев, я программист из студии Whalekit — автора зомби-шутера Left to Survive и мобильного PvP-шутера Warface: Global Operations. Кстати, именно о его технологиях мы и поговорим подробнее далее.Речь пойдет про получение сжатых атласов в рантайме. Для...

Советы начинающим тимлидам: как работать с командой, выбраться из ловушки токсичного специалиста и не сойти с ума Привет, Хабр! Меня зовут Никита Пимошенко, я тимлид команды Billing API в Quadcode. Сегодня поделюсь советами и кейсами из практики, которые пригодятся начинающим тимлидам. Читать далее

Циклы маршрутизации Добрый день! Меня зовут Александр Зубков, я работаю в Qrator Labs и сегодня я хочу поговорить о циклах маршрутизации. Читать далее

Как мы индекс в Elasticsearch строили Всем привет! Меня зовут Данил, и мы в Just AI разрабатываем платформу для создания различных чат-ботов. И для того, чтобы максимально упростить этот процесс, а именно процесс написания сценария работы бота, мы имеем свой собственный DSL.С его помощью можно описать поведение ...

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

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

Чат-боты в банке: где и как их применять? Меня зовут Дмитрий Литвинов, в Московском кредитном банке (МКБ) я курирую направление автоматизации внутренних сервисных подразделений – это операционный департамент, контактный центр и ряд других функций. Чат-боты стали довольно полезным инструментом для бизнесов любого раз...

QA Meetup от Ozon Tech Привет, хабравчане. Меня зовут Дима Колесник, и я занимаюсь разработкой инструментов тестирования в маркетплейсе. У нас серьёзные нагрузки: 90 млн уникальных пользователей, а в распродажи выдерживаем 5к заказов в минуту. При таком масштабе мы тестируем релиз за 5 минут и дел...

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

[Перевод] Программирование с dplyr Большинство глаголов dplyr так или иначе используют аккуратную оценку (tidy evaluation). Tidy evaluation - это особый тип нестандартной оценки, используемый во всём tidyverse. В dplyr есть две основные формы tidy evaluation:Описанные концепции обращения к переменным таблиц д...

Ещё одна статья про дизайн-системы (в продуктовом дизайне) Привет. Меня зовут Костя, и я отвечаю за дизайн в Агиме. И да, я решил написать ещё одну статью по дизайн-системам, в довесок к 7 млн уже существующих. Я думаю, эта статья будет бесполезна для любого, кто сталкивался с ДС вживую. Но с другой стороны, мне регулярно ...

Как мы переносили аналитику из PostgreSQL в ClickHouse Привет, Хабр! Меня зовут Кирилл, одной из задач, которой я занимаюсь в Just AI, является пользовательская аналитика. В этой статье я хочу рассказать о нашем опыте миграции этой аналитики на новую СУБД ClickHouse. О том, с какими нюансами пришлось столкнуться и как мы их реша...

Анализ синтаксиса, который всегда с тобой Всем привет, меня зовут Денис Лимарев, я разработчик платежной системы Delivery Club. И сегодня я расскажу, как мне надоели однообразные ошибки и собственная невнимательность, и как я с этим борюсь. Недавно я написал статью о нашем линтере, где вскользь затрагивал ...

Паттерны асинхронных обменов на платформе Авито Привет! Меня зовут Павел Агалецкий, я старший инженер в команде архитектуры. Одна из областей ответственности нашей команды — синхронное (RPC) и асинхронное взаимодействие между сервисами. В этой статье я расскажу о том, как можно связать сервисы друг с другом и как это...

Flutter: простыми словами про ассинхронность и параллельность Всем привет, читатели Хабра! В этой статье я хочу простыми словами рассказать про асинхронность и параллельность в Dart/Flutter. Многие новички сталкиваются с непонимаем того, что это и когда что использовать. Я сам столкнулся с этой проблемой в начале своего карьерного пути...

Изолируем микросервисы с помощью Feature toggles в ASP.NET Core. Практика Снова привет, Хабр! В первой части статьи мы разбирали, что такое изоляция микросервисов, как в этом помогают переключатели функциональности, и как создать простое ASP.NET приложение в с поддержкой feature toggles, которое будет показывать прогноз погоды. В этой части з...

Как научиться слушать всех и не превратиться в будку гласности Меня зовут Александр Глухов, я в финтехе с 2013 года. Сейчас работаю в Ак Барс Банке и оптимизирую процессы в мидл-офисе и бэк-офисе. Мы делаем разные продукты для банка, один из них — универсальное рабочее место сотрудника. Это внутренний сервис для сотрудников банка, котор...

«Горячие» и «холодные» Feature toggles: принципы работы В этой статье мы расскажем про принципы безопасной работы с переключателями функционала – Feature Toogles:  — Что из себя представляют переключатели функционала и для чего их использовать. — Какие проблемы возникают при неправильном использовании. — Что такое «горячие» ...

Создание Single Page Application на Marko.js — ZSPA Boilerplate В данной статье вы познакомитесь с Marko.js актуальной на данный момент пятой версии. Пару лет назад на Хабре уже была отличная статья (за авторством apapacy) о том, как работает этот замечательный реактивный фреймворк, разработанный где-то в недрах eBay.В своем комментарии ...

Как мы создавали Data Management Platform: архитектура, проблемы, выводы Для таргетинга мы в Ozon используем сегменты, в которые группируем пользователей по интересам. Интересы могут быть определены через систему трекинга событий. Последние в свою очередь формируются в процессе взаимодействия пользователя с маркетплейсом Ozon. На основе сегментов...

Первые эксперименты со смешанным Litex+Verilog проектом для ПЛИС В предыдущей статье мы начали осваивать построение шинно-ориентированных систем на базе среды Litex (которая всё делает на Питоне) с внедрением собственных модулей на Верилоге. Статья так разрослась, что практические опыты мы оставили на потом. Пришла пора провести их. Сегод...

Финишные покрытия. Часть 1: покрытия корпусов для СВЧ Привет! Меня зовут Олеся и работаю СВЧ инженером. Пишу это, чтобы читателям был примерно понятен мой бэкграунд и мотивация. В статье описаны типы покрытий, которые я использую в своей работе. далее

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

И еще немного про авто-тесты в QEMU Привет, Хабр. Меня зовут Роман, я разработчик встраиваемых систем в Dannie и мы тут делаем умные камеры. По долгу службы, мне потребовалось завести эмуляцию прошивки для чипа из семейства MIPS. В рамках разработки проекта мы обозначили для себя задачу получения быс...

Как разработчикам начать вести Телеграм-канал Меня зовут Александр, я руковожу backend-разработкой в КТS. Мы разрабатываем сложные высоконагруженные сервисы для крупных корпораций и рекламные спецпроекты.У нас есть Телеграм-канал «Программисты делают бизнес». Мы ведем его недавно — первый пост вышел в декабре 2020 года....

Настройка cервера с помощью docker для простых проектов. Часть вторая: docker-compose Настройка cервера с помощью docker для простых проектов. Инструкция для самых маленьких. Часть вторая: docker-compose.Мы продолжаем цикл обучающих статей для самых маленьких наших читателей. В данном обучении мы бы хотели разобрать docker-compose. Данная статья рассчитана на...

Улучшение Visual Studio Code для новичков VSCode — Самый популярный редактор кода среди веб-разработчиков. Вы можете использовать его с нуля, однако для опытных программистов его базовых функций недостаточно. Здесь я описал, то как сам докрутил этот редактор под свои потребности. Я фронтенд-разработчик, но также ис...

Техрадар от ThoughtWorks Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в

Руководство разработкой: beginner's survival guide Привет! Меня зовут Наташа, я руковожу разработкой бэкенда страницы yandex.ru. Сейчас у нас в команде больше двадцати человек, которые входят в отдельные группы разработки. Три года назад я впервые стала «тимлидом» маленькой группы из четырёх человек, накопив к этому времени...

Использование Gatling. Разбираемся в тестировании HTTP Всем привет! Это команда тестирования производительности Тинькофф, и мы продолжаем цикл статей о Gatling. В предыдущей статье мы рассмотрели базовые возможности инструмента Gatling, узнали, как быстро создать шаблон gatling-проекта, и познакомились с новыми функциями би...

SNS и SQS: разбираемся, какие есть способы обмена сообщениями в облаках Привет, Хабр! Сегодня поговорим о принципах асинхронной работы с сообщениями и их очередями в распределенной и бессерверной архитектуре. У Amazon для этого есть веб-сервисы Simple Notification Service (SNS) и Simple Queue Service (SQS): они позволяют обмениваться сообщениями...

Ускоряем прохождение iOS UI-тестов. Часть 1. Запускаем тесты без сборки проекта Хабр, привет!Меня зовут Борис. Я Mobile QA lead в Vivid Money.Это вступительная статья в цикле статей по iOS-автоматизации, в которых я расскажу о том, как ускорить прохождение UI-тестов.Данная статья будет полезна iOS-автоматизаторам с опытом, либо разработчикам.В рамках эт...

K8S для начинающих. Часть вторая В прошлой статье мы говорили о создании подов. В этой статье поговорим о том, что такое сервис, типы сервисов, метки и селекторы, а также создадим свой сервис. Читать далее

IPv6: некоторые нюансы безопасности IPv6 — протокол, который используют для адресации в современных сетях. В статье рассмотрим несколько сценариев использования его функций, приводящих к эсплуатации уязвимостей. Читать далее

Какие проекты делают выпускники Практикума Привет! Я Максим Карпов, лид Мастерской — части программы трудоустройства Яндекс.Практикума. Многие выпускники сталкиваются с одной и той же проблемой. При трудоустройстве компании изучают портфолио кандидата: если в нём есть не только учебные, но и реальные проекты, шанс по...

Обзор TrueConf 8 – мессенджера с видеосвязью и AI для Windows, macOS и Linux Привет, Хабр!Меня зовут Оксана и я – руководитель продуктовой команды в компании TrueConf. Мы разрабатываем софт для видеосвязи и совместной работы уже больше 10 лет. Сегодня я расскажу о создании нового поколения десктопных приложений TrueConf: наш опыт переосмысления ...

Неполное руководство по DevOps Привет! Меня зовут Кирилл Цветков. Я DevOps, инженер, линуксовый админ – именно через запятую и никак иначе. В этой статье я попробую последовательно рассказать вам что такое DevOps, и примирить два конфликтующих стереотипа, которые это слово окружают. Читать далее

[Перевод] Что такое MLOps и различные MLOps-инструменты  (часть 2) По сравнению с прикладным программированием общего назначения машинное обучение (ML) является относительно недавней областью исследования. Крупные инициативы в области ML сегодня поддерживаются как аппаратным, так и программным обеспечением, позволяя предприятиям принимать б...

Опыт эксплуатации Mellanox под управлением Switchdev Мы уже писали про Linux Switchdev в Mellanox — что это такое и как мы с ним живем в Qrator Labs. Сегодня я хочу рассмотреть этот вопрос с другой стороны. Меня зовут Дмитрий Шемонаев, я руковожу центром сетевых операций.Кроме того, что этот коммутатор можно использовать как W...

Релизим фронтенд несколько раз в день Меня зовут Петр Солопов, я руковожу фронтенд-разработкой в SuperJob. В этой статье хочу рассказать об опыте ежедневных релизов у нас в компании, зачем мы это делаем и почему это не так страшно, как кажется.История разбита на пять частей: что нас к этому привело, как это сдел...

Clickhouse & Grafana: история успеха одних алертов Меня зовут Елизавета Добрянская и я Frontend-разработчица в компании Домклик. В этой статье я хочу рассказать, как мы танцевали с бубном при настройке алертов на клиентские метрики. Как, зачем и с чем мы столкнулись в этой задаче - читайте далее

[Перевод] Почему сооснователь Wasmer ушёл из компании? 4 октября 2021 года — последний день работы одного из основателей Wasmer в компании. Wasmer — стартап, который разрабатывает очень популярную одноимённую среду выполнения WebAssembly. Речь пойдёт о том, чего автору статьи удалось достичь за время работы в компании. Это не те...

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

Что такое ECS и с чем его компилят Привет! Эта статья — первая в блоге MY.GAMES, международного разработчика и издателя видеоигр. Здесь мы объединим наработки и экспертизу всех 14 наших игровых студий. Впрочем, будем рассказывать не только о внутренней кухне экосистемы MY.GAMES, но и о том, чем живет геймдев ...

Атака не клонов, или Генерация и анализ тестовых данных для нагрузки. Часть 1 Как добиться необходимого контроля, удобства и даже скорости при подготовке тестовых данных для микросервисов и тестов производительности? В каких случаях лучше не генерировать XML и JSON файлы с помощью конкатенации строк? Зачем анализировать статистику по SQL запросам?Меня...

Чек-лист начинающего арт-директора: как организовать работу арт-отдела от малых до распределенных команд Привет! Меня зовут Денис Рычковский. Всю сознательную жизнь я люблю две вещи: арт и игры. С 2015 года я работаю в геймдев-индустрии, а последние 3,5 года — на позициях лида и арт-директора.Сегодня я хочу поделиться накопившимся опытом и поговорить о самых разных аспектах орг...

Биометрия в ритейле: большие надежды и суровая реальность Привет! Меня зовут Макс, я являюсь продукт оунером видеоаналитики в М.Видео-Эльдорадо. Сегодня поговорим о такой сложной теме как биометрия. Многие компании пытаются ее использовать, не у всех это получается, и еще меньшее количество умеет на ней зарабатывать. Читать далее

Как мы уменьшаем размер изображений на веб-страницах в 10 раз с помощью нашего оптимизатора Привет, Хабр! Меня зовут Евгений Лабутин, я из команды разработки продукта МТС Твой бизнес. Мы разработали свой рецепт приготовления картинок для нашего портала. Благодаря ему удалось сократить их вес на странице до 10 раз относительно уже оптимизированного jpg/png, сохранив...

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

Как устроены IT-процессы в «Сравни.ру» Привет, «Хабр»! Меня зовут Дмитрий Парфёнов, я технический директор в «Сравни.ру». Сегодня я расскажу, как в нашей компании выстроены процессы продуктовой разработки, какие метрики мы используем в работе и как происходит онбординг новых сотрудников.  Читать далее

Управление распределенными транзакциями с помощью Camunda "Всякое решение плодит новые проблемы" (закон Мерфи)В этой статье я собираюсь поговорить о подходе к решению задачи обеспечения консистентности данных в микросервисной архитектуре, т.н. распределенных транзакциях. Почти два года назад я впервые познакомился с инструментом Ca...

Лайфхаки по многомодульности в iOS Всем привет! Меня зовут Юра, я iOS-разработчик в core-команде. В этой статье расскажу, как мы работаем с многомодульностью в наших iOS-приложениях. Поговорим про окружение и структуру нашего проекта, затронем тему скорости компиляции и разберем немного кодогенерации.  П...

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

В чем риски перевода крупной организации на опенсорс Привет, Хабр! Меня зовут Дмитрий Комиссаров, я член совета директоров и основатель МойОфис. За годы работы в ИТ я не раз наблюдал, как перед разработчиками встает дилемма: задействовать СПО или написать весь код самостоятельно «с нуля»? На этот вопрос нет универсального от...

Я учусь на тестировщика. Сравнение двух онлайн школ. Часть 2 Здравствуйте, меня зовут Екатерина, уже 11 лет я работаю учителем в школе. Полгода назад я решила сменить профессию и пошла на курсы тестировщиков в одну разрекламированную онлайн школу, разочаровалась в ней, а теперь учусь в другой. Мне стало интересно сравнить методики пре...

[Перевод] Чем Linux HugePages важны для серверов баз данных? Часто пользователи рассказывают о сбое базы данных по вине Out Of Memory Killer. Он завершает процессы PostgreSQL и остается причиной большинства отказов этой БД. Память на хост-компьютере может закончиться по нескольким причинам. Наиболее распространены из них четыре. Во-пе...

Пишем асинхронного Телеграм-бота Сегодня я покажу, как написать своего Телеграм-бота на основе asyncio и aiohttp. Мы не будем использовать ни aiogram, ни любые другие библиотеки, а напишем бота с нуля, чтобы немного познакомиться с асинхронным программированием, корутинами и некоторыми примитивами синхрониз...

Том, Дик и Гарри. Что значат именные идиомы в английском и как их использовать Что общего у Джека, Тома и Боба? Верно, это самые популярные английские имена. Если вы работаете в международной компании, вы наверняка встречали хотя бы одного Боба или Джека среди коллег и клиентов. Эти имена настолько широко распространены в англоязычных странах, что давн...

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

Обзор стремительно развивающейся среды разработки microStudio Здравствуйте дорогие читатели сайта! На написание этой статьи меня подтолкнул тот факт, что я не смог найти на необъятных просторах русскоязычного интернета, какой-либо подробной информации о microStudio. Можно найти небольшие заметки, на нескольких сайтах. Где совсем скромн...

Собираем генератор данных на Blender. Часть 1: Объекты Привет, Хабр! Меня зовут Глеб. Я работаю в компании Friflex над проектами по оцифровке спорта. Работая над idChess (приложением для распознавания и аналитики шахматных партий), мы расширяем наш датасет синтетическими данными. В качестве движка используем Blender. В этой ста...

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

Scrum в госкомпании: миф или реальность? SCRUM закрепился и в стартапах, и в IT-гигантах, но что на счёт скрама в крупной госкомпании? Попытаемся дать ответ на примере одной из команд разработки Россельхозбанка, а в конце статьи поделимся чек-листом в помощь начинающему скрам-мастеру. Читать далее

Язык программирования типов, скрытый в TypeScript. Utility Types TypeScript — это язык, расширяющий JavaScript, добавляя в последний типизацию. Правда, так как TypeScript не имеет runtime-а (почти), он транслируется в JavaScript, в процессе чего, вся типизация теряется. Такую типизацию можно назвать лишь инструментом статического анализа ...

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

Не совсем очевидные тренды развития рынка приложений, как к ним подготовиться мобильному разработчику? Меня зовут Ексей Пантелеев, я 12 лет программирую мобильные приложения, а всего зарабатываю программированием почти 20 лет и как профессионал пережил несколько платформ (например Flash Player, AIR, Stage3D), под которые я разрабатывал приложения. До мобайла я делал веб и игр...

[Перевод] Continuous integration в Go с GitHub Actions В этой статье мы рассмотрим, каким образом можно использовать GitHub Actions для создания конвейера непрерывной интеграции, который автоматически тестирует, проверяет и анализирует ваш код Go. Читать далее

Я учусь на тестировщика. Сравнение двух онлайн школ. Часть 3 Здравствуйте, меня зовут Екатерина, уже 11 лет я работаю учителем в школе. Полгода назад я решила сменить профессию и пошла на курсы тестировщиков в одну разрекламированную онлайн школу, разочаровалась в ней, а теперь учусь в другой. Мне стало интересно сравнить методики пре...

Как упростить работу команды с помощью Telegram Меня зовут Борзов Олег, я техлид команды разработки CRM-системы для менеджеров ипотечного кредитования крупного банка. Сегодня я хочу рассказать, как наша команда разработки упрощает часть рабочих процессов с помощью мессенджера Telegram. Читать далее

Keycloak X. Что за зверь и с чем его едят? Недавно мы с коллегами из X5 Tech проводили митап, на котором разбирали, что такое Keycloak X и чего от него ждать. Для тех, кто пропустил или предпочитает читать, а не смотреть, подготовили текстовый вариант. Меня зовут Виктор Попов, я техлид DevOps-команды в X5 Tech. ...

Применение автотестов в ежедневных релизах. Установка Cypress и Allure Меня зовут Виталий и я автотестер в компании Утконос ОНЛАЙН. В предыдущей статье я рассказал, почему мы решили использовать фреймворк для автоматизации тестирования, описал существующие варианты, наш выбор в пользу Cypress и его связку с репортом Allure. В этой части обсудим...

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

iPhone легко взломать даже без участия жертвы. Шпионское ПО Pegasus делает всех уязвимыми Журналист New York Times Бен Хаббард (Ben Hubbard) опубликовал большую статью, в которой он рассказал о том, что его смартфон iPhone был дважды взломан злоумышленниками во время его работы на Ближнем Востоке. В статье он подробно рассказал о случившемся и утверждает, чт...

[Перевод] git bisect: путешествие по времени и багам Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в

Поговорим про собеседования: взгляд бэкендера Меня зовут Максим Бабенко, и, может быть, вы знаете меня как преподавателя ШАДа (или как автора рассказа про технологию YT на Хабре). Мне кажется, почти каждый читатель Хабра либо знаком с теми, кто побывал на собеседовании в Яндекс, либо сам его проходил. Несмотря на это,...

Ведение систем IPAM и DCIM в NetBox: начинаем с кабельного журнала Привет! Меня зовут Дмитрий, в Росбанке я занимаюсь автоматизацией сетевой инфраструктуры. Этим постом я начинаю серию публикаций о NetBox — популярном опенсорс-инструменте для документирования инфраструктуры на уровне IP-адресации (IPAM) и железа (DCIM). NetBox ценен те...

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

Настройка VSCode для программирования AVR в Linux Всем, кто занимается электроникой, так или иначе знакомы контроллеры AVR. Начинающим они знакомы, по большей части, за счёт экосистемы Arduino. В данной статье я попытаюсь рассказать начинающим программистам, как можно в Linux просто настроить VSCode для работы с контроллера...

[Перевод] Как мы собрали проект на Django и React и уважили загрузчик Webpack Когда мы взялись за гибридный проект, в котором одновременно использовались Django и React, мы столкнулись с дилеммой: как интегрировать две эти части, в особенности, как разрешить шаблонам Django отображать ресурсы JavaScript, сгенерированные при клиентской сборке. Мы нашли...

Пошаговое руководство, как создать собственный Kubernetes оператор В статье разберет базовые понятия, которые нужны для создания оператора (CRD - Custom Resource Definition, контроллеры) и покажем на практике как можно написать собственный оператор с использованием инструмента Operator SDK без единой строчки кода. Читать далее

[Перевод] Как работают браузеры. Часть 1 Браузеры — это программное обеспечение, установленное у нас на устройствах и позволяющее получать доступ к Интернету. Как они работают, и что происходит от момента ввода адреса до тех пор, пока нужная страница не отобразится на экране?Если максимально упростить, то всё проис...

Angular Libs как монорепозиторий: начало, настройка, работа с assets Всем привет! Меня зовут Илья и я хочу рассказать вам как можно подробнее про Angular Libs. В частности, то, как можно использовать его в качестве монорепозитория для сборки нескольких приложений с tree-shaking и переиспользуемостью различных модулей в разных библиотеках и ча...

Эволюция рекомендаций ресторанов в Delivery Club. Часть 1 Всем привет! Меня зовут Иван Максимов, я работаю Lead Data Scientist’ом в команде рекомендаций и A/B-тестирования Delivery Club. Это первая из серии статей про нашу рекомендательную систему. Я расскажу о том, как мы определили проблемы предыдущего подхода к рекомендациям, и ...

Разворачиваем Golang приложение в Kubernetes В этой статье я хочу поделиться примером, как можно развернуть простое приложение на Golang в Kubernetes, с помощью helm чартов и skaffold скриптов. Думаю, данная статья может быть полезной тем разработчикам, которые только знакомятся с Kubernetes, а возможно и более опытным...

Топ вопросов работодателю от Android-разработчика Представьте: вы на собеседовании, только что закончили отвечать на кучу вопросов и были на высоте. Наконец наступает ваш черед задавать ваши вопросы работодателю. Не знаю как вы, а я в таких ситуациях часто начинал теряться и забывал самое важное, о чем стоило бы спросить. О...

Kubernetes: трансформация к SecDevSecOpsSec Данная статья — взгляд на то, как Kubernetes способен повысить уровень безопасности, упростив управление ею и ускорив внедрение механизмов безопасности с точки зрения специалиста по ИБ, который большую часть своей карьеры занимался наступательной безопасностью. Сейчас на при...

[Перевод] GitOps с GitLab: CI/CD Tunnel GitLab можно использовать как первоклассный инструмент GitOps, и здесь мы покажем как. Это пятое практическое руководство из серии, посвящённой разным задачам пользователей, включая подготовку базовой инфраструктуры, управление ей и развёртывание поверх неё различных сторонн...

Знакомимся с Javassist Всем большой привет! Перед началом стоит сказать, что библиотека Javassist довольно мощный инструмент, так как стирает почти все границы у того безграничного языка JAVA, позволяя разработчику осуществлять манипуляции связанные с байткодом.Конечно, получив доступ к байткоду, ...

Как внедрить что-то своё в CoordinatorLayout и не умереть: путь Android-самурая Привет! Меня зовут Андрей Шоколов, я Android-разработчик KODE. К нам обратилась компания Forward Leasing с запросом разработать мобильное приложение по готовому дизайну. Прототип содержал дугу, которая по задумке должна была сжиматься в одну линию при скролле. За основу реши...

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

Кейс: как soft skills повлияли на карьерный рост Привет! Меня зовут Миша Ларченко, я разработчик в Sytac B.V. Последние 7 лет живу и работаю в Нидерландах. В этой статье я расскажу, как складывался мой путь от верстальщика в бобруйской газете до разработчика в нидерландской компании. Спойлер: в этом как-то замешаны soft sk...

Как мы перешли с kotlinx.synthetics на Android View Binding Привет! Меня зовут Ваня, я Android-разработчик из продуктовой команды hh.ru, и в этой статье я расскажу о нашем опыте миграции на ViewBinding.В конце 2020 года в официальном блоге Android Developers объявили, что android-kotlin-extensions plugin для Gradle больше не дружит с...

Свой инструмент в Tableau для scrum-команд с Bug Policy и Scope Drop Привет! Меня зовут Анастасия Никонорова, я аналитик в Авито. Рассказываю, как мы сделали инструмент в Tableau для наших scrum-команд разработки.Сначала опишу, как мы работаем по Agile и Scrum, потом — как подготавливали данные и создавали инструмент, как его внедряли и какие...

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

Аллозавр. Наш любимый динозавр Давненько у нас не было статьи из рубрики #Биография_Вида@phanerozoi о каком-либо динозавре. Надо исправляться и восстанавливать упущенное. И сегодня мы поговорим с вами о самом известном хищнике юрского периода — об аллозавре. Читать далее

Bitrix и Kafka: настраиваем интеграцию с брокером очередей Привет! Меня зовут Саша Шутай, я тимлид в AGIMA. В прошлой статье я рассказывал, что делать, если на проекте Bitrix сожительствует с Vue.js и поисковые боты не видят контента сайта. А в этой помогу разобраться, как на Bitrix-проекте произвести интеграцию с брокером очередей ...

С 2 лет до 6 месяцев: как мы ускорили “доставку” почтового ПО в 4 раза Всем привет! Меня зовут Антон, я системный архитектор отдела разработки курьерских сервисов в Почтатехе. Мы разрабатываем сложные цифровые продукты Почты России. Помогаем ей стать удобнее, быстрее, качественнее и технологичнее для вас. Команда нашего отдела создаёт и ра...

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

Нано-статья о том, как я в SAS NULL-ключи джойнил Привет, Хабр! Меня зовут Сергей Барановский, я руководитель проектов по аналитике в Блоке по клиентскому опыту и сервису и сегодня я хочу поделиться наболевшим. Джойн таблиц — одна из самых базовых вещей в аналитике. Казалось бы, допустить здесь ошибку почти невозможно. И пр...

Разработка новой игры от компании Wargaming с помощью Rider for Unreal Engine Последние полтора года открыта программа раннего доступа к Rider for Unreal Engine — IDE для разработки игр на C++ с использованием Unreal Engine. На сегодняшний день в программе участвуют десятки тысяч индивидуальных разработчиков игр, a также множество студий и больших ком...

Почему я пишу игры на Unity Здравствуйте. Меня зовут Валентин, мне 14 лет и я являюсь разработчиком игр. В рамках этой статьи хотелось бы рассказать о том, как молодой человек может начать, продолжить и достичь некоторых результатов в разработке игр с использованием движка Unity. Читать далее

Быстрый, резкий, как пуля, дерзкий. Как работать над перфомансом сайта, чтобы нравиться пользователям и Гуглу Привет! Меня зовут Андрей Якобчук, я ведущий фронтенд-разработчик в Muse Group. Мы постоянно работаем над ускорением клиентской части наших сайтов. К тому же Гугл с его метриками Core Web Vitals с каждым годом придаёт всё большее значение отзывчивости и стабильности интерфей...

Computer Vision для iOS, Android, Web Привет, я Денис Соколов, руковожу R&D в Zenia — это платформа для йоги и фитнеса, которая использует ИИ для трекинга поз человека (подробнее об этом — в другой моей статье). Наша система распознавания работает на трёх платформах — iOS, Android, Web. В этой статье поговор...

Знакомство с .Net Compiler Platform .Net Compiler Platform, или Roslyn - это высокоуровневый API для анализа и рефакторинга кода, написанного на  С# и VB (языках .Net). С помощью Roslyn можно как создавать независимые инструменты анализа и рефакторинга, так и писать расширения, встраиваемые в Visual Studi...

Как большинство Java проектов выглядят изнутри Меня зовут Аксёнов Вячеслав, я бэкенд разработчик и в последние годы пишу веб приложения на java/kotlin. Основная идея этой статьи описать основные технические задачи, которые ставятся перед современными веб приложениями, а также перечислить те библиотеки, которые чаще всего...

Как мы создавали курс по C# и боролись за секунды У сервиса онлайн-обучения программированию Хекслет есть собственный Open Source проект Code Basics, на котором выходят бесплатные курсы для начинающих на разных языках. Когда-то их было только два – PHP и JavaScript, сейчас уже более десятка. В компании Dodo Engeneering есть...

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

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

Как BI «купается» в озёрах данных: практика платформы «Форсайт». Часть 2. Виртуализация данных Всем привет. Мы продолжаем цикл публикаций о том, как наша BI-платформа «Форсайт» работает с данными. В этой статье мы бы хотели поговорить о том, как выйти за рамки привычного online analytical processing (OLAP) и с помощью enterprise BI погрузиться в проблематику «Fixed fo...

Мой опыт первой игры — Escape from the 70's Захотелось мне делать игры… Хотя бы одну! И записался я тогда на курс Unreal Engine в середине июня 2020 - просто в гугле набрал курсы по анрниалу и на самом первом в списке я зарегистрировался. Хочу сделать отступление и акцентировать на том, что это моя первая игра. Я...

Kubernetes и другие оркестраторы Привет! Меня зовут Леонид, я DevOps-инженер в компании KTS. В этой статье я рассмотрю различные оркестраторы и объясню, почему Kubernetes — лучший выбор.Нашей компании уже 6 лет, и 4 из них мы живем с Kubernetes. До этого мы испытали все варианты деплоя приложений на се...

SSH Picker в ежедневной работе сетевого инженера В статье рассмотрим полезный инструмент облегчающий сбор данных с сетевых устройств. Для работы скриптов с командной строкой по SSH на языке Python нужно использовать множество сторонних модулей, а вернее множество зависимостей одного модуля (привет paramiko), а если на маши...

Построение отказоустойчивого решения на базе BGP с использованием облачной платформы Привет, Хабр!Меня зовут Евгений, и с недавних пор я являюсь членом команды развития инфраструктуры в Домклике. Больше всего опыта у меня в области сетевых технологий, в простонародье я «сетевик». На сегодняшний день наша команда, да и не только наша, активно прорабатывает во...

Синтезируем SystemVerilog код в OpenSource среде Yosys/NextPNR В предыдущей статье я поделился опытом работы с ПЛИС фирмы Lattice через инструменты с открытым исходным кодом Yosys и NextPNR. Как я отмечал, освоить их меня заставило не столько любопытство, сколько требования Заказчика. В том проекте у меня просто не было выбора. И та ста...

Изучаем протоколы со Scapy Статья расскажет, как можно использовать Scapy для создания пакетов UDP и TCP протокола, так же попробуем реализовать взаимодействие по сети, отправив короткое сообщение с использованием каждого из протоколов. Читать далее

Кафка: сложная простота Привет! Это Сергей Калинец из Parimatch Tech и эта публикация будет про Кафку. У нас много данных, которые нужно быстро обрабатывать, много сервисов и команд, поэтому мы выбрали Кафку, как нашу основную платформу для обмена данными. За годы ее использования насобиралось...

Тильда против фронтенда: 6 главных мифов о конструкторе Бывает так: заказчику нужен лендинг еще вчера. К фронтендеру обращаться не хочется — долго, дорого, дизайнеру не понравятся отступы, а вся задача превратится в череду долгих согласований.Привет, меня зовут Соня! Я – UX/UI дизайнер в hh.ru. В этой статье мы разбираем популярн...

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

Этапы развития продакт-менеджера. От разработки фич до выхода на новый рынок Меня зовут Наталья Царёва, вот уже 4 года я работаю в компании ISPsystem на должности product manager. Сейчас я полностью отвечаю за DCImanager —  это платформа для управления оборудованием. Как CEO, только не компании, а продукта. Но такой уровень ответственности и спи...

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

[Перевод] Табличные тесты в Go с использованием Gomock Чтобы эффективнее тестировать работу программы, можно использовать табличные юнит-тесты. В этой статье пошагово рассказываем, как писать такие тесты с помощью фреймворка Gomock.Этот текст написал Golang-разработчик Арек Ностер. С разрешения автора мы перевели статью. Читать ...

Изучаем пешку (часть 5) Давно не писал продолжения курса преподавания шахмат, но на то были объективные причины - переезд в другую страну, 2020-2021 годы "дружбы с Ковидом", осмысление онлайна в педагогических шахматах... Поэтому эта статья будет состоять из двух частей - про пешку и про онлайн пре...

JavaScript: работа с датой и временем с помощью Temporal Привет, друзья! В этой статье я хочу рассказать вам о Temporal, новом API для работы с датой и временем в JS. Описание предложения Черновик спецификации Рецепты по использованию Temporal Источником вдохновения для меня послужила эта замечательная статья. Обратите внимани...

Как мы переходили на российское ПО, пока это еще не было мейнстримом Много лет мы в ITGLOBAL.COM использовали ServiceNow в качестве инструмента автоматизации управления услугами. Эта платформа де-факто является отраслевым стандартом на рынке ITSM-систем. Но все течет, все изменяется — и в 2019 году мы приняли решение мигрировать на альтернати...

СБП C2B. Снаружи и изнутри Мы все уже освоились с «переводами по телефону» друг другу, но пришла пора поговорить про оплату через СБП. Тем более что эту функцию реализовали уже больше 60 российских банков, то есть новый инструмент для платежа смартфоном есть теперь у большинства жителей страны.В этой ...

[Перевод] Глобальная блокировка интерпретатора (GIL) и её воздействие на многопоточность в Python Прим. Wunder Fund: в статье рассказано, зачем появился и существует GIL, как он работает, и как он влияет на скорость работы Питона, а также о том, куда в будущем вероятно будет двигаться Питон. У нас в фонде почти все, что не написано на плюсах — написано на Питоне, мы прис...

Windows 11: минусы дизайна В этой статье мне бы хотелось поделиться пользовательским опытом, связанной с Windows 11, которой я на момент написания статьи пользуюсь примерно месяц с лишним. Читать далее

Как написать тысячу автотестов за пару дней Меня зовут дядя Вова, я ведущий инженер по автоматизации тестирования и, как писал уже несколько раз, неизменный фанат Robot Framework. Даже когда-то контрибьютил в его исходный код и иногда помогаю новичкам в официальном slack-чате этого инструмента. Но, как я уже упоминал...

Техническая разведка Привет, Хабр. Я знаю, что вы любите статьи «Чему я научился…». Обычно в них рассматривается либо личный опыт работы, либо различные книги с полезными советами. Сегодня я предлагаю вам посмотреть какой полезный опыт можно извлечь из методичек ЦРУ на примере материала Robert M...

Как подготовить бэклог продукта с большим количеством зависимостей и не потратить время впустую Привет, меня зовут Макс, я продакт команды Self-Service в мобильном приложении Тинькофф. У моей команды три основные цели по созданию сервиса: contactless, proactive и self-service.   Это значит, что мы стараемся сделать незаметными процессы для пользователя: убрат...

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

Модуляризация DI в проекте с UDF-архитектурой Всем привет, меня зовут Юрий Трыков, я Head of Mobile в inDriver. В этой статье расскажу, как в рамках платформенной iOS-команды мы выстраивали модуляризацию DI-контейнеров в проекте, зачем вообще нам нужны DI-контейнеры и как настраивать взаимодействие UDF-компонентов и DI-...

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

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

Альтернатива MapReduce при поиске в распределенной БД Привет, меня зовут Сатбек, я работаю в команде Tarantool. Расскажу, как реализовать в шардированном кластере поиск, скорость которого не зависит от количества мастеров и объёма хранимых данных. Условно назову этот способ индексным слоем:- Опишу общую схему построения по...

Bottom Sheet, перейдём на «ты»? Bottom Sheet представлялся мне сложным и недосягаемым. Это был вызов! Я не понимал, с чего начать. Возникало много вопросов: использовать view или view controller? Auto или manual layout? Как анимировать? Как скрывать Bottom Sheet интерактивно?Но всё изменилось после работы ...

Визуальный SLAM: делаем HD-карты при помощи смартфона Привет, Хабр! Меня зовут Гращенков Александр, я iOS-разработчик в компании RoadAR. С 2016 года живу и работаю в Иннополисе, занимаюсь компьютерным зрением и интеграцией нейросетей в мобильные платформы.Возможно, вы пользуетесь приложением-видеорегистратором со встроенным рас...

Match/case vs If/else. Сравниванием скорость работы операторов в Python 3.10 Прошло уже достаточно времени с момента релиза Python версии 3.10. Самым главным и самым ожидаемым было введение оператора match/case (он же pattern matching). Однако далеко не всем разработчикам из комьюнити зашел данный оператор. Свидетельствуют этому даже комментарии...

Финишные покрытия. Часть 2: типы покрытий СВЧ плат Привет! Меня зовут Олеся, и это вторая часть про покрытия. В этой статье расскажу про финишные и защитные покрытия СВЧ печатных плат. далее

Как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM) Привет, Хабр!Меня зовут Кирилл Васильев, и я хотел бы рассказать, как мы в QIWI внедряли Kotlin Multiplatform Mobile (KMM). КММ — это технология кроссплатформенной разработки, позволяющая писать общий код под основные платформы за исключением UI-слоя. Все продукты со вр...

Управляем командой и продуктом: 7 SCRUM-инструментов для команд и компаний О том, что такое SCRUM, рассказывать на Хабре необходимости нет. Эта методология применяется компаниями любого масштаба для работы над проектами с оптимизацией взаимодействия команды. У нее есть как поклонники, так и противники, в чем можно убедиться, почитав комментарии под...

Что вы делали прошлым летом: на лыжах по городу Прошлым летом я тестировал батарейку. Я уже здесь писал о своей шайтан-арбе, которую я сделал весной. Но батарейки, которые у меня были, позволяли проехать чуть больше 25 км — маловато будет. Захотелось мне разжиться новой. О том и история, но будьте готовы к тому, что в ...

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

Как htmx помогает разработке на HTML htmx — инструмент для создания сложных и интерактивных веб-приложений на HTML, алтернатива клиентскому рендерингу на Javascript. В этой статье рассказываем, как библиотека помогает переиспользовать элементы на сервере, сократить объем кода на Javascript и отказаться от сборк...

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

Грабли, спрятанные в Kotlin Kotlin создавался, чтобы избежать некоторых проблем Java. Но как и в любом языке, есть в нем свои особенности. Разрабатывая собственный проект, мы наткнулись на несколько таких моментов. Часть стреляет вам в колено на продакшене, только если вы ими злоупотребляете. Другая от...

Пару слов о стилизации React компонентов Стилизация. Довольно насущный для меня момент. Несмотря на годы работы с React, стартуя новый проект, я каждый раз задумываюсь о стилизации. Я перепробовал многие её способы, больше и дольше всего я работал с css-modules и styled-components. Сегодня я хочу предложить вам ра...

Пишем свои модули для Ansible на Python Для жаждующих знаний и прогресса собрали материал из урока Дениса Наумова, спикера курсов Ansible и Python для инженеров. Немного разберёмся с теорией и посмотрим как написать модуль для создания пользователей в базе данных.Материал объёмный. Рекомендуем сразу открыть итогов...

[Перевод] Создание собственного React с нуля В последнее время видны масштабные изменения в способах разработки веб-приложений. Если раньше интерфейс создавался на сервере, а на стороне клиента выполнялись лишь незначительные сценарии, то в наши дни стандартом является использование какой-либо из различных библиотек ре...

Восприятие цвета в интерфейсе: почему мы видим его по-разному Про инклюзивность в интерфейсах и то, как дизайнеру учесть особенности цветового зрения.Привет! Меня зовут Николай Комиссаров, я руковожу командой дизайна Пульса (pulse.mail.ru) и медиапроектов в VK, а также занимаюсь социальными проектами компании. Недавно, работая над...

Язык программирования Ficus для вычислений и не только Здравствуйте, уважаемые хабровчане. Меня зовут Вадим Писаревский, я являлся лидером OpenCV (Open Source Computer Vision Library) на протяжении примерно 20 лет, и продолжаю участие в этом замечательном проекте. В этой статье я рад представить вашему вниманию результат другого...

Go, я создал: интегрируем Allure в Go красиво Привет! Меня зовут Антон, я ведущий инженер по тестированию в Ozon: занимаюсь созданием и поддержкой end-to-end Go-тестов бэкенда для QA.Мы довольно долго писали тесты в основном на Python. Go – молодой язык, и популярных устоявшихся инструментов у него пока немного. В Pytho...

Погромист. Мои самые эпичные провалы за всю карьеру Я люблю критику. Если вы не заметили, я, как старый дед, всё [поливаю грязью](https://habr.com/ru/post/594601/) и всем [недоволен](https://habr.com/ru/post/550088/).Забавно, но в то же время я люблю, когда критикуют меня самого, потому что именно в такие моменты я что-то нач...

Графовые базы данных на примере простых запросов Статья  будет полезна начинающему разработчику или тому, кто хочет расширить свой кругозор практическим знакомством с графовыми базами данных. Часто в аналогичных статьях не хватает либо пошаговой инструкции по установке, либо более детального разъяснения –  как об...

Шаринг сокет-соединения между вкладками В каждом современном сервисе должны быть сториз и чат, и для начала мы решили запилить в hh.ru переписки. Меня зовут Влад Коротун, я фронтенд-разработчик. В этой статье расскажу, как неординарный подход к использованию Web Workers помог нам решить эту задачу.Для желающих пос...

Использование Gatling. Введение Привет! Мы — команда тестирования производительности в Тинькофф, и мы любим инструмент Gatling. В цикле статей мы расскажем об использовании Gatling и дополнительных инструментов, упрощающих разработку скриптов.Возможно, вы уже читали наши статьи про Gatling: первую и вторую...

Увеличение размера диска с LVM на VirtualBox Приветствую, меня зовут Иван, я системный администратор. Решил попробовать писать такие вот заметки на задачи, которые делаю редко, чтобы потом вспомнить, если понадобится. Надеюсь и ещё кому-то пригодится.Все пути и имена разделов мои, меняйте соответственно на своё. Все де...

Scrum приводит к потерям. Как с этим справляться Я начала кодить в 12 лет: 2000 год, Turbo Pascal 7.0, привет! Образование у меня тоже техническое, судя по диплому, я должна была стать программисткой. Нравилось ли мне это? НЕТ!Но IT-сфера – однозначно моё. Поэтому в 2013 году я нашла себя в роли менеджера IT-проектов. Лето...

ASO-курс от Asodesk Academy: как продвигать приложения в поиске App Store и Google Play 1 марта стартует 15-й ASO-курс от Asodesk Academy, где вы за 2 месяца на практике научитесь оптимизировать страницы приложений так, чтобы попадать в топ App Store и Google Play, и получать больше установок из поиска. Об Asodesk Academy: Asodesk Academy — это професс...

PyQt5 для начинающих Привет, Хабр! Сегодня я вас хочу научить делать интерфейс на Python 3&PyQt5. Читать далее

Первые шаги с werf: собираем и деплоим простое приложение в Kubernetes В этой статье мы рассмотрим, как с помощью Open Source-утилиты werf собрать Docker-образ простого приложения и развернуть его в кластере Kubernetes, а также с легкостью накатывать изменения в его коде и инфраструктуре.Мы поговорим об общих принципах работы с werf при использ...

12 вещей, которые мы поняли за 12 месяцев работы в UX-исследованиях Привет! Нас зовут Лёня, Полина и Настя. Мы младшие аналитики-исследователи в VK. Год назад мы почти одновременно столкнулись с UX-исследованиями и стали стажёрами в UX Lab VK. Расскажем, как студентам попасть на работу в UX-лабораторию круп...

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

Эволюция разумна? Приветствую, хабрчане! Сегодня речь пойдёт об одном, на мой взгляд, интересном варианте алгоритма для самообучающейся системы. Идея подобной статьи зрела давно, однаĸо руĸи всё не доходили.Рассматриваемую ниже модель можно споĸойно отнести ĸ областям...

Как устроено карьерное развитие разработчиков в Альфа-Банке Всем привет. Меня зовут Иван, я руководитель направления “Единый фронт”, сегодня мы с вами поговорим про то, как можно развиваться в Альфа-Банке. Не только профессионально, но и карьерно, про то, какие вообще есть пути и возможности для разработчиков в Альфа-Банке.Я – бывший...

Мой опыт с Webpack 5 Module Federation Всем привет. Меня зовут Михаил, я - фронтенд-разработчик в Лиге Цифровой Экономики.В последнее время я пробую себя в должности руководителя направления фронтенд-разработки, однако я хочу с вами поделиться опытом разработки приложения с применением Webpack Module Federation, ...

FFmpeg libav с нуля. Часть 1: знакомство и начало работы Всем привет! Сегодня я хочу открыть серию статей по изучению FFmpeg libav с нуля.Сразу уточню, что в основном статьи направлены на программирование, используя библиотеки libav*, где в качестве языка выступит С++.Отмечу то, что я не являюсь профессионалом в данной теме и моей...

Тычем палкой в итераторы Итераторы – мощные и очень полезные составляющие Python. Цель этой статьи в их изучении подручными инструментами. Сразу предупреждаю, что в исследовательском арсенале у меня не швейцарский нож, а палка-копалка. Как известно, она предназначена для разрыхления почвы, но для не...

Как стать джуном и попасть на оплачиваемую стажировку? Привет! Меня зовут Василиса Версус, и я руковожу платформой фронтенда в компании СберМаркет. Сейчас я занимаюсь менторингом senior+ и engineering manager, хотя раньше с особой страстью помогала людям делать «первые шаги» в ИТ. В этой статье я расскажу, почему я отказалась ...

Готовимся к собеседованию по PHP: Что такое «DI», «Container», «Auto-wiring» за семь простых шагов Статья написана для начинающих разработчиков на языке PHP, чтобы помочь им усвоить понятия, нужные для понимания того, как устроены и работают современные фреймворки на PHP: Dependency Injection, Container, Auto-wiring.Автор надеется, что прочтение статьи поможет вам разобра...

Разработка и графических приложений в WSL2 Данная статья будет неким дополнением опубликованной ранее (не мной) статьи. Чтобы не повторять написанное, по ссылке выше есть информация о требованиях к работе wsl2 на windows 10, как его включить, настроить, обновить и запустить графическую среду. В текущей статье я расск...

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

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

Создание телеграмм-бота (Spring Boot, Kafka, PostgreSQL), часть первая Всем привет, данная статья является, своего рода моей первой, но все же постараюсь максимально просто рассказать вам о том, как создать бота, прикрутив к нему все обещанные выше свистелки-тарахтелки.Статьи будут разделены на 2 части, первая часть - создание основного бота с ...

Kubernetes Resource Model (KRM), или YAML всему голова Connections by GrahamSym. YAML (YAML Ain't Markup Language) — язык сериализации данных, который обычно применяется в файлах конфигурации, используемых в Kubernetes, Docker, Ansible и многих продуктах. Сейчас этот инструмент незаслуженно недооценен, многие просто не понимаю...

Добавление пользовательской темы для фронтэнд-приложений Привет, Хабр! Меня зовут Павел, я фронтэнд-архитектор в компании Itransition. Вот уже более 8 лет я работаю во фронтэнде. В течении этого времени мне довелось поработать с приложениями, как полностью основанными на бэкенд технологиях, так и с классическими сайтами, написанны...

Как мы с друзьями собрали сервис для построения маршрутов для походов и велопутешествий ActiveTrip.me Всем привет! Меня зовут Александр, я разработчик ActiveTrip.me — cервиса для построения маршрутов для пеших, велосипедных, водных походов и путешествий, а также для хранения и группировки интересных мест в виде меток. О том, почему мы начали делать такой сервис, расскажем по...

Как выстроить систему планирования в жизни для достижения цели Всем привет! Меня зовут Владимир Тутынин, я методолог продуктового подхода и сегодня расскажу о своем методе планирования. Вы увидите, какие шаги я выполняю и какими инструментами пользуюсь для достижения результата.Нам понадобятся две программы:1.    &nb...

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

Это Gaidai какой-то. Сервис HTTP сценариев Привет, Хабр, меня зовут Артем Кудряшов, некоторую кучу лет я работаю в ATI.SU — крупнейшей в России бирже грузоперевозок. В разное время я писал код, управлял командами и занимался другими весёлыми вещами. В статье, что вы видите, хочу рассказать об одном из наших сервисов ...

Сервер «1С: Предприятие» на Linux: настройка доменной авторизации В данной статье мы рассмотрим настройку сервера «1С:Предприятие» для использования Microsoft AD в качестве системы авторизации клиентов 1С. Статья представляет собой описание успешно внедрённого решения, за основу брались различные статьи из открытых источников, в частн...

Dart Code Metrics — мой первый pull request В статье рассмотрел инструмент для анализа кода Dart Code Metrics и о том, насколько полезно его использовать. Постарался поделиться своими знания в создании нового правила для анализатора. Автоматизировали проверку имени класса и названия файла не только для своего проекта...

Какую СУБД выбрать и почему? (Статья 2) После публикации статьи “Какую СУБД выбрать и почему? (Статья 1)” ко мне поступили справедливые комментарии о том, что я не упомянул такие типы СУБД, как Time Series и Spatial. В этой статье я кратко опишу их и добавлю еще два типа — Search engines и Object-oriented (объект...

Databaser. Возвращение легкости стартапа Всем привет, меня зовут Александр Даниленко, я – ведущий разработчик отдела «Бюджет-Online». В компании «БАРС Груп» работаю уже 5 лет. За это время нам удалось успешно исправить некоторые сложности процесса разработки. Первая проблема, с который мы столкнулись – ра...

Тестирование СУБД: 10 лет опыта Меня зовут Сергей Бронников, я работаю в команде Tarantool. Когда я присоединился к ней, то не нашёл общего описания того, как устроено тестирование в проекте. Поэтому я вёл для себя заметки по мере погружения в разработку. Я решил переработать их в статью. Она может быть ин...

[Перевод] Развёртывание в Kubernetes из GitLab Развёртывание в Kubernetes из GitLab Это продолжение предыдущего туториала про командную разработку с использованием GitLab. Фокус предыдущей статьи был на организации непрерывной поставки в работе команды. В этой статье мы уделим основное внимание именно практическим дейст...

Как я запускал Spring Cloud Меня зовут Аксёнов Вячеслав, я старший бэкенд Java/Kotlin разработчик в крупном энтерпрайзе. Однажды я попал на проект, полный микросервисов, в котором за конфигурацию отвечала такая штука как Spring Cloud. Чтобы разобраться как именно это работает я исследовал и прикрутил э...

Трудности перехода: каков Elixir на вкус после Ruby Привет! Меня зовут Наталья. В Каруне я пишу в команде высоконагруженные сервисы на Elixir. Это третья компания, в которой я работаю на Elixir. До этого я писала на Ruby. Если посмотреть свежее исследование Хабр Карьеры по зарплатам, можно увидеть — зарплаты рубистов растут, ...

[Перевод] Исследуем .NET 6. Часть 6. Поддержка интеграционных тестов в WebApplicationFactory В предыдущей статье я описал обходной путь, который был добавлен в .NET 6, чтобы инструменты EF Core, которые ранее полагались на существование определённых методов, таких как CreateHostBuilder, продолжали работать с новыми минимальными API хостинга.В этой статье я рассмотрю...

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

Сравнение возможностей AsciiDoc и DITA Всем лучи добра! Меня зовут Владимир Маркиев, я -- технический писатель в Docsvision. Расскажу вам о двух Docs as Code инструментах. На случай, если вы делали документацию в ворде или ещё где-то, а теперь решили отделить форматирование от документации и захотели "чтобы было ...

Тысячная статья про принципы SOLID Ещё будучи совсем-совсем начинающим разработчиком, я услышал про принципы SOLID и, конечно же, совершенно их не понял. Их не помогли понять ни лекции Дядюшки Боба, ни книга его же авторства, не несколько десятков (а то и сотен) статей в интернете, которые я тогда прочитал (п...

ИИ-помощник Copilot от GitHub — как новый инструмент повлияет на работу программистов Летом 2021 года Microsoft и GitHub представили нейросетевого помощника программиста Copilot  на базе технологий компании Open AI. Авторы проекта научили Copilot премудростям работы с фреймворками и разным языкам программирования. После релиза системы было заявлено, что ...

Двигать влево или вправо? Экономический подход к ИБ Привет, Хабр! Меня зовут Петр Умнов, и сегодня я хочу рассказать об одной интересной концепции, которой поделился наш коллега Джефф Харди из Acronis Hosting Solutions. Речь идет о концепции отношения к киберугрозам со стороны хостинговых компаний, а также о методах “сдвига в...

Отечественные Линуксы: кто есть кто? В продолжении предыдущей статьи я решил разобраться - что вообще представлено на рынке "отечественных" операционных систем общего назначения. Ну то есть таких, которые можно использовать в широком спектре задач и оборудования - рабочих мест и серверов. Сразу отмечу - меня ин...

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

Визуализация данных с помощью веб-фреймворка Dash (часть 2) В предыдущей части статьи мы разбирали, что такое dash в общем, и создавали одностраничный дэшборд, взяв за основу датасет драгоценных камней с kaggle.Но! Задачи, которые падают на нас ,не всегда просты и не всегда возможно ограничить себя  одной страницей на Дашборде. ...

Когда работа стоит того, чтобы продолжать, а когда нужно «соскочить»? Эту статью-обзор на книгу The Dip мы хотели опубликовать в конце февраля, но поняли, что это будет неуместно. Как бы то ни было, продолжаем жить и работать. Возможно, именно сейчас статья и книга кому-то помогут решить сложный вопрос выбора, как строить жизнь дальше.У вас бы...

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

Индекс Лепрекона Всем привет! Меня зовут Оюна Любимова, я занимаюсь продуктовой аналитикой в Юле и Объявлениях ВКонтакте. Я отвечаю за сбор и интерпретацию данных, чтобы наша команда могла принимать уверенные решения о развитии продукта. В статье я расскажу об аналитике безопасности взаимоде...

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

«Свою работу делать не умеют, зато лезут в мою»: 7 вещей, которыми руководители проектов бесят разработчиков Привет! Я Любовь Тимошенко. Руковожу менеджерами проектов в «Лайв Тайпинге», веду блог, который помогает управлять другими и собой: без насилия, пожаров, сорванных дедлайнов и выгорания. В этой статья я расскажу, какие вещи бесят разработчиков в менеджерах, и что делать, что...

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

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

Флоптика (LS-120) Этот пост навеян отличной статьей про трискеты, которая в первые минуты чтения и меня заставила задуматься, а не пропустил ли я чего в истории средств хранения данных? Поэтому расскажу про необычные дискеты с треугольной шторкой (много фото). Читать далее

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

GraphQL-gRPC API Gateway на Java В данной статье я хочу рассказать про процесс создания концепта API Gateway для обеспечения взаимодействия фронтенда, использующего GraphQL, и бэкенда, использующего gRPC, на Java с использованием фреймворка Quarkus. Читать далее

Зачем бизнес-аналитики лезут в дизайн или как мы вырубили «лес» и избавились от «слона» Меня зовут Ирина Козлова, я — старший бизнес-аналитик в ИТ-компании STM Labs. Помимо моих ключевых обязанностей: бизнес и системный анализ, сбор и управление требованиями, я принимаю непосредственное участие в приемке макетов от дизайнеров. Разрабатывая продукт с нуля, можн...

Как создать своего бота: 4 способа для новичков и профи Чем выше спрос на разговорные интерфейсы, тем больше решений на рынке для разработки ботов. Но не всегда понятно, какое выбрать — речь даже не про конкретный продукт или вендора, а про сам инструмент. Например, можно купить уже готового бота, заказать разработку, сделать все...

Overpass API: следующий уровень владения OpenStreetMap В своих различных геосервисах мы используем данные OpenStreetMap (OSM). Данные в OSM заносятся, в основном, через специальные программы-редакторы, про самые популярные из которых мы писали тут и тут. На программном уровне редакторы общаются с главным сервером через OSM API. ...

Психовизуальная корректировка (Psycho Visual Tuning) в NVENC Привет всем!В этой статье пойдет речь о таком параметре в OBS как Психовизуальная корректировка (Psycho Visual Tuning) используемый в кодировщике Nvenc.Статья была создана для пользователей, которые хотят более подробно разобраться в кодировщике Nvenс для получения наилучшег...

Как мы подходим к поддержке ML-моделей в синтезе речи Всем привет! Меня зовут Александра Сорока, я занимаюсь синтезом речи в Тинькофф. А это — мой текст о том, зачем вообще думать о долгосрочной поддержке кода и ML-моделей. Я расскажу, почему мы отказались от опенсорсных решений, как работаем с датасетами и разными версиями мод...

Как устроен вывод Generic-типов в Java Добрый день! Меня зовут Владислав Верминский, я отвечаю за развитие профессии JVM-разработчика в Райффайзенбанке. В этой статье я расскажу про неоднозначность вывода типов в Java. На первый взгляд с ним всё очевидно, но когда сталкиваешься со странным поведением, возникают в...

PlayStation VR2 — это будет разочарование или успех? Привет, Хабр! Меня зовут Сергей! Я отвечаю за игровое направление в М.Видео и Эльдорадо. Постараюсь регулярно делиться последними новостями из мира игр и игровых устройств. Буду рад знакомству и общению в комментариях. А пока давайте поговорим про дополненную реальность и иг...

Генератор компонентов Vue.js? Разработка веб-приложения это не только решения интересных задач, работа с логикой, или с интересной версткой. Это также рутина, которая преследует каждого разработчика в процессе работы. Начиная от создания разных файлов, и написания шаблонного boilerplate кода, заканчивая ...

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

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

Держи свой трафик в тайне. SSL Pinning — ещё раз о том же самом Всем привет! Меня зовут Юрий Шабалин, я один из основателей компании Stingray Technologies. Мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. Сегодня я хотел бы снова затронуть тему безопасности сетевого взаимодействия между приложением и ег...

Динозавры не вымерли. Рептилоиды среди нас Заголовок нашей статьи прямо кричит о том, будто его создавали либо сценаристы телеканала РЕН-ТВ, либо ушлые журналисты какой-нибудь жёлтой новостной газетёнки. Однако, что вы скажете на то, если ящеры действительно, пусть и не правят миром, но и не вымерли, поскольку ш...

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

Flink для самых маленьких Привет! Меня зовут Юля, я работаю в дирекции больших данных Билайн, недавно я познакомилась с фреймворком Flink и хочу рассказать о своих впечатлениях на примере простой с первого взгляда задачи.Итак, что же такое Flink? Apache Flink – это фреймворк и движок для statefu...

AGIMA.Outsource: зачем нам 400 подрядчиков и как мы их ищем Привет! Я Юля Грибова из AGIMA, руковожу отделом закупок. В этой статье расскажу, как нам удалось за 5 лет в 40 раз увеличить количество подрядчиков у компании и зачем нам это было нужно. Думаю, узнать обо всем этом будет интересно коллегам по рынку и тем, кто сам выполняет ...

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

WinAPI из C# Язык программирования C# был создан как язык, который можно использовать для простого программирования в ОС Windows. Позже этот язык получил возможность создавать приложения и на других операционных системах, но в этой статье мы будем говорить только об ОС Windows.Для работы...

[Перевод] Создание уведомлений и напоминаний на рабочем столе из Linux терминала Иногда полезно получить визуальную обратную связь от скрипта. Хотя настольные приложения могут делать это с помощью всплывающих уведомлений, это также можно сделать из скрипта! Посмотрим как. Читать далее

Как получить пароль WPA2 WiFi с помощью Aircrack-ng? Друзья, всех приветствую!В этой статье я покажу вам как использовать airmon-ng (скрипты из пакета aircrack-ng) для обнаружения беспроводных сетей вокруг нас. Затем мы деаутентифицируем клиентов определенной беспроводной сети, чтобы перехватить handshake, а затем расшифруем е...

Открыт набор на курс по креативным методикам и генерации идей 23 марта стартует курс от IKRA Group для тех, кто заинтересован в развитии креативных процессов и в создании продуктов с помощью креативных методик.

[Перевод] Масштабируем Jetpack Compose Navigation В одном из моих личных проектов я решил использовать Jetpack Compose в качестве основной технологии. Это означало, что моё приложение будет иметь одну Activity, а вся навигация будет выполняться с помощью Compose. Когда я начал планировать проект, библиотеки Compose Navigati...

Охота на toggle: Как простую фичу сделать максимально сложно – Хей, Катя, у нас там багуля небольшая завелась. Посмотри, плиз.– Не вопрос, бро. В чем проблема?– Toggle сбрасывается при возврате на экран. Изи ваще!С этой безобидной фразы началось мое недельное приключение в мир безумной архитектуры, сумасшедших фиксов и красноглазия. И...

Игровой код, который сам себя программирует На сегодняшний день у меня выпущены четыре игры в Steam, и все они написаны на языке Haxe. Мне нравится по-максимуму автоматизировать свою работу, и сегодня я поделюсь некоторыми приёмами, которые я использую при программировании своих игр.Для непосвящённых: Haxe — это язык...

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

Как я самостоятельно раскрутил закрытую группу в FB и что из этого получилось Вопрос работы в Facebook с закрытыми группами и страницами у меня возник, так как средств на копирайтера и отдельного маркетолога у меня нет. Потому пришлось самостоятельно изучать, что и как работает. Сначала для клиентов, а потом и для себя.В этой статье я делюсь личным оп...

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

Метод проб и ошибок: как мы создавали кастомный импортер в Unity3D для текстурных массивов Основной контент в играх — это почти всегда текстуры, поэтому нужно особенно внимательно следить за ними в целом, их размерами и сжатием. Раньше на проекте  War Robots у нас был устоявшийся и вполне рабочий пайплайн по импорту текстурных массивов, на выходе которог...

EMM Всемогущий: как подчинить 170 тысяч корпоративных устройств? Всем привет! Меня зовут Илья Никулин, с марта 2021 года я руковожу командой по развитию EMM-системы «Магнита». Каждый, кто решает рабочие задачи с помощью мобильных устройств, знает, что для большой компании важно «не тормозить»: быстро дос...

[Перевод] Flutter 2.8: что нового Повышение производительности, новые фичи Firebase, состояние десктопной версии, новые инструменты и многое другое.Я — Евгений Сатуров, Head of Flutter в Surf и ведущий Flutter Dev Podcast. Представляю перевод официальной статьи про свежий релиз Flutter 2....

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

Курс начинающего бэкендера в Metaclass: интервью со студентом Привет!31-го января начинается новый поток нашей школы Метакласс по курсам начинающего бэкендера и фронтендера. Мы поймали одного из наших стажеров, который проходил курс «Начинающий Backend-разработчик» и подробно расспросили: с какими знаниями пришел на курс, что было слож...

Первый хакатон ВСК — от идеи до реализации В конце 21-го года состоялся первый хакатон в истории ВСК! Точнее - это был не совсем хакатон. А почему - читайте далее!Что еще вы найдете в этой статье:• все подробности организации;• цифры и сложности;• как создать почву для решения бизнес-задач;• как повысить лояльн...

[Перевод] Стилизация однофайловых Vue компонентов Если у вас есть опыт написания однофайловых Vue компонентов, вы, вероятно, сталкивались с написанием CSS в своем компоненте. Они позволяют разработчикам группировать код более логическими способами, а не разбивать компоненты по используемому языку (HTML, CSS или JavaScript)....

Окрашивание изображений Статья про окрашивание изображений на основе работы Color2Embed: Fast Exemplar-Based Image Colorization using Color Embeddings. Рассмотрим, как переносить цвет с одной картинки на другую с помощью смеси из U-Net и StyleGAN v2. Читать далее

Ирпень. Хроники апокалипсиса Вид на центр города. Время 21:30Эта статья сугубо о технических проблемах городского жителя во время чрезвычайной ситуации. Без политики. Без персоналий. Без чернухи. Без дат и точной хронологии. Местами бессвязные заметки инсайдера, который любит создавать и использовать ку...

Как мы СМ 3.0 запускали Привет, меня зовут Виктор, я руководитель продукта сайта Спортмастер, точнее — его новой версии. Я работаю в компании с 2019 года и пришёл на проект системным аналитиком. В то время проект только стартовал. Мы выбрали архитектуру нового приложения, технологии, тактику тестир...

Автоматизация оптимизаций в Go Привет, Хабр! Меня зовут Денис Лимарев, я разработчик платежной системы в Delivery Club. Недавно мы провели два митапа: по оптимизациям и по нашему новому линтеру. На первом митапе разобрали оптимизации кода на Go, а в рамках второго поговорили про создание и возможности н...

Kubernetes в НСПК Всем привет! Меня зовут Назаров Алексей, я работаю в отделе администрирования инфраструктурных сервисов автоматизации Мир Plat.Form (НСПК) и сегодня расскажу о том, как устроены наши кластеры Kubernetes и как мы ими управляем. Читать далее

Недельный геймдев: #58 — 20 февраля, 2022 Из новостей: новая версия RPG Maker будет работать поверх Unity, Дисней опубликовал USD-ассеты из мультфильма Моана, стала доступна коллекция ассетов Scene3D для упрощения разработки 3D игр с помощью Defold.Из интересностей: статья от команды Unity по работе с террейном, ...

Что нужно клиентам Прочтя на хабре очередную статью о том, как мы и так, и эдак удовлетворяли заказчиков, прокомментировала. Я написала "дайте клиентам уверенность и спокойствие" (цит. по памяти). Просто отстаньте от нас, клиентов. От нас, лояльных. Делайте то, что у вас уже покупают. Стабильн...

Camunda: тестируем модели процессов Привет! Продолжаем делиться опытом о том, как можно автоматизировать бизнес-процессы в банке с помощью Camunda. В прошлой статье мы рассказали об одном из проектов, который создали на базе Spring Boot с подключенной Camunda в качестве библиотеки. В этом материале расскажем о...

Как приручить DDD. Часть 2. Практическая В прошлой статье я рассказал, как мы пришли к DDD и про его очень важную особенность — единый язык, на котором легче и дешевле разговаривать с бизнесом. Еще мы рассмотрели разработку, ведомую моделью. Когда вначале стоит не выполненная по требованию фича, а абстрактная модел...

Игра мечты, которую я делаю вместе с женой (Часть 1) Всем привет, я инди-разработчик, в предыдущей статье просили больше технических подробностей и подводных камей из процесса разработки игры, поэтому в этой статье я охвачу несколько основных "вещей" с которыми я столкнулся и для которых были написаны инструменты на MonoBehavi...

Как я визуализировал граф билда. Build Graph for Xcode Каждый год я стараюсь запускать по одному пет-проекту. Самый первый начинался ещё до того, как я умел пользоваться Git, а последний вообще был не программой, а книгой про доступность. Каждый проект учил меня как программированию, так и подходу к продуктовой разработке, что п...

Загадки быстрого преобразования Фурье • Метод фазово-амплитудной интерполяции (ФАИ)• Точное определение частоты, амплитуды и фазы гармоник сигнала• Выявление резонансовАлгоритм быстрого преобразования Фурье (БПФ) - важный инструмент для анализа и обработки сигналов различной природы.Он позволяет реконструировать...

Стабильность develop в Android Всем привет! Меня зовут Костя, я тимлид платформенной мобильной команды в hh.ru. Мы уже рассказывали о практиках, которые помогают нам выпускать еженедельные релизы мобильных приложений: автоматизация тестирования, Release Train, GitHub Flow, Continuous Integration. И нам ст...

Микрооптимизация кода на Go на примере простого веб-сервиса Привет, Хабр! Я работаю старшим Go-разработчиком в «Лаборатории Касперского». Сегодня хочу поговорить о том, как искать узкие места и оптимизировать код на Go. Разберу процесс профилирования и оптимизации на примере простого веб-сервиса — покажу, с помощью каких встроенных ...

Основы HTTPS, TLS, SSL. Создание собственных x509 сертификатов. Пример настройки TLSv1.2 в Spring Boot Привет, Хабр! В современном мире абсолютное большинство сайтов используют HTTPS (Google даже снижает рейтинг сайтов работающих по HTTP в поисковой выдаче), а подключение к различным системам происходит по протоколу TLS/SSL. Поэтому любой разработчик рано или поздно сталкивае...

Почему видеографы выбирают Андроид? Привет, камрады, киноделы и просто читатели!Некоторые из вас меня знают как разработчика Андроид-приложения mcpro24fps, предназначенного для видеосъёмки на телефон.Внезапные 100K прочтений моей первой статьи о недостатках телефонов Андроид побудили меня написать эту статью-р...

Как начать делать непрерывную поставку «снизу»: теория ограничений Кажется, что ускорить поставку кода на прод легко: чисто техническая задача - нужно всего лишь автоматизировать большинство ручных действий. К сожалению, такой подход не работает. В статье вы узнаете как ускорить поставку кода с помощью теории ограничений (ТОС), а также об о...

Яндекс.Практикум и “вхождение в айти” Зачем статья с отзывом о курсе на Хабре? Большая часть аудитории скорее всего уже работает в it, но у многих есть знакомые, которые интересуется вопросом “входа в айти”, и я пишу эту статью для того, чтобы её можно этим знакомым скинуть. На Хабре недавно был отзыв на Яндекс....

[Перевод] Пишем 3D-рендерер в стиле первой PlayStation Я занялся новым хобби-проектом, который мне очень нравится. Я создаю вымышленную консоль, источником вдохновения для которой стали технологии эпохи PS1. Проект довольно масштабный, но сегодня я хочу поговорить о рендеринге, который стал моим первым шагом к его реализации. В ...

Потрясающее будущее PHP-стека для карьеры Совсем недавно была позитивная новость о том, что компания JetBrains простимулировала создание специального фондаTHE PHP Foundation, который будет финансировать и координировать дальнейшее развитие PHP, как современного языка программирования. Эта отлична...

Эволюция CI в Android “Твою ж мать, какая же это хтонь!”. Примерно так можно было охарактеризовать все наши инфраструктурные скрипты до недавнего времени. Нужно было что-то менять, и мы сделали это. Меня зовут Павел Стрельченко, я – Android-разработчик компании hh. Я расскажу вам как эволюци...

Шейдеры в Unity — это не сложно. Часть 3 — добавляем блеска Всем привет! Благодарен всем за замечания и комментарии к предыдущим статьям. Благодаря всем нам мы наполняем интернет доступными знаниями и это действительно круто.Сегодня продолжаем разбираться с шейдерами, а именно с работой с освещением. В прошлой части мы разобрали тип ...

Как мы распознаем фото документов пользователей. Часть II В прошлой статье я кратко описал методы и подходы, которые мы используем в inDriver при распознавании фото документов. Во второй части подробно опишу архитектуру CRAFT и CRNN, а также варианты их использования. Прошу под кат! Читать далее

Извлечение NTLM hash пользователя из процесса lsass.exe с помощью уязвимого драйвера Приветствую вас, дорогие читатели! Сегодня я хочу рассказать о том, как с помощью уязвимого драйвера получить NTLM hash пользователя. NTLM hash находится в памяти процесса lsass.exe операционной системы Windows. Процесс lsass.exe отвечает за авторизацию локального пользовате...

Как проходит интервью мобильных разработчиков в Тинькофф Привет! Я Максим Коробов, руководитель отдела разработки мобильного приложения Тинькофф. В статье расскажу о том, как проходит отбор кандидатов на вакансии разработчиков iOS и Android, что спрашивают на первичном и техническом интервью и какие задачи предлагают решать во вре...

Ontol про Kotlin: подборка 28 самых полезных бесплатных курсов и видео на Youtube На английском freeCodeCamp — лучший и при этом бесплатный канал для самообучения программированию. Многие платные школы просто делают «рерайт» их программ и продают за 100К руб. 850 000 просмотров 2,5 часа курс для начинающих 2019 года Содержан...

[Перевод] Полезные и неизвестные возможности Java В этой статье вы узнаете о некоторых полезных функциях Java, о которых вы, вероятно, не слышали. Это мой личный список функций, использованных мной недавно или с которыми я столкнулся при чтении статей о Java. Я сосредоточусь не на языковых аспектах, а на API. ...

Погружаемся в работу со скроллом в Jetpack Compose В этой статье я хочу поделиться опытом работы со скроллом в приложении, написанном на Jetpack Compose.Какое-то время назад я решил, что надо попробовать Compose в деле и начал делать pet project приложение Хотелки, суть которого в записи своих желаний и возможности делиться ...

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

Как применять Branch by Abstraction в проекте на примере Android-разработки Представим простую историю. Вы заканчиваете делать рефакторинг, которым занимались последние 2 недели. Вы хорошо над ним поработали, сделали несколько ключевых изменений в проекте. Делаете долгожданный pull request, и ... 12 конфликтов.Или другой вариант. Вы работали и посто...

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

CRUD 0.11.0 для Tarantool Неделю назад вышла новая версия модуля CRUD для Tarantool. В 0.11.0 появилось множество нововведений, просьбы о которых поступали от наших пользователей. Что изменилось, как этим пользоваться и кому это может быть полезно? Расскажем обо всём.Tarantool — это платформа in-memo...

Использование Typescript для создания react компонента «Простой фабрики» Использование Typescript при создании React компонента «Простой фабрики»Создадим типизированный компонент-фабрику правильно. Так, чтобы он принимал только нужные параметры и ругался на некорректные. Данный подход применим и в других ситуацией, но&nbs...

Как я создаю игры на своём 3D движке в одиночку Много лет назад я занимался созданием маленьких Flash игр и публиковал их на сайте Newgrounds. Сейчас я делаю полноценные игры для ПК.На сегодняшний день у меня 4 законченных коммерческих игр в Steam, и самая последняя из них — выпущенная в 2021 году Pilie Pals, о процессе с...

[recovery mode] Оконные функции SQL простым языком с примерами Привет всем!Сразу хочется отметить, что данная статья написана исключительно для людей, начинающих свое путь в изучении SQL и оконных функций. Здесь могут быть не разобраны сложные применения функций и могут не использоваться сложные формулировки определений - все написано м...

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

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

Встречаем ровер третьего поколения: история создания робота-курьера Яндекса Встречайте! Мы выпустили на улицу роботов третьего поколения — модель R3 уже можно встретить в Москве, Иннополисе и США. До конца года мы планируем произвести больше сотни таких роботов, и в дальнейшем будем расширять флот за счёт них. Меня зовут Алексей, я работаю в Yan...

Часть 1. Создание и настройка проекта, работа в редакторах microStudio В этой статье я расскажу про создание проекта и его настройку в среде разработки видеоигр microStudio. А также расскажу про работу в редакторе кода и спрайтов. Читать далее

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

Как мы меняем Anti-spoofing модель с вендорских решений на собственные Привет! Меня зовут Ренат Алимбеков, я занимаюсь задачами, связанными с Computer Vision в Beeline Казахстан. Сейчас моя работа направлена на Anti-spoofing. Моя основная задача сейчас — заменить вендорские решения в продуктах Beeline Казахстан на собственные. В этой стать...

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

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

[Перевод] Возможности Java — от Java 8 до Java 17 С момента появления в 1995 году до сегодняшнего дня в Java многое изменилось. Java 8 была революционным выпуском, вернувшим Java на пьедестал лучших языков программирования.Мы рассмотрим большинство изменений в языке Java, которые произошли с Java 8 в 2014 году до сегод...

[Перевод] RecyclerView Adapter in Android, сделай быстрее и проще Здравствуйте дорогие хабрчане. Это статья основана на статье https://blog.iamsuleiman.com/recyclerview-adapter-android-made-fast-easy/#clicklistener написанной в 2017 году на Java. А статью которую вы читаете, уже на Kotlin.Каждый раз, когда мы думаем о создании RecyclerVi...

Локальные репозитории пакетов Всем привет! Сегодня хочу поделиться нашими мыслями относительно того, как защититься от санкций палок в колёсах в современных условиях. Собственно, что мы имеем ввиду? Речь идёт о том, что в крупных проектах часто есть единые точки отказа в процессах CI/CD, это может быть к...

3.11 Математическая модель кинетики нейтронов в «точечном» реакторе «нулевой» мощности Лекции по курсу «Управление Техническими Системами» читает Козлов Олег Степанович на кафедре «Ядерные реакторы и энергетические установки» факультета «Энергомашиностроения» МГТУ им. Н.Э. Баумана. За что ему огромная благодарность!Данные лекции готовятся к публикации в виде к...

Как прошел 2021 год на Хабр Карьере Пришло время подвести итоги 2021 года и проводить его со всеми почестями! Мы делали все, чтобы Хабр Карьера похорошела, расцвела и обросла новыми функциями. Параллельно успевали проводить исследования, выпускать полезные статьи и много чего еще. Let’s dive in! Читать далее

Что нужно знать про Postman: максимально коротко о Mock Servers, Flow и Visualize На просторах интернета часто встречается информация о платформе Postman. Большинство статей включают информацию о переменных, различных скриптах и автоматизации при тестировании. Но на самом деле Postman – это не только инструмент для тестирования, а платформа, которая помог...

Как снова начать читать книги, а не ленту. Часть 1 За последние полгода я прочитала около 20 книг и перечитала ещё десяток старых и любимых. Это не то чтобы очень много, но в пять раз больше, чем я прочитала за полгода перед этим.Зачем вообще читать книги, а не ленту, лонгриды или смотреть сторисы? Сейчас даже довольно сложн...

Как побороть депрессию с помощью С++. Кто такие дескрипторы и с чем их едят Эта статья расскажет вам, как я начал бороться с клинической депрессией, используя для этого свое любимое занятие - программирование на c++. Это моя первая статья из цикла статей, который я решил назвать "Как побороть депрессию с помощью c++". Сегодня я хочу обсудить с вами ...

Android 12: история поддержки Всем привет! Меня зовут Максим Новиков, я Android-разработчик в команде мобильного оператора Yota. Совсем недавно вышла новая версия всеми нами любимой OS. Вот и пришло время нашему приложению поддержать её. Было очень много обзоров на новые возможности Android 12, а также ...

«Международный  отчёт по качеству»: тренды QA и опыт ПСБ Привет, Хабр!Меня зовут Татьяна Бельская, я работаю управляющим по обеспечению качества в Промсвязьбанке. Мы с коллегами отвечаем за процессы, которые влияют на качество работы всех наших систем.У меня возникла потребность исследовать мировые тенденции QA, чтобы понимать, ка...

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

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

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

Нужен ли Mockito, если у вас Kotlin? Салют, коллеги.В рамках пятничной статьи предлагаю посмотреть на интересный способ создания моков в Kotlin, без использования сторонних библиотек.Я занимаюсь разработкой аддонов для Atlassian-стека в компании Stiltsoft и, из-за технических ограничени...

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

Big O нотация в Swift Данная статья поможет начинающим iOS разработчикам разобраться в производительности алгоритмов в Swift.Обозначение Big O нотация (или просто Big O) — это способ оценки относительной производительности структуры данных или алгоритма, обычно по двум осям: времени и пространств...

Как я перестал беспокоиться и полюбил тестирование React-компонентов Как тестировать React-компоненты? Какую библиотеку использовать? Как тестировать компоненты, которые берут данные из Redux, а не из пропсов? Как тестировать компоненты, в которых используется роутинг с помощью React-router-dom? Что делать, если в компоненте есть асинхронный ...

Как в декабре я устроился в $βΣ₱*, а в марте меня уволили одним днем Привет, Хабр. Сегодня хочу рассказать свою очень свежую и актуальную историю о том, как в конце декабря устроился на работу в одну известную российскую компанию (в направление создания гаджетов), проработал там с искренним удовлетворением и почти без отрицательных сторон 2 м...

Командная дипломная работа: кейс удаленной разработки социальной сети Привет, Хабр! Недавно Skillbox начал тестировать формат кросскомандных дипломных проектов для студентов направления «Программирование». Сегодняшняя статья посвящена разбору первого подобного реализованного диплома по разработке соцсети, в котором приняли участие 8 студентов ...

Как мы четыре года организовываем работу на удаленке с помощью Discord Тренд 2020 года продолжает расти. Все больше компаний дают возможность работать сотрудникам в гибридном формате или полностью из дома.Я расскажу, как мы организовали удаленную работу в Discord.Меня зовут Илья, я CTO компании 2people IT и один из её основателей. Основная наша...

Про Елену Першину и Сливинского из Яндекс.Вебмастер   Вот это первый экран в Яндексе по запросу — «шкафы купе спб»:     Ну и?! Одна реклама и только реклама. Кто то скажет, что есть и другие позиции где то там внизу… Да, есть, но блядь это первый экран забирает 90% трафа Продвижение и бес...

Автоматизация глазами разработчика: Github Actions для стартапа Основное преимущество работы в стартапе – разнообразные задачи, с которыми приходится разбираться в крайне короткие сроки за минимальный бюджет. И такие условия позволяют находить и придумывать интересные решения, которые не приняты за стандарт большими компаниями.Сегодня по...

Как я тестировал Android-приложения с помощью Samsung Remote Test Lab Меня зовут Игорь. В прошлом году, параллельно с учебой в 11 классе, я проходил обучение в “IT-Школе Samsung” на базе томского IT-Куба. В конце курса обучения я одержал победу во Всероссийском конкурсе компании Samsung по разработке мобильных приложений «IT Школа выбирает сил...

Div на div’е не сидит и div’ом не погоняет: пишем семантически верные индикаторы загрузки на Angular Сверстать собственный индикатор загрузки — одна из самых простых задач, с которой может столкнуться веб-разработчик. Для получения рабочего решения пригодятся базовые знания HTML и CSS, а JS будет нужен лишь для управления процентом выполненной задачи.Однако эта простот...

[Перевод] Блокчейн на JavaScript В последнее время криптовалюты и блокчейн-технологии стали невероятно популярными. Сегодня я расскажу о моём подходе к созданию блокчейн-платформы на JavaScript с использованием всего 60 строк кода. Я — начинающий блокчейн-разработчик, поэтому если я в чём-то ошибаюсь — попр...

Разработка, сборка, деплой и мониторинг сервисов: от общего к частному и обратно Привет, Хабр! Меня зовут Андрей Перепелкин. Я руководитель группы бэкенд-разработчиков, вошел в IT более 15 лет назад, 10 лет занимаюсь Java и около 4 плотно работаю с микросервисами. В этой статье я расскажу, как:— мы организовали разработку микросервисов так, чтобы вы...

Новая глава. Как AGIMA меняет подход к кадрам Привет! Меня зовут Александр Богданов, я основатель компании AGIMA. Эта статья очень важна для меня, всей нашей команды и IT-специалистов, которые сейчас оказались на распутье. Санкции против России существенно повлияли на весь бизнес в стране и, конечно же, на рынок IT. А п...

[Перевод] Постигаем WebAssembly, рисуя кривую дракона Познакомьтесь с WebAssembly на примере этого простого туториала, требующего лишь самых общих знаний в веб-разработке. Весь инструментарий, который понадобится вам, чтобы составить впечатление о Wasm на основе готовых к запуску примеров кода – это редактор кода, любой совреме...

15 стран, 9 языков: трудности перевода одного iOS-приложения В 2017 году у Додо Пиццы появилось приложение для iOS на русском языке, а в 2019 его понадобилось перевести на румынский, а потом ещё на несколько языков. При этом ни одна строка не была обёрнута в макрос NSLocalizedString(…).В этой статье я расскажу, какие инструменты мы ис...

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

Тестирование игр в Unity3D и на эмуляторах Всем привет. Сегодня публикуем вторую часть текстовой расшифровки интенсива, который был проведен в преддверии старта курса "Game QA Engineer. С первой частью можно ознакомиться по ссылке.Интенсив провела Надежда Чертовских — руководитель отдела QA в компании BeresnevGa...

Как мы в Домклике делаем виджеты на React Всем привет! Меня зовут Игорь Савин, я frontend-разработчик в компании Домклик. На текущий момент у нас около 150 различных команд разработки, из которых большая часть связана с разработкой какого-либо фронтенда на HTML, CSS и Javascript. Но когда так много команд, непременн...

Новое слово в расчётах систем видеоконференцсвязи — часть №2: расчёт диагонали ТВ и VR-визуализация 360˚ В прошлой статье Часть №1: подбираем видеокамеру, используя 3D-моделирование мы показали удобные современные инструменты для подбора оптимальной камеры для переговорной комнаты или конференц-зала.Этому проекту посвящается цикл статей:Часть 1: Подбираем видеокамеру, используя...

[Перевод] Туториал по JUnit 5  - Введение В этом туториале по JUnit 5 рассказывается о том, как JUnit адаптировал стиль кодирования Java 8 и некоторые другие функции. Узнайте, чем JUnit 5 отличается от JUnit 4.JUnit 5 - наиболее широко используемая среда тестирования для приложений Java...

Три способа отследить запросы Greenplum, которые «отъедают» слишком много ресурсов Привет, Хабр! Меня зовут Роман, я работаю разработчиком в компании Arenadata, где мы решаем много задач, связанных с Greenplum. Как-то мне представился случай разобраться с одним непростым, но вполне типичным для этой СУБД кейсом. Необходимо было выяснить, на обработку каких...

Парсинг FIT файлов c данными тренировок Мне стало интересно проанализировать данные о своих тренировках за последние несколько лет, и я понял, что обычного функционала приложений типа Garmin Connect или бесплатной версии Strava будет недостаточно. В этой статье я расскажу как получить свои персональные данные о тр...

[Перевод] Запись Extended Events в таблицу Опубликовано 23 февраля 2022 годаАвтор статьи Gianluca SartoriВ этой статье описывается, как отловить все запросы, выполняемые на сервере, и сохранить данные событий xEvents в таблицу SQL Server. Последнее вызывает трудности при использовании стандартных целей для сессии рас...

Kincony KC868-A8: старший брат из Ханчжоу. Часть 2. Программируем A8 В прошлой статье мы познакомились с контроллером Kincony KC868-A8 и его схемотехникой, в этой статье мы разберём программирование его функциональных блоков (входов, реле, температурных датчиков, Ethernet интерфейса и т. д.). Примеры кода из этой статьи вы сможете использов...

Proof Of Concept на Python или как портировать С/С++ Язык программирования Python существует уже 31 год. Это полностью объектно-ориентированный язык. За все время существования на нем стало возможно применять разные парадигмы. Сейчас этот язык может поддерживать:- объектно ориентированную парадигму- структурное программрование...

[Перевод] Фаззинг сокетов: Apache HTTP Server. Часть 3: результаты Прим. Wunder Fund: наш СТО Эмиль по совместительству является известным white-hat хакером и специалистом по информационной безопасности, и эту статью он предложил как хорошее знакомство с фаззером afl и вообще с фаззингом как таковым.В первой части э...

Собираем компилятор для ПЛИС Lattice ECP5 в лице Yosys и NextPNR для работы в ОС Windows Наш цикл про ПЛИС Lattice ECP5 растянулся уже на шесть статей. Мы уже научились не только создавать простые проекты для них, но набили руку в разработке сложных систем на базе кроссплатформенной открытой среды LiteX. В целом, я уже набрал материалов, чтобы выдать инструкцию,...

Unity «Best» Practices Эта статья родилась из внутреннего доклада для коллег, которые уже достаточно давно занимаются разработкой игр, но только недавно прикоснулись к Unity. Здесь мы собрали фишки и особенности работы с этим игровым движком разной степени капитанскости, почерпнутые из собственног...

Как настроить Jenkins в связке с Ansible Эта статья — способ заглянуть в курс «Ansible: от первых шагов до большого проекта». Всеволод Севостьянов, Lead Engineer в Vene, отвечающий за пайплайны и deployment, показал, как настраивать Jenkins в связке с Ansible. Читать

Выводим программных роботов на третью космическую скорость, или RPA в Linux Программные роботы (RPA) с каждым годом всё больше проникают в IT-инфраструктуру компаний, а доля роботизированных процессов в бизнесе постоянно растет. Чтобы поддерживать увеличивающееся количество автоматизированных процессов организациям необходимы дополнительные вычислит...

Изоляция зубов в стоматологии Если Вы подумали, что стоматологи нашли способ отправлять зуб на карантин, то спешу Вас огорчить, эта статья немного о другом. А именно о изоляции зубов с помощью системы коффердам.Коффердам - это немецкое слово, которое можно дословно перевести как: "резиновая преграда...

Универсальный Helm чарт для ваших приложений Приветствую всех Хабровчан. Сегодня говорим про Helm и то, как мы у себя в Nixys пришли к универсальному чарту, который стали использовать в своей работе как стандартный инструмент и почему это сделало нашу работу эффективнее. Читать далее

[Перевод] Культура совещаний: почему Amazon ставит документ во главе всего Привет, Хабр! Меня зовут Александр Попов, я PR-директор МойОфис. Еженедельно в моем рабочем графике бывает до 30 совещаний. Проведение встреч, а также подготовка к ним, забирают много сил и времени. С целью научиться эффективнее расходовать свои ресурсы, я решил исследовать ...

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

[Перевод] Эмбеддинги признаков и повышение точности ML-моделей Прим. Wunder Fund: короткая статья о том, как эмбеддинги могут помочь при работе с категориальными признаками и сетками. А если вы и так умеете в сетки — то мы скоро открываем набор рисерчеров и будем рады с вами пообщаться, stay tuned.Создание эмбеддингов признаков (fe...

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

Прототипирование процессоров Baikal на платформе Synopsys HAPS Если предыдущая статья про гибридное прототипирование https://habr.com/ru/company/baikalelectron/blog/582782/ описывала новаторское использование платформы HAPS, то сегодня мы расскажем в общем - что такое прототип, и какие традиционные подходы к  прототипированию испол...

Как я разблокировал Upwork профиль и заработал более $250k за год Мне было страшно писать об этом до недавнего времени. Upwork стал одним из основных источников дохода для меня лично и для моего агентства, поэтому после восстановления аккаунтов я боялся, что если я опубликую это - меня снова заблокируют.Но в этой статье я поделюсь историей...

«Слив денег, сил и времени»: 5 ошибок цифровой трансформации 5 ошибок цифровой трансформации: "Слив денег, сил и времени".Если элементы цифровой трансформации не связаны друг с другом и с вашей основной стратегией, вы просто сливаете деньги, силы и время. А потом происходит расхолаживание, и вы думаете: «...

Actions: как в GitHub, но в GitLab Привет! Меня зовут Артемий Окулов, я lead центра компетенций CI/CD в X5 Group.То, чем мы с командой занимаемся, можно отнести к области под названием Developer Experience. В какой-то момент ИТ в компании достигает такой зрелости, что появляются tools team, enabling team и ин...

Что такое Netcat? Bind Shell и Reverse Shell в действии Друзья, всех приветствую!В этой статье мы поговорим о том, что такое Netcat и с помощью него реализуем Bind и Reverse Shell соответственно.NetcatNetcat, впервые выпущенный в 1995 году (!), является одним из "оригинальных" инструментов тестирования на проникновение в сеть. Ne...

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

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

[Перевод] Этапы работы Jetpack Compose Как и большинство UI-фреймворков, Compose рендерит кадр в несколько различных этапов. В системе Android View есть 3 этапа: Measure, Layout и Drawing. Compose очень похож, но имеет важный дополнительный этап Composition в начале. 1. Composition: какой UI показывать. Compose з...

[Перевод] Практические рекомендации по работе с Docker для Python-разработчиков Прим. Wunder Fund: в этой длииинной статье вы найдете ряд полезных советов по работе с Docker, как общего характера, так и Python-специфичных. Хоть мы и давно используем Docker в работе, про некоторые советы мы подумали "а что, так можно было?". Советуем вначале пролистать с...

Как устроены облачные сети и чем они отличаются от On-premise Cloud Station — Photoshop Art by PhaseRunner Принципы построения облачных и On-premise-сетей различаются: в облаке много новых сетевых сущностей и подходов к построению инфраструктуры. Но новое не значит сложное. Меня зовут Болат Кажкенов, я архитектор VK Cloud Solutions....

Охота на Вампуса. Переосмысление классической игры для Алисы Привет! Меня зовут Кирилл Богатов, я дизайнер голосовых интерфейсов в команде TORTU и заядлый геймер. Когда эти две страсти сталкиваются, рождаются необычные концепты для голосовых игр.Месяц назад я выпустил игру «Охота на Вампуса» для голосового ассистента Алисы. Игра получ...

7 + 1 способ анимировать спиннер Меня зовут Евгений Подивилов, я фронтенд-разработчик в команде «Лайфстайл». Я разрабатываю раздел «Развлечения». В этом разделе можно купить билеты на мероприятия или забронировать столик в ресторане.Многие недолюбливают бесконечные индикаторы загрузки, потому что по ним не ...

Как сделать ваши GitLab CI пайплайны быстрее Привет, меня зовут Владимир. Я работаю в компании GitLab Архитектором Решений и время от времени я отвечаю на вопросы, которые, как мне кажется, могли бы быть интересны широкому сообществу. Сегодня я поделюсь рекомендациями о несколько способах ускорения выполнения CI/CD зад...

[Перевод] Remix: руководство по новому open source React-фреймворку Последнее время кажется, что React-фреймворки выходят каждый день. Хотя каждому из них есть, что предложить, Remix особенно выделяется. Remix — React-фреймворк для SSR (server-side rendering) от создателей react-router, который заопенсорсили совсем недавно.В этой статье мы п...

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

Как выложить свою первую библиотеку в open source Привет. Меня зовут Роман Аймалетдинов, я разрабатываю под Android в inDriver. Сегодня я решил поделиться своим небольшим знанием о том, как выложить в open source свой проект. Приятного чтения! Читать далее

DevSecOps by Swordfish Security. Часть первая Меня зовут Юрий Сергеев, я основатель и управляющий партнер в Swordfish Security. С 2017 наша компания активно занимается проблематикой построения процессов разработки защищенного ПО (Secure Software Development Lifecycle). За прошедшие годы нам посчастливилось реализов...

TINKOFF-INVEST. Разработка торгового робота на JAVA. Часть 1 Многие что-то слышали, некоторые даже пробовали, но лишь единицы рассказали о таком мощном и удобном инструменте автоматизации биржевой торговли, как TNIKOFF INVEST API. Полностью раскрыть все возможности API или написать полноценного робота в рамках одной статьи – непосильн...

Пентестер: суть профессии, востребованность, зарплата и другие нюансы Интриговать людей заявлением «Я работаю хакером», защищать данные, деньги и репутацию компаний в сети — звучит как интересная профессия нового времени. Но о ней мало говорят открыто. Если труд разработчиков заметен окружающим, то существование пентестеров и их методы обеспеч...

Какие тесты выбрать для облака? Сравниваем варианты Привет, Хабр! Меня зовут Илья Казначеев, я техлид в MTS Cloud, это облачный провайдер МТС. Моя команда занимается сервисом Kubernetes Managed, а еще мы проводим тесты облачных платформ. В этой статье я расскажу о нашем опыте: какие виды тестов мы пробовали, как боролись с пр...

Как вырастить джунов — советы бывалых из 2ГИС Привет, это снова Даша. В прошлой статье я рассказывала о том, как наняла в команду 7 джунов. Но просто привести людей в команду недостаточно, надо чтобы они в ней ещё и прижились. Для погружения джунов в работу мы выработали процесс. Он состоит из четырёх этапов и длится от...

Вторая часть гайда по интервью за рубежом — Coding, System Design и Culture Fit Мы GeekFactor. Вместе с GetMentor мы помогаем разработчикам найти работу за границей, а компаниям подбираем подходящих кандидатов.Главные этапы в собеседовании зарубеж — подача резюме, system design interview, coding interview и culture fit interview...

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

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

[Перевод] React, AbortController и асинхронные onClick вызовы Добрый день, читатели Хабра, представляю вашему вниманию перевод статьи React, Abort Controller and onClick async calls Что такое Abort Controller в JavaScript Web Apps, как его использовать в React для прерывания асинхронных вызовов? Теория и некоторые примеры использова...

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

4 PowerShell-скрипта для проверки действительности ваших SSL-сертификатов Привет, Хабр! Меня зовут Андрей Благов, я архитектор центра профессиональных сервисов и R&D в облачном провайдере T1 Cloud, и сегодня речь пойдет о сертификатах SSL. Добавляйте статью в закладки, она вам точно пригодится. В ней я поделюсь PowerShell-скриптами для проверк...

Kincony KC868-A4: ультимативный гайд. Часть 3: управление контроллером через Telegram-бота В предыдущей статье цикла о Kincony KC868-A4 было рассмотрено «атомарное» программирование компонентов этого контроллера, в этой статье будем разбирать более продвинутый пример работы с KC868-A4 — управление вашей (IoT) системой через интернет. Способов управления контрол...

Инструменты для снятия логов с Android / iOS-устройств. Чтение и разбор Привет! Сегодня стартует наш четвертый митап для тестировщиков, QAчественное общение. До 18:00 МСК на него все еще можно зарегистрироваться. А пока мы начинаем выкладывать доклады с предыдущего митапа, и начинаем с Ольги, старшего QA-инженера в компании red_mad_robot. Погово...

Ремонт  Sony WH-H910N h.ear on 3 В статье Вы узнаете как починить "не подлежащие ремонту" наушники за сущие копейки. Статья написана по большей части для таких же заложников ситуации как я. Читать далее

Тестирование офисных пакетов Р7-Офис, МойОфис, LibreOffice и MS Office Всем доброго времени суток. В рамках импортозамещения или точнее ухода от MS Office, на работе, возникла необходимость в рассмотрении российиских аналогов офисных пакетов и пакета LibreOffice, т.к. он автоматически установлен в дистрибутивах astra linux. Здесь хочу поделитьс...

Градиентный бустинг с CatBoost (часть 2/3) В первой части статьи я рассказал про понятие градиентного бустинга, библиотеки, с помощью которых можно реализовать данный алгоритм и углубились в одну из этих библиотек. Сегодня продолжим разговор о CatBoost и рассмотрим Cross Validation, Overfitting Detector, ROC-AUC, Sna...

Случайные лабиринты и сапёр от третьего лица, инопланетные жуки и алгоритм Брезенхема Всем привет! Уже больше 30 лет я занимаюсь разработкой видеоигр и регулярно экспериментирую с различными игровыми механиками. В результате я пришел к идее создать игру по типу сапёра, но от третьего лица и на roguelike подобном уровне.Исследуя большое пространство, нужно соб...

Как из джуна стать сеньором и что сделать чтобы их отличить? Данная статья рискует стать моей самой короткой статьей. В общем виде ответы на эти вопросы очень простые. Выглядят они примерно так:Тезис 1. Чтобы стать сеньором надо иметь интересные проекты, на которых ты можешь вырасти и уметь внимательно читать документацию. Тезис ...

Как я стал программистом, потом тимлидом и сейчас ращу тимлидов Всем привет, меня зовут Дима, и последние 9 лет я работаю в компании Veeam. Начав простым C# разработчиком, я вырос в тимлида маленькой, но дружной команды из семи человек. Как так получилось, а также о том, что начинается там, где заканчиваются статьи с историями успеха – о...

Изолируем микросервисы с помощью Feature toggles в ASP.NET Core. Теория и подготовка Привет, Хабр! Если вы работаете с микросервисами, то знаете, что они имеют свойство образовывать некоторую связанность. Хорошо, когда связи между микросервисами однонаправленные, но всё становится сложнее, если возникают циклические зависимости.Такие зависимости приводят к с...

STM32, CMSIS, CAN, Часть 1 — передача Привет, сегодня мы будем настраивать отправку данных с помощью CAN (Controller Area Network). В интернете много информации о том, как настроить CAN использую HAL библиотеку, а в случае использования CMSIS информация обрывочна, по этой причине решил рассказать о своем опыте р...

Respect Validation на Python Всем привет! Сегодня мы поговорим о валидации данных, а точнее о том как я перенёс библиотеку с PHP на Python. Библиотека настолько крутая (по мнению автора), что рекомендую вам с ней ознакомиться, особенно, если вы пишите API с библиотекой flask (ссылка на интеграцию в ста...

Как я делаю дрон из Raspberry Pi и ESP32 (или мои первые шаги в робототехнике) Всем привет, меня зовут Антон, и как вы могли уже догадаться из названия, решил я рассказать о своих попытках вкатиться в робототехнику, а в частности о своем дроне из Raspberry Pi и ESP32. Читать далее

[Перевод] Запускаем HAProxy Kubernetes Ingress Controller вне Kubernetes-кластера Обычно вы можете запустить HAProxy Kubernetes Ingress Controller как pod внутри Kubernetes-кластера. Как pod, он имеет доступ к другим pod, потому что они используют внутреннюю сеть Kubernetes-кластера. Это дает возможность управлять маршрутизацией и балансировать трафик к п...

Инструмент Web Capture в Microsoft Edge теперь работает и с PDF-файлами Microsoft Edge позволяет делать кастомные скриншоты веб-контента с помощью инструмента Web Capture, но до этого момента он никогда не работал с PDF-файлами. Последняя сборка Edge Canary позволяет использовать кнопку Web Capture, даже если на вкладке открыт PDF-файл. Даже в п...

«МойОфис Аналитика»: изучаем отечественное ПО для анализа и визуализации данных Продолжаем рассказывать аудитории Хабра о возможностях продуктов МойОфис, которые позволяют работать с документами, в том числе совместно, до 30% быстрее. Напомним, что ранее в нашем блоге уже выходили статьи про работу с формулами, сводными таблицами и м...

Настройка LEMP сервера для простых проектов. Инструкция для самых маленьких. Часть третья Приветствую читателей! В рамках текущей серии статей я рассказываю о том, как настроить сервер для простых проектов. Имеется ввиду сервер для работы нескольих сайтов, с небольшой нагрузкой под наиболее популярной CMS такой например как Bitrix. Основная цель статьи указать н...

Для мониторинга CronJob в Kubernetes нужен простой советский… Привет, Олимпийский Хабр! Меня зовут Аня, я работаю в Ozon: строю и развиваю инфраструктуру мониторинга в Observability-платформе. Моя команда помогает разработчикам следить за своими сервисами и своевременно получать алерты, если что-то идёт не так. На Хабре довольно много ...

Отчётная система T-FLEX CAD 17 и приложений — ключевой компонент автоматизации создания конструкторской документации T-FLEX CAD - профессиональная конструкторская система, объединяющая в себе мощные параметрические возможности 2D и 3D-моделирования со средствами создания и оформления чертежей и конструкторской документации. Система позволяет получать КД по 3D-деталям и 3D-сборкам, созданны...

[Перевод] Ручная кофемолка: инструменты командной строки для Java В книге "97 вещей, которые должен знать каждый Java-программист" есть глава о некоторых инструментах командной строки в JDK (я дал 2 из 97 советов).Поскольку я сам часто использую такие помощники, я хотел кратко представить их в сегодняшней статье.Я предпочитаю командную стр...

7 распространенных ошибок в SQL-запросах, которые делал каждый (почти) Сегодня SQL используют уже буквально все на свете: и аналитики, и программисты, и тестировщики, и т.д. Отчасти это связано с тем, что базовые возможности этого языка легко освоить. Однако работая с большим количеством junior-ов, мы раз от раза находим в их решениях одни...

От КАМАЗа до природного газа. Самые интересные статьи про дата-центры за год Привет, Хабр! В прошлом году мы много писали про дата-центры. Статьи про необычные локации ЦОД, новые технологии и личный опыт. Будем рады, если вы найдете материалы, которые еще не читали, и поделитесь мнением в комментариях. Приятного чтения! Читать да...

Тренды в IT. Что вообще происходит? Привет! Меня зовут Сергей Путятинский, в Московском кредитном банке (МКБ), я отвечаю за блок IT, клиентский сервис и бэк-офис. Не так давно мы с коллегами по цеху собирались обсудить тренды в цифровизации, причем было желание поговорить не о сферических цифровых «конях в вак...

Максим встретил Олега. Чем грозят разговоры с искусственным интеллектом На прошлой неделе мне позвонил Максим из Сбербанка. Максим премило со мной общался, но что-то в интонациях заставило меня уточнить:– А вы робот?– Да, я искусственный интеллект. – Признал Максим.Но вообще неловко как-то у собеседника уточнять, робот ли он.Недавно мы с коллега...

Краткий экскурс в ruGPT-3. Инструкция и демонстрация GPT-3 — нейронная сеть, наделавшая шума в 2020 году, как самая сложная, объёмная и многообещающая модель по работе с текстовыми данными. Создана организацией OpenAI в нескольких вариациях, от 125 миллионов до 175 миллиардов признаков. Хотя в названии организации и есть ...

Как вести учет криптовалютного портфеля в Гугл Таблицах Введение«Деньги любят счет» - это пословица, как никакая другая, очень точно описывает всю суть успешного распоряжения своими деньгами.На сегодняшний день существует множество инструментов и сторонних сервисов (Blockfolio, Coinmarketcap, Cryptocompare и т.п.) для ведения уче...

Как тимлиду и эйчару проводить собеседования, чтобы было интересно кандидату и полезно команде 100% персонала нанимается, вы их приводите в команду через найм, через собеседования. Но многие тимлиды считают, что создание команды с необходимыми компетенциями — исключительно задача HR. Но даже если они вместе пригласили кандидата и провели собеседование — не факт, что ч...

RabbitMQ Streams для сбора и обработки телеметрии умного дома Традиционно для сценариев поточной обработки с использованием Map-Reduce рассматриваются такие решения как Hadoop/Spark, либо используются конвейерные системы (например Kafka), для которых есть возможность реализовать концепцию потоков (streams) с помощью дополнительных инст...

Ростов-на-Дону: IT-компании, сообщества и мероприятия в 2021 году Привет, меня зовут Вадим и я всё ещё занимаюсь развитием ИТ-сообщества в Ростове. В 2021 у нас было много интересного — исследование ит-сообщества на 1500 человек, 70 митапов и самая большая на юге конференция с 1200 участниками и 50 спикерами со всей страны. Прошлые посты б...

История жестких дисков, часть III — Миниатюризация Жесткие диски знакомы всем пользователям, без них сложно представить современный компьютер. Конечно, SSD вытеснили жесткие диски в сценариях, где требуется максимальная производительность, например, для загрузочного раздела ОС. Но если нужна максимальная емкость, то без HDD ...

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

Открыт набор на курс «Марафон креативных методик» 27 ноября стартует курс от Школы ИКРА для тех, кто заинтересован в развитии креативных процессов и в создании продуктов.

Физика в Python с использованием Pymunk Физика. Кто-то её любит, кто-то нет, но определённо это неотъемлемая часть нашего существования. В этой статье мы рассмотрим как самому создавать физические симуляции используя всего 2 библиотеки Python. К концу статьи мы сделаем интерактивную симуляцию взаимодействия тел и ...

Чем заместить софт для 3D-дизайна и геймдева в условиях санкций В этой статье мы рассмотрим текущую ситуацию с инструментами для 3D-дизайна и игроделания и поищем возможные альтернативы. Читать далее

Управляем генерацией ruGPT-3: библиотека ruPrompts Наше семейство моделей ruGPT-3 уже нашло множество применений у сообщества: кто-то генерирует гороскопы, кто-то — факты о лягушках, статьи нейроуголовного кодекса, нейроновости и прочее. Модели накопили в себе массу знаний о нашем мире и способны подстроиться практически под...

363 дня одного года на Хабре. Что лежит в Pocket у модератора? Парадоксальная ситуация: я просматриваю практически все статьи на Хабре и читаю все в Песочнице, но при этом у меня не остаётся времени, чтобы в течение рабочего дня с удовольствием и полным погружением прочитать то, что мне интересно. Поэтому я поступаю точно так же, как мн...

[Перевод] Преодоление сложности в самом сердце DDD Эта статья является переводом материала «Tackling Complexity in the Heart of DDD».Давайте проведем небольшой эксперимент: попробуем объяснить суть предметно-ориентированного проектирования (DDD) тому, кто понятия об этом не имеет. Это, особенно если делать кратко, непросто. ...

[Перевод] Как разработчику применять принципы лидерства Amazon Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в

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

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

VPN на минималках ч.2, или трое в docker не считая туннеля Привет, хабр! К прошлой статье закономерно возник ряд вопросов, и, перед тем как продолжить рассказ о внутривенном курсе отечественного велосипедостроения внесу ряд важных уточнений. Как мне показалось, постановка задачи была достаточно понятной. Со временем оказалось, ...

[Перевод] Мониторинг приложения Spring Boot с помощью Micrometer, Prometheus и Grafana, используя пользовательские метрики Важно отслеживать показатели и работоспособность приложения: это помогает нам повышать производительность, лучше им управлять и замечать неоптимизированное поведение. Мониторинг каждого сервисного модуля важен для поддержания системы, состоящей из множества микросервисов.В э...

О жидком металле замолвите слово. Мысли об аппаратной и программной реализации Т-1000 Если вы — представитель моего поколения, и еще помните, что такое «ждать неделю, пока будет этот фильм по РТР» — то, вероятно, вас в детстве тоже интересовал вопрос «Как уничтожить Т-1000». Еще в школе друг сказал мне: «Тебе показали первого Терминатора, чтобы ты понял второ...

Иностранные хостеры с возможностью оплаты криптовалютой Всем привет! Меня зовут Леонид, я владелец сервиса Поиск VPS. Неделю назад я опубликовал статью, в которой рассказал о том, как можно оплатить зарубежный хостинг валютным переводом через SWIFT. Это один из альтернативных способов после отключения России от Visa и Master...

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

Уязвимость и баги, стоящие денег клиентам. Разбираем модуль от CS Coding для CMS CS Cart На написание данной статьи меня вдохновила уязвимость в модуле "Авторизации по телефону", который разрабатывается и поддерживается CS Coding. Читать далее

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

В перечень товаров для параллельного импорта должны войти ИТ-продукты Минпромторг РФ подготовил Приказ № 1532 от 19.04.2022 «Об утверждении перечня товаров (групп товаров), в отношении которых не применяются положення подпункта б статьи 1359 и статьи 1487 Гражданского кодекса ...

А что с хостингом? В свете последних двух недель IT-сфера в России претерпевает серьезные изменения: уход IT-гигантов с российского рынка, приостановка поставок и так далее, далее, далее… Первое, что хочется сделать — взять и заплакать. Второе — успокоиться, попытаться хоть как-то проанализиро...

Laravel: создание фабрик и seeders при связях между моделями В ситуациях, когда одна модель обязательно должна быть связана с другой моделью (например, статья и ее автор, компания и сотрудники и т.п.), большинство программистов допускают различные ошибки при создании фабрик (Factory) и сидов (Seeders) к этим моделям. Предлагаю исследо...

Недельный геймдев: #59 — 27 февраля, 2022 Из новостей: Epic Games выпустила превью-версию Unreal Engine, с 28 марта в Steam нельзя будет устанавливать скидку меньше 10 или больше 90 процентов, вышло бесплатное приложение Open Brush 1.0 для создания 3D-скетчей в виртуальной реальности, грядущие изменения режима с...

Какие задачи не решаются bat-файлами? Бат-файлы ведут свою историю со времен MS-DOS. Новые фичи добавлялись с сохранением обратной совместимости. Из-за этого многое в языке bat-файлов, как мы увидим далее, нелогично и неудобно.Вместе с тем, в bat-файле можно использовать переменные, условия, циклы и подпрограммы...

Совместимость блокчейнов: небольшая справка Всем привет! Меня зовут Валерий, я junior developer. Недавно я попал в команду западного стартапа, развивающего финансовую экосистему в сфере блокчейн. До этого я поверхностно интересовался миром криптовалюты, но непосредственно в этой отрасли никогда не работал. А тут все т...

Plantuml в работе системного аналитика. Пиши uml диаграммы текстом, чтобы сэкономить время Раньше я использовала для рисования диаграмм плагин в Confluence drawio или Microsoft Visio, который позволяет в графическом виде нарисовать диаграммы. Основная боль (для меня) у этих инструментов заключалась в том, чтобы поправить множество диаграмм надо открывать каждую, д...

Модуль ACME-клиента для Tarantool Ссылка на GitHub. Подробнее о работе алгоритма и модуля можно посмотреть здесь.Клиент ACME-протокола используется для автоматического получения сертификата безопасности для вашего сайта. Для бесплатного получения сертификата и автоматического его продления в основном все исп...

Как масштабировать сервис в 20 раз и свернуть обратно за один день Может ли команда разработки быть спокойной 8 марта, если вы в сервисе №1 по доставке цветов? Наша история.Меня зовут Дима, я работаю техническим директором в Flowwow. Мы развиваем маркетплейс локальных магазинов, которые продают красивые букеты и подарки. В нашей R...

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

Нет, правда, зачем нам TypeScript? Когда код на JavaScript содержит больше одного выражения, ну хорошо, больше трех, в нём можно легко запутаться. Выходов два — или добавить кучу проверок, но тогда код станет громоздким и его будет сложно сопровождать. Или можно добавить комментарии, но&nb...

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

Как мы научили ИИ смотреть кино Привет, Хабр! Меня зовут Алексей Мельников, я продакт онлайн-кинотеатра KION, который МТС запустил в апреле прошлого года. Отвечаю за направление искусственного интеллекта (ИИ) в продукте. В этой статье я расскажу о том, как работает фича пропуска титров и заставок в онла...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)