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

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

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

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

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

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

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

Граф Скоринг де ля Фер или исследование на тему кредитного скоринга, в рамках расширения кругозора. Ч.2 AntipovSN and MihhaCF Часть вторая, в которой Атосу все норм, а вот Графу де ля Фер чего-то не хватает Вступление от авторов: Добрый день! Сегодня мы продолжаем цикл статей, посвященный скорингу и использованию в оном теории графов. С первой статьей Вы можете ознакомиться зд...

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

Как работает PageRank: реализация на языке R через линейную алгебру и power-метод Привет, хабровчане! Меня зовут Алексей. На этот раз я вещаю с рабочего места в ИТАР-ТАСС. В данном небольшом тексте я познакомлю вас с методом расчета PageRank © (далее буду называть его ПР) на простых, понятных примерах, на языке R. Алгоритм является интеллектуальным дос...

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

Flare-On 2019 write-up -0x01 — Intro Данная статья посвящена разбору всех заданий Flare-On 2019 — ежегодного соревнования по реверс-инжинирингу от FireEye. В данных соревнованиях я принимаю участие уже второй раз. В предыдущем году мне удалось попасть на 11-ое место по времени сдачи, решив все з...

[Перевод] Коллапс волновой функции: алгоритм, вдохновлённый квантовой механикой Алгоритм Wave Function Collapse генерирует битовые изображения, локально подобные входному битовому изображению. Локальное подобие означает, что (C1) Каждый паттерн NxN пикселей в выходных данных должен хотя бы раз встречаться во входных данных. (Слабое условие C2) Распр...

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

[Из песочницы] Абстрактная фабрика на пальцах Написать данную статью меня заставили две причины. Совсем недавно я познакомился с паттерном Абстрактная фабрика. Как говорится – «Не умеешь сам, научи товарища». Известно, что один из лучших способов закрепления материала – это объяснение кому-либо ранее изученного. Вторая ...

«Топологическая» сортировка графа с циклами Полное название статьи должно было звучать как «Устойчивая „топологическая“ сортировка графа с циклами за O(|V| + |e| log |e|) по времени и O(|V|) по памяти без рекурсии», но мне сказали что это перебор. Читать дальше →

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

Она существует: видеокарта NVIDIA GeForce GTX 1180 замечена в тесте GFXBench Несмотря на официальный анонс GeForce RTX 2060 и мобильных GeForce RTX, в Сети продолжают появляться слухи и утечки о новых, ещё не вышедших видеокартах NVIDIA, а именно о моделях GeForce 11-й серии. Очередное подтверждение существования данных видеокарт обнаружилос...

Уничтожить монополию Америки в EDA. Иннополис делает первый шаг Еще с 1990-х годов меня поражало, что проектирование всей мировой цифровой микроэлектроники контролируется двумя конторами в Калифорнии, которые находятся в 10 минутах езды друг от друга — Synopsys и Cadence. В те времена четверть мирового проектирования делалось в Японии ...

ObjectRepository — .NET in-memory repository pattern для ваших домашних проектов Зачем хранить все данные в памяти? Для хранения данных сайта или бекэнда первым желанием большинства здравомыслящих людей выберет SQL базу данных.  Но иногда в голову приходит мысль что модель данных не подходит для SQL: например, при построении поиска или социального графа ...

[Из песочницы] Граф Скоринг де ля Фер или исследование на тему кредитного скоринга, в рамках расширения кругозора AntipovSN and MihhaCF Часть первая, в которой Граф еще не стал Атосом, не встретил Миледи и все у него хорошо Вступление от авторов: Добрый день! Сегодня мы начинаем цикл статей, посвященных скорингу и использованию в оном теории графов (Т.Г.). Надеюсь, нам хватит запала, с...

Разработка Kubernetes оператора с Operator Framework Как уже говорилось в статье Радар технологий, Lamoda активно двигается в направлении микросервисной архитектуры. Большинство наших сервисов упаковываются с помощью Helm и деплоятся в Kubernetes. Данный подход полностью удовлетворяет наши потребности в 99% случаев. Остается ...

Граф Скоринг де ля Фер или исследование на тему кредитного скоринга, в рамках расширения кругозора. Ч.3 Часть третья, в которой Атос выпал в осадок, а Граф де ля Фер мудрит с алгоритмами. UPD Часть первая здесь UPD Часть вторая здесь AntipovSN and MihhaCF Вступление от авторов: Добрый день! Сегодня мы продолжаем цикл статей, посвященных скорингу и использованию в оном теории г...

Язык программирования Ü. Введение, мотивация к созданию, цели Введение С 2016-го года (с перерывами) я разрабатываю собственный язык программирования. Название данного языка — «Ü». Почему Ü? Потому, что хотелось однобуквенного названия, а все буквы из набора A-Z уже заняты. Данная статья имеет задачу ознакомить публику с данным языко...

Блокировки в PostgreSQL: 3. Блокировки других объектов Мы уже поговорили о некоторых блокировках на уровне объектов (в частности — о блокировках отношений), а также о блокировках на уровне строк, их связи с блокировками объектов и об очереди ожидания, не всегда честной. Сегодня у нас сборная солянка. Начнем с взаимоблокировок (...

Паттерны и антипаттерны обоснования задач Содержание 1. Антипаттерны: плохое обоснование 1.1. Очевидно же 1.2. Мамой клянусь! 1.3. Зайчики обиделись 2. Хорошие паттерны обоснования 2.1. Пруфлинк Ссылка на требования Сами требования Ссылка в интернет Письмо заказчика ROI Статистика 2.2. Единообразие 2.3. Про...

[Из песочницы] SciPy, алгоритмы на графах SciPy (произносится как сай пай) — это пакет прикладных математических процедур, основанный на расширении Numpy Python. Он значительно расширяет возможности Python, предоставляя в распоряжение пользователя команды и классы высокого уровня для управления данными и их визуал...

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

Жизнь до рантайма. Доклад Яндекса В большом проекте может возникнуть задача идентификации изменений для конечного пользователя по отличиям в коде фронтенда приложения. Разработчик из Яндекс.Маркета Никита Сидоров рассказал, как мы решали эту проблему при помощи библиотеки Diffector, о построении и анализе гр...

[Из песочницы] Кластерное хранилище Pacemaker + DRBD (Dual primary) + ctdb Доброго времени суток, хабровчане. Поступила задача — развернуть отказоустойчивое High Available хранилище по средствам pacamaker + drbd (в режиме dual primary) + clvmd + ctdb, которое будет монтироваться на сервер. Оговорюсь, что со всеми этими инструментами я сталкиваюсь в...

[Из песочницы] Пишем никому не нужный эмулятор Доброго времени суток. Довольно давно имелось желание написать эмулятор какого-нибудь процессора. А что может быть лучше, чем изобрести велосипед? Имя велосипеду — V16, от склеивания слова Virtual и, собственно, разрядности. Читать дальше →

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

[Из песочницы] Использование SQLite в Unity (Unity + SQLite) Всем привет, данная публикация будет посвящена работе с встраиваемой реляционной базой данных SQLite в Unity. Данная статья написана новичком для новичков с целью показания работы с SQLite, предполагается, что вы знаете основы SQL. Так как в интернете нет ясного тутора для н...

[Перевод] Паттерны и анти-паттерны CI/CD. Часть 1 Всем привет! Друзья, в последний день зимы у нас запустится новый поток по курсу «DevOps практики и инструменты». В преддверии старта курса делимся с вами первой частью статьи: «Паттерны и анти-паттерны CI/CD». Задача пайплайна развертывания состоит из трех частей: Види...

Разработка чат-бота (laravel+botman) Welcome! Я, как junior full stack разработчик, при попытке написать бота с использованием laravel и botman’а столкнулся с многими проблемами. Во-первых, я плохо знаю английский, а на русском статей очень мало на эту тему, а те, что есть не помогли мне решить мои проблемы. В ...

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

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

[Из песочницы] Случайные перестановки и случайные разбиения Я много лет читаю курсы по комбинаторике и графам для студентов-математиков и computer scientists (как это по-русски, компьютерных научников?), раньше в Академическом университете, а теперь в СПбГУ. Программа у нас построена так, что эти темы проходят как часть «теоретическо...

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

Книга «Знакомство с PyTorch: глубокое обучение при обработке естественного языка» Привет, Хаброжители! Обработка текстов на естественном языке (Natural Language Processing, NLP) — крайне важная задача в области искусственного интеллекта. Успешная реализация делает возможными такие продукты, как Alexa от Amazon и Google Translate. Эта книга поможет вам из...

Can I haz? Рассматриваем ФП-паттерн Has Привет, Хабр. Сегодня мы рассмотрим такой ФП-паттерн, как Has-класс. Это довольно любопытная штука по нескольким причинам: во-первых, мы лишний раз убедимся, что паттерны в ФП таки есть. Во-вторых, оказывается, что реализацию этого паттерна можно поручить машине, что вылилос...

[Из песочницы] KVM (недо)VDI с одноразовыми виртуальными машинами с помощью bash Кому предназначена данная статья Данная статья может быть интересна системным администраторам, перед которыми вставала задача создать сервис «одноразовых» рабочих мест. Пролог В отдел ИТ сопровождения молодой динамично развивающейся компании с небольшой региональной сетью,...

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

NB-IoT: как он работает? Часть 3: SCEF – единое окно доступа к услугам оператора В статье «NB-IoT: как он работает? Часть 2», рассказывая про архитектуру пакетного ядра сети NB-IoT, мы упомянули про появление нового узла SCEF. Объясняем в третьей части, что же это такое и зачем это нужно? При создании M2M-сервиса разработчики приложений сталкиваются с...

Изучая Dependency Injection Несмотря на то, что паттерну уже более десятка лет и есть немало статей (и переводов), тем не менее споров, комментариев, вопросов и разных реализаций становится все больше и больше. ПредысторияВ 2004 Мартин Фаулер написал известную статью “Inversion of Control Containers ...

[Перевод] Полезные инструменты Python Друзья, добрый вечер! У нас отличные новости, открыт набор в новую группу по курсу «Разработчик Python». Группа стартует уже в начале июля, а прямо сейчас, по устоявшейся традиции, мы делимся полезным переводом подготовленным для студентов данного курса. Когда вы только н...

Concurrency и паттерны ошибок, скрытые в коде: Deadlock Наверняка, многие слышали, а кто-то встречал на практике, такие слова, как взаимные блокировки(deadlock) и гонки(race condition). Эти понятия относятся к разряду ошибок в использовании concurrency. Если я задам вам вопрос, что такое дедлок, вы с большой вероятностью без доли...

Граф Дуку появится в Battlefront II уже 23 января Многопользовательский боевик Star Wars Battlefront II продолжает обновляться, а тема «Войны клонов» звучит в нём всё отчётливее — 23 января игроки получат возможность выбрать среди героев графа Дуку (среди ситхов более известный под именем Дарт Тир...

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

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

[Перевод] LLVM для Tensorflow, или компилятор эпохи конца закона Мура Экосистема TensorFlow содержит ряд компиляторов и оптимизаторов, работающих на различных уровнях программного и аппаратного стека. Для тех, кто использует Tensorflow ежедневно, этот многоуровневый стек может порождать трудные для понимания ошибки, как времени компиляции, так...

Veeam рассказала, к чему должны стремиться современные компании По данным исследователей, к 2025 году общий объем сгенерированных человечеством данных превысит 175 зеттабайт. И если сейчас порядка 60% этих данных сгенерированы пользователями, то к обозначенной дате две трети информации будет создаваться предприятиями. При этом, 73% компа...

[Из песочницы] Проблемы основных паттернов создания data-driven apps на React.JS Для создания интерфейсов React рекомендует использовать композицию и библиотеки по управлению состоянием (state management libraries) для построения иерархий компонентов. Однако при сложных паттернах композиции появляются проблемы: Нужно излишне структурировать дочерние эле...

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

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

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

Аналитика как фича: процесс работы с данными в Plesk Всем привет, недавно мы писали о том, как учились быть Data Driven с Симулятором GoPractice! В этом выпуске продолжим тему анализа данных и поговорим о выстраивании процесса работы с аналитикой в команде Plesk. Plesk — сложный продукт с 20-летним бэкграундом и эффективно с...

Граф Дуку и новые режимы для Джеонозиса с сегодняшнего дня в Star Wars Battlefront II Компания Electronic Arts рассказала подробности январского обновления Star Wars Battlefront II, которое принесёт лорда ситхов графа Дуку и новые режимы игры. Обновление под названием «Дарт Тиранус» выйдет сегодня. Граф Дуку, бывший джедай и ученик магист...

Сага о тестировании: библиотека redux-saga-test-plan Фреймворк redux-saga предоставляет кучу интересных паттернов для работы с сайд-эффектами, но, как истинные кроваво-энтерпрайзные разработчики, мы должны покрывать весь свой код тестами. Давайте разберёмся, как мы будем тестировать наши саги. Читать дальше →

Паттерны и анти-паттерны CI/CD. Часть 2 Всех с пятницей, друзья. Сегодня делимся с вами переводом второй части статьи «Паттерны и анти-паттерны CI/CD», первую часть которой можно прочитать здесь. Напомним, даная серия публикаций приурочена к запуску нового потока по курсу «DevOps практики и инструменты». 1.3 Патт...

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

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

Управляем генератором или борьба с АЦП в STM32F030 У меня как-то исторически не сложилось с семейством STM32F030, лет 5 назад попробовал поработать с ними и долго удивлялся корявости работы большей части периферии, а потом забил на них. И вот на днях мне все таки пришлось вернуться к данной серии, нужно было измерять за мини...

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

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

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

[Из песочницы] GridmiAPI — простая и гибкая библиотека Android для работы с REST&RPC Здравствуйте, хабровчане! Когда занимаешься разработкой сетевых приложений под платформу Android, понимаешь, что одно и другое приложение похоже друг на друга. С этой мыслью у большинства разработчиков инициализируется и другая мысль — «Почему бы мне не использовать какие-л...

Reactor, WebFlux, Kotlin Coroutines, или Асинхронность на простом примере Многие сервисы в современном мире, по большей части, «ничего не делают». Их задачи сводятся к запросам к другим базам/сервисам/кешам и агрегации всех этих данных по различным правилам и разнообразной бизнес-логике. Поэтому неудивительно, что появляются такие языки, как Go...

Применение MATLAB/Simulink с аппаратурой производства АО «ИнСис» Важной практической задачей является использование Matlab/Simulink с реальной аппаратурой которая позволит принять сигнал из реального мира. Это очень полезно для отладки алгоритмов. В данной работе представлена технология подключения к Simulink устройств АЦП производства АО...

[Из песочницы] Выбор между XML и SQL для накатывания скриптов LiquiBase на примере Java/Spring/H2 В процессе работы над очередным проектом в команде возникли споры по поводу использования формата XML или SQL в Liquibase. Естественно про Liquibase уже написано много статей, но как всегда хочется добавить свои наблюдения. В статье будет представлен маленький туториал по со...

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

[Перевод] Оптимизация поиска в ширину: как обработать граф с 10 миллиардами состояний Пару месяцев назад мне наконец пришлось признать, что я недостаточно умён, чтобы пройти некоторые уровни головоломки Snakebird. Единственным способом вернуть себе часть самоуважения было написание солвера. Так я мог бы притвориться, что создать программу для решения головол...

[Из песочницы] Разброс цен на проектирование и дизайн онлайн-сервиса от 100 тыс до 5 млн руб. Причины Эта статья для тех, кто хочет свой запустить it-стартап и понять сколько денег и времени нужно на MVP (минимальную версии), чтобы протестировать идею или сделать рабочий прототип для презентации инвесторам. После прочтения данной статьи: Вам не нужно будет отправлять 10-2...

Data Mesh: как работать с данными без монолита Привет, Хабр! Мы в Dodo Pizza Engineering очень любим данные (а кто их сейчас не любит?). Сейчас будет история о том, как накопить все данные мира Dodo Pizza и дать любому сотруднику компании удобный доступ к этому массиву данных. Задача под звёздочкой: сохранить нервы коман...

Jaxb (XJC) генерация классов из XML Schema (XSD) с описаниями классов и полей в виде аннотаций. XJC плагин Думаю многие Java-разработчики которые хоть раз сталкивались с Web-сервисами, использовали генерацию Java DTO классов по описанию XML Schema (XSD). Jaxb с этим справляется на ура, не важно как его использовать, через xjc или wsimport вызов из командной строки, maven или grad...

Чат-бот на RASA: опыт Parallels В настоящее время бурно развивается индустрия чат-ботов. Сначала они были достаточно глупыми и могли вести диалог с пользователем, являясь ведущими и предлагая возможные ответы. Потом боты слегка поумнели и начали требовать от пользователя текстового ввода, чтобы из ответо...

Повторное использование форм на React Привет! У нас в БКС есть админка и множество форм, но в React-сообществе нет общепринятого метода — как их проектировать для переиспользования. В официальном гайде Facebook’a нет подробной информации о том, как работать с формами в реальных условиях, где нужна валидация и п...

Вариант задействования блокчейна криптовалют как среды передачи команд для элементов бот-сети Хотелось бы развить мысль, упомянутую в статье «Follow the money: как группировка RTM стала прятать адреса C&C серверов в криптокошельке», которая упаковывала их в количество перечисленных за две транзакции сатоши на определенный криптоадрес. Вредонос, запросив у блокчей...

[Из песочницы] Тестирование API с использованием Postman и Excel Всем привет, я руководитель отдела тестирования, и недавно по работе появилась задача на тестирование API. Для ее решения освоил новый для меня инструмент Postman и JavaScript. Первоначально на каждый API я писал свои коллекции и готовил тестовые данные в JSON формате. Это ...

[Из песочницы] Как в Microsoft SQL Server получать данные из Google Analytics при помощи R В этом материале я хочу подробно показать, как можно при помощи R в Microsoft SQL Server реализовать получение данных из Google Analytics (и вообще из любого API). Благодарности: Поскольку я ни разу не маркетолог мне требовалась помощь специалиста. Тестовый кабинет и доступ ...

[Из песочницы] Шифрование конфигурационных файлов Предыстория Мне поступила задача по настройке CI. Было принято решение использовать трансформацию конфигурационных файлов и конфиденциальные данные хранить в зашифрованном виде. Изучив документацию по шифрованию, вот что было сделано. Key Container В каждой ОС Windows есть...

Навигация внутри Android приложения Введение При Андроид разработке мы используем разные архитектурные решения(паттерны). Например Mvp, Mvvm, Mvi и т.д… Каждый из этих паттернов решает несколько важных задач и поскольку они не идеальны они нам оставляют кое-какие нерешенные задачи. К примеру этих задач относят...

Как мы делали облачный FaaS внутри Kubernetes и побеждали в Тинькофф-хакатоне Начиная с прошлого года у нас в компании начали организовывать хакатоны. Первое такое состязание прошло весьма успешно, о нем мы писали в статье. Второй хакатон прошел в феврале 2019 и был не менее успешным. О целях проведения последнего не так давно писал организатор. Уч...

Уменьшение размера docker образа с spring boot приложением Добрый день. Недавно передо мной встала задача запуска spring boot 2 приложения в kubernetes кластере используя docker образ. Эта проблема не является новой, достаточно быстро я нашел примеры в гугле и запаковал свое приложение. Я был очень удивлен не найдя alpine образ для ...

[Из песочницы] На что способен мозг студента, познающего компьютерный мир Доброго времени суток. Закончив писать очередной скрипт на Bash, понял, что всё должно быть совершенно иначе, однако всё работало. Хочу вам показать, какие непотребства и костыли написал я, дабы решить задачу, но пока не имея вагона знаний. Иначе говоря, каррикатура на прог...

Еще один способ оптимизации docker-образов для Java приложений История по оптимизации образов для java приложений началась с выхода статьи в блоге спринга — Spring Boot in a Container. В ней обсуждались различные аспекты по созданию docker образов для spring boot приложений, в том числе и такой интересный вопрос, как уменьшение размеров...

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

30-31 марта, SIBUR CHALLENGE в Нижнем Новгороде Всем привет! Уже через пару недель, 30-31 марта, мы проведем в Нижнем Новгороде хакатон, посвященный анализу данных. Отбор команд будет идти до 30 марта, задачи нужно будет решать не абстрактные, а вполне себе живые — мы предоставим реальные данные компании для этого. Во...

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

[Из песочницы] Транзакции и механизмы их контроля Транзакции Транзакцией называется последовательность операций над данными имеющая начало и конец Транзакция это последовательное выполнение операций чтения и записи. Окончанием транзакции может быть либо сохранение изменений (фиксация, commit) либо отмена изменений (откат, r...

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

О Структурном Моделировании Организационных Изменений 75% 3 из 4 — так Boston Consulting Group оценивает долю IT проектов, почивших по не-техническим причинам. Уже вот две подряд редакции свода знаний по управлению проектами (PMBOK) выделяют процессы по управлению стейкхолдерами в отдельную область знаний под счастливым ном...

Quester — Платформа для создания и прохождения квестов (Beta) Доброго времени суток! Цель статьи — открыть публике платформу, которая разрабатывается в свободное от работы время и одновременно проверить, как данная платформа выдержит хабраэффект. Содержание Описание платформы Что доступно на сегодняшний день Технические детали (мы вс...

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

Как настроить Linux для входа в домен с использованием алгоритмов ГОСТ Введение Протокол Kerberos 5 сейчас активно используется для аутентификации. Особенностью данного протокола является то, что он осуществляет аутентификацию, базируясь на трех китах: Симметричное шифрование Хеширование ЭЦП Третья доверенная сторона Начиная с пятой версии п...

[Из песочницы] Использование Context API в React для создания глобальной темы приложения Привет, это мой первый пост на Хабр. Надеюсь, Вам будет интересно. Итак, я хочу начать серию постов, напрямую или косвенно касающихся создания ui-kit. Задача данного поста: Найти решение контроля темы приложения, компоненты которого выполнены в React.js. Будем использова...

Анимационный граф состояний Привет! Мы тут в Playrix решили сделать свой Unity3D. А там есть Animator. В этой статье я  расскажу, как мы сделали его у себя и как он работает. Читать дальше →

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

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

Какой код нужно показывать на собеседовании Сегодня с утра был очень интересный пост о том, какой код нужно писать на собеседовании и какие навыки при этом демонстрировать. Тестовая задача была такая. Написать на TypeScript функцию, которая для заданного массива чисел выводит текстовую строку диапазонов: getRanges([...

Ripple начнет контролировать транзакции с XRP в связи с рекомендациями FATF Калифорнийский финтех-стартап Ripple подписал соглашение с технологической компанией Coinfirm для контроля за использованием токена XRP. Данные будут собираться для противодействия отмывания денег с использованием монеты Ripple. Об этом сообщает Forbes.  В частности, Coinfir...

Создание и обновление списков рассылки в Zimbra Collaboration OSE на основе групп и пользователей Active Directory 1. Пара слов от автора В комментариях к прошлой статье мне задали интересный вопрос об автоматическом формировании списков рассылки на основе групп безопасности AD. Есть задача – есть решение. Правда, оговорюсь сразу, решение несколько костыльное (почему – читать далее), но ...

[Из песочницы] Способы сегментации точек в Point Clouds Введение Некоторое время назад мне потребовалось решить задачу сегментации точек в Point Cloud (облака точек — данные, полученные с лидаров). Пример данных и решаемой задачи: Поиски общего обзора существующих методов оказались неуспешными, поэтому пришлось собирать информац...

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

«Автономные Агенты» или исполняем код в открытой криптоплатформе Obyte Obyte — это открытая крипто платформа, использующая в качестве реестра транзакций Directed Acyclic Graph (DAG, направленный граф без циклов) вместо блокчейна, со свободным равным доступом к реестру для всех участников. DAG, в отличие от привычного всем блокчейна, даёт возм...

Распознавание объектов в режиме реального времени на iOS с помощью YOLOv3 Всем привет! В данной статье мы напишем небольшую программу для решения задачи детектирования и распознавания объектов (object detection) в режиме реального времени. Программа будет написана на языке программирования Swift под платформу iOS. Для детектирования объектов буд...

Статистика на службе у бизнеса. Методология расчёта множественных экспериментов Добрый день! Как и было обещано в предыдущей статье, сегодня мы продолжим разговор о методологиях, применяемых в A/B-тестировании и рассмотрим методы оценки результатов множественных экспериментов. Мы увидим, что методологии довольно просты, и математическая статистика не т...

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

[Из песочницы] Видеонаблюдение на orange pi zero — дешево и совсем не сердито Недавно поставил себе задачу реализовать видеонаблюдение со следующими характеристиками: Минимальное энергопотребление Минимальный размер устройства, которое будет принимать видео с камеры (или нескольких камер). С таким небольшим размером, чтобы можно было его, к примеру,...

Топ 5 аксессуаров для Iphone c Aliexpress Добрый день, дорогие друзья. Сегодня на обзоре подборка интересных и нужных товаров для вашего Iphone, с сайта Aliexpress. Можно сказать, что смартфоны от компании Apple пользуются наибольшей популярностью у производителей аксессуаров мобильных телефонов. Для популярных моде...

Blitz Engine & Battle Prime: ECS и сетевой код Вступление Battle Prime — первый проект нашей студии. Несмотря на то, что многие члены команды имеют приличный опыт в разработке игр, мы, естественно, сталкивались с разными сложностями во время работы над ним. Они возникали как в процессе работы над движком, так и в процес...

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

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

Поваренная книга разработчика: DDD-рецепты (4-я часть, Структуры) Введение Итак, мы уже определились с областью применения, методологией и архитектурой. Перейдем от теории к практике, к написанию кода. Хотелось бы начать с шаблонов проектирования, которые описывают бизнес логику — Service и Interactor. Но прежде чем приступить к ним, изучи...

[Перевод] Как без особенных усилий создать ИИ-расиста Предостерегающий урок. Сделаем классификатор тональности! Анализ тональности (сентимент-анализ) — очень распространённая задача в обработке естественного языка (NLP), и это неудивительно. Для бизнеса важно понимать, какие мнения высказывают люди: положительные или отрицате...

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

10-ядерный Cascade Lake-X оказался ненамного быстрее предшественника в Geekbench Постепенно разного рода информации о высокопроизводительных настольных процессорах Intel Core-X десятого поколения (Cascade Lake-X) становится всё больше. На этот раз в базе данных теста производительности Geekbench обнаружилась запись о тестировании 10-ядерного Core i9 семе...

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

«Яндекс» запустил сервис онлайн-обучения «Яндекс.Практикум». Будет готовить фронтендеров, веб-разработчиков и аналитиков Вчера «Яндекс» запустил собственный сервис онлайн-обучения «Яндекс.Практикум», где будет готовить специалистов для ИТ-сферы. Как обещают, разработку можно освоить за полгода, если уделять учебе десять часов в неделю. До какого именно уровня, компания не уточняет. Основател...

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

[Из песочницы] (5-2) Способа перенести большую SQL таблицу Введение Всем привет! Это моя первая статья и пишу я ее от лица младшего инженера-разработчика на языке C#. Так что здесь не будет каких-то подробных сведений о SQL, лишь практические сведения и размышления по решению довольно не очевидной задачи, с которой мне пришлось стол...

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

Приглашаем на BD&DWH Raiffeisen MeetUp Приглашаем на открытый митап BD&DWH, который пройдет 21 мая 2019 года на площадке Райффайзенбанка в Нагатино! Ребята расскажут про опыт разработки хранилища данных на MS SQL Server и паттерны проектирования моделей данных в хранилище. А еще к нам прихал Joel R. Kallman ...

[Перевод] Пространство генерации и пространство возможностей В этом туториале я расскажу о двух терминах, которые используются мной для описания процедурных генераторов: пространство генерации (generative space) и пространство возможностей (possibility space). Мы дадим определения этим двум терминам, а затем рассмотрим интерактивные п...

Админ без рук = гиперконвергенция? Это миф, достаточно распространённый в сфере серверного железа. На практике же гиперконвергентные решения (когда всё в одном) нужны много для чего. Исторически сложилось, что первые архитектуры были разработаны Amazon и Google под свои сервисы. Тогда идея была в том, чтоб...

Яндекс признался, сколько ему принесли собственные устройства Компания Яндекс ранее не раскрывала, сколько она получает от продажи устройств. В последнем финансовом отчёте эта сумма была рассекречена, правда, в графе под заглавием IoT (Internet of Things, Интернет Вещей).

Генерация кода для бекенда. Что генерировать, как и зачем? Я хочу показать в этой статье как у нас в фирме генерируется бекенд (и немного фронтенд) код, зачем вообще это нужно и как это лучше делать. Что именно будем генерировать — не так важно. Важно что мы опишем 3 вида объектов на основе которых сгенерируем взаимодействие фронте...

Инструменты для хорошего Wi-Fi. Ekahau Pro и другие Если вы занимаетесь построением средних и крупных Wi-Fi сетей, где самое меньшее число точек доступа это несколько десятков, а на больших объектах оно может исчисляться сотнями и тысячами, вам нужны инструменты для планирования такой внушительной сети. От результатов плани...

[Из песочницы] Как самостоятельно имплементировать (Proof of Existence) за 2 шага Всем привет! Я работаю в компании, QuantNet, которая проводит конкурсы алгоритмических стратегий. В недавнем времени передо мной встала важная задача — обеспечить гарантии неприкосновенности даты юзеров (это чрезвычайно важно, так как для корректной проверки эффективностей с...

[Из песочницы] Как сделать так, чтобы Daily/Stand-up не был похожим на встречу по статусу? Хотя Daily Scrum или Stand-up встречи принципиально отличаются от отчетных встреч, иногда первые становятся похожими на вторые. Чтобы этого избежать, давайте рассмотрим отличия хорошего эффективного Daily/Stand-up и не лучшей сферической встречи по статусу в вакууме, а затем...

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

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

SNA Hackathon 2019: усложняем архитектуру — упрощаем признаки В этой статье я расскажу про свое решение текстовой части задачи SNA Hackathon 2019. Какие-то из предложенных идей будут полезны участникам очной части хакатона, которая пройдет в московском офисе Mail.ru Group с 30 марта по 1 апреля. Кроме того, этот рассказ может быть ин...

Matrix 1.0 — релиз протокола децентрализованного обмена сообщениями 11 июня 2019 разработчики Matrix.org Foundation объявили о релизе Matrix 1.0 — протокола для реализации федеративной сети, построенной на основе линейной истории событий (events) внутри ациклического графа (DAG). Самым распространённым способом использования протокола являет...

[Из песочницы] GIT изнутри: введение (перевод) Привет, Хабр! Представляю вашему вниманию перевод статьи "Git for Computer Scientists" автора Tommi Virtanen. GIT изнутри: введение От себя: Периодически почитываю статьи, как различные популярные технологии устроены под капотом, наткнулся вот на этот материал. Ста...

Запускаем php скриптики через php-fpm без web сервера. Или свой FastCgi клиент (под капотом) Приветствую всех читателей "Хабра". Дисклеймер Статья получилась довольно длинная и тем кто не хочет читать предысторию, а хочет перейти сразу к сути прошу прямиком к главе "Решение" Вступление В данной статье хотелось бы рассказать о решении довольно нестандартной задачи, с...

[Из песочницы] Основы прозрачного проксирования с использованием 3proxy и iptables/netfilter или как «пустить всё через прокси» В данной статье хотелось бы раскрыть возможности прозрачного проксирования, которое позволяет абсолютно незаметно для клиентов перенаправлять весь либо часть трафика через внешние прокси-серверы. Когда я начинал решать данную задачу то столкнулся с тем, что её реализация ...

Структура DNS пакета Предисловие Решил как то написать снифер DNS, так сказать just for fun. Просто посмотреть какие адреса в моей системе резолвятся. Протокол старый, документации должно быть много. Много. Но все статьи очень не полные и заканчиваются, на самом интересном моменте. Да, есть rf...

[Перевод] Процедурные дороги в Houdini и Unity Для моей постапокалиптической игры Frameshift мне нужно было заполнить очень большой открытый мир разнообразными городами. В нашей команде всего 3 человека, поэтому я, разумеется, воспользовался процедурной мощью Houdini! Раньше, когда не знал о Houdini, я писал на C# соб...

Расширение макроса assert() для реализации минимальной обработки ошибок – Сир, я придумал защиту от дракона. Он нам больше не страшен! Она срабатывает от взмахов крыльев дракона и включает громкую сирену, так чтобы все слышали, что приближается дракон. – Что-нибудь ещё эта защита делает? – Нет, зачем? Мы будем предупреждены! – Да… Съедены под во...

Книга «Spring. Все паттерны проектирования» Привет, Хаброжители! Мы издали книгу в которой дается обзор фреймворка Spring 5 и паттернов проектирования для него. Объясняется принцип внедрения зависимостей (dependency injection), играющий ключевую роль при создании слабосвязанного кода во фреймворке Spring. Затем рассм...

[Из песочницы] Как я делал действительно адаптивный слайдер (карусель) Доброго времени суток, уважаемые читатели и писатели! Сегодня я расскажу, как в проекте передо мной возникла задача по изготовлению адаптивного слайдера и что из этого получилось О статье и для кого она Данную статью я пишу не столько потому, что желаю получить отклик сообще...

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

Трагичная история знакомства с poppler …Или как мы писали пилот приложения для ОС Sailfish с использованием poppler. Год начался с занятной задачи — нашей команде нужно было за короткий срок собрать пилот приложения «Мобильное рабочее место руководителя» на ОС Sailfish. По сути, это мобильный клиент СЭД, т.е. о...

Генерация многофазного ШИМ сигнала на TMS320F28027 Давным давно в далекой далекой галактике я написал небольшую статью о специализированных контроллера Piccolo от Texas Instruments, которые предназначены для управления силовыми преобразователями и электроприводом. Данные контроллеры являются очень мощным инструментов разрабо...

[Из песочницы] Работа Xamarin c SDK, написанном на C Не так давно у меня был интересный проект на Xamarin Forms для нескольких платформ: Android iOS UWP MacOS Нам было необходимо создать библиотеку, которая смогла бы подключаться к нескольким нашим проектам: Xamarin.Forms, Android на Java, Cordova, а также позволять сторонн...

40 миллионов HTTP запросов/мин на голом Си Введение I/O реактор (однопоточный цикл событий) — это паттерн для написания высоконагруженного ПО, используемый во многих популярных решениях: Node.js Tor Transmission Chromium Memcached ... В данной статье мы рассмотрим подноготную I/O реактора и принцип его работы, нап...

Как работать с Shader Graph в Unity3D Графы шейдеров это новый инструмент для создания шейдеров в юнити. Он позволяет создавать шейдеры людям не имеющим навыков написания кода. Результат каждой операции виден при редактировании. Идеальный инструмент для новичков и экспериментаторов. Читать дальше →

Мониторинг окружающей среды в серверном помещении (Bolid + Zabbix) Наверное самым простым способом для ИТ-специалиста при решении задачи мониторинга окружающей среды в серверном помещении будет использование специализированных контроллеров с выдачей данных по SNMP (например, NetBotz или NetPing). Но для тех кто не боится трудностей и хочет ...

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

[Перевод] Реверс-инжиниринг неизвестного процессора по единственной программе TL;DR: мы выполнили обратную разработку программы, написанной для полностью неизвестной архитектуры ЦП без какой-либо документации на ЦП (без эмулятора, без ISA, без всего) всего за десять часов. Из статьи вы узнаете, как нам это удалось… В прошлые выходные мы с командой C...

Иран объявил армию США террористической организацией Как сообщает РБК со ссылкой на агентство Tasnim, высший совет нацбезопасности Ирана объявил Центральное командование Вооруженных сил США (CENTCOM) террористической организацией. Помимо этого, все организации и объединения, так или иначе связанные с армией Штатов, также попад...

[Из песочницы] Интеграция React Native и C++ для iOS и Android Недавно мне предложили поработать над одним интересным проектом. Требовалось разработать мобильное приложение для американского стартапа на платформах iOS и Android с помощью React Native. Ключевой технической особенностью и фактором, который однозначно решил мое участие в п...

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

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

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

Проектируем космическую ракету с нуля. Часть 2 — Полу-решение задачи двух тел Содержание Часть 1 — Задача двух тел Трюкачество с заменой переменных Приветствую всех! В прошлой части мы с вами получили уравнения движения системы из двух материальных точек, а также некоторую мотивацию на использование этой модели. Теперь же попробуем выжать как мож...

Власти Нидерландов закрыли сервис микширования Bestmixer за отмывание $200 млн Сервис микширования биткоина Bestmixer.io был вынужден остановить работу после продолжавшегося почти год расследования по обвинению в отмывании денег. Об этом сообщает Bleeping Computer со ссылкой на Службу фискальной информации и расследований Нидерландов (FIOD). Как и друг...

Создаём Azure DevOps extension У нас есть проект с настроенным CI/CD-процессом. Когда разработчик заканчивает задачу и вливает свои изменения в develop\qa, автоматически запускается билд, который выкладывает новую версию приложения на тестовую среду. В идеальном мире тестировщик автоматически узнаёт о зад...

Как настроить типы задач и не сойти с ума Вводная частьВ предыдущем посте я писал как организовать процесс “грумминга” задач в системе JIra так чтобы “Менеджеру продукта” было удобно осуществлять навигацию по всему Беклогу продукта. Продолжая продуктовую тему напишу о том как я долго шел к пониманию того — что такое...

DEV Labs 2019. Python для решения нетривиальных задач. Онлайн-митап Уважаемые коллеги! Приглашаем принять участие в онлайн-митапе серии DEV Labs, который пройдёт 20 марта и будет посвящён языку Python. Расскажем о применении Python в сфере проектирования систем «умного дома» и рассмотрим примеры решения задач по распознаванию человеческих д...

[Из песочницы] Ломаем паттерн проектирования — Singleton в PHP Одним прекрасным рабочим днём я писал unit-тесты для бизнес-логики на проекте, в котором работаю. Передо мною стояла задача инициализировать некоторые приватные свойства класса определёнными значениями. Читать дальше →

«Секретики» DPAPI или DPAPI для пентестеров Вторая статья по итогам выступления нашей команды на OFFZONE-2018. На этот раз рассмотрим доклад с MainTrack “Windows DPAPI “Sekretiki” or DPAPI for pentesters”. Внимание! Очень много буков! При проведении RedTeam кампаний хочется давать меньше поводов для реакции BlueTeam...

[Перевод] Паттерны и анти-паттерны CI/CD. Часть 3 И снова здравствуйте. Сегодня хотим поделиться с вами переводом третьей части статьи «Паттерны и анти-паттерны CI/CD», предыдущие части которой можно прочитать здесь и здесь. Напомним, данная серия публикаций приурочена к запуску нового потока по курсу «DevOps практики и инс...

Boost.Spirit, или Добавляем «духовности» фильтрам списков Доброго времени суток, коллеги. Я по-прежнему являюсь разработчиком ISPsystem, и меня все еще зовут Дмитрий Смирнов. Некоторое (довольно продолжительное) время я никак не мог определиться с темой следующей публикации, поскольку материала за последние месяцы работы с Boost.A...

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

Как быстро попробовать CQRS/ES в Laravel или пишем банк на PHP Недавно в подкасте "Цинковый прод" мы с товарищами обсуждали паттерн CQRS/ES и некоторые особенности её реализации в Elixir. Т.к. я в работе использую Laravel, грех было не покопаться в интернетах и не найти как же можно потягать этот подход в экосистеме данного фреймворка....

[Из песочницы] Рассылка Push-уведомлений с SpringBoot сервера Предисловие Приветствую Вас. Недавно передо мной стала задача — настроить Push-уведомления на сайте. С этим я столкнулся впервые и во много разобраться мне помогла эта статья. В ней же уже есть описание серверной стороны, но, в процессе изучения данной темы я обнаружил более...

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

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

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

Напиши свою песню за 10 минут (модуль textgenrnn Python3) Сегодня попробуем обучить свою собственную нейронную сеть, чтобы писала текст для песен. Обучающей выборкой будут тексты группы "Руки Вверх". Ничто не мешает чтобы поменять данные на тексты своих любимых групп. Для извлечения данных с веб-сайтов используем Python3 (модуль B...

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

Chainalysis начал отслеживать подозрительные транзакции по 10 Ethereum-токенам Аналитический блокчейн-стартап Chainalysis добавил поддержку 10 токенов стандарта ERC-20 в свое решение для противодействия отмыванию денег с помощью криптовалют, сообщает The Block. Поддержка добавлена для Maker, Dai, 0x, OmiseGo, Basic Attention Token и других активов. Так...

Подключиться мобильным устройством к базе данных без написания серверного кода Привет, Хабр! Хочу поделиться своим опытом использования Форсайт мобильной платформы. Если у вас встанет задача удалённого хранения данных и при этом не писать собственный сервер, то первое, что придёт на ум это инструмент Firebase Realtime Database. Большинство читающих зн...

[Из песочницы] Преобразование черно-белых изображений в ASCII-графику при помощи неотрицательного матричного разложения В общем случае преобразование изображения в ASCII-графику представляет собой довольно трудоемкую задачу, однако существуют алгоритмы, позволяющие автоматизировать данный процесс. В данной статье рассматривается подход, предложенный исследователями Paul D. O’Grady и Scott T....

Automation Day, или как мы наращиваем слой автотестов Как часто, работая в команде, вы сталкиваетесь с ситуацией, когда часть задач по автоматизации тестирования попадает в бэклог и остается в ручном тестировании навсегда? Мы постоянно сталкиваемся с такой проблемой, и причины всегда разные: не успели / не хватило времени, а ...

[Перевод] 3 практических примера использования деструктурирования в JavaScript Пишем код чище, используя паттерны деструктурирования Вы, наверное, уже знакомы с деструктурированием в JavaScript. Оно пришло к нам в 2015 году в спецификации ES6, но если вам нужно освежить знания, то на сайте Mozilla можно почитать большую подробную статью, как это всё р...

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

Дизайн интерфейса для игры, рисуем пак иконок Всем привет! Я Михаил Кравченко, дизайнер игровых интерфейсов. Это статья о том как нарисовать пак иконок для игры. Ниже вы видите результат. Фиксируем требования к результату Вот к нам прилетела задача примерно такого содержания. В игре начинается событие — вторжение ра...

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

Устанавливаем Vmware ESXi на Mac Pro 1,1 В статье описываю свой опыт установки VMware ESXi на старинный Apple Mac Pro 1,1. От заказчика поставлена задача – расширить файловый сервер. Как создавался файловый сервер компании на PowerMac G5 в 2016, и какого было обслуживать созданное legacy достойно отдельной стать...

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

Добавляем Sign in with Apple на back-end На WWDC 2019 Apple представила новую систему авторизации пользователей — Sign in with Apple. Возникла задача интегрировать её в наш back-end и синхронизировать её с уже существующими методами авторизации при помощи email, Google и Facebook. За задачу взялся наш коллега kuren...

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

Шпаргалка по структурам данных в Go Некоторые компании проводят собеседования с online написанием кода. Требуется решить олимпиадную задачку на скорость. В таких условиях нет времени посмотреть подробности реализации структур данных — нужно сразу реализовать идею. Но курсы по алгоритмам и структурам данных да...

[Перевод] Зашифрованные предпочтения в Андроид Добрый день. Меня зовут Дмитрий и я являюсь преподавателем базового курса «Android разработчик» в Otus. Сегодня я решил поделиться переводом статьи, которую считаю интересной и думаю, что она может быть полезной для многих читателей нашего блога. Хранить данные в SharedPr...

[Перевод] Создание приложения с использованием Styled-Components в Vue.js Привет, Хабр! На днях наткнулся на одну очень интересную статью на португальском. К счастью, удалось найти её английскую версию. Предлагаю вашему вниманию перевод на русский. Другие мои переводы вы можете найти на мой странице на хабре. Ссылка на оригинал: португальский, ан...

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

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

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

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

[Из песочницы] Как я Keras на C++ запускал Не так давно передо мной встала производственная задача – запустить обученную модель нейронной сети Kesas на нативном C++ коде. Как ни странно, решение оказалось вообще не тривиальным. В результате чего появилась собственная библиотека, дающая такую возможность. О том, как ж...

Статически безопасная динамическая типизация à la Python Привет, Хабр. На днях в одном моём хобби-проекте возникла задача написания хранилища метрик. Задача сама по себе решается очень просто, но моя проблема с хаскелем (особенно в проектах для собственного развлечения) в том, что невозможно просто взять и решить задачу. Необходим...

[Из песочницы] Buildroot — часть 1. Общие сведения, сборка минимальной системы, настройка через меню Введение В данной серии статей я хочу рассмотреть систему сборки дистрибутива buildroot и поделиться опытом её кастомизации. Здесь будет практический опыт создания небольшой ОС с графическим интерфейсом и минимальным функционалом. Прежде всего, не следует путать систему сбо...

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

[Перевод] Самодельный сборщик мусора для OpenJDK Это перевод статьи Алексея Шипилёва «Do It Yourself (OpenJDK) Garbage Collector», публикуется с согласия автора. О любых опечатках и других багах сообщайте в личку — мы их поправим.Процесс создания чего-нибудь в рантайме языка — весёлое упражнение. По крайней мере, создание ...

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

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

[Из песочницы] Генератор мемов на Ruby для привлечения интереса к языку По моему мнению язык Ruby перестал быть популярным как в 2012 — 2014 году и поэтому у меня возникло желание пока про язык совсем не забыли, попробовать его снова донести в массы, ведь Ruby по моему мнению самый удобный и практичный язык для веб разработки. Я с неделю назад ...

[Из песочницы] Workflow одного спринта agile команды разработки Не буду претендовать на свежесть или уникальность, хотелось рассказать своими словами простой материал со стороны описания пользы понятий и действий. Бездумный карго-культ, который насаживают сверху редко приносит 100% пользу. Возможно многие, кто пришел в IT сам, а не в ст...

Исследование быстродействия СУБД MS SQL Server Developer 2016 и PostgreSQL 10.5 для 1С Цели и требования к тестированию «1С Бухгалтерии» Основной целью проводимого тестирования является сравнение поведения системы 1С на двух разных СУБД при прочих одинаковых условиях. Т.е. конфигурация баз данных 1С и первоначальная заполненность данными должны быть одинаковым...

STM32 + PPP + GSM + LwIp + TLS 1.2 Недавно пришлось снова поднять PPP на STM32 Первая часть Задача усложнилась обязательным требованием, использовать TLS 1.2 и отправлять данные по MQTT Напомню, что MQTT и TLS находятся выше TCP (гуглим osi) Беглый поиск выдал скудную таблицу результатов Amazon FreeRTOS о...

[Из песочницы] Сбербанк или туда и обратно ГЛАВА 1. Нежданные гости Все началось в то злополучное утро, когда Project Manager сообщил, что сроки реализации проекта должны быть быстро и решительно сокращены на месяц. Точнее говоря проект должен быть готов через 4 дня. Нет, наш PO не зверь, и ничуть не похож на сову ...

Как мы собирали данные по рекламным кампаниям с интернет-площадок (тернистый путь к продукту) Кажется, что сфера интернет-рекламы должна быть максимально технологичной и автоматизированной. Ещё бы, ведь там работают такие гиганты и эксперты в своём деле, как Яндекс, Mail.Ru, Google и Facebook. Но, как оказалось, нет предела совершенству и всегда есть что автоматизиро...

[Из песочницы] Автоматика для дома своими руками Моя статья будет полезна тем, кто только задумывается над подобного рода системой, поможет определиться делать ли самому и ориентирована в основном на энтузиастов-колхозников. Изначально пишу “автоматика” а не умный дом, потому что на данном этапе умных функций в моей систем...

Как добавить проверки в NoVerify, не написав ни строчки Go-кода В статическом анализаторе NoVerify появилась киллер-фича: декларативный способ описания инспекций, который не требует программирования на Go и компиляции кода. Чтобы вас заинтриговать, покажу описание простой, но полезной инспекции: /** @warning duplicated sub-expressions in...

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

ПО Chainalysis будет отслеживать транзакции USDT и Binance Coin на предмет отмывания денег Аналитический блокчейн-стартап Chainalysis сообщил, что начиная с сегодняшнего дня предлагаемый им инструмент отслеживания транзакций Chainalysis KYT (Know Your Transaction) поддерживает четыре дополнительные монеты. В их число вошли внутренний токен биржи Binance BNB, а так...

Подготовка данных в Data Science-проекте: рецепты для молодых хозяек В предыдущей статье я рассказывала про структуру Data Science-проекта по материалам методологии IBM: как он устроен, из каких этапов состоит, какие задачи решаются на каждой стадии. Теперь я бы хотела сделать обзор самой трудоемкой стадии, которая может занимать до 90% общ...

JavaScript: Большое целое Ну почему Не так давно JavaScript похвастался новым примитивным типом данных BigInt для работы с числами произвольной точности. Про мотивацию и варианты использования уже рассказан/переведен необходимый минимум информации. А мне бы хотелось обратить чуть больше внимания на превнесенн...

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

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

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

PHP-библиотеки для e-commerce: работа с АТОЛ и Payture, парсинг кодов GS1 и другие задачи Привет, меня зовут Павел Савельев, я руководитель отдела автоматизации бизнес-процессов в Lamoda. Мы работаем с очень разными задачами, и стараемся подобрать для каждой наиболее удобный инструментарий. Соответственно, мы используем разные языки — в наших системах можно встре...

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

Параметризация нейросетью физической модели для решения задачи топологической оптимизации Недавно на arXiv.org была загружена статья с не очень интригующим названием "Neural reparameterization improves structural optimization" [arXiv:1909.04240]. Однако оказалось, что авторы, по сути, придумали и описали весьма нетривиальный метод использования нейросети для полу...

Зачем мы делаем Enterprise Service Mesh Service Mesh — известный архитектурный паттерн для интеграции микросервисов и перехода на облачную инфраструктуру. Сегодня в облачно-контейнерном мире обойтись без него довольно сложно. На рынке уже доступны несколько open-source реализаций service mesh, но их функциональнос...

Эмуляция Amazon web services в JVM процессе. Уклоняемся от Роскомнадзора и ускоряем разработку и тестирование Зачем же может потребоваться эмулировать инфраструктуру Amazon web services? Прежде всего это экономия — экономия времени на разработку и отладку, и что не менее важно — экономия денег из бюджета проекта. Понятно что эмулятор не будет на 100% идентичен исходной среде котору...

[Перевод] Доступное объяснение алгоритма коллапса волновой функции Алгоритм коллапса волновой функции (Wavefunction Collapse Algorithm) учит компьютер импровизировать. На входе он получает архетипичные данные и создаёт процедурно генерируемые данные, похожие на исходные. (Источник) Чаще всего он используется для создания изображений, но ...

[recovery mode] Одна задача из SEO рутины: решение в 3 шага По правде говоря, это не «бомбический» кейс, а стандартная ситуация в SEO и её обычное решение. Из таких ситуаций состоит большая часть работы. В данном случае, статья будет интересна владельцам интернет магазинов. Сайт клиента в один момент сильно потерял в позициях. Как...

Принимаем участие в недавнем Telegram Contest, пишем крутое OpenGL ES приложение и выигрываем ничего Забегая вперед, хотелось бы обратить внимание на сумбурную ситуацию с победителем первого этапа конкурса. Победитель забрал 50К американских президентов. НО, был как минимум, еще один разработчик, который написал идентичное приложение и не был никак вознагражден. Он даже по...

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

[recovery mode] VueJs + MVC минимум кода максимум функциональности Добрый день. Я много лет использовал WPF. Паттерн MVVC наверное один из наиболее удобных архитектурных паттернов. Я предполагал что MVC почти то же самое. Когда я на новом месте работы я увидел использование MVC на практике, то был удивлен запутанностью и одновременно отсут...

Разрабатываем утилиту на GraalVM Постановка задачи Периодически у меня возникает задача поделиться файлами по локальной сети, например, с коллегой по проекту. Решений для этого может быть очень много — Samba / FTP / scp. Можно просто залить файл в общедоступное публичное место типа Google Drive, приложить к...

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

Как мы решали задачу продолжения плейлистов на RecSys Challenge и заняли 3 место В 2018 наша команда традиционно приняла участие в RecSys Challenge. Это ежегодный конкурс по рекомендательным системам, проводимый в рамках конференции RecSys. Он не такой масштабный, как конкурсы на Kaggle, но считается одним из самых престижных соревнований по рекомендател...

Объектное хранилище в подсобке, или Как стать самому себе сервис-провайдером Первый прототип объектных хранилищ мир увидел в 1996 году. Через 10 лет Amazon Web Services запустит Amazon S3, и мир начнёт планомерно сходить с ума от плоского адресного пространства. Благодаря работе с метаданными и своей возможности масштабироваться, не проседая под нагр...

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

MVP и Dagger 2 – скелет Android-приложения – часть 1 Данная статья нацелена на новичков в Android-разработке и призвана помочь в создании минимально необходимой структуры приложения. Так получилось, что я относительно недавно начал программировать под Android – после месяца без проекта в компании, где я работаю, меня определи...

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

Как решать NP-трудные задачи с помощью параметризованных алгоритмов Научно-исследовательская работа, пожалуй, самая интересная часть нашего обучения. Идея в том, чтобы ещё в университете попробовать себя в выбранном направлении. Например, студенты с направлений Software Engineering и Machine Learning часто идут делать НИРы в компании (в осно...

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

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

Главный секрет Google I/O 2019, о котором не узнать из интернета Титульная конференция крупнейшего гиганта рекламного бизнеса отгремела уже как неделю, а некоторые до сих пор пишут статьи. Так как всё, что можно было написать про программу и главные новинки, уже написано (привет phillennium), то что остаётся скромному посетителю? Только р...

Унифицированная обработка ошибок (C++ вариант для микроконтроллеров) При разработке ПО для микроконтроллеров на С++ очень часто можно столкнуться с тем, что использование стандартной библиотеки может привести к нежелательным дополнительным расходам ресурсов, как ОЗУ, так и ПЗУ. Поэтому зачастую классы и методы из библиотеки std не совсем подх...

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

Проектируем космическую ракету с нуля. Часть 4 — Второй закон Кеплера Содержание Часть 1 — Задача двух тел Часть 2 — Полу-решение задачи двух тел Часть 3 — Ужепочти-решение задачи двух тел Второй закон Кеплера Всем привет! В прошлый раз мы остановились на вот этих уравнениях: \begin{equation*} \begin{cases} \ddot{x} = -\mu \dfrac{x}...

OnePlus включит в Oxygen OS лучшую новую функцию, предложенную пользователями Компания OnePlus объявила о начале конкурса на создание самой интересной новой функции для графического оболочки Oxygen OS. Пользователям предлагают стать частью команды разработчиков, предложить новую функцию и обосновать, почему она должна стать частью Oxygen OS. В да...

У дизайнера новая идея? Что может быть проще Привет, хабровчанин! Дизайнеры люди идейные, а заказчики с их бизнес-требованиями, тем более. Представь, что ты сваял свой самый лучший UIkit на свете на самом крутом %вставить свое% JS фреймворке. Казалось бы, там есть все, что нужно проекту. Теперь-то ты сможешь пить коф...

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

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

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

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

[Перевод] Разбираемся в основах Blockchain: Задача Византийских Генералов. Часть 1 Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок», который стартует уже в этом месяце. Блокчейн – это децентрализованная система, состоящая из различных субъектов, которые действуют в зависимости от своих стимулов и имеющейся у них ин...

Важной задачей считают анализ больших данных большинство российских компаний Компания IDC совместно с Hitachi Vantara подготовила исследование «Аналитика больших данных как инструмент бизнес-инноваций». Оно показало, что более 55% компаний имеют бюджет на внедрение решений по аналитике больших данных. Анализ больших данных становится важной з...

«Мы доверяем друг другу. Например, у нас вообще нет зарплат» — большое интервью с Тимом Листером, автором Peopleware Тим Листер — соавтор книг «Человеческий фактор. Успешные проекты и команды» (в оригинале книга называется «Peopleware») «Вальсируя с Медведями: управление рисками в проектах по разработке программного обеспечения» «Балдеющие от адреналина и зомбированные шаблонами. Паттерн...

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

[Из песочницы] Опыт разработки ассета Unity для поиска пути в 3D пространстве Вас приветствует команда «Graceful Algorithms»! В качестве эксперимента нами было принято решение вести «дневники» разработчиков, в которых мы будем делиться опытом и освещать некоторые интересные результаты проводимых нами экспериментов. Это наша дебютная статья по проект...

[Перевод] RxVMS — практичная архитектура для Flutter-приложений Это первый пост из серии публикаций, в которых объясняется мое понимание архитектуры приложений для Flutter. Предупреждаю — это будет весьма самоуверенным. Пока запланированы: Введение (этот пост) Основы Dart Streams RxDart: магические трансформации потоков Основы RxVMS: Rx...

Машинное обучение vs. аналитический подход Какое-то время назад мы нашли свои старые материалы, по которым обучали первые потоки на наших курсах машинного обучения в Школе Данных и сравнили их с теперешними. Мы удивились, сколько всего мы добавили и поменяли за 5 лет обучения. Осознав, почему мы это сделали и как, ...

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

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

IR интерфейс, Raspberry и LIRC Моя задача сечас — научиться отправлять команды кондиционерам и другим устройствам в доме. Исходно эти устройства имеют только IR remote control. Для решения этой задачи у меня есть Raspberry Pi и IR transceiver shield. В статье можно найти конфиги, команды, советы и немного...

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

[Из песочницы] Распределённый чат на Node.JS и Redis Небольшой вопрос/ответ: Для кого это? Людям, которые мало или вообще не сталкивались с распределенными системами, и которым интересно увидеть как они могут строится, какие существуют паттерны и решения. Зачем это? Самому стало интересно что и как. Черпал информацию с разных...

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

[Из песочницы] Визуальное представление выборов в Санкт-Петербурге — магия накрутки голосов Привет! В сентябре этого (2019) года прошли выборы Губернатора Санкт-Петербурга. Все данные о голосовании находятся в открытом доступе на сайте избирательной комиссии, мы не будем ничего ломать, а просто визуализируем информацию с этого сайта www.st-petersburg.vybory.izbirk...

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

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

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

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

СМИ: Владимир Зеленский представит нового губернатора Одесской области — биткоин-миллионера Президент Украины Владимир Зеленский на этой неделе представит нового главу Одесской обладминистрации. По информации местного издания «Думская», им станет 36-летний предприниматель Максим Куцый, задекларировавший криптовалюты на $4,2 млн. Напомним, в графе «Денежны...

DSC и напильник: часть 1. Настройка DSC Pull Server для работы с базой данных SQL PowerShell Desired State Configuration (DSC) сильно упрощает работу по развертыванию и конфигурированию операционной системы, ролей сервера и приложений, когда у вас сотни серверов. Но при использовании DSC on-premises, т.е. не в MS Azure, возникает пара нюансов. Они осо...

Самодокументируемый REST сервер (Node.JS, TypeScript, Koa, Joi, Swagger) Про преимущества и недостатки REST написано уже довольно много статей (и еще больше в комментариях к ним) ). И если уж так вышло, что вам предстоит разработать сервис, в котором должна быть применена именно эта архитектура, то вы обязательно столкнетесь с ее документировани...

[Из песочницы] Зачем нам UML? Или как сохранить себе нервы и время Многие программисты, столкнувшись со сложной задачей, пренебрегают этапом проектирования, ссылаясь на то, что проектирование — это потеря времени, и в данном случае оно будет мне только мешать. Зачастую это утверждение оказывается верным, если задача и правда небольшая и к...

Если у Вас нет Питона, но есть Керас-модель и Джава Всем привет! В построении ML-моделей Python сегодня занимает лидирующее положение и пользуется широкой популярностью сообщества Data Science специалистов [1]. Также, как и большинство разработчиков, Python привлекает нас своей простотой и лаконичным синтаксисом. Мы использу...

[Из песочницы] Как выбрать широкополосный модем для беспилотного летательного аппарата (БЛА) или робототехники Задача передачи большого объема данных с борта беспилотного летательного аппарата (БЛА) или наземной робототехники не редкость в современных приложениях. В данной статье рассматриваются критерии выбора широкополосных модемов и сопутствующие проблемы. Статья написана для разр...

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

[Из песочницы] Учим компьютер различать звуки: знакомство с конкурсом DCASE и сборка своего аудио классификатора за 30 минут Введение Доброго времени суток, хабр! Накопив немного опыта в решении задач классификации и детектирования акустических событий, мы с ananaskelly решили, что готовы им с вами поделиться. Цель этой статьи — познакомить вас с некоторыми задачами и рассказать о соревновании по ...

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

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

15 стран разработают совместно с FATF систему отслеживания криптовалютных транзакций Группа разработки финансовых мер борьбы с отмыванием денег (FATF) создаст систему сбора и обмена персональными данными лиц, осуществляющих операции с криптовалютой, для предотвращения отмывания средств, финансирования терроризма и другой незаконной деятельности. Об этом сооб...

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

Смартфон Honor 10i скоро выйдет в Европе Honor, подразделение компании Huawei, в скором времени выпустит на европейском рынке новый смартфон, который проходит под модельным номером Honor HRY-LX1T. Информация была опубликована в базе данных европейского регулятора, который подтверждает, что смартфон поступит в ...

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

Несколько соображений по поводу параллельных вычислений в R применительно к «enterprise» задачам Параллельные или распределенные вычисления — вещь сама по себе весьма нетривиальная. И среда разработки должна поддерживать, и DS специалист должен обладать навыками проведения параллельных вычислений, да и задача должна быть приведена к разделяемому на части виду, если тако...

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

Shader — это не магия. Написание шейдеров в Unity. Введение Всем привет! Меня зовут Дядиченко Григорий, и я основатель и CTO студии Foxsys. Сегодня хочется поговорить про шейдеры. Умение писать шейдеры (и в целом работать с рендером) очень важно при разработке под мобильные платформы или AR/VR, если хочется добиться крутой графики. М...

Как загрузить OpenStreetMap в Hive? В прошлой статье я рассмотрел обратное геокодирование средствами Spark. Теперь представим, что перед нами встала задача прямого геокодирования почтовых адресов. То есть, получения для записанного текстом адреса неких географических координат. Адреса для определенности росс...

[Из песочницы] Распознавание цифровых схем. Асинхронный счётный триггер Борис Цирлин и Александр Кушнеров 30.10.2019 Для опытного разработчика схем не составляет большого труда узнать знакомую схему, в каком бы виде она не была нарисована. В этой статье мы покажем, что две транзисторные схемы из патентов являются вариантом асинхронного счётного ...

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

Cекция Science на конференции DUMP: расширяйте горизонты познания 19 апреля в Екатеринбурге пройдет конференция разработчиков DUMP. Программные директора секции Science — Виктор Грищенко (TU Delft), Алексей Кирпичников (Контур) и Глеб Альшанский (Jet.Team) — рассказали, что интересного будет в секции и зачем на нее идти. Как часто у ва...

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

Digital-мероприятия в Москве cо 23 по 29 сентября Подборка мероприятий на неделю Figma Moscow Meetup 23 сентября (понедельник) Берсеневская наб 6с3 бесплатно На митапе выступит сооснователь и глава Figma Дилан Филд, а представители из команд Яндекса, Miro, Digital October и МТС поделятся своим опытом. Большинство докладов...

Основы формата GLTF и GLB, часть 2 Данная статья является продолжением рассмотра основ GLTF и GLB форматов. Вы можете найти первую часть статьи здесь. В первой части мы рассмотрели с вами зачем изначально планировался формат, а также такие артефакты и их атрибуты GLTF формата как Scene, Node, Buffer, BufferVi...

Дети, математика и R Нынешнее образование в школе все более и более редуцируется. А в оставшейся части акцент все более и более ставится на внешний эффект. «Проектная работа», презентации, вау-эффекты и пр. мишура. Причем зачастую непонятно, кому раздают все эти упражнения — ребенку или родителя...

Качаем 16GB торрент через планшет с 4GB свободного места Задача: Есть ПК без интернета но есть возможность перекинуть файл по USB. Есть планшет с интернетом с которого этот файл можно перекинуть. На планшет можно скачать нужный торрент но не достаточно свободного места. Файл в торренте один и большой. Путь к решению: Я запустил т...

[Из песочницы] Мониторинг доступности хостов на Powershell Всем доброго времени суток, хочу поделиться простой инструкцией «Как можно перестать вручную пинговать десяток хостов. Без регистрации и СМС!». С просторов Интернета Важно: я не программист и не системный администратор, но мне приходиться работать одновременно с большим на...

Подключение энкодера к экранам OLED 0.96' (SSD1306) и OLED 1.3' - SH1106 в прошивках MARLIN Добрый день всем! Получаю достаточно много вопросов в личную почту по подключению энкодеров и экранов OLED 0.96'  (SSD1306) и OLED 1.3' - (SH1106) в прошивках MARLIN, поэтому решил написать эту маленькую статью по подключению данных экранов, энкодера и карты памяти. Экр...

[Из песочницы] Первое, что нужно сделать запуская проект на Django Приветствую сообщество, встала передо мной задача написать социальную сеть. А коль скоро язык программирования, которым я более-менее владею — это Python, я выбрал фреймворк Django для реализации проекта. Чтобы не тратить время на написание HTML шаблонов и CSS стилей, эти фа...

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

Быть фулстеком и не быть им Я именно тот 40+ летний синглстек, который упоминался в нашумевшей статье. Когда я вижу таск, где бэкендер упоминает dTo, к которому нужно написать обвязку на фронте… Я запланировано выхожу из себя. Во-первых, я хорошо работаю, когда злой. А тут такой случай. А во-вторых (и ...

[Из песочницы] Как я свой первый ИИ писал Привет, Хабр. История моя берёт начало в январе 2019 года. Мы с моей тимой геймдевелоперов решили взяться за самый большой проект в нашей истории- 2Д платформер. Нет, мы не делали до этого какие-нибудь FlappyBird'ы или змейки, но объём работы в этом проекте просто сносил на...

[Конспект админа] Как подружиться с DHCP и не бояться APIPA Сервис, выдающий IP-адреса устройствам в локальной сети, кажется одним из самых простых и всем знакомых. Тем не менее у моих младших коллег до сих пор временами всплывают вопросы вроде «компьютер что-то получает какой-то странный адрес», а появление второго DHCP-сервера в о...

Уровни изолированности транзакций для самых маленьких Сегодня хотел бы довести крайне интересный, но часто покрытый тайнами для обычных смертных программистов раздел базы данных (БД) — уровни изолированности транзакций. Как показывает практика, многие люди, связанные с IT, в частности с работой с БД, слабо понимают зачем нужн...

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

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

Зачем нужен Change Management? Вопрос без подвоха. Ну почти. Его контекст довольно-таки прост. Если конкретизировать, то он звучит так: «как сформулировать для руководства бизнеса и ИТ, а также для персонала ИТ-департамента преимущества от инвестиций в постановку и автоматизацию процесса управления...

[Из песочницы] Беспроводной программируемый по Wi-Fi комнатный термостат с монитором качества воздуха и другими полезными функциями В системе автономного отопления моей квартиры работает выпускаемый серийно беспроводной комнатный термостат. Система, конечно, функционирует и без него: термостат был приобретен для экономии расхода газа и повышения комфорта. Вещь очень полезная, но, на мой взгляд, несколько...

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

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

Yii 2.0.16 Команда PHP-фреймворка Yii выпустила версию 2.0.16, содержащую более сотни исправлений и немного улучшений. Исправлены несколько проблем с безопасностью. Ветка Yii 2.0 достигла заморозки более чем год назад, что означает что в неё принимаются главным образом исправления. Сд...

Компания IDC и Hitachi Vantara провели исследование «Аналитика больших данных как инструмент бизнес-инноваций» Компания IDC совместно с Hitachi Vantara подготовила исследование «Аналитика больших данных как инструмент бизнес-инноваций». Оно показало, что более 55% компаний имеют бюджет на внедрение решений по аналитике больших данных. Анализ больших данных становится важной задачей к...

Коротко о работе с RabbitMQ из Python Так повелось, что в процессе работы в МегаФоне, приходится сталкиваться с однотипными задачами при работе с RabbitMQ. Закономерно возникает вопрос: «Как упростить и автоматизировать выполнение таких задач?» Первое решение, которое приходит в голову, использовать интерфейс ...

SDN запустят в космос: зачем это нужно Программно-определяемые сети «отправят в космос» для управления космическими аппаратами. Под катом расскажем, кто этим занимается и какие задачи будет выполнять SDN. Читать дальше →

Шикарный косплей по мотивам Ван Хельсинг Моё вам приветствие, дорогие друзья! Сегодня я поделюсь с вами очень качественным фантастическим, косплеем по мотивам Ван Хельсинг! В героев перевоплотились косплей-модели: Анна Валериус - Мария Стихеева, Граф Дракула - Антон Миронов, Верона - Елизавета Чеботарёва, Маришка -...

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

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

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

[Из песочницы] Ещё одна библиотека для создания mock'ов Добрый день. Я занимаюсь автоматизацией тестирования. Как и у всех автоматизаторов, у меня есть набор библиотек и инструментов, которые я обычно выбираю для написания тестов. Но периодически возникают ситуации, когда ни одна из знакомых библиотек может решить задачу с риском...

[Перевод] Учебный курс по React, часть 27: курсовой проект В этой части перевода учебного курса по React вам предлагается создать генератор мемов. → Часть 1: обзор курса, причины популярности React, ReactDOM и JSX → Часть 2: функциональные компоненты → Часть 3: файлы компонентов, структура проектов → Часть 4: родительские и дочер...

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

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

RepRapFirmware небольшой обзор прошивки + бонус библиотека для работы TMC2130 c RuRamps4D Я как то уже писал о том как загрузить прошивку RepRapFirmware (RRF) на плату RuRamps4D и подключить дисплей FullGraphic. Прошивка эта очень интересная, но информации про нее на портале немного, поэтому я хочу восполнить этот момент.Для начала я хочу сделать небольшой обзор ...

В FATF назвали информацию о системе сбора персональных данных пользователей криптовалют фейком Группа разработки финансовых мер борьбы с отмыванием денег (FATF) опровергла слухи о создании некой системы сбора и обмена персональными данными лиц, осуществляющих операции с криптовалютой. Об этом старший аналитик организации Том Нейлан заявил в разговоре с Finance Magnate...

Рынок труда: финансовый администратор в WWF, PR-менеджер в «Детские деревни – SOS» и другие вакансии Подборка актуальных вакансий от редакции «Теплицы».  Разработчик игровых механик в Теплицу социальных технологий  Команда Теплицы социальных технологий ищет творческого и ответственного человека на вакансию геймификатора для платформ «IT-волонтер» и «Теплосе...

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

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

У пользователей Apple Card воруют деньги с карт. Что происходит? Титановая Apple Card — пожалуй, одна из самых красивых банковских карт в мире На прошлой неделе стало известно о первом случае мошенничества с Apple Card — титановую карту одного из пользователей «клонировали» и смогли совершить операцию с ее помощью. Это хорошее...

[Перевод] Новости из мира OpenStreetMap № 480 (24.09.2019-30.09.2019) CyclOSM is a brand new bike-oriented map 1 | Leaflet | CyclOSM v0.2 | Map data OpenStreetMap contributors О нас Уточнение: пользователь AndiTabinas не является участником программы стипендии SotM-2019 (об этом мы ошибочно написали в прошлом выпуске № 479). Информация (пос...

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

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

Как распознать картинки и тексты на телефоне с помощью ML Kit Два года назад Сундар Пичаи, глава Google, рассказал о том, что компания из mobile-first становится AI-first и фокусируется на машинном обучении. Год спустя вышел Machine Learning Kit — набор инструментов, с которым можно эффективно использовать ML на iOS и Android. Об ML ...

Реестр печати с расчетом И так, доброго всем времени суток)Данный пост начну с небольшого рассказа.Я думаю как и многие из нас, я занимаюсь печатью на заказ, правда пока в небольших объемах, но всё же столкнулся с некоторой проблемой. Я старался всегда вести какой-то учет заказов, чтобы собирать ста...

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

H-bot своими руками. Часть 2 И снова всем доброго времени суток! Почитав ваши ответы:1) повернул стол на 90 град. (пока не всё, но смысл понятен)2) добавил подшипников на валы (теперь их восемь)3) полностью переделал портал оси XY. (вышло 2 варианта, но это по моему лучше.)4) добавил больше профиля (сни...

[Из песочницы] Пишем блог на микросервисах – часть 1 «Общее описание» В этой статье хочу поделится нашими c SergeyMaslov наработками решения типовых задач с использованием микросервисной архитектуры на примере задачи «создание блога» (в надежде, что читатель представляет как устроен блог и это не должно вызывать вопросов по функциональности:) ...

[Из песочницы] Управление несколькими шаговыми двигателями Nema 17 одновременно или NemaStepper Всем привет. Я думаю что вы, если работали с arduino+nema 17, знаете, что запустить несколько двигателей одновременно бывает очень затруднительно. Есть разные способы решения этой проблемы, самый простой, пожалуй — использование библиотеки NemaStepper. Библиотека упрощае...

[Из песочницы] Jenkins для Android сборки, с помощью Docker Всем привет! Я работаю андроид разработчиком, и не так давно мы столкнулись с некоторыми рутинными задачами на своем проекте, которые хотелось бы автоматизировать. Например у нас 5 разных flavor, для каждого из которых требуется загружать свой билд на fabric, иногда для раз...

[Из песочницы] Прокачиваем разработку на Vue с помощью паттернов: HOC Паттерн HOC (Higher Order Component) очень популярен у React-разработчиков. А вот Vue-разработчики его как-то обходят стороной. Очень зря. Попробуем разобраться в этом. Читать дальше →

[Из песочницы] Узнать возраст пользователя VK или о чём ещё может рассказать социальный граф «Скажи мне кто твой друг и я скажу, кто ты.» Еврипид 480—406 до н. э. Долгое время я смотрел на API VK как кот на стиральную машину — меня гипнотизировала возможность провести какое-нибудь исследование в одной из крупнейших социальных сетей, которая проникла во многие сферы...

PostGIS и JPA PostGIS — открытое программное обеспечение, добавляющее поддержку географических объектов в реляционную базу данных PostgreSQL. В этой небольшой статье будет рассмотрено использование его в Java. В частности — задача нахождения географических объектов по их координатам. Ч...

Монтируем iOS под OSX с помощью ifuse На днях столкнулся с задачей примонтировать в OSX 10.14 iPad в качестве внешнего диска, с возможностью осуществлять файловые операции из консоли. В интернете я нашел довольно много инструкций как это сделать с помощью файловой системы ifuse. К сожалению с iOS 12 ничего не вы...

Робо-футболист от начинающих. Соревнования в МФТИ. Android & Arduino & Bluetooth Данная статья является полу-сиквелом к работе Love, Death and Robots «Машинка на Arduino, управляемая Android-устройством по Bluetooth, — полный цикл», состоящей из двух частей (раз, два). Вещи, описанные там, были немного доработаны-переделаны, а сам робот из ездящей машинк...

[Из песочницы] Применение Go в производственных системах. Валидаторы Добрый день, Хабр! Я довольно часто начинаю утро с просмотра хабра и наконец решил внести свой вклад в данный процесс изучения интересного. Если всё сложится, то это первая моя статься из цикла применения языка GO на производственных системах. Я хочу рассказать некоторые т...

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

[Из песочницы] Deploy Symfony + React приложения на AWS посредством CI Добрый день, в данной статье я покажу как развернуть Symfony 4 приложение на AWS. В официальной документации есть пример подобного процесса, однако мой вариант не столь тривиален, как загрузка zip архива с приложением. На дворе 2019, в моде docker, микросервисная архитектура...

Сглупил ли Ричард Хендрикс, или линейный поиск против бинарного Думаю, на Хабре есть любители сериала «Кремниевая долина» (Silicon Valley). На этой неделе там впервые за все шесть сезонов крупно показали код — разумеется, сразу хочется обсудить его здесь. Желая унизить главного героя Ричарда Хендрикса, его бывший начальник показывает на...

[Перевод] Использование Typescript с React – руководство для новичков Друзья, в преддверии выходных хотим поделиться с вами еще одной интересной публикацией, которую хотим приурочить к запуску новой группы по курсу «Разработчик JavaScript». Потратив последние несколько месяцев на разработку приложений на React и библиотек с использованием T...

Применение машинного обучения и Data Science в промышленности Хабр, привет. Написал пост, который идёт строго (!) в закладки и передаётся коллегам. Он со списком блокнотов и библиотек ML и Data Science для разных отраслей промышленности. Все коды на Python, и размещены на GitHub. Они будут полезны как для расширения кругозора, так и дл...

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

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

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

[Перевод] Использование JavaScript-модулей в продакшне: современное состояние дел. Часть 1 Два года назад я писал о методике, которую сейчас обычно называют паттерном module/nomodule. Её применение позволяет писать JavaScript-код, используя возможности ES2015+, а потом применять бандлеры и транспиляторы для создания двух версий кодовой базы. Одна из них содержит с...

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

Доля SegWit-транзакций в сети биткоина достигла исторического максимума Спустя два года после активации Segregated Witness, доля биткоин-транзакций с использованием этого протокола достигла 61,93%. Решение Segregated Witness (SegWit) было активировано 24 августа 2017 года. Протокол устранил ряд стоявших на пути биткоина проблем, открыв возможнос...

Как написать сапера на Phaser и выполнить тестовое задание HTML5 разработчика Добрый день, уважаемые коллеги! Меня зовут Александр, я разработчик HTML5 игр. В одной из компаний, куда я отправлял свое резюме, мне предложили выполнить тестовое задание. Я согласился и, спустя 1 день, отправил в качестве результата разработанную по ТЗ HTML5 игру. Поск...

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

Лучшая игровая приставка 2019 года. PS4 Pro PS4 Pro На текущий момент это самая мощная консоль от японской компании Sony, которая буквально покорила рынок игровых приставок. Дело, что удивительно, не в железе или мощности приставки, ведь она проигрывает своему главному конкуренту, а в эксклюзивных играх, которые де...

Про установку и использование LineageOS 16, F-Droid Предлагаю вашему вниманию инструкцию как оптимально(по моему мнению) перейти на свободное программное обеспечение при использовании смартфона на примере операционной системы LineageOS(далее сокращённо LOS) и приложений из F-Droid. Я думаю, что это статья будет вам интересна,...

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

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

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

Xiaomi Mi Full Screen TV Pro выглядит шикарно Официально представлен новый телевизор Xiaomi Mi Full Screen TV Pro, который может похвастаться приличной диагональю дисплея в 65 дюймов при разрешении 4К. То есть, если вы очень хотите получить продвинутый телевизор именно с 4К, а еще и с такой большой диагональю, при этом ...

[Из песочницы] Опыт установки Apache Airflow на Windows 10 Преамбула: волею судьбы из мира академической науки (медицины) я попала в мир информационных технологий, где мне приходится использовать свои знания о методологии построения эксперимента и стратегиях анализа экспериментальных данных, однако, применять новый для меня стек тех...

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

[Перевод] PostgreSQL 11: Эволюция секционирования от Postgres 9.6 до Postgres 11 Отличной всем пятницы! Все меньше времени остается до запуска курса «Реляционные СУБД», поэтому сегодня делимся переводом еще одного полезного материала по теме. В процессе разработки PostgreSQL 11 была проделана впечатляющая работа по улучшению секционирования таблиц. Секц...

Приключения железного стартапа в России: сбор команды Коллеги, доброго времени суток. Осенью 2018 года ваш покорный слуга в одиночку запустил hardware-стартап. Это был тщеславный и необдуманный поступок. Не было профильного образования. Опыт в разработке железа – по нулям. Инженерная команда и деньги на контрактную разработк...

Случайные базы данных. Oracle Enterprise Data Quality — щит и меч корпоративного хранилища Процесс мышления любого человека с трудом подвергается математизации. Любая бизнес-задача порождает набор формальных и неформальных документов, информация из которых имеет отражение в корпоративном хранилище. Каждая задача, порождающая любой информационный процесс, создает в...

Поиск похожих изображений, разбор одного алгоритма Пришлось мне недавно решать задачку по оптимизации поиска дубликатов изображений. Существующее решение работает на довольно известной библиотеке, написанной на Python, — Image Match, основанной на работе «AN IMAGE SIGNATURE FOR ANY KIND OF IMAGE» за авторством H. Chi Wong...

[Из песочницы] React. Lazy loading Доброго времени суток. Занимаюсь разработкой проекта на React и Redux. Хочу в этой статье описать архитектуру своего проекта. Итак, начнем. Файловая структура: Для подключения редьюсеров создаем класс singleton reducerRegister: ./reducerRegister.js class ReducerRegistry...

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

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

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

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

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

pg_stat_statements + pg_stat_activity + loq_query = pg_ash? В качестве короткого дополнения к статье Попытка создать аналог ASH для PostgreSQL. Задача Необходимо связать историю представлений pg_stat_statemenets, pg_stat_activity. В результате, используя историю планов выполнения из сервисной таблицы log_query, можно получить очень ...

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

Претендент на пост губернатора Одесской области задекларировал криптовалюты на $4,2 млн Один из претендентов на пост губернатора Одесской области, Украина, Максим Куцый задекларировал криптовалюты на общую сумму около $4,2 млн по курсу на момент написания.   В графе «Денежные активы» Куцый указал 290 ВТС (около $2,3 млн) и 11 071 Ethereum (порядка $1,...

[Перевод] Компилируем FFmpeg в WebAssembly (=ffmpeg.js): Часть 1 — Приготовления Из этой части вы узнаете: Зачем это всё нужно Как скомпилировать FFmpeg в Docker Зачем это всё нужно Главные задачи у серии публикаций такие: Создать туториал по использованию Emscripten для компиляции C/C++ библиотек в JavaScript (более детальный и полезный, чем написа...

[Из песочницы] Rabbit MQ в системе обработки обращений жителей Недавно успешно сдали пользователям в эксплуатацию систему обработки обращений граждан. Суть такая, что когда у вас нет дома воды, отопления или рядом с вашим домом огромная яма на дороге, вы можете пожаловаться на проблему в гос.органы. Есть разные площадки, где можно под...

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

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

[Перевод] 10 лучших JavaScript библиотек для визуализации данных на графиках и диаграммах Есть в графиках что-то магическое. Изгиб кривой мгновенно раскрывает всю ситуацию — историю развития эпидемии, паники или периода процветания. Эта линия просвещает, пробуждает воображение, убеждает. ― Генри. Д. ХаббардОбъемы данных, с которыми нужно работать, постоянно увели...

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

Как поморгать 4 светодиодами на CortexM используя С++17, tuple и извращенное воображение Всем доброго здравия! При обучении студентов разработке встроенного программного обеспечения для микроконтроллеров в университете я использую С++ и иногда даю особо интересующимся студентам всякие задачки на определения особо больных на голову одаренных учеников. В очеред...

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

Запуск SAP GUI из браузера Эту статью я сначала написал в свой блог, чтобы потом опять не искать и не вспоминать, но поскольку блог никто не читает, то этой информацией захотелось поделиться со всеми, вдруг кому пригодиться. Во время работы над идеей сервиса по сбросу пароля в системах SAP R/3 возник...

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

Роскошная Анна Валериус в исполнении Dania Grifon по мотивам Ван Хельсинг Анна Валериус - дочь короля цыган Бориса Валерия, которая из-за клятвы своего давнего предка была вынуждена пытаться убить Дракулу - графа - вампира. Она пытается это сделать вместе со своим братом принцем Велканом, который в итоге стал оборотнем, следовательно, слугой Драку...

Дизайн игровых интерфейсов. Брент Фокс. О чём книга? Данная статья — это краткий обзор книги Game interface design от автора Брента Фокса. Для меня эта книга была интересна с точки зрения программиста, занимающегося разработкой игр в качестве хобби в одиночку. Здесь я опишу, насколько полезной она оказалась для меня и моего хо...

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

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

Лучшее программное обеспечение компьютерной сети Современная компания «Softinventive Lab» предлагает своим клиентам качественное программное обеспечение, которое позволит вести учет и контроль за работой сервера и общей рабочей сети. На сайте этой компании https://www.softinventive.ru/software-asset-management/ можно ознак...

PS5 мощнее облачных технологий Появилась достаточно интересная информация о том, что компания Sony точно будет конкурировать с Microsoft на рынке игровых консолей и порадует нас высокой производительностью своих устройств. Также есть данные о том, что PS5 и Xbox Scarlett будут мощнее, чем облачная платфор...

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

ZTE и China Unicom стали обладателями награды на конкурсе Broadband Awards 2019 Компания ZTE Corporation (0763.HK / 000063.SZ), крупный международный поставщик телекоммуникационных, корпоративных и потребительских технологических решений для мобильного интернета, и гуандунское подразделение China Unicom были удостоены награды за «Лучшее сетевое интелле...

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

[Из песочницы] Легкое создание отчетов на C/C++ Если вы разрабатываете на C/C++ какое-либо ПО для операторов (администраторов) больниц, магазинов, сервисов проката гироскутеров, ремонта сотовых телефонов, то наверняка сталкивались с задачей создания отчетов, чтобы печатать их на принтере, ну или хотя бы в PDF. Существует ...

Как зеленый джуниор в IT попал Зачем вообще эта статья, для кого и что дает читателю Для тех, кто не хочет читать много, краткий ответДля тех, кто только думает о смене профессии или уже в пути. Моя статья дает мотивации. После написания статей о bike (раз, два) меня много спрашивали о том, как я попал...

[Из песочницы] Анализ Minor Violations Java кода на платформе Duerank.com (часть 1) Введение Что мы знаем об ошибках в коде приложений, написанных на Java? Ну, мы наверняка знаем, что они там встречаются. А насколько часто встречаются? Как много делает разнообразных ошибок в своём коде разработчик? Под ошибками мы понимаем не только баги, но и наличие раз...

PHP-модуль для работы с иерархическими данными в БД InterSystems IRIS PHP с начала своих времён славен (и критикуем) тем, что поддерживает интеграцию с массой библиотек, а также с практически со всеми БД существующими на рынке. Однако в силу каких-то странных причин в нём не было поддержки иерархических баз данных на глобалах. Глобалы — это ...

Модели натурального ряда чисел и его элементов: Геометрическая (плоскостная) модель натурального ряда     Задача криптографического анализа шифра (атака на шифр) предполагает построение и исследование модели криптографической системы (алгоритма шифра и его элементов), а также ситуации, в рамках которой осуществляется криптоанализ. Для шифра RSA такой моделью его элемента д...

[Перевод] Как правильно раскрашивать многочлены Многочлены – это не просто упражнения в абстрактных материях. Они прекрасно подходят для выявления структур в неожиданных местах. В 2015 году бывший поэт, ставший математиком, Джун Хо помог решить задачу, сформулированную около 50 лет назад. Она была связана со сложными ма...

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

Samsung The Frame для вашей квартиры Информация о том, что компания Samsung планирует выпускать свои дизайнерские телевизоры, появилась уже давно. Корейцы решили представить миру модели, которые можно использовать в качестве картины на стене. Уже сейчас устройства Samsung The Frame доступны на территории России...

Дискретная математика для WMS: алгоритм сжатия товаров в ячейках (часть 2) В статье мы расскажем, как разрабатывали алгоритм оптимального сжатия остатков товаров в ячейках. Расскажем как выбирали нужную метаэвристику среду «зоопарка» фреймворков: табу-поиск, генетический алгоритм, муравьиная колония и др. Проведем вычислительный эксперимент по ...

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

Apple будет использовать модемы Qualcomm x55 5G в новом iPhone То, что в Apple iPhone 2020 будет реализована технология 5G, нам уже было известно до сегодняшнего дня, однако сегодня поступила информация, что для решения данной задачи компания Apple собирается использовать в своих устройствах модем Qualcomm Snapdragon X55 5G. Подробнее ...

[Из песочницы] Stand-up, Scrum, Daily meetings — что это и для чего Часто стал замечать, что люди все больше и больше перетягивают методологии и практики из IT сферы в производственные, банковские, сферы услуг и прочие. Одной из самых распространенных «заимствованных» из мира IT практик является проведение Scrum, Daily, Stand-up митингов ( к...

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

[Из песочницы] Что такое быть Team Leader Всем привет! Меня зовут Артур Дементьев, я бы хотел поделиться личным опытом и написать несколько статей о том, что из себя представляет менеджмент в IT. А также рассказать о том, на какие грабли наступал и каких ошибок можно было избежать. Все статьи я буду писать, основыва...

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

[Перевод] Breakuot-подобная игра на PIC12F1572 Предлагаемая конструкция является доказательством того, что цветной композитный видеосигнал в системе NTSC может быть сгенерирован при помощи очень простого «железа». Краткое описание Хотя цветной композитный видеосигнал в системе NTSC генерировать сложнее, чем VGA, для э...

[Перевод] Консенсус на репутации ноды. Нужен ли? Знаю-знаю. Криптопроектов тьма, есть куча консенсусов: на основе труда и владения, золота, нефти, выпеченных пирожков (есть и такой, да-да). Что нам ещё от одного? Это и предлагаю обсудить после прочтения перевода "облегченной" технической документации проекта *Созвездие (Co...

Какие приложения установлены на моём смартфоне Данная тема довольно популярна в сети Интернет, поэтому написать материал о приложениях, которые установлены на моём смартфоне, был просто обязан. Скажу сразу, в игры не играю, поэтому из установленных только PUBG. Для многих смартфон – это просто средство для совершения зв...

Samsung работает над еще двумя складными смартфонами с гибким экраном, один из них будет похож на Huawei Mate X Когда-то давно у Samsung было много смартфонов-раскладушек. Ассортимент был настолько велик, что его даже можно было поделить на женские и мужские модели. В скором времени у компании появится еще одна раскладушка, но уже совершенно иная – с гибким экраном. По дан...

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

Курс лекций «Основы цифровой обработки сигналов» Всем привет! Часто ко мне обращаются люди с вопросами по задачам из области цифровой обработки сигналов (ЦОС). Я подробно рассказываю нюансы, подсказываю нужные источники информации. Но всем слушателям, как показало время, не хватает практических задач и примеров в процессе...

[Перевод] MVC без C: Что изменит SwiftUI в архитектуре приложений? MVC был давним стандартом в паттернах проектирования, используемых для написания iOS приложений. Структура iOS приложений, которые создавались ранее, была основана на одном базовом компоненте, который присутствует везде, и называется он — Controller. На WWDC19 был представле...

Криптографические протоколы: определения, запись, свойства, классификация, атаки Данный текст будет являться одной из переписанных глав для учебного пособия по защите информации кафедры радиотехники и систем управления, а также, с этого учебного кода, кафедры защиты информации МФТИ (ГУ). Полностью учебник доступен на github (см. также draft releases). На...

Производство дизельных электростанций Качественные и современные модели дизельных генераторов предлагает вниманию своих клиентов компания «RusDiеsel». Данная компания является одной из самых крупных и масштабных в своем деле. Она занимает лидирующие позиции на рынке и является поставщиком генераторов и строитель...

Android-приложение в памяти. Доклад об оптимизации для Яндекс.Лончера В облегченной системе Android Go действуют повышенные требования к предустановленным приложениям — размеру и используемой памяти. Перед нами встала задача в эти требования уложиться. Мы провели ряд оптимизаций и решили серьезно поменять архитектуру нашей графической оболочки...

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

Мониторинг сообщений в RabbitMQ Рассмотрим классическую схему построения конвейера сообщений в RabbitMQ состоящую из элементов Producer, Exchange, Queue и Consumer. Задача состоит в том, что бы организовать мониторинг происходящего в очереди и не затронуть основное программное обеспечение (ПО), добавить...

Концепция очков дополненной реальности. Моя идеальная AR гарнитура, которая возможна Всем привет! Меня зовут Дядиченко Григорий, и я основатель и CTO студии Foxsys. Недавно мне пришла в голову идея интересная концепция AR очков, которые могут быть нужны пользователю. Многие недооценивают некоторые аспекты с точки зрения удобства использования и пользовательс...

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

[Из песочницы] IT рекрутинг. В поисках баланса процесс/результат 1. Стратегическое виденье Особенностью и ценностью продуктовой компании, основной ее миссией и задачей, является удовлетворенность клиентов, их вовлеченность, и лояльность к бренду. Естественно, через производимый компанией продукт. Таким образом, глобальную цель компании мо...

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

Dell указывает на подготовку мобильной видеокарты GeForce RTX 2050 На данный момент для мобильных компьютеров доступно только три видеокарты NVIDIA на графических процессорах Turing. Это модели GeForce RTX 2060, RTX 2070 и RTX 2080, а также их урезанные по частотам версии Max-Q. Однако в скором времени их, похоже, станет больше. Во всяком с...

Миллиардер Майк Новограц инвестировал в криптоаналитический стартап CipherTrace Разработчик аналитических инструментов для криптовалют и блокчейна CipherTrace привлек $15 млн от Galaxy Digital Майка Новограца, Aspect Ventures, Neotribe Ventures и WestWave Capital. CipherTrace использует машинное обучение для деанонимизации транзакций в блокчейнах и конт...

Как ускорить шифрование по ГОСТ 28147-89 на процессоре Байкал-Т1 за счет SIMD-блока В статье на примере описания реализации алгоритма шифрования по ГОСТ 28147–89, построенного на сети Фейстеля, показаны возможности двухъядерного процессора BE-T1000 (aka Байкал-Т1) и проведены сравнительные испытания реализации алгоритма с помощью векторных вычислений с сопр...

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

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

Анализ ДНК рассказал о возможной внешности денисовцев MAAYAN HAREL Денисовцы (Homo altaiensis) известны всего по некоторым останкам: в Денисовой пещере, находящейся в Солонешенском районе Алтайского края России, были найдены останки пяти денисовцев (так, недавно сообщалось об обнаружении останков пятого денисовца — фрагмен...

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

[Из песочницы] Фантазии на тему метаклассов в C# Программистам вроде меня, которые пришли в C# с большим опытом работы в Delphi, часто не хватает того, что в Delphi принято называть ссылками на класс (class reference), а в теоретических работах – метаклассами. Я несколько раз натыкался в разных форумах на обсуждение, прохо...

5 советов о Design Leadership. Часть 1 Всем привет. Уже в этом месяце мы запускаем курс «Team Lead 2.0», который подготовлен специально для старших разработчиков, TeamLead’ов, SCRUM мастеров и специалистов, желающих повысить свой профессиональный уровень и получить уникальный опыт, необходимый для эффективного уп...

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

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

PHP: изменение стуктуры БД в командной разработке В мире PHP хорошо известны инструменты миграций структуры БД — Doctrine, Phinx от CakePHP, от Laravel, от Yii — это то первое, что пришло в голову. Наверняка, есть еще с десяток. И большинство из них работают с миграциями — командами для внесения инкрементных изменений в с...

Tic Tac Toe, часть 3: Undo/Redo с хранением команд Tic Tac Toe, часть 0: Сравнение Svelte и React Tic Tac Toe, часть 1: Svelte и Canvas 2D Tic Tac Toe, часть 2: Undo/Redo с хранением состояний Tic Tac Toe, часть 3: Undo/Redo с хранением командВ этой части рассмотрена реализация игры Tic Tac Toe с помощью паттерна Command, с ...

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

[Из песочницы] Очереди — что это, зачем и как использовать? Посмотрим на возможности AWS SQS Сначала давайте дадим определение понятию «очередь — queue». Возьмем для рассмотрения тип очереди «FIFO»(first in, first out). Если взять значение из википедии — «это абстрактный тип данных с дисциплиной доступа к элементам». Если вкратце, это означает что мы не можем из н...

Компьютерное зрение всем, даром 20 лет назад, в 1999 году, компания Kyocera выпустила первый мобильный телефон с цифровой камерой – Visual Phone VP-210. С тех пор, благодаря невероятно большому и растущему рынку мобильных устройств связи, ПЗС-матрицы цифровых камер совершили невероятный скачок по всем па...

Исследование IDC и Hitachi Vantara показало основной тренд на рынке аналитики данных Компания IDC совместно с Hitachi Vantara провела исследование «Аналитика больших данных как инструмент бизнес-инноваций». По данным исследования, более 90% участников опроса сталкиваются с задачей анализа больших данных, при этом задача анализа новых источников встает перед ...

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

Async/await в C#: концепция, внутреннее устройство, полезные приемы Доброго времени суток. В этот раз поговорим на тему, в которой начинал разбираться каждый уважающий себя адепт языка C# — асинхронное программирование с использованием Task или, в простонародье, async/await. Microsoft проделали хорошую работу — ведь для того, чтобы использов...

Угадай меня, если сможешь: прогнозирование рейтинга фильма до его выхода Недавно мне на глаза попался датасет на Kaggle с данными о 45 тысячах фильмов с Full MovieLens Dataset. Данные содержали не только информацию об актерах, съемочной команде, сюжете и т.п., но и оценки, выставленные фильмам пользователями ресурса (26 миллионов оценок от 270 ты...

«Удаление» объектов в Django Рано или поздно перед разработчиками встаёт задача удаления ненужных данных. И чем сложнее сервис, тем больше нюансов необходимо учесть. В данной статье я расскажу, как мы реализовали «удаление» в базе данных с сотней связей. Читать дальше →

Открытый вебинар «Метод Pairwise Testing в Black Box тестировании» Всем доброго времени суток! Предлагаем вашему вниманию подробное описание открытого урока, посвящённого попарному тестированию. Мероприятие прошло всего пару дней назад и было приурочено к запуску курса «QA-специалист». Преподаватель — Нина Деваева — Senior Tester, Team L...

Пилотный проект по обработке высокоплотных сейсмических данных с использованием сервиса MCS Компания ООО НПЦ «Геостра» с помощью сервиса MCS провела камеральную обработку сейсмической информации — 40 ТБ высокоплотной съёмки МОГТ-3D. О реализации, нюансах и результатах проекта будет рассказано в данной статье. Промышленная добыча нефти в Республике Башкортостан на...

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

Готовим полнотекстовый поиск в Postgres. Часть 1 Эта статья — первая из небольшой серии статей о том, как оптимально настроить полнотекстовый поиск в PostgreSQL. Мне пришлось недавно решать подобную задачу на работе — и я был очень удивлен отсутствию хоть сколько-нибудь вменяемых материалов по этому поводу. Мой опыт борьбы...

[Из песочницы] Настройка IPTV от Ростелеком на роутерах MikroTik В свое время когда я купил роутер MikroTik, передо мной кроме базовой настройки инета встала задача обеспечить работу IPTV, до того момента у меня был установленный Ростелекомом D-link. Сама базовая настройка инета на микротике заняла у меня примерно 10 минут, а вот с IPTV п...

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

Архитектурный шаблон «Строитель» во вселенной «Swift» и «iOS»/«macOS» В этот раз я бы хотел немного поговорить о еще одном порождающем шаблоне проектирования из арсенала «Банды четырех» – «Строителе» («Builder»). Так вышло, что в ходе получения своего (пусть и не слишком обширного) опыта, я довольно часто видел, чтобы паттерн использовался в «...

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

[Из песочницы] Typescript и react Разработка на javascript иногда становится похожа на работу детектива. Как понять чужой код? Хорошо, если разработчик обладает тонким искусством называть переменные так, чтобы другие поняли суть. А как быть, если члены команды все таки не всегда способны понять замысел своег...

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

Топ 100% полезных и недорогих товаров с Aliexpress для вашего компьютера Доброго времени суток, дорогие друзья! В данной публикации я постарался подобрать для вас реально полезные товары с Aliexpress для компьютера по выгодной цене и от проверенных продавцов. Итак, давайте посмотрим, что есть интересного на сегодня.

Распознаём дату и время в естественной речи Задача Привет, Хабр! Увлёкся я навыками для Алисы и стал думать, какую пользу они бы могли принести. На площадке много разных прикольных игр (в том числе мои), но вот захотелось сделать рабочий инструмент, который действительно нужен в голосовом исполнении, а не просто копи...

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

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

[Из песочницы] К чему приводит лень или как докатиться до написания парсера psd и что из этого может получиться Доброго времени суток! Меня зовут Андрей, я хочу рассказать Вам о своем проекте, который разрабатываю в свободное от работы время. Он уже достиг этапа, когда есть что показать и от этого не станет стыдно. Читать дальше →

Где хранятся ваши константы на микроконтроллере CortexM (на примере С++ IAR компилятора) Я работаю со студентами на микроконтроллере STM32F411RE, имеющего целых 512 кБайт ROM и 128 кБайт ОЗУ. Обычно в этом микроконтроллере в ROM память записывается программа, а в RAM изменяемые данные и очень часто нужно сделать так, чтобы константы лежали в ROM. В микроконтро...

Резервное копирование, часть 2: Обзор и тестирование rsync-based средств резервного копирования Данной заметкой продолжается цикл о резервном копировании Резервное копирование, часть 1: Зачем нужно резервное копирование, обзор методов, технологий Резервное копирование, часть 2: Обзор и тестирование rsync-based средст резервного копирования Резервное копирование, ча...

GitHub Actions как CI/CD для сайта на статическом генераторе и GitHub Pages Немного прошерстив Habr удивился тому, что очень мало опубликовано статей на тему (beta-)фичи GitHub'а — Actions. Казалось бы, можно объяснить такую недосказанность тем, что функционал еще в тестировании, пусть и "beta". Но именно полезная особенность беты позволяет исполь...

Машинное обучение: в Санкт-Петербурге пройдет обсуждение проектов хакатона Команда Теплицы 5 февраля 2019 года проводит митап и приглашает обсудить проекты хакатона 4SPB: машинное обучение для гражданских проектов. Встреча перед хакатоном поможет лучше узнать о проектах, над которыми команды будут работать 16 и 17 февраля. ...

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

Huawei и Nutanix объявили о партнёрстве в сфере HCI В конце прошлой недели появилась отличная новость: два наших партнера (Huawei и Nutanix) объявили в партнерстве в области HCI. Серверное оборудование Huawei теперь добавлено в список совместимости Nutanix (Nutanix hardware compatibility list). Huawei-Nutanix HCI построено н...

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

Как решить старую задачу с помощью ML на Python и .Net Бывает, что некоторые задачи преследуют тебя много лет. Для меня такой задачей стала склейка предложений текстов, в которых жестко забит переход на новую строку, а часто еще и перенос слов. На практике, это извлеченный из PDF или с помощью OCR текст. Часто можно было встрет...

[Из песочницы] Основы реактивного программирования с использованием RxJS Часть 1. Реактивность и потоки Данная серия статей посвящена реактивности и ее применению в JS с использованием такой замечательной библиотеки как RxJS. Для кого эта статья: в основном, здесь я буду объяснять основы, поэтому в первую очередь статья рассчитана на новичков в ...

[Из песочницы] Свой mapper или немного про ExpressionTrees Сегодня мы поговорим про то, как написать свой AutoMapper. Да, мне бы очень хотелось рассказать вам об этом, но я не смогу. Дело в том, что подобные решения очень большие, имеют историю проб и ошибок, а также прошли долгий путь применения. Я лишь могу дать понимание того, ...

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

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

Трёхпроходные протоколы Данный текст будет являться одной из переписанных глав для учебного пособия по защите информации кафедры радиотехники и систем управления, а также, с этого учебного кода, кафедры защиты информации МФТИ (ГУ). Полностью учебник доступен на github (см. также draft releases). На...

Сотрудники Google обнаружили, что работа над версией поисковика для Китая продолжается На Хабре публиковалось несколько новостей и статей о том, что Google планировал запустить версию своего поисковика для Китая в полном соответствии с нормами и законами этой страны. То есть это должна была быть «исправленная» версия поискового сервиса c цензурой. После того...

Сетевое оборудование должно быть стабильным: результаты опроса 3DNews В середине декабря редакция 3DNews проводила опрос среди IT-специалистов о том, какие критерии имеют для них наибольший вес при выборе производителя сетевого и Wi-Fi оборудования. Теперь мы подвели итоги этого опроса и можем констатировать, что самое главное, чего ж...

Gitpab. Приятно познакомиться Здравствуй. Я Gitpab. Рад знакомству. Меня сделали для того, чтобы легче было надзирать за программистами. Я беру часы, которые разработчики отметили в Gitlab, и подсчитываю, кто сколько затратил времени на работы по задачам. И по проекту в целом. Поговаривают, что большие н...

Как работает датчик наклона Нередко в ходе работы над определенными проектами появляется необходимость осуществлять наклоны объекта, повороты, смещения и вибрацию. Для осуществления данных задач необходимо использовать специальные датчики наклона. На сайте http://wreckage.ru/tilt-sensors-ky-020-and-sw-...

Непрерывное профилирование в Go pprof — основной инструмент профилирования в Go. Профилировщик включен в стандартную библиотеку Go и про него, за годы, написано уже очень много. Чтобы подключить pprof в существующее приложение нужно просто добавить одну строчку кода: import _ “net/http/pprof” В HTTP-сервер...

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

Некоторые аспекты мониторинга MS SQL Server. Рекомендации по настройке флагов трассировки Предисловие Довольно часто пользователи, разработчики и администраторы СУБД MS SQL Server сталкиваются с проблемами производительности БД или СУБД в целом, поэтому весьма актуальным является мониторинг MS SQL Server. Данная статья является дополнением к статье Использование ...

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

Tarantool стал основным хранилищем данных в WFM-решениях от компании «Базис ИТ» С точки зрения архитектуры, платформа BASIS.WFM от компании "Базис ИТ" - микросервисная, пиринговая, компонентная инструментальная среда, в которой можно достаточно быстро собрать специализированные Решения под конкретных Партнёров, ориентированные на планирование ...

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

[Из песочницы] Инстансы по информационной безопасности на платформе attackdefense.com … Мы живем в эпоху больших событий и маленьких людей … Уинстон Черчилль Сегодня вашему вниманию представляем первую статью из цикла о разборе и прохождении лабораторных работ с ресурса attackdefense.com с поддержкой известного организатор конференций (Black Hat и Pentes...

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

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

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

Rotten Tomatoes изменил отображение рейтинга «ожидания фильмов» после того, как пользователи ополчились против Captain Marvel Известный сайт-агрегатор рецензий Rotten Tomatoes изменил систему отображения пользовательского рейтинга фильмов. Говоря конкретнее, создатели сайта скорректировали показатель «ожидания фильма» (параметр Want To See), а также отключили комментарии на страницах тех картин, ко...

[Из песочницы] Улучшение UX при работе с клавишей «Tab» При разработке приложений «фронтендеры» редко обращают внимание на то, как пользователь будет использовать предоставляемые браузером функции клавиш. Я не являюсь исключением, но в один день мне была дана задача касаемо UX и переходов с помощью нажатия «Tab» и «Shift + Tab». ...

Как поучаствовать в разработке ITIL 4 К разработке новой версии библиотеки ITIL® компания AXELOS подошла принципиально по-новому. Работа над созданием основных публикаций была построена так, чтобы вовлечь большое количество экспертов на разных этапах. Ядро коллектива, осуществляющего данное обновление &mdas...

[recovery mode] Data as a Service: что это такое, технические сложности и как их обойти с помощью резидентных прокси Data as a Service (DaaS) – относительно новая модель дистрибуции данных, которая подразумевает, что информация сбором, управлением и хранением нужной информации компании и пользователи занимаются не самостоятельно, а делегируют эту задачу специализированным провайдерам. ...

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

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

Если вас заносит не в IT Жизнь – игра, иногда нам приходится играть по чужим, навязанным нам обстоятельствами правилам и делать не то, что хочется и к чему привык, а то, что сейчас нужно сделать. Невзирая на то, нравится это или нет. А может быть наоборот, вам хочется попробовать чего-нибудь новое. ...

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

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

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

Apache Kafka и потоковая обработка данных с помощью Spark Streaming Привет, Хабр! Сегодня мы построим систему, которая будет при помощи Spark Streaming обрабатывать потоки сообщений Apache Kafka и записывать результат обработки в облачную базу данных AWS RDS. Представим, что некая кредитная организация ставит перед нами задачу обработки вхо...

[Перевод] 5 чрезвычайно простых способов ощутимо повысить скорость вашего VueJS-приложения Здравствуйте. Перевод данной статьи подготовлен специально для студентов курса «Разработчик JavaScript», который стартует уже на следующей неделе. Голос Чуи Немного обо мне — меня зовут Вайбхав, я из Five2One. Я вовлечен во VueJS уже целых 2 года (с момента выхода 1.0) и...

Один стендап в Яндекс.Такси, или Чему нужно научить бэкенд-разработчика Моё имя Олег Ермаков, я работаю в команде бэкенд-разработки приложения Яндекс.Такси. У нас принято проводить ежедневные стендапы, где каждый из нас рассказывает о сделанных за день задачах. Вот как это бывает… Имена сотрудников может и изменены, а вот задачи вполне себе реа...

В Канаде криптобиржи обязали проходить регистрацию и сообщать о транзакциях на сумму свыше CAD $10000 Канадские власти обязали криптовалютные биржи регистрироваться в Центре анализа финансовых транзакций и отчетности (FinTRAC). Новые правила были опубликованы в качестве поправок к закону о противодействии отмыванию денег и финансированию терроризма на сайте правительства стр...

Создание плагина для Clang Static Analyzer для поиска целочисленных переполнений Автор статьи: 0x64rem Вступление Полтора года назад у меня появилась идея реализовать свой фазер в рамках дипломной работы в университете. Я начала изучать материалы про графы потока управления, графы потока данных, символьное исполнение и т.д. Далее шёл поиск тулз, проба р...

Нахождение объектов без учителя (Unsupervised Object Detection) Одна из важнейших задач в машинном обучении — детектирование объектов (Object Detection). Недавно был опубликован ряд алгоритмов машинного обучения основанных на глубоком обучении (Deep Learning) для детектирования объектов. Эти алгоритмы занимают одно из центральных мест ...

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

Software Defined Radio — как это работает? Часть 4 Привет Хабр. В третьей части было рассказано, как получить доступ к SDR-приемнику посредством языка Python. Сейчас мы познакомимся с программой GNU Radio — системой, позволяющей создать достаточно сложную конфигурацию радиоустройства, не написав ни единой строчки кода. Д...

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