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

Busrpc — фреймворк для разработки микросервисов В этой статье я расскажу о собственном проекте ориентированном на микросервисную архитектуру. Этот проект вырос из идей и подходов, которые я применял на протяжении нескольких лет работы связанных с переводом крупного монолитного проекта на микросервисную архитектуру. Я не б...

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

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

[recovery mode] Интеграция Primefaces в приложение на Spring Boot. Часть 1 — настройка зависимостей и базовый проект В данной статье описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot. Читать далее

[Перевод] Тестирование автоматизации Ansible с помощью Molecule Часть 1 Molecule – это проект Red Hat, призванный помочь в тестировании ролей Ansible. Он обеспечивает поддержку тестирования с различными операционными системами и дистрибуями. Molecule также является весьма разноплановым проектом, позволяющим использовать множество провайдеров вир...

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

Языки программирования как зеркало IT-столпотворения. Часть II В предыдущей статье мы подробно рассказали о первых попытках человечества запатентовать языки программирования и о первых созданных ЭВМ. В этой речь пойдет о современности.  Читать далее

Яндекс выпускает Yatagan — опенсорс-фреймворк для внедрения зависимостей, позволяющий ускорить сборку Меня зовут Фёдор Игнаткевич, я делаю приложение Яндекс и мобильный Яндекс Браузер для Android. Примерно год назад я предложил команде идею фреймворка для внедрения зависимостей, который более чем вдвое ускорил сборку обоих проектов и который мы сегодня выложили на Гитхаб —...

Дизайн сетей ЦОД. Часть 3. Управление трафиком В этой статье мы продолжим тему дизайна сетей ЦОД. Мы уже поговорили про надежность, рассмотрели организацию кабельной инфраструктуры в ЦОД и теперь самое время перейти к рассмотрению вопросов управления и оптимизации трафика. Немаловажную роль в оптимизации трафика на логич...

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

Тестирование умерло, да здравствует тестирование Привет, Хабр! Меня зовут Артём Ерошенко, я — сооснователь Qameta Software. Больше 14 лет занимаюсь тестированием и автоматизацией. Работал в Яндексе, когда учился в университете, и писал первые автотесты, сделал опенсорсный проект Allure-фреймворк, способствовал появлению Ян...

Программирование EEPROM 93C76. Пишем программатор. Часть 1 Всем привет! Я - Kekovsky, инженер-любитель, до этого публиковался на некоторых других платформах. Решил попробовать себя здесь, если статья понравится, будет продолжение. В этой статье мы изучим работу с микросхемой EEPROM 93C76, рассмотрим обращение к ней по шине SPI, напи...

Интеграция Primefaces в приложение на Spring Boot. Часть 2 — Готовим контекстное меню для главной страницы В этой статье описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.Первая часть Читать далее

Prostore — простой Event sourcing + CQRS фреймворк На данный момент на рынке мало Event sourcing + CQRS фреймворков. А те, что есть, непопулярны и имеют слабую поддержку, поэтому многие создают свои in-house решения. В этой статье расскажу о выполненном командой «Programming Store» проекте Prostore, который может послужить ...

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

Тестирование PHP проектов на примере Symfony Хочу описать свои наработки и устоявшиеся подходы к тестированию PHP проектов. Последние годы я работаю с Symfony и здесь будет достаточно моментов специфичных для этого фреймворка. Так же в этой статье термин функциональные тесты (functional) является синонимом End-to-End т...

Создание GUI-приложения в MATLAB. Часть 2 В предыдущей статье мной были рассмотрены возможности среды GUIDE входящей в MATLAB, ее инструментарий сильно устарел как по функциональности так и по дизайну. Такого инструментария недостаточно для реализации более-менее крупных проектов, которые подразумевают бол...

Установка OpenCV под Windows В данной статье будет описан способ сборки OpenCV из исходников с помощью cmake и Microsoft Visual Studio, и пример запуска своего проекта на cmake. Большая часть статьи является повторением официальной документации. Читать далее

Тестирование мобильных приложений на Flutter с использованием Python + Appium Тестирование нативных мобильных приложений для Android и iOS обычно обеспечивается библиотеками UiAutomator2 и XCUITest, но сейчас, в связи с появлением мобильных приложений, разработанных с использованием Flutter Framework, использовать их для тестирования становится затруд...

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

[Перевод] Работа с SQL Server в C# с помощью скриптинга. Часть 2 В этой статье я покажу вам, как работать с Microsoft SQL Server в C# проектах посредством скриптинга. Реализовать это можно как в Windows, так и в macOS. Поскольку Windows, очевидно, является намного более популярной целевой платформой для C# и SQL Server, больше внимания я ...

[Перевод] Столетний язык программирования — какой он Особо амбициозные разработчики любят заявлять о том, что используемый ими язык программирования или фреймворк будет жить лет сто. Дерзкое заявление, учитывая, что разработке программного обеспечения, как таковой, всего около 65 лет. А фреймворки еще моложе. И всё же инт...

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

У нас была стратегия и мы её придерживались: как подружить бизнес и DevRel, сохранив ментальное здоровье Если к вам однажды приходил лид отдела мобильной разработки со странным запросом «Хотим 40 статей — нам через месяц надо 40 разработчиков», то эта статья для вас. В статье расскажу, как управлять ожиданиями с помощью простого фреймворка для деврелов. Читать далее

Архитектура PostgreSQL. Часть 2. Подготовка бэкэнда В предыдущем посте мы остановились на моменте форка процесса для бэкэнда. Сегодня рассмотрим как происходит инициализация дочерних процессов после форка от Postmaster, некоторые системные вызовы Linux, goto, парсинг стартап пакета и многие хаки. Читать далее

Размышление об Active Object в контексте Qt6. Часть 2.5 Статья выпущена как дополнение к предыдущей и показывает, как можно сделать Active object, работающий асинхронно в среде Qt, но при этом не использующий события. Читать далее

Количество партиций в Spark DataFrame, DataSet на основе Relational Data Base table В прошлой статье мы рассмотрели количество партиций, которое по умолчанию создается Apache Spark при инициализации DataFrame, DataSet. В текущей статье продолжим рассматривать количество партиций у Spark DataFrame и DataSet, созданных на основе таблицы в Relational Database....

[Перевод] Состояние WebAssembly в 2022-23 годах Автор статьи Жерар Галлан известен как автор книги “WebAssembly in Action”, выпущенной Manning в 2018 году. Существует перевод его книги на русский — “WebAssembly в действии” (Питер, 2022). Предыдущий обзор The State of WebAssembly – 2021 and 2022 опубликован автором в январ...

Тест – это вещь! F#, тестирование на базе Expecto. Часть первая Expecto — фреймворк для тестирования, написанный на F# и для F#. Он довольно хорошо известен в рамках F#-сообщества, и у разработчиков, сумевших отгородиться от C# в достаточной степени, используется как платформа для тестов по умолчанию. Новички в F#, а также мимо проходящи...

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

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

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

Интеграция Primefaces в приложение на Spring Boot. Часть 3 — динамическое обновление контента страницы Описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.Первая частьВторая часть Читать далее

Основы мониторинга (обзор Prometheus и Grafana) Мониторинг сегодня – фактически обязательная «часть программы» для компаний любых размеров. В данной статье мы попробуем разобраться в многообразии программного обеспечения для мониторинга и рассмотрим подробнее одно из популярных решений – систему на основе Prometheus...

Как мы ищем документы в Naumen Disk или еще один вариант организации FTS В процессе работы над проектом мы рассмотрели различные способы организации Full Text Search (FTS) по файлам. И… отказались от них в пользу своего решения, которое базируется на стандартных методах. В статье я опишу путь построения полнотекстового поиска по файлам для веб пр...

[recovery mode] Как доработка UX помогла сократить время прохождения сценария заказа еды на 70%. Часть 3 Всем привет, мы дизайнеры студии Focus. Во второй части статьи мы рассказывали, как проводили тестирование и готовились к нему. А также, как провели небольшое исследование конкурентов. В заключительной части мы покажем обновленный дизайн приложения по доработанному сценарию....

Использование шейдеров во Flutter. Часть 2 Всем привет! На связи Юрий Петров, Flutter Team Lead в Friflex. В предыдущей статье мы познакомились с работой шейдеров во Flutter, а также рассмотрели, как написать свой собственный шейдер на языке GLSL. В этой части разберемся, как импортировать готовые шейдеры и управлять...

Unity «уменьшение размера файла на устройстве» Часть 1 Когда игра подходит к релизу, ее объем занимаемой памяти сильно превышает желаемый. Если говорить с точки зрения пользователя, то они тоже не любят, когда приложение весит очень много. Это может отпугнуть как при первом скачивании, так и при очистке телефона, когда нужно буд...

Пишем продвинутый планировщик с использованием React, Nest и NX. Часть 3: работа с задачами Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. В прошлой части мы разобрали, как создать аутентификацию с помощью библиотеки Passport, а сегодня мы рассмотрим такие манипуляции, как добавление, редактирование, удалени...

[Перевод] The Best Golang framework: no framework? Вольный перевод статьи на ресурсе threedots.tech от Robert Laszczak - главного инженера в SlashID, сооснователя Three Dots Labs и создателя популярной Golang-библиотеки Watermill.На протяжении некоторого времени я занимался руководством группы Go-разработчиков и одним из са...

[Перевод] Работа с SQL Server в C# с помощью скриптинга. Часть 1 В этой статье я покажу вам, как работать с Microsoft SQL Server в C# проектах посредством скриптинга. Реализовать это можно как в Windows, так и в macOS. Поскольку Windows, очевидно, является намного более популярной целевой платформой для C# и SQL Server, больше внимания я ...

[Перевод] Обновление Flutter 3.7: перевод официального релиза и комментарии Улучшенная поддержка Material 3, обновления DevTools, новые виджеты – Google представил очередное обновление кроссплатформенного фреймворка.По традиции, команда Flutter-разработчиков Friflex делится первым переводом официального релиза новой версии фреймворка с комментариями...

DSL фреймворк для создания Telegram ботов Родилась у меня идея! Я хочу создать фреймворк, который позволит пользователям писать своих ботов Telegram с помощью языка, специфичного для конкретной области (DSL), или визуального представления, например, диаграммы UML. На основе предоставленных данных фреймворк будет ге...

Tutorial по обмену с 1С. Часть пятая: Наш опыт настройки 1000 и 1 обмена В своей предыдущей статье я начала раскрывать тему того, как правильно настраивать обмен между крупными сайтами и B2B-системами на Битрикс с системами учета 1С:Предприятие. Если еще не читали — посмотрите, будет полезно, типовой модуль обмена многое умеет, а то, что не ...

Проецирование вершин графа в векторное пространство. Часть 2. Марковская цепь и Word2Vec И снова здравствуйте! Меня зовут Илья Котов, я Data Scientist в Сбере, участник профессионального сообщества NTA. Эта статья — вторая часть небольшого цикла, посвящённого алгоритмам вложений вершин графа в векторное пространство. Сегодня рассмотрим главную идею алгоритмов, о...

Как мы запускали сервис по продаже подписок на Spotify, Netflix, PlayStation Меня зовут Рома Васильев, я дата-инженер. В марте 2022 года мы с коллегой создали стартап — сервис-посредник, через который в России можно купить подписки на Netflix, Spotify, PlayStation, Steam и другие площадки, которые ушли с рынка. В этой статье расскажу, как это вс...

Интеграция Primefaces в приложение на Spring Boot. Часть 6 — Комбинирование компонентов для вывода сложных данных Описывается пример интеграции библиотеки компонентов пользовательского интерфейса Primefaces, построенной на основе фреймворка JavaServer Faces (JSF), в MVC приложение на Spring Boot.Первая часть | Вторая часть | Третья частьЧетвертая часть | Пятая часть Читать далее

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

Теория вероятностей в машинном обучении. Часть 1: модель регрессии В данной статье мы подробно рассмотрим вероятностную постановку задачи машинного обучения: что такое распределение данных, дискриминативная модель, i.i.d.-гипотеза и метод максимизации правдоподобия, что такое регрессия Пуассона и регрессия с оценкой уверенности, и как норма...

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

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

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

Self-Supervised Learning. Contrastive learning В предыдущих статьях мы разобрали много аспектов, связанных с SSL. Теперь пришло время посмотреть на методы, которые используют достаточно очевидное, на первый взгляд, знание - одна и та же картинка похожа, а разные картинки - разные. Это основная идея методов с contrastive...

Основы OkHttp в Android-разработке OkHttp — библиотека и по совместительству HTTP-клиент с открытым исходным кодом для Java и Kotlin, разработанная Square, которая также создала Retrofit.Порой стоит использовать не вездесущий Retrofit, а OkHttp из-за его производительности и большего функционала.В статье подр...

Пентест. Думаем как злоумышленник. Часть 3: Эскалация привилегий и социнженерия В предыдущих статьях (Часть 1, Часть 2) мы поговорили о том, как может действовать Внешний нарушитель (пентестер за пределами организации) и Гость (пентестер  имеет только доступ в сеть) при проведении пентеста. Также начали рассматривать действия Внутреннего нарушителя...

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

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

Кодогенерация Dart Доброго дня, в данной статье подробно рассмотрим как работает кодогенерация во Flutter. Главная цель, которая стояла перед мной при написании статьи - это разбор каждого этапа настройки кодогенерации, чтобы у разработчика, прочитавшего этого материал, сложилась полноценная к...

Как написать UI-автотесты, если не умеешь программировать? О чем эта статья и чем она полезна.Всем привет! В этой статье пойдет речь о том, как написать простые UI-тесты на языке Java. Это будет интересно тем, кто давно хотел попробовать себя в автоматизации или добавить новенького в свой текущий проект. В этой статье не будет больш...

[Перевод] Эксплойтинг браузера Chrome, часть 2: знакомство с Ignition, Sparkplug и компиляцией JIT в TurboFan В моём предыдущем посте мы впервые погрузились в мир эксплойтинга браузеров, рассмотрев несколько сложных тем, которые были необходимы для освоения фундаментальных знаний. В основном мы изучили внутреннюю работу JavaScript и V8, разобравшись, что такое объекты map и shape, ...

Сделал приложение для создания мультиязычных книг и параллельных корпусов Хочу показать, как создать мультиязычный параллельный корпус и книги при помощи моего пет-проекта, которым я занимаюсь несколько лет.Для примера возьмем 10 редакций "Мастера и Маргариты" Михаила Булгакова (ru, uk, by, en, fr, it, es, de, hu, zh). Сначала выровняем девят...

[Перевод] Управление заголовками HTTP в Joomla 4 (часть 1) Эта статья - первая часть перевода статьи Joomla’s New HTTP Headers Plugin For J4 из майского номера (2022) Joomla Community Magazine. Статья рассчитана на широкий круг читателей с разными уровнями компетенций, поэтому опытным вебмастерам и разработчикам имеет смысл пропусти...

Технологии, изменившие музыку. Часть 1: запись Эта статья — первая из цикла, в котором мы рассмотрим технологии, изменившие музыкальный мир второй половины 20-го века. В первой части мы поговорим про запись музыки. Если разобраться, отсутствие этих технологий столетия назад — подлинная трагедия человечества. Ведь мы нико...

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

[Перевод] В стране потоков — Кафка, часть 2: Поднимаем consumer’ы В предыдущей статье мы обсуждали, как именно работает сторона producer при отправке сообщений, и с учетом данных, хранящихся внутри темы, давайте теперь углубимся в сторону consumer.Цель этой части — охватить следующее:1.Как работает сторона consumer;2.Как работает масштабир...

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

Если бы Остер раздавал советы автоматизаторам. Часть 1 Привет, Хабр! Меня зовут Мария Снопок, я отвечаю за автоматизацию тестирования на Python в X5 Tech. Я, конечно, не Остер, но могу дать с десяток вредных советов из области автоматизации. В частности, о том, как испортить жизнь себе и окружающим. В статье я собрала вредн...

Использование шейдеров во Flutter. Часть 1 Привет! На связи Юрий Петров, Flutter Team Lead в Friflex. Мы разрабатываем кроссплатформенные мобильные приложения для бизнеса и специализируемся на Flutter. В этой серии статей я поделюсь опытом, как с помощью шейдеров на фреймворке разра...

[Перевод] Телематическая система автомобиля Мы в команде Third Man по долгу службы изучаем довольно много англоязычных материалов. Часто интересными статьями хочется поделиться с коллегами и обсудить поподробнее. Но не всегда есть время всей командой читать 20+ страниц англоязычного текста, так что сокращённый и “подс...

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

Index.ts – зло и польза Привет всем! Меня зовут Михаил, я старший Frontend-разработчик в НЛМК, занимаюсь разработкой одной из внутренних информационных систем на React + Typescript.Расскажу про самый короткий и наименее трудоемкий способ экспорта и импорта модулей, что частенько требуется для постр...

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

Пишем FastAPI с нуля на python FastAPI — это современная, быстрая (высокопроизводительная) веб-инфраструктура для создания API-интерфейсов с Python 3.7+ на основе стандартных подсказок типов Python. В этой статье мы рассмотрим как написать его с нуля. Читать далее

Архитектура предприятия в гигантах индустрии Архитектура предприятия — это дисциплина, которая фокусируется на проектировании и управлении системами, процессами и структурами организации. Она направлена на то, чтобы они соответствовали бизнес-целям и задачам и были эффективными, результативными и адаптируемыми.IBM, Goo...

Колдовской NeoVIM. Часть вторая. “Конфиг Всевластья” Никто не любит конфиги (я уж точно). Они скучные и нединамичные.Но со своим конфигом Nvim’а я ношусь, как Голлум с кольцом Всевластья. Моя прелесссссть. Я боюсь потерять свой конфиг, боюсь, что с ним что-то случится. Другие хотят забрать тебя, моя прелессссть. Саша тебя им н...

Разработка игр на Kotlin Native. Часть 1 Возможность компиляции Kotlin в нативный код, который может использовать С-библиотеки позволяет разрабатывать мультимедийные приложения и игры на основе библиотек SDL, GTK/OpenGL, GDX и специализированных библиотек для Kotlin (например, KorGE). В этой статье мы последователь...

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

Пишем умный поиск по коду с Open AI В этой статье мы кратко рассмотрим технологию, которая лежит в основе ChatGPT — эмбеддинги, и напишем простой интеллектуальный поиск по кодовой базе проекта. Читать далее

Как пользоваться CSI Provider: доставляем секреты из Vault в Kubernetes Добрый день, Хабр! Мы — Михаил Панов и Евгений Прудченко, DevOps‑инженеры из команды МТС Digital, работаем на проекте External WebSSO. Мы занимаемся внедрением DevOps практик и инструментов в рамках нашего проекта. В этой статье расскажем о инте...

Tutorial по обмену с 1С. Часть третья: Выжимаем максимум из стандарта. Что мы хотели бы знать 1000 проектов назад Всем привет! Я Дина, ведущий разработчик личных кабинетов и ecom-систем в ИНТЕРВОЛГЕ. Мы не делаем тривиальных проектов. Все что я буду описывать ниже – уникальные задачи. Однако очень часто мы решаем их стандартными средствами за счет хитрых трюков и опыта.Disclaimer: «Сайт...

Как сделать анимацию с помощью MotionLayout Привет, Хабр! Меня зовут Павел Беловол, я Android-разработчик на проекте онлайн-кинотеатра KION в МТС Digital. Это новая часть сериала о внедрении фичи Autoplay в KION, в которой я расскажу про свой личный опыт работы с MotionLayout на примере продакшн-задачи в KION. Из этой...

Работа с контейнерами в Minikube Про Kubernetes написано огромное количество статей. Установка, настройка, мониторинг и безопасность все эти аспекты рассматриваются достаточно подробно. При этом, отдельным пунктом идет создание и настройка контейнеров. И если для решения глобальных задач  администриров...

5 библиотек Python для красивого вывода на консоль Независимо от того, создаете ли вы простой скрипт Python или приложение корпоративного уровня, элегантное взаимодействие с консолью избавит вас от надоедливой головной боли при устранении неполадок в будущем.В этой статье мы рассмотрим некоторые библиотеки, которые позволят ...

Масштабирование SSR-приложений Привет! Меня зовут Олег Драпеза, я работаю техлидом в Тинькофф в команде Coretech Frontend. Мой основной проект — SSR мета-фреймворк tramvai, на котором работают несколько десятков фронтовых приложений Тинькофф.Сегодня хочется поговорить про масштабирование SSR-приложений. С...

PostgreSQL 16: Часть 3 или Коммитфест 2022-11 Продолжаем следить за новинками будущей 16-й версии. В начале декабря завершился третий коммитфест и вот его результаты. Самое интересное из первых коммитфестов можно прочитать в предыдущих статьях серии: 2022-07, 2022-09. Читать дальше →

Чем важны переговоры Михаила Мишустина с китайскими товарищами Переговоры  Мишустина с китайскими коллегами крайне важны, так же как и переговоры Путина – поскольку переводят в рамки практических проектов достигнутые соглашения об общем стратегическим видении. Объединение потенциалов России и КНР на данный момент единственное, что в пер...

Suggestion: Чего не хватает в принципах тестирования Привет! Меня зовут Андрей Небольсин, я Старший Тестировщик на проекте Сбер МегаМаркет. Мой опыт в QA-сфере относительно небольшой, тем не менее я думаю, что у меня есть, чем поделиться :-) Читать далее

Полное руководство по Remix. Часть 1 Привет, друзья! В этой серии статей я расскажу вам о Remix — новом фреймворке для создания клиент-серверных веб-приложений на JavaScript (точнее, на React) со встроенной поддержкой TypeScript. Remix позволяет разрабатывать так называемые PESPA (Progressive Enhancement Sing...

Hashmap(map) по версии Golang. Часть 2 Всем привет. Продолжаем реализовывать hashmap из исходников Go 1.19. Во второй части рассмотрим generic ключи и рост мапы. Узнаем что такое нерефлексивные ключи, как происходит итерация во время роста и немного про коробочное хеширование. Читать далее

[Перевод] Ansible для начинающих В этой статье мы рассмотрим базовые и более сложные концепции Ansible с примерами. Статья предназначена для тех, кто только начинает работу с Ansible. Ansible — это инструмент infrastructure as a code для автоматизации задач по подготовке и конфигурированию инфраст...

Патентный анализ аддитивных технологий (3D-печати) в России за последние 5 лет. Часть вторая В первой части мы подробно проанализировали патенты на изобретения, касающиеся 3D-печати. Теперь рассмотрим патенты на полезные модели, свидетельства на программы ЭВМ и базы данных, выданные в России.  Читать далее

5 перспективных российских стартапов за декабрь 2022 года «Приложение для тех, кто задолбался скидывать коллегам одну и ту же ссылку по 10 раз подряд», «Обязательный инструмент для тех, кто тратит на рекламу больше 300'000 рублей в месяц», «Софт, который поможет построить производство «с нуля» всего за полгода» и еще парочка интере...

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

Разворачиваем Kubernetes-кластер на bare metal под управлением Deckhouse и создаем в нем виртуальные машины В новом релизе Kubernetes-платформы Deckhouse v1.43 появилась система виртуализации, основанная на современных технологиях: KubeVirt, Cilium, LINSTOR. Она позволяет в удобном и привычном для пользователя платформы режиме запускать виртуальные машины и управлять их жизненным ...

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

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

Ультимативный гайд по HTTP. Часть 1. Структура запроса и ответа Привет! Меня зовут Ивасюта Алексей, я техлид команды Bricks в Авито в кластере Architecture. Я решил написать цикл статей об истории и развитии HTTP, рассмотреть каждую из его версий и проблемы, которые они решали и решают сейчас. Весь современный веб построен на проток...

Взлет и падение Vuetify. Некролог Vuetify - один из самых популярных Material Design фреймворков для Vue, которому недавно исполнилось 6 лет. И 6 января 2023 года его основатель заявил, что проект Vuetify перестал окупаться и он ищет работу. Отсюда - некролог в названии статьи.Статья состоит из шести небольш...

Превратности диспетчеризации в Swift Всем привет, меня зовут Сергей, я работаю в компании Joy Dev в должности iOS TeamLead. Эта статья - моя “проба пера” на Хабре. В ней, вместе с обзором видов диспетчеризации в Swift, мы рассмотрим несколько примеров, когда реализация методов в extension может вести себя неожи...

Обзор пакетов SciPy, Pyomo и CVXPY для решения задач условной оптимизации Привет, Habr! На связи Михаил Будылин и Антон Денисов, мы работаем в отделе аналитики данных X5 Tech.В этой статье мы продолжаем говорить про прикладное применение теории оптимизации. В частности, делаем краткий обзор существующих open-source решений в Python,...

[Перевод] PostgreSQL: настройка и оптимизация производительности. Часть 1 Данная статья посвящена способам повышения производительности PostgreSQL и EDB Postgres Advanced Server (EPAS) с 10 по 13 версии. Мы начнём с аппаратного обеспечения и будем двигаться вверх по стеку, оставив напоследок SQL-запросы.  Читать далее

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

[Перевод] Как ускорить работу PostgreSQL В статье рассказываем, как оптимизировать базу данных PostgreSQL на примере Linux на IBM Z. Опираясь на представленные примеры, вы шаг за шагом узнаете, какие опции и параметры конфигурации улучшат установку PostgreSQL с точки зрения: Читать далее

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

Автоматизация управления с помощью Ansible В предыдущей статье мы достаточно подробно рассмотрели вопросы связанные с автоматизацией управлением и настройкой ПО в средних и крупных сетях. Рассмотрели Vagrant и основные методы работы с виртуальной инфраструктурой. В этой статье мы подробно поговорим об использовании т...

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

3 ошибки хорошего Product Manager С 2013 года я работаю в IT и прошла путь от Account manager до Senior Product manager в таких компаниях как МегаЛабс (Мегафон), Билайн, X5 Retail Group. С 2017 года я начала собирать свои команды в роли PO (до этого работала под руководством других PM или PO) и все это время...

[Перевод] Создайте конвейер потоковой обработки событий в реальном времени с помощью Kafka, BigQuery & Looker Studio Создание простого проекта потоковой обработки событий – не самая простая задача. В сегодняшней статье мы расскажем, как можно достаточно просто сделать это при помощи Kafka, BigQuery & Looker Studio. Приложения для потоковой обработки в реальном времени иногда могут бы...

[Перевод] Как настроить OpenVPN на Debian 11. Часть 1 Когда вы настраиваете удалённый доступ, важно не только предоставить всем сотрудникам подключение к нужным сервисам, но и позаботиться о безопасности. В этом помогает VPN — виртуальная частная сеть. VPN-сервер действует как единая точка входа: он аутентифицирует пользователе...

Реверс-инжиниринг китайского ПЛК FX3U-14MR. Часть 2. Софт В первой части мы познакомились с аппаратным обеспечением китайского клона ПЛК FX3U-14MR (одного из его вариантов). В это части мы научимся подключаться к его MCU по доступным коммуникационным интерфейсам, останавливать, запускать программу, заливать прошивку. И в конце расс...

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

[Перевод] Немного о Fastify Почти 15 лет назад Райан Томайко (Ryan Tomayko) написал книгу "The Thing About Git" (Про Git). Это было время, когда SVN (Subversion - система управления версиями) все еще активно использовался. Мало кто понимал, почему Git такой особенный, и тогда я тоже не принадлежал к их...

Домашнее облачко или что можно сделать с Orange Pi 5 (Часть 1) Прикупил для тестирования SBC Orange PI 5 c 8 ядрами и 16Гб RAM и постарался описать какие бонусы можно получить от использования. Поставил Ubuntu 22, Docker, Portainer, gitlab-ce, minio S3 (домашний S3). Приглашаю к обсуждению, кидайте тапками или предлагайте что нибудь пот...

IT's Tinkoff QA Meetup На связи команда перфоманс-тестинга. Нам важно развитие профессиональных стандартов и профессионального комьюнити. В конце октября мы провели митап на тему нагрузочного тестирования. В статье расскажем про доклады спикеров и дадим ссылки на все материалы.На митапе обсудили, ...

Бюджетный 3D принтер как конструктор. Заменяем материнскую плату и прошивку К нам приехал принтер Creality Ender 3 v2 с процессором GD (GigaDevice) вместо ожидаемого STM (STMicroelectronics). Принтер в базовой комплектации еще как-то работает (хотя прошивка очень урезана), но часть периферии принтера не работает вовсе (датчик филамента), а остальное...

Обзор специальных публикаций NIST по управлению киберинцидентами В предыдущих публикациях мы сделали обзор самых интересных на наш взгляд специальных публикаций NIST по информационной безопасности. В данном посте мы рассмотрим два документа от NIST, которые посвящены выстраиванию процессов реагирования на инциденты ИБ: публикации NIST SP ...

[Перевод] Создание расширения браузера Google Chrome для извлечения всех изображений web-страницы. Часть 2 Представляю вашему вниманию вторую часть статьи о создании расширения web-браузера Chrome, которое позволяет извлечь все изображения с web-страницы.В этой части я покажу как автоматически упаковать все изображения этого списка в ZIP-архив и предложить пользователю его скачат...

Сравниваем инструменты мониторинга IT-инфраструктуры Zabbix, Icinga, Prometheus Инструменты мониторинга IT-инфраструктуры позволяют полностью отслеживать ее состояние: собирать данные, анализировать и визуализировать их, оповещать о сбоях и т.д. В этой статье рассмотрим платформы Zabbix, Icinga и Prometheus. Разберем их UI, архитектуру, принципы сбора м...

[Перевод] Как Java мусорит за пределами кучи: часть 1, реляционные базы данных Как Java разработчики, мы знакомы с концепцией сборки мусора. Наши приложения постоянно генерируют мусор, и этот мусор тщательно очищается сборщиками CMS, G1, Azul C4 и другими типами сборщиков.Однако история не заканчивается на Java куче. На самом деле, это только...

Как добавить Life Activity в существующий проект. Часть I Live Activity был показан Apple на презентации iOS 16 и нового iPhone с Dynamic Island. Обновление доступно только для тех, кто обновил iOS до 16.1. Меня зовут Азиз, я iOS-разработчик в inDrive. В статье расскажу, как мы добавляли Live Activity в наше iOS-приложение. По...

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

Лучшие библиотеки Java для тестирования в 2023 году Большинство из нас стремятся быть более эффективными, действенными и содержательными в тестировании. И мы делаем все необходимое для этого. Лучший способ сделать это — проводить автоматизированное тестирование вместо ручного. И, конечно же, мы хотели бы знать все современные...

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

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

Как создать сервис по ремонту оргтехники В этой статье расскажу о том, как мы создавали сервисный отдел по ремонту оргтехники. Читать далее

Разворачиваем Kubernetes-платформу Deckhouse в Yandex Cloud Платформу Deckhouse можно устанавливать на виртуальные машины облачных провайдеров, на bare metal-серверы, в закрытый контур и не только. В статье рассмотрим вариант установки Deckhouse в Yandex Cloud. А чтобы убедиться, что все внутренние ресурсы и компоненты работают ...

[Перевод] 38 лучших CI/CD-инструментов в 2022 году Непрерывная интеграция (CI) и непрерывная доставка (CD) или CI/CD стали неотъемлемой частью подхода к разработке программного обеспечения и тестирования DevOps. Этот подход дает разработчикам возможность непрерывного развертывания кода. Кроме того, ошибки выявляются на ...

Адаптивная антенна на беспилотном летательном аппарате или как одновременно увеличить дальность связи и подавлять помехи Можно ли одновременно увеличить дальность связи с беспилотным летательным аппаратом (БЛА) и подавлять помехи без увеличения габаритов, массы и энергопотребления бортового модема? В настоящей статье мы рассмотрим как это можно сделать с помощью адаптивной антенной системы. Ст...

Большое сравнение нейросетей Привет, меня зовут Юля, 85GB и я веду свой канал по нейронкамВ этой статье я рассмотрю по различным параметрам графические нейронки: DALL-E 2, Midjourney, Stable Diffusion, Кандинский и Шедеврум. Постараюсь разложить всё максимально чётко и ёмко, дать оценку по каждому блоку...

ТОП-10 экспортеров для Prometheus 2023 Статья Основы мониторинга (обзор Prometheus и Grafana) оборвалась на самом интересном месте. Автор предложил искать и использовать актуальные экспортеры, а читатель такой – окей, где референс? Что ж, давайте рассмотрим топ-10 наиболее полезных экспортеров на начало 2023 года...

ChatGPT: новый инструмент в борьбе с багами. Как можно использовать AI для повышения качества тестирования Всем привет! Я QA Engineer и недавно открыл для себя ChatGPT и хочу открыть этот мир другим тестировщикам. Эта статья не руководство к применению и каких-то суперлайфхаков здесь не будет. Цель этой статьи в том, чтобы показать огромные возможности нейросетей в помощи нам, те...

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

Как мы переизобрели экзамены на сертификаты в отдельно взятой компании Хабр, привет! На связи Костя Линев и Женя Заварзин, мы разработчики в КРОК (а Женя еще и ресурс-менеджер). В 2020 году мы придумали формат внутренних экзаменов для .NET-разработчиков (взамен программ сертификаций от Microsoft). Придумали исключительно в образовательных ...

[Перевод] Помимо Правил Трех, Пяти и Ноля В предыдущей статье мы разобрали Правила Трех, Пяти и Ноля — что они из себя представляют, и когда и какое из них следует использовать (спойлер: львиная доля кода должна быть написана в соответствии с Правилом Ноля).Но очень часто у правил бывают исключения, и иногда эти иск...

Эволюция Dev-серверов CarPrice: от монолита к микросервисам и Kubernetes Нужен ли каждому разработчику свой dev-сервер? Многие компании, опасаясь лишних расходов и проблем, даже не пробуют внедрить такой подход.CarPrice развернул свои dev-серверы еще в те далекие времена, когда все работало на монолите. А после монолита пилил собственный сервис д...

[Перевод] Зачем нужен контейнер pause в Kubernetes Вы когда-нибудь задумывались, почему появляются контейнеры pause? Когда мы создаем поды, мы не помним, что когда-либо создавали эти контейнеры pause, так откуда же они берутся? Вы можете подумать, что, так как мы не создавали эти контейнеры самостоятельно, возможно, кластер ...

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

[Перевод] Неявные параметры. Когда их следует использовать? Часть 1 Имплиситы (implicits) – одна из наиболее вызывающих опасения фич языка программирования Scala, и на то есть веские причины!Во-первых, понятие имплиcитов довольно специфично для Scala. Ни один другой основной язык программирования не имеет подобной концепции. Это означает, чт...

Конструктор базы для браузерной стратегии в духе Dune 2/2000 на Three.js, Vue3 + TS Самой успешной моей статьей для сообщества был подробный отчет о разработке браузерного FPS. Судя по статистике в базе данных — неожиданно огромное количество людей зашло и попробовало сыграть, я получал заинтересованные вопросы в личку и так далее. В дальнейшем я сделал еще...

Тестирование базы данных Современные приложения в основном состоят из фронтенда и бэкенда. Что касается тестирования бэкенда, то оно в основном ассоциируется с тестированием базы данных. В частности происходит проверка корректности записи введенных данных на фронтенде в базу данных бэкенда. Но не то...

KC868-A128: заявка на Книгу рекордов Гиннеса Сегодня мы поговорим о решении, достойном помещения в Книгу рекордов Гиннеса — это контроллер Kincony KC868-A128, имеющий на борту аж 128 цифровых входов и 128 транзисторных (MOSFET) выходов. Как говорится, «раззудись плечо, размахнись рука» — с такими ТТХ KC868-A128 может...

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

Учеными из России и Индии разрабатывается беспилотный самолет для Марса Российские специалисты из МАИ при участии индийских коллег разрабатывают проект самолета-беспилотника, предназначенного для исследования поверхности Марса. Данная идея возникла после того, так вертолет Ingenuity, созданный американскими учеными, совершил свой первый полет на...

В очередь, ...! Как управлять состоянием системы через события Существует множество разных подходов к построению архитектуры серверных приложений. В данной статье рассмотрим Event-driven архитектуру (она же событийно-ориентированная). Рассмотрим основные принципы, как перейти от связей Компонент А <-> Компонент В, к связям через с...

Настраиваем QtCreator для полноценного программирования и отладки микроконтроллеров STM32 Привет всем.На данный момент я активно осваиваю разработку ПО для STM32 и хотел бы поделиться моим опытом. Как известно, для STM32 имеется много сред для разработки, однако часть из них, несмотря на удобность, имеют ограничения по использованию в случае пробной версии. Так, ...

От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin (Часть 1) В этой статье мы рассмотрим, как и почему изменилась реализация примитивов синхронизации из стандартной библиотеки Java и пакета java.util.concurrent для Kotlin Coroutines и для языка Kotlin в целом.Разберемся, какие реализации примитивов синхронизации потоков актуальны в ко...

STM32 Часть 1. Как поморгать светодиодиком Приветствую! Данная статья открывает цикл статей о программировании микроконтроллеров STM32 для новичков.Сегодня я расскажу как написать моргание светодиодом двумя способами с использованием инструментов, труднодоступных в 2023 году. Читать далее

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

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

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

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

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

[Перевод] Ansible: 30 самых важных модулей для DevOps-профессионалов (часть 1) Модули – это дискретные единицы кода, которые можно запускать с помощью командной строки или с помощью плейбука для того, чтобы вносить определенные изменения в целевой узел или собирать с него информацию. Ansible реализует каждый модуль на удалённом целевом узле, а также со...

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

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

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

Brown Dust 2 - Adventure RPG можно затестить на Android Brown Dust 2 - Adventure RPG — мобильная игра для которой проходит тестирование на Android до 17 января. Она предлагает аниме-графику и jPRG опыт, то есть надо собирать отряд из героев и участвовать в пошаговых схватках. Помимо этого игроки смогут исследовать локации, продв...

[Перевод] Starting Electronics: руководство по веб-серверам на Arduino. Часть 4. Отображение состояния кнопки на веб-странице От переводчика. В этой части руководства автор собирает ещё одну часть пазла и объясняет каким образом можно отображать состояние кнопки на веб-странице. Разумеется, это не обязательно должна быть кнопка, это может быть переключатель, джампер, контакты реле или что-то подо...

[Перевод] Военное вычислительное мышление. Тактический искуственный интеллект. Часть II В своём последнием посте в блоге я описал, как программы TIGER, а потом и MATE, класифицировали сражения (в терминах информатики - "объекты") на основе атрибутов, конкретнне - атрибута закреплённых и не закреплённых флангов, а после распознания их наличия или отсутвия, мы у...

Комбинация компактного картриджа для E3dv6 и 1/2 экструдера Voron Afterburner для SapphirePro Итогом предыдущих статей стало объединение 4-й версии компактного картриджа для E3dv6 и половинки экструдера Voron Afterburner для принтера SapphirePro. В этой статье выкладываю исходники в формате stp для продолжения развития проекта желающими.

Сколько я заработал на Яндекс играх? Моя история выпуска игры Добрый день, Игроделы. Я InterestingPerson. В этой статье я опишу как создал свою игру и залил её на Яндекс. Читать далее

ИИ в играх в 2022 году Современная волна ИИ хайпа началась с вполне конкретного события: победы ИИ над чемпионом мира в игре в Го. Это вызвало шквал интереса к обучению с подкреплением и привело к запуску работ над созданием ИИ для других более сложных игр (Starcraft, Dota и.т.п.). Однако, с появл...

Проблема N+1 и как её решить с помощью EntityGraph Всем привет! В данной статье попробуем разобраться с проблемой N+1 (или может правильнее 1+N?) и как ее решить с помощью использования EntityGraph.Проблема N+1 возникает, когда мы генерируем запрос на получение одной сущности из базы данных, но у данной сущности есть свои св...

Тест-драйв «Гарда БД»: восемь базовых проверок перед внедрением системы защиты баз данных Когда в начале года иностранные производители средств защиты покинули отечественный рынок и Россия оказалась тем самым одиноким китом в океане кибербезопасности, на нашу команду буквально обрушился шквал входящих запросов от компаний на подбор отечественных решений на замену...

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

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

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

Yet Another Домашний Сервер. Железо (часть 1) Вот и я потихоньку пришёл к тому, чтобы сделать свой домашний сервер. Точнее, идея появилась ещё со школьных времён, но вот реализовать в каком-либо виде получилось только сейчас. И я бы хотел поделиться тем, что у меня получилось, с читателями Хабра, и ко всем написанным ст...

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

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

Как ускорить бэкап и сэкономить место на сторадже: на примере ArenadataDB ddboost и СХД Dell EMC Data Domain Всем привет, меня зовут Андрей, я – системный архитектор Arenadata и в этой статье мы рассмотрим интеграцию решения логического резервного копирования и восстановления gpbackup/gprestore с программно-аппаратным комплексом Dell EMC Data Domain — задача, которой наша команда р...

[Перевод] DatRet: Реализация Tensorflow для табличных данных Мой open-source продукт. Rete neurale per la previsione di Dati tabulari. (it.)Простая реализация архитектуры глубокой нейронной сети для табличных данных с автоматической генерацией слоев и послойным сокращением количества нейронов. С удобством использования, аналогичным к...

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

Переплата того стоит: раскрыты результаты тестирования ноутбучной NVIDIA RTX 4060 в играх Наши коллеги из VideoCardz.com опубликовали результаты полного тестирования игрового ноутбука, оснащённого видеокартой NVIDIA RTX 4060.

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

Цикл постов про Keycloak. Часть первая: Внедрение Цикл постов про Keycloak (часть 1): Внедрение.О чем речь?Это первая часть серии статей о переходе на Keycloak в качестве SSO в условиях кровавого enterprise. Читать далее

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

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

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

Топ 7 самых популярных игр для Steam Deck по статистике Valve Крупная игровая корпорация Valve, особо известная проектами Dota 2 и CSGO, отчиталась перед пользователями своего онлайн-сервиса Steam о 20-и самых популярных играх, которые запускают на портативной игровой консоли Steam Deck. В статье чуть более подробно рассмотрены первые ...

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

QR-code. Обнаружить и расшифровать. Шаг 1 — Обнаружить Эта статья - первая в цикле статей, в котором мы разберемся с тем, как qr-код устроен, и напишем простенький Qr-детектор и дешифровщик, а также свой собственный генератор qr-кодовИспользовать мы будем python вместе с opencv и numpy. Учитывая, что opencv - кросс-язычная библи...

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

Бесперебойный деплой микрофронтендов с Kubernetes: как настроить Фронтенд-разработка может жить без независимого деплоя, пока у нее не больше 7 микрофронтендов. Но, чем выше число, тем сильнее страдают процессы. Наша команда в Mindbox прошла через это с Octopus, когда деплоила в Yandex Cloud S3. Причем на все обновления был один...

Новый российский бренд  LANIT Document Management от ЛАНИТ LANIT Document Management (LDM) – новый российский бренд в сегменте СЭД/ECM/CSP-систем, презентация которого состоялась в Москве. В ходе мероприятия спикеры рассказали участникам о главных трендах современного российского рынка электронного документооборота, рассмотрел...

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

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

Аномалии под нагрузкой в PostgreSQL: о чём стоит помнить и с чем надо бороться В этой статье мы разберём несколько аномальных случаев высокой нагрузки в СУБД PostgreSQL. Что это такое? Обычно PostgreSQL хорошо показывает себя под нагрузкой и оправдывает ожидания в отношении производительности — она остаётся высокой. Но при определённых профилях нагрузк...

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

[Перевод] Starting Electronics: руководство по веб-серверам на Arduino. Часть 1 От переводчика. В сети есть много информации о работе веб-серверов на микроконтроллерах, но она плохо структурирована и не отличается системным подходом к изложению материала. Среди прочих есть в интернете один замечательный, можно сказать культовый, туториал (руководство)...

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

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

Кейсы разметки в CVAT #1: найди отличия Привет, дорогие читатели! Меня зовут Алина, я работаю операционным менеджером в компании Training Data, которая занимается сбором и разметкой данных. Я веду проекты по разметке, а еще благодаря знанию python пишу скрипты для автоматизации работы своей команды. У меня накопил...

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

Импортозамещаем Evernote. Obsidian – менеджер заметок и лучший друг менеджеров Привет, Хабр! Меня зовут Николай Суворов. Я – профессиональный менеджер, руководитель направления Delivery Management в МТС Digital. Занимаюсь Enablement Platform – единой платформой для быстрого создания продуктов в экосистеме МТС. Сегодня я расскажу о своем pet-проекте и о...

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

[Перевод] Ansible: 30 самых важных модулей для DevOps-профессионалов (часть 2) В прошлой части мы обсудили модули Ansible и прочитали о некоторых важных модулях. Таких, как модуль проверки подключения хоста и целевого узла (модуль ping), модуль, способный извлекать информацию из целевого узла (модуль setup), модуль управления существующим пакетом и уст...

[Перевод] Как собрать, покрыть тестами и опубликовать TypeScript-пакет в npm в 2022 году В этой статье мы с вами создадим с нуля и опубликуем в  NPM TypeScript-пакет, не забыв про Jest для покрытия тестами.Мы инициализируем проект, настроим TypeScript, напишем для него тесты в Jest и опубликуем его в NPM. Читать далее

Зеркалирование GitHub-проектов в 2023 году По ряду причин я решил зеркалировать свои открытые GitHub-проекты на другие платформы совместной разработки. Сделать это оказалось не так просто. В этой короткой статье описаны трудности, с которыми мне пришлось столкнуться, и итоговое рабочее решение. Читать далее

[Перевод] Отправка уведомлений из Symfony API с помощью Mercure В статье я создал атрибут, чтобы помечать операции API для выполнения в фоновом режиме. Когда аннотированная операция вызывалась как фоновая, ее выполнение задерживалось с помощью symfony messenger, клиент получал в ответ код состояния HTTP 202 Accepted. В этой статье я внес...

О красной неадекватности и объективности тестирования Сегодня мы рассмотрим один "миф", связанный с фанатством поклонников продукции AMD и прочих...

Архитектура игры на Unity без Zenject. Часть 1 Всем привет!Меня зовут Игорь Гулькин, и я Unity разработчик. За свои 5 лет накопилось много опыта, поэтому в этой статье хотел бы поделиться принципами и подходами, с помощью которых можно реализовать архитектуру игры просто и гибко без фреймворка. Цель доклада, дать не прос...

Перестаньте писать автотесты силами автоматизаторов Соробан, инструмент для проверки калькулятора на счётах (на самом деле — два интерфейса, для коротких расчётов тактильный был удобнее) У нас была классическая история: разработчики разрабатывают, автоматизаторы пишут тесты. Банковское приложение, backend, web, ios и androi...

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

MedBench: NLP-задачи в медицине, модели и методы их решения Привет, Хабр! Меня зовут Даниил Погуляка. Я студент четвертого курса МГТУ им. Н.Э. Баумана, факультета "Информатика, искусственный интеллект и системы управления". Уже некоторое время я занимаюсь изучением методов машинного обучения, в частности, касающихся автоматической об...

Темная тема = шрифтовой ад / Решение В предыдущей статье я подробно разобрал проблемы связанные со шрифтами для темной темы и причины их актуальности. В данном материале смотрим на то, какие есть решения и что предлагает индустрия. + figma файл с адаптированным мной под темную тему стандартным текстовым набором...

11 полезных AI сервисов + Plasma AI Telegram бот с 160 ролевыми моделями, эксклюзивом от chatGPT 4 и MidJourney 5 После моей предыдущей статьи про 30+ задач, которые может выполнять chatGPT, мы решили запустить своего чат бота в Телеграм, которые за 3 месяца вырос до более 1 миллиона активных пользователей. Сегодня мы запустили большое обновление и функционал "Ролевых" моделей chatGPT 4...

[Перевод] Стратегии роста Notion. Часть 2 Примечание Wunder Fund: мы very early adopters Ноушена и большие его фанаты. Поэтому решили перевести нетипичную для нас статью о том, как он создавался, как рос, как развивалась его стратегия. В статье есть ряд интересных мыслей про развитие продуктов.Сегодня публикуем втор...

Развертывание ASP.NET Core приложения в Kubernetes Данная статья является краткой инструкцией по развертыванию ASP.NET Core приложения в Kubernetes с написанием Dockerfile для формирования образа (Docker image) и минимального манифеста для создания деплоймента и объекта, предоставляющего доступ к нему, – в статье будет испол...

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

Автоматизация ревью ТЗ с помощью инструмента Comala для Confluence. Углубленная автоматизация В предыдущей статье мы рассмотрели, как можно собрать базовую автоматизацию ревью для документации и как уже на этом этапе она облегчает жизнь аналитику и команде. Однако всегда появляются новые задачи для решения, и всегда можно посмотреть шире. Придумать, что еще можно сде...

Geb Framework для автотестов Добрый день, коллеги. Один из самых известных и популярных фреймворков для написания автотестов - это Selenium. У этого фреймворка множество плюсов и возможностей, но в то же время есть некоторые неудобства в конфигурации, настройке и написании тестов. Поэтому появились фрей...

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

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

Программный рендер в стиле игры Doom Расскажу о небольшом домашнем проекте по написанию программного рендера. Всё началось со случайного видео на Youtube с записью геймплея игры Doom (93 года). Появилась идея сделать похожий рендер на С++ без использования библиотек. В статье описаны шаги его разработки. В конц...

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

Часть 2. Управление знаниями в Obsidian. Базовый рабочий процесс. Журнал. Источники и их библиотеки. Пример В этой статье будет показано как можно начать организовывать свою базу знаний в Obsidian, отталкиваясь от источников. В статье будет разобрано какие стоит использовать папки и теги; как создать свою первую точку входа в систему. Также будет уделено внимание способу ведению ж...

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

Использование методов А/Б тестирования. Решение практического кейса в Python Привет, Хабр! В данной статье будет рассмотрено применение логистической регрессии, причинного случайного леса (Causal Random Forest), метода CUPED для оценки изменения целевой переменной в Python при проведении А/Б тестов. Основное внимание будет уделено практике, теоретиче...

Подробная пошаговая инструкция как настроить сервер на Linux и подключение по API к ChatGPT. Для Python и Node.js ChatGPT набирает все большую популярность, ведь он может помочь человеку или даже заменить его в ряде задач. С ним можно взаимодействовать не только через графический интерфейс, но и по API. Таким образом его можно встраивать в свои системы, чтобы решать практические задачи ...

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

Motorized Solder Dispenser Этот проект был создан еще полтора года назад. Я его напечатал, но так и не собрал до сегодняшнего дня, все как-то было не до него. Да и других проектов множество лежит незавершенных, которые я понемногу доделываю. Вот сегодня и пришла очередь представить вам этот замечатель...

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

Как создать cloud-init шаблон ОС Astra Linux в Proxmox Вы когда-нибудь задумывались над тем, как вы создаете виртуальные машины?Как правило, это долгий и скучный процесс, богатый ручной работой. Читать далее

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

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

Как мы тестировали первый в России финансовый маркетплейс Привет! Я Андрей Непряхин, руководитель направления QA в AGIMA. Вот уже год как мы работаем над мобильным приложением платформы Финуслуги, созданной Московской биржей. Это первая и единственная платформа личных финансов в России. За этот год мы освоили целый ряд новых технол...

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

Приглашаем на Ozon Tech Community QA (Python) Meetup Всем привет!Меня зовут Игорь, и я руковожу тестированием в Ozon Fintech. Внутри Ozon тестирование на Python популярно в командах логистики, склада, маркетплейса и всего финтеха. Почему мы используем этот язык?Ответы на поверхности:- Он прост в изучении и применении – эт...

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

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

Github Actions. Простой пример для уверенного знакомства Здесь я буду расссказывать о моем опыте настройки CI/CD c помощью GitHub Actions.Эта статья поможет тем, кто хочет настроить автоматический деплой для личного/учебного проекта на свой удаленный сервер, пользуясь бесплатным сервисов GitHub Actions. Причем этим сервисом можно ...

Акты, классы и семантический сахар В предыдущей статье «Событийная онтология vs объектная» были введены основные положения событийной семантики, описаны ее отличия от объектно-ориентированных подходов к моделированию предметной области. В данном тексте на конкретных примерах демонстрируются особенности событи...

Магия размерностей и магия Котлина. Часть первая: Введение в KotUniL Амперы нельзя складывать с вольтами. Сантиметры можно складывать с дюймами, но очень внимательно. Иначе получится как с космическим аппаратом стоимостью 125 миллионов долларов Mars Climate Orbiter, который успешно долетел до Марса, но бездарно разбился о его  поверхност...

Использование скриптов на языке Python в Платформе nanoCAD 23 Рассмотрим действия, необходимые для включения поддержки скриптов на языке Python в Платформе nanoCAD. В статье описана процедура настройки расширения Python.AXScript.2, а также приведены примеры использования команд PY и ‑PY. Пример скрипта использу...

Как можно применить генерацию изображений в химии для предсказания наноматериалов Когда я со своими коллегами с направления Химия и ИИ начинал делать этот проект, в мире был в самом разгаре интерес к таким системам генерации изображений как Stable Diffusion, DALL-E и Midjourney. Именно тогда мы решили совместить модели обработки е...

Магия размерностей и магия Котлина. Часть третья: Смешение магий Это третья, заключительная статья серии, посвящённой библиотеке по манипулировали физическими величинами системы СИ, а также другими величинами, в Котлин. В ней мы рассмотрим, как фундаментальные математические структуры, которые природа “заложила” в систему СИ, предопределя...

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

Популяризация JSON-RPC (часть 2) Продолжим строить подобие JSON-RPC сервера, начатого в части 1 и анализировать его плюсы и минусы. В прошлой статье был описан механизм отделения бизнес логики бэкенда от транспортного протокола (HTTP) через шаблон проектирования "Front Controller", роль которого исполняет в...

Разбор бинарных форматов. Часть 1 Одна из самых сложных и интересных задач, с которыми сталкивается реверс инженер — это анализ бинарных файлов. Зачастую это может быть просто уже известный формат, и интерес с точки зрения анализа здесь появляется в тот момент, когда нужно напис...

[Перевод] Стратегии роста Notion. Часть 1 Примечание Wunder Fund: мы very early adopters Ноушена и большие его фанаты. Поэтому решили перевести нетипичную для нас статью о том, как он создавался, как рос, как развивалась его стратегия. В статье есть ряд интересных мыслей про развитие продуктов.Что можно узнать о стр...

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

Сравнение JMeter и k6 на практике Привет! Меня зовут Максим Колесников. Я работаю в центре компетенций нагрузочного тестирования блока обеспечения и контроля качества выпуска изменений в «РСХБ-Интех» — IT-компании АО «Россельхозбанк». И как-то раз у меня возникла мысль: «А не выкинуть ли нам JMeter и перепис...

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

Hydrosphere — управляем ML как сервисом Подобно тому, как в мире разработки многокомпонентных систем применяются подходы для управления и мониторинга микросервисами на основе инструментов DevOps (для запуска и восстановления сервисов, передачи данных, наблюдения за распределенными операциями, выполнение замеров и ...

В России начнут по-новому бороться с продажей просроченных лекарств Минздрав в проекте доклада министра здравоохранения Михаила Мурашко президенту Владимиру Путину предложил распространить действие государственной системы маркировки товаров «Честный знак» на просроченные препараты.

Среда разработки VS Code на ТВ-приставке Решил написать небольшой обзор проделанной работы по разработке нестандартного решения, собранного, как обычно, их стандартных компонентов.Кратко оно выглядит так:Мультимедиа-приставка (была с Андроидом), в ней запущен Линукс, в нем развернута IDE Visual Studio Code, в ней у...

19,6 млн рублей за 2022 год. Парсинг сайтов. 25 советов желающим заняться Меня зовут Максим Кульгин, моя компания xmldatafeed занимается парсингом сайтов в России порядка четырёх лет. По итогам прошедшего 2022 года поделюсь советами для тех, кто думает о подобном бизнесе. Бизнес очень интересный, но наполнен нюансами, которые и расскажу ...

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

Документ бизнес-требований: Что это такое и как его составить [+5 шаблонов] Документ бизнес-требований (BRD) является отправной точкой для любого программного проекта или бизнес-решения. Благодаря такому документу члены команды приходят к единому мнению о том, что нужно создать, зачем это делать и как этого добиться.В этой статье изучаются основные ...

Active Directory для изучения Pentest Это первая статья цикла, который будет описывать методы исследования структур системы Windows и Active Directory. В статье попробуем изучить мини инфраструктуру AD и попытаемся понять как обнаруживаются логические уязвимости.В сети достаточно много статей о том, что была най...

Расширяем PostgreSQL с помощью Rust Свободная система управления базами данных PostgreSQL не только предоставляет высокопроизводительный движок для выполнения запросов, но и может быть расширена с помощью расширений, которые могут добавлять новые типы данных (например, для ГИС‑рас...

Семантическое версионирование и проблемы с зависимостями — коротко о lockfile Привет, меня зовут Анастасия Пласкевич, я фронтенд-разработчик. Недавно на проекте я разбиралась с зависимостями и углубилась в эту тему так, что собрала небольшой доклад о том, что такое Lockfile, как работает yarn.lock, как решать проблемы с зависимостями в проекте и делат...

Миссия невыполнима: подключаем электросчётчик SDM220 к трансформеру Lavritech V7.1 Lite по RS485/Modbus RTU Некоторое время назад в моём блоге вышел цикл статей об устройстве и программировании Lavritech V7.1 Lite — ESP32 контроллера с необычной модульной архитектурой. Необычность архитектуры заключается в том, что функционал Lavritech V7.1 Lite можно набирать из отдельных модул...

Замахнемся на гипотезу Коллаца Она же проблема 3n+1. Это, наверное, самая сложная проблема с самой простой формулировкой — условие может понять и ребенок. А вот сложность самой проблемы такова, что великий математик Эрдош сказал, что «математика еще не готова к решению п...

Техподдержка: как научиться жить без Jira Привет! Меня зовут Савр, я работаю инженером технической поддержки Arenadata. В прошлом году нам, как и многим другим компаниям, использовавшим зарубежное ПО, пришлось переходить на российские аналоги. В частности, с болью в сердце мы отказались от Jira Service Management (д...

Делаем полезное Zigbee устройство из Триколор GS SMH-ZW-I1 на прошивке PTVO. Новогодняя ёлка с датчиком давления По просьбам заинтересовавшихся данной темой, продолжаю цикл постов на Хабре про создание Zigbee устройств из подручных средств. В предыдущих постах я рассказал как сделать из модуля управления умным домом Триколор GS SMH-ZW-I1 Zigbee координатор или роутер, как прошить чип C...

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

Краткое тестирование в игре Hogwarts Legacy Проведу небольшое тестирование своей системы в игре Hogwarts Legacy. Но предварительно придется ответить на некоторые комментарии к предыдущей статье...

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

Как за неделю превратить Open redirect в RCE В этой статье я расскажу вам о том, как ровно год назад я связал в цепочку несколько проблем безопасности для достижения Удаленного выполнения кода (RCE) на нескольких серверах компании VK. Я постарался описать свои шаги в подробностях, так как мне самому, как постоянному чи...

И самые лучшие книги они в рюкзаках хранят… В этом топике продолжим тему решения криптографических загадок с MysteryTwister. Ранее уже были опубликованы статьи навеянные задачами с этого ресурса («Угнать SIGABA за 24 часа», часть 1, часть 2). На этот раз возьмём задачу, основанную на классической «задаче о рюкзаке». А...

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

Ностальгические игры: Deus Ex (часть 1) В наше время, когда у всех на слуху франшизы-гиганты вроде Call of Duty, Assassin`s Creed и Fortnite, очень мало кто помнит такие культовые и жанрообразующие франшизы, как System Shock, Thief и Deus Ex, созданные гениальным геймдизайнером Уорреном Спектором.Да, многие соврем...

Особенности работы мобильного аналитика в банковских проектах Чем проект банковского мобильного приложения отличается от других? Та же работа с заказчиком, уточнение и описание требований, проектирование функциональностей, согласования ТЗ… Но так кажется только на первый взгляд.  Читать далее

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

Превращаем DSLogic U2Basic (PANGO) в DSLogic Plus В данной статье расскажу как модифицировать DSLogic U2Basic (PANGO) в DSLogic Plus.Данная статья является обновлением статей - Превращаем DSLogic Basic в DSLogic Plus и Превращаем DSLogic U2Basic в DSLogic Plus Читать далее

Доступный AutoML: как оптимизировать работу с ML-моделями с помощью VK Cloud и FEDOT В машинном обучении (Machine Learning, ML), чтобы обеспечить требуемые показатели метрик качества ML-моделей зачастую надо строить многокомпонентные пайплайны и комбинировать десятки алгоритмов моделирования. Нередко это сложно и долго. В таких ситуациях на помощь приходит...

Анатомия игры: реверс-инжиниринг на службе мододелов или как замодить игру на примере Elden Ring и не только. Часть 2 Мод, заменяющий модельку Волка из Sekiro на драконида-альбиноса. Мой Продолжаем тему фанатских модификаций игр. В прошлый раз мы познакомились с понятием «моды», рассмотрели их классификацию и попробовали самостоятельно сделать мод-перекраску для TES V: Skyrim и игр Souls-...

Нефункциональные проверки при тестировании мобильных приложений Привет! Я Линар Юнусов, тестировщик из мобильной команды СберМаркета. Если вы не первый день в тестировании, то знаете про существование нефункциональных проверок и как они могут поломать жизнь (зачеркнуто) приложение. В этой статье расскажу про то, к каким проверкам мы приш...

Вышел PHP 8.2: разбираем главные изменения Вместе с PHP-разработчиками Александром Макаровым (@SamDark), Валентином Удальцовым (@vudaltsov) и наставником Хекслета по PHP Владленом Гилязетдиновым (@funkylen) разбираемся, какие новые фичи появились в PHP 8.2, насколько эти изменения глобальны и какую роль в них сы...

6 причин почему пользователи Windows не хотят переходить на macOS Некоторые из этих причин основаны на устаревших мифах, не выдерживающих критики в 2022 году и 2023 на носу. В этой статье мы рассмотрим распространенные мифы пользователей о macOS и причины, по которым им все же следует перекроить свою твердую позицию. Читать полную стат...

Будни техпода. Подготовка сервера с Linux для работы по RDP Наконец мы добрались до новой статьи из серии «Будни техпода», где мы просим кого-то из специалистов поддержки рассказать о наиболее популярных кейсах, а также предложить то или иное решение для реализации поставленной задачи. В первой части мы рассмотрели вопрос проброса U...

Экстремально уменьшаем размер NPM пакета Однажды я захотел создать небольшую NPM библиотеку по всем “best practices” - с покрытием тестами, написанием документации, ведением нормального версионирования и changelog'а и т.п. Даже написал пару статей, которые в деталях описали, какие вопросы решает библ...

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

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

Учитель и панк: история Алексея Дрозда, начИБ «СёрчИнформ» Продолжаем серию постов о наших сотрудниках. Под Новый год решили рассказать про одного из самых заметных наших коллег – Алексее Дрозде (aka @labyrinth). Вы знаете его, если приходите к нам на вебинары и Road Show, учитесь в нашем УЦ, читаете наш блог на Habr. В общем, много...

Self-Supervised Learning. Обучение на изображении и его аугментациях Ранее мы разобрали, что за зверь такой SSL и какой линейкой его можно померять. Также окунулись в историческое прошлое SSL методов глубокой древности (4 года назад

LSI ключи и что использовать вместо них? Меня зовут Пётр Гришечкин, и я работаю SEO-специалистом в команде проекта “Своё Родное”. В основном я занимаюсь продвижением цифровых продуктов, представленных на платформе, и готов поделиться своими знаниями с читателями Хабра. Вокруг SEO ходит много мифов и легенд. На неко...

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

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

Тысяча и один справочник в Master Data Management Ростелекома Импортозамещение Всем привет! В предыдущей статье мы рассказали об использовании коробочного продукта Master Data Management и обещали рассказать о дальнейшем развитии подходов управления справочниками в компании. Сегодня мы сдержим свое обещание.Система MDM - специализированное програм...

Что ждет ручное тестирование в 2023 году Автоматизация тестирование уже давно и прочно вошла в нашу жизнь. И это правильно, так как монотонную и часто повторяющуюся работу лучше всего поручить машине. Читать далее

Доступны промокоды для стратегии Beedom Beedom — мобильная стратегия, где надо строить поселение для пчёл и совмещать одинаковых насекомых, чтобы получить улучшенную версию. Сейчас для игры проходит бета-тест в Индонезии и, вероятно, других странах ЮВА. Тестирование продлится до 31 января, а после этого прогресс б...

Лагуны общественного доступа™ Проекты Crystal Lagoons расширяются в Израиле Crystal Lagoons и Израиль объединяют две общие черты — любовь к технологиям и желание улучшить качество жизни с помощью инноваций. Именно в этой стране, одной из самых инновационных в мире, транснациональная корпорация заключила новое соглашение о развитии проектов Лаг...

В правительстве РФ заявили, что отечественные аналоги есть для 85% зарубежного ПО В России есть аналоги 85% всех видов иностранного программного обеспечения, также идёт развитие собственных решений. Об этом заявил премьер-министр РФ Михаил Мишустин в ходе форума «Digital Almaty 2023: Цифровое партнерство в новой реальности». Михаил Мишус...

Java. Работа с XML-документами Привет, Хабр! Меня зовут Михаил, я SDET-специалист компании SimbirSoft. Я занимаюсь автоматизацией тестирования, в основном это работа с WEB и REST API, но на последнем проекте применял SOAP. Мне приходилось работать с сообщениями этого протокола, а именно:— выполн...

35 лет DNS, системе доменных имён В 1987 году произошло много событий, так или иначе повлиявших на развитие информационных технологий: CompuServe разработала GIF-изображения, Стив Возняк покинул Apple, а IBM представила персональный компьютер PS/2 с улучшенной графикой и 3,5-дюймовым дисководом. В это же вр...

Обход блокировок: настройка сервера XRay для Shadowsocks-2022 и VLESS с XTLS, Websockets и фейковым веб-сайтом Предыдущие статьи серии:"Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria и все-все-все""Программы-клиенты для протоколов недетектируемого обхода блокировок сайтов: V2Ray/XRay, Clash, Sing-Box, и другие".С протоколами разобрались, с клиентами разобрались...

Будущее евгеники: в Германии создали прототип первой в мире «искусственной матки» Биотехнологи из Германии разрабатывают прототип первого в мире оборудования для искусственной матки, которая позволит вам выбирать характеристики своего будущего ребенка из меню, как в какой-нибудь RPG.Планируется выращивать так до 30 тысяч детей в год. Проект называется Ect...

Автоматизируем Telegram-канал с AWS Lambda и DynamoDB В этом материале вы узнаете, как создать Telegram-канал, который будет сам обновляться, получая данные из открытых источников. Используем Python, AWS Lambda, DynamoDB и BeautifulSoup. Читать далее

Что нового в обновлении 0.8.3 для CarX Street? CarX Street — пока что чисто мобильная игра, доступная по всему миру на iOS. Разработчики обещают, что как только решат критические проблемы, то выпустят проект и на Android. Также они собираются обратную связь по iOS-версии, и выпустили обновление 0.8.3. В нём в CarX Stree...

Джон Маккарти: открытия и наследие создателя термина «Искусственный интеллект» Ученый и новатор Джон Маккарти придумал термин «Искусственный интеллект», создал язык программирования Lisp и разработал концепцию разделения времени. В этой статье мы отследили путь Джона Маккарти от юного энтузиаста математики до титана компьютерной науки, чье наследие про...

10 инструментов ИИ с бесплатным тестовым доступом, которые пригодятся в работе В этой статье собрано 10 инструментов на основе искусственного интеллекта, большинство из которых просты в использовании и бесплатны для тестирования.Всем привет! Меня зовут Маруся, я аналитик данных, веду блог в телеграме Аналитика и growth mind-set.Практически все инс...

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

[Перевод] Воссоздаем старую компьютерную графику с помощью генеративных моделей Могут ли современные алгоритмы создавать улучшенные версии старой графики видеоигр с более высоким разрешением?Последние несколько дней я использовал ИИ-генерацию изображений для воспроизведения одного из кошмаров моего детства. Я использовал Stable Diffusion, Dall-E и Midjo...

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

Цифровой рентген: реверсировал, реверсировал, да и выреверсировал Весной 2022 о заморозке своей деятельности на территории РФ заявили основные мировые производители программного обеспечения для компьютерной томографии (КТ). От "хорошей" жизни нам пришлось запустить проект разработки собственного КТ‑реконструктора совместно с командой ...

Выпускные проекты наших «бауманцев» Новая порция выпускных проектов, на этот раз — студентов нашего образовательного проекта в МГТУ им. Баумана. Ребята сами опишут свои разработки, а посмотреть видео с защиты можно здесь. Если вы хотите попасть на учебу в образовательные центры VK, информацию об открытых набор...

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

[recovery mode] Tensorflow: Используем трансферное обучение для классификации пневмонии и оптимизируем нашу модель Привет, Хабр! На связи Рустем, IBM Senior DevOps Engineer & Integration Architect.Сегодня мы будем работать с открытым набором данных по рентгенографии грудной клетки которые, использовали для этого исследования, с предварительно обученной моделью MobileNet_v2 для класси...

Две беды: дороги и полнота данных. Считаем протяженность дорог родины по данным OpenStreetMap Зачем же обычному человеку информация из прошлой публикации "Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap"? Если надоело в пятницу читать мемасики и лайкать фотографии котиков в соцсетях, то можно задаться глобальными проблемами аналитики и посчитать ...

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

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

Как создать эвристический алгоритм онлайн-мастеринга и получить предупреждение от RIAA Добрый день, меня зовут Сергей. В своей статье я бы хотел осветить тему аудио мастеринга, а именно: автоматизированного онлайн-мастеринга музыки.Я расскажу о своём пути от продюсера психоделического транса до мейнтейнера самой популярной open source библиотеки автоматизирова...

Как организовать конференцию без опыта Я работаю дизайнером в Тинькофф, и недавно мы провели конференцию #FFDD2D о дизайне и продуктах. Я была одним из организаторов. Это был первый такой опыт для меня, и теперь я хочу рассказать о нем. Скорее всего, рассказ будет полезен для вас, если вы работаете в большой комп...

Отгадай слово: как мы создали игру с элементами машинного обучения и вышли в ноль за 2 месяца Как думает искусственный интеллект? Попробовать разобраться в его логике можно в игре от менторов AI Talent Hub и студентов ИТМО «Отгадай слово». За два месяца в нее сыграли уже более 107 тысяч уникальных пользователей, а количество подписчиков одноименного телеграм-канала у...

Какой язык программирования выбрать? Часть 1. Rust Какой язык программирования выбрать? Открываем серию статей об этом! Наши разработчики будут рассказывать об особенностях, применении, плюсах и минусах языков, которые используются в «Криптоните». Начинаем с Rust: опытом поделится Андрей Чесноков, ведущий системный программи...

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

Изучаем PostgreSQL. Часть 1. Знакомимся с архитектурой  На сегодняшний день существует большое количество различных систем управления базами данных - СУБД, от коммерческих до открытых, от реляционных до новомодных NoSQL и аналогичных.Одним из лидеров направления СУБД является PostgreSQL и ее различные ответвления, о некотор...

Tutorial по стандартному и нестандартному обмену сайта с 1С. Часть первая: стандартный обмен и его хитрости В жизни наши желания часто расходятся с нашими возможностями. Приходится искать компромисс. Так происходит и при интеграции интернет-магазинов с 1С. Хочется реалтайма, интеграции с программой лояльности, полного отсутствия коллизий и омниканальности (простите).Мы решили...

Ruby под нагрузкой, или Как поменять Puma на Falcon за неделю до релиза Всем привет! Меня зовут Александр Шерман, я тимлид в команде CRM в Самокате. Мы в первую очередь известны по своей модели доставки заказов от 15 минут. Чтобы укладываться в такой норматив, у нас достаточно жёсткие SLA (2,5 минуты на сборку заказа), что, в свою очер...

Что такое фаззинг и зачем он нужен? Всем привет! Меня зовут Кирилл, я старший разработчик в группе «Полигоны и ограничения доставки» в Ozon. Cегодня я расскажу про фаззинг, встроенный в Go: что это такое, зачем он нужен в разработке программного обеспечения и как с его помощью найти баг в дикой природе open-so...

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

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

Сравнение экономики в Eve Online и в реальности Мы, студенты Казанского техникума информационных технологий и связи Канев Даниил и Будник Илья под кураторством преподавателя экономики Маннаповой Диляры Фирнандовны приняли решение рассмотреть экономическую часть игры Eve Online и сравнить её с настоящей экономикой.EVE Onli...

7 килограммов портативности, или ноутбук Amstrad ALT-386SX из 1988 года. Часть 2 — разбираем убердевайс Привет, Хабр! В первой части статьи о ноутбуке из 1988 года, который весит 7 кг я знакомил вас с его историей. Напомню, что девайс не включается. Делает попытки включиться, мигает светодиодами, включая Caps Lock, Scroll Lock и т.п., шумит иногда кулером, но сразу выключает...

Исследование нагрузки на ELK stack и тюнинг Logstash Всем привет! Меня зовут Александр, и в этой статье я расскажу про то, как столкнувшись с многократно увеличившейся нагрузкой на ELK stack сначала было диагностировано узкое место, а после произведён его тюнинг. Хоть и в заголовке статьи уже есть спойлер что произведен только...

Новенькое с WWDC23: Отчёты о тестировании и аудит доступности Вот и закончилась очередная конференция Apple WWDC23, на которой ребята из Apple рассказали об изменениях Xcode и Swift. Поговорим о фичах Xcode 15, которые помогут добавить accessibility в приложение и поддерживать ваши тесты зелеными. Читать далее

[Перевод] 12 методик, которые помогут создавать приложения на Flutter легко и просто Hola, Amigos! На связи Саша Чаплыгин, Flutter-dev. В этой публикации вы познакомитесь с методиками для разработчиков Flutter, которые помогут вам улучшить качество программного кода, его читаемость, простоту и эффективность. Будет полезно почитать Flutter-разработчикам всех ...

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

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

Мой декабрь и не только - 3д миниатюры для настольных игр и полки Приветствую!Этим зимним снежным днём решил поделиться, что у меня есть в декабре.В предыдущей статье я рассказывал о своём проекте и краудфандинг кампании, вскользь упомянув о наградах для участников, помимо собственно миниатюр Allies vs Horcs. Так что сегодня речь пойдёт пр...

Работаем с Zigbee-устройствами через Zigbee2mqtt и Node-RED В первой статье «Облачный умный дом: что нужно знать, чтобы избежать проблем» я рассмотрел преимущества и недостатки облачных решений, а также проблемы, с которыми за последние месяцы пришлось столкнуться пользователям разных облаков. Затем я перешел к практике: приобрел нес...

Google, Apple и Mozilla разрабатывают новый бенчмарк для браузеров Google, Apple и Mozilla договорились о совместной разработке нового инструмента для тестирования скорости работы браузеров. Проект называется Speedometer 3, он должен помочь оценить производительность браузеров с разных точек зрения. Новая система должна имитировать об...

Linux на смартфоне: считываем показания сенсоров и программируем «Куб времени» в Node-RED И снова привет! В прошлом уроке мы посмотрели проект для смартфона “Погодная станция”. Сегодня будем делать более сложный проект: “Куб времени”. Это устройство для тайм-менеджмента, которое поможет вам вести лог собственных занятий и знать, сколько времени вы тратите на рабо...

Как решать реальные задачи при помощи ChatGPT Всем привет! На связи Андрей Нестеров, я занимаюсь компьютерным зрением в  применении к мобильным приложениям в компании Friflex. Мы создаем мобильные приложения по оцифровке спорта, которые позволяют распознавать спортивные события и анализировать их. В этой ...

Как мы быстро запустили мобильное приложение и споткнулись о свой успех Привет, Хабр! Мы крупная производственная компания с 50К+ сотрудников, и в 2019 году поняли, что нам нужно мобильное приложение. Срок реализации 5 месяцев. Какой стек вы бы выбрали при такой скорости? Мы выбрали нативные Kotlin и Swift. Поначалу запилили всего 6 сервисов (но...

Три круга приемочного тестирования или законная эксплуатация заказчиков в B2B Технологии Agile, Scrum и CI/CD становятся общепринятой нормой, и нам уже кажется, что новые релизы всегда можно выпускать постоянно, практически непрерывно. Технически, сейчас действительно есть реальная возможность выкатывать обновления каждый день, а некоторые разработчик...

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

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

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

Виртуальная карта впервые в Telegram: почему это удобно и безопасно Привет, Хабр. Меня зовут Михаил Добровольский, я руководитель портфеля проектов в МКБ, и сегодня расскажу, как мы реализовали выпуск виртуальной банковской карты в Telegram.Наверняка все заметили, что мы стали проводить все больше времени в мессенджерах, в частности в Teleg...

[Перевод] Starting Electronics: руководство по веб-серверам на Arduino. Часть 6. Автоматическое AJAX взаимодействие с веб-сервером От переводчика. На шестом уроке мы добрались до практически полезного кода — с его помощью можно создать работающий пример «бесшовного» автоматического взаимодействия между клиентом (страницей в веб-браузере) и Arduino веб-сервером, который передаёт данные о состоянии подк...

Математическая продлёнка. Из чего сделаны Пифагоровы штаны Поводом для написания этой заметки послужила новость, облетевшая мир 18 марта этого года: две школьницы из Нового Орлеана, Кальцея Джонсон и Не`Кия Джексон «впервые доказали теорему Пифагора», опираясь на теорему синусов. В России эту новость встретили с иронией и стёбом, но...

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

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

ИИ, нейросети и высоконагруженные системы: чему VK и ВШЭ учат студентов Привет, Хабр! Меня зовут Анна Степанова, я директор по образовательным проектам в VK. Недавно мы совместно с Высшей школой экономики создали Инженерно-математическую школу (ИМШ). Цель ИМШ — дать студентам IT-специальностей возможность познакомиться с реальными исследовательс...

Централизация логирования микросервисов с Graylog Трассировка и анализ ошибок в микросервисной архитектуре без средств централизации логирования обычно причиняет неудобства, поскольку для понимания “что и на каком микросервисе умерло” приходится обходить микросервисы по очереди, сверять и сопоставлять данные в логах. В данн...

Hashmap по версии Golang вместе с реализацией на дженериках Привет. Сегодня рассмотрим такую интересную структуру данных как hashmap, а именно ее реализацию в Go. Вкратце разберем что такое hashmap, как это выглядит под капотом Go 1.19. Посмотрим отличия реализации с Java и Python. Реализуем hashmap из под капота с помощью дженериков...

Как ускорить сайт на WordPress за 15 шагов Оптимизация скорости сайта на WordPress — одна из тех тем, которые, казалось бы «перекопаны» вдоль и поперек, но продолжают вызывать постоянный интерес. И, если задуматься, это совсем неудивительно. WP остается самой популярной CMS, на которой работает более 43% сайтов. Техн...

Как бесплатно запустить Windows на Mac M1/M2 (Apple Silicon) В статье описана инструкция по установке Windows внутри MacOS. Читать далее

PVS-Studio 7.23: плагин Qt Creator 9 и не только Вышел новый релиз PVS-Studio — 7.23. В нём мы улучшили поддержку Qt Creator, увеличили стабильность работы PVS-Studio Java, решили проблемы при анализе проектов, использующих NMake, добавили ряд новых диагностик и многое другое. Подробности в этой заметке. Читать далее

Используем Objective-C в C++ без проблем Интегрируем Objective-C код из Apple SDK в C++ проект, без переписывания всего проекта на Objective-C++, с использованием PIMPL идиомы. Также, сборка всего проекта вместе с использованием Makefile и CMake (для генерации .xcodeproject). Читать далее

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

Как настроить простой DNS-сервер для локальной сети Если вы впервые столкнулись с необходимостью поднять DNS-сервер для локальной сети под Linux, то эта статья – для вас. Преимущество предлагаемого способа – простота: сервер можно настроить буквально за несколько минут. Но этот способ, скорее всего, не подойдёт для продакшн с...

Механическая клавиатура AKKO 5075S + моддинг Рассмотрим замечательную механическую клавиатуру Akko 5075S и внутренний мир аналогичных девайсов, выполним модернизацию клавиатуры, смажем переключатели, поставим керамические «колпачки» и разберёмся почему некоторые клавиатуры «токают». В конце обзора добавил саундтест.Под...

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

[Перевод] Создаем сервис для Serverless перевода голоса, как в Cyberpunk 2077 На днях мне наконец-то удалось поиграть в Cybperunk 2077, и я заметил, что в игре есть одна интересная особенность: Когда персонаж говорит на иностранном языке, текст сначала появляется над ним в оригинале, а затем как бы вживую переводится на английский.Тогда я задался вопр...

Boson — разработка СУБД «с нуля» (часть I) После разработки виртуальной машины и компилятора в рамках хобби прошел год и захотелось попробовать реализовать ёмкий по алгоритмам проект по системному программированию. Каждый разработчик "кровавого" enterprise в своей работе использует СУБД (SQL/NoSQL) и меня всегда искр...

Сайт, целиком написанный OpenAI Да, про эту нейросеть сейчас слышно отовсюду, как она пишет текста песен, сдает экзамены, пишет куски кода, но я подумал, а сможет ли она сама целиком завершить проект под моим руководством? Читать далее

[Перевод] Вот что я нагуглила за неделю в качестве старшего инженера-программиста Три года назад разработчик Софи Кунин* опубликовала пост под названием «Вот что я нагуглила за неделю в качестве профессионального инженера-программиста», и он явно нашел отклик у читателей, поскольку стал довольно вирусным. За эти три года многое произошло. Софи повысили, т...

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

UNIGINE 2.16.1 — Screen-Space Haze Global Illumination, улучшенный API импорта, усовершенствования для VR Почти под ёлочку состоялся минорный релиз 2.16.1, который, однако, содержит пару крутых фичей - например, SSHGI (глобальное освещение дымки в экранном пространстве), добавляющее сразу +100 к атмосфере и возможность из любой сцены сделать Сайлент Хилл. А еще мы усовершенствов...

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

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

Visiology обновила BI-платформу Платформа Visiology 2.30 отличается от предыдущей версии улучшенными возможностями фирменной утилиты Visiology для ручного ввода данных. В новой версии SmartForms обеспечивает контроль заполнения обязательных параметров, не дает отправить формы с пустыми ячейками.

Эчар… как много в этом слове Статья об этапах подбора ИТ персонала, глазами кандидата.Вряд ли тут будет что-то новое для большинства читателей, скорее просто легкое чтение и возможность вспомнить свои истории при общении с HR. Читать далее >>

Тонкости C++: итак, вы объявили класс… Во время работы наша команда постоянно сталкивается с некоторыми особенностями языка, которые могут быть неизвестны рядовому C++ программисту. В этой статье мы расскажем о том, как работает, казалось бы, обыденная вещь – forward-декларации классов. Читать далее

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

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

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

[Перевод] Как мы обновили старый кластер Elasticsearch на 3 ПБ без простоев. Часть 4 — токенизация и нормализация Прим. переводчика: автор статьи рассказывает, как его команде удалось оптимизировать временные и ресурсные затраты при токенизации текстов в Elasticsearch путем внедрения нормализации похожих символов.Это четвертая часть серии статей об обновлении кластера Elasticsearch...

Архитектура PostgreSQL. Часть 1. Цикл сервера Продолжаем изучать исходный код PostgreSQLВ этот раз исследуем главный цикл сервера:- Принятие входящих подключений;- Проверка окружения;- Обработка упавших воркеров. Читать далее

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

PVS-Studio и protobuf-net: лучшие предупреждения в один клик Разбираем best practice знакомства с PVS-Studio. Покажем быстрый старт работы с анализатором на примере проекта protobuf-net. Читать далее

[Перевод] Что ждёт Flutter в будущем О чём говорили на конференции Flutter Forward в Найроби: перевод статьи с комментариями разработчиков Surf. Читать далее

Как устроены интернет-платежи в Dodо Одно из направлений разработки в Dodo — интернет-платежи. Для компании это скорее утилити-функция, чем основной бизнес, но всё же нам приходится делать кучу всего, чтобы дать клиентам лучший UX и у нас накопился опыт, которым хочется поделиться.Меня зовут Дмитрий Кочнев, я р...

Страх и ненависть в переговорке: курим VideoSDK API, Vosk и Python Сегодня поговорим о кастомных решениях для видеоконференцсвязи (далее — ВКС) с минимальными затратами человеко-часов и финансов на их создание. Я параноик Брать готовый open-source – меня не устраивает, всем известны случаи встраивания bad code в проекты с открытым исходным ...

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

[Перевод] 5 неочевидных возможностей FastAPI: упрощаем работу с бэкендом на Python Почти все, с чем мы сталкиваемся в интернете, имеет отношение к API, а точнее к версиям этого программного интерфейса, использующим для работы HTTP-запросы. Когда мы хотим узнать прогноз погоды, интерфейс браузера или мобильного приложения вызывает API Яндекс.Погоды или API ...

Приколы с ChatGPT: обмануть или быть обманутым Привет, Хабр! В этой статье я написал про ошибки и приколы, с которыми я столкнулся за пару дней использования ChatGPT. Сразу оговорюсь — таких жёстких примеров, как на картинке, у меня не было. Но были даже более интересные! Читать далее

Как спроектировать умный дом с Алисой: опыт реализации и «нащупанные» подводные камни. Часть 2 Привет! На связи Роман Люкшин, системный эксперт‑аналитик в компании «БАРС Груп». В рабочее время я помогаю создавать ИТ‑решения в сфере строительства, ЖКХ и соцзащиты. А в свободное — совершенствую систему «умный дом», созданную собственны...

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

Как мы создавали мобильное приложение «Х5 Недвижимость», или любовь не с первого касания Привет, Хабр! Я Дмитрий Сыровнев, руководитель команды мобильного приложения «Х5 Недвижимость». Когда я рассказываю, чем я занимаюсь, то люди задаются вопросом: где Х5 Group, а где, собственно, строительство и недвижимость?  Отвечаю: X5 Group – это не только магазины «П...

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

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

Топ-10 ошибок, найденных в C#-проектах за 2022 год За 2022 год разработчики PVS-Studio написали много статей, в которых рассказали об ошибках, найденных в различных Open Source проектах. Пришло время подвести итоги и представить десяток самых интересных срабатываний. Читать далее

Google представила нейросеть MusicLM – она создает музыку по текстовому описанию или картинкам Доступ к проекту пока открывать не будут

Как я проходил собеседования на Machine Learning Engineer Это статья с 21-ой ссылкой о подготовке к собеседованиям. Я собеседовался на позиции Machine Learning Engineer. Разобрал основные этапы (алгоритмы, machine learning system design, поведенческий этап) и как к ним готовиться. Читать далее

C# и обработка медиафайлов средствами FFmpeg, Pandoc и ImageMagick Приветствую читатели, в этой статье я бы хотел рассказать о написанной мной OpenSource библиотеке MediaFileProcessor под платформу .NET (.netstandart 2.0). Читать далее

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

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

Как работают text2image модели? Вы, наверное, слышали про dalle-2, midjourney, stable diffusion? Слышали о моделях, которые по тексту генерируют картинку. Совсем недавно они продвинулись настолько, что художники протестуют, закидывая в стоки картинки с призывом запретить AI, а недавно, вообще, в суд подали...

Генератор эмбеддингов: как провести качественный анализ метрик сотрудников без прямого доступа к персональным данным Привет, Хабр! Меня зовут Роман, я работаю в Сбере в блоке HR исследователем данных. Мне и моим коллегам часто приходится иметь дело с персональными данными сотрудников (далее ПДн). А получить допуск к использованию этих данных в различных контурах банка очень непросто: в Сбе...

Пентест. Думаем как злоумышленник Часть 1. Угрозы извне О тестировании на проникновение написано уже немало книг и статей. Эта тема становится все актуальнее с каждым новым инцидентом ИБ. Злоумышленники проникают в сети различных организаций с целью прямого хищения денег с счетов (банки, финансовые организации), атак на отказ в о...

Подготовка инженеров АСУТП в ВУЗе. Часть 1 — Прошлое Это первая из трех частей, описывающих развитие процесса обучения инженеров АСУТП. Целью всех трех статей является попытка осмыслить подготовку инженеров АСУТП в ВУЗе (какая была, и какая есть сейчас), и обсудить с сообществом хабра, какой она должна быть в будущем. Каким об...

Запускаем Vagrant на MacOS Apple M1/M2 Очень часто в разработке возникает необходимость поднять локальное окружение для отладки каких-либо рабочих моментов. В своей работе я постоянно пользуюсь Vagrant для тестирования инфраструктурного кода, например ansible-ролей.Vagrant остаётся одной из самых популярных утили...

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

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

Ценный QA Automation – кто он на самом деле? Загадка от Жака Фреско Всем привет! Меня зовут Иван и я Head of QA Automation в Skyeng. Я регулярно занимаюсь обучением Manual QA и менторством начинающих QA Automation (далее – QAA) и часто слышу от падаванов вопрос: «А как же мне, собственно, стать QAA?»Вопрос многогранный. В статье хочу поделит...

[Перевод] Полное руководство по модулю asyncio в Python. Часть 7 Публикуем седьмую часть (1, 2, 3, 4, 5, 6) перевода руководства по модулю asyncio в Python. Здесь представлены разделы исходного материала с 17 по 19. Читать далее

Ещё одна подборка книг по QA Вторая часть подборки материалов от QA для начинающих специалистов (и не только). Под катом квалификационные требования, практические пособия и классика книг по тестированию. Читать далее

Системы ИИ в p2p-формате: будущее ChatGPT, Midjourney, Copilot Герои статьи для себя сделали иллюстрацию Последние несколько месяцев оказались богаты на новости о системах искусственного интеллекта. Тематические площадки и видеохостинги заполнены контентом про ChatGPT и Midjourney; разработчики делятся примерами кода, созданного ИИ-по...

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

[Перевод] Инжиниринг исходящего трафика с Edge Fabric. Часть 1 Крупные поставщики контента создают точки присутствия по всему миру, каждая из которых подключена к десяткам или даже сотням сетей. В идеале такая сетевая доступность должна позволять провайдерам обслуживать пользователей лучше, но провайдеры не...

High Availability, High Load Продолжаем делиться конспектами Алексея Барабанова, IT-директора «Хлебницы» и спикера курса «RabbitMQ для админов и разработчиков». На этот раз обсудим специфику работы RabbitMQ с высокими нагрузками (High Load) и обеспечением высокой доступности (High Availability). Рассмот...

Качайте азиатскую версию Earth Arrival в сеттинге киберпанка Earth Arrival — симулятор выживания с полноценным сюжетом, озвученными диалогами, созданием аватара и перестрелками в духе The Division и Mass Effect. Игру запустили на iOS и Android в трёх странах: Тайвань, Макао и Гонконг. Мы ожидаем, что в ней имеется английская локализац...

[Перевод] Введение в математическую оптимизацию на примере компании Recruit. Часть 2 Это серия статей о том, что такое математическая оптимизация, и как она может быть применена в бизнесе на примере компании Recruit. В данной статье рассказывается о мышлении и ключевых моментах при использовании математической оптимизации для решения одной из самых важных п...

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

Всё о визах в Таиланд в 2023 году От “А” до “Я” о визах в Таиланд: виды, стоимость, нюансы. Всем привет! Я – Женя, как-то я прилетела в отпуск в Таиланд и осталась тут жить. За это время я делала 3 визы и сейчас в процессе получения 4 – Elite visa. В статье расскажу обо всех тонкостях, связанных с получ...

А у нас опрос: как применять технологии ChatGPT в агросфере Искусственный интеллект проникает во многие сферы жизни. Своё применение эта технология нашла и в сельском хозяйстве. Одним из перспективных для аграриев инструментов является ChatGPT — это генеративная модель искусственного интеллекта, которая используется для автоматизации...

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

Бесплатный мультиязычный чат для сайта на Tawk + Notion + Telegram + chatGPT + GPT-Index Вы хотите общаться с посетителями сайта на всех языках и при этом чтобы вам помогал обученный на вашей базе знаний chatGPT?Я следил за различными видами использования chatGPT с момента его выхода. Предлагаемое в статье решение я еще не встречал и поэтому думаю оно будет кому...

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

Viking Rise позволит создать цивилизацию викингов Viking Rise — мобильная стратегия, в которую можно поиграть на Android. Список стран вы найдёте в предыдущей новости. К слову, разработчики показали 5-го декабря, какими функциями и геймплейными фичами обросла их игра. Так, геймерам предстоит добывать несколько ресурсов для ...

Устройство 64-битных счётчиков транзакций в Postgres Pro Enterprise Эта статья описывает реализацию 64–битных счётчиков транзакций (XID, ксидов) в СУБД Postgres Pro Enterprise, которая создана на основе свободной, опенсорсной объектно–реляционной СУБД Postgres. Она ориентирована на тех, кто имеет практический опыт в работе с СУБД Postgres Pr...

Python для детей До того, как стать преподавателем в университете, я вёл программирование в детском технопарке Кванториум. Это такой центр дополнительного школьного образования куда дети приходили после уроков и изучали программирование, робототехнику, биологию и т.д. Конкретно я вёл занятия...

Роботрон. Как восстановить клавиатуру из 1987г. для чайников Очень давно на Хабре мною была прочитана статья о механических клавиатурах, свичах их разновидностях и всём таком. Естественно мне захотелось причаститься к секте кнопкопоклонников и сделать свою также для себя же. Но вместе с тем я не хотел кидаться с места в карьер неизве...

Илон Маск планирует создать улучшенную версию ChatGPT Миллиардер раздумывает над разработкой нейросети-аналога знаменитого чат-бота "ChatGPT" от американской компании "OpenAI".

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

Российские дилеры предложили создать закон об автобизнесе Как сообщают «Ведомости», ассоциация «Российские автодилеры» (РоАД) предложила премьер-министру РФ Михаилу Мишустину создать закон об автобизнесе. В письме, с копией которого ознакомились «Ведомости», говорится, что действующее законо...

Рецепт красивого бабаха. Три составляющих хорошего силового преобразователя. Часть 2 У вас есть симпатичная плата силового преобразователя? Тогда мы идём к вам! Давайте взорвём его! На картинке источник питания и «всё что осталось после нашей с ним работы». Приветствую. Это вторая часть статьи о трёх составляющих преобразователя. Сегодня доберёмся до некото...

Honor набирает добровольцев из числа пользователей флагманов Magic V, Magic3 и Honor V40 для тестирования MagicOS 7.0 Honor сообщила о начале этапа публичного бета-тестирования прошивки MagicOS 7.0 для пяти моделей своих смартфонов: Magic V, Magic3, Magic3 Pro, Magic3 Pro+ и Honor V40. В Китае пользователи этих моделей могут присоединяться к большой тестировочной команде с 23 декабря ч...

Разбор баланса My Mini Mart Привет! Недавно поиграл популярный (50+M скачиваний в GooglePlay) гипер-кэжуал проект My Mini Mart от компании Supersonic Studios LTD и очень мне захотелось разобраться в своих противоречивых эмоциях от этой игры. С одной стороны, просто — не значит плохо, да и геймплей мест...

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

TAPE: первый бенчмарк для few-shot оценки языковых моделей на русском языке Мы в SberDevices обучаем и оцениваем языковые модели для русского языка уже давно — так, например, за два года существования бенчмарка Russian SuperGLUE через его систему оценки прошли более 1500 сабмитов. Мы продолжаем разрабатывать инструменты для русского языка и в этой с...

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

[Перевод] Введение в архитектуру Greenplum В этой статье поговорим о Greenplum — СУБД, основанной на PostgreSQL. Разберём её общую архитектуру, способы хранения данных, а также перечислим проблемы, с которыми можно столкнуться в ходе эксплуатации. Читать далее

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

Архитектура PostgreSQL. Часть 3. Инициализация бэкэнда Приветствую!На прошлом шаге мы дошли до входной точки Postgres. Сегодня мы пройдемся по ней до главного цикла. Будут рассмотрены:— Модули для работы с файлами и файловой системой— Как SIGUSR1передает множественные значения— Реализации хэш‑таблиц...

[Перевод] Продолжение о типах кабелей USB-C: переходники вне стандарта Давайте будем откровенны — одних только кабелей USB-C — USB-C недостаточно. Существует и много других видов, которые могут потребоваться в повседневной жизни, пока в нашем обиходе присутствуют устройства без разъёма USB-C. Однако в спецификации учитываются далеко не все тип...

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

Как получить доступ к chatGPT в России Всем привет! Перед началом статьи сразу скажу:САМЫЙ ВАЖНЫЙ ДИСКЛЕЙМЕР: естественно, покупая смс на чужой номер вы полностью компрометируете безопасность своего аккаунта. Мало ли кто его потом еще купит для получения доступа. Поэтому, помните, что представленный в данной стат...

Ямадзаки Сюмпэй: история самого плодовитого японского изобретателя новейшего времени Сюмпэй (иногда встречается написание Шунпей) Ямадзаки — японский изобретатель, родившийся в 1942 году. Он до сих пор управляет своим бизнесом и изобретает до сих пор. Сейчас изобретателю-рекордсмену около 80 лет, но он продолжает развивать свою компанию, следить за современн...

13 лет игре Angry Birds: история успеха В середине 2009 года небольшая компания Rovio из финского города Эспоо находилась на грани банкротства. Сотрудники штудировали сайты с вакансиями, а учредители искали средства, чтобы закрыть долги по зарплатам. В один из дней гейм-дизайнер Яакко Иисало разослал коллегам по ...

ESP32 отладка с помощью JLINK Здравствуйте друзья, я хочу поделиться с вами своим опытом в отладке ESP32 с помощью отладчиков, реализующих интерфейс JTAG. Данная задача кажется тривиальной (она такая и есть), при мысли об программировании микроконтроллеров. Но при старте работы с микроконтроллерами ESP32...

Home Assistant: Яндекс Алиса говорит, какие окна у вас не закрыты В этой статье разберемся, как в Home Assistant составить красивую фразу на основе статусов сенсоров и передать её в TTS на примере колонки Яндекс. Читать далее

Электрификация сельских районов в Африке: кейс создания солнечного микрогрида Попалась на глаза любопытная статья об электрификации сельских районов в Африке на примере общины с очень выразительным для русского уха названием Йебу (Yebu) [1]. Поскольку это явный пример освоения "неудобий", о которых мы часто пишем в развитие концепции геоклиматических ...

Пишем API автотесты на TypeScript + Playwright В данной статье мы разберем, как писать API автотесты на языке TypeScript + Playwright. Читать далее

[Перевод] C++ по итогам 2022-го Должен признать, что в некоторые из предыдущих лет C++ мог ощущаться немного «скучным» и «стабильным». Новые фичи, новый стандарт каждые три года, встречи, конференции... обычная жизнь (не считая некоторых дополнительных событий с в мире, экономике и эпидемиологической ситуа...

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

Merge Fantasy: Dungeon Master можно предзаказать Merge Fantasy: Dungeon Master — мобильная игра, которую выпустят на Android. Пока геймеры могут предзаказать её и ждать бета-тест или пробный запуск в этом году. Разработчики из студии Springcomes описывают её как стратегию с объединением одинаковых персонажей, чтобы получит...

5 неочевидных способов улучшить иностранный язык с помощью ChatGPT Кто-то просит нашумевшего чат-бота сгенерировать код, кто-то — написать песню в стиле The Queen. Ну а я — как лингво-коуч и гик — решила упороться и посмотреть, поможет ли нашумевшая система OpenAI прокачать иностранный язык. Спойлер: очень даже.Протестировала на себе нескол...

Как фронтендеры приручили микросервисы и перестали беспокоить бэкендеров Привет Хабр! Меня зовут Евгений Лабутин, я фронтенд-разработчик в МТС Digital. Расскажу вам о том, как мы приручили микросервисы на нашем проекте МТС Твой бизнес, зачем они нам вообще понадобились и какую выгоду мы от этого получили. Интересно? Добро пожаловать под кат! Чи...

Зачем Clojure Flutter ”Если вам нравятся Руби, Свифт, Дарт, Эликсир, Эльм, С++, Питон или даже С, используйте их ради бога. Но выучите Кложур, и выучите его хорошо” — Дядя Боб (твит, а также твиты: 1, 2, 3).Статей о Clojure написано много, цель этой — дать свое видение некоторых преимуществ языка...

Unity 2022.2 продолжает интеграцию async await В Unity 2022.2 был сделан ещё один небольшой шаг в сторону поддержки async-await, анонсированный еще в мае 2022 года в статье https://blog.unity.com/technology/unity-and-net-whats-next. В UnityEngine.MonoBehaviour было добавлено свойство destroyCancellationToken, которое поз...

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

Нестареющий Том Круз поблагодарил фанатов «Топ Ган: Мэверик» во время прыжка с парашютом. Фильм собрал около $1,5 млрд Голливудский актер Том Круз, которому летом исполнилось 60 лет, подаёт пример своим более молодым коллегам по цеху, продолжая выполнять множество трюков на съёмках фильмов. Несколько часов назад в YouTube появился видеоролик, в котором Том Круз обратился к поклонникам и...

Что под капотом у Leak Canary? LeakCanary – библиотека, позволяющая находить утечки памяти во работы приложения в фоновом режиме. При всем при этом, со стороны клиента ничего делать не нужно. Просто указал либу в зависимостях Gradle, и она сама начинает работать. Естественно инженерное любопытство за...

Разница между debounceTime и throttleTime В этой статье я хочу рассказать тонкую разницу между операторами debounceTime и throttleTime простыми словами Читать далее

[Перевод] Запуск Stable Diffusion локально и в облаке с помощью Diffusers и dstack Вероятно, все уже слышали о Stable Diffusion - модели, способной создавать фотореалистичные изображения на основе текста. Благодаря библиотеке diffusers от HuggingFace, использование этой модели очень просто.Однако организация проекта и зависимостей для его запуска независим...

Домашняя лаборатория Угадай данную статью написал ChatGPT или нет?Хотите потестировать приложение, или опробовать в работе инструмент? В этой статье опишу то, как организовал тестовый стенд на Linux. Стенд поддерживает работу с доменами, умеет генерировать TLS сертификаты, легко масштабируется, ...

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

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

Установка в Alt Linux специализированного ПО, защищенного ключами Guardant, на примере ГосСтройСмета В своей предыдущей статье (Настройка Linux для инженера-ПТО/инженера-сметчика ч.2), которая тепло была принята в профессиональном сообществе, я рассказывал о том как подготовиться инженеру строительного производства к офисной работе в операционной системе Linux. Отечествен...

Как я написал книгу по Java Статья о том, как я написал и полностью довёл до издания мою первую книгу по Java, про что эта книга, какие у неё особенности и где можно её купить. Приводится список глав с кратким описанием их содержания. Читать далее

[Перевод] Jenkins Scripted Pipeline: как использовать «Pipeline-as-code» — принцип, который позволяет Jenkins обрабатывать пайплайны как обычные файлы. Существует два способа описания пайплайнов: скриптовый и декларативный. В этой статье поговорим о Jenkins Scripted Pipeline: проанализируем его структуру и разберём варианты исп...

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

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

Как писать конспекты на компьютере быстрее, чем от руки, при помощи VS Code Привет всем!В этой статье говорится о том, как я конспектирую на компьютере, а точнее описываются способы ускорения набора LaTeX-овского текста. Читать далее

Зачем мы моделируем импульсные нейронные сети и с помощью чего это делаем Привет, Хабр! На связи Михаил Киселев, руководитель направления в отделе ИИ компании «Цифрум» (Росатом) и руководитель лаборатории нейроморфных вычислений в Чувашском государственном университете. Сегодня подниму тему импульсных нейронных сетей. Общее представление о том, чт...

Про Inbox, веселые легаси и динамические микрофронты Наш Альфа-Банк прекрасен. Мы его очень любим, но он такой большой-большой, разнообразный и сложный. Думаю, никого не удивил :) Наш ИТ-ландшафт содержит великое множество всякой «флоры и фауны», с которой необходимо считаться. То тут, то там, из глубоких Enterprise джунглей н...

[Перевод] Чистый код: как писать код, который легко читать Для начала мы обсудим, зачем вам вообще может понадобиться писать более читаемый, а не краткий код. Затем мы рассмотрим стратегии, как это делать в случае: Именования переменных, классов и функций Вспомогательных функций Комментариев к коду Перечислений/словарей/запечатанн...

Claim-based авторизация на PL/pgSQL Статья о создании супергибкой системы проверки прав к ресурсам на основе клэймов и политик. В свое время был вдохновлен реализацией Claims‑based authorization in ASP.NET Core, но нужно было на Node.js (а теоретически на любую плат...

Weak Pass Detector – запрет на использование утекших паролей в контроллере домена Всем привет! Меня зовут Иван Нагорнов, я руководитель направления в Лаборатории кибербезопасности Сбербанка. В данной статье будет сделан обзор и предложение к использованию одной из наших разработок, которая направлена на минимизацию использования утекших паролей из открыты...

Богатые богатеют: Bentley установила абсолютный рекорд продаж за свою 100-летнюю историю Компания Bentley сообщилась о рекордных поставках своих машин в прошлом году. Впервые в истории производитель смог отгрузить более 15 000 машин. Компания Bentley была основана более 100 лет назад, но только в прошлом году она смогла реализовать 15 174 автомобиля, что ок...

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

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

В России стартовало открытое тестирование Android 13 для Realme 10 Китайская компания Realme сообщила, что первая версия для открытого бета тестирования Android 13 на смартфоне Realme 10 (обзор) стала доступна для пользователей в России.  Принять участие в тестировании могут все желающие пользователи Realme 10. В компании уточняю...

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

Как слить кучу денег на то, что не полетит. Или мои выводы из историй знакомых стартаперов Привет! На связи Боровков Евгений, основатель конструктора прототипов сайтов wmtools.ru. В этой статье я хочу поделиться выводами, которые я сделал, узнав несколько историй нескольких стартапов. Читать далее

Конфигурирование BGP на Juniper MX Привет, мимо пробегающий читатель!В прошлой статье я обмолвился, что, возможно, опишу конфигурацию присутствующих в решении маршрутизаторов Juniper MX204. Близится конец года, и напоследок я решил написать небольшую статью на эту тему. Читать далее

Создание «Google Sheets» через Websockets на Node.js ВведениеВсем привет! Меня зовут Герман Панов и в этой статье мы разработаем табличный редактор - аналог Google Sheets (в упрощенном виде), работающий на основе вебсокетов, чтобы познакомиться со способами применения этой технологии в браузерах. Поскольку цель - ознакомл...

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

На шоу Xbox могут анонсировать новую игру от авторов Evil Within Инсайдер Джефф Грабб во время подкаста The XboxEra поделился какие проекты стоит ждать в следующем году. Грабб рассказал, что в первом квартале 2023 года состоится презентация Xbox во время которой будет много громких анонсов. В частности, о новом проекте расскажет студия ...

Permissions в Android: как не допустить ошибок при разработке Всем привет! На связи Юрий Шабалин, ведущий архитектор Swordfish Security и генеральный директор Стингрей Технолоджиз. Эта статья написана в соавторстве с Android-разработчиком Веселиной Зацепиной @VeselinaZatsepinaa). В материале мы поговорим про один из ключевых механизмов...

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

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

Picaso Designer X series 2. Контроль подачи ли? Выводы. Друзья, всем привет! Мы уже тут как родными становимся. Итак, проблема с контролем подачи Picaso разгадана!Для одних это будет бальзамом на душу, для других "сомнительным" спасением. Для меня же это - полное ДНО от Picaso! Но, по порядку. Букв будет много, статья ориентирова...

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

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

[Перевод] Использование Makefiles для проектов Swift Использование Makefiles для проектов SwiftMake — это программное обеспечение для автоматизации сборки, которое можно использовать для автоматического выполнения различных команд. Если вы хотите что-то запустить, вам нужно указать свои команды (точнее: цели сборки) через...

Недельный геймдев: #103 — 8 января, 2023 Из новостей: разработчик Vampire Survivors использует новый подход к монетизации, создатель эмулятора PS2 для Android «заморозил» проект из-за отношения сообщества.Из интересностей: взгляд на сложную экосистему Rain World, Flappy Bird на нодах в Блендере, порт Doom прям в...

Русские энтузиасты взломали Dust & Neon и другие игры Netflix Dust & Neon — изометрический экшен, который портировали на смартфоны благодаря Netflix. Только для игры в официальную версию потребуется оформлять подписку на зарубежный сервис, а русскоязычным энтузиастам удалось написать оффлайн-реализацию Netflix SDK. Благодаря ей Dus...

[Перевод] Создаем интерпретатор Python на основе ChatGPT Вдохновившись постом Building A Virtual Machine inside ChatGPT , я решил попробовать что-то подобное, но на этот раз вместо инструмента командной строки Linux давайте попробуем превратить ChatGPT в интерпретатор Python! Читать далее

C3 Solutions – будущий лидер отрасли ЦОД? Чудо-женщина, мужчина с обложки глянцевого журнала, оборудование, которое в России производит только одна компания, – это всё C3 Solutions. Все самое новое и интересное о своих проектах C3 Solutions показали в Национальной премии «ЦОДы.РФ».  Компания C3 Solutions традиционн...

Знакомство с Velociraptor Если такие понятия как DFIR, Threat Hunting, Security Monitoring, для вас не пустой звук, то эта статья будет вам интересна. Я расскажу про утилиту Velociraptor, которая часто помогает мне в работе. К моему удивлению, на Habr даже нет упоминания про нее, попробую это исправи...

Прошивка и отладка STM32 в VSCode под Windows На хабре уже есть немало информации об отладке МК в VSCode на Linux, также было написано как настроить тулчейн для работы под Windows в QT Creator, Eclipse, etc. Пришло и моё время написать похожую, но для VS Code и под Widnows. Инициализация проекта будет проводиться с помо...

Иронии автоматизации Вероятно, один из главных в мире текстов об автоматизации — статья «Ironies of Automation» когнитивного психолога Лизанны Бейнбридж, опубликованная в 1983 году в журнале Automatica. На неё ссылаются более 1800 других академических работ, про неё есть страница в Википедии, её...

PVS-Studio и RPCS3: лучшие предупреждения в один клик Best Warnings — режим анализатора, оставляющий в окне вывода 10 лучших предупреждений. Мы предлагаем вам ознакомиться с обновлённым режимом Best Warnings на примере проверки проекта RPCS3. Читать далее

Анонсирована игра Volzerk: Monsters and Lands Unknown на ПК и смартфоны Volzerk: Monsters and Lands Unknown — ролевая игра с аниме-графикой на iOS, Android и PC. Для неё уже появилась страница в Steam, где можно пройти предрегистрацию. Издание Gematsu передаёт, что проект запустят в Японии уже в конце января, а в будущих обновлениях в игру добав...

[Перевод] Производительность параллельных алгоритмов STL В этой статье я собираюсь провести тест производительности на компиляторе Microsoft и компиляторе GCC, чтобы ответить на простой вопрос: окупается ли политика выполнения?  Читать далее

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

Wave Function Collapse для процедурной генерации в Unity Wave Function Collapse – это алгоритм, c помощью которого можно реализовать генерацию чего угодно, что можно было бы описать с помощью правил или конкретным примером. В этой статье мы рассмотрим, как использовать WFC для генерации карты в Unity. Читать далее

[Перевод] 5 лайфхаков Python, которые сделают ваш код более читабельным и элегантным Привет, Хабр! В этой статье я продемонстрирую 5 трюков Python на понятных для новичков примерах, которые помогут вам писать более элегантный Python код в вашей повседневной работе. Читать далее

Универсальный VPN с WireGuard, MikroTik и Keenetic В данной статье я поделюсь опытом и конфигами для построения универсального семейного VPN - как для конечных потребителей, так и для организации сетевого взаимодействия между дачей и квартирой. Читать далее

[Перевод] Argo Rollouts с примерами Что такое Argo Rollouts? Это контроллер Kubernetes и набор CRD для дополнительных возможностей развёртывания — сине-зелёное, канареечное, прогрессивное, анализ канареечного развёртывания и экспериментирование.В этой статье поговорим о продвинутых возможностях развёртыва...

Учёные МИСИС «улучшили» состав сплава для двигателей авто Российские учёные создали сплав для поршней двигателей, который на порядок прочней и надежней предыдущих

[Перевод] Как мы в Slack используем Terraform В Slack всей своей инфраструктурой, опирающейся на AWS, DigitalOcean, NS1 и GCP, мы управляем с помощью Terraform. И хотя большая её часть работает на AWS, мы выбрали Terraform в противоположность их нативному сервису CloudFormation, чтобы использовать единый инструмент сре...

Как понять, зачем люди устраиваются к вам работать и почему они увольняются Привет! Я Дмитрий Шувалов, руководитель компании УМ. Наша компания входит в экосистему AGIMA и занимается исследованиями клиентского опыта. Одна из наших сильных стороны — этнография труда. Моя коллега Ольга Пинчук координирует это направление и недавно написала статью об эт...

Полная история создания игры Elite (1984). Часть 2 Elite — компьютерная игра, которую выпустила Acornsoft в 1984 году для компьютеров BBC Micro. Ее создали два 19-летних студента — Дэвид Брабен и Йен Белл. Это прорывной для своего времени космический симулятор с открытым миром и элементами экономической стратегии, который ...

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

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

Часы реального времени — RTC (real time clock) на одноплатном компьютере. На примере Repka Pi 3 — аналоге Raspberry Pi 3 Эта статья посвящена решению задачи добавления часов реального времени на примере конкретных и широко доступных модулей для RTC и на примере одного конкретного подхода к реализации и алгоритму работы и является скорее примером, демонстрирующим общий принц...

Tinder по интересам, «Морской Boy» и сегментация КТ-снимков: 10 студенческих идей, которые стали проектами А чем вы занимались в университете? Стипендиаты Selectel Career Wave — программы для учащихся технических вузов — создают бота для автоматизации работы в шахтах, развивают геймдев и устанавливают системы для «умного дома». В тексте собрали самые яркие проекты и предлагаем в...

Сделано на Python: экспорт статистики ВКонтакте с помощью Prometeus и Grafana Выпускник курса Python для инженеров Денис Алексеев рассказал о своем проекте, который защитил на итоговой презентации.Проект помогает упростить экспорт статистики из сообществ в социальных сетях и поставить этот процесс на рельсы автоматизации. Читать далее

ATWatch: Долгий путь разработки умных часов на Arduino Привет, меня зовут Артем. Не так давно я спросил Артёма о том, почему бы нам не рассказать о своём проекте, думаю многие смогут подчеркнуть в нашей истории, что-то своё.Проект ещё начинался, когда я был в 9 классе школы. В университете к разработке присоединился мой друг Арт...

Жизненный цикл задачи после разработки Что есть задача для разработчика?  Как правило, разработка получает от продукт-менеджера, техническое задание на разработку новой или исправление старой функциональности. Например, это выражено в виде PRD https://en.wikipedia.org/wiki/Product_requirements_document ...

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

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