Социальные сети Рунета
Пятница, 10 мая 2024

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

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

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

CADLib API: От API к прямой работе с базой данных модели через SQL-запросы Рассмотрим вариант расширения стандартного CADLib API в части выборки объектов с некоторыми параметрами из базы при помощи SQL-запросов на примере получения всех файлов публикации, в которых встречаются объекты коллизий. Подобную задачу мы решим сперва вручную при помощи тол...

Планируем путешествие — задача коммивояжера (TSP) для построения оптимального маршрута С вами Алексей Ложкинс, эксперт по анализу данных и машинному обучению в ПГК Диджитал. Мы разрабатываем цифровые продукты для логистической отрасли, в первую очередь, для ж/д перевозок.В кулуарах московского офиса ПГК мы обсуждаем и нерабочие темы. Топовую строчку в темах не...

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

Улучшение кода без споров и цитирования известных практик Не секрет, что при формировании новой команды руководители (Team Leader, Tech Leader) сталкиваются с проблемой формирования единого стиля написания программ, так как все члены команды новые, и у каждого из них свой подход к организации кода и выбору используемой практики. Ка...

Краткий обзор развития лямбда-выражений в C++11, C++14, C++17 и C++20 Привет, Хабр!Сегодня рассмотрим лямбда-выражения в C++ и их эволюцию с момента появления в стандарте C++11 и до последних обновлений в C++20.Лямбда-выражения в C++ — это анонимные функции, которые позволяют писать инлайн-выражения прямо там, где они используются. С их помощь...

SQL HowTo: итоги по строкам и столбцам «в одно действие» Немного отвлечемся от простых SELECT и посмотрим на реальной бизнес-задаче построения различных "тепловых карт" и "шахматок", как знание возможностей SQL может облегчить жизнь и разработчику, и его базе. Читать далее

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

Простыми словами про обработку текстовых запросов пользователя в Телеграмм ботах на java Тем, кто так или иначе уже сталкивался с разработкой Telegram-ботов на java, известно, что бот должен уметь отправлять запросы Telegram-серверу и получать от него обновления (updates). В настоящее время существует два способа получения обновлений:- использование LongPolling ...

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

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

Про сортировку чисел и SIMD или как я обогнал STL в 16 раз Cитуация, когда недостаток производительности пытаются покрыть новым железом, не редка. Важно понимать, однако, что железо, которое мы использовали и используем сегодня, содержит в себе множество механизмов, способных актуализировать наш код на года вперед. В моем понимании ...

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

Когда достаточно простого класса Python — взять и начать управлять ML-экспериментами Мы в ПГК занимаемся грузоперевозками, причем решаем различные транспортные задачи не только методами математической оптимизации, но и с помощью моделей машинного обучения. Наши дата-сайентисты проводят десятки экспериментов — в том числе и без необходимости прибегать к инстр...

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

SQL HowTo: один индекс на два диапазона В прошлой статье я показал, как условие с парой однотипных неравенств, плохо поддающееся индексации с помощью btree, можно переделать на эффективно gist-индексируемое в PostgreSQL условие относительно диапазонных типов, а наш сервис анализа планов запросов explain.tensor.ru ...

[Перевод] Вычислительные выражения: Реализуем Delay и Run Скотт Влащин продолжает рассказ о вычислительных выражениях в F#. Вычислительные выражения очень похожи на монады из Haskell, но у них есть свои особенности.Одной из необычных особенностей Haskell являются ленивые (отложенные) вычисления. В F# вычисления энергичные, как и в ...

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

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

Протектор и LLVM-обфускатор. Сравнение двух подходов к решению задачи запутывания кода Добрый день, Хабр! В данной заметке я постараюсь сравнить два разных подхода к задаче запутывания машинного кода – это протектор и обфускатор, построенный на базе LLVM-фреймворка. Нам пришлось с этим столкнуться, когда возникла задача защиты библиотек Guardant под разны...

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

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

Включение Super Micro в индекс S&P 500 привело к росту почти на 1000% Фирма, занимающаяся искусственным интеллектом, собирается присоединиться к индексу в марте вместе с Deckers.

Курс «PostgreSQL для начинающих»: #1 — Основы SQL Этим постом я запускаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".В программе: рассказ об основах SQL, возможностях простых и сложных SELECT, анализ производительно...

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

Сравнительный анализ методов аппроксимации на основе SQL-запросов При работе с данными часто приходится сталкиваться с ситуацией, когда имеется некоторая функциональная зависимость yi = f(xi), которая получена в результате эксперимента или сбора статистики. То есть исходные данные представлены набором точек (x1, y1), (x2, y2) … (xn, yn), г...

GraphQL и микросервисная архитектура: объединяем сервисы в федерацию Меня зовут Владислав Гончаров, я разработчик в команде Platform V DataSpace СберТеха. Расскажу, как мы решаем вопрос с объединением сервисов в GraphQL и микросервисной архитектуре, которая позволяет разбить любое большое приложение на маленькие сервисы. С одной стороны, их п...

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

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

Heretic: full stack фреймворк на основе Marko.js В последнее время вышло так, что я по неведомой причине стал часто заниматься популяризацией Marko.js, декларативного и реактивного языка разметки, который разрабатывается eBay. С одной стороны, это связано с тем, что Marko незаслуженно часто обходят стороной, хотя он п...

[Перевод] Размер пул-реквеста имеет значение Иногда бывает так, что вы отправляете на проверку пул-реквест, который оказался существенно больше, чем вы ожидали. И у вас возникает вопрос:«Какого же размера он должен быть? Бывает ли идеальный размер? Если бы теоретически можно было полностью его контролировать, то наскол...

C3D Collision Detection: представление детектора столкновений в составе C3D Toolkit Сергей Белёв, старший математик‑программист, C3D Labs, знакомит с новым компонентом C3D Toolkit — модулем C3D Collision Detection, рассказывает о том, что детектор столкновений представляет собой изнутри, и о том, какие возможности он предоставляет п...

Эволюция оценки программиста на интервью Я более десяти лет жизни писал код в одной российской компании и активно собеседовал-нанимал людей. За это время успел пообщался с четырьмя сотнями кандидатов. На моих интервью было все – от алгоритмических задач до разговоров о «жизни». Но форма вторична – я рассматриваю ин...

Tailwind vs BEM — 2 (архитектура) Статья рассматривает возможные задачи верстки на разных проектах и как с ними справляются две разные архитектуры: Tailwind CSS и ванильный CSS + BEM. Читать далее

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

Малоизвестные библиотеки Python для анализа данных, которые сделают вашу жизнь проще Привет Хабр! В этой статье мы рассмотрим некоторые полезные библиотеки Python для задач обработки данных, с которыми, возможно, вы еще не знакомы. Хотя для задач машинного обучения на ум приходят такие библиотеки, как pandas, numpy, scikit-learn, keras, tensorflow, matplotli...

Индексирование полнотекстовых данных в PostgreSQL с использованием модуля pg_trgm Привет, Хабр!PostgreSQL, одна из самых мощных и гибких реляционных СУБД, предлагает нам свой модуль pg_trgm, чтобы решить сложную задачу полнотекстового поиска.Когда речь идет о поиске, просто LIKE запросы больше не всегда могут удовлетворить технические требования. Полнотек...

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

[Перевод] Использование Jupyter Notebook для разведочного анализа данных ⬝ Методические рекомендации Блокноты Jupyter — это, уже довольно давно, один из самых неоднозначных инструментов в среде дата‑сайентистов. Одни яро критикуют Jupyter, другие горячо поддерживают этот проект. Но, тем не менее, многие согласятся с тем, что блокноты Jupyter, п...

Как вносить вклад в Open Source — и не только кодом. Инструкции от Linux Foundation, CNCF и Free Software Foundation Мы во «Фланте» любим Open Source — причем не только пишем свои открытые инструменты (werf, shell-operator, grafana-statusmap, сommunity-версия Deckhouse), но и активно участвуем в разработке различных проектов — участвуем в KEP’ах Kubernetes, в составе небольшой группы разра...

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

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

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

Domain fronting для чайников, и как его использовать для обхода блокировок Давайте сразу вопрос на засыпку: может ли быть так, что клиент подключается, ну, например, к серверу www.python.org (самому настоящему, тому, к которому обращаются еще миллионы клиентов со всего мира), а потом использует его как прокси и гоняет через это подключение трафик д...

Укрощаем DNS в Wireshark. Часть 2 В предыдущей статье мы начали рассматривать использование анализатора пакетов Wireshark для работы с DNS. В этой мы продолжим рассмотрение данной темы и поговорим о рекурсии DNS. Здесь принцип обмена пакетами будет немного сложнее, потому что помимо обмена DNS пакетами между...

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

Сбалансированные данные – успех в ML: Oversampling и Undersampling Данные, используемые для обучения моделей машинного обучения, должны быть идеально сбалансированы по всем категориям и классам. Однако суровая жизнь часто преподносит нам данные, в которых присутствует значительный дисбаланс. Такой дисбаланс может привести к нежелательным см...

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

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

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

Получение мостов tor из GMail с помощью Python В предыдущей статье была рассмотрена установка и настройка tor в ОС Linux Mint 21.3, а также были рассмотрены несколько способов получения мостов obfs4 с помощью сайта и телеграмм бота. В комментариях был задан вопрос по пово...

Простой пример ИИ для управления роботом. TensorFlow + Node Js Немного слов обо мне: мое хобби это робототехника. На данный момент экспериментирую с шагающим роботом на базе SunFounder PiCrawler. Последнее время тема искусственного интеллекта (ИИ) приобретает все большую популярность. Причиной этому служит в том числе совершенствование ...

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

[Перевод] Создаем свой аналог sqlite c нуля. Часть #1 Это цикл статей где мы создаем базу данных с нуля. За образец автор взял sqlite, так как простая база данных, где вся база данных храниться в одном файле и меньше фич по сравнению с mysql.Мы ответим на эти вопросы: В каком формате данные будут сохранены(в памяти или на диске...

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

Индуктивная статистика: доверительные интервалы, предельные ошибки, размер выборки и проверка гипотез Одной из самых распространённых задач современной аналитики является формирование суждений о большой совокупности (например, о миллионах пользователей приложения), опираясь на данные лишь о небольшой части этой совокупности - выборке. Можно ли сделать вывод о миллионной ауди...

Способ автоматизации процесса получения BIM-моделей с Revit Server и последующей сборкой в Navisworks. Подробный гайд Одной из операционных задач BIM-отдела является подготовка и формирование проприетарных файлов моделей для последующего использования в тех или иных целях. На примере работы с программными продуктами Autodesk — Revit и Navisworks, подразумевается определённая логика разбивки...

[Перевод] Вычислительные выражения: Введение Скотт Влащин — безусловный гуру в мире F#, написавший введение в язык, которое рекомендуют новичкам вместо официального руководства. Группа энтузиастов давно (и с переменным успехом) пытается перевести руководство Скотта на русский. Я завершаю перевод цикла, посвящённого одн...

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

Собеседования в IT как драйвер профессионального роста Рассуждения и рекомендации на тему роли собеседований на разных этапах карьеры IT-специалиста. На основе личного опыта.Изображение от pch.vector на Freepik Читать далее

Типичные задачи аналитика данных. Часть 1. Упала метрика В прошлой статье мы рассматривали неочевидные проблемы АБ тестирования и как можно с ними справляться [ссылка]. Но часто бывает так, что при внедрении новой функциональности АБ тестирование провести нельзя. Например, это типично для маркетинговых кампаний нацеленных на массо...

Инженерный калькулятор на C++. Часть 1: Токенизатор математических выражений Всем привет! Сегодня хочу поделиться опытом написания консольного инженерного калькулятора, который может посчитать что-то вроде (log2(18)/3.14)*sqrt(0.1*10^(-3)/0.02)В этой части мы рассмотрим создание простейшего парсера (токенизатора) на базе конечного автомата, который б...

[Перевод] Что нового в планировщике / оптимизаторе запросов Postgres 16 PostgreSQL 16 вносит немало улучшений в планировщик запросов и позволяет выполнять многие SQL-запросы быстрее, чем в предыдущих версиях PostgreSQL.Если вы посмотрите на PG16 release notes, то увидите некоторые из этих улучшений. Но из-за объема изменений, вносимых ...

Monkey patching в Go, или грабли от Apple Все началось с того, что я в очередной раз немного поменял структуры БД, и в некоторых SQL-запросах добавилась новая колонка. Нормальная ситуация - взять и легким движением руки сломать половину unit test’ов, потому что БДшные моки ожидают определенный текст запроса. Читать ...

Django + React. Авторизация с помощью сессий между разными источниками Всем здравия! Сегодня будет рассмотрена авторизация с помощью сессий между Django и React, которые находятся на разных доменах, т.е случай "cross-origin". Я в двух словах донесу принцип работы, причины появления концепций и технологий описанных здесь, оставлю ссылки на более...

[recovery mode] Подкрепляем полезные привычки Этот текст (не осмелюсь назвать «статьей») стал побочным продуктом моего «грандиозного» замысла — попытки пересказать понятным языком содержание одного из эпизодов The Huberman Lab podcast, который «Как ставить цели и достигать их». И, как все прочие эпиз...

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

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

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

[Перевод] «Да» — расписаниям, «нет» — спискам дел Представьте, что вы купили новый телефон. Но, несмотря на то, что его только достали из коробки, ежедневно, в конце дня, его операционная система даёт катастрофический сбой. Продолжали бы вы пользоваться таким вот дефектным телефоном? Нет, конеч...

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

Курс «PostgreSQL для начинающих»: #3 — Сложные SELECT Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".В этой лекции углубимся в расширенные возможности команды SELECT : как можно "сложить" и "вычесть" вы...

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

Из фото в 3D, ч.2: калибровка камеры Фото до (слева) и после (справа) калибровки камеры В первой части статьи мы немного поупражнялись на яблоках, чтобы понять, как 3D-объекты проецируются на 2D-плоскость фотографии. Заодно мы описали математическую модель камеры и ее параметры.Знаешь параметры — живешь в Сочи...

Перенести терабайты канбан-досок в облако: опыт команды Yandex Tracker Привет, меня зовут Мария Карпенко, я разработчик в команде Yandex Tracker — сервиса для управления процессами и проектами. Внутри Яндекса сервис  используется для постановки задач практически во всех командах, так что общее количество событий по задачам исчисляется уже ...

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

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

Госдума рассмотрит во II чтении проект об отмене предоставления ОСАГО при регистрации автомобилей Законопроект, исключающий необходимость предъявления полиса ОСАГО при постановке транспортного средства на учет, будет рассмотрен Госдумой во втором чтении 9 апреля. Инициатива направлена на упрощение процедуры регистрации автомобилей и снижение бюрократической нагрузки на г...

Проект Квазимодо Всем доброго времени. Давно не появлялся на просторах 3Д печати. И вот дорога вновь привела сюда. После десятка модификаций своего Эндер3, мне жутко захотелось снова приобрести (построить) CoreXY... Задача банальная, есть проект в котором нужна область печати немного больше ...

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

[Перевод] Common Table Expressions Common Table Expressions (CTE) или обобщенное табличное выражение, впервые появилось в версии SQL Server 2005, и это простой способ разбить сложный запрос T-SQL на несколько запросов, что придаёт больше гибкости и управляемости. CTE во многом очень похожи на представлен...

Отладка в SQL Developer Привет! Меня зовут Алексей Маряхин, я разработчик на Oracle. В этой статье продолжим знакомиться с темой отладки PL/SQL-кода.  В предыдущей статье мы изучили возможности отладки в PL/SQL Developer. В этой предлагаю рассмотреть ещё один инструмент — SQL Developer (версия...

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

Spring Cloud Gateway. Единая точка входа или отказа: путь к non-blocking API gateway Привет, Хабр! Меня зовут Никита Летов, я техлид бэкенд-разработки сервисов дистанционного банковского обслуживания Росбанка для физических лиц, или как модно сейчас говорить, ретейла. В этом посте я расскажу, что такое входная точка в приложение, когда в ней появляется необх...

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

Красавица и HTML Injection. Почему HTMLi не только про дефейс Привет, Хабр. Сегодня мы посмотрим на достаточно тривиальную тему с совсем нетривиальной стороны. Пожалуй, для каждого вебера HTML-инъекции являются темой, которой зачастую уделяют не очень много внимания. Взять даже собеседования: когда в последний раз вас спрашивали не об ...

Разворачиваем ML модель с использованием ONNX на Android в километре над землей Иногда в жизни программиста возникают интересные задачи. Например, как перенести полученную ML модель, созданную в Python, на Android смартфон. Потому что этот самый смартфон пристегнут к параплану, висящему в километре над землей, а модель должна помогать пилоту лучше искат...

[Перевод] Dataloader 3.0: Новый алгоритм для решения проблемы N+1 При реализации Cosmo Router, open-source замена Apollo Router, мы столкнулись с проблемой поддержания нашего кода для решения проблемы N+1. Реализация маршрутизатора для федеративных служб GraphQL в значительной степени зависит от возможности группировать вложенные запросы G...

Моя большая практическая шпаргалка SQL (SQLite) с готовыми запросами Привет, Хабр)Публикую шпаргалку по SQL, которая долгое время помогала мне, да и сейчас я периодически в неё заглядываю.Все примеры изначально писались для СУБД SQLite, но почти всё из этого применимо также и к другим СУБД.Здесь есть и примеры довольно сложных запросов с агре...

Go (fiber) vs Rust (axum) JWT&DB На medium.com есть ряд статей со сравнением простых web-сервисов, написанных на разных языках. Одна из них Go vs Rust: Performance comparison for JWT verify and MySQL query и судя по ней, Go на 42% быстрее чем Rust. Я решил перепроверить и заодно поменять Gin на Fiber, Axis ...

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

[Перевод] Как в git работает HEAD Недавно я провела в Mastodon опрос о том, насколько мои читатели уверены в том, что они хорошо понимают работу HEAD в Git. Результаты (на основании примерно 1700 голосов) меня немного удивили:10% — 100%36% — достаточно сильно уверен39% — уверен в некоторой степени15% — предс...

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

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

Мульти-тенант в Django Привет, Хабр! Мульти-тенант (multi-tenancy) — это подход, который позволяет одному экземпляру приложения обслуживать множество клиентов или арендаторов (тенатов). Каждый арендатор изолирован от других, имея возможность кастомизации под свои нужды, при этом основной кодовой б...

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

Фильтры Ansible: превращаем сложное в простое Используя Ansible в качестве инструмента автоматизации, часть приходится сталкиваться с задачей обработки и фильтрации структурированных данных. Как правило, это набор фактов, полученных с управляемых серверов, или ответ на запрос к внешним API, которые возвращают данные в в...

Тинькофф первым в мире представил экосистему персональных помощников Тинькофф объявляет о запуске первой в мире Вселенной ассистентов — AI-помощников, которые умеют подстраиваться под запросы человека и давать ему персонализированный ответ с рекомендациями или подборками товаров по самым разным темам и вопросам — от планирования путешествий д...

Vector.dev: затащили в PoC Привет, Хабр.В одном из проектов, связанных с мониторингом, мы используем Clickhouse, Prometheus, VictoriaMetrics, Grafana, Alertmanager и Vector.dev. Кстати, что общего у всех этих компонентов? Они написаны не на Java – это было одним из требований проекта, но речь ниже пой...

Замыкания и декораторы в Python: часть 2 — декораторы Уважаемые читатели, рад вас приветствовать в новой статье. Этот материал является продолжением предыдущей публикации, посвященной замыканиям. В данной части обзора мы углубимся в тему декораторов.Эта статья написана в первую очередь для тех, кто только начинает свой путь в п...

[Перевод] Если вы собираетесь сидеть и ничего не делать, то хотя бы делайте это правильно Иногда бывает нужно, чтобы API не делал ничего. При этом важно, чтобы он не делал ничего правильным образом.Например, у Windows есть сложная инфраструктура печати, но этой инфраструктуры нет у Xbox. Что должно произойти, если приложение попытается выполнить печать на Xbox?Не...

OpenConnect: недетектируемый VPN, который вам понравится Я уже написал здесь много статей на тему прокси-протоколов и прокси-клиентов, которые очень сложно детектировать и заблокировать, и которые используют пользователи в Китае, Иране, Ираке, Туркменистане, и теперь вот в России (мы здесь в отличной компании, правда?). Но довольн...

[Перевод] Какую роль играет искусственный интеллект в расширении возможностей тестировщиков Обеспечение качества (QA) является одним из важнейших процессов разработки программного обеспечения. QA подразумевает систематический и комплексный подход с целью обеспечить соответствие программного продукта требуемым стандартам качества. Автоматизация уже привела к сущес...

Persistent-request библиотека для надежных запросов Всем привет!В этой статье расскажу, как решил написать библиотеку https://packagist.org/packages/xman12/persistent-request и что там внутри.Как и любая библиотека, эта решает свои задачи, а именно гарантированное выполнение запроса и последующую обработку. Я находил, как мин...

Еще один год из жизни ReactOS Здравствуйте, дорогие друзья!Вот и заканчивается 2023 год. В этой статье я хочу продолжить начатую в 2021 году традицию вспоминания наиболее важных событий из жизни ReactOS за год. То что статьи не появляются на Хабре, не значит что система мертва. Медленно, но верно, в Reac...

Как одной деталью я купил Bambu Lab X1 Carbon Combo Привет, получилось в моей жизни так, что я увлекаюсь и бильярдом и 3д печатью.Все кто когда нибудь играл в бильярд должны знать что такое наклейка, это такая маленькая "хрень" на кончике кия которую мажут мелом и она соприкосается с шаром во время удара. Так вот, эту наклейк...

Fashion is ML profession! Материалы митапа Использование ML в онлайн-шоппинге не ограничивается рекомендациями товаров. Покупать одежду и обувь проще, когда у любого бренда ты знаешь нужный размер, видишь удачное сочетания товаров и легко находишь похожие внешне или по цвету вещи.В Lamoda Tech мы создаем продукты, ко...

Почта без хлопот: автоматизация отправки писем с помощью Python Привет-привет! С вами снова Оля — программист Учебного центра компании «Тензор». Ранее я писала здесь о разработке ботов в Telegram, но в моем отделе не скупятся на творческие задачи — так что и эта статья вряд ли будет последней. В этой статье расскажу, как автоматизировать...

Сборник советов, как упростить работу с YAML-файлами YAML (.yml) — популярный язык для конфигурационных файлов, широко используемый DevOps в подходе «Инфраструктура как Код» (IaC). Несмотря на то, что работать с ним бывает проще, чем с тем же JSON (особенно в контексте взаимодействия с большими объемами данных), иногда использ...

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

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

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

concurrent.futures в Python Привет, Хабр! Сегодня мы взглянем на одну из самых интересных библиотек в Python для работы с параллельным выполнением задач - concurrent.futures.Каждый разработчик сталкивается с ситуациями, когда необходимо выполнять задачи параллельно. Это может быть I/O-операции, которые...

ВРМ. Смарт-инструменты «Таблица -> Схема» для формализации бизнес-процессов. Рестайлинг ARIS SmartDesign Ставится задача повторить доселе непревзойдённый ARIS SmartDesign, который по табличному представлению процесса автоматически рисует схему процесса (структуры чего-либо). Схемы процессов желательно строить в нескольких процессных нотациях (EPC, VAD и т.п.). ARIS SmartDesign ...

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

Junior PHP. Ответы на часто задаваемые вопросы на технических собеседованиях Привет пользователям Хабра!Тема собеседований и подготовки к ним всегда актуальна. Поэтому я подготовил ответы на часто задаваемые вопросы на технических собесах по PHP на уровень Junior. Сразу скажу, что этот список вопросов я взял с другого ресурса, к которому очень часто ...

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

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

Отопление в ИЖС с помощью сплит-кондиционера «на тепло». Так ли это выгодно на самом деле? Отопление тепловыми насосамиПродолжим обсуждение способов экономичного отопления в ИЖС без использования трубного газа.Ранее были рассмотрены варианты отопления электричеством и отопления с применением СУГ.https://habr.com/ru/articles/785280/По желанию читателей решил рассмо...

Багажное отделение УАЗ Патриот Вступительное словоДавно-давно началась эта история. Всякий уважающий себя уазовод должен изобрести хреновину в багажник своего автомобиля, потому что места в багажном отделении много, но нормально пользоваться этим местом невозможно в силу того, что оно будто чистейшая перв...

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

Lenovo ThinkBook Plus Gen 5 Hybrid: два компьютера в одном. Что из себя представляет этот необычный девайс? Когда о ноутбуке говорят, что это «гибрид» или «трансформер», обычно предполагается, что девайс можно использовать в качестве планшета или лэптопа. Но здесь другая история: дело в том, что устройство представляет из себя два полноценных компьютера в одном. В прямом смысле сл...

ThinkPad X1 Fold 16: ноутбук от Lenovo с гибким дисплеем. Дизайн и возможности Производители ноутбуков достаточно активно создают системы с гибкими дисплеями, несмотря на то, что спрос на такие девайсы ниже, чем на складные телефоны. Сегодня давайте обсудим лэптоп от Lenovo с диагональю сразу в 16 дюймов. У него немало функций, так что его могут исполь...

Простой софт, чтобы водители не дрались в очереди на выгрузку металлолома На сегодняшний момент металлолом — наше всё. Нам его надо ОЧЕНЬ много, и мы его закупаем. Лом нам везут ломовозами с площадок сбора металлолома. Бывало, колонна под сотню ломовозов выстраивалась в очередь на пункт выгрузки, что доставляло немало проблем. Водители могли...

Реализация чата на Flutter при помощи вебсокетов Всем привет, на связи PurplePlane! В этой статья мы хотели бы рассмотреть реализацию простого чата на языке Dart, используя пртокол websocket.Рассмотрим пример использования вебсокета при реализации простого чата с помощью библиотеки web_socket_channel. Читать далее

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

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

[Перевод] 10 полезных команд Git В этой статье мы рассмотрим набор команд, которые немного облегчат вам жизнь и повысят продуктивность. Читать дальше →

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

Используем паттерн Decorator в Bitrix Применять паттерны программирования — хорошая практика. К сожалению, на проектах CMS Bitrix редко встречаются примеры использования. В статье я покажу на примере, как можно использовать паттерн Decorator.А также рассмотрю этот паттерн в целом: его распространенные реали...

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

Метод SMART. Что это и почему про него важно знать руководителю? Привет! Меня зовут Лера, я в управлении проектами уже 7 лет. Реализовывала проекты на стыке AR/VR/ML-технологий в сервисной компании. Сейчас работаю в EdTech и параллельно занимаюсь менторством начинающих проджектов и руководителей.Прежде чем мы перейдем к основной...

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

Альтернатива Nova: почему решили перейти с самописного решения на Orchid Привет. Меня зовут Артем, я backend-разработчик в Пиробайте. Когда я только пришел в компанию, то узнал, что команда разрабатывает административные панели на основе самописного решения, созданного внутри студии. Когда-то за основу был взят шаблон Inspinia, и для него написан...

[Перевод] Ладья на XSS: как я хакнул chess.com детским эксплойтом Шахматы – это одно из многих моих хобби, за которыми я провожу свободное время, когда не ковыряюсь с какой-нибудь электроникой. При этом играю я так себе, и когда мне изрядно надоело проигрывать, я решил заняться тем, что у меня получается гораздо лучше… хакнуть систему! В...

Хорошие приложения для Андроид, от которых больше пользы, чем ты думал В большинстве случаев пользователи заходят в Google Play ради того, чтобы скачать нужное им в данный момент приложение. Но просто так, ради интереса, их никто не загружает, чтобы не забивать память, рассуждая так, что эти программы вряд ли когда-нибудь пригодятся. Конечно ж...

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

Гонка за скоростью: сравнение производительности ведущих фреймворков JavaScript в веб-разработке. Fastify, Express, Koa Недавно я задался вопросом «Какой JS фреймворк самый быстрый». Я обратился с этим запросом в гугл и нашел очевидный ответ «это fastify!». Но почему именно он?. Я практически сразу наткнулся на статью, результаты которой меня немного расстроили, так к...

Тирания личного бренда в IT Привет Хабр! В своей статье хотел по рассуждать на тему необходимости личного бренда IT специалисту для успешного продвижения по карьерной лестнице. Ведь, когда вы достигните потолка и станете ведущим профессионалом, возникает закономерный вопрос, что делать дальше? Читать ...

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

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

Большая иерархия в SQL запросе + PostgreSQL Сначала запрос адаптирован для работы в PostgreSQL 15.6.Затем работа запроса проверена на достаточно объемной иерархии - в качестве источника данных использована структура архива jdk-master.zip из OpenJDK 22 Читать далее

Обработка данных для RAG-систем Всем привет, меня зовут Андрей Шахов, я Python-разработчик и Lead Backend Developer в wpp.digital. ML-направлением, а точнее LLM в компании я начал заниматься только в конце 2023 года. Сейчас на задачи подобного рода у меня уходит примерно 40% рабочего времени.Решил начать п...

Детекция объектов. R-CNN, Fast R-CNN, Faster R-CNN. Часть 1 Кто такой детектор?Данная статья посвящена постановке задачи детекции и обзору первых двухстадийных детекторов, таких как: R-CNN, Fast R-CNN и Faster RCNN. Читать далее

Методы балансировки в А/Б тестировании Привет, Хабр! Как часто вы думаете о балансе? Балансе вселенной, личной жизни и работы, балансе БЖУ в своем рационе или балансе в банке. Мы в команде ad-hoc X5 Tech не только думаем о балансе, но и сталкиваемся с ним в работе. Сегодня поговорим о балансировке при анализе при...

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

[Перевод] Всё ещё используете If/else валидацию в Spring 6.0+ / SpringBoot 3.0+? Чтобы избежать влияния несанкционированных параметров на ваш бизнес, в ваших веб-сервисах должна быть реализована проверка параметров на уровне контроллера! В большинстве случаев параметры запроса можно разделить на два следующих вида:— POST и PUT-запросы, использующие reque...

Для кого я на самом деле проектирую интерфейсы? Для разработчиков. Моя задача проектировщика — пообщаться с клиентом, собрать его идеи и бизнес-запросы, а затем превратить в макеты и сопроводительную документацию для разработчиков. Если я плохо её оформлю или что-то забуду детализировать — пострадают именно они. Им придёт...

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

PLC Allen Bradley подключение с помощью Python Привет, уважаемый читатель!Хочу немного поведать тебе как через Python в локальной сети можно подключиться к PLC от Allen Bradley.В свое время перепробовал кучу разных библиотек, но в один прекрасный день нашлась та самая "pycomm3". Читать далее

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

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

Как построить дом по Agile. Пример успешного применения гибкой методологии для самого классического Waterfall-проекта Хочется начать с тезиса: все методологии хороши, главное – правильно их применять. Однако несмотря на все усилия, я все еще встречаю скепсис у технических специалистов и иногда бизнеса, что Agile методологии не применимы к большим и сложным проектам. Фразы из серии «давайте ...

[Перевод] Потенциальные проблемы с автоинкрементным ключом. MySQL <8.0, PostgreSQL В данной публикации я поделюсь двумя основными причинами, по которым я предпочитаю избегать использования автоинкрементных полей в PostgreSQL и MySQL в будущих проектах. Вместо этого я предпочитаю использовать UUID-поля, за исключением случаев, когда есть очень веские аргуме...

5 бесплатных игр для iPhone из рекомендаций Apple Иногда подбирать игры для iPhone становится очень проблематично. В топе найти ничего интересного не получается, а все, что скачано ранее, просто надоело. В такой ситуации можно обратиться к тем рекомендациям, которые дает Apple. В App Store на каждом Айфоне на вкладке “Игры...

ref vs shallowRef Рассмотрим отличие ref от shallowRef, и попробуем ответить на вопрос - когда же нужно использовать первое, а когда второе? За разъяснением обратимся к исходному коду vue3 Читать далее

[Перевод] Обнаружение движущихся объектов с помощью OpenCV с использованием обнаружения контуров и вычитания фона Обнаружение движущихся объектов широко используется в самых разных приложениях, от видеонаблюдения до мониторинга дорожного движения. Это важнейшая задача в постоянно развивающейся области компьютерного зрения. Библиотека OpenCV с открытым исходным кодом, изве...

USB Rubber Ducky своими руками. По-настоящему Я думаю для пользователей Хабра и пентестеров в частности, тема badusb устройств не является секретной. Это вещи действительно интересные и полезные, а наверное, самый известный такой прибор - это USB Rubber Ducky от компании Hak5. С ним есть проблема, эти устройства сейчас ...

[Перевод] Начало работы с Axum — самым популярным веб-фреймворком Rust Когда дело доходит до выбора серверного веб-фреймворка в экосистеме Rust, можно запутаться из-за большого количества вариантов. В прошлом, лидером по популярности был Rocket, но сейчас за первенство сражаются Axum и actix-web, и Axum все больше набирает обороты. В этой ста...

Встроенные системы: с какими сложностями сталкиваются разработчики Проектирование встроенных систем подразумевает создание аппаратного обеспечения (печатной платы) и встроенного ПО. На каждом из этих направлений разработчики сталкиваются с неочевидными трудностями – неочевидными прежде всего для заказчиков. Здесь я хотел бы перечислить самы...

Курс «PostgreSQL для начинающих»: #2 — Простые SELECT Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".Сегодня поговорим о самых простых, но важных, возможностях команды SELECT, наиболее часто используемо...

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

Redux vs Mobx кого же выбрать для React-приложения в 2024 году? Привет, Хабр!Сегодня я хочу поделиться с вами своими размышлениями о том, какой стейт менеджер лучше использовать для разработки приложений на React в 2024 году. Как вы знаете, React — это одна из самых популярных и мощных библиотек дл...

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

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

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

Атаки на Bluetooth. Часть 1 Снова приветствуем всех заинтересованных и случайно попавших на эту статью! Продолжаем рубрику "Без про-v-ода", в основном мы разбираем для вас атаки на Wi-Fi, но в этой статье мы затронем одну из популярных беспроводных технологий - Bluetooth. Все мы каждый день им пользуем...

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

«Шум» в суждениях и предвзятость в решениях людей и нейросетей А — точность; В — шум; С — предвзятость; D — шум + предвзятость Когда разработчиков ПО просили в два разных рабочих дня оценить время выполнения задачи по одному и тому же ТЗ, часы, которые они прогнозировали, отличались в среднем на 71 %. Два одинаково опытных врача мог...

Рисуем с нейросетями: тонкие корректировки в Midjourney и Lumenor.ai Привет, Хабр! Я – Михаил Суворов, ведущий дизайнер коммуникаций в X5 Tech. В статье я расскажу несколько рабочих способов “уговорить” нейросеть нарисовать то, что вам нужно. Я использую нейросети как генераторы изображений, в первую очередь для создания иллюстраций.Если вы д...

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

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

Глубока ли кроличья нора: Bing обзавелся «глубоким поиском» на основе GPT-4 Microsoft собирается изменить рынок поисковых систем с помощью своей новейшей функции - Deep Search, работающей на базе GPT-4. Попрощайтесь с необходимостью составлять идеальный ИИ-запрос - Deep Search превратит ваши расплывчатые запросы в подробный кладезь информации.

[Перевод] Как получить работу в области Data Science? 8 простых шагов Перспективность и привлекательность карьеры в области Data Science привела к закономерному росту конкуренции. В условиях жесточайшей конкуренции между многочисленными кандидатами, стремящимися получить немногочисленные должности, выбор зачастую падает на тех, кто не только о...

Какие ML-платформы нужны бизнесу, и кто их может сделать Привет, Хабр! Меня зовут Виктор Кантор, я директор Big Data МТС. Около 14 лет я работаю с технологиями, связанными с Machine Learning, Big Data, Data Science. Но есть одна проблема, с которой я постоянно сталкиваюсь. Например, поставлена задача, которую нужно решить при помо...

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

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

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

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

Как рассчитать CLTV с помощью машинного обучения и как нам в этом помогает Feature Store Условия задачи: дано число клиентов банка N, число банковских продуктов М, горизонт времени прогноза Т. Нужно посчитать ( Pij ).Привет, меня зовут Игорь Дойников, в Альфе я CDS — Chief Data Scientist в Розничном Бизнесе. Моя команда строит модели машинного обучения для розни...

Прививка от созависимости. Зачем нужен DI и как он работает в iOS-приложениях hh.ru Всем привет! На связи Яша Штеффен — iOS разработчик из hh.ru. Думаю, любой, кто долгое время писал код для платформы, был свидетелем эволюции работы с зависимостями. На ранних этапах и в простых проектах все создавалось и настраивалось внутри ис...

Database, Data Warehouse и Data Lake: что это и когда следует использовать каждое? Данных становится все больше. Важно уметь эффективно хранить и обрабатывать их для решения сложных бизнес-задач. Одним из первых шагов на пути к успешной стратегии является выбор технологии хранения, поиска, анализа и отчетности по данным. Как выбрать между базой данных, Dat...

[Перевод] Реализация случайности в CSS при помощи тригонометрии В прошлых статьях я рассматривал тему реализации псевдослучайности в CSS при помощи операции целочисленного деления и использовал простые числа для создания автоматического счётчика, при помощи которых можно генерировать разные значения для каждого объекта. Благодаря этому ...

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

Длительная эпопея закончилась. Верховный суд США отказался рассматривать дело Apple против Epic Games Верховный суд США отказался рассматривать дело Apple против Epic Games в их давнем иске друг против друга относительно правил App Store. Apple подала запрос в сентябре 2023 года, попросив Верховный суд рассмотреть апелляцию по той части юридического спора, которая была ...

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

Дженерики в go Привет, Хабр!Дженерики (или generics) существуют во многих языках, таких как Java, C#, и Rust, но для Go это относительно новая фича, введенная в версии 1.18 в 2022 году.До версии 1.18 Go был известен своим строгим и простым подходом к типизации. Однако, с ростом сообщества ...

Опыт создания UI библиотеки на C++ Началось все почти два года назад в декабре, практически перед новым годом.Наш основной проект (видео мессенджер) использовал WTL для Windows и GTKmm для Linux. Поддержки мака не было. Огромной неприятностью было тащить два идентичных клиента, которые, по идее, должны делать...

Старушка GeForce RTX 3060 ещё повоюет. Nvidia собирается снизить цену этой видеокарты и продлить её срок жизни для борьбы с AMD Компания Nvidia продлит жизнь видеокарте GeForce RTX 3060. Как сообщается, этот адаптер продолжит находиться в строю, чтобы лучше бороться с новинками AMD.  создано DALL-E Ресурс IT Home говорит, что RTX 3060 не будет снята с производства в ближайшее время. Ей пре...

А/Б тестирование с CUPED: детальный разбор Хабр, привет! Сегодня обсудим, как применять CUPED для повышения чувствительности А/Б тестов. Рассмотрим на простом примере принцип работы CUPED, покажем теоретически за счёт чего снижается дисперсия и приведём пример оценки эксперимента. Обсудим, как выбирать ковариату, как...

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

[Перевод] Задача двумерной упаковки интервалов Упаковка интервалов — это классическая задача SQL, которая подразумевает переупаковку групп пересекающихся интервалов в соответствующие им непрерывные интервалы. В математике интервал — это подмножество всех значений данного типа, например целых чисел, между двумя некоторым ...

Как пишут SQL-запросы гуманитарии Когда говорят "мы ускорили выполнение нашего запроса в N раз" это значит, что сначала сделали плохо а потом начали думать как улучшить.Так я думал раньше. Читать далее

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

Модули памяти Afox UDIMM DDR5-5600 емкостью 32 ГБ: простой и недорогой комплект на чипах Micron для использования в режиме по умолчанию Сильным местом рассмотренного набора модулей Afox является удачно выбранный режим работы по умолчанию: настраивать ничего не требуется. Но и настраивать тут практически нечего, так что компьютерным энтузиастам такая память не подойдет. А просто для сборки недорогой, но произ...

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

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

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

Поездка в Иннополис и Всероссийская олимпиада по ИИ Когда нас позвали быть партнером Всероссийской олимпиады по ИИ для школьников, мы даже не представляли, что это событие (на первый взгляд показавшееся совершенно простым и не особо привлекательным) запомнится нам как одно из самых ярких мероприятий осени. Вроде бы, ниче...

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

Как объяснить градиентный спуск вашей маме: простое руководство Градиентный спуск лежит в основе большинства методов AI/ML. Звучит как-то странно и пугающе. Спуск? Блин, надеюсь, мне не придется прыгать с парашютом...

Основы репликации в Kafka Привет, Хабр!Репликация в Apache Kafka - это механизм, который обеспечивает доступность и надежность в обработке потоков данных. Она представляет собой процесс дублирования данных с одной части темы в другие, называемые репликами. В этой статье рассмотрим основы репликации в...

ИИ в 3D: Где мы сейчас и какое будущее нас ждёт? (Часть 2) В предыдущей статье мы уже затрагивали задачу реконструкции 3D-объектов по их 2D-изображениям. В этой же углубимся в реконструкцию с головой! Вообще говоря, как мне кажется, сейчас мы рассмотрим гораздо более концептуально интересные методы, а именно - HSP и Mesh R-CNN. Это ...

Органайзер для мелочей. (экономия места и времени) Ребята всем привет!Да я еще жив и иногда все еще продолжаю создавать новые проекты. Одним из таких проектов стал Органайзер для маленьких болтиков и разных мелочей.Чем удобен такой вариант контейнера? Лично я много храню разной мелочевки и пробовал разные варианты. На данном...

Нужен ли удаленной команде менеджер? Обсуждая удаленку, мы часто говорим о том, что комфортно в таком режиме работается людям с высоким уровнем самостоятельности - тем, кто может сам спланировать время, мотивировать себя делать задачи (да и в целом понимает, что удаленка - это не фриланс, а “фриленд”).Но если м...

Высокоскоростной SPI to Ethernet конвертер, при чем здесь DMA? Чисто техническое, но не очень глубокое описание реализованной задачи с самыми простыми расчетами. Надеюсь, будет полезно соответствующим техническим специалистам или для тех, кто хочет понимать что-то про объем знаний необходимых для использования DMA над некоторым устройст...

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

Приглашаем на Ozon Tech Community ML&DS Meetup Всем привет, меня зовут Артём, я руководитель команды «Эффективность рекламы». Мы пока не предлагаем генеративные модели для пользователей, но мы делаем другие крутые вещи, связанные с ML&DS. И хотим о них рассказать.Приглашаю на Ozon Tech Community ML&DS Meetup, где...

Переезжаем с DUO Mobile на Мультифактор. Опыт (и грабли) QIWI Когда каждый день слышишь о новых утечках учетных данных пользователей, а социальная инженерия и разного рода мошенники активно прокачивают свои скиллы в выманивании паролей у пользователей, многофакторная аутентификация становится must have.А если мы говорим о работе в боль...

[Перевод] Адаптируем иконку вашего приложения для visionOS Иконки — визитные карточки для любого приложения в App Store. Наличие кроссплатформенного приложения подразумевает понимание контекста, в котором будет отображаться иконка.Когда дело доходит до новых технологий, таких как visionOS, убедитесь, что у вас есть всё необходимое д...

[Перевод] PL/I — многогранный язык Майк Бедфорд раскрывает тайны PL/I - языка, который, как надеялись в IBM, заменит FORTRAN и COBOL.Названия языков программирования варьируются от банальных до точно описательных, от совершенно бессмысленных до, как в случае с темой этого месяца, откровенно неточных. Речь иде...

Merlion Framework или как упростить работу с временными рядами Единственная причина для существования времени — чтобы все не  случилось одновременно.Альберт ЭйнштейнПривет! Меня зовут Дмитрий, я дата-инженер в SM Lab, и в этом посте хочу рассказать вам о Merlion Framework. В посте мы рассмотрим его архитектуру, полезные функции и о...

[Перевод] Это слишком опасно для C++ Некоторые паттерны стало возможно использовать на практике только благодаря безопасности Rust по памяти, а на C++ они слишком опасны. В статье приведён один такой пример.Работая над внутренней библиотекой, написанной на Rust, я создал тип ошибок для парсера, у которых должна...

Почему hr в России деградирует? Почему hr в России деградирует?Мой скромный взгляд на нашу суровую и самобытную hr-реальность. Если вы сталкивались в своей жизни со странными и непонятными решениями от hr-ов, возможно объяснение этому поведению вы найдете в этой статье. 100 лет отставания, которые породили...

[Перевод] О Prepare statements, серверном кэше скомпилированных запросов или как эффективно кэшировать запросы в YDB Существуют различные способы снижения стоимости выполнения SQL-запросов в современных СУБД. Наиболее распространенными подходами являются использование подготовленных запросы и кэширование. Оба метода доступны в YDB.Кэширование запросов позволяет ско...

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

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

[Перевод] Cовместное использование GitHub Actions, Docker и GitHub NPMvPackage В современном мире разработки программного обеспечения GitHub остается самой популярной платформой для хранения Git-репозиторий и управления ими. Помимо своей фундаментальной роли в управлении версиями, GitHub предлагает дополнительные функции, включая возможность размещения...

Троттлинг в Kubernetes. Или как настроить лимиты, чтобы приложения не “тормозили” Главная рекомендация - отказаться от лимитов!А теперь подробнее.Когда у вас много пользователей используют один кластер Kubernetes, возникает вопрос - как задать квоты, чтобы и приложениям хватало ресурса, и не случилось ситуации, когда из-за одного прожорливого соседа страд...

Telegram выпустил обновление на Android с бесплатной расшифровкой голосовых сообщений. Есть и другие фишки Вышел Telegram 10.3.0. Это свежая версия популярного мессенджера с новыми функциями, которые наверняка позаимствует WhatsApp лет этак через 10. Впрочем, и это не точно, а вот об очередной порции фишек приложения Павла Дурова можно говорить с уверенностью. После обновления Т...

Миграция с Webpack и react-scripts на Vite: Путь к Быстрому и Легковесному React Я работаю фронтенд-разработчицей в IT-компании, и многие из моих проектов на протяжении долгого времени собирались с использованием Webpack. Настройка Webpack иногда бывала сложной, но в целом он справлялся с задачей сборки проектов. Однако в последнее время мои коллеги нача...

Электронный выключатель — избавляемся от дребезга контактов При разработке блока питания на 5 выходов возникла необходимость измерить переходные процессы. Обычный выключатель или механическое реле тут не подходит т.к. вносит погрешность из-за дребезга контактов. Читать далее

Как устроен GIL (Global Interpreter Lock) в Python: влияние на многозадачность и производительность Привет, уважаемые читатели!GIL, или Global Interpreter Lock десятилетиями оставался темой обсуждения и дебатов среди питонистов.Что такое GIL? GIL, сокращение от Global Interpreter Lock, представляет собой важную концепцию в Python. Он представляет собой мьютекс, который бло...

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

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

3D-принтеры осени 2023 года: разные модели для разных пользователей и задач Когда-то 3D-принтеры казались каким-то чудом (для меня это и до сих пор какая-то магия, хотя я и понимаю, как это всё работает). Первые системы стоили очень дорого, а могли очень немногое, хотя и тогда они были крайне практичны. Сейчас же производители предлагают модели для ...

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

Подключаем умный поиск (GPT) к своей базе документов Есть отечественный файрвол (NGFW) и есть документация для пользователей powered by GitBook. В этой документации работает простой поиск — только по словам и словосочетаниям. И это плохо, потому что нет ответов на вопросы: "Какие алгоритмы шифрования ipsec поддерживаются у вас...

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

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

<dl> или <table>? Исследуем подходы к представлению пар ключ-значение в HTML Казалось бы, простая задача - сверстать список пар ключ-значение. Бери <div> и делай. Но что, если захотелось подушнить? Этим и займёмся в статье...Рассмотрим три подхода к решению этой задачи: <div>, <dl>, <dt>, и <dd>, и <table>. Обсудим...

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

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

Максимально простая игра на C++ (в консоли) Мой выбор остановился на простецкой игре - виселице, запускаемой в консоли (cmd), которую я решил написать на С++?. Здесь я хочу рассказать о том, как я её реализовал, что использовал и т.д. Читать далее

От Angular до биотеха: что будет на HolyJS 2024 Spring В апреле мы проведём конференцию HolyJS — о чём будут её доклады? Что вообще должны говорить на JS-конференции? Спорить, какой фреймворк лучше?Бессмысленные холивары мы не любим. А вот полезную информацию по тем же фреймворкам — вполне. Так что будут доклады с темами вроде «...

[recovery mode] Простой production-ready генератор студийных фото продуктов В данной статье мы рассмотрим простой пример готового к запуску в продакшн приложения с генеративным пайплайном. Расчет идет на возможность простого масштабирования и распределения вычислений на GPU. Читать далее

Укрощение примитивов синхронизации: сравниваем решения задачи с построением пула потоков на С и Go Эта статья основана на истории об одном личном челлендже. Задача звучала так: помочь с реализацией взаимодействия компонентов в программном комплексе заказчика. Иными словами, понадобилось IPC для дальнейшего развития продукта. Вызов заключался в том, что в обязательных треб...

Node Pools в AKS Привет, Хабр!В Kubernetes кластер состоит из множества узлов (nodes), которые представляют собой виртуальные или физические машины, на которых запущены приложения. Node Pools — это группы узлов с одинаковой конфигурацией, управляемые как единое целое. С Node Pools можно имет...

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

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

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

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

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

Опять транзакции… Всем привет. На своем последнем месте работы я выполнял обязанности Java разработчика в одной из команд сервиса, чье приложение установлено в смартфоне большинства жителей РФ. Использовался стандартный стек технологий: Java, Spring(web, jdbc, core), Postg...

Как оценить задачи без Planning Poker и лишних слов Привет, Хабр!Меня зовут Александр, я занимаюсь релиз менеджментом в ИТ-компании TAGES. Эта работа требует быстрой поставки бизнес-ценности в условиях меняющегося мира. Однако непрерывность регулярных деплоев невозможна без четкого плана. А правильный план, в свою очередь, тр...

Реализация многооконного приложения на Vue 3 В наше время чуть ли не каждое приложение использует браузерный клиент. Это просто в написании, это кроссплатформенно, это легко в использовании. Браузерные решения уже активно используются и в промышленной сфере: аналитиками, операторами. WEB-приложения для управления промы...

Реализация консенсусного алгоритма Raft Привет, Хабр!Когда речь идет о распределенных системах и сетевых приложениях, консенсусный алгоритм становится must have. Эти алгоритмы играют ключевую роль в обеспечении надежности, согласованности и целостности данных в условиях, когда у нас есть несколько участников (узло...

Ценности как инструмент принятия сложных решений: как мы упрощаем взаимодействие команд и приходим к единому мнению Последнее время мы активно растем. За год количество сотрудников «Фланта» увеличилось в два раза. И каждый специалист приносит в компанию свои опыт, видение и подходы. Мы ценим, что у нашей команды есть разные точки зрения на процессы, развитие инструментов, вопросы взаимоде...

Большие языковые модели (LLM) в задачах Сейчас в мире довольно много разговор о том, что LLM оставят всех нас без работы. Чтобы понять о чем речь рассмотрим на практических примерах какие задачи из коробки могут решать современные большие языковые модели (large language models, LLM).З.Ы. Подписывайтесь на мой теле...

Необычные ноутбуки: китайский тяжеловес с серверным AMD EPYC, RISC-V лэптоп и станция с 7 дисплеями Производители разных стран иногда выпускают на рынок весьма необычные модели ноутбуков. Здесь подразумеваются самые разные устройства, например, лэптопы с несколькими экранами. О многих из них мы уже писали, но сейчас появились новые устройства. Например, ноутбук с серверны...

[Перевод] Управление памятью в Linux Управление памятью (memory management) является важной подсистемой операционной системы Linux, которая обеспечивает эффективное использование ресурсов физической и виртуальной памяти. В Linux управление памятью в основном подразумевает обработку запросов к памяти от про...

Как мы решали вопрос многоязычности в боте Русский или English? Что для бота хорошо, то разработчику работа :)ВведениеВ этой статье я поделюсь своим опытом реализации многоязычности в телеграм-боте, World for Life Bot расскажу о принципах выбора языков, которыми я руководствовался, технических аспектах реализации и ...

Вызовы автоматизации: NFC-метки на металлической поверхности О самой технологии NFC (Near Field Communication) написано множество статей, в том числе и здесь на Хабре. Активно данная технология находит применение в промышленности.  В частности, компанией «Сибур», ведущим игроком в области нефтехимической промышленности, в целях п...

Обозреваем и практикуем популярные OSINT инструменты ВведениеРад вновь приветствовать читателей в своей любимой рубрике "ШХ" что является сокращением от "Шерлок Холмс" и разумеется серия таких статей напрямую относится к OSINT. Сегодня на практике попробуем некоторые инструменты и попробуем узнать больше о человеке исходя из е...

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

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

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

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

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

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

Автоматизируем создание отчетов в Word с данными из Excel на Python До смешного простой код, который может сэкономить вам кучу времени в будущем. И как фанат автоматизации, который старается избегать любой однообразной и рутинной работы, я от таких решений просто в восторге. Читать далее

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

Проверка продуктовых гипотез и немодерируемые UX-исследования c применением внутренних инструментов: кейс команды OK Проверка гипотез — неотъемлемая часть работы с продуктом. Но в условиях крупного «живого» проекта, такого как ОК, зачастую возникает не одна, а много гипотез одновременно, которые нужно проверить быстро, без негативного влияния на сервис и с минимальными затратами. Для ...

Что получится, если к роботам Boston Dynamics подключить ChatGPT: говорящая собака ведёт экскурсии, язвит и ищет снежного человека Компания Boston Dynamics, известная своей линейкой роботов, продемонстрировала на примере робота-собаки Spot, чего можно добиться, подключив мощности чат-бота ChatGPT. В небольшом демонстрационном ролике показано, как робопёс выступает в качестве экскурсовода.  Ин...

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

[Перевод] Я уже 14 лет в отрасли, но программировать по-прежнему сложно Много лет назад, учась computer science на старших курсах, я долго изучал различные вакансии онлайн, надеясь найти подходящую должность стажёра-программиста.Кроме вакансий для стажёров я иногда случайно нажимал на объявления о вакансиях «сеньор-разработчика». Помню, больше в...

OpenAPI/Swagger для начинающих Эта статья в основном для аналитиков, которые впервые сталкиваются с необходимостью описания запросов в Swagger, но может быть полезна всем, кто хочет разобраться или ищет подсказку. Читать далее

Quantization Deep Dive, или Введение в современную квантизацию Привет! Меня зовут Василий Землянов, я занимаюсь разработкой ML-инфраструктуры. Несколько лет я проработал в команде, которая делает споттер — специальную маленькую нейросетевую модельку, которая живёт в умных колонках Яндекса и ждёт от пользователя слова «Алиса». Одной из м...

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

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

Истории из жизни вредоносов: знакомимся с Remnux Представим следующую ситуацию, у нас имеется файл, который скорее всего содержит вредоносный код. Варианты с отправкой этого файла сазу на virustotal.com мы пока рассматривать не будем, так как это слишком просто не спортивно.Можно конечно, поднять виртуалку/контейнер с Wind...

Обзор бесплатных чат-ботов в телеграме 2024 Запуск инновационных технологий, таких как Midjourney и Chat GPT, значительно повысил интерес к искусственному интеллекту, что, в свою очередь, способствовало появлению в Телеграме специализированных чат-ботов. Эти боты предоставляют возможность использовать функции популярн...

АБ тесты и подводные камни при их автоматизации Задача оценки нововведений в онлайн и мобильных приложениях возникает повсеместно. Один из наиболее надёжных и популярных способов решения этой задачи - двойной слепой рандомизированный эксперимент, также известный как АБ-тест.На тему АБ-тестирования доступны как статьи на Х...

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

Парк юрского периода глазами нейросети: как развернуть Diffusers для генерации изображений за 10 минут Как часто бывает: появляется немного свободного времени, хочется отдохнуть и написать картину… но его то ли недостаточно, то ли просто лень размахивать кистью. Но можно делегировать задачу нейросети — для этого необязательно использовать Midjourney или DALL-E. Один из вари...

[Перевод] Java ScopedValue: Ускоренный ThreadLocal В инкубаторе JEP-429 появилась новая альтернатива ThreadLocal под названием ScopedValue (в значительной степени как поддержка и развитие Virtual Threads). ScopedValue предназначен для того, чтобы предоставить более легкую альтернативу ThreadLocal, которая хорошо работает с в...

[Перевод] От теории к практике: создаём веб-приложение для решения задачи коммивояжёра В таких сферах, как исследование операций (Operations Research) и наука о данных (Data Science) чрезвычайно актуально сближение теории и её практического применения в виде программных проектов. Теоретические выкладки формируют базу программ для оптим...

7 инструментов на основе ИИ для синтеза речи в 2023 году Развитие технологий искусственного интеллекта привело к появлению широкого спектра инструментов генерации речи. Text to speech, или TTS, — замечательная технология, которая обрабатывает текст и воспроизводит его вслух так, как будто бы его произносит человек. Ну и конечно, б...

Стандартное отклонение и стандартная ошибка: две статистики с похожими названиями, но разными смыслами Я читаю курс статистического мышления магистрам, и одна тема вызывает у них явные затруднения – чем стандартное отклонение отличается от стандартной ошибки, и в каких случаях, применять ту или иную статистику. Думаю, будет интересно поговорить об этом в блоге ЛАНИТ. Читать д...

[Перевод] SQLx: raw SQL в Rust Когда речь заходит об использовании SQL, экосистеме Rust есть что нам предложить: к счастью, нам доступны несколько отличных готовых к использованию решений. SQLx — это чисто асинхронный, независящий от рантайма SQL-крейт, позволяющий использовать проверяемые во время компил...

Как сделать pruning, чтобы потом не плакать Обрезка нейросетей или же, если вникать в термины, pruning — то, что помогает уменьшить размер нашей модели без потери ее эффективности. Да, это далеко не новинка — в стэнфордских лекциях еще в 2017 году об этом говорили!Идея проста: мы просто убираем из модели все, что нам ...

Блок питания на 5 выходов Для своих электронных поделок я использую самодельный регулируемый линейный блок питания на 30V 3A. Он собран на базе конструктора с AliExpress, но я добавил несколько доработок от себя. У него неплохие характеристики в плане уровня пульсаций и шума, но всего один выход. Ког...

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

AI и системный анализ / бизнес-анализ В последние годы про AI/ML не писал только ленивый. Но обычно тему рассматривают с «потребительской» стороны: сейчас вот любуются видеороликами от проекта Sora. Более нишевая тема — «как работать над ML-проектами» (о таком мы проведём онлайн-конференцию I'ML). И совсем уж ма...

Реализуем touch жесты на vanilla js. Часть 1 (rotate) В рамках этой статьи я пошагово реализую жест поворота в мобильной версии сайта используя ванильный javascript. Для этого мы рассмотрим как устроены touch события мобильного браузера, а также немного вспомним тригонометрию. Читать далее

[Перевод] Отсечение и поиск / Prune and search Решал задачу на LeetCode (Word Search) и наткнулся на незнакомый мне термин "search pruning", либо "Prune and search". Немного погуглив, узнал, что это метод решения задач оптимизации, на Википедии есть соответствующая статья (ссылка). На русском языке я не нашел такого терм...

Немного об испарении Хокинга Несмотря на большой интерес к этой теме очень многие источники и практически все научно популярные неверно объясняют это явление. Причина в том, что первоначально некорректную эвристическую интерпретацию своего открытия привел сам С. Хокинг, а именно...

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

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

[Перевод] Bash Auto Completion в Linux Пользователи взаимодействуют с Linux при помощи многочисленных команд, вводимых в командной строке. Учитывая разнообразие этих команд и их параметров, не так просто запомнить все наизусть.Однако в Linux предусмотрена удобная функция автодополнения для Bash. Этот инструмент, ...

5 полезных приложений, которые круто прокачают твой iPhone С помощью сторонних приложений можно сделать из Айфона практически идеальное устройство. Достаточно просто немного покопаться в App Store, и вы сможете найти софт практически под любые свои нужды. А чтобы не тратить время на поиск программ, самые топовые вы сможете скачать ...

Мультфильмы, ASMR и «Диалоги о рыбалке». Что такое комфортный контент? Новый выпуск подкаста «Женщины и всё» Эскапизм — это когда человек пытается разными способами сбежать от реальности. И это не всегда плохо: иногда нужно помочь своей психике восстановить ресурсы. Формой такой самопомощи может быть потребление комфортного контента. В новом выпуске обсуждаем, что мы подразумеваем ...

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

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

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

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

Компьютерное зрение сквозь года Как-то я столкнулся с довольно тривиальной, но новой для себя задачей - оптического распознавания символов (OCR). Так сложилось, что готовые инструменты (типа tesseract-ocr) мне не подошли, поэтому пришлось изобретать велосипед. Но к этому процессу я решил подойти со всей от...

Как рендерить R Markdown в PDF на кириллице Так получилось, что за всё время, что я использую в работе R, мне не доводилось рендерить markdown-файлы в формат PDF. Иногда я хранил наработки просто в фалах .R, а исследования оформлял в Google Docs, накидывая туда скринов из viewer-а. Иногда это был рендер в .html, с инт...

[Перевод] Не стоит недооценивать HTML «HTML – это просто», «Разрабатывать фронтенд проще, чем бэкенд», «После реализации бэкенда обновление UI не должно составлять труда», – за время работы в сфере веб-разработки вокруг меня то и дело звучали эти и другие аналогичные утверждения. И очень часто они вызывали у м...

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

SSH-Туннели простыми словами В какой-то момент у меня возникла необходимость разобраться с простыми SSH-туннелями: как из запускать и какие туннели могут помочь мне (обычному web-разработчику). Разобраться в этом удалось и я решил поделиться пояснениями в простой понятной форме. Читать далее

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

ИТ-шансон, или как ChatGPT (не) помогает в работе Привет! Этот текст про ChatGPT и ИТ-шансон. Несколько месяцев назад нам на работе подключили ChatGPT 4, как надежный инструмент и помоЧник, и все сразу ринулись его проверять. Выяснилось, что с текстом он обращается на ура, и я решил проверить его «в музыкальном бою».Недавно...

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

Коротко про алгоритмы и структуры данных Привет, Хабр! Меня зовут Ричард, я работаю в команде kPHP в VK, занимаюсь разработкой kPHP, плагинов для IDE, а также другого инструментария, делая жизнь разработчиков проще. В своей работе мне приходится иметь дело с PSI деревьями, AST, самопис...

Как я взял в кредит 66 млн и хотел заработать 40 млн на выращивании тюльпанов Вот уже 4-й год я выращиваю и продаю тюльпаны. Поиск дешевой аренды теплиц привел меня в Симферополь. Здесь я планировал вырастить 3 млн цветков и получить 40 млн прибыли.Я решил использовать простую и самую эффективную бизнес-стратегию: вырастить большой объем цветка, чтобы...

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

Так dd вы ещё не использовали: исследование скорости чтения и записи Недавно, я вновь побывал в роли технического эксперта, когда занимался переводом книги «Understanding Software Dynamics» от Richard L. Sites. В ходе работы над главой — про скорость работы с жёстким диском, мне поступил вопрос от коллеги: каким образом можно просто и быстро ...

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

Многорукие бандиты в задаче ритейла В настоящее время набирают популярность модели Reinforcement Learning для решения прикладных задач бизнеса. В этой статье мы рассмотрим подмножество этих моделей, а именно многоруких бандитов (multi-armed bandits). Также мы:- обсудим, какие задачи теоретически могут быт...

[Перевод] Простой саботаж в мире ПО В кульминационный момент Второй мировой войны ЦРУ выпустило потрясающую книгу Simple Sabotage. В ней изложены различные способы, которыми диверсанты могут снижать продуктивность компании. Некоторые из этих советов не стареют, например, раздел «Общие помехи организациям и про...

Создание Chat-Ops бота в Mattermost на python Привет, Хабр!Компания АльфаСтрахование, как и многие другие, столкнулась с необходимостью замены используемых инструментов в связи с санкциями. За последний год мы отказались от Slack в пользу open-source аналога Mattermost, а Jira не без сложностей была заменена на Kaiten.В...

CLI'нический парсинг Каждый программист однажды получает по голове необходимостью парсить аргументы командной строки и вот это наконец случилось со мной - так почему бы не использовать это как возможность (написать какую-то дичь) (CLI парсер)? Скажу сразу - мы тут чтобы развлекаться, потому треб...

[Перевод] Timed wait events in PostgreSQL перевод второй статьи известного специалиста в области Oracle Фрица Хугланда на тему трассировки postgresql при помощи bpftrace (первую статью я перевёл ранее см. Использование bpftrace для трассировки выполнения запросов в postgres) Читать далее

Объявление и инициализация переменных в C++ Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это шестая статья из серии, список предыдущих статей приведен в конце в разделе 7. Серия ориентирована на программистов, имею...

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

Как легко сделать подмену данных на вебе? Привет, Хабр!Хочу поделиться интересным приложением, которое значительно упрощает процесс веб-тестирования.В роли QA-инженера, активно тестирующего веб, я часто сталкиваюсь с необходимостью изменения запросов/ответов API, статус кода ответа и других параметров. Иногда возник...

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

[Перевод] Простые языки программирования Мне нравятся простые языки программирования, такие как Gleam, Go и C. Знаю, я не один такой. Есть что-то чудесное в работе с простым языком: каково его читать, использовать в команде, возвращаться к нему спустя долгое время и т.д. В этом посте я хочу конкретизировать, в чём...

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

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

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

5 отличных приложений для iPhone, которые могут пригодиться в самый неожиданный момент Хоть встроенные приложения на Айфоне и позволяют сделать много всего интересного, но совсем обойтись без стороннего софта не получится. Именно в App Store можно найти программы, которые сильно помогают упростить некоторые рутинные операции. Например, с помощью удобного план...

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

Создаем I2C Master Controller на Verilog. Проверим работу на реальном железе После того, как Я реализовал битовый контроллер I2C Master — уж очень чесались руки опробовать его в реальной задаче. Теперь можно начинать строить уровни абстракции от манипуляции отдельными битами и уже формировать полноценные транзакции, которые приводят к какому-либо дей...

Про Vim — Neovim (Lua) PHP IDE По большому счету единственной незакрытой темой в рубрике "Про Vim" осталась тема об альтернативе Conqueror of Completion для Neovim в Lua исполнении. Причиной перерыва между данной и предыдущей статьей в рубрике стало отсутствие необходимости в этой самой альтернативе. Ну и...

Разработка игр с использованием Go и библиотеки Ebiten Go является мощным и эффективным языком программирования, который можно использовать для создания игр. В этой статье мы рассмотрим разработку простой игры с использованием языка Go и библиотеки Ebiten, предназначенной для создания 2D игр. Читать далее

QA под капотом. Тестируем и настраиваем 1С-Битрикс Привет, Хабр! Меня зовут Анастасия, я QA-специалист SimbirSoft и работаю на проектах с 1С-Битрикс. Не единожды я могла наблюдать, насколько эффективно бывает допустить QA-команду внутрь CMS, чтобы достичь бизнес-целей клиента. И на примере нескольких кейсов из разных проекто...

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

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

Mozilla выражает недовольство новыми правилами Apple для ЕС Mozilla выражает недовольство из-за новых правил Apple в ЕС, согласно которым браузерам больше не нужно использовать движок WebKit. Это приведет к необходимости поддерживать две версии Firefox для разных регионов.

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

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

Обзор Helm Dashboard — графического интерфейса для управления релизами Kubernetes Часто разработчики предпочитают использовать именно визуальные средства, чтобы более эффективно управлять релизами Kubernetes. Один из таких инструментов — Helm Dashboard. С его помощью можно самостоятельно создавать, развертывать, обновлять различные релизы Kubernetes-прило...

моделирование 3d модели девушки в стиле pin up Всем привет,Сегодня моделю девушку в стиле pin up, безымянный персонаж, по понравившейся картинке. Не заказ, моделил для себя, просто по фану. Модель на момент публикации скорее всего уже будет выложена в моём профиле и если вам понравится сможете её скачать.Так же я приложу...

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

[Перевод] Поиск по коду — это сложно Функциональность поиска на Val Town не очень впечатляет. Сейчас в её основе лежит механизм ILIKE Postgres, работающий на основе алгоритма поиска подстроки: если искомое выражение в коде есть, оно выводится в результатах. Этот процесс не включает никакого ранжирования, и оче...

Эти лучшие приложения и игры для Apple Watch 2023 ты должен скачать сразу после покупки Несмотря на все проблемы Apple Watch по-прежнему остаются одним из самых популярных подарков на Новый год. К тому же, выбор моделей огромен: что уж говорить, если Apple Watch 6 до сих пор пользуются спросом! Вот только после покупки свежеиспеченных пользователей ждет сюрпри...

Apple Watch Ultra 3 не получат серьёзных улучшений в этом году В этом году компания Apple планирует выпустить несколько действительно интересных устройств вроде серии смартфонов iPhone 16 и новых умных часов из серии Apple Watch. Однако сегодня появилась новая информация, утверждающая, что Apple Watch Ultra 3, которые должны появиться в...

Краткий обзор TinyML TinyML сам по себе означает внедрение ml в маломощные микроконтроллеры и встроенные системы. Это устройствам IoT выполнять задачи обработки данных и машинного обучения непосредственно на самом устройстве, минимизируя таким образом необходимость в постоянном подключении к инт...

Что такое Mail Drop на Айфоне и как им пользоваться Представить, что у человека, с которым вы общаетесь, нет учетной записи в каком-нибудь мессенджере, в 2024 году практически невозможно. Однако иногда появляется необходимость отправить большой файл не через социальные сети и иные приложения, а, например, по e-mail. В такой ...

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

[Перевод] Функции ранжирования: RANK, DENSE_RANK, and NTILE В предыдущей статье обсуждалась функция ROW_NUMBER. Сейчас же мы рассмотрим другие функции ранжирования: RANK, DENSE_RANK и NTILE. Начнем с RANK и DENSE_RANK. Эти функции по функциональности и реализации аналогичны ROW_NUMBER. Разница в том, что ROW_NUMBER присваивает уникал...

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

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

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

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

ClickHouse как бэкенд для Prometheus Привет! Меня зовут Михаил Кажемский, я Lead DevOps в IT-интеграторе Hilbert Team. В последнее время к нам часто обращаются заказчики, которым нужна помощь с организацией хранения долгосрочных метрик в российских облаках. Так как для многих эта задача сейчас актуальная, в дан...

Navmesh, lightmaps и lightprobes: реализация и использование в Playcanvas В этой небольшой заметке хотелось бы поделиться результатами реализаций нескольких технологий из gamdev-а. В основном коснёмся двух тем. Первая тема - это использование navmesh-ей для нахождения путей в пространстве трёхмерной сцены. Вторая тема - это использование lightmap ...

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

[Перевод] О вреде Test Driven Development Artem Zakharchenko, автор библиотеки для тестирования MSW с 15К звезд на GitHub, поделился мыслями о Test Driven Development.TDD - это неправильная практика. Она всегда была неправильной. Она неправильна по определению. Ее главная заслуга - поощрение тестирования, но на этом...

webOS возвращается к жизни в лице LuneOS. Что происходит и чего ждать от операционной системы Начало 2024 года ознаменовалось возрождением сразу нескольких забытых проектов. Один из них — Damn Small Linux, о котором мы недавно писали. Теперь ещё и webOS, правда, в лице своего форка, получившего название LuneOS. Эта операционная система получила первое обновление прим...

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

VGranite — Софт для преобразователя интерфейсов serial<->ethernet Мы занимаемся сбором данных с ИПУ в многоквартирных домах. Наше предпочтение - проводное подключение. Обычно мы подключаем одинаковые типы счетчиков в один канал - Вода, Газ, Электричество.Однажды к нам перешел дом, на котором в качестве счетчиков электричества стояли "Мерку...

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

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

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

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

.NET+Safeguard: Реверсинг без ассемблера Сегодняшняя статья будет посвящена реверсингу приложений, написанных с использованием фреймворка .NET. Сначала мы немного поговорим о том, что такое .NET, чем код на нем отличается от других сред разработки и затем разберем один обфусцированный Crackme, попутно рассмотрев ря...

Инфраструктура 1С сегодня. Как выбрать компоненты, не привлекая санитаров? При развертывании информационных систем на базе 1С до 2022 года многие компании шли проторенной дорожкой. Брали Windows Server, MS SQL, терминальный сервер Citrix/RDS. Запирали с этим всем админа на недельку, и всё готово.А теперь годами отработанные методы не работают....

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

[Перевод] Объяснение режимов работы Run, Stop и Program центрального процессора ПЛК Программируемые логические контроллеры (ПЛК) можно перевести в режим «Пуск» (Run) или «Стоп» (Stop), а иногда и в режим «Программирование» (Program) обычно с помощью физических или виртуальных методов. Но что означают эти режимы и когда их ...

Как тебе такое, Starlink? Компания AST SpaceMobile запустит собственную спутниковую мобильную сеть Компания Илона Маска SpaceX продолжает активно запускать на орбиту Земли спутники Starlink, ещё одной его организации. Услуги текстовых сообщений должны заработать уже в этом году, а в следующем, 2025, будет активирована голосовая связь и передача данных. В январе 2024 года ...

SAGE: коррекция орфографии с помощью языковых моделей Коррекция правописания является одной из основополагающих задач в области Natural Language Processing (NLP). Достаточно прозаичная формулировка и кажущаяся жёсткой структура орфографической системы скрывают под собой нетривиальные внутриязыковые взаимодействия, являющиеся тр...

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

Don't Repeat Yourself: Как правильно использовать принцип DRY в разработке ПО Принцип “Не повторяйся” (Don't Repeat Yourself, или DRY), то есть избегай дублирования кода, часто относят к обязательным практикам в программировании. Однако в реальности часто можно увидеть, как в общем коде оказываются концептуально разные блоки, которые похожи только по ...

Простой и удобный шаблон для bash-скриптов выполняемых по расписанию Хочу поделиться с сообществом простым и полезным шаблоном скрипта-обёртки на bash для запуска заданий по cron (а сейчас и systemd timers), который моя команда повсеместно использует много лет.Сначала пара слов о том зачем это нужно, какие проблемы решает. С самого начала мое...

Вся наша жизнь – игра: или как прижилась геймификация внутри мобильного приложения в ритейле Здравствуйте, меня зовут Амалия, я специалист по обеспечению качества в команде мобильного приложения «Пятёрочка». Хочу начать с небольшой истории. В школьные годы я любила онлайн-игру в жанре хоррор Requiem Online. В ней была пара игроков, которые участвовали в закрытом тес...

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

Tenis: как загнать все мячи на один корт, или Как мы решились на создание своего алерт менеджера Мы в Ivinco помогаем нашим клиентам строить, развивать и поддерживать инфраструктуру. C некоторыми из них мы работаем уже более 10 лет, с другими только начинаем. Все это естественным образом предполагает, во-первых, гетерогенную среду для работы и, во-вторых, соседство лега...

Распределенный SQL в Picodata Недавно мы выпустили новую значительную версию Picodata — распределенной in-memory СУБД с открытым исходным кодом. Это продукт на основе Tarantool c поддержкой плагинов на Rust и некоторыми другими интересными особенностями, о которых можно почитать в статье Picodata: просто...

Обратная нормализация (денормализация) Привет, Хабр!Нормализация — это процесс организации данных в базе для минимизации избыточности и зависимостей. Она помогает нам избежать аномалий при вставке, обновлении или удалении данных и, конечно, упрощает схему базы данных. Но, как и все в этом мире, нормализация не ид...

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

Каким будет iPhone 17: новая модель Slim, 12 ГБ ОЗУ и уменьшенный Dynamic Island До презентации iPhone 16 остается примерно четыре месяца, но уже сейчас начали появляться первые слухи о том, каким будет iPhone 17. Да, я не опечатался. Постепенно становятся известны планы Apple на смартфоны 2025 года. Хоть до их выхода и остается еще немногим меньше полу...

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

Как на заводах начал жить МАКАР, и причём здесь колёса Привет, Хабр! Я Саша Сосновский, разработчик направления «Индустрия 4.0». Сегодня я расскажу про МАКАРа. Это такая аббревиатура для «Мобильного автоматизированного комплекса аудита работ». А за сложным названием скрывается мобильный вариант «умных камер» с вычислительным мод...

Apple советует скачать 5 этих игр на iPhone, чтобы приятно провести выходные Иногда поиск новой игры или какого-нибудь интересного приложения может завести в тупик. Именно для таких ситуаций Apple и создает в App Store собственные подборки. Там, конечно, тоже есть много всего проходного, но что-нибудь достойное найти все равно можно. Мы решили прове...

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

Proof of Work и Proof of Stake для чайников Привет, Хабр!На старте блокчейн-технологий стояла задача создания системы, которая могла бы функционировать надежно и без централизованного контроля. Здесь помогают консенсусные алгоритмы. Консенсус в блокчейне — это согласие всех участников сети относительно ее текущего сос...

Одно нажатие, весь контроль: WireGuard VPN через Телеграм

Что будет, если выйти из IT? Размышляя на тему минусов IT, я вспомнил историю моего знакомого Сергея, который работал на позиции Senior Java Developer в одном российском банке. В какой-то момент его настолько припекло, что он решил выйти из IT. «Прощай, немытое айти! Страна рабов, страна господ!», — бра...

5 самых крутых мониторов, показанных на техновыставке CES 2024: чем смогли удивить производители Крупнейшая технологическая выставка CES, как всегда, удивляет разнообразием самых разных гаджетов, систем и приспособлений. Компании стараются удивить как обычных пользователей, так и потенциальных бизнес‑партнеров своими продуктами. Сегодня поговорим о мониторах&n...

[Перевод] Исследование режима Copy-on-Write в pandas. Часть 1 Библиотека pandas 2.0 вышла в начале апреля, в ней появилось много улучшений нового режима Copy‑on‑Write (CoW, копирование при записи). Ожидается, что в pandas 3.0 режим CoW будет использоваться по умолчанию. Сейчас полный переход на к...

«Квантовая» диаграма Виенна: как нас дурит научпоп Хорошо, когда нам простыми словами объясняют сложные вещи, правда? Особенно когда речь про такие неочевидные эффекты как квантовая запутанность, суперпозиция и прочее квантовое. А как здорово, когда квантовый эффект можно увидеть своими глазами! Нам всего-то нужны три просты...

Аутентификация в Kubernetes через Gitlab'овские JWT токены Представим ситуацию, что мы деплоим по push-модели. В качестве платформы для запуска деплоя у нас используется Gitlab: в нём настроен пайплайн и джобы, разворачивающие приложения в разные окружения в KubernetesКакой бы инструмент мы не использовали (kubectl, helm), для манип...

Мой опыт в Airflow: как повысить стабильность загрузки данных в 5 раз Когда я пришла на проект, в нём уже было много всего: много данных, много источников, много задач в Airflow. Чтобы ощутить масштаб, достаточно, пожалуй, взглянуть на одну картинку. Читать далее

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

Построение гистограммы максимального и среднего времени выполнения запросов для PostgreSQL Предыстория Аварийная ситуация — информационная система жутко тормозит. Как обычно- все менеджеры в панике. Как обычно — «что там с СУБД»? Как обычно — «с СУБД, всё хорошо — критичных ошибок нет, отклик не увеличивается, аномалий по метрикам мониторинга СУБД — нет.» Нов...

Как сделать чат-бота лучше, нужен всего лишь простой советский… RAGAS В вводной части обзора мы познакомились с концепцией Retrieval Augmented Generation (RAG) и её расширением через методологию RAGAS (Retrieval Augmented Generation Automated Scoring). Мы разобрались, как RAGAS подходит к процессу оценки эффективности и точности RAG-систем.В ...

Погружаемся в PEB. DLL Spoofing В предыдущей статье мы в первом приближении рассмотрели PEB и разобрались, как подменить аргументы командной строки.Продолжая разбираться с PEB, рассмотрим еще один способ повлиять на исполнение программы, и попробуем подменить вызываемую из DLL функцию. Читать далее

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

Doom. Часть 2. В поисках неведомого Кадата или магический реализм, сюрреализм и странные сны. 8 необычных вадов Doom совсем не был бы тем, чем он является, не сопровождай его определённая степень сюрреализма как окружения, так и происходящего, выгодно отличающего его от условно типовых шутеров в стиле милитари, и не менее условных хорроров / психоделических работ, имеющих больше или м...

Начало Aircrack-ng и WEF ПредисловиеРад приветствовать всех читателей статьи! С сегодняшнего дня запускаю новую рубрику моих статей "Без про-v-ода", в серии этих статей я буду обозревать различные методы, фишки, инструменты, устройства и всё что связано в вардрайвингом. Думаю не секрет, что довольно...

Нет запретам: 5 способов использовать смартфон в школе с пользой В последнее время общественность все активнее обсуждает необходимость запретить школьникам использовать смартфоны на уроках и даже проносить их в здание школы. Рациональное зерно в этом действительно есть. При отсутствии контроля со стороны родителей мобильники и правда мог...

Продакт, техлид и People&Process Lead. Тройка, которая рулит продуктом Вообще эта статья была написана еще в 2020 году во время активной фазы пандемии, когда мы еще не знали что нас ждет. Но мы понимали что масштабирование продукта, разработки, нагрузки уже вот начинается сейчас и процессы должны были все это пережить. Они должны были перестать...

Инструкция по переезду и миграции данных с Google Firebase на Self-hosted Supabase Всем доброго дня! Комментарии к моей предыдущей статье о том, как я развиваю свой pet-проект, а также различные законы, подразумевающие локализацию персональных данных на серверах, размещенных на территории РФ (в частности Федеральный закон от 21.07.2014 № 242-ФЗ «О внесении...

Путевые заметки с выставки GITEX, или Хайп на AI: о выставке в Дубае В конце октября в Дубае прошла выставка GITEX-2023. Её посетило вдвое больше людей, чем крупнейшую европейскую — Hannover Messe. На GITEX было не только разнообразное технологичное, но и странное: специфический маркетинг, множество «пустышек», а иногда и попросту «обманок»...

ABC-XYZ анализ на Python. Управление ассортиментом и схемами поставок Управление ассортиментной матрицей и складскими запасами является нетривиальной задачей для бизнеса, требует аналитики и научного подхода к решению задачи. Одним из методов управления ассортиментом и закупками является ABC-XYZ классификация. Рассмотрим ее реализацию на Pytho...

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

[Перевод] Сообщаются ли ваши тесты? Чтобы быстро продвигаться в рабочих задачах, необходимо иметь уверенность в том, что можно вносить изменения. А уверенность в изменениях зависит от тестового покрытия.С тех пор как мы это поняли, автоматические тесты стали просто необходимы. Это привело к массовому внедрению...

Как из Proxxon (дремеля) сделать сверлилку для плат Привет, Хабр! Тема небольших сверлильных приспособ на основе дрелей и бор-машинок разных форм и размеров, казалось бы, жёвана-пережёвана. Есть и фирменные решения (стойки для дрелей), и любительские конструкции. Однако кое-что пооптимизировать и придумать новые решения всегд...

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

[Перевод] Корутины для Go Эта заметка о том, зачем нам нужен пакет coroutine для Go и как он будет выглядеть. Но прежде всего, что такое корутины?Сегодня каждый программист знаком с вызовами функций (подпрограмм): F вызывает G, которая останавливает F и запускает G. G выполняет свою работу, потенциал...

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

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

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

Алгоритм генерации столбцов (Column Generation) Генерация столбцов - подход к решению задач смешанного линейного программирования (MIP) с большим кол-вом переменных или столбцов.В статье представил теоретическую предпосылку, схему алгоритма и python реализацию подхода. В практической части рассмотрел решение двух задач: з...

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

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

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

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

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

Разговор с директором по развитию бизнеса Solar NGFW Андреем Щербаковым об NGFW и использовании open source в нём Тема NGFW в связи с уходом западных компаний всё чаще начала всплывать в сфере российской ИБ. То тут, то там слышны новости, что у разных фирм появились свои NGFW‑решения. Одно из таких демонстрировалось на форуме «Кибербезопасность в ...

Зачем нужен HR? Кто это и какие есть роли Понимаю тех, кто высказывается на Хабре, что HR в найме - лишнее звено, которое только усложняет процесс коммуникаций. Дескать, хочется дойти до руководства, фигурально выражаясь, “пожать руку” своему потенциальному руководителю напрямую, а HR выступает промежуточным звеном,...

Почему Ceph не собирается в кластер: как не связанные commit’ы привели к неожиданным проблемам Иногда происходит так, что выполняешь привычную последовательность действий, которую уже делал много раз, а результат получается неожиданным. Например, с утра мы кипятим воду, кладём две ложки кофе и две ложки сахара в чашку, заливаем водой и наслаждаемся ароматным кофе. Но ...

Как США, ЕС, Китай и Россия собираются зарегулировать ИИ Вряд ли кто-то сомневается, что современные нейросети — одна из самых больших технореволюций за последние, наверное, лет 50. А может и в истории, кто знает? Но как говорил дядя Питера Паркера из «Человека-паука»: «С большой силой приходит и большая ответственность». Нед...

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

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

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

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

Вы кто такие, я вас не знаю, или Как мы делаем JWT-аутентификацию Привет! Меня зовут Данил, я backend-разработчик в Doubletapp. Почти во всех наших проектах есть пользователи, которые могут войти в систему. А значит, нам почти всегда нужна авторизация. Мы используем авторизацию, построенную на JSON Web Token. Она отлично сочетает в се...

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

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

Миграция конфигурации сборки с Groovy на Kotlin DSL (Domain-Specific Language) — это язык программирования, который спроектирован и оптимизирован для решения задач в конкретной области или для определенного класса задач. DSL build.gradle предоставляет разработчикам удобный способ определения настроек проекта и управления ...

Превращаем TV-box в мини-компьютер: установка Linux Armbian на примере X96 Max+ 100W Одноплатные компьютеры своим появлением взяли на себя огромное количество задач и с каждым днём решают всё больше наших проблем. Но многие окружающие нас бытовые устройства являются одноплатными компьютерами с практически с идентичной многим привычным SBC (single board compu...

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

Испания стала лучшим пристанищем для цифровых кочевников на 2024 год Испания заняла первое место в индексе цифровых кочевников VisaGuide. Набрав 4,50 балла, страна стала самым благоприятным направлением для удаленных работников. Индекс оценивает все страны по таким важным для «кочевого» образа жизни факторам, как налоги, скорость интернета, т...

Как я учился говорить клиентам «не знаю», если действительно чего-то не знал В детстве меня приучили к тому, что, если я не знаю ответа на какой-нибудь вопрос, нужно попробовать дойти до него своим умом. Порассуждать логически, подумать, погадать. Школьное образование только закрепило такой подход.— В каком году Пушкин стрелялся с Дантесом?— Не знаю ...

Многочисленные ЧП с Boeing 737 MAX привели к ограничению выпуска новых лайнеров Время трудных решений пришло, когда его никто не ждал

Для чего нужно приложение Дневник в iOS 17.2 и как им пользоваться Apple уже достаточно давно проявляет активную заботу о здоровье своих пользователей. За это компанию можно только похвалить. И если раньше в Купертино основной упор делали на каких-то физиологических показателях, то в этом году затронули еще и ментальное здоровье. Так, в од...

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

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

Из собирателей в фермеры 5 200 лет назад: необычная «карьера» человека из Виттрупа В 1915 году недалеко от деревни Виттруп рабочие, занимавшиеся добычей торфа, обнаружили останки мужчины с проломленным черепом. Сразу было понятно, что человек умер очень давно, тысячи лет назад. Находка хранилась в одном из музеев Дании на протяжении ста лет в неизменном ви...

Как использовать нейросеть Gemini в России без VPN и что она умеет Нейросеть Gemini от Google относительно недавно стала доступна всем желающим. Вот только из России пользоваться ей через браузер можно лишь с помощью VPN. Однако пользы от такого помощника мало. Пока включишь VPN, пока запустишь браузер, откроешь Gemini, введешь нужный запр...

Телефония «дёшево и сердито» Бывают ситуации, когда нужна очень недорогая и несложная телефония, например, для связи между 2-3 точками: позвонить из магазина на склад, из основного помещения в подвал и прочее. Приобретение и установка АТС в таких случаях бывает избыточна, часто и довольно затратно и люд...

Standard Time как его видит IBM Более 6-ти лет занимаюсь разработкой под IBM i (бывшая AS/400). В основном, конечно, это работа с БД и разная бизнес-логика, но иногда приходится и что-то низкоуровневое писать.Не так давно занимался разработкой удобного и простого в использовании API для работы с User Queue...

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

Duke Nukem 3D: один из пионеров дизайна уровней С 1993 года, когда вышел Doom, разработчики сделали множество шутеров. Подобные игры того времени вносили много базовых знаний по дизайну уровней игр, многие из которых все ещё используют. Одной из запоминающихся таких игр была Duke Nukem 3D 1996 года. Побудило меня пере...

[recovery mode] Что есть реальность, или эффективен ли SCRUM Меня зовут Султанов, и я тимлид (тяжелый вздох). Стараюсь делать разработку эффективной. Иногда даже получается. Вместо предисловияAgile. Кругом Agile. Наверное не осталось людей, команд и организаций, которые работают не по Agile. Слово «SCRUM» прочно вошло в жизнь разрабо...

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

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

Автономия разработчиков. Как устроены компании нового типа Сигарная фабрика начала 20 века, фото: университет Южной Флориды Традиционная практика физически встречаться для совместной работы в наше время иногда рассматривается как архаизм. Очевидно, она уходит корнями в аналоговое прошлое, когда для работы с техникой требовалось фи...

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

Язык Crystal и математика Если вам вдруг захотелось посчитать собственные значения матрицы, решить задачу линейного программирования или оптимизировать нелинейную функцию, то вы может взять питон со SciPy, можете взять R или Matlab\Octave, для любителей экзотики есть Julia, а те кому важен каждый тик...

Решаем задачу асинхронного ввода-вывода с библиотекой Asio Привет, Хабр! Меня зовут Илья Казаков, я C++ разработчик в команде систем хранения данных  компании YADRO, одна из моих задач — реализация эффективных IO-bound программ под Linux. На одном из проектов мы с командой использовали Asio — библиотеку C++ для сетевого и ...

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

Вызов пользовательских функций в API Gigachat Недавно в документации к API GigaChat появился раздел, посвящённый работе с функциями, аналогично тому, как это реализовано в ChatGPT. Идея заключается в том, что модели передаётся информация о доступных ей функциях, и в зависимости от запроса пользователя модель может ...

Марс всё ближе: несмотря на проблемы, запуск Starship можно считать успешным Одно из достоинств SpaceX — способность компании очень быстро адаптировать свои космические аппараты к новым условиям. В процессе испытаний выявляется проблема — и тут же ракета перестраивается для того, чтобы эту проблему решить. Так произошло и в случае первого запуска све...

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

Lessons Learned: почему никогда не стыдно взять и всё переделать Эта история будет несколько личной - с одной из предыдущих команд, в которой я когда-то была просто инженером, много лет назад мы начинали строить SOC для заказчиков, не сильно-то и понимая, как это делать правильно. В ход шло все - международные стандарты, здравый смысл и ж...

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

[Перевод] Как я выживаю с диабетом при помощи Golang В этом посте я расскажу, как воспользовался методологией управления инцидентами, чтобы справляться со сложным заболеванием. Надеюсь, вам понравится! Британцы любят выпить. Вы когда-нибудь задумывались, сколько граммов углеводов в пинте пива? А как насчёт бургера с картошк...

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

Культура суеты: что это такое и почему она все еще популярна Многие, вероятно, сталкивались с понятием культуры суеты (hustle culture по-английски). Эта философия подразумевает то, что каждый человек в каком угодно уголке земного шара может добиться своих целей, но при одном условии: как можно больше работать и «суетиться». Но в то же...

“Строка бога”/идеальный промт, часть 3, продолжение про ИИ-генераторы музыки “Человек создан для счастья, как птица для полета” В. Г. Короленко из его рассказа “Парадокс”Здравствуйте, уважаемые читатели!В этой статье я хотел бы продолжить тему появления субъязыка текстовых запросов к нейросетям, однако в этот раз речь пойдет об использовании ИИ в цел...

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

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

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

[Перевод] В галактике возрастом всего 350 миллионов лет обнаружено удивительное количество «металлов» Астрофизики, работающие с космическим телескопом Уэбб, обнаружили удивительное количество металлов в галактике, образовавшейся всего через 350 миллионов лет после Большого взрыва. Как это согласуется с нашими представлениями о Вселенной?Вопрос о происхождении первых металлов...

TOTP без смартфона Когда я решил избавиться от необходимости постоянно носить с собой смартфон, одной из проблем оказалась двухфакторная аутентификация (2FA, приложение Google Authenticator). Остаться без возможности авторизации на множестве сервисов было неприемлемо, нужна была альтернатива.Б...

Data сontract: давайте попробуем договориться В последнее время всё чаще и чаще натыкаюсь на термин data contract. И для того чтобы не отставать от трендов на рынке data engineering, решил изучать эту тему и рассмотреть тенденции. Постараемся понять с чем его кушать и стоит ли кушать вовсе. Читать далее

Как я решал Advent of Typescript, и что я понял Возможно вы слышали про Advent of Code — ежегодное соревнование по решению задач на рождественскую тему. Начиная с 1 декабря, вплоть католического рождества, каждый день выкладывается новая задача. С каждым днем сложность задач возрастает.В дека...

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

Шпаргалки для сервера CS:GO Приветствую читателей данной статьи. Сразу хочу отметить, что статья не несет никакой профессиональной информации, но нацелена на аудиторию, которая имеет представление о том, что такое терминал и хостинг, и с чем это едят. Автор лишь делится своим опытом и оставляет это зде...

Как мы внедряли Sentry. Часть 2 — внедрение в разработку В прошлый раз мы рассматривали внедрение Sentry со стороны эксплуатации: устанавливали на сервер self-hosted, делали его высокодоступным при помощи сети доставки td-agent, настраивали мониторинг.Теперь рассмотрим процесс внедрения Sentry со стороны команды разработки. Читать...

MES — вместо зоопарка автоматизаций на производстве В истории каждой производственной компании однажды наступает День Х момент качественного перехода. Сначала на предприятии появляются локальные островки автоматизации отдельных задач, функций, подразделений. Между этими островками продолжают курсировать люди, но уже не только...

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

[Перевод] Правда ли, что самые далёкие галактики выглядят больше более близких к нам? Мы интуитивно понимаем, что, когда в наше поле зрения попадает небольшой предмет, на самом деле существует множество вариантов. Это может быть изначально маленький объект, находящийся рядом, объект среднего размера, находящийся на среднем расстоянии, или очень большой объект...

9 полезных крейтов в Rust Привет, Хабр!Rust, как любимый многими разработчиками знаменит своей скоростью и безопасностью. Но его истинная сила заключается в экосистеме крейтов — библиотек и инструментов, которые могут превратить сложные и трудоёмкие задачи в удивительно простые и приятные процессы.Кр...

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

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

От кинодивы Золотого века до «Системы секретной коммуникации»: жизнь актрисы и изобретательницы Хеди Ламарр Актрису золотого века Голливуда Хеди Ламарр нередко называли одной из самых красивых женщин своего времени. Но немногие знали, что в перерывах между съемками Ламарр занималась изобретательством. Технология, которую она придумала вместе с Джорджем Антейлом, легла в основ...

Бизнес в одном окне. Повышаем прибыль с помощью грамотной визуализации данных Изменения сегодня происходят гораздо быстрее, чем это было буквально несколько лет назад. До 2020 года много ли было сервисов, доставляющих что-то кроме пиццы или роллов за час? А сегодня за час могут доставить штангу с блинами или велосипед. Если на конец 2019 года в Ozon б...

Изучаем веб-сервисы ChatGPT и пробуем программировать Прямого доступа к сервисам OpenAI в РФ, как известно, нет. Для работы с ChatGPT многие пользуются телеграм-ботами, чаще всего бесплатными. В основном, запросы к ним — непритязательные. Пользователи практикуются в английском и, не раздражая никого пробелами в орфографии, по...

Генерируем отчеты PDF на Android с использованием HTML и WebView в фоне Сервис, прежде всего, должен решать задачу пользователя. Часто приложения должны делать то, что, казалось бы, должно ложиться на плечи сервера и других публичных API. В рамках этой статьи хочу рассказать про наш опыт переноса функционала генерации PDF-отчетов на Android-устр...

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

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

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

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

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

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

Почтовый сервер с нуля. Часть первая Очень часто на этапе стажировки новых сотрудников мы в нашей компании сталкиваемся с типичными простыми ошибками, непониманием работы DNS и почты. При этом обучение новых сотрудников по этой теме — достаточно длительный и сложный процесс, так как сами вопросы требуют построе...

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

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

Искусственный интеллект Microsoft создал новый перспективный материал для аккумуляторов за 80 часов Искусственный интеллект в его сегодняшнем виде — это не только рисование картинок, создание кода и написание текстов. Его также активно используют в науке. И Microsoft решила показать возможности своей платформы, создав посредством ИИ новый материал, потенциально ...

Опросы для Определения Индекса Лояльности Клиентов (CLI) Индекс лояльности клиентов (CLI) – это не просто метрика; это комплексный индикатор, который отражает удовлетворённость, преданность и эмоциональное вовлечение клиентов. В этой статье мы углубимся в методологию опросов, которые помогают определить CLI, и обсудим, как эта инф...

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

Как быстро выбирать языковые модели (LLM) под свои задачи Последние полгода я активно занимаюсь разработкой сервисов на базе больших языковых моделей, они же «LLM». Для каждого проекта мне приходится подбирать модель по определенным критериям: языковая поддержка, требования к памяти, типу (instruction-based или completion), скорост...

Стекинг и блендинг в ML. Ключевые особенности и реализация с нуля на Python Среди всех методов ансамблирования особое внимание заслуживают две очень мощные техники, известные как стекинг (stacked generalization) и блендинг, особенность которых заключается в возможности использования прогнозов не только однородных, но и сразу нескольки...

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

Разрабатываем Nix в России Спринт — особый формат мероприятий, который разработчики Nix и NixOS придумали, чтобы собираться вместе и вместе работать на проектами.Что-то вроде хакатона, но без элемента соревновательности. Следующий спринт, если всё получится, пройдёт в Казани в августе. Здесь начало ис...

Простая сеть для связи нескольких устройств с ПЛИС Продолжая тему самодельного простого интерфейса https://habr.com/ru/articles/769986/ , как всегда, интереса ради и просто так, разработал концепцию сети на описанном ранее протоколе нижнего уровня. Представленная сеть, может быть пригодна для связи между несколькими ПЛИС вну...

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

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

Массажная накидка для дома и автомобиля. Обзор HELST HMC-900 Рассматриваемая сегодня массажная накидка HELST HMC-900 использует сочетание различных вариантов проведения монтажа. Это зонированный и точечный, роллинг, массаж Шиацу. Здесь применена интеллектуальная система датчиков, а сама накидка может эксплуатироваться как дома, так и ...

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

Тестируем многоядерный процессор методом Кнута и Python’а В 1978 году вышел третий том монографии Дональда Кнута «Искусство программирования», где автор рассматривает алгоритмы сортировки и поиска. Помимо самих алгоритмов описаны аппаратные характеристики компьютера и их влияние на производительность при работе с алгоритмами. В 202...

[Перевод] Написание минимальной подсистемы хранения данных в памяти для MySQL/MariaDB Я потратил неделю, копаясь во внутренностях MySQL/MariaDB вместе с ещё примерно 80 разработчиками. Хотя MySQL и MariaDB — это, по большей части, одно и то же (я ещё к этому вернусь), я сосредоточился именно на MariaDB.Раньше я никогда ...

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