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

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

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

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

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

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

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

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

[recovery mode] Тестирование gRPC. Часть 2 В предыдущей статье мы с вами рассмотрели тестирование фреймворка gRPC. Но демо проект созданный моим коллегой Михаилом Петровым, был улучшен моим в другим коллегой Читать далее

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кастомный генератор кода API: структура и методы доработки Всем привет! Меня зовут Юлия Сладковская, я разработчик в МТС Digital, команда BOPS (Backoffice Portal). Эта статья – про структуру генераторов NSwag для кода клиента и сервера на основе схемы API. Также я расскажу о создании кастомного генератора на базе стандартных генерат...

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

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

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

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

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

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

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

5 новых причин роста запросов на DR и 3 кейса клиентов из серии “откуда не ждали” Привет, Хабр. Сегодня мы поговорим о том, почему растет спрос на аварийное восстановление, а также разберем несколько примеров, когда компании сталкиваются с рисками или реальными сбоями инфраструктуры там, где раньше это было невозможно. Всех желающих обсудить предпосылки к...

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

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

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

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

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

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

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

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

Jenkins Dynamic Agents в K8s Привет Хабр! На связи Рустем, IBM Senior DevOps Engineer & Integration Architect. В этой статье я хотел бы поделиться своим недавним подходом к динамической подготовке агента Jenkins с помощью простых строк кода в пайплайне Jenkins с использованием метода общей библиотек...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Бинарники из Python-файлов: Nuitka-компилятор, обзор и небольшое исследование Здравствуйте, дорогие хабровчане. Сегодняшняя статья — результат моего небольшого исследования. Я хочу показать, как компилировать бинарные модули расширения (.so) из python-файлов, чем они будут отличаться и как с ними работать. Делать это мы будем при помощи компилятора N...

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

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

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

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

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

Сказка про Method as Parameter Наверняка вы вызывали методы в C#. И казалось бы, что тут может быть интересного. Но тут есть о чем поговорить, есть что интересного рассказать.Позвольте рассказать вам сказку про то, как обычное использование методов может утопить ваше приложение в GC, а наивная реализация ...

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

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

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

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

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

[Перевод] BEC-атака века. Как корпорации поделились миллионами с киберпреступником Привет, Хабр! Мы с очередным рассказом из подкаста Darknet Diaries – историей про кибемошенника по имени Эвалдас Римасаускас, которому удалось украсть миллионы у Facebook* и Google. История того, как он заставил корпорации оплачивать фейковые счета Quanta Computer, широко из...

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

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

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

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

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

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

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

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

Как изменять строки в dotnet Строки в dotnet являются предназначенной только для чтения последовательностью Char-ов. Об этом явно написано в документации Microsoft, посвященной строкам. Там же в секции "Неизменность строк" сказано следующее: "Может показаться, что все методы String и операторы...

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

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

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

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

Как сайты определяют ботов? Деобфускация Akamai Bot Manager 2.0 Akamai Technologies - американская компания, занимающаяся защитой веб-ресурсов от ботов с помощью своего продукта Bot Manager. В её портфолио числятся такие гиганты ритейла, как Nike, Adidas и Asos, для которых особенно важен контроль за ботами, автоматизирующими процесс вык...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[Перевод] NoNa: Алгоритм заполнения отсутствующих данных Мой первый open-source продуктGitHub — AbdualimovTP/nona: библиотека для заполнения пропущенных значений с использованием методов искусственного интеллекта  Читать далее

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

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

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

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

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

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

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

Утечка через Google Переводчик, или «новый» вектор атак через аддоны браузеров Привет Хабр!Расширения браузеров – очень удобная штука, они могут решать довольно широкий спектр задач: от банальной блокировки рекламы на веб-ресурсах до планирования задач и организации видео-встреч. Однако ценой удобства может стать безопасность пользовательских данных. Р...

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

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

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

Совместное предприятие Сбера и Cognitive Technologies собирается за год в 10 раз увеличить производство систем с ИИ Гендиректор Cognitive Pilot Ольга Ускова сообщила в интервью ТАСС, что компания планирует к 2024 году в 10 раз увеличить объёмы производства систем с искусственным интеллектом для агропромышленного комплекса (АПК). Совместное предприятие Сбера и Cognitive Technologies, ...

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

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

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

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

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

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

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

«Чёта мне тревожно!» Как избавиться от тревоги: лучшие методы и практики самопомощи Многим людям, как и мне, тревога усложняет жизнь. Какие способы помогают избавиться от тревоги, помимо коньяка? Поговорим о том, как помочь себе самостоятельно, если вас достали тревожные мысли и переживания о будущем. Читать далее

Энтузиаст создал iPhone с разъемами как Lightning, так и USB Type-C Ранее народные умельцы заменяли, а не добавляли порты

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

150 книг для тех, кто делает игры С Новым Годом уважаемые читатели! Как можно понять из заголовка я собрал для вас 150 книг (и несколько полезных ссылок) из областей разработки игр, геймдизайна, нарративного дизайна и прочих смежных дисциплин геймдева. Из подборки получилась целая библиотека, которую я собир...

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

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

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

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

Облачный умный дом: что нужно знать, чтобы избежать проблем В обычной жизни я не только тестирую оборудование умного дома, но и очень много путешествую. Любимое хобби в поездках – трекинг, особенно в холмистой местности. Ходил я и по лестницам Непала, и по левадам Мадейры, и по козьим тропам Азорских островов. К чему это я? Многим об...

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

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

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

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

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

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

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

В Chrome появилось расширение для генерации изображений нейросетью Технология позволяет обходить авторские права на стоках, создавая похожие картинки.

Разумные правила оптимальной зарядки: подробнее про скорость, блоки питания, внешние аккумуляторы и многое другое Привет, Хабр! Если основательно задаться вопросом оптимальности зарядки, станет понятно, что в этом отношении не всё так однозначно. Далеко не каждый зарядник позволяет получить быструю и качественную зарядку вашего устройства(будь то Apple или Android, смартфон или ноутбук)...

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

Obsidian + Dataview: Задачи В прошлой статье Obsidian + Dataview: Таблицы я рассказал про установку плагина Dataview, формирование таблиц с его помощью и разобрал 4 кейса его использования.Dataview - это очень мощный и функциональный плагин, с помощью которого кроме таблиц можно так же формировать спи...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Google назвала лучшие расширения для Chrome в 2022 году Google объявила список лучших расширений Chrome 2022 года. Компания сделала это, выбрав победителей по четырём категориям.

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

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

Google снова скопирует функцию у Microsoft, чтобы сделать расширения Chrome более управляемыми Google работает над новой функцией, которая позволит пользователям отключать определённые расширения в браузере Chrome для конкретного сайта. Дело в том, что некоторые из расширений могут вызывать сбои в работе сайта, не позволять его загрузку и так далее. С другой стор...

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

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

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

Как надстройки Microsoft Visual Studio могут использоваться для взлома Специалисты по ИБ из Deep Instinct утверждают, что инструменты Microsoft Visual Studio для Office (VSTO) всё чаще используются в качестве метода обеспечения сохраняемости и выполнения кода на целевой машине с помощью вредоносных надстроек Office. Читать далее

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

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

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

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

Представляю универсальный responsive header для React.js Вы когда-нибудь думали о том, чтобы создать свой стартап? Почти каждому стартапу (да и +/- любой компании) нужен лендинг/сайт. А у каждого сайта вверху есть хедер с меню навигации. При чем в наше время он обязательно должно быть адаптивным, чтобы одинаково хорошо работать ка...

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

Задача коммивояжера (TSP) точное решение — метод целочисленного линейного программирования (Integer programming) Дочитав эту статью до конца, вы сможете решать точно задачу коммивояжёра на сотню элементов за считанные секунды! Заинтригованы? Тогда, добро пожаловать под кат. Читать далее

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

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

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

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

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

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

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

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

Vertu… но с подвохом! Верту сигнейчур, который может позволить себе каждый Vertu всегда была многоуважаемой «дочкой» Nokia, которая специализировалась на роскошных дорогих девайсах ручной сборки. Эта компания брала и без того неплохую экосистему Nokia и добавляла ей королевский вид с самого начал нулевых. Но помните ли вы м...

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

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

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

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

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

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

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

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

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

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

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

Двадцать бабушек – уже рубль. Как GraalVM Native Image позволяет экономить джавистам и девопсам деньги на облако Первая статья в нашем блоге. Я постарался написать хороший текст на основе докладов из Failover Bar и прошлого митапа Альфы, и человеческими словами объяснить, зачем нужен GraalVM.Мы поговорим об экономии на облаках в мире победившего Кубернетиса, обсудим перформанс современ...

Tinkoff Pro Open Source Мы в Тинькофф активно инвестируем в образование. Развиваем Поколение, Финтех, Академию и другие программы. Open source — наглядный способ передать экспертизу на конкретных примерах и дополнительная возможность развивать наши образовательные программы.Открытая разработка инст...

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

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

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

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

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

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

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

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

Лонгрид по полезному чтению в 2023 году: 39 книг, которые помогут писать красивый <код> ≀И эта статья ответит на вопрос, зачем вообще читать книги в 2023 году при великом разнообразии онлайн-курсов. 39 книг-мастридов для разработчиков, которые хотят освежить знания, быть в курсе новых технологий и прокачать свои навыки. Каждое издание из подборки расширяе...

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

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

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

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

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

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

Оптимизация данных в MS SQL Основная статья Взаимодействие DWH Oracle и MS SQLОдним из методов для оптимизации обработки, хранения и администрирования данных в базе данных и кубах MS SQL — это процесс создании партицирования данных.Partitioning (партицирование или по-другому секционирование) —&nbs...

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

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

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

VPN Gate, или — неубиваемая Великим Китайским Файрволом распределённая сеть VPN Сегодня речь пойдёт о технологии распределённой сети VPN Gate, своего рода недруга Поднебесной в области интернет цензуры. На Хабре много статей на тему SoftEther VPN (нижележащий слой VPN Gate), но нет ни одной технически всесторонней статьи про саму распределённую сеть и т...

[recovery mode] SwiftUI ScrollView и параллакс без тормозов Передо мной возникла задача сделать скроллируемый контент, на заднем плане которого прокручивается другой контент. Прокрутка должна быть синхронной, но с замедленной скоростью - как отдалённый фон в мультфильмах или играх.В классическом UIScrollView из UIKit можно реализоват...

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

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

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

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

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

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

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

Ryzen 7 5800Х vs Core i5-12600KF – выбираем оптимальный процессор для перспективной игровой сборки Рассмотрим несколько материнских плат, которые позволяют раскрыть потенциал указанных выше процессоров

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Microsoft выпустила список изменений сборки Microsoft Edge Stable Build 109.0.1518.49 Компания Microsoft выпустила список изменений сборки Microsoft Edge Stable Build 109.0.1518.49. Новые функции • Привязка учетной записи MSA-AAD. Microsoft позволяет пользователям, у которых есть личная учетная запись Microsoft (MSA) и учетная запись пользователя Microsoft че...

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

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

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

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

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

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

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

Фокус внимания. Как перестать отвлекаться и стать в разы продуктивнее Цель этой публикации — помочь всем ищущим стать эффективнее и улучшить собственные результаты за счет организации своего рабочего пространства.Речь пойдёт о следующих вещах:· Смартфоны и популярные приложения — в чем их проблема и почему они мешают фокусироваться.· Рабочий с...

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

DOM XSS через Web Messaging. Как работает легкий способ получить XSS с помощью postMessage Для подписчиковНедавно я обнаружил новую для себя разновидность XSS-уязвимостей — DOM XSS с помощью Web Messaging. Перечитав множество страниц документации, я решил создать единый материал по эксплуатации XSS через эту технологию. Я опишу здесь наиболее распространенные недо...

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

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

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

Трекинг без разметки или как следить за тысячами пузырьков на производстве Привет, Хабр! Меня зовут Клоков Алексей, сегодня поговорим об алгоритмах компьютерного зрения, обработке видеопотока и подходах к трекингу без разметки (unsupervised tracking). Методичка будет полезна как опытным специалистам, перед которыми стоит подобная задача, так и нач...

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

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

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

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

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

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

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

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

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

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

Антирейтинг 2022 Эта статья написана по аналогии со статьей «Как не надо писать на Хабр: Антирейтинг 2017». Статьи взяты за 2022 год. Кроме отрицательных значений рейтинга, есть список по абсолютному количеству минусов (видимо, самые обсуждаемые темы). «Вот найдется же нехороший, которому ...

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

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

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

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

From Zero to Hero: определите ваш уровень решения LeetCode задач от 1 до 5 В этой статье я хочу написать про мой опыт взаимодействия с платформой LeetCode, и описать свою подготовку к интервью в FAANG подобные компании путем разбиения ее на уровни.А какой у вас уровень? Читать далее

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

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

OLIMEX ESP32-EVB: красный квадрат (плата принята) Сегодня мы рассмотрим один интересный контроллер из моей коллекции, это (широко известная в узких кругах) плата OLIMEX ESP32-EVB. Это одна из первых плат, построенных на основе ESP32, которая за прошедшие годы претерпела несколько ревизий и выпускается до сих пор, то есть ...

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

[Перевод] Как работает service mesh и API-шлюзы в микросервисной архитектуре Вы наверняка много раз слышали о service mesh и  API-шлюзе применительно к микросервисам. Их часто путают. В этой статье мы подробно поговорим о двух этих инструментах, а также разберемся, когда их лучше использовать и что будет, если их объединить. Читать далее

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

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

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

«Хакер»: Как мы с DALL-E 2 делали картинки к статьям DALL-E 2 — нейросеть, которая рисует картинки по текстовому запросу. Гулявшие в этом году примеры работы с ней просто поражают: иногда она рисует, как настоящий художник, и еще и предлагает варианты на выбор! С августа этого года мы периодически использовали DALL-E 2, чтобы ...

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

Создаем аватарки с помощью нейросети Stable Diffusion и DreamBooth "Портрет, сделанный нейросетью" - все чаще читаем в новостной ленте, и каждый хотел бы сделать себе подобный, но удобные сервисы, просящие монету, или желание разбираться самому, отталкивают. Не нужно ничего скачивать. Час времени и каждый сможет сделать себе аватарку! Читат...

Алиса (голосовой помощник Яндекса) играет в Шахматы Эта статья - личный опыт, как я "учил" Алису (голосовой помощник Яндекса) играть в Шахматы. Получилось интересно ... Читать далее

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

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

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

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

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

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

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

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

Создаем простую игру с Jetpack Compose для часов на Google WearOS Библиотека Jetpack Compose значительно изменила подход к разработке нативных приложений и позволила декларативно описывать в коде интерфейсы, которые зависят от состояния и автоматически отслеживают его изменение. Но долгое время ее применимость ограничивалась платформой And...

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

Автоматизируем домашний медиацентр на Synolgy NAS Приветствую читатели хабра, в этой статье я бы хотел поделиться своим опытом организации домашнего медиацентра с торрент качалкой на Synology NAS: sonarr + radarr + jackett + qBittorrent. Читать далее

Торговые роботы на Python Привет! На связи команда Тинькофф Инвестиций. В этой статье рассказываем про Tinkoff Invest API, объясняем, как написать робота на Python, и разбираем плюсы этого языка в сравнении с другими. А вместо заключения ловите гайд по созданию робота на примере работы победителя наш...

Meet Transferable На WWDC 2022 Apple представила множество интересных нововведений, одно из который — Transferable. О новом протоколе (только для SwiftUI и только для iOS 16, macOS 13 и tvOS 16

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

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

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

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

Kotlin Symbol Processing. От теории до практики Я расскажу в этой статье о Kotlin Symbol Processing, также известном как KSP.Сначала обсудим теоретические основы работы KSP, после, конечно же, перейдём к практике. На примере небольшой задачи, подобной той, что мы решаем с помощью KSP в нашей компании, покажу, как анализир...

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

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

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

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

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

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

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

Я только спросить: разводим ChatGPT на откровенность по методу Илона Маска О том, что чат-бот ChatGPT от OpenAI настроен жёстко фильтровать контент во избежание "срыва толерантности", доносится из каждого утюга. Бот пускается в получасовое резонёрство, чтобы только не произнести страшное N-слово, а о том, чтобы произнести F-слово, не может быть и р...

«Чем я могу помочь?» или нетрадиционная парадигма управления «Управлять – это значит не мешать хорошим людям работать» говорил Сергей Петрович Капица. Некоторым кажется, что в этой цитате управление представляется в негативном свете, вроде активность менеджера больше препятствует достижению намеченной цели или же просто не добавляет ц...

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

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

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

Unity UI Toolkit: Быстрый старт Всем привет!В игре может быть множество элементов интерфейса, всплывающих окон и т. д., и когда появится необходимость изменить общий стиль, например цвет кнопки или текста, то придется это менять во всех созданных элементах, если используется старая система UI Canvas - uGUI...

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

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

Кастомизация диалоговых окон WixToolSet на примере windows installer и executable packages Приветствую!В этой статье я покажу вам свой вариант использования набора утилит WixToolSet для создания кастомных диалоговых окон с возможностью получения предустановленной информации (пароли, явки и прочие параметры). И приведу пример использования кастомных окон в простом ...

Как мы применяли исследования при разработке сервиса Европротокол онлайн В прошлом году мы с командой мобильного приложения «Госуслуги Авто» выпустили новый сервис — оформление ДТП без участия инспектора ГИБДД. В этой статье я расскажу, как мы разрабатывали сервис, какие грабли собрали, чему научились и каких результатов достигли. Читать далее

Скрипт для настройки VPN на Power Shell Дистанционная работа в компаниях все больше становится распространённой в последнее время. Системным администраторам нужно организовывать на домашних компьютерах пользователей подключение по VPN к сети компании. Время настройки занимает от 10 минут и это если все пойдет глад...

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

Как контролировать задачи в MODX Revolution — делаем TODO виджет для админки В CMF MODX Revolution изначально не предусмотрена возможность ставить задачи и привязывать их к ресурсам. Такое дополнение я тоже не нашел, да и было интересно разобраться в создании виджетов, поэтому придумал решение, как можно быстро реализовать такой функционал на своем с...

КриптоПро в Linux контейнере для использования КЭП от ФНС С Нового Года в России от Индивидуальных Предпринимателей (ИП) и директоров Обществ с Ограниченной Ответственностью (ООО) требуют использовать Квалифицированную Электронную Подпись (КЭП) выданную Федеральной Налоговой Службой (ФНС).В этой статье речь пойдёт о том, как работа...

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

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

[Перевод] Node.js наизнанку: не все происходит в пуле потоков Node.js это кроссплатформенная среда выполнения JavaScript с открытым исходным кодом для выполнения JavaScript вне браузера. Он поддерживается движком Google V8, что делает его чрезвычайно производительным.Асинхронная среда выполнения, управляемая событиямиОдно из наиболее р...

[Перевод] 2.6 миллиона доменов и ~45 000 открытых Phpinfo() спустя… История о незащищенном Phpinfo() После сканирования 2.6 миллионов доменов на наличие открытых .git каталогов (ссылка на статью), .env (ссылка на статью) и .DS_Store (ссылка на статью) файлов я проделал такое же сканирование для phpinfo-файлов, таких как info.php или phpinfo.php.В первой части этой статьи я ...

[Перевод] Genie Builder v0.2: ускорьте разработку вашего приложения на Julia В этой статье представлен перевод руководства: "How to quickly turn your Julia code into a web app with Genie Builder". В статье пойдет речь о новом инструменте быстрой разработки web-приложений на основе Ginie Framework - платформы для интернет приложений на языке Julia. ...

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

USB монитор из Futaba GP1160A02A Когда-то вакуумно-люминесцентные индикаторы создавались как альтернатива газоразрядным, а также в целях загрузить производство электроламповых заводов, так как в те времена лампы уже начали терять актуальность и на их место пришли полупроводники.Прожив долгую 60-летнюю истор...

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

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

Как я написал Telegram-бота для учёта подписок Как я написал Telegram-Бот для учёта подписокНаписал Telegram-Бот для учёта подписок и регулярных расходов на Python и Yandex. CloudОн умеет предупреждать по 3 основным сценариям:1. Окончание пробного периода.2. Ежемесячная подписка.3. Ежегодная подписка.В статье расскажу пр...

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

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

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

Американские ученые предложили новый метод 3D-печати металлами в микроскопических масштабах Инженеры Калифорнийского технологического института (Caltech) придумали новый способ 3D-печати металлических структур с разрешением в десятки микрометров. Идея основана на проверенном методе построения жертвенных скаффолдов с металлическими наполнителями для последующего отж...

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

[Перевод] Осваиваем TypeScript: 21 лучшая практика при написании кода TypeScript является популярным открытым языком программирования, идеально подходящим для современной разработки. За счёт своей продвинутой системы типов он позволяет писать более надёжный, обслуживаемый и масштабируемый код. Однако, чтобы задействовать весь потенциал этого ...

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

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

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

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

День «Mother of all demo»: отмечаем годовщину главного ИТ-события 9 декабря 1968 года — день, который определил развитие компьютерной техники и информационных систем на десятилетия вперед. Оконный режим, командная строка, гипертекст, навигация, видеоконференцсвязь, редактирование текста, версионирование и даже совместная работа… Ах да, и к...

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

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

[recovery mode] Jenkins pipelines с Groovy Добрый день, коллеги. Jenkins является одной из самых популярных систем CI/CD, которая применяется для построения пайплайнов сборки и доставки.Jenkins поддерживает построение пайплайнов на основе Groovy скриптов. Использование Groovy дает возможность очень гибко настраивать ...

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

Производительность и время работы игровых ноутбуков с Nvidia RTX 40-й серии вырастет в разы: представлена технологич Max-Q 5-го поколения Nvidia объявила на своем официальном сайте о запуске новейшей технологии Max-Q 5-го поколения, которая значительно повысит эффективность видеокарт ноутбуков и производительность в играх. По словам официальных лиц, технология Max-Q позволяет партнерам Nvidia вывести эффе...

Как оплатить подписку Midjourney из России Для проведения оплаты понадобится два приложения. OlduBil – сервис позволяющий выпустить бесплатную виртуальную карту для онлайн оплат (c бесплатным обслуживанием), турецкий аналог отечественного Qiwi, а также Binance – известная криптобиржа. Читать далее

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

Как создать сообщество продактов в ИТ-компании. Опыт МойОфис C 2013 года МойОфис занимается разработкой технологически сложных продуктов. В связи с этим у нас изначально сложилась сильная культура разработки (research and development) — по сути, фундамент компании. А поскольку линейка наших продуктов — от офисных редакторов до почтовы...

Мониторинг аномальной активности в операционной системе «Нейтрино» Активности в операционной системе могут быть самыми разнообразными. Это может быть и запуск нового процесса или потока, и обращение к файловой системе, и выделение памяти, и многое другое. Могут возникнуть ситуации, когда (вследствие действий злоумышленника и\или программной...

[Перевод] Как мы обновили старый кластер Elasticsearch на 3 ПБ без простоев. Части 6 и 7 (финальная) Прим. переводчика: автор статьи рассказывает, как его команда убедилась, что новый кластер Elasticsearch работает в соответствии с ожиданиями и полностью готов к production-нагрузкам. Также подводит итоги всего процесса и анализирует получившуюся архитектуру нового кластера ...

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

Профессиональные задачи, которые вы можете решить с AI системой ChatGPT от OpenAI Мир охватила новая волна безумства вокруг AI, все соц.сети заполнены огромным количеством экспериментов вокруг нового продукта - ChatGPT. В этой статье я расскажу вам о 30+ самых интересных кейсов использования AI-чата на базе открытого искусственного интеллекта от ...

Вжух и собралось или как я ускорял сборку UI на базе kubernetes + jenkins и yarn + nx С распространением практики доставки непрерывных обновлений время сборки приложений стало критически важным параметром как для разработчиков, так и для бизнеса компании в целом. В данной статье описан мой опыт ускорения Frontend пайплайна Jenkins в Kubernetes на базе yarn и ...

Как технологии помогают бороться с лесными пожарами Привет, Хабр! Мы – Александр Просвирнин, руководитель проектного направления, и Иван Григорьев, старший менеджер, работаем в команде продукта «Видеонаблюдение» МТС. В этой статье мы расскажем о том, как современные технологии помогают бороться с лесными пожарами. В...

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

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

Перенос URLSessionTask в background URLSession при уходе приложения в фон Всем привет. Всем привет. Меня зовут Максим Батраков и я iOS-разработчик в 65apps. В этой статье я хочу рассказать о некоторых особенностях работы с URLSession, разобрать загрузку файлов в background URLSession и показать процесс переноса выполнения активных запросов в backg...

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

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

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

Принципы SOLID на JS, теперь точно простым языком, но не очень коротко SOLID — универсальный набор принципов разработки поддерживаемого программного обеспечения. В данной статье я попытался разъяснить свое понимание принципов SOLID в отношении языка JavaScript: особенности реализации, некоторые синтаксические конструкции и, конечно, примеры из ...

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

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

Что произошло с hh.ru в 2022 году 2022 был… ну вы знаете. Штормило всех и с разной степенью интенсивности. Хорошо, что можно сублимировать тревожность в работу! Не благодаря, но вопреки всем невзгодам hh.ru продолжает развиваться и становиться лучше. Мы старались чаще выкатывать новые возможности и совершенс...

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

Самый простой способ ввести Linux в домен Всем привет!Термин Microsoft Active Directory Domain Services включает в себя множество технологий, поэтому сразу уточню, в этой статье речь пойдет про использование контроллера домена только для аутентификации пользователей. То есть в финале, нужна возможность любому сотруд...

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

Устанавливаем Kubernetes-платформу Deckhouse в закрытом окружении. Пошаговая инструкция Продолжаем серию статей про установку Deckhouse в разные окружения. Мы уже рассказывали про развертывание в Yandex Cloud. Эта статья посвящена установке платформы в закрытое окружение, когда у машин, на которых разворачивается кластер, нет доступа в Интернет. Читать далее

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

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

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

Генерация 2D мира с помощью клеточного автомата на Python Всем привет! На написание этой статьи меня вдохновил автор YouTube канала PeaAshMeter. В своем видео автор показывает простейший генератор 2D мира, который основан на простейшем правиле клеточного автомата. Что такое клеточный автомат? Какие клеточные автоматы бывают? На эти...

Фильтрация и пагинация в FastAPI Недавно столкнулся с задачей написать фильтрацию на FastAPI, пошёл гуглить и нашёл замечательную библиотеку fastapi-filter, которая сильно упрощает задачу. О ней в этой статье и пойдёт речь, а также заодно покажу простой способ пагинации без библиотек. Читать далее

Функция «Последние веб-сайты» в Microsoft Phone Link теперь работает на Samsung Galaxy Book и смартфонах Компания Samsung объявила, что сделала функцию «Последние веб-сайты» в приложении Microsoft Phone Link доступной для серии Galaxy Book series и смартфонов. Компания рассматривает расширение как часть своих усилий по увеличению «подключения ПК к мобильным устройствам», где он...

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

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

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

TDE в Platform V DataGrid: учим систему шифрования менять ключи на лету Привет, Хабр! Это Никита Амельчев и Павел Переслегин. Мы создаём Platform V DataGrid — распределённую базу данных, которая используется в сервисах Сбера и внешних клиентов. В статье расскажем, как мы усилили базовые функции шифрования TDE в нашем продукте и как решали вопрос...

История про Growth hacking на практике Всем привет! Меня зовут Андрей Никишин, я бэкенд-разработчик hh.ru в команде “Карьерные сервисы”. Существует распространенное мнение, что hh — это просто сайт с вакансиями и резюме, но это совсем не так.  У нас есть множество сервисов: от досуга и развлечений до построе...

Меньше точно не бывает! Делаем вольтметр на ATTINY10 В продолжение к прошлой статье решил пощупать и Attiny10. Ну меньше уже точно ничего нет. Если и есть такое извращение с 4 ногами, я о нем не знаю, точнее не нашел..Тут у нас полноценный МК, в корпусе SOT-23! И задачи на нем решать можно вполне серьезные. Собрав схему на мак...

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

Создание модуля WebAssembly с помощью Emscripten, AssemblyScript и Rust В этой небольшой заметке предлагается рассмотреть несколько способов компиляции модуля для WebAssembly, используя три разных подхода. Мы реализуем решение одной и той же задачки на трёх языках и скомпилируем полученный код в модуль WebAssembly. Будем использовать:Emscripten ...

Как мы «уволили» старые процессы планирования и «наняли» новые: опыт разработки собственного инструмента Привет, Хабр! Меня зовут Анзор Кардан, я руководитель продукта Teamplanner в Х5 Tech. В статье я поделюсь собственным опытом выбора инструмента планирования проектов, через какие стадии мы прошли и с какими сложностями столкнулись (спойлер: в итоге мы разработали свой собств...

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

Критерий Манна-Уитни — самый главный враг A/B-тестов Всем привет! Меня зовут Дима Лунин, я аналитик в компании Авито. В этой статье я расскажу про критерий Манна-Уитни и проблемы при его использовании. Если вы анализировали A/B-тест, где вас интересовал прирост или падение какой-то метрики, то наверняка использовали критерий М...

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

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

Как погода влияет на отзывы людей в интернете? Как погода влияет на отзывы людей в интернете?Ожидается, что мир преодолеет порог глобального потепления между 2027 и 2042 годами. Используя математические модели, которые анализируют текущее состояние климата Земли, ученые ожидают, что температура повысится на 1,5 градуса, ...

Код на репите. Механизмы повторного использования кода: от элитного до простого Привет! Меня зовут Грант, я .Net-разработчик. Знаете вы это или нет, но ваш код можно переиспользовать: будь то модуль, компонент или архитектура. Одни разработчики делают это осознанно, другие на уровне рефлексов. Повторное использование хорошего кода экономит время и други...

Как интегрировать Яндекс Карты в приложение на Flutter Hey! Меня зовут Дмитрий Лёвочкин, я Futter разработчик в Friflex и автор блога Дневник Flutter разработчика. Мы в Friflex занимаемся разработкой мобильных приложений, и одна из наших ключевых отраслей – ритейл. Сложно представить мобильное приложение крупного ритейлера без к...

Как обнулялся Credit Suisse: разбираем траекторию погружения на дно швейцарского гига-банка 167 лет истории, 50 тысяч сотрудников и почти полтора триллиона долларов под управлением – всё это не помешало второму по размеру швейцарскому банку уйти на дно в марте 2023 года. В этой статье мы разберемся, как многолетние скандалы вокруг Credit Suisse уронили когда-то вел...

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

Введение в библиотеку Transformers и платформу Hugging Face Библиотека Transformers предоставляет доступ к огромному кол-ву современных предобученных моделей глубокого обучения. В основном основаных на архитектуре трансформеров. Модели решают весьма разнообразный спектр задач: NLP, CV, Audio, Multimodal, Reinforcement Learning, Time ...

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

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

Обои со смартфона Lenovo ThinkPhone уже можно скачать Любопытно, что при этом почти все западные СМИ обязательно добавляют «By Motorola», хотя ранее два эти бренда выпускали смартфоны независимо друг от друга. И уж точно ThinkPad не имеет никакого отношения к бывшему Google-бренду. Читать полную статью

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

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

Как написать автотесты деплоя и сэкономить нервы DevOps-инженеров Привет! Меня зовут Артём Комаренко, я работаю на позиции QA Lead в команде PaaS в СберМаркете. Хочу поделиться историей, как мы придумывали способ быстро убедиться, что очередные изменения в скриптах деплоя не разломают процесс выкатки во всей компании. Статья будет полезна ...

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

Kotlin-сервер без JVM — реальность? Не секрет, что Kotlin может использоваться для создания всех компонентов FullStack-приложения - от мобильных приложения для Android/iOS и веб-сайтов на Kotlin JS до бэкэнда (например, с использованием Ktor, http4k и micronaut). Но все же многих останавливает от использования...

[Перевод] Сравнение MySQL и PostgreSQL в 2023 году PostgreSQL и MySQL — это надежные, безопасные и масштабируемые базы данных, которые существуют уже много лет. Каждая из них имеет уникальные сильные и слабые стороны, что делает какую‑либо из них более подходящей для конкретных нужд. В этой стат...

DCSync: особенности выполнения атаки и возможные варианты детектирования, Часть 1 DCSync - атака, позволяющая злоумышленнику выдавать себя за контроллер домена (DC, domain controller) с целью получения учетных данных пользователей для последующего горизонтального перемещения в сети и/или доступа к конфиденциальной информации.В основе атаки лежит механизм,...

Apple оштрафовали за «оскорбительные коммерческия условия» в App Store Как сообщает Reuters, французский коммерческий суд в Париже оштрафовал Apple на 1 миллион долларов за неправомерные действия в App Store. Согласно постановлению, Apple наложила «оскорбительные коммерческие условия» на французских разработчиков приложений, ко...

Увеличь это! Современное увеличение разрешения в 2023 Почти 4 года назад вашим покорным слугой была опубликована статья Увеличь это! Современное увеличение разрешения, которая набрала +376 хабролайков и 176 тысяч просмотров. Но прогресс на месте не стоит! Новые нейросетевые методы жгут! Их результаты прекрасны и великолепны. 1,...

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

[Перевод] Запросы к MongoDB из Java с помощью билдера фильтров В этой статье разберемся, как использовать класс Filters для запросов к MongoDB.Класс Filters представляет собой билдер для удобного написания фильтров запросов. Фильтры — это некоторые условные операции, которые MongoDB использует для ограничения результатов. Читать далее

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

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

Честные модули внутри PHP: теперь они существуют Низкий порог входа и строгость языка программирования — вещи обычно несовместимые. Потому что ты либо, как Rust, бьёшь по рукам borrow checker’ом — либо, как PHP, позволяешь не задумываться о типах и быстро прототипировать. На самом деле, если писать код грамотно, это с...

Привет из мира 1С — Обработка результатов запроса произвольными вычисляемыми полями. Обзор некоторых новых функций СКД В данной статье вспомним как обрабатывать результаты запроса в вычисляемых полях СКД, а так же сделаем небольшой обзор на новые функции СКД платформы 8.3.20. Читать далее

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

Error Budget, SLO и мониторинг: советы для начинающих SRE-инженеров Книга Google о SRE, статьи экспертов, документация и обучающие курсы дают исчерпывающие знания о том, как в идеале должен работать SRE в компаниях. Правда, ключевое здесь – «в идеале». Работа с метриками и управление инцидентами в командах может сильно различаться по ряду пр...

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

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

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

Книга «Современная программная инженерия. ПО в эпоху эджайла и непрерывного развертывания» Привет, Хаброжители! Дэвид Фарли, легендарный разработчик и создатель continuous delivery, рассказывает о фундаментальных принципах разработки современного ПО. Пора познакомиться с наиболее эффективными и грамотными методами управления рабочими процессами, которые позволят...

Как заработать на Bug Bounty Меня зовут Алексей Гришин, я руководитель направления Bug Bounty VK. За 9 лет участия в программе по поиску уязвимостей на различных платформах мы накопили огромный опыт получения, проверки и оплаты самых разношерстных отчетов, поэтому в этой статье я хочу поделиться советам...

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

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

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

«И швец и жнец» или обзор полезных расширений для XWiki  Вот уже второй год, как мы используем XWiki, вместо Confluence. За это время я к ней привык и даже в некотором роде полюбил. Поэтому не могу пройти мимо такого важного события как выход новой LTS версии 4.10.X.Если вы не знакомы с релизным циклом XWiki, то вас мож...

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

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

[Перевод] Swift-код в качестве пользовательских команд LLDB Если я спрошу, какую команду LLDB вы используете чаще всего, то я почти уверен, что вы, как и большинство iOS-разработчиков, ответите po. Но знали ли вы, что вы можете определить свою собственную команду LLDB, используя только Swift-код?В этой статье я покажу вам, что н...

Как хостить телеграм-бота (и другие скрипты на Python) на Repl.it бесплатно 24/7 Очень часто возникающий вопрос: где можно разместить скрипты на Python, Flask-приложение, телеграм или дискорд ботов?Один из вариантов — на своем компьютере при наличии внешнего IP-адреса и опыта в настройке проброса портов на роутере. Цель этот статьи - подробная инструкция...

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

На троечку: российский студент рассказал, как написал диплом с помощью ChatGPT и даже защитил его Нейросети и искусственный интеллект завоёвывают всё новые высоты. Пользователь Twitter под ником @biblikz опубликовал тред, где рассказал, как ему удалось защитить диплом, сгенерированный с помощью нейросети ChatGPT. Сам студент учится в Российском государственном гуман...

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

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

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

Обновление Hibernate через боль Меня зовут Андрей Аркаев. Я занимаюсь разработкой на Java с 2002 года. Сейчас развиваю бизнес-систему для контактных центров в Naumen. Как и многие другие бизнес-системы мы используем ORM. В статье поговорим о Hibernate, так как эта библиотека распространена для Java.Наш про...

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

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

Эвристики Нильсена – личный опыт, ошибки и находки Привет. Меня зовут Сергей Кардашев. Прошедшие три года я работал менеджером по продуктам и инструментам управления данными в Tele2. До этого много лет был продакт-дизайнером и UI/UX дизайнером. В этой статье я не просто пересказываю принципы построения интерфейсов, а делюсь ...

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

22 342 кратное ускорение загрузки геометрии в Unity Меня зовут Артем Толстогузов, и я вхожу в группу анонимных Unity-программистов.У меня:• навязчивое желание переложить всю работу с CPU на GPU;• небольшой фетиш в области оптимизаций всего что только возможно;• хронический интерес к шейдерам...

[recovery mode] Kotlin/Golang работа в двух языках Так уж получилось, что у нас в компании используются разные стеки и языки. И в частности у нас есть большое подразделение, основным стеком которого является JVM с Kotlin в качестве языка разработки (вместо ванильной Java, на бэкенде). Но при этом этому же отделу регулярно пр...

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

10 способов увеличить продажи: плюсы, минусы, подводные камни Цель любой компании — постоянный рост продаж. Достичь ее позволяют разные подходы и инструменты. Алена Бирюкова, руководитель отдела прогрева, и Артем Елисов, коммерческий директор Completo, поделились рабочими механиками, которые чаще всего выбирает для себя бизнес. Также о...

TrueNas: когда Nas реально ТРУ Вы слышали о TrueNas, но не знаете, стоит ли с ним связываться?Представляю реальный случай применения TrueNas в качестве основного файлового хранилища в компании. Как на практике и из старого сервера и домашних дисков мы получили достаточно неплохой NAS с SMB, NFS, iSCSI, bl...

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

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

Насколько странный баланс в этой настолке с чёрной дырой Появилась у меня с маленьким ребенком новая красивая настолка - классическая ходилка с одним кубиком. Симпатичная картинка, достаточная длина игровой сессии. И есть в этой игре странная особенность - чёрная дыра на 39 шаге (из 120), которая сразу отбрасывает игрока в самое н...

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

Робот-не-пылесос с ножом или как мы делали смарт-ножницы на колесах Эта история началась в октябре 2019 года. К нам пришел владелец  крупного производства натяжных потолков и сказал: «Хочу максимально оптимизировать производство, избежать ошибок, вызванных человеческим фактором, повысить производительность и точность, не теряя качества ...

Искусство типизации: TypeScript Utility Types Что вы чувствуете от познания нового? За себя скажу, что в такие моменты просветления меня переполняет неподдельная детская радость от свершившегося открытия. Жаль, что этих моментов становится всё меньше. К чему я это? Когда мне в голову мне пришла мысль о написании статьи ...

Как снять данные с весового модуля со своей спецификацией протокола передачи данных и отправить на MQTT сервер Данная статья написана для тех кто на начальном уровне знает Python и немного разбирается в АСУ ТП. Задача достаточно распространенная, надо взять данные со старого, со своей специфичной реализацией протокола оборудования и перевести ее в такой вид, что бы ее можно было ...

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

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

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

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

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

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

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

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

Автоматизация go get — больше не нужно запоминать названия библиотек Каждый раз, когда вы начинаете новый репозиторий программы на Go, первое, что необходимо сделать - добавить библиотеки, которые вы будете использовать. Для этого используется go get. Обычно нужные библиотеки копируются из go.mod соседнего проекта. Но копипаст - не наш метод!...

Atomic Heart обновляется: добавление настроек FOV и возможности увеличения размера субтитров Разработчики игры Atomic Heart выпустили долгожданный патч, добавляющий возможность настройки поля зрения (FOV) и изменения размера субтитров. Это позволяет игрокам более тщательно настроить игровой процесс в соответствии со своими предпочтениями, а также сделать игру более ...

[Перевод] Создание базовой сети 5G с Open5GS и UERANSIM Добрый день, уважаемые хабровчане!Сегодня и в последующие дни я сделаю перевод статей о развертывании архитектуры сетей 5G для дальнейшего ее изучения. Цель этой статьи - показать, что самые передовые технологии доступны всем и каждому, и что будущее можно создавать своими р...

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

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

Microsoft выпустила список изменений сборки Microsoft Edge Beta Build 109.0.1518.14 Компания Microsoft выпустила список изменений сборки Microsoft Edge Beta Build 109.0.1518.14. Новые функции • Привязка учетной записи MSA-AAD. Microsoft позволяет пользователям, у которых есть личная учетная запись Microsoft (MSA) и учетная запись пользователя Microsoft чере...

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

Дельта компрессия и квантизация объектов в C# Cтатья затрагивает тему сериализации данных, которые передаются по unreliable каналам.В первую очередь это касается реалтайм игр, которые критичны к сетевым задержкам, имеют активное общение клиента и сервера, например, 10 - 60 раз в секунду и используют UDP протокол. В стат...

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

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

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

5 приложений для Windows, которые должны быть у каждого владельца iPhone 10 лет назад сложно было представить, что iOS может нормально взаимодействовать с Windows: даже AirPods можно пользоваться в связке с компьютером на другой ОС. Но в 2023 году вполне нормально пользоваться iPhone и ноутбуком с операционкой от Microsoft вместо Макбука, не тер...

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

Колдовской NeoVIM. Часть первая. «Neovim VS Ваша IDE, или долой мышей!» Nvim - это не обычный текстовый редактор, а программа, которая позволяет вам превратить свой рабочий процесс в изящный танец или фортепианную партию.Фишкой колдовского редактора является то, что вы общаетесь с ним не через аналоговое управление (двигаем мышкой, вводим текст)...

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

[Перевод] Как фронтендеру стать мобильным разработчиком, или Перевод API React в Jetpack Compose Привет, я Данильян, работаю в Самокате фронтенд-разработчиком, разрабатываю бэкофисное приложение с использованием React. Когда я только начинал изучать Jetpack Сompose, я наткнулся на статью, в которой простым языком для людей, пришедших из мира веб-технологий в мир мобильн...

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

КОМПАС-3D x64 и Linux на базовом Wine 8.0 Инструкция — вектор для тех, кому нравится поковыряться в системе В прошлой статье я начал публиковать инструкции по развёртыванию КОМПАС-3D под ОС на ядре Linux, а сегодня это дело закончу. Пока разработчики ещё трудятся над нативной ...

Визуализация весов в машинном обучении на примере алгоритма Random Forest и Decision Tree Привет, Хабр!Меня зовут Александр Серов, я Data Scientist и являюсь участником профессионального сообщества NTA.  Сегодня загляну «под капот» алгоритмов, использующих в своей основе деревья решений. Один из самых мощных алгоритмов контролируемого машинного обучения...

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

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

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

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

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

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

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

Pyspark. Анализ больших данных, когда Pandas не достаточно Pandas - одна из наиболее используемых библиотек Python с открытым исходным кодом для работы со структурированными табличными данными для анализа. Однако он не поддерживает распределенную обработку, поэтому вам всегда придется увеличивать ресурсы, когда вам понадобится допол...

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

Изучаем mergeMap, switchMap, concatMap и exhaustMap Я Angular разработчик. Это моя первая статья и таких я собираюсь написать много. Пришла эта идея мне в голову потому что иногда, пытаясь найти какую-то информацию в интернете о принципах работы какого-либо инструмента разработки, я не нахожу абсолютно ничего. Это либо ненави...

3D-графика в Go В большинстве случаев, когда речь заходит об использовании Go, вспоминается backend или DevOps и в самую последнюю очередь можно подумать об использовании Go для создания мобильных или десктопных приложений. Но в действительности, благодаря возможностям интеграции с нативным...

Интеграция с ЕСИА для .Net: запутаннее, чем кажется Передо мной стояла задача по интеграции нашего сервиса с госуслугами. Казалось ничего сложного не предстоит, но учитывая что наш сервис базируется на технологии ASP.NET всё было не так оптимистично. В начале были поиски.. много поисков, которые привели к множеству разрозненн...

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

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

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

[Перевод] Как легко пройти собеседование по Kubernetes в 2023 году Сегодня одним из наиболее часто используемых инструментов в стеке технологических компаний является Kubernetes. С момента своего выпуска K8s получил массовое распространение, расширяя свою экосистему и увеличивая количество пользователей. В 2021 году CNCF (Cloud Native Compu...

“Авгиевы конюшни” отдела суппорта. Как мы накопили 1500 тикетов за 4 года и решили их все за 5 месяцев Всем привет! Мы - отдел бизнес-поддержки (БП) в Social Discovery Group. В этой статье расскажем, как мы повторили шестой подвиг Геракла, очистив доску от 1500 тикетов, которые накопились за 4 года. 1500 задач - это больно. Тикеты кочевали из спринта в спринт, заказчики ежедн...

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

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

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

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

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