Социальные сети Рунета
Воскресенье, 12 мая 2024

Книга: «Рецепты Python. Коллекция лучших техник программирования» Привет, Хаброжители! В «Рецептах Python» используется простой, но эффективный метод освоения 63-х базовых навыков программирования на Python. Сначала формулируется вопрос, например «Как найти элементы в последовательности?» Затем приводится базовое решение на чистом понятн...

Оптимизируем параметры запуска приложения Spark. Часть первая Привет! Меня зовут Андрей Чучалов, я работаю в билайне, и в этом посте я расскажу про оптимизацию параметров запуска приложений в Spark, поиск проблем и повышение производительности. Разберем запуск приложений Spark в базовой и расширенной версиях, покажу методы расчёта осно...

Code smells — обзор на примере PHP Hola, Amigos! Меня зовут Евгений Шмулевский, я PHP-разработчик в агентстве заказной разработки Amiga. В этой статье хотелось бы рассмотреть вопрос качества кода и что из рекомендаций по нему лично для себя использую. Статья адресована начинающим разработчикам. Читать далее

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

JWT-аутентификация при помощи Spring Boot 3 и Spring Security 6 Переход от базовых приложений к более сложным требует использования Spring Security для обеспечения безопасности. Новая версия, Spring Security 6, изменяет некоторые базовые реализации, а русскоязычных материалов на эту тему очень мало. В этой статье мы рассмотрим JWT-аутент...

zVirt Hosted Engine: практика развертывания в картинках Привет, друзья! С этой статьи компания Orion soft начинает вести свой блог на Хабре. Сегодня я расскажу о том, как происходит развертывание системы виртуализации zVirt. Текст предназначен для тех, кто еще ни разу не работал с нашим гипервизором, но в тайне (или явно) мечтает...

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

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

Вы все еще пишете многопоточку на C++ с ошибками синхронизации? Привет, коллеги! В этой статье я покажу свой подход к написанию многопоточного кода, который помогает избежать типовых ошибок, связанных с использованием базовых примитивов синхронизации. Демонстрация идеи будет проходить на живых примерах кода на современном C++. Большинс...

Это мы юзаем: библиотека Optuna в Python для оптимизации гиперпараметров Привет, Хабр!Гиперпараметры — это параметры, которые не учатся в процессе обучения модели. Они задаются заранее. От выбора гиперпараметров напрямую зависит качество и эффективность модели, а их оптимизация может улучшить результаты предсказаний.Традиционный подход к оптимиза...

Разработка алгоритмов обработки данных в реальном времени на Python Привет, Хабр! С появлением больших объемов информации и необходимостью обработки данных в реальном времени, разработчиками все чаще приходится создавать эффективные алгоритмов обработки данных, способных обеспечивать высокую отзывчивость и мгновенное реагирование на измен...

[Перевод] Детки, не учитесь кодить. Вместо этого освойте моделирование «Я хочу творить, а не быть следствием чужого творчества. Я хочу принадлежать к тем, кто создает смыслы, а не быть плодом этого смысла».Представьте себе ситуацию. Скоро истекут сроки подачи документов в колледж. Очередная партия новичков изберет профессию, адепты которой пост...

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

Нотификации через RSocket в Альфа-Онлайн: от концепции до запуска в продакшн Однажды мы решали задачу разработки системы нотификаций для Альфа-Онлайн — мобильного банка в вебе. Нам было необходимо разработать инструмент по отправке сообщений (нотификаций) со стороны сервера в браузер в любой момент времени, пока клиент онлайн. На стороне Альфа-Онлайн...

[Перевод] Как в 180,000 раз ускорить анализ данных с помощью Rust В этой статье я опишу одно из последних своих дерзновений в сфере оптимизации производительности с помощью Rust. Надеюсь, что в ней вы откроете для себя какие-то новые приёмы для написания быстрого кода на Rust. Читать дальше →

Оптимизируя sequences — или как мой код попал в kotlin Рассказ о том, как я оптимизировал несколько функций kotlin sequences и как мои оптимизации попали в релиз kotlin 2.0 Читать далее

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

Хватит маппить все руками, используй Mapster Привет, Хабр! Меня зовут Георгий, я С#-разработчик в SimbirSoft. Хочу рассказать об опыте использования библиотеки Mapster: как он может упростить разработку, сэкономить силы и частично избавиться от рутины маппинга.Данная статья подойдет и тем, кто только собирается открыть...

[Перевод] Повышение эффективности SQL-запросов: советы и рекомендации В статье представлен ряд советов и методов, которые помогут читателям оценить производительность своих SQL-запросов и улучшить ее при необходимости. Здесь будут рассмотрены некоторые ключевые аспекты оптимизации запросов для SQL Server, чтобы помочь пользователям сделать их ...

Оцениваем сложность алгоритмов на C# по памяти и времени с примерами Продолжаем говорить о производительности и оптимизации кода. Сегодня поговорим о том, как и зачем оценивать сложность алгоритмов,  а также наглядно покажем, как эта сложность влияет на производительность кода. Читать далее

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

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

Оптимизация js/WebGL/Web Assembly Не так давно я писал про свой 2d движок jsge. При написании рендера, делал оптимизацию кода, а также экспериментировал с web assembly. Как и обещал, написал отдельную статью про результаты. Читать далее

Как оптимизировать код на С для x86-процессоров: подсистема кэша и памяти, инструкции AVX-512 Меня зовут Андрей Бакшаев, я ведущий инженер-программист в YADRO. Моя команда занимается разработкой и оптимизацией математических библиотек под архитектуру x86. До этого я 15 лет работал в Intel. Значительная часть моих задач заключалась в том, чтобы реализовывать некоторые...

Что такое The Festival Floppies и причём здесь Джон Ромеро и SimCity Вы когда-нибудь мечтали о том, чтобы найти сокровище? Люди, читавшие в детстве романы, такие как «Пираты южных морей» Говарда Пайла или «Дети капитана Гранта» Жюля Верна, живо могут себе представить сокровище в виде тяжёлого деревянного сундука с металлическими полосами, наб...

[Перевод] Как оптимизировать медленные SQL запросы? Большинство проблем, связанных с БД, во время разработки остаются незамеченными, потому что мы пишем код и проверяем его правильность только при малой "заполненности" нашей БД. Поэтому, когда приложение выкатывается в продакшн, через некоторое время начинают появляться пробл...

Применяем стандартные алгоритмы в C++. Семь примеров Привет, Хабр! Меня зовут Николай, я разработчик С++ в SimbirSoft. В этой статье я хочу поделиться своим опытом применения алгоритмов. Каждый из нас знает, что существуют алгоритмы стандартной библиотеки, и что они делают. Но не все и не всегда используют их. Я тоже их н...

Как я написал программу для преданалитики клиентов Привет! Меня зовут Александр Кулагин. Я не занимался разработкой профессионально, но заинтересовался созданием нейросетей. После изучения основ Python, NumPy и TensorFlow я захотел попрактиковаться на реальных задачах. Так я решил создать проект, который оценивает, какие ком...

Рекомендации яндекс «Куда пойти в Москве»: история моего фиаско Пару недель назад яндекс в блоге вебмастеров проанонсировал появление нового блока на поиске – с рекомендациями и событиями. Мы – клуб по игре в мафию – попробовали подключиться к этому сервису и описываем свой опыт: первая половина статьи о технических аспектах подключения,...

Базовые принципы и практики разработки чистого кода Культовый разработчик Кент Бек сформулировал принципы написания ПО, которые в вольном изложении звучат приблизительно так:1. Заставь код работать.2. Сделай его понятным.3. Оптимизируй для лучшей производительности.Этим основам не один десяток лет, однако джуны (да и старшие ...

Кратко про NewSQL Привет, Хабр!

Ключевой навык успешной карьеры в ИТ или 8 заблуждений на проектах Привет! Если по вашим венам уже во всю течет оливье, но полноценно работать работку пока не тянет, или просто хочется легкого полезного чтива, то данная статья как раз для вас. В ней я постараюсь на реальных примерах рассказать об одном навыке, который считаю ключевым для ра...

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

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

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

Правило 16 байт: развенчиваем миф о производительности структур в C# По умолчанию, при передаче в метод или при возврате из метода, экземпляры значимых типов копируются, когда как экземпляры ссылочных типов передаются по ссылке. В 2008 году была выпущена книга «Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET L...

(Не)реальная Грузия: факты, которые вас не разочаруют Открываем Хабр. Находим статью «Реальная Грузия: грустные факты, которые вас разочаруют». Читаем: тут всё плохо, дорого, негостеприимно, просто ад на земле. Я не буду говорить, что это ловушка, а скажу лишь, что это субъективный опыт конкретно одного человека, который назват...

Когнитивные искажения у аналитика данных: найти и починить df.head() — с этого момента вы начинаете работу с данными и полагаетесь на увиденное? Я тоже. Так мы наступаем в феномен what you see is all there is («что вижу, то пою, что не вижу, не спою» — вольный перевод). У ограниченного набора данных, возможно, отсортированного, мы в...

T-test. Зависимость от независимости Привет, Хабр! В статье подробно рассмотрим область применения самого базового статистического критерия Стьюдента. Посмотрим, как он ведёт себя, когда мы не хотим отдавать качество подбора наших групп на волю случая. Читать далее

OpenAI GPTs: пошаговое руководство для создания с практическими примерами, ACTIONS и внешние API Я часто использую ChatGPT в повседневных задачах. Он реально помогает в обучении, разработке и решении небольших проблем, которые легко описать. Но с другой стороны бывает сложно дать ему нужный контекст, чтобы он начал делать то, что нужно вам, а не выдавал ложь за действит...

Ускоряем Go: известные и не очень методы оптимизации и связанные с ними штуки Привет, Хабр)В этой статье хотел бы поделиться приёмами, которые позволяют повысить производительность Golang-кода. Некоторые из этих вещей довольно известные и их могут делать за вас линтеры, например go-critic, noctx (эти 2 касаются defer и отправки запросов без контекста)...

[Перевод] Частичная агрегация В нескольких предыдущих статьях обсуждалось, как в SQL Server реализована агрегация, были рассмотрены операторы агрегирования потока и хеш-агрегат. Я также использовал хеш-агрегат в качестве примера в статье Введение в распараллеливание исполнения за...

[recovery mode] Безопасность android-приложений. Реверсим OWASP MASTG Crackme 1 Всем привет! Меня зовут Максим и я занимаюсь исследованиями источников данных. В своей работе периодически приходится сталкиваться с исследованием android-приложений. В этой статье я хочу показать базовые методы реверс-инжиниринга и исследования android-приложений на примере...

Применяем Java Sealed Classes на практике В этой статье применим Sealed Classes для улучшения читаемости кода, используя пример из реальной разработки. В статье используется Java 21 т.к. это первая LTS версия Java с релизным Pattern Matching. Также в примере используется Spring Boot, но этот подход можно использоват...

Как вообще этот ваш CI CD настроить Привет, Хабр! Хочется рассказать о нашем опыте внедрения CI/CD в компанию. О том, как в целом работать с ним и как это работает у нас.Статья нацелена на новичков конкретно в этой сфере и хотят чуть детальнее стандартной документации настроить деплой, может внедрить у себя, ч...

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

[Перевод] GROUPING SETS В двух последних статьях приводились примеры агрегации WITH ROLLUP и WITH CUBE. В SQL Server 2008 появился новый, более мощный синтаксис, совместимый с ANSI SQL 2006. В этой статье будет рассказано об этих изменениях. Читать далее

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

97 откликов, 2 тестовых, 3 технических собеседования — и оффер в IT-компанию у меня в кармане Привет, я Настя — младший разработчик в «Метре квадратном». Это статья о том, как я пришла в разработку практически с нуля в 2023 году. Знаю, на «Хабре» таких уже много, но когда-то подобная статья помогла мне начать свой путь, и я решила, что этот текст тоже может быть поле...

Как усилить безопасность Linux Debian с ispmanager для сайта на Wordpress Это первая статья из цикла, в котором расскажем о практических способах обеспечить безопасность сервера. В качестве примера — операционная система Linux Debian с панелью управления ispmanager 6 и сайт на Wordpress.В этой статье опишу:▪️ Безопасность в процессе установки Debi...

Как использовать ресурсы Kubernetes по максимуму для работы с Go-приложениями Привет! Меня зовут Антон Жуков, я руковожу группой разработки в Сбермаркете. В профессии я уже более 12 лет, с Golang работаю с 2016 года, а с Kubernetes — с 2018 года. В этой статье расскажу об основах Kubernetes, возможных проблемах и решениях, а также о том, как грам...

Декодирование файла, поиск уязвимости и взлом пароля. Решаем задачи по сетям из KnightCTF 2024 Привет, Хабр! В прошлой статье я рассказывал о турнире KnightCTF 2024, который организовала команда из Бангладеша. Но туда вошли не все задачи. Под катом расскажу еще о четырех из категории networking. Читайте далее — узнаете, как получить секретную информацию в bash-histor...

Использование Symfony / PHP (II) Привет! Я, Андрей, Symfony разработчик - мы делаем сайты. Каждый день мы тратим много ресурсов на администрирование и базовые настройки проектов. В этой статье я продолжаю делиться опытом, как можно адаптировать фреймворк Symfony под свои нужды. Сегодня я расскажу как мы раб...

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

«В ЦДКЖ одни из лучших в столице свет и звук» — считает оперный и эстрадный певец Дмитрий Галихин О феномене Центрального дома культуры железнодорожников, который почти за сто лет своей истории сумел остаться знаковым культурным пространством в столице, а также о судьбе подрастающего поколения, которое воспитывают по прозападным лекалам, артист рассказал в своем интервью...

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

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

Автоматизируем сеть Яндекса с Милошем: сервис конфигураций оборудования Задумывались ли вы о том, как изменить конфигурацию сразу на нескольких сетевых устройствах? Что, если нужно сделать это на всей сети с сотнями и тысячами единиц оборудования? А что, если приходится делать это каждый месяц на железе от пяти разных производителей? Очевидное р...

Хабргорода У меня возникла идея сделать список упоминаний названий городов в статьях Хабра за 2023 год и карту по которой можно найти статьи. Когда можно найти статьи, где упомянается конкретный город. С первого взгляда задачка простая, но это как всегда дьявол кроется в деталях! Для э...

Выбираем базовые образы для приложений на .NET: минимум уязвимостей, максимум быстродействия Микросервисы и контейнеры для их развертывания сейчас являются стандартом в крупных компаниях. Для разработчиков и DevOps-инженеров это удобный подход: он дает больше возможностей и ускоряет процессы.Но для специалистов по информационной безопасности микросервисная архитекту...

Make It Right! Максимум пользы, минимум проблем: рекомендации по написанию API автотестов на Python Привет, Хабр! Меня зовут Катерина, я инженер по автотестированию в команде онлайн-кинотеатра PREMIER и сегодня я хотела бы поделиться с вами своим опытом в написании API автотестов на Python. Я работаю в сфере автотестирования уже довольно давно и на практике встречаю проект...

Как правильно описывать и декомпозировать задачи в таск-трекере. Рекомендации и примеры В чем же особенность декомпозиции рабочих задач? Наша статья даст понимание, зачем нужна декомпозиция и как описывать задачи, а также поможет вам улучшить ваши процессы. Читать далее

7 направлений оптимизации ClickHouse, которые помогают в BI Привет, Хабр! Меня зовут Никита Ильин, я занимаюсь разработкой архитектуры BI-платформы Visiology. Сегодня мы поговорим про оптимизацию ClickHouse — ведущей СУБД, которую все чаще используют для решения задач аналитики на больших объемах данных. В этой статье я расскажу, поч...

Обзор Simulator — платформы для обучения инженеров безопасности Kubernetes с помощью CTF-сценариев Ранее мы делали обзор инструментов для оценки безопасности кластера Kubernetes. Но что, если нам нужно обучить инженеров основам безопасности Kubernetes на реальных примерах и автоматизировать этот процесс? Недавно компания ControlPlane, специализирующаяся на Cloud Native-ре...

Как «оптимизация» зарплат вредит бизнесу, и что делать Оптимизация фонда оплаты труда (далее - ФОТ) в долгосрочной перспективе вредит компаниям, ухудшает их положение и усиливает кризисы. Этот вопрос мы рассмотрим на основе проблем в Boeing и Blizzard, разбора жёсткого поведения Amazon в отношении сотрудников, с примерами лучших...

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

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

Разработка сайта на Тильде на примере реального проекта — подход и разбор решений по UX и UI Привет! Сегодня хочу поделиться опытом разработки многостраничного сайта и на конкретном примере рассказать, как действую, чем руководствуюсь и на что обращаю внимание с самого начала. Погнали. Читать далее

«В ЦДКЖ одни из лучших в столице свет и звук» — считает оперный и эстрадный певец Дмитрий Галихин О феномене Центрального дома культуры железнодорожников, который почти за сто лет своей истории сумел остаться знаковым культурным пространством в столице, а также о судьбе подрастающего поколения, которое воспитывают по прозападным лекалам, артист рассказал в своем интервью...

Используем MLOps-конвейер: пример работы с Cloud ML Platform для построения сервиса распознавания лиц Есть два подхода к работе с машинным обучением (Machine Learning, ML): быть человеком-оркестром и задействовать «зоопарк технологий» для каждого этапа, или работать с готовым набором инфраструктурных решений, который позволяет выстроить MLOps-конвейер в рамках одной платфо...

Управление цветами в Seaborn: как эффективно визуализировать данные Привет, Хабр. В этой статье я расскажу про своё видение работы с цветом при визуализации графиков. Буду показывать все на примерах — уверен, они вам понравятся.Я покажу не только картинки было-стало, но и приведу примеры кода, а также объясню логику принятия решений: как исп...

Расчёт вкусов пользователя для ленты рекомендаций с применением item2vec-подхода Ежемесячная аудитория ОК только в России превышает 36 млн человек. Причём это активные пользователи, которые хорошо взаимодействуют с нашим контентом: ставят Классы, комментируют, делают репосты. Залогом активного отклика во многом является формирование новостной ленты с уче...

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

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

InfiniBand в Windows — это просто К написанию этой небольшой инструкции меня привела статья на Хабре - Быстрая сеть в домашней лаборатории или как я связался с InfiniBand . Я был очень заинтригован данным вопросом, но каково было моё удивление, когда я не мог найти почти никакой информации по InfiniBand на W...

Диплом специалиста ИБ. Часть №5 — Несанкционированный доступ к IoT-устройствам с BLE Привет, Хабр!Представьте, что вы написали собственную методику обеспечения безопасности устройств IoT и защитили собранное вами устройство в соответствии с ней. Не захочется ли попробовать проверить его защищенность самостоятельно? Эта статья является пятой и заключительной ...

Как я повысил производительность flutter приложения с помощью FragmentShader. Часть 1 Статья о том, как я добавил фичу с рисованием пальцем на экране с помощью CustomPaint во flutter приложении и далее пошагово занимался оптимизацией Читать далее

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

Создание простого калькулятора в android studio В данной статье находится лабораторная работа, направленная на создание приложения калькулятора с базовыми функциями в android studio. Читать далее

О внутрикластерной маршрутизации через Istio Привет, Хабр! Я Степан, DevOps‑инженер, занимаюсь созданием CI/CD процессов с учётом проверки кода на безопасность, поддержкой и разверткой новых кластеров Kubernetes, соблюдением требований безопасности и созданием системы мониторинга и логирования — все это ...

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

Программа поиска эллипсов и определения их параметров МНК Привет! Я новичок на Харбре. Меня зацепила статья от 2011 года: «Детектирование эллиптических частиц на микрофотографии. Новый алгоритм поиска эллипсов на изображении». https://habr.com/ru/articles/135332/. Вот комментарий к этой статье (Mrrl 27 дек 2011 в 07:49): «А почему ...

Как я нашёл работу геймдев разработчиком в США из России. Размер и способ оплаты, английский, где искать Я геймдев разработчик, и 6 месяцев назад я нашёл работу на США из РФ. В этой статье рассказываю как я это сделал. Подкрепил слова скриншотами переписок, звонков, контрактом.Рассказал про:• Размер и способ оплаты• Уровень английского• Сайты для поиска вакансий• Резюме и сопро...

Когда ни туда, ни сюда, или в поисках оптимальной границы Domain слоя Слой Application - это не только про оркестрацию, но еще немного про бизнес-логику. Следует это простить и принять внутри себя. А иначе попытки продвинуться дальше в написании кода съедят программиста-перфекциониста живьем. Можно долго искать решения, читать различные коммен...

Как мы в 4 раза ускорили мобильную версию ВКонтакте Для пользователей важно, чтобы сайт загружался быстро, — мало кто готов тратить время на ожидание. А ещё загрузка страниц влияет на оптимизацию в поисковых системах: чем быстрее открывается сайт, тем выше вероятность, что его найдёт целевая аудитория. Меня зовут Тарас И...

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

Intel выпустила бета драйвер 31.0.101.5379 без WHQL с оптимизациями для новых и старых игр Значимое повышение производительности в ряде наименований.

[Перевод] Обработка ошибок в web apps не должна быть такой сложной В процессе работы с Go я столкнулся с ещё одной проблемой — обработкой ошибок в хендлерах. Как можно сделать этот процесс удобным и эффективным для 150+ обработчиков? Как обеспечить консистентность и поддержку при обработке ошибок? Разумеется, мои поиски палочки-выручалочки ...

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

Как мы в VK Cloud SDN-ы писали С приходом широкополосного доступа и высоких скоростей мобильного интернета нагрузка на сеть стала одним из ключевых бутылочных горлышек для производительности систем. Сетевые провайдеры столкнулись с необходимостью постоянно увеличивать и оптимизировать сетевую пропускную...

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

Как успешно пройти собеседование на Technical Product Manager в Тинькофф? Личный опыт Всем привет, меня зовут Виктор и на днях я выхожу в Тинькофф на позицию тех-продакта в Платформу базовых мобильных технологий.Во время подготовки к собеседованиям мне очень помогла статья на Хабре, однако там речь шла о позиции QA. Поэтому в этой статье я хочу рассказать о л...

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

Как мы делаем свой DBaaS Сейчас мы, в Postgres Professional, разрабатываем новый интересный продукт — DataBase as a Service, и в этой статье хочется немного рассказать о наших успехах, узнать ваше мнение и послушать возможные пожелания.  Читать далее

NET hosting. Обзор вариантов и пример деплоя приложения Приложения Dotnet и Mono можно развернуть на сервере разными способами. В статье мы рассмотрим специализированные решения для хостинга dotnet приложений и предоставим инструкцию по развертыванию, написанную на конкретном примере. Читать далее

Celery: изучаем на реальных примерах ч.1 Лучший способ что-то понять - попробовать на практике, а лучшая практика - это реальные примеры. В этой статье мы узнаем шесть основных сценариев использования Celery. Разберем основные методы и аргументы, которые точно пригодятся. От асинхронной обработки задач до управлени...

Вся мощь паттернов в Wolfram Language Редкая птица долетит до середины Днепра, не каждый разработчик осилит все паттерны в WL. Нет ему равных языков в паттерн-матчинге. Чуден и необычен язык этот. Изобилует он точками, подчеркиваниями, да запятыми так, что в глазах рябит, да разум мутнеет. В этой статье я постар...

MoonShine 2.0. Что нового? Последние полгода наше комьюнити CutCode работает над новой версией нашей open-source админ-панели MoonShine. И вот недавно состоялся релиз MoonShine 2. Давайте пройдемся по всем значимым изменениям! Конечно, в одной статье я не смогу осветить все нововведения, но попробую с...

Почему Accelerate — это не страшно Всем привет! Я Игорь Белов, iOS-разработчик в Тинькофф Бизнесе, выпускник Университета Иннополис и энтузиаст в области Computer Science. Занимаюсь iOS-разработкой почти четыре года, мне нравится изучать фундаментальные темы программирования и разбираться, как все работает по...

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

Оказывается, новые процессоры Intel поддерживают уникальную функцию APO, ускоряющую игры на 20-30% Процессоры Intel Core 14-го поколения (Raptor Lake Refresh) не могут похвастаться новой архитектурой или техпроцессом, они не поддерживают Thunderbolt 5, но оказалось, что они всё же могут предложить пользователям кое-что, чего нет у предшественников. Речь о функции Int...

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

Apple, это получается, что MacBook Pro за 1500 долларов тоже только для повседневных задач? Компания снова оправдывает 8 ГБ ОЗУ в своих ноутбуках Компания Apple снова принялась защищать своё решение оснащать младшие MacBook всего лишь 8 ГБ оперативной памяти.  фото: Apple На сей раз Кейт Бержерон (Kate Bergeron), вице-президент Apple по разработке аппаратного обеспечения, и Эван Бьюз (Evan Buyze), выходец и...

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

[Перевод] Работа со временем и датой в C# с применением библиотеки Humanizer Цель этой статьи — показать вам, как использовать Humanizer, чтобы вывести работу со временем и датой в ваших C#-проектах на новый уровень. Я расскажу о том, как преобразовать объекты DateTime и TimeSpan в удобный для восприятия человеком вид, как настраивать параметры гуман...

Решение проблемы N+1 при работе с Kotlin Exposed К написанию этой статьи я подошёл после продолжительного использования Kotlin Exposed в рабочих, а также персональных проектах, когда я начал анализировать генерируемые SQL запросы. В тот момент я познакомился с проблемой N+1) Читать далее

Async/await, There is no thread – легко обмануть тех, кто сам обманываться рад Когда нам показывают на некотором примере, что асинхронная операция не создает потока, нам пытаются внушить, что асинхронная операция НИКОГДА не создает потока и в принципе не может его создать, но это не правда! Простой пример с работающим кодом доказывает обратное. Давайте...

Android Lint: оптимизируем проверку мердж-реквестов Привет, это Android-разработчик из «МТС Диджитал» Никита Пятаков. Когда я только начал работать над приложением «Мой МТС», мне нужно было время, чтобы адаптироваться и ознакомиться с проектом. На первых МР-ах коллеги подсвечивали готовые решения, которые можно переиспол...

Создание собственного компилятора В сети не так много короткой информации по написанию компиляторов, оформленных в виде краткой статьи, поэтому я решил попробовать восполнить этот пробел.В рамках данной статьи будет написан простой компилятор на C++, транслирующий код в ассемблер для MS-DOS, а также опробова...

Гайд: проектируем систему цветов. Всё про styles, tokens, variables В этой статье я расскажу как упорядочить цвета в макетах и в уже готовом продукте; как перейти от стилей к токенам (variables), а также поделюсь рекомендациями для тех, кто только собирается внедрять стили и переменные для цветов. Читать далее

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

Компания «БУЛАТ» получила положительные результаты тестирования прототипа отечественной базовой станции GSM/LTE 20 базовых станций были установлены на тестовом сегменте сети коммерческого оператора связи, практические результаты с применением целевой аппаратной платформы и ПО будут использованы в дальнейшей разработке и оптимизации программно-аппаратного комплекса.

Как работает аутентификация в Kubernetes: ServiceAccount и RBAC Эта статья является кратким агрегатором сведений, характеризующих аутентификацию и авторизацию в Kubernetes и позволяет познакомиться с базовыми понятиями, такими как ServiceAccount, RBAC, Role, RoleBinding, ClusterRole и ClusterRoleBinding. Читать далее

«Когда будет готово?». Декомпозируем задачи и оцениваем сроки без фатальных ошибок Всем привет! Я Виктор Брыксин, руковожу разработкой Яндекс Телемоста. В статье поговорим про декомпозицию задач в проекте и как можно получить реальные сроки его выполнения.Спойлер: вы все равно ошибетесь, прогнозируя сроки. Но что можно сделать? Минимизировать шанс на ошибк...

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

Как установить MikroTik CHR в облаке? Шпаргалка MikroTik Cloud Hosted Router (CHR) — удобное решение для создания виртуальных маршрутизаторов в облаке. С помощью него можно эффективно управлять сетевым трафиком, регулировать безопасность и оптимизировать работу в облачной среде. Меня зовут Кирилл, в этой статье я подроб...

Путь от монолита к разделению Compute и Storage: пример поиска «хранилища мечты» для большой аналитической платформы Для запуска и эксплуатации высоконагруженных ИТ-решений с петабайтами данных в активе, нужно проработанное решение, позволяющее гибко управлять ресурсами. Одним из критичных аспектов этого решения, является разделение Compute & Storage — разделение ресурсов инфраструктур...

Жук, нумерология, хеш или ничо? Оптимизация работы с путями Привет, Хабр! Меня зовут Евгений Кузьмин, я Java-разработчик в CDEK. Надеюсь, все знают, что это за компания и чем она занимается. Давайте представим, что вам нужно отправить посылку с гостинцами родственнику в Москву из Новосибирска. Вы приходите в ближайший пункт приёма по...

Использование Symfony / PHP Привет! Я, Андрей, Symfony разработчик - мы делаем сайты. Каждый день у нас уходит много ресурсов на администрирование и базовые настройки проектов. В этой статье поделюсь опытом, как можно адаптировать фреймворк Symfony для оптимизации таких затрат, какие настройки мы прово...

Диплом специалиста ИБ. Часть №3 — Портативное устройство SmartPulse Привет, Хабр!Вам знакомо такое чувство, когда сидишь, пишешь дипломную работу и думаешь "А не сделать ли умный пульсометр на ESP32-C3 с интегрированными механизмами защиты, динамическим пин-кодом и управлением через BLE с помощью собственного мобильного приложения для IoT-ус...

Git: Очередной лист Вопросов и Ответов В статье я постарался затронуть базовые темы в виде вопрос/ ответ на горячо любимые темы на собеседованиях и не только. Читать далее

Калькуляторы с обратной польской нотацией На хабре уже многократно проскакивали статьи и переводы о калькуляторах с обратной польской нотацией. Раньше я придавал им большого значения, пока на глаза не попался перевод статьи «Мягкое знакомство с дополнительным кодом», где фигурировал программистский калькулятор HP-1...

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

Оптимизация нейронки в Tensorflow? В отличие от Pytorch, где структура данных выстраивается налету после начала обучения нейронки – в TensorFlow граф статичен. В этой статье мы кратко расскажем про некоторые способы ускорения обучения путем изменения графа вычислений: XLA, GraphTransform Tool, квантизация, за...

Jenkins: оптимизируя динамический пайплайн → распределённая сборка компонентов ОС В процессе улучшения подходов к менеджменту зависимостей компонентов нашей Операционной Системы появилась необходимость перейти от монолитной статической сборочной системы на основе CI/CD инструментов к динамическому распределённому подходу с порождением сотен и тысяч автон...

Алгоритм поиска в глубину для процедурной генерации лабиринтов В этой статье я расскажу об алгоритме процедурной генерации лабиринтов методом поиска в глубину (Randomized depth-first search with recursive backtracking). Читать далее

[Перевод] Minecraft и REPL: взаимодействие История одной оптимизации во время мастер-класса Clojure MinecraftВ июне компания JUXT приняла участие в ClojureD, ежегодной замечательной конференции по Clojure в Берлине. В течение дня проводился ряд семинаров, на которых рассказывалось о конкретной идее или инструменте и ...

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

Intel расщедрилась. Функция APO, которая значительно повышает производительность в играх, станет доступна и на процессорах Intel снова выпускает почти то же, что и год назад. Представлена оставшаяся часть линейки процессоров Raptor Lake Refresh Компания Intel всё-таки решила расширить поддержку функции Application Optimization (APO) на более старые процессоры.  Изначально компания зая...

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

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

Книга «100 ошибок Go и как их избежать» Привет, Хаброжители! Лучший способ улучшить код — понять и исправить ошибки, сделанные при его написании. В этой уникальной книге проанализированы 100 типичных ошибок и неэффективных приемов в Go-приложениях. Вы научитесь писать идиоматичный и выразительный код на Go, раз...

Конфигурация вместо кода при написании Telegram-бота Привет! Меня зовут Никита и я пишу от имени небольшой команды студентов, разработчиков проекта Cloffer — систему онлайн-заказа для кофеен. Мы решили начать наш путь с написания связки бэкенд + набор телеграм-ботов.Эта статья будет посвящена подходу, который мы использовали д...

HappyX vs Karax: что проще? Хотите узнать, как с помощью Nim создавать клиентские веб-приложения?В этой статье я расскажу вам о веб-фреймворках в Nim и их возможностях, а также приведу примеры в сравнении друг с другом и другими фреймворками. Читать далее

Топ-3 причины, почему вы должны использовать Copilot Всем привет! Меня зовут Анатолий Барцев, я frontend-разработчик в команде Модерации Циан. Я решил протестировать Copilot, чтобы оценить, полезен ли он для реальной разработки. В статье расскажу, какие выделил для себя плюсы использования, а также покажу, как GitHub Copilot п...

Проекции в Vertica: что это, как использовать, и почему не стоит создавать их под каждый запрос Иван Якунин, продуктовый аналитик команды Fintech Marketplace, рассказал про то, как в Авито работают с Vertica, и на примерах объяснил, что такое проекции, и когда их стоит использовать. Читать далее

XMPP vs WebSockets: что использовать для приложения чата Если вы планируете разработать приложение для коммуникации в реальном времени, например чат, следует тщательно выбирать технологии. В этой статье Анастасия Иванова, технический писатель платформы МТС Exolve (входит в экосистему МТС), сравнивает два популярных инструмента — п...

PI-планирование: как с его помощью мы выстроили здоровую коммуникацию с заказчиком Привет! Меня зовут Даша Семенова, я руководитель проектов в AGIMA. Уже пять лет настраиваю процессы у одного большого заказчика. Это еком, ребята продают свою продукцию, а многие из вас ее покупают. А если не покупаете, то точно слышали. В общем, бренд известный и важный для...

Kubernetes Networking: сервисы, Ingress и Network Policies Когда я впервые столкнулся с задачей масштабирования сложного приложения в Kubernetes, то был полон оптимизма. Однако вскоре стало ясно, что управление сетевым трафиком и безопасностью в такой динамичной среде — это непросто. Наше приложение начало страдать от потерь пакет...

Запускаем локальный ML-процесс в облаке с помощью DataSphere Jobs В сообществе ML-инженеров и дата-сайентистов популярны инструменты с быстрой обратной связью наподобие JupyterLab — они помогают легко и без лишних обвязок проверять гипотезы или создавать прототипы. Но довольно часто бывает, что при разработке ML-пайплайна, будь то инференс...

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

Алгоритм MiniMax. Использование минимакса в Unity на примере игры Поймай Овечку Минимакс - популярный алгоритм для принятия решений в играх с нулевой суммой (один выиграл - другой проиграл). Казалось бы, раз он так популярен, то всё что можно было про него сказать уже сказано? Не совсем. Информация сильно раздроблена, иногда ошибочна, а найти какие-либо...

Эксперты выяснили, как сильно «базовый профиль Intel» снижает производительность процессора Intel Core i9-14900K В Hardware Unboxed протестировали мощный процессор с включенным «базовым профилем Intel».

Торговый бот на Python с нуля (с использованием Binance API), часть 2 Продолжение первой части статьи о создании торгового бота на python с нуля с использованием Binance API!В данной статье мы напишем полностью рабочую реальную стратегию с использованием биржевых данных. Я расскажу что такое линии Боллинджера, а также о других популярных страт...

[recovery mode] Как мы делаем веб-сервис для автоматизации рабочих задач на базе агентов LLM Друзья, всем привет! Сегодня хотим рассказать про то, как мы — Виталий, Даниил, Роберт и Никита — при поддержке AI Talent Hub, совместной магистратуры Napoleon IT и ИТМО, создаем Цифработа — сервис цифровых работников, который помогает оптимизировать временные затраты у сотр...

Honor сотрудничает с Gameloft для оптимизации Asphalt 9 Honor в партнерстве с Gameloft оптимизирует игру Asphalt 9 для своего нового складного смартфона Magic V2 RSR Porsche Design, предлагая игрокам улучшенную производительность в 120 FPS

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

От A/B-тестирования к Causal Inference в оффлайн ритейле Приветствуем всех читателей! Сегодня команда Ad-Hoc аналитики X5 Tech приоткроет дверь в увлекательный мир A/B-тестирования Causal Inference. С момента написания предыдущей статьи прошло уже 4 года. За это время наш подход к оценке инициатив значительно эволюц...

5 стадий принятия необходимости изучения «плана запроса» или почему может долго выполняться запрос Всем привет! Меня зовут Виктор, я работаю в Компании БФТ-Холдинг руководителем группы разработки. В этой статье разберем подходы и рекомендации по выявлению и устранению проблем с производительностью в системе базы данных Greenplum. Материал будет особенно полезен начинающим...

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

Настройка Wi-Fi «из коробки» Поводом написания статьи были частые вопросы новичков в чате Zyxel: "Как настроить Wi-Fi с нуля на новом автономном оборудовании Zyxel, состоящего из межсетевого экрана Zyxel ATP или USG Flex со встроенным Wi-Fi контроллером и точек доступа?Мануала и примеров в данный момент...

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

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

На радость владельцам процессоров Intel. Функция APO, повышающая производительность в играх, теперь поддерживает 12 новых игр Компания Intel расширила поддержку своей функции Application Optimization (APO), добавив в неё несколько новых игр.  создано DALL-E Функция, напомним, появилась ещё осенью, но всё это время поддерживала лишь две игры: Metro Exodus и Rainbow 6 Siege. Теперь же к сп...

Это база: нюансы работы с Redis. Часть 2, репликация Всем привет, на связи Пётр, инженер компании Nixys. В прошлой статье мы разобрали основные концепции Redis. Теперь рассмотрим базовую репликацию Redis и настроим эту БД на высокий уровень отказоустойчивости. Читать далее

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

Что делать, если кандидат оказался сеньором или психом: советы на случай форс-мажоров Меня зовут Александр Гирев, я Android-разработчик и технический интервьюер. В одной компании я выполнял роль interview expert: следил за качеством собеседований, готовил рекомендации и матрицы вопросов, обучал начинающих интервьюеров.Однажды на интервью я спросил кандидата, ...

PVS-Studio помогает оптимизировать проекты на Unity Engine Недавно анализатор PVS-Studio начал выдавать предупреждения о возможностях оптимизации кода в проектах под Unity Engine. Какие они, эти предупреждения? Как анализатор понимает, какой код стоит оптимизировать? Почему это сделано именно для Unity? Ответы в заметке. Читать дале...

[Перевод] Базовая гигиена серверов Linux (часть 1) Всем привет! Для того, чтобы усилить безопасность серверов Linux привожу ниже советы, основой которых является публикация 40 Linux Server Hardening Security Tips [2023 edition] Вивека Гите. В приведенных инструкциях предполагается использование дистрибутив Linux на базе Ubun...

API-автотесты: как достичь наиболее полного покрытия? Когда мы используем автотесты, то оптимизируем процесс выявления багов за счет сокращения ручного труда. И если основная потребность бизнеса в контексте тестирования — экономить деньги, минимизируя ущерб от каждого бага, то задача автотестирования: выявить наиболее полную ка...

[Перевод] Когда Random совсем не случаен Этот пост — рассказ об истории, случившейся больше десятка лет назад; её код был мной утерян. Поэтому прошу простить меня, если я не вспомню точно все подробности. Кроме того, некоторые подробности упрощены, чтобы от этой статьи могли получить все, кому нравится компьютерная...

MITRE: последователи и антагонисты Алексей Пешик, инженер-эксперт Security VisionМихаил Пименов, аналитик Security VisionВ наши дни, когда благодаря интернету у каждого есть возможность высказаться, любое более-менее значимое событие, идея или продукт вызывают обсуждение с зачастую полярны...

Настраиваем минимальный WEB-сервер на Repka Pi 3. NGINX+PFP-FPM+MySQL и ставим Wordpress В этой статье я расскажу как установить на Repka Pi 3 полноценный WEB сервер на Nginx с php-fpm и MySQL для того, чтоб в конечном счете установить WordPress и начать делать и размещать Ваш сайт на данной платформе. Ставить будем на родную ОС Repka Pi от 11.12.23 (последняя а...

Cloud Native или cloud-native: как мы разбирались с написанием термина и почему Open Source тоже пишут без дефиса На днях мы работали над переводом глоссария CNCF и начали спорить о том, как писать словосочетание cloud-native. Раньше мы использовали название с дефисом — такое правило применяется к составным прилагательным в английском языке (пример — well-known actor). «Википедия» в ста...

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

Сколько PS5 продавалось каждый день в 2023 году В 2023 году PlayStation 5 продемонстрировала впечатляющие результаты продаж, став не просто игровой консолью, но и культурным феноменом в мире гейминга.

Поиск информации в интернете: Google и DuckDuckGo — часть 1 Знанием как искать информацию в интернете владеют многие люди. Но не все знают как делать это более эффективно. В этой статье я расскажу о том, как эффективнее работать в Google и DuckDuckGo. Читать далее

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

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

Как менять команды, не увольняясь из компании. Культура горизонтальной мобильности в Контуре Меня зовут Настя Миронова, я менеджер разработки в Контуре и уже около двух лет  руковожу командой Рейнджеров – это разработчики без своего продукта, такие мобильные инженеры. Команда появилась в конце 2020 года, и за это время мы постоянно исследуем, чем можем помочь п...

Покрытие архитектуры as Code тестами

[Перевод] Когда одного Postgres'a мало: сравнение производительности PostgreSQL и распределенных СУБД Общеизвестно, что PostgreSQL - крайне эффективная СУБД с богатой функциональностью. При этом не секрет, что PostgreSQL масштабируется только вертикально и её производительность ограничена возможностями одного сервера.Написано много хороших постов, в которых сравнивают архите...

Озвучка самокатов, часть 2: MIDI через пьезоизлучатель Всем привет! В первой части статьи мы рассказали о том, как на наших IoT модулях реализована схема управления пьезоэлектрическим излучателем (баззером) с регулировкой частоты и амплитуды; как эта схема управляется микроконтроллером программно, воспроизводя простые ...

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

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

Наследие Windows XP: загадка title.wma Старые операционные системы и приложения до сих пор способны удивлять. За каждым файлом порой скрывается целая история. Кто реальный автор демоигры Pinball Space Cadet и правда ли обои рабочего стола Bliss («Безмятежность») были сняты в округе Сонома, штат Калифорния? Подобн...

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

Можно ли усилить погружение в виртуальную реальность с помощью транса, или мечтают ли игроки Oculus Quest 5 о ПТСР Это статья про компьютерные игры и о погружении в них, об «игровом выгорании» — когда кажется, что хороши игОр нет, и что играть уже не во что. Мы попробуем разобраться, что влияет на погружение в игры и как можно усилить эффект погружения для виртуальной реальности. По...

Использование опросов для измерения уровня лояльности Net Promoter Score (NPS) Net Promoter Score (NPS) играет важнейшую роль, служа барометром клиентской лояльности и удовлетворенности. NPS - это не просто метрика; это компас, который направляет компании на пути к улучшению качества обслуживания и оптимизации взаимоотношений с клиентами. По сути, NPS ...

Для файтинга Super Dragon Punch Force 3 проходит ОБТ на смартфонах и ПК На YouTube-канале GameTrailers появился трейлер кроссплатформенной игры Super Dragon Punch Force 3, которая войдёт в стадию ОБТ сегодня, 26 апреля. Тем временем клиент проекта уже можно скачать через российский App Store, а вот в Google Play игра пока доступна только в Албан...

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

«16+» или делаем шаблон страницы в XWiki на примере спецификации API Пусть вас не смущает надпись: «16+» в заголовке. В статье не будет ни слова о безудержном кутеже с куртизанками за игрой в блэк-джек.Просто я решил очередной статьей отпраздновать выпуск в свет 16-й версии XWiki – «open-source аналога Confluence» (по мнению её разработч...

[Перевод] Микросервисы и RabbitMQ в Docker Микросервисная архитектура предполагает декомпозицию монолитного приложения на несколько полностью независимо развёртываемых и масштабируемых сервисов. За пределами этого базового определения, то, что представляет собой микросервис, может быть несколько субъективным. Хотя ес...

Создаем VR офис с Termidesk и Oculus В поисках лучшей конфигурации для работы я решил попробовать VR Oculus Quest 3. Статья будет построена вокруг моего опыта по настройке VR среды для работы. Я расскажу вам о мониторах с изменяемой диагональю, боли в глазах и контроле обстановки вокруг. Читать далее

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

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

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

Как использовать макросы для систематизации документов «как в Confluence»? Привет! Приятно ведь читать хорошо оформленные статьи на уютном хабре? В которых часть текста спрятана под катом, есть подписи к картинкам, красивые и понятные таблицы и все остальные плюшки? Я думаю очень приятно. Поэтому предлагаю рассмотреть немного полезных советов, о то...

Мониторинг и трассировка в Go: от Prometheus до Jaeger Привет, Хабр!Когда приложения становятся все более сложными и распределенными, и эффективное управление ими требует глубокого понимания происходящего внутри. Мониторинг позволяет нам наблюдать за состоянием приложения, собирать ценные метрики о его работе и предоставлять нам...

Backup. Файловое резервное копирование бюджетного VPS Предыстория. В своё время, когда мне надо было найти решение этого вопроса на Хабре, казалось, что все статьи состоят из установки и настройки Veeam Backup, Proxmox Backup и прочих коммерческих решений для блочных устройств. У меня запросы поскромнее. SLA и 3-2-1 не требуютс...

Введение в Apache Flink: осваиваем фреймворк на реальных примерах Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Недавно мы начали использовать фреймворк Apache Flink. Эту технологию выбрали, так как она (в отличие от Apache Spark) относится к true-стримингу и позволяет ...

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

[Перевод] Использование фреймворков модульного тестирования для выявления уязвимостей Формулировка проблемы Поиск уязвимостей — сложный процесс, а еще сложнее пользоваться уязвимостями на нескольких целях в разных конфигурациях. Именно по этой причине существует множество фреймворков, таких как Metasploit, и различных сканеров уязвимостей, таких как nuclei....

Модификация JSON респонсов в Laravel Вчера я опубликовал перевод статьи на тему оптимизации использования респонсов в Laravel с "простейшими" данными. То есть когда в ответ нужно отдать какое-то число, строку, массив или объект. Но что делать если приложение построено на использовании Json Resource? Или ещё бо...

Kafka, go и параллельные очереди В этой статье я расскажу о паре способов увеличить пропускную способность системы с помощью партиций kafka и каналов go. В качестве библиотеки-клиента kafka буду использовать segmentio/kafka-go. Статья будет полезна начинающим go-разработчикам, которые уже знакомы с основным...

Даже базовый Oppo Find X7 получил прогрессивное размытие Hasselblad для эффектных портретов Базовый смартфон Oppo Find X7 оснащен тремя камерами. Это 50-мегапиксельный сверхширокоугольный модуль, 50-мегапиксельный широкоугольный модуль с датчиком LYT808 и 64-мегапиксельный перископный модуль. Производитель утверждает, что даже базовая версия (не Ultra) делае...

Как мы внедряли Sentry. Часть 1 — установка и настройка Привет! Я Виталий, DevOps в LEADS.SU, в этой статье хочу рассказать как мы внедряли Sentry self-hosted и приводили к продакшен состоянию, которое должно отвечать требованиям высокодоступности - нельзя терять события ошибок. При этом не хотелось заморачиваться с кластеризацие...

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

Домашний сервер GameDev разработчика. Где найти железо? Всем привет, меня зовут Иван, я программист C++ в области GameDev'а и в момент написания статьи специализируюсь на Unreal Engine.Тема домашних серверов, конечно, не нова, но у всех есть свои требования и подход к решению этой задачи. Вот и я после успешного запуска подобного...

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

Как работать с Kafka-consumer в Spring-проектах Эта статья сборник небольших рекомендаций как работать с Kafka-consumer в Spring основанных на личном опыте. Читать далее

[Перевод] Как улучшить тестируемость кода на примере Dependency Injection в Python В данной статьей вы узнаете о важности отделения операций ввода-вывода (т.е. сетевых запросов, обращений к базе данных и т.д.) от основной логики кода, особенностях использования Dependency Injection (внедрения зависимостей) для написания более тестируемого кода с примерами ...

Как QA собеседование проходил Привет, Хабр!Меня зовут Тоня. В SM Lab я работаю старшим инженером по обеспечению качества в команде продукта Интра — занимаюсь ручным тестированием и написанием автотестов на Kotlin. В этой небольшой статье хочу рассказать, как я искала работу и проходила собеседования чере...

Python и чистая архитектура… Всем привет! Сегодня я хочу поделиться своими опытом разработки на различных языках программирования и размышлениями касаемо проектирования серверных приложений. Речь пойдет про много обсуждаемую в последнее время чистую архитектуру в рамках языка python. Казалось бы, по зав...

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

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

[Перевод] Исследователи приблизились к новому пределу скорости решения задачи коммивояжера Целочисленное линейное программирование может помочь найти ответ на множество реальных проблем. Теперь исследователи нашли гораздо более быстрый способ это сделать.   Задача коммивояжера — одна из старейших известных вычислительных задач. Она заключается в поиске к...

An incursion under C#. Протаскиваем F# в Godot Godot — игровой движок, который имеет нативную поддержку dotnet. К сожалению, эта поддержка до такой степени заточена под C#, что F# она выходит боком. Почти все проблемы разрешимы, но при недостатке опыта они скатываются в большой пластилиново-волосатый валик у самого входа...

Honor Magic 6 Pro: новый флагман известного бренда. На что он способен? Привет, Хабр! Сегодня мы покажем флагманский смартфон Honor Magic 6 Pro и расскажем о его возможностях. Этот телефон весьма производителен и функционален, несмотря на устоявшееся мнение о том, что продукция Honor — это бюджетные модели с базовым функционалом. Можно сказать, ...

Современный язык международного общения БредисловиеПоводом для написания этого поста стал топик на этом же подсайте https://habr.com/ru/articles/781798/В нем автор восхваляет иероглифы, считая их "силой". Прочитав пост, я начал писать комментарий, который дорос до отдельного поста об идеальном языке международного...

Поднимаем сотовую сеть NMT-450 в домашних условиях Приветствую всех! 30 мая 2017 года в Котласе, что в Архангельской области, была отключена последняя в мире базовая станция NMT-450. Вместе с этим навсегда ушёл в историю не только этот стандарт, но и аналоговая сотовая связь общего пользования в принципе. И вот, шесть с л...

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

Тестируем AI на создании прикладного приложения Всем привет, я Григорий Тумаков, CTO в Моризо Диджитал.Недавно рассказал на Хабре, как мы в компании “потрогали” нейросети для прикладных задач разработки. Но там никаких серьезных выводов сделать не удалось.Поэтому решил на этом не останавливаться. Если есть инструменты — и...

Опубликованы примеры реальных фото с Google Pixel 8 Pro Профильное издание PBKReview поделилось примерами фотографий, сделанных на основную камеру флагманского смартфона Google Pixel 8 Pro. Авторы сделали дневные и ночные фотографии с 2-, 5-, 10- и 30-кратным увеличением. Напомним, что оцененный в 1000 долларов Pixel 8 Pro ос...

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

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

Google пытается оптимизировать формат JPEG, увеличив компрессию на 35%. Что это за технология? Формат изображений JPEG появился ещё в конце прошлого века, причём актуальность он не теряет, а, наоборот, набирает. Казалось бы, что можно изменить в технологии, которой столько лет? В Google посчитали, что сейчас самое время для оптимизации формата, а именно повышения эффе...

Как работает физика в играх В мире видеоигр игровая физика играет важную роль, определяя реалистичность и взаимодействие игрового мира с игроком. Что же происходит под капотом? Какие алгоритмы и подходы используются в современных движках? И что же значит «застрять в текстурах»? ...

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

Теоретическая и реальная производительность Intel AMX AMX (Advanced Matrix Extension) - это модуль аппаратного ускорения умножения матриц, который появился в серверных процессорах Intel Xeon Scalable, начиная с 4 поколения (архитектура Sapphire Rapids). В начале этого года ко мне в руки наконец попал сервер, с данным типом...

REST API на котиках Привет любителям котиков! Меня зовут Юля, я backend‑разработчик компании CDEK. Я сама не так давно изучала все эти сложные понятия в программировании, поэтому решила помочь и вам разобраться с одним из них.С какой стороны IT вы бы не пытали...

Я нашёл сид Мэла (melharucos) в Майнкрафте Да, название этой статьи - не обман. Я действительно сумел найти сид хардкорного выживания Мэла. Сам он притом с нами сидом не поделился.Сам сид: 3483555484082087413 Читать далее

Разгоняем Ignite в облачной инфраструктуре. Часть 1 Привет, Хабр! На связи Дмитрий Пшевский @pshevskiy и Семен Попов @samansay, технические лидеры юнита Data в Сбере. Уже более 6 лет мы заботимся о клиентских данных Сбера — храним, дедублицируем, стандартизируем, маркируем. А сегодня хотим поговорить о произво...

Что я понял на первой работе программистом / Мои советы Junior-разработчикам Всем привет! Меня зовут Максим. Я backend-разработчик, который не так давно устроился на свою первую работу. В этой статье хочу поделиться своими наблюдениями/советами/рекомендациями для начинающих программистов. Ведь, как известно, если опыт не превращён в текст, он даже не...

Разработка тензорного компилятора под RISC-V CPU с помощью OpenVINO и MLIR Привет, Хабр! Меня зовут Владислав Виноградов, я инженер группы исследований и разработки ПО глубокого обучения в YADRO. Моя команда создает и оптимизирует связанное с искусственным интеллектом программное обеспечение. Сегодня я расскажу, как можно разработать тензорный комп...

Практические аспекты ранжирования ответов виртуального ассистента Салют Всем привет! Меня зовут Аня Максимова, я занимаюсь NLP в команде Нейронные сети продукта Собеседник! 5 апреля проходила конференция Giga R&D Day, где мой коллега — Артем Снегирев рассказывал про практические аспекты ранжирования ответов виртуального ассистента ...

ChatGPT плохо отвечает на «простые вопросы». Как это починить? Привет, Хабр! Меня зовут Антон Разжигаев, я аспирант в Сколтехе и участник научной группы Fusion Brain (AIRI), работающей над мультимодальными подходами. В этой статье я расскажу о нашей последней работе — Multilingual Triple Match — системе для поиска ответов на фактологиче...

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

[recovery mode] Ваша емайл-рассылка нуждается в AMP-emails прямо сейчас В данной статье я расскажу про AMP-emails из личного опыта разработки , покажу примеры какие бывают емайлы, как их можно отправлять, в каких областях емайл-маркетинга они могут использоваться. У меня более 4 лет опыта работы с AMP-emails и мне есть чем с вами поделиться Чита...

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

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

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

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

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

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

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

В поисках ПАК: импортозамещаем немецкое «железо» в российском ЦОД Привет, Хабр! Меня зовут Артем Золотарев, я инженер по виртуализации в Oxygen Data Centres & Clouds. Любой облачный провайдер и оператор ЦОД может столкнуться с задачей проброса USB-портов виртуальным машинам, которым нужен доступ к определенным устройствам. И чем с...

Об эффективном использовании заметок на примерах из работы и личной жизни Личная жизнь – штука сложная, работа – ещё сложнее. В условиях поистине огромной кучи «контекстов» не забывать даже самые важные вещи бывает непросто, а делать то, что надо и когда надо – порой просто невозможно. Нерешаемая задача? Отнюдь. Всё уже на самом деле давно изобрет...

Принципы SOLID, только понятно Когда я только знакомился с принципами SOLID, я искал понятные статьи на Хабр. При этом пришлось прочитать не одну статью, и полное понимание пришло сильно позже. Хотелось бы, чтобы новички на более простых примерах смогли почувствовать, о чем эти принципы. Изучить принципы

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

Сравнение сборщиков мусора в Unity и .NET В этой статье я хотел бы рассказать о различиях между сборкой мусора в Unity (IL2CPP) и .NET. Несмотря на то что IL2CPP существует более 10 лет, я до сих пор встречаю недоумение, когда беседа заходит на тему Garbage Collector (GC) касательно Unity. Считать реализацию GC в .N...

Оптимизация DevOps: Как персональные стенды и Grafana улучшают разработку и мониторинг Всем привет, меня зовут Зуев Алексей, и я работаю DevOps-инженером в компании Bimeister! Сегодня я расскажу вам о том, как мы облегчаем жизнь нашим разработчикам и как разработчик может отследить состояние своего микросервиса в namespace Kubernetes. Основная цель этой статьи...

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

Алгоритмы AdaBoost (SAMME & R2). Принцип работы и реализация с нуля на Python Следующим мощным алгоритмом машинного обучения является AdaBoost (adaptive boosting), в основе которого лежит концепция бустинга, когда слабые базовые модели последовательно объединяются в одну сильную, исправляя ошибки предшественников.В AdaBoost в качестве базовой модели и...

pgvector: как хранить и обрабатывать многомерные вектора в PostgreSQL На Хабре было много упоминаний pgvector в обзорах Postgresso. И каждый раз новость была про место которое где-то за границей и далеко. Многие коммерческие решения для хранения и поиска векторов в базе данных нынче не доступны, а pgvector доступен любому, тем более в самой по...

Врач назвала напитки, которые повышают вероятность развития рака на 79% Холодными зимними вечерами часто хочется насладиться чашкой горячего чая. Но доктор Дебора Ли из И=интернет-аптеки Dr Fox предупредила, что слишком горячие напитки могут вызвать проблемы с пищеводом.

AMD продаёт ускорители Instinct MI300X со 192 ГБ памяти за 10-15 тысяч долларов, тогда как Nvidia H100 в три-семь раз дороже Об очень высокой стоимости ускорителя Nvidia H100 мы уже не раз говорили. Оказывается, что конкурирующее решение от AMD в разы дешевле.  фото: AMD Ни AMD, ни Nvidia публично не раскрывают цены на свои ускорители, тем более что цена для каждого клиента своя, но, со...

Как конструктор диалогов прокачал Робота Макса Привет, Хабр! На связи команда контента Робота Макса, которая отвечает за структуру и логику его ответов, а также разрабатывает и выводит эти ответы в прод.У Робота Макса уникальная по объёму и потребностям аудитория. Чтобы дать всем простые и полезные ответы, необходим боль...

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

Как разработчику использовать ChatGPT: разберемся, когда нейросеть помогает, а когда вредит Может показаться, что ChatGPT работает непредсказуемо: то уверенно пишет документацию к коду, то не может решить школьную задачу по математике. Самое опасное, что во втором случае нейросеть умеет ввести в заблуждение. Чтобы понимать, какие задачи можно доверить чат-боту Chat...

Когда-либо давал. F#-сервер из скрипта на примере локального брокера сообщений В ходе разработки на F# поднимать локальные web-серверы приходится гораздо чаще, чем это принято на C#. Связано это с большим количеством нехарактерных для C# активностей. То, что в C# делают плагины для IDE, у нас делают скрипты, причём их сферы ответственности пересекаются...

Как мы оптимизировали процессы обеспечения качества Привет! Меня зовут Таня, я куратор в SM Lab. В этом посте я расскажу вам о нашем пути оптимизации тестирования — узнаете, какие на нашем продукте были проблемы в процессах тестирования, как мы их решали, почему не надо отвлекать тестировщиков и в чём польза интуитивного тест...

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

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

CRTP в C++ Привет, Хабр!CRTP — это метод в C++, при котором класс наследуется от шаблона класса, используя себя в качестве параметра шаблона. Это выглядит примерно так: класс X наследуется от класса-шаблона Y<X>. Этот паттерн позволяет базовому классу напрямую обращаться к метода...

[Перевод] Как утереть нос NumPy с помощью двумерного БПФ Двумерное преобразование Фурье — один из важнейших алгоритмов компьютерной науки этого столетия. Он нашел широкое применение в нашей повседневной жизни — от фильтров Instagram до обработки MP3-файлов.Наиболее частой реализацией, используемой рядовым пользователем, иногда даж...

Как использовать ChatGPT для разработки и учебы. Четыре сценария Привет, Хабр! В 2023 году искусственный интеллект (далее ИИ)  вышел на тот уровень популярности, когда о нем не говорил только ленивый. Все больше компаний активно начали обсуждать свои разработки в этой области, а такие модели как Midjourney, ChatGPT, Gemini (ex-Bard),...

[Перевод] Гексагональная архитектура со Spring Boot Гексагональная архитектура стала популярным архитектурным паттерном, помогающим отделить бизнес-логику от инфраструктуры. Такое разделение позволяет откладывать принятие решений о технологиях или легко заменять их. Кроме того, это позволяет тестировать бизнес-логику в изоляц...

Трансформером по A*, или как уменьшить число итераций самого известного алгоритма поиска пути Привет! Меня зовут Константин Яковлев, я научный работник и вот уже более 15 лет я занимаюсь методами планирования траектории. Часто эта задача сводится к поиску пути на графе, для чего обычно используется алгоритм эвристического поиска A*. Этот алгоритм был предложен в 60-х...

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

Как научиться выстраивать килчейн Алексей Баландин, архитектор продукта Security VisionМихаил Пименов, аналитик Security VisionВпервые слово килчейн (точнее, несколько слов: The Cyber Kill Chain) как термин появилось в далеком 2011 году, когда американская компания Lockheed-Martin впервые предложила выстроит...

Зачем изучать ITSM? Всем здравствуйте. Эту статью я написала не как консультант-методолог, а как эмпатичный, отзывчивый и платежеспособный пользователь.Сталкивались ли вы с ситуацией, когда взаимодействуя с исполнителем по какому-то заказу или услуге, получаете такую порцию негатива, что потом ...

Книга «Жемчужины разработки. Чему мы научились за 50 лет создания ПО» Привет, Хаброжители! Совершенное программное обеспечение невозможно создать без изучения накопленного опыта. Опыт — главный учитель, но медленный и нередко болезненный. Но зачем же нам повторять ошибки? Книга «Жемчужины разработки» поможет совершенствоваться быстрее и избе...

Спрос на iPhone 15 в России обвалился вдвое Согласно данным исследования онлайн-сервиса сравнения товаров и цен Price.ru, интерес к базовым моделям iPhone 15 в России существенно снизился в октябре по сравнению с предыдущим месяцем, когда была представлена новая линейка. Сообщается, что спрос на эти модели упал н...

Роман Тезиков про СV-проекты и промт-инжиниринг как базовый навык каждого человека К нам на огонек в подкаст заглянул Роман Тезиков — senior-разработчик и DL-engineer. Эксперт рассказал много интересного о своем опыте реализации ML-проектов. А «на десерт» Роман поделился тем, как он применяет промт-инжиниринг в работе и личной жизни и каких впечатляющих ре...

Мой 2-х месячный опыт настройки Selenoid под Android за 10 минут Если вы читаете эту статью, то наверняка слышали о Selenoid. Это мощное решение написанное на Go от компании aerokube для управления Docker-контейнерами, в которых «завёрнуты» все необходимые программы и драйверы для тестирования в браузерах или на Android-эмуляторах.Как утв...

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

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

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

Рекомендации по разработке баз данных и клиентских приложений Привет, Хабр! Представляю Вашему вниманию небольшой список рекомендаций по разработке и сопровождению баз данных, надеюсь будет полезным! Читать далее

[Перевод] Starting Electronics: руководство по веб-серверам на Arduino. Часть 17. Завершающий урок и итоги От переводчика. Итак, дорогие друзья, нам с вами всё-таки удалось совершить маленькое чудо — перевести на русский язык и сделать доступным для широкого круга русскоговорящих любителей электроники, микроконтроллеров и IT технологий, можно сказать, культовый курс по построен...

Препарируем Wazuh. Часть 1: Базовая установка Тема SIEM решений с открытым исходным кодом постоянно проявляется на просторах сети. Одних интересуют SIEM системы как таковые, и хочется разобраться в решениях данного класса, но при этом не хочется связываться с тяжелыми и запредельно дорогими коммерческими SIEM. Другие не...

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

Protestware: найти и обезвредить Protestware: найти и обезвредить Привет, Хабр! Меня зовут Владимир Исабеков, я работаю в Swordfish Security, где занимаюсь динамическим анализом приложений. Сегодня мы поговорим о таком явлении, как Protestware, когда вредоносный код встраивается в открытые программные компо...

Точно в яблочко или как запускать проекты Я часто слышу, как люди задаются вопросом: «Как стать достигатором»?Можно ли постоянно запускать проекты успешно и в срок? Как дотянуть проект до старта и запустить свой продукт? На мой взгляд, реализация проектов — это навык, которому можно научиться.Сегодня я расскажу про ...

GeForce RTX 4080 Super против GeForce RTX 4080: сколько прибавилось производительности Очень вероятно, что оригинальную RTX 4080 снимут с производства, и покупать всем желающим придётся именно RTX 4080 Super. Потому давайте посмотрим, на что она способна, и как сильно обходит базовую модификацию. Читать полную статью

Рога страны советов 15 ноября 1933 г. в Москве был пущен новый вид транспорта — троллейбус. За 90 лет он опутал своими проводами десятки городов, не раз выходил из сугубо утилитарной роли в разряд культурных или политических феноменов. Сегодня мы расскажем о том, как троллейбус завоёвывал совет...

Нотация моделирования архитектуры С4 — примеры диаграмм и инструменты Если возникает вопрос об описании архитектуры системы, то есть несколько основных решений где и как это сделать. Среди популярных нотаций для визуализации схемы архитектуры можно выбрать C4, разработанную Саймоном Брауном.В этой статье я хочу показать пример применения нотац...

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

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

Elegoo Saturn 3 Ultra 12K ультра скорость и ультра качество! Мы уже рассказывали вам про новинку 2023 года от компании Elegoo - фотополимерный 3D принтер Elegoo Saturn 3 12K. Обзор можно найти по ссылке в описании или по подсказке на экране.Сегодня расскажем про старшую версию Saturn 3!А перед тем как мы начнем подпишитесь на наш Tele...

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

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

Как не провалить аудит в новых условиях? Время от времени компании проводят аудит. Это комплексный взгляд на ИТ-инфраструктуру и варианты ее развития. Когда чаще всего проводят аудит? • Непонятна картина реального состояния ИТ-инфраструктуры. Такая ситуация может возникнуть, например, при смене руководства или уход...

Связь системных ограничений и UX-дизайна: как устроено взаимодействие в системном подходе Привет! Меня зовут Настя, я UX-дизайнер в отделе технологических проектов «Леруа Мерлен». Мы занимаемся разработкой внутреннего технологического портала — это единый фронт, где продуктовые команды могут получить услуги других команд в режиме Self-Service. Мы предоставляем ин...

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

Не будьте героем Привет, Хабр! Я Женя Кучерявый, директор по фронтенду в Rentu. В этой статье расскажу как мы переезжали с Vue2 на Vue3, какие шишки набили и чему научились. Статья не хардовая. Читать далее

Проверка игрового движка qdEngine, часть первая: топ 10 предупреждений PVS-Studio Баги, которые удалось найти в движке qdEngine, оказались весьма разнообразны, поэтому не хочется мешать всё в кучу в одной публикации. Читатели могут упустить интересные темы, связанные с написанием качественного кода. Поэтому разбор проекта выйдет в виде серии публикаций, ...

Yggdrasil-mesh глазами пентестера В наше время растет популярность децентрализованных альтернатив современным подходам к маршрутизации трафика в вычислительных сетях (например, для обхода санкционных блокировок недружественных стран и анонимизации трафика). Одним из примеров такого подхода является Yggdrasil...

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

[Перевод] Создаём сортировщик деталей Lego Technic, распознающий объекты в реальном времени Когда я проходил стажировку в Nullspace Robotics, мне повезло участвовать в проекте, нацеленном на расширение возможностей компании. Мы совместили системы обнаружения объектов и распознавания изображений для создания модели, классифицирующей детали конструктора Lego Technic...

Уравнение с тремя неизвестными: как отлавливать баги в системах хранения данных Привет! Меня зовут Никита Гуцалов, я инженер в компании YADRO и занимаюсь разработкой ПО для системы хранения данных TATLIN.UNIFIED. Вообще с системами хранения данных (СХД) я работаю уже много лет и люблю эту тему, поскольку она постоянно бросает новые вызовы, заставляя реш...

Жизненный цикл Activity приложения: базовые принципы и понятия Статья от тестировщика "ITQ Group" Леонида Галочкина.Понимание принципов работы activity помогает понять логику работу мобильных приложений, разрабатывать тест-кейсы разного уровня, готовить тестовую документацию. Принципы activity можно игнорировать, например, при тестирова...

Бьемся с индексацией парных неравенств в планах PostgreSQL Я уже не раз писал, что условия с несколькими неравенствами (<, <=, >=, >) обычно плохо подходят для индексирования "классическим" btree, вызывают "тормоза", и необходимо придумывать различные нетривиальные подходы в PostgreSQL, чтобы добиться хорошей производите...

Сто паттернов для разработки корпоративных программ. Часть первая В этой статье рассмотрены все паттерны проектирования из "Банды четырёх" с примерами на языке программирования C#. Для самых терпеливых имеются дополнительные паттерны.Это первая статья из серии "Сто паттернов для разработки корпоративных программ". Следующие статьи будут по...

Global Talent visa для IT-ника. Путь с нуля Недавно я завершил свой длинный путь и получил Global Talent visa в Великобританию. О первых выводах я поделился в канале, а сейчас хотелось бы разложить все по полочками и подготовить гайд, который поможет практически любому стать обладателем этой визы.В этой статье я поста...

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

Ядер много, но толку мало. Samsung Galaxy S24 на SoC Exynos 2400 протестировали в Geekbench Со следующего поколения Samsung вернет практику применения в своих флагманах двух однокристальных систем – Snapdragon от Qualcomm и собственной Exynos. Возможности Snapdragon 8 Gen 3 уже известны, а сейчас появились данные о производительности Exynos 2400: базовый...

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

Yul: Учимся использовать inline assembly в Solidity В этой статье я расскажу про язык среднего уровня между Solidity и байт-кодом, который применяется в EVM. Основная задача Yul - это оптимизация смарт-контрактов по газу, как на уровне языка так и на уровне компилятора, а также гораздо больший контроль над выполнением кода. М...

Frontend внутри Bitrix. Использование и написание экстеншенов + SPA приложение на Vue или React В данной статье мы рассмотрим правильный подход к Frontend разработки в Bitrix. А именно разделение на расширения которые сможем подключать в любой момент времени. + напишем SPA приложение на React. Читать далее

GET запросы на практике: правила, принципы и примеры Я думаю, что вы не раз уже гуглили, заглядывали в статьи, манифесты IT-гигантов о лучших практиках проектирования API. Я тоже.Но в большинстве из них всё ограничивается описанием URL ресурса, мотивацией использовать пагинацию, сложными словами про кэширование и SSL. Это, без...

Полиномиальные корневые методы синтеза САУ ч.3 (заключение) Леонид Маркович Скворцов. Широко известный в узких кругах математик, профессионально занимающийся математическими проблемами автоматического управления. Например, его авторские методы использованы в SimInTech. Данный текст, еще готовится к публикации. Но с разрешения ав...

[Перевод] 13 конфигураций Kubernetes, которые ты должен знать в 2k24 Поскольку Kubernetes продолжает оставаться краеугольным камнем оркестрации контейнеров, освоение его механизмов и возможностей становится обязательным для специалистов DevOps. В 2024 году некоторые конфигурации Kubernetes выделяются среди прочих благодаря функциональности в ...

Оптимизация веб-приложений: на что стоит обратить внимание Привет, Хабр! Меня зовут Андрей, я веб-разработчик в МТС Digital. Сегодня поделюсь своим опытом, как и зачем оптимизировать веб-приложения. В конкурентном мире онлайн-сервисов производительность стала ключевым фактором успеха — пользователи ожидают мгновенного доступа к инф...

Основы полнотекстового поиска в ElasticSearch. Часть третья Это третья и заключительная статья из цикла, в которой рассмотрим стандартную модель ранжирования документов в Elasticsearch.После того как определено множество документов, которые удовлетворяют параметрам полнотекстового запроса, Elasticsearch рассчитывает метрику релевантн...

[Перевод] После смерти Agile Перед вами перевод статьи автора Doug Bridgens, в которой он рефлексирует свой опыт и критически отзывается о Agile. В его статье совсем нет анализа и аргументации, это личные размышления на тему конкретного разработчика. Это мой второй перевод и я позволю себе в этом предис...

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

Метод быстрого марша (Fast Marching Method) Пример реализации метода быстрого марша(Fast Marching Method) для создания полей расстояний(Distance FIeld) и поиска кратчайшего пути. Читать далее

Уже поменяли шину? Наш опыт «переобувания» и разработки интеграционной платформы Хабр, привет! На связи Дмитрий Бадулин, я занимаюсь разработкой ПО в компании К2Тех. Корпоративная сервисная шина, или как это по-другому называется, интеграционная платформа — это отдельная боль для множества компаний. И сегодня в условиях, когда некоторые middleware-решени...

Нужен ли продакт в ML-команде? Мнение изнутри Пять лет назад из обычного продакт-менеджмента я перешла в команду с дата-сайентистами. И весь процесс моей работы сильно изменился. Раньше после определения потребностей пользователя я приходила к команде разработки с готовой задачей и дизайн-макетами. А после разработ...

Huawei Mate 70, который потягается с iPhone 16, получит очень быстрый чип Kirin: он уже набирает более 1,1 млн баллов в AnTuTu Компания Huawei выпустила свои последние флагманы Pura 70 с новым чипом Kirin 9010. Хотя SoC имеет тот же производственный процесс и базовую архитектуру, что и Kirin 9000, компания Huawei еще больше оптимизировала его, чтобы обеспечить производительность в своих последн...

Аутентификация для WebSocket и SSE: до сих пор нет стандарта? WebSocket и SSE появились более десяти лет назад, однако до сих пор в стандартах отсутствуют рекомендации по решению задачи аутентификации для подобных соединений.В статье разберем особенности аутентификации применительно к протоколу WebSocket и технологии Server-Sent Events...

Почему многих заводит грубый секс У этого феномена нет одной конкретной причины.

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

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

Анонс Samsung Galaxy S24: Exynos в базовой версии, но титан и Snapdragon 8 Gen 3 в Ultra Samsung представила новую серию смартфонов Galaxy S24, включая базовую модель Galaxy S24, улучшенную версию Galaxy S24+ и флагман Galaxy S24 Ultra.

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

Секреты технического собеседования от СТО с опытом 1000+ интервью Привет, меня зовут Артём Пулявин, с 2022 года я занимаю позицию технического директора в Ситидрайве и отвечаю за всё IT в компании — от закупки серверов и ноутбуков до разработки и найма новых членов команды. За 20-летнюю карьеру я провёл более 1 000 собеседований и взял на ...

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

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

Как работать со словарями данных и оптимизировать запросы в ClickHouse Приветствуем! На связи вновь Глеб Кононенко и Алексей Диков — разработчики из Лиги Цифровой Экономики. Ранее мы уже немного рассказывали про наш опыт работы с распределенными таблицами в ClickHouse в этой статье.Сегодня хотим поделиться опытом оптимизации запросов и работы с...

The Hive. Разбор open source решения В свете быстрого развития информационных систем и увеличения угроз кибербезопасности поиск надежных решений, позволяющих минимизировать вред от нарушения информационной безопасности (ИБ), становится важной задачей для различных организаций. Когда инфрастр...

Как тимлиду оценить «КПД разработки». 4 работающих способа — без хрустального шара и гадания на кофейной гуще Привет, Хабр! Я Аня Анциферова, продакт «Цифрового вагона». Я уже рассказывала о том, зачем ПГК пошли в разработку и какие продукты мы делаем. Несмотря на то, что сейчас у ПГК существует «дочка» — ПГК Диджитал, и там трудится порядка 400 человек, мы — не ИТ-гигант. А это зна...

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

Паттерны или химеры программирования Данная статья будет полезна для Junior / Middle Java разработчиков, которые готовятся к собеседованию или просто развиваются и хотят немного конкретики по части паттернов, и так как в данной статье я покажу 5 паттернов, с которыми мы как разработчики работаем в Java Core, с ...

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

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

Архитектура RISC-V продолжает развиваться: сразу пять крупных компаний займутся внедрением технологии по всему миру На днях стало известно о том, что несколько известных компаний, включая Robert Bosch GmbH, Infineon Technologies AG, Nordic Semiconductor ASA, NXP® Semiconductors, Qualcomm Technologies, Inc., основали новую организацию, которая получила название Quintauris GmbH. Она будет з...

[Перевод] Как работает радио? Радиокоммуникации играют ключевую роль в современной электронике, но их теорию сложно понять начинающему любителю. Да, у нас есть общее представление: мы знаем о частотах и, вероятно, можем объяснить разницу между амплитудной и частотной модуляциями. Однако большинству из н...

[Перевод] Clean architecture и MVVM в iOS разработке В этой статье мы покажем на примерах проектов как паттерны MVVM и Clean Architecture могут быть применены в iOS приложении. Читать далее

MemSess — очередной сервер для работы с сессиями В этой статье будет рассмотрен самописный сервер для работы с сессиями и пример работы с ним на PHP. Читать далее

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

Представлен обновлённый Audi Q2. Этот премиум-кроссовер стоит столько же, сколько базовый Volkswagen Golf Audi представила в Европе обновленный кроссовер Audi Q2 и назвала стоимость базовой версии — 27,8 тыс. евро. То есть этот премиум-кроссовер стоит на уровне базового Volkswagen Golf MK8.5. Дизайн Audi Q2 не изменился, двигатели прежние (бензиновые турбированные об...

vStack стал спонсором и контрибьютором новой значимой функциональности ZFS: RAIDZ Expansion Недавно в ZFS появилась новая и очень значимая функциональность RAIDZ  expansion. Задача решалась с 2020 года и vStack принимал в ней весомое участие в качестве контрибьютора и спонсора. Читать далее

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

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

Инструкция для налаживания сна Эта инструкция собрана из рекомендаций Эндрю Хьюбермана и бота Слипи (его можно найти в телеграмме по ссылке: https://t.me/sleepyrobot).Для начала, определимся с нормой. Нормальный здоровый сон — это когда вы засыпаете за 15-20 минут (если вы отрубаетесь сразу, то у вас може...

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

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

LLaMA 2, RWKV, Santacoder и другие LLM на iOS Однажды я решил изучить язык Swift и разработать свое первое приложение для iOS. Для этого я решил создать реальный проект, который заключался в оптимизации нашумевшего LLaMA.cpp под iOS. Я поставил перед собой задачу обеспечить запуск 3B и 7B моделей на&...

UI / UX — когда миллионы людей ошибаются UI-дизайн — это про то, как выглядит интерфейс, UX — про то как с ним работает пользователь. Хочется спросить — «Вы откуда это вообще взяли»?  Читать далее

Автоматизация Swimlanes на досках Jira В досках Kanban и Scrum есть удобный инструмент горизонтальной группировки задач swimlanes (дорожки). С помощью дорожек задачи можно группировать по разным категориям: типам задач, проектам, пользовательским полям и прочему. Многие из вас наверняка уже знакомы с этим инструм...

Основано на реальных событиях: как шифровальщики ведут переговоры и что советуют жертвам Программы-вымогатели — одна из главных киберугроз для российских компаний. Только в прошлом году, по данным F.A.C.C.T., количество атак шифровальщиков на бизнес увеличилось в 2,5 раза. В некоторых случаях суммы выкупа достигали 321 млн рублей.Мы изучили реальные переписки с ...

Исследование безопасности десктопных приложений на основе Electron Electron — фреймворк с открытым исходном кодом для создания кросс-платформенных десктопных приложений с помощью JavaScript, HTML и CSS. Это крутая технология, но с ней связаны многие ИБ-риски. В статье я разберу основы безопасной работы с этим фреймворком и расскажу: как а...

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

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

[Перевод] Реверс-инжиниринг сигнала автомобильного брелка Я уже пару лет как изучаю протоколы радиосвязи. Началось это с момента, когда я из любопытства решил поэкспериментировать с USB-донглом RTL-SDR. Мне всегда хотелось понять, как передаются данные в пультах дистанционного управления (в частности, автомобильных брелках), попро...

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

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

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

[Перевод] Xv6 Глава 1: Интерфейсы операционной системы Эта книга рассказывает о принципах работы операционных систем на примере xv6. Операционная система xv6 реализует базовый интерфейс, который Кен Томпсон и Деннис Ритчи предложили в операционной системе Unix, и подражает внутреннему устройству Unix. Комбинации простейших механ...

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

Знай, куда идёшь: 1С как кузница карьеры Годы идут, рынок меняется. Если ещё пару лет назад российский рекрутмент встречал новые волны джунов с горящими глазами, готовых бороться за место в стартапах, то сейчас мы всё чаще сталкиваемся с тем, что компании выходят на поиски – и, как ни странно, получают совсем немно...

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

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

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

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

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

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

Сложности роста Ruby-приложений Привет! Меня зовут Валентин Бритвич, я Unit Lead интеграций в СберМаркете. Когда СберМаркет был стартапом, мы начинали с одного Rails-монолита, но бизнес рос, и стали появляться сотни партнёров на подключение, кастомные интеграции, которые нужно поддерживать, а с ними и проб...

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

Обобщённые типы. Часть 1/3. Полиморфные типы высокого рода В предыдущей статье раскрывались некоторые базовые понятия теории типов. В этот раз мы рассмотрим обобщённые типы (generics) – необходимость появления такой абстракции, ключевые особенности и различные сценарии использования в программировании. Читать первую часть

DIY: Ваше собственное облако на базе Kubernetes (часть 2) Продолжаем серию постов про то как построить своё собственное облако в экосистеме Kubernetes. В прошлой статье мы разобрали как можно подготовить базовый дистрибутив Kubernetes на базе Talos Linux и Flux CD. Теперь нам предстоит обсудить возможность запуска виртуальных машин...

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

Как LLM учат понимать синтаксис Скорее всего, вы поняли заголовок правильно, хотя в нём есть стилистическая ошибка — двусмысленность (кто-то учит LLM, или они учат кого-то?). Человеческое понимание языка остается ориентиром и пока недостижимой целью для языковых моделей. При всей небезошибочности перв...

Верле: разрешаем коллизии (часть 2 — сетка, квадратики) Две сотни частиц слишком мало? Хочется тысячи или десятки тысяч? Тогда пора заменить неадекватно медленный алгоритм поиска коллизий на что-то чуть более изящное Читать далее

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

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

Prometheus: от основ до mem-saving оптимизации Мониторинг в контексте современных инфраструктур играет критически важную роль и является неотъемлемой частью успешного управления и обеспечения стабильности систем. С ростом их сложности и масштаба, а также ввиду высоких ожиданий пользователей, возникает необходимость в н...

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

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

Создание и использование BOM в Gradle В каждой компании (а если она крупная, то, скорее всего, в каждом подразделении) должна быть выстроена культура использования BOM (bill of materials) для управления версиями зависимостей. В этой статье я хочу поделиться своим видением того, как это может быть организовано, а...

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

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

Написание open source проекта на примере рендера для ttf шрифтов. Начало В данном проекте планируется создать парсер, а затем и рендер для шрифтов с расширениями TTF, OTF, TTC, OTC.Цикл данных статей является своеобразным блогом, но не обучающим. Наоборот я прошу об обратном отклике в виде комментариев.Данный влог - это опыт создания open source ...

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

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

Ключи в базе данных: практический обзор для начинающих системных аналитиков Всем привет! Меня зовут Оксана, я системный аналитик из компании EvApps. Что побудило меня написать эту статью? Я обучаю стажеров – системных аналитиков, и недавно столкнулась с такими вопросами, о которых раньше даже не задумывалась.Вопросы были связаны с разными видами клю...

Будильник изменений: когда приходит время личных трансформаций и как его отследить Привет, Хабр! Меня зовут Марина, и я бизнес-аналитик в Петрович-Техе. У каждого бывают моменты, когда хочется сменить все — от домашнего интерьера до карьерной стратегии. Три года назад я хотела перемен и перекрашивала дома кухню, а затем это желание меняться привело ме...

Вызывайте санитайзер! Фаззим исполняемые файлы при помощи AFL++ с санитайзерами Для подписчиковФаззинг, как ты, наверное, знаешь, — это техника, которая позволяет автоматизировать поиск уязвимостей в софте. Бывает фаззинг методом «черного ящика», когда у нас нет исходников программы, а бывает основанный на покрытии — то есть применяемый к исходникам. В ...

Как и зачем компании могут применять ML? Разбираемся на примере Netflix Привет, Хабр! Я Ефим, MLOps-инженер в отделе Data- и ML-продуктов Selectel. В последнее время, куда ни глянешь, только и разговоров, что про ML. Но всегда хочется увидеть результаты работы на практике. Если с IT-гигантами все понятно, то зачем ML, скажем, компаниям из индус...

Детектирование атак на контейнеры с помощью eBPF Привет, Хабр!Меня зовут Илья Зимин, я аналитик-исследователь угроз в компании R-Vision. Сегодня в статье я расскажу о возможностях обнаружения атак на контейнеризированные приложения с помощью такого инструмента, как eBPF, на примере приемов, связанных с побегом из Docker-ко...

Python, MSA, Kafka Всем привет! Сегодня микросервисная архитектура, что называется "на хайпе". Я перечитал достаточно много статей по данной тематике, но обнаружил, что среди всего прочего, не так много публикаций, объясняющих данную концепцию на конкретном примере (может, плохо искал). Сегодн...

О ширине токопроводящих дорожек планарных наушников Поводом для написания этой статьи послужили периодически задаваемые вопросы по типу «Почему вы в в мембранах своих планарных (изодинамических) наушников не используете одну широкую дорожку, как (имярек)?», а также дискуссии по особенностям звучания в разных конструкциях. Чит...

Как работает Kubernetes пока ты спишь Эта статья - базовое описание того, из каких компонентов состоит Kubernetes, как он работает «под капотом». Это важно так как платформа сложная и: •  понимание ее работы влияет на факторы разработки; •  становится понятно, что можно и чего нельзя; • &n...

Зачем нужен архитектор 1С. Часть 2 В предыдущей статье habr.com/ru/companies/otus/articles/772490 я постарался на конкретном примере показать различие между разработчиком 1С и архитектором 1С. Насколько по разному они подходят к решению одной и той же задачи. В этот раз я приведу пример, в котором различие ...

Расширяем тестовый фреймворк с помощью Pytest-плагинов. Часть 2: практика В первой части статьи мы разбирались с теорией, которую нужно знать для создания собственных Pytest-плагинов: фикстурами, маркерами и хуками. А теперь перейдем к практике. Я покажу два примера плагинов, которые помогают нам в интеграционном тестировании систем хранения ...

Портретная гармонизация изображений Привет! В данной публикации команда RnD CV из SberDevices познакомит вас с нашим подходом к решению задачи повышения степени реалистичности портретных изображений (по-научному — портретной гармонизации изображений). Мы не только расскажем о задаче портретной гармонизации, но...

Книга «Software Dynamics: оптимизация производительности программного обеспечения» Привет, Хаброжители! Программное обеспечение — начиная с мобильных и облачных приложений, заканчивая видеоиграми и системами управления автономным транспортом — становится все более и более ограниченным по времени. Оно должно обеспечивать надежные результаты плавно, послед...

Путеводитель по DDoS: основные виды и методы борьбы Всем привет! На связи Николай Едомский, руководитель группы сетевых инженеров в ЕДИНОМ ЦУПИС.В этой статье я простыми словами расскажу о том, что из себя представляет DDoS, о самых распространенных видах DDoS и методах борьбы с ними. Основная цель материала – на простых прим...

Ваша карта не будет бита: как добавить Impact Map, CJM и USM в документ и не пострадать Наверняка у многих бизнес-аналитиков есть цель использовать особые артефакты: Impact Map, CJM (Customer Journey Map), USM (User Story Map). Особые, т. к. не так часто они встречаются в бизнес-требованиях, и даже бывалый аналитик может с непривычки растеряться, если не создаё...

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

Оптимизируем шрифты и ускоряем сайт на 5-12% Описываем способы максимально ускорить загрузку шрифтов на сайте.Развенчиваем мифы и разбираем ошибки. В статье вас ждут полезные онлайн сервисы для ускорения работы. Читать далее

SQL инъекции для продолжающих: ломаем настоящий сайт Про SQL-инъекции написано огромное количество статей. Все знаю про пресловутые ‘ OR 1 = 1 и аналогичные конструкции, но далеко не все реализовывали их на практике. В этой статье мы разберем на практике некоторые способы реализации SQL-инъекций на примере уязвимого сайта.Стат...

Как AI помогает повседневной работе команды разработки Статья ориентирована на читателя, который еще сомневается в том, стоит ли ему пробовать чат‑боты в работе. Если вы знакомы с технологией и пробовали её в повседневной деятельности то вряд ли найдете её полезной.Немного расскажу о реаль...

Как мы реализовали текстовый поиск за 48 часов В компании Циан (где я, Клюшев Александр, и работаю в роли ML-инженера) проводятся внутренние хакатоны, и один из таких проходил в начале лета 2023. Достаточно давно в компании обсуждали идею по реализации поиска объявлений через текстовую строку, и было принято решение эту ...

Когда прокачивать стату в танках на примере Tanks Blitz Игроки в World of Tanks, War Thunder и других подобных игр уверены, что результативность игры конкретного игрока зависит от того, в какое время суток игрок играет и от наличия глобальных игровых событий. Я проверил, так ли это, на примере Tanks Blitz. Читать дальше →

[recovery mode] Блокировка рекламы в браузере (User CSS) Поделюсь опытом, как я блокирую рекламу в браузере Chrome (к счастью, мне хватает одного), пользуясь базовыми знаниями HTML/CSS. Читать далее

MacBook Air с Apple M3: базовая модель получила серьезное обновление SSD Apple, видимо, приняла близко к сердцу критику в адрес MacBook Air с Apple M2 и улучшила новую модель, поскольку SSD в базовой конфигурации теперь такой же быстрый, как и в более дорогих версиях ноутбука

Zustand.js: современный, невесомый, производительный и очень гибкий state manager Zustand существует и развивается уже несколько лет, но многие разработчики до сих пор либо не знают о нем либо имеют не достаточно информации для того, что бы перейти к его использованию.В статье я расскажу:о простом интерфейсе Zustandо его внутреннем устройствео производите...

Простой GPT-ассистент в Telegram на базе Яндекса и Node.js Всем привет! Это моя первая публикация на хабре, поэтому буду благодарен за любую обратную связь, которая поможет мне писать ещё лучше.В статье вас ждёт "сборка" очень простой связки из распознавания и синтеза речи, а также запросов в модель YandexGPT на Node.js. Наш телегра...

Гайд по релокации в Великобританию и получению ВНЖ в 2023 по Innovator Founder Visa В этой статье я постараюсь максимально подробно описать, как выглядит процесс получения инноватор визы и ВНЖ Великобритании, поделиться реальными кейсами, затыками и рисками. Статья будет полезна для стартапов, предпринимателей и других специалистов, рассматри...

[Перевод] Почему некоторые проекты угасают после ухода программиста из компании Зачастую судьба цифрового продукта заботит не только компанию, которой он принадлежит, но и специалистов, непосредственно участвовавших в его разработке. Для многих программистов (и команда beeline cloud — не исключение) проект, к которому они приложили руку, — это не просто...

Плагин на LibreOffice с Gigachat API В этой статье пойдет речь о решении, позволяющем упростить написание текстов при работе с офисным пакетом LibreOffice. Мы разработали плагин, который позволяет работать с текстом с помощью большой языковой модели GigaChat от Сбер. Читать далее

Linux, Git и базы данных: что почитать новичкам в Академии Selectel Новичкам бывает сложно войти в администрирование. Комплексные курсы стоят дорого, а самостоятельный поиск информации заканчивается пополнением закладок, о которых вспоминают раз в год. В тексте собрали шесть бесплатных курсов по рекомендации от наших коллег. Их можно пройти...

Samsung Galaxy S24 Ultra получит улучшенный ночной режим и сможет идентифицировать 12 типов объектов для улучшения изображения Китайский инсайдер Ice Universe, сливший массу достоверной информации о разных смартфонах и регулярно получающий сведения из отдела исследований и разработок Samsung, опубликовал подробности о Samsung Galaxy S24 Ultra. По его словам, ночной режим в Samsung Galaxy S24 Ul...

Путь к совершенному ПО: Искусственный интеллект в автоматической формальной верификации При написании высококачественного программного обеспечения не обойтись без этапа формальной верификации. Несмотря на то, что наша жизнь уже была в некоторой степени упрощена, благодаря таким помощникам доказательства как Coq и Isabelle/HOL, обучающим модель предсказывать оди...

Microsoft представила новый дизайн веб-версии OneDrive Microsoft анонсировала крупное обновление веб-версии OneDrive, которое сделает работу с облачным хранилищем более эффективной и интуитивно понятной. Это одновременно и визуальное, и функциональное обновление, призванное упростить доступ к файлам и упорядочить содержимое раз...

Никогда не забывай об этом, когда делаешь open-source проект Если составлять топ самых крутых изобретений человечества, то второе место сразу после кофеварки наверняка займёт opensource – разработка проектов с открытым исходным кодом, которая помогла родиться поистине огромному числу полезных и гениальных продуктов. Причём опенсорс ва...

Использование LLM в автоматизации рутинных задач Всем привет!На связи Георгий Бредис, Deep Learning Engineer из команды Intelligent Document Processing в SberDevices. Наша команда занимается задачами автоматизации бизнес-процессов путем извлечения информации из неструктурированного контента и созданием сервисом суммаризаци...

As const в Typescript Привет, Хабр!В разработке часто возникают ситуации, когда точность типов и нежелание допускать неясности в коде становятся первостепенными задачами. В таких случаях, разработчикам приходится искать инструменты, предоставляющие максимальную ясность и строгость в определении д...

«Душа молчит, хоть слышит всё вокруг»: как мы отучаем генеративные модели галлюцинировать Вот так когда-то отвечала языковая модель, когда её просили привести пример стихотворения Бальмонта. Стихотворение с таким названием действительно есть, но начинается оно совсем не так. К сожалению, генеративные модели могут галлюцинировать и выдумывать ответ. С таким м...

Делаем PageObject правильно. Удешевляем тестирование и снижаем порог вхождения Привет, меня зовут Коля, занимаюсь тестированием 7 лет, автоматизацией — 6 лет. Так уж сложилось, что не особо люблю WebUI-тесты, но почему-то именно они у меня получаются лучше всего.В один день мне позвонил мой друг Рома и сказал: «Коля, помнишь ты у нас автотесты делал с ...

Как работают Векторные базы данных и Поиск похожих текстов в них Если вы когда-нибудь использовали в работе retrieval augmentation generation (RAG) на базе векторного поиска и не лезли туда под капот, но были бы не прочь, я постараюсь погрузить вас в то, как устроена векторная база данных внутри. Читать далее

Глубина кроличьей норы: бинарная граница и ABI C++ Вопрос ABI (Application Binary Interface), бинарной границы и бинарной совместимости в C++, раскрыт на просторах интернета не так хорошо как хотелось бы. Особенно сложно в его изучении приходится новичкам, потому что эта тема связана со множеством деталей нарочно скрытой от ...

Сплит клавиатура Lily58 — впечатления На Хабре уже были статьи про эту клавиатуру, но у авторов уже были собранные клавиатуры. Оказалось, сборка - это очень увлекательное занятие, которое обязательно хочется повторить в будущем. Далее опишу свои впечатления о процессе и самой клавиатуре. Читать далее

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

Мой краш-тест чемпионата: Победа в Data Science треке Привет! В статье я расскажу о моем опыте победы в чемпионате "CUP IT 2023" от Changellenge в области Data Science. Соревнование построено на кейс-подходе, где участники решают реальные бизнес-вызовы, с которыми сталкиваются сотрудники компаний VK и Альфа-Банка. Я успешно спр...

Как упростить себе жизнь: удобные юнит-тесты с JUnit и AssertJ Для тестирования Java-приложений создано столько полезных инструментов, что в них немудрено запутаться. Вместе с тем с помощью каждого из них можно решить строго определенный круг прикладных задач. Меня зовут Константин Шибков, я старший Java-разработчик CDEK и программный д...

SPARK для «малышей» Примеры кода на Python для работы с Apache Spark для «самых маленьких» (и немного «картинок»).Данная статья представляет собой обзор основных функций Apache Spark и рассматривает способы их применения в реальных задачах обработки данных. Apache Spark — это мощная и гибкая си...

Заменят ли LLM людей в разметке данных для AI? Привет! Использование ИИ в разметке данных для него же — уже скорее необходимая потребность, нежели что-то удивительно новое. Разного рода экспериментами с авторазметкой данных нейронками мы занимаемся последние полгода и результаты — нравятся.В данной статье я детально расс...

Когда одной ARIMA мало. Прогнозирование временных рядов нейросетями Привет, Хабр! Меня зовут Никита, я работаю в Мегафоне аналитиком больших данных. В этой статье я хочу поговорить про временные ряды, а если конкретнее, про использование нейросетей для их прогнозирования. В статье мы не только разберем две актуальные архитектуры для про...

Необходимые свойства качественных рекомендаций в e-commerce Компания Retail Rocket более 10-ти лет занимается системами рекомендаций в сфере электронной коммерции. Всё это время мы сталкиваемся с неочевидными свойствами алгоритмов рекомендаций, без которых системы не будут решать свои задачи. Мы выделили и описали в статье такие свой...

Connection pool для pqxx В процессе изучения бекэнда, как нового для меня направления в программировании, я столкнулся с необходимостью оптимизации управления соединениями. Поискав в интернете существующие решения для библиотеки pqxx (C++ API для PostgreSQL), я обнаружил, что хотя они и выполняют св...

Samsung сделает базовый Galaxy S24 менее мощным ради экономии Samsung, в рамках своей стратегии сокращения затрат, может сделать базовую модель Galaxy S24 менее мощной, чем ожидалось.

Парадигму UNITS в массы У первой статьи («Реальность существует и это надо учитывать») были очень интересные и содержательные комментарии, среди которых были озвучены идеи о необходимости примеров. С одной стороны это правильно, потому что на примерах можно вырабатыват...

Квест по синхронизации аналитического и оперативного хранилищ в реальном времени без потерь на сотнях терабайт данных Я работаю в компании STM Labs, где мы строим большие высоконагруженные системы класса Big Data. Эта статья написана по мотивам моего выступления на конференции Saint Highload 2023. Хочу рассказать вам увлекательную историю про то, как мы искали лучшее решение по синхронизаци...

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

Как необычные решения приводят к критическим уязвимостям. Или история одного бага, найденного в CloudTips Привет, Хабр! В данной статье хотел бы поделиться историей, как был найден достаточно простой в исполнении баг, но приводящий к опасной уязвимости веб приложения. Данный баг был найден в сервисе CloudTips от Тинькофф и CloudPayments на BugBounty площадке app.bugbounty.bi.zon...

Нельзя писать безопасный код на C++ без санитайзеров С++ видится мне огромным франкенштейном: очень уж много разнообразных способов описать свои намерения. В добавок к этому язык пропагандирует политику zero-cost abstractions, из которой следует (помимо прочего), что программист в ответе за все св...

Как использовать html-элемент <dialog>? Привет, Хабр! Меня зовут Александр Григоренко, я фронтенд-разработчик. В основном, занимаюсь разработкой приложений на React, но также постоянно экспериментирую с различными технологиями.В своей работе я часто создаю собственные или использую уже готовые UI-компоненты. Пробл...

Как мы запустили автобиддер для управления рекламными кампаниями в Ozon? Привет! Меня зовут Артём, я руковожу командой эффективности рекламы в Ozon. Наша задача состоит не только в том, чтобы реклама приносила деньги компании, заказы рекламодателям и была релевантной для пользователей, но и в том, чтобы сделать запуск рекламных кампаний удобным и...

Как UX/UI дизайнеру улучшить UI Kit: 10 конкретных советов В этой статье мы рассмотрим практические шаги и советы, которые помогут вам обновить ваш UI Kit, делая его не только более удобным и функциональным, но и вдохновляющим инструментом для создания великолепных пользовательских интерфейсов. Читать далее

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

Шаблонизируй это или Как ускорить разработку при помощи одного документа Привет! На связи лид команды аналитиков Magnus Tech Владислава Никитина.В заказной разработке каждый проект начинается со сбора бизнес-требований к будущей системе. Это важный этап, ведь именно здесь определяются контуры задач, которыми займутся разработчики. И с ним связан ...

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

Деревья ltree в PostgreSQL – простым языком Привет, Habr! Меня зовут Оля Плюта, я продуктовый аналитик маркетплейса Uzum Market. В этой статье я расскажу об иерархических деревьях ltree в PostgreSQL. Статья вводная, поэтому я постаралась сделать её максимально понятной и наглядной. Читать далее

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

Необходимые свойства качественных рекомендаций в e-commerce Компания Retail Rocket более 10-ти лет занимается системами рекомендаций в сфере электронной коммерции. Всё это время мы сталкиваемся с неочевидными свойствами алгоритмов рекомендаций, без которых системы не будут решать свои задачи. Мы выделили и описали в статье такие свой...

Ory Kratos — коробочный SSO Показываю как базово настроить и про свой опыт использования одного из популярных коробочных open source решений для идентификации пользователей Читать далее

Как сделать NeoVim самым удобным текстовым редактором: туториал по настройке В этой статье затронем редакторы семейства Vi и разберем базовые сценарии работы с NeoVim. Начинающие специалисты смогут использовать материал в качестве туториала, а опытные разработчики, возможно, отметят для себя что-то новое.Почему именно NeoVim? Всё просто: этот те...

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

Карты, деньги, ELK. Или как айтишник деньги считал Привет, Хабр! Вот уже 7 с половиной лет я веду учет своих личных финансов в одном из многочисленных приложений. Всё это время оно неплохо закрывало базовые потребности в моменте, но с годами захотелось глубже проанализировать свою накопленную микро-бигдату и просмотреть на к...

Игровой портативный компьютер Asus ROG Ally в этом году получит преемника Скорее всего, в базовой версии мало что изменится, так как производителю хотелось бы больше сконцентрироваться на игровом аспекте

Как мы в 2 раза ускорили решение MILP-проблем за счет ML Многие задачи, с которыми мы имеем дело при цифровизации производства (неважно какого), – это задачи оптимизации: оптимизация производственного расписания, оптимизация цепочек поставок и размещения объектов, оптимизационное планирование и прочее. Многие из них сводятся к про...

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

Базовый MacBook Air с M3 оснащен быстрым SSD В начале прошлой недели компания Apple представила обновленные MacBook Air с чипами M3. Именно новый чип стал ключевой особенностью новинок. Однако пользователи быстро выяснили, что у MacBook Air 2024 есть и другие положительные фишки. В частности, Apple, наконец, отреагиров...

Защита Home Assistant Почему то все статьи в инете по защите Вашего HA сводятся к банальным вещам, типа: ставьте длинный тяжелый пароль, ставьте двухфакторную аутентификацию, обновляйте HA, ставьте Fail2Ban.И все это дельные советы, ничего плохого в них нет, но хочется чего то большего. Читать да...

Отображение части иерархии в SQL запросе Продолжение статьи, в которой предложено решение задачи визуализации иерархической структуры средствами SQL запросов, на примере MySQL и SQLiteВ этой части производится доработка запросов для отображения части иерархии, начиная с конкретных узлов, и анализируются возможные с...

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

Автоматическая генерация CI/CD пайплайна для развёртывания инфраструктуры При нашей работе мы используем подход «Инфраструктура как код». Однако в процессе его использования мы столкнулись с проблемой написания пайплайнов для инфраструктуры. Во всём «виноват» terragrunt: каждому модулю terragrunt нужна отдельная джоба в пайплайне на plan и apply, ...

Как подружить бизнес и процессы Привет, Хабр! Я Максим Катаев, старший аналитик в отделе Mobile Core Тинькофф. Наш отдел разрабатывает общие компоненты для мобильных приложений: от авторизации до дизайн-системы. Они используются в приложениях экосистемы Тинькофф: Инвестициях, Бизнесе, Мобайле и прочих.&nbs...

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

Видеоускоритель Nvidia GeForce RTX 4070 Super (12 ГБ): теория и архитектура, описание карты Palit, синтетические и игровые тесты, выводы Производительность Nvidia GeForce RTX 4070 Super (12 ГБ) находится между GeForce RTX 4070 и GeForce RTX 4070 Ti, ближе к последнему. Он призван заполнить пробел между этими картами, потому что разница в их производительности была весьма существенной, и это выглядело очень ст...

Рекомендации по ведению SQL-кода В этом материале разберем общие рекомендации по ведению SQL-кода на примере СУБД MS SQL (T-SQL). Однако, многие пункты можно также применить и к другим СУБД. Читать дальше →

От хаоса к порядку. Как мы внедряем стандарты в CDEK Привет, Хабр! Меня зовут Олег Бондарь, я архитектор решений в CDEK. В этой статье расскажу о стандартах — сводах правил и требований, которые позволяют всем участникам процесса быть в общем контексте, действовать единообразно и совершать меньше ...

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

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

[Перевод] NumPy: оттачивайте навыки Data Science на практике В этой статье мы рассмотрим ряд различных упражнений, используя библиотеку NumPy (и сравним с тем, как мы бы реализовали их без неё). В самом конце статьи я приведу ряд упражнений.t.me/ai_machinelearning_big_data -  моем телеграм канале я публикую актуальные проекты ку...

Актуальные методы проверки работоспособности больших и высоконагруженных сетей. Протоколы мониторинга Привет, Хабр!В данной статье мы рассмотрим актуальные методы проверки работоспособности сетевого оборудования. Конкретно в этой статье мы поговорим про протоколы мониторинга. Статья является переваренным опытом компании Netopia, которая занимается разработкой программного о...

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

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

[Ответ] Про цифровые сервисы в Германии Несколько дней назад на Хабре была опубликована статья Правда ли, что в Европе везде отсталые сервисы, медленные платежи и плохие онлайн-услуги? Которая достаточно быстро набрала много просмотров и вызвала бурные обсуждения в комментариях. Я так же с интересом ее прочел и ел...

Сервисное мышление. Как распознать/вырастить/не потерять хорошего специалиста технической поддержки В предыдущей статье я рассказывал о том, как построить сервис и не наделать ошибок. Тема, конечно, объемная и многогранная. И много вопросов получил о том, что же такое сервисное мышление. Я думаю, «сервисность» в той или иной степени есть в каждом из нас. И если удается ее ...

Простейший пример kafka + golang В данной статье представлен простой способ реализации микросервисной архитектуры с использованием Kafka, Golang и Docker. Читать далее

Двуязычный словарь от ChatGPT за 7 (нет) простых шагов В жизни каждого человека наступает миг, когда ему нужен загружаемый испано-английский словарь с открытой лицензией. В этой статье я расскажу о том, как сконструировал собственный иллюстрированный словарь, используя ChatGPT (и выложил его на GitHub). В статье не будет никаких...

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

Алгоритмы в помощь: как делегировать рутину системам ИИ Привет, Хабр! Я Виктор Соловьев, бизнес-аналитик продукта «Цифровой вагон» в Первой грузовой компании. Не так давно мы в блоге обсуждали, почему страх, что «ИИ отнимет у вас работу» — в первую очередь поп-культурный феномен. А сегодня я хочу перевести эту тему в практическую...

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

Проверяем YTsaurus. Доступность, надёжность, open source В этой статье мы расскажем вам о результатах проверки кода проекта YTsaurus статическим анализатором PVS-Studio и разберём найденные ошибки. Уже больше полугода назад YTsaurus — мощная BigData-система — стала Open Source. Её разработка и использование направлены на расширени...

Базовая версия iPhone 16 Pro может получить накопитель на 256 ГБ Сетевые источники снова заговорили о планах Apple увеличить объем встроенной памяти в базовых моделях iPhone. Согласно последним данным, самые доступные версии iPhone 16 Pro и iPhone 16 Pro Max будут оснащены накопителями на 256 ГБ. При этом стоимость устройств останется на ...

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

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

Тест-дизайн на практике: комбинируем разные техники тестирования, на примере проверки систем оплаты Привет, Хабр! Меня зовут Сергей, я тестировщик в “Петрович-Тех”. В этой статье хочу поговорить о комбинировании различных техник тестирования и поделиться опытом тест-дизайна для проверки системы оплаты.На всем своем профессиональном пути тестировщика я так или иначе всегда ...

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

Разработка через тестирование. Совместное использование JUnit 5 и Mockito Привет, Хабр! На связи участница профессионального сообщества NTA Александра Грушина. Поговорим о важности написания тестов к своему коду, о магии подхода test-driven development. Я расскажу о своём пути: от первого знакомства с концепцией TDD до умелого использования и...

Обзор 3D принтера Elegoo Mars 4 Ultra 9K быстрый, компактный, фотополимерный! В этом обзоре мы наконец закроем тему новых фотополимерных 3D принтеров от компании Elegoo. Сегодня рассмотрим старшую версию 3D принтера Mars 4.Перед тем как мы начнем, подпишитесь на наш Telegram! Там мы проводим розыгрыш пластика из нашей линейки LIDER-3D Classic! А еще с...

Инструменты автоматического тестирования безопасности QA На тему автоматизации тестирования написано множество статей, посвященных различным инструментам QA в рамках процессов DevOps. В этой статье мы тоже будем говорить об автоматизации тестирования, но уже в контексте процессов DevSecOps. DevSecOps по своей сути является логичны...

Организация корпоративной ИТ-инфраструктуры для 1С (50, 100, 200 пользователей) В данной статье мы рассмотрим пример подхода для создания инфраструктуры 1С в зависимости от количества пользователей. Читать далее

Docker для новичков — #1 Что такое контейнер, image, DockerHub? В этой статье я расскажу о том, что такое Docker, Docker Desktop и как этим пользоваться! Два способа создания image, значения вкладок Docker Desktop Читать далее

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

Wccftech: Менее половины процессоров Intel Core i9-13900K и i9-14900K стабильны в авторежиме Использование же так называемого "базового профиля" Intel приводит к значительному снижению производительности процессоров.

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

Четыре метрики, изменившие мой проект Привет, Хабр! Я Федор Щудло, team lead и fullstack-разработчик. Всего я в разработке 15 лет, из них 11 в роли team lead. Три года назад я сменил работу и занялся проектом, состояние которого можно описать кратко: ему 25 лет.За этот долгий срок проект пережил несколько слияни...

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

Использовать LLM в оффлайне — LocalAI, Ollama, Flowise Привет, Хабр.В этой статье о том, как без написания кода поставить себе локально и использовать LLM без подключения к сети. Для меня это удобный способ использования в самолёте или in the middle of nowhere. Заранее выгрузив себе нужные файлы, можно делать анализ бесед саппор...

Найти работу в IT: миссия 2024 Привет! Меня зовут Полина, и я уже десять лет работаю дизайнером в айти. В основном продуктовый UX/UI, но были и отдельные проекты разного характера.  Расскажу про свой (и друзей) опыт поиска работы два года назад и сейчас, на русскоязычном рынке.  Читать дальше →

Гайд по релокации в Испанию и получению ВНЖ в 2023 по стартап-визе В этой статье я постараюсь максимально подробно описать, как выглядит процесс получения стартап визы и ВНЖ Испании в 2023 году, поделиться реальными кейсами, затыками и рисками. Статья будет полезна для фаундеров и сотрудников стартапов, предпринимателей и других специалист...

Playground. Как сэкономить время на настройке локальной среды Привет, Хабр! Меня зовут Никита, и я Go-разработчик. В свободное от работы время я интересуюсь платформенной разработкой, а в рабочее — практикую в команде PaaS в СберМаркете. Моя специализация — локальное окружение разработчика и тулинг. Главная метрика, на которую работает...

[Перевод] Xv6: учебная Unix-подобная ОС. Глава 4: Прерывания и системные вызовы Глава расскажет, как xv6 обрабатывает прерывания на RISC-V и о хитростях виртуальной памяти: как использовать ошибки доступа к страницам, чтобы оптимизировать работу ОС.Глава расскажет о копировании страниц при записи, ленивой выдаче страниц, выдаче страниц по необходимости ...

Обзор архитектуры Compose с использованием паттерна «координатор» В этой статье рассмотрим, пример реализации архитектуры UI-слоя на Compose, которая основывается на Uni-directional data flow и state hoisting с использованием паттерна «координатор» для навигации. Вдохновением для меня послужила эта публикация, но я решил подробнее разверну...

Информационный парадокс чёрных дыр теоретически разрешим на квантовом компьютере В комментариях к одной из моих июльских статей «О возможных составляющих тёмной материи» уважаемый Дмитрий Кобзев @Kodim выдвинул простой и гениальный тезис: «темная материя — это материя в черных дырах. В статье этот вариант не рассматривается?» В статье этот вопрос действи...

[Перевод] Я изучила 900 самых популярных инструментов ИИ на базе open source — и вот что обнаружила Четыре года назад ИТ-эксперт Чип Хуэн* проанализировала экосистему ML с открытым исходным кодом. С тех пор многое изменилось, и она вернулась к изучению темы, на этот раз сосредоточившись исключительно на стеке вокруг базовых моделей.О результатах исследования читайте под ка...

Уязвимости на GitHub: в библиотеке Ruby, которую скачали 250 000 раз, модулях для электронных замков и популярных играх В конце марта в блоге GitHub вышла статья, как защищаться от уязвимостей типа RepoJacking. В первых строчках автор советовал использовать пакетные менеджеры типа NPM и PyPI, чтобы киберугроза этого вида «не угрожала пользователю напрямую». Можно было бы вздохнуть с облегчени...

Почему инфраструктура big tech обычно состоит из самописных решений Привет! Предлагаю поговорить о том, почему крупные IT‑компании так любят создавать в своей инфраструктуре собственные решения. Казалось бы, напрашивается ответ: NIH‑синдром и ничего более. Но такой ответ вряд ли может считаться сколько-нибудь полным,...

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

Картографический фотопроект «По местам съёмок фильма «Брат 2» Проект начал делать в 2022 году, параллельно с проектом по первой части фильма. Во второй части многие локации пришлось искать вооружившись Яндекс и Гугл панорамами. Около полугода искал человека, который сделает фото в Чикаго. С технической точки зрения ничего не поменялос...

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

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

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