Социальные сети Рунета
Четверг, 28 марта 2024

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

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

Sberbank AI Journey. Как мы учили нейросеть сдавать экзамен Если вы закончили школу уже во времена ЕГЭ, то вам известно, что все задания в нём имеют набор стандартных формулировок и упорядочены по типам. С одной стороны, это облегчает подготовку к экзамену: школьник уже знает, что нужно делать в задании, даже не читая его условия. С ...

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

[Из песочницы] Celery taskcls: новый декоратор, новые возможности Привет, Хабр! Я расскажу тебе историю своего профессионального подгорания. Так вышло, что я терпеть не могу рутинных однообразных действий. У меня за плечами несколько проектов, использующих Celery. Каждый раз, когда задача становится сложнее вывода 2 + 2 = 5, шаблон решения...

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

Практика использования библиотеки lottie в мобильном приложении банка Привет, Хабр! В свое время Product Owner попросил подумать нас о создании эффективного процесса по внедрению анимации в наше приложение на android/ios. В то время мы делали задачу по предзаполнению заявки личными данными на кредитный продукт, и на ответ от сервера требовало...

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

[Перевод] Что такое качественная idle-анимация? Разработчики делятся своими любимыми примерами Создание связи игрока с персонажем, раскрытие подробностей его личности, чтобы он был для игрока уникальным — сложная задача, и как решить её всего несколькими простыми движениями? Анимации ожидания (Idle animations), эти небольшие всплески движения, когда игрок ненадолго ...

[Перевод] Как работает ИИ в игре Hitman (2016) Выпущенный компанией IO Interactive в 2016 году Hitman вернул франшизу к её корням: созданию богатых и интересных сценариев, в которых Агент 47 должен устранять свои цели, часто импровизированным и непрактичным способом. Для решения этой задачи внутри игры применяется множес...

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

FunTech iOS-meetup #1 Приглашаем вас на первый FunTech iOS-meetup, который пройдёт 23-го марта в Москве. Программа «Крутим RunLoop. Как устроена лента ВКонтакте», VK.com, Александр Терентьев В своём докладе Александр расскажет о том, с какими задачами и проблемами при реализации сложных колле...

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

Универсальный способ настройки внешнего вида WinForms приложения (на примере FAQ.Net) Введение После размещения первой статьи о своем приложении FAQ.Net (программа заметок под Windows), появились первые пользователи, для которых хочется дальше развивать свою программу для заметок. Чтобы повысить интерес у пользователей, возникла идея повысить его привлекател...

Представляем Vepp — новую панель управления сервером и сайтом от ISPsystem Vepp — это наша новая панель для управления сервером и сайтом. Сначала мы хотели просто обновить интерфейс ISPmanager 5, но на этапе проектирования поняли: интерфейсом не обойтись, нужно менять подход к задачам пользователя. Фактически это означало, что надо делать новый пр...

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

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

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

Понимаем UICollectionViewLayout на примере Photos App Здравствуй, Хабр! Меня зовут Никита, я работаю над мобильными SDK в компании ABBYY и в том числе занимаюсь UI-компонентом для сканирования и удобного просмотра многостраничных документов на смартфоне. Этот компонент сокращает время на разработку приложений на базе технологии...

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

Rails + Postgres + bindings Привет друзья. Ни для кого не секрет, что работая на крупных проектах со сложной логикой, Active Record становится не помощником, а обузой. Представьте, что вам необходимо сделать очень сложный запрос для PostgreSQL нативным образом (на чистом SQL), где должно присутствова...

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

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

[Перевод] Модели дженериков и метапрограммирования: Go, Rust, Swift, D и другие В некоторых сферах программирования нормально хотеть написать такую структуру данных или алгоритм, которые могут работать с элементами разных типов. Например, список дженериков или алгоритм сортировки, которому нужна только функция сравнения. В разных языках предложены всев...

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

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

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

Универсальный DSL. Возможно ли это? Язык предметной области. Не перегружен конструкциями языка общего назначения. При этом позволяет всего несколькими строчками реализовать весьма сложную логику. Все это — DSL. Однако создание DSL требует от разработчика соответствующей квалификации. Регулярное использование...

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

Новогоднее соревнование CS центра 2018 Введение Уже в октябре 2018 мы с радостью вспомнили адвент-календарь с задачами 2017 года (условия здесь) и начали думать, что можно сделать в этом году. Из нескольких достойных идей выбрали вариант, в котором подберём разноплановые «цепляющие» задачи, объединенные красивой ...

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

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

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

«Современные» обедающие философы на C++ посредством акторов и CSP Некоторое время назад ссылка на статью "Modern dining philosophers" распространилась по ресурсам вроде Reddit и HackerNews. Статья интересная, она показывает несколько решений этой известной задачи, реализованных на современном C++ с использованием task-based подхода. Если к...

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

Как отправить большое видео с iPhone, iPad, Android или компьютера Казалось бы, с ростом скоростей Интернета отправка больших файлов тоже должна становиться более простым занятием. На самом деле задача по-прежнему остается сложной. Самое простое решение – отправить файл по электронной почте, упирается в ограничение в размер письма в 25 МБ, ...

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

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

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

[Перевод] Опять [про то, как стать умнее] Повторение как основа для созидания В наши дни многие дизайнеры разрабатывают «умные» вещи, которые обещают улучшить и укрепить наш разум, производительность и благополучие. Мне лично нравится смещать акцент с того, чтобы делать вещи вокруг нас умнее, на то, чтобы мы станов...

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

Palo Alto Networks: нужен новый подход для решения задач и проблем ИБ На конференции Palo Alto Networks Security Day Kazakhstan 2019 рассказали о всесторонней безопасности.

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

FreePBX. Настройка Asterisk для e-mail уведомлений о пропущенных входящих вызовах в очереди IP ATC Asterisk — это мощный комбайн в области IP-телефонии. А web-интерфейс FreePBX, созданный для Asterisk, значительно упрощает настройку и снижает порог вхождения в систему. Если вы можете придумать какую-либо задачу, связанную с IP-телефонией, то почти наверняка это мо...

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

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

[Перевод] Собственная реализация библиотеки ECS На этой неделе я начал работать над своим движком для игры Vagabond и приступил к реализации шаблона entity-component-system. В этой статье я хочу рассказать о своей реализации, которая свободно доступна на GitHub. Но вместо простого комментирования кода я хочу объяснить, ...

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

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

Palo Alto: нужен новый подход для решения задач и проблем ИБ На конференции Palo Alto Networks Security Day Kazakhstan 2019 рассказали о всесторонней безопасности.

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

IT за пределами Москвы Встречается мнение, что жизнь разработчика в Москве/Питере — это интересные задачи и отличные вакансии, а в остальных российских городах — прозябание в болоте. Я не люблю такие обобщения. Да, что-то есть только в столицах: когда мы (JUG Ru Group) делали конференцию в Нов...

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

SVG 3D: создание, вращение по оси и анимация Чуть более недели назад, в рамках конкурса от Телеграм, пришлось окунуться в "волшебный мир" svg, математических формул, оптимизации и анимации. Конкурсным заданием было создание достаточно простого чарта на JS, но некоторые нюансы задания и акцент на производительности дел...

DeepPavlov для разработчиков: #1 инструменты NLP и создания чат-ботов Всем привет! Мы открываем цикл статей, посвященных решению практических задач, связанных с обработкой естественного языка (Natural Language Processing или просто NLP) и созданием диалоговых агентов (чат-ботов) с помощью open-source библиотеки DeepPavlov, которую разрабатывае...

Больше и мощнее: как мы обеспечили работу нового оборудования в ЦОД MediaTek Нередко компании сталкиваются с необходимостью установить новое, более мощное оборудование в уже существующих помещениях. Иногда решить эту задачу бывает непросто, но существует ряд стандартных подходов, помогающих выполнить ее. О них мы сегодня расскажем на примере ЦОД Medi...

Производительность анимаций на сайтах При разработке сайтов, выходящих за рамки условного бутстрапа, рано или поздно возникают вопросы, связанные с производительностью анимаций. Особенно важными они являются в дизайнерских сайтах, вроде тех, что попадают в каталоги Awwwards, FWA, CSS Design Awards и.т.д. При эт...

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

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

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

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

Stack Overflow на русском: инструкция по убийству сообщества Когда разнеслись новости не только об открытии Stack Overflow на русском языке, но и об импорте неизвестного мне тогда "Хэшкода", то я решил присоединиться. Чем чёрт не шутит? И знаете, мне понравилось. Небольшое, но сплочённое сообщество, возможность реально улучшить состоя...

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

[Перевод] Большие гипотезы о простых числах доказаны для небольших числовых систем Гипотеза о простых числах-близнецах – один из самых важных и сложных вопросов математики. Двое математиков решили параллельную версию этой задачи для небольших числовых систем. 7 сентября два математика опубликовали доказательство варианта одной из известнейших открытых за...

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

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

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

[Из песочницы] Введение в MS Dynamics CRM Привет Хабр! В этой статье хотелось бы рассказать о некоторых стандартных возможностях Dynamics CRM (для понимания что это вообще такое), её основных бизнес процессах и средствах расширения функционала прямо из коробки. Читать дальше →

Поиск задач в JIRA (простым языком). Часть 1: Быстрый и базовый поиск В последнее время JIRA активно используют организации, не имеющие прямой связи с IT. Специалистам, не знакомым ранее с JIRA, бывает сложно понять структуру JQL-запросов, если не привести примеры. Для упрощения восприятия, мы решили собрать всю документацию, локализовать и р...

SIBUR Challenge 2019 – соревнование по анализу промышленных данных Всем привет! Продолжается онлайн-этап конкурса по анализу данных – SIBUR Challenge 2019. Коротко о главном: SIBUR Challenge – это наш фирменный хакатон, который мы делаем вместе с AI Community. В качестве кейсов мы используем реальные производственные задачи, основанные...

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

[Из песочницы] Программируем проходной выключатель. MicroPython на esp8266 (sonoff) с OTA. Часть 1 Всем привет. В процессе ремонта возникла задача сделать проходной выключатель. Конечно же захотелось сделать самым простым и удобным способом, добавив базовые функции управления с телефона. Я выбрал наиболее простую и удобную технологию для этого (конечно, на свой взгляд) —...

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

Портирование Qt на STM32 Добрый день! Мы в проекте Embox запустили Qt на STM32F7-Discovery и хотели бы об этом рассказать. Ранее, мы уже рассказывали как нам удалось запустить OpenCV. Qt — это кроссплатформенный фреймворк, который включает в себя не только графические компоненты, но и такие вещи ка...

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

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

[Из песочницы] Generic Recycler View или как не писать шаблонный код Все мы пишем приложения и у всех нас есть списки. И самое очевидное решение это RecyclerView. Сама по себе реализация не сложна и писать гайд по RecyclerView уже не актуально. Но есть одно но. Каждый раз когда нам нужен список мы создаем класс, в нем прописываем шаблонный ме...

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

Инженерные подходы и чеклисты: как не сойти с ума в хаосе задач Привет! Меня зовут Олег, и я frontend-разработчик в Альфа-Банке. Я хочу рассказать вам немного философскую историю — про инженерный подход к разработке, про мою первую работу и грабли, которые я там собрал, про то, почему чеклисты очень важны (и спасают жизни). А еще про ...

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

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

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

[Из песочницы] QlikView. Условное форматирование «Как в Эксель» Пришла задача от заказчика – сделать условное форматирование таблицы «как в эксель». QlikView вполне себе справляется со стандартными задачами раскраски по условию, но вот с выбором параметров динамически, да еще и как в эксель – возник вопрос «это как вообще..?». Итог: был...

Композитный «datasource»-объект и элементы функционального подхода Как-то раз я (ну ладно, даже не я) столкнулся с задачей добавить в UICollectionView с определенным типом ячеек одну ячейку совершенно другого типа, причем делать это лишь в особенном случае, который обрабатывается «выше» и никак не зависит от UICollectionView напрямую. Задач...

[Перевод] Ментальные модели продакт менеджмента для всех Ментальные модели — это простые выражения сложных процессов или отношений. Эти модели можно собирать и использовать для принятия более быстрых и качественных решений. Вот пример: принцип Парето гласит, что около 80% всех результатов приходится на 20% усилий. В контексте упр...

Внедрение Airflow для управления Spark-джобами в ivi: надежды и костыли Задача деплоя моделей машинного обучения в продакшн — это всегда боль и страдания, потому что очень некомфортно вылезать из уютного jupyter notebook в мир мониторинга и отказоустойчивости. Мы уже писали про первую итерацию рефакторинга рекомендательной системы онлайн-киноте...

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

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

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

Математик решил загадку числа 42 Задача звучит следующим образом: может ли любое число от 1 до 100 быть выражено как сумма трех кубов? Если записать формулу 1954 года, то получится следующее: х3 + y3 + z3 = K. K в данном случае — любое число от 1 до 100. Соответственно, нужно было определить все три неизве...

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

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

Что нужно знать о JavaScript Engine Switcher 3.0 JavaScript Engine Switcher изначально создавался как вспомогательная библиотека и его развитие во многом определялось потребностями библиотек, которые его использовали. Фактически каждая его мажорная версия решала одну или несколько крупных задач необходимых для дальнейшего...

С новым годом, с новым MQTT/UDP Привет. Как я уже писал недавно (Первая краткая статья о MQTT/UDP), MQTT/UDP — протокол на базе MQTT, но: Ходит поверх UDP broadcast (не нужен брокер, почти не нужна конфигурация) До неприличия простой в реализации (10 строк на си + UDP/IP стек — и вы отправляете данные с...

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

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

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

[Из песочницы] Разработка визуальных тестов на базе Gemini и Storybook Привет, Хабр! В этой статье я хочу поделиться опытом разработки визуальных тестов в нашей команде. Так получилось, что о тестировании верстки мы задумались не сразу. Ну съедет какая-нибудь рамка на пару пикселей, ну поправим. В конце концов, есть же тестировщики — мимо них ...

Python vs. Scala для Apache Spark — ожидаемый benchmark с неожиданным результатом Apache Spark на сегодняшний день является, пожалуй, наиболее популярной платформой для анализа данных большого объема. Немалый вклад в её популярность вносит и возможность использования из-под Python. При этом все сходятся на том, что в рамках стандартного API производитель...

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

Представляем InterSystems API Manager (+ вебинар) Недавно мы выпустили InterSystems API Manager (IAM) — новый компонент InterSystems IRIS Data Platform, обеспечивающий наблюдение, контроль и управление трафиком в/из web API в рамках IT-инфраструктуры. В этой статье я покажу как настраивать IAM и продемонстрирую некоторые из...

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

Гибкий график работы. Российский опыт Привет, Хабр! Мы занимаемся HR в ИТ, с небольшим уклоном в экономику и организацию труда. Придумываем подходы, инструментарий и первые эксперименты ставим на себе. Нам интересна тематика операционной эффективности, повышения рентабельности и прочих приятных вещей в сферах,...

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

Проектируем космическую ракету с нуля. Часть 5 — Первый закон Кеплера Содержание Часть 1 — Задача двух тел Часть 2 — Полу-решение задачи двух тел Часть 3 — Ужепочти-решение задачи двух тел Часть 4 — Второй закон Кеплера Привет всем читателям! Сразу приступим к продолжению без лишних разглагольствований. В прошлый раз остановились на: Э...

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

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

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

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

Утверждена Стратегия развития экспорта услуг до 2025 года Минэкономразвития России в рамках федерального проекта "Экспорт услуг" национального проекта "Международная кооперация и экспорт" подготовило Стратегиюразвития экспорта услуг до 2025 года. Стратегия и план её реализации утверждены подписанным распоряжение...

[Перевод] Исследование шейдера песка игры Journey Среди множества инди-игр, выпущенных за последние 10 лет, одной из самых любимых для меня определённо является Journey. Благодаря своей потрясающей эстетике и красивому саундтреку Journey стала примером превосходства практически в каждом аспекте разработки. Я разработчик иг...

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

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

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

Качество — ответственность команды. Наш QA опыт Я работаю QA-инженером в Miro. Расскажу о нашем эксперименте по передаче разработчикам части задач по тестированию и трансформации роли тестера в роль QA (Quality assurance). Сначала коротко о нашем процессе разработки. У нас ежедневные клиентские релизы и от 3 до 5 серверн...

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

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

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

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

[Перевод] 5 отличных способов анимировать React-приложения в 2019 году Анимация в приложениях React — популярная и обсуждаемая тема. Дело в том, что способов ее создания очень много. Некоторые разработчики используют CSS, добавляя теги в HTML-классы. Отличный способ, его стоит применять. Но, если вы хотите работать со сложными видами анимаци...

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

[Перевод] Гибкие таблицы на CSS Grid Просмотр списка лидов («холодных» контактов) Поскольку мы уже запустились, я, наконец, могу рассказать о секретном проекте, над которым работал последние два года. Одна из интересных функций Teamwork CRM — просмотр списка (list view). Это мощный компонент, который встреч...

Игры с лучшей графикой в 2018 году на iOS и Android: почти уровень Sony PlayStation 3 Внешний вид — самая субъективная из номинаций. Лично я на первое место, не задумываясь, вынес бы Super Starfish, в которую наиграл несколько часов только из-за ее волшебных эффектов, но в итоге лучшими ожидаемо оказались проекты от крупных компаний, вложивших изрядную часть ...

Едим слона по частям. Стратегия мониторинга работоспособности приложений на примерах Всем привет! Наша компания занимается разработкой программного обеспечения и последующей технической поддержкой. В рамках технической поддержки требуется не просто исправлять ошибки, а следить за работоспособностью наших приложений. Например, если «упал» один из сервисов, ...

Резервное копирование windows серверов в AWS Имеем windows сервер в AWS и задача настроить резервное копирование. Можно использовать снапшоты, но тогда возникнет проблема с целостностью данных. Ещё хочется хранить недельные и месячные снапшоты, а lifecycle в снапшотах этого не предлагает. Новый сервисе AWS Backup тоже ...

[Из песочницы] Обобщение задачи Брокара История Гильберт в 1900 году на II Международном конгрессе математиков в Париже отметил практическую важность теории чисел. Решение абстрактных задач часто приводило к появлению нового математического аппарата. Ярким примером служит Великая Теорема Ферма, в ходе доказательст...

Sony начинает исследования в сфере искусственного интеллекта с создания соответствующего подразделения Sony Corporation официально объявила о создании нового подразделения Sony AI. Оно будет иметь офисы в Японии, Европе и США, а основное направление его деятельности будет связано с проведением фундаментальных исследований и разработок в сфере искусственного интеллекта. В офиц...

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

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

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

Делаем автономного водного дрона или как я мечтал помочь Байкалу, но я не газпром. Часть 1 Привет Хабр! Я живу рядом с Байкалом, и много раз бывал на нем. Это красивое озеро с чистым воздухом. Несколько лет назад озеро начало загрязняться. И вот я подумал почему бы не сделать дрона с солнечными батареями, поставить на нее двигатель, нейронный компьютер с YolloV3(...

[Из песочницы] Обучение разработчиков 1С-Битрикс: делимся нашим подходом к «выращиванию» кадров Когда кадровый голод становится невыносимым, digital-компании идут разными путями: кто-то под прикрытием «курсов» открывает собственную кузницу кадров, кто-то придумывает заманчивые условия и хантит специалистов у своих конкурентов. А что делать, если ни первое ни второе н...

[Из песочницы] PIL на Python от простого к сложному Чтобы дойти до сложных алгоритмов обработки, стоит проанализировать стандартные схемы, с чего я и предлагаю начать. Для примеров обработки будет использоваться изображение с различным наборов цветов: Для старта нам потребуется два модуля библиотеки: from PIL import Imag...

Пробы и ошибки при выборе HTTP Reverse Proxy Всем привет! Сегодня мы хотим рассказать о том, как команда сервиса бронирования отелей Ostrovok.ru решала проблему роста микросервиса, задачей которого является обмен информацией с нашими поставщиками. О своем опыте рассказывает undying, DevOps Team Lead в Ostrovok.ru. Чи...

Java REPL вам не ScriptEngine Привет, Хабр! Меня зовут Дима, я разработчик в команде “Архитектура” в hh.ru. Среди прочего, я занимаюсь тем, что делаю разработку проще для коллег. Выполнение кода в продакшене является типовой задачей. Поэтому когда я услышал, что с этим есть проблемы, я решил заняться и...

Освежающий Джедайст Близится к середине первый месяц лета. И если вы всё ещё не в отпуске, и сидите в душном офисе, скорей читайте новый джедайст! А ещё одним глотком свежего воздуха (не из-под кондиционера) станет плейлист из чилловых песен любимых the XX. Он как раз для того момента, когда...

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

Почему будущее доставки всё-таки может быть за дирижаблями Your browser does not support HTML5 video. Помните дирижабль Amazon? Конечно, это был фейк. Но от истины здесь может быть недалеко. Amazon и правда хочет построить такую махину. Огромный аэростат, из которого во все стороны разлетаются дроны, как пчелы из улья. Компания ближ...

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

Russian AI Cup 2018, история 9 места Итак Меня, как и в прошлом году, зовут Андрей Рыбалка, только в этот раз мне 33. И, раз уж я оказался в десятке лучших, я решил снова поделиться своим подходом к написанию игрового бота для Russian AI Cup 2018. В этот раз заданием был футбол. Сама задача несколько напоминала...

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

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

Предварительный обзор Xiaomi Mi 9 Lite. Уже в России В крупных компаниях приняли хитрое решение — зачем выпускать кардинально новые устройства, если можно брать успешный флагман, делать его чуть более доступным благодаря простому процессору и отправлять в продажу. Именно о таком устройстве мы сегодня и поговорим — оно отлично ...

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

Deep Learning vs common sense: разрабатываем чат-бота Чем больше пользователей у вашего сервиса, тем выше вероятность, что им понадобится помощь. Чат с техподдержкой — очевидное, но довольно дорогое решение. Но если применить технологии машинного обучения, можно неплохо сэкономить. Отвечать на простые вопросы сейчас может и бо...

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

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

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

[Из песочницы] Как минимизировать ошибки при интеграции с внешними сервисами: опыт онлайн-брокера За полтора года мы интегрировались по API с двадцатью внешними сервисами. Первые пять интеграций прошли через боль и слезы — мы допустили все возможные ошибки. По несколько раз переписывали код, расставались с партнерами перед самым релизом, потому что не смогли договориться...

ReactiveX Redux Все, кто работает с Redux, рано или поздно сталкиваются с проблемой асинхронных действий. Но современное приложение разработать без них невозможно. Это и http-запросы к бэкенду, и всевозможные таймеры/задержки. Сами создатели Redux говорят однозначно — по умолчанию поддержив...

Нуждаешься во внедрении 1С? Обратись в АБ-ЮГ Согласитесь, если вы ведете крупный бизнес, вам придется придерживаться определенных правил. И в первую очередь необходимо в серьез задуматься о ведении бухгалтерии, ведь в противном случае у вас могут возникнуть серьезные проблемы. Сегодня речь пойдет о внедрении 1С на пред...

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

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

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

[Из песочницы] Трансформируем рабочее место в лежачее за 200$ По мнению австралийского нейрофизиолога Дарена Липники, люди лучше решают творческие задачи в лежачем положении. Это связано с норадреналином, не дающем нам расслабиться пока тело находится в вертикальном положении. Мысль о работе с компьютером лёжа впервые пришла ко мне ...

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

Управление мобильными устройствами и не только с помощью UEM решения от Sophos Сегодня многие компании в своей работе активно используют не только компьютеры, но и мобильные устройства и ноутбуки. В связи с этим появляется проблема управления этими устройствами, используя унифицированное решение. Sophos Mobile успешно справляется с этой задачей и откр...

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

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

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

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

«Ждёт тебя дорога дальняя…» или решение задачи прогнозирования на C# с помощью Ml.NET (DataScience) В последнее время мне все чаще на глаза попадается информация о фреймворке для машинного обучения Ml.NET. Количество упоминаний о нем переросло в качество, и я решил хотя бы одним глазком глянуть, что же это за зверь такой. Ранее мы с вами уже пробовали решить простейшую з...

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

Бизнесмен Дмитрий Спиридонов раскрыл секреты управления финансами Сооснователь платежного сервиса CloudPayments Дмитрий Спиридонов рассказал о навыках делегирования задач в бизнесе. Он поделился пятью основными правилами по умению делегировать задачи в крупной компании другим сотрудникам. «Если лидер хочет развиваться дальше и масшт...

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

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

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

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

24 сентября выйдет красивая головоломка Vestigium с задачами на развитие памяти Сегодня мы уже рассказали о головоломке inbento, которая совмещает приятный медитативный геймплей с еще более приятным внешним видом. Но скоро состоится релиз еще одной достойной игры в жанре под названием Vestigium. Она расскажет историю девушки Кири, которая отправляется ...

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

21 августа трансляция Zabbix Moscow Meetup #5 Привет! Меня зовут Илья Аблеев, я работаю в команде мониторинга Badoo. 21 августа приглашаю на традиционную, пятую, встречу сообщества специалистов по Zabbix в нашем офисе! Поговорим о вечной боли — хранилищах исторических данных. Многие сталкивались с проблемами произво...

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

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

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

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

Kubernetes tips & tricks: перевод работающих в кластере ресурсов под управление Helm 2 Необходимость подхвата ресурсов кластера Kubernetes может возникнуть в боевых условиях, когда нельзя просто пересоздать их инструментами Helm. Можно выделить две основные причины: Будет простой — вне зависимости от того, облако у вас или bare metal. При удалении могут ...

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

[recovery mode] Tcl для Cisco IOS в простых примерах Представим, что вам нужно развернуть «с нуля» десяток однотипных access-коммутаторов Cisco. Типовая конфигурация включает имя хоста и домена, шлюз по-умолчанию, пароли, список пользователей, IP-адреса для SVI, номера VLAN'ов, настройки транков аплинков и т.д. Вводить это каж...

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

В Счетной палате оценили стоимость перехода на цифровое вещание в России "В целом переход российского телевидения на цифру достиг целевых показателей: 98,4% граждан могут бесплатно принимать в цифре 20 ТВ-каналов свободного доступа. Всего на реализацию программы из различных источников было направлено 167,5 млрд рублей, в том числе 97,1 ...

Лёгкое программирование: канбан-доска для GitLab за один рабочий день Рабочий понедельник начался со следующего диалога: Руководитель (P): У тебя в команде не понятно, кто чем занимается. Я (Я): Это да, у нас нет инструмента, который бы отображал общую картину работы над задачами. В гитлабе есть канбан-доски, но они только в контексте проекто...

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

Flash-анимации в Unity3D своими руками. Часть первая, лирическая В этой серии статей я расскажу о том, как и почему мы решили создать своё собственное решение для импорта flash-анимаций в Unity, об оптимизациях и внутренней кухне получившегося плагина. А также в программе: рассказ о внутренностях формата swf, особенностях расширения Unity...

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

Методы распознавания 3D-объектов для беспилотных автомобилей. Доклад Яндекса Беспилотному авто не обойтись без понимания, что находится вокруг и где именно. В декабре прошлого года разработчик Виктор Отлига выступил на «Дата-елке» с докладом о детекции 3D-объектов. Виктор работает в направлении беспилотных автомобилей Яндекса, в группе обработки доро...

10 полезных команд для Терминала в Mac Терминал — это мощный инструмент OS X. Вы даете своему компьютеру команды, и операционная система их покорно выполняет. С помощью терминала вы можете выполнить действия, которые значительно сложнее или невозможно выполнить, используя графический пользовательский интер...

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

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

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

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

[recovery mode] Интеграция Опенкарт с учетными системами Опенкарт — один из самых распространенных интернет-магазинов. Во многих случаях возникает задача интеграции со складской учетной системой (чаще всего с 1С). Интеграция предполагает, как минимум, передачу заказов с ИМ в складскую систему для их обработки и отправки товаров п...

[Перевод] Моки, стабы и шпионы в Spock Framework Spock предоставляет 3 мощных (но разных по сути) инструмента, упрощающих написание тестов: Mock, Stub и Spy. Довольно часто коду, который нужно протестировать, требуется взаимодействовать с внешними модулями, называющимися зависимостями (в оригинальной статье используется т...

Ролевое приключение Alluris в стиле серии Reigns вышло на iOS и Android Alluris — это ролевое приключение с элементами карточной игры, напоминающее Reigns. Основную часть времени вы будете делать свайпы влево или вправо, принимая различные решения. Каждая карта, которая вам выпадает, связана с тем, что вы уже успели сделать или сказали, какая у...

Проектируем космическую ракету с нуля. Часть 3 — Ужепочти-решение задачи двух тел Содержание Часть 1 — Задача двух тел Часть 2 — Полу-решение задачи двух тел Движение в плоскости Осталось сделать последний штрих. Решить это уравнение: где — относительное расстояние между телами. В прошлом выпуске было показано, что при значительн...

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

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

Uber создаёт собственную ОС Как уточнил генеральный директор Uber Дара Хосровшахи (Dara Khosrowshahi), при помощи таких изменений компания намерена создать "собственную операционную систему для повседневного использования".Uber провела крупную презентацию нового приложения в Сан-Франциско 26 ...

Candy Bump - конфетное безумие Иногда хочется поиграть во что-то, что не займет много времени. Именно для такого случая подойдет Candy Bump. Candy Bump - простая казуальная игра. Основная задача - достигнуть финиша не задев ни одной цветной сладости, сбивать можно только сладости белого цвета. Управлен...

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

Как мы в Parallels покоряли Sign In with Apple Думаю у многих уже после WWDC 2019 на слуху Sign In with Apple (кратко SIWA). В материале я расскажу с какими конкретно подводными камнями пришлось столкнуться при интеграции этой штукенции в наш лицензионный портал. Данная статья не совсем для тех, кто только решил разобр...

Так может выглядеть реальный Samsung Galaxy Fold 2 без жуткого выреза Компания Samsung должна расширить ассортимент своих складных смартфонов с гибкими экранами в 2020 году. Помимо вертикальной раскладушки подо кодовым названием Bloom с маркировкой SM-F700F, также ожидается наследник оригинального Galaxy Fold, выпущенного осенью.   ...

Поиск задач в JIRA (простым языком). Часть 2: Продвинутый поиск Структуру JQL-запросов без примеров сложно понять специалистам, не знакомым ранее с JIRA. Мы уже успели рассказать про быстрый и базовый поиск. Теперь же прейдем к самому мощному из трех методов — к продвинутому поиску. В этом режиме вы можете указывать критерии, которые ...

[Перевод] Как масштабируется обучение искусственного интеллекта Мы в OpenAI обнаружили, что масштаб градиентного шума [gradient noise scale], простой статистический метод, предсказывает параллелизуемость обучения нейтральной сети на широком спектре задач. Поскольку у более сложных задач градиент обычно становится более шумным, то увеличе...

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

3D-напечатанные вспомогательные устройства и протезы: Blue Heart Hero Амин Хасани – один из дизайнеров группы Havenlabs. Havenlabs. Это некоммерческая организация, целью которой является использование 3D-печати для помощи ветеранам войны. Молодой человек делает все возможное, чтобы облегчить жизнь людей с ампутированными конечностями. Для этог...

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

Как обновить сервисы Google Play Все, что установлено на вашем Android-смартфоне, неразрывно связано с Google Play. Но и этот сервис для поиска интересующих вас приложений нуждается в обновлении (и он не всегда обновляется вместе со свежим апдейтом ОС). Поэтому для большей безопасности, рекомендуется иметь...

[Перевод] Разбор задачи с собеседования в Google: синонимичные запросы Это новая статья из разбора задач с собеседований в Google. Когда я там работал, то предлагал кандидатам такие задачи. Потом произошла утечка, и их запретили. Но у медали есть обратная сторона: теперь я могу свободно объяснить решение. Читать дальше →

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

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

[Из песочницы] SpecFlowMaster: как улучшить качество тестов Делаем правильные вещи Современная разработка не может существовать без автоматизированных тестов. Тесты могут быть написаны очень быстро даже непрофессионалами. Таким образом, у нас есть тесты, все как бы хорошо. Можем ли мы довериться таким тестам? Каково качество наших ин...

Предсказания от математиков. Разбираем основные методы обнаружения аномалий За рубежом все большую популярность набирает использование искусственного интеллекта в промышленности для предиктивного обслуживания (predictive maintenance) различных систем. Цель этой методики — определение неполадок в работе системы на этапе эксплуатации до выхода её из с...

[Перевод] Простейший JSON RESTful API на Эликсир Как реализовать на Эликсир JSON API endpoint без каких либо фреймворков? От переводчика: В статье приведён пример очень простого веб-приложения, которое можно рассматривать как Hello, World! в создании простейшего API на Эликсире. Код примера незначительно изменён для того, ...

[Из песочницы] Переменные окружения для Python проектов Переменные окружения для Python проектов При разработки web-приложения или бота мы часто имеем дело с какой-либо секретной информацией, различными токенами и паролями (API-ключами, секретами веб-форм). "Хардкодить" эту информацию, а тем более сохранять в публично доступной с...

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

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

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

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

Новинка офисного оборудования – переплетчик от Cactus CS-BM-G8 Бюджетный переплетчик от CACTUS это удобное решение для малого и среднего офиса. Если перед вами поставлена задача выбрать оборудование, способное создавать красивый и долговечный переплет для презентационных документов, то с этой задачей отлично ...

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

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

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

[Из песочницы] Умная лампа Привет, Хабр! Предлагаю вашему вниманию перевод статьи «DIY Smart Lamp» автора Maciej Matuszewski. Пошаговое руководство по переходу от придуманной идеи к работающему продукту. Ожидание против реальности Вы когда-нибудь задавали себе следующие вопросы? Может ли горяч...

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

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

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

Разработчики жалуются на Project Catalyst. Чуда не вышло Project Catalyst оказался не тем, чем казался Этим летом Apple объявила о том, что с выходом macOS Catalina позволит разработчикам быстро и беспроблемно переносить приложения с iPad на Mac и наоборот. В Купертино уверяли, что перенос будет осуществляться чуть ли не в один кл...

[Из песочницы] MicroPyServer простой HTTP сервер для ESP8266 и ESP32 Всем привет! Хочу рассказать о библиотеке MicroPyServer написанной на Python, которая позволяет взаимодействовать с устройствами ESP8266 и ESP32 посредством простого HTTP сервера. Что такое MicroPyServer? MicroPyServer это простой HTTP сервер предназначенный для проектов на...

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

В Naumen рассказали об итогах 2018 года и своем видении перспектив ИТ-рынка Цифровая трансформация, миграция сервисного подхода из ИТ в бизнес, а также роботизация рутинных процессов становятся все важнее для российских компаний. Компания Naumen провела пресс-конференцию, которая была в основном посвящена опыту реализованных в прошлом году проек...

ок.tech Data Толк #3: мини-интервью спикеров Проект ок.tech Data Толк родился как дискуссионная площадка для специалистов, занимающихся обработкой и аналитикой больших данных. Каждый раз мы подчеркиваем, что основная задача наших митапов – это не доклады, хотя они тоже очень важны, а открытая дискуссия аудитории со с...

Обработка системных вызовов посредством LD_PRELOAD с единой точкой входа Делая пере-реализацию QInst на LLVM, я столкнулся с такой проблемой: QEMU в режиме эмуляции одного процесса естественным образом перехватывает все «гостевые» системные вызовы. В итоге плагин инструментации имеет единую точку входа для их предобработки, где можно по номерам S...

Как нанимать, увольнять и понижать в должности: видео с Badoo Techleads Meetup #5 На последней встрече сообщества IT-руководителей мы поставили перед спикерами непростую задачу — говорить не только про успехи, но и про проблемы руководителей в IT. В итоге получился честный разговор про ситуации, с которыми однажды столкнется каждый: подбор сотрудников, ув...

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

Ответы на задачи со стенда PVS-Studio на конференциях 2018-2019 Привет! Несмотря на то, что сезон конференций 2019 года ещё в самом разгаре, мы бы хотели обсудить задачи, которые ранее предлагали посетителям нашего стенда. Осень 2019 года мы начали с новым набором задач, поэтому уже можно обнародовать решение старых задачек за 2018 год,...

Google Assistant стал ещё круче. Что теперь умеет помощник? Фирменный голосовой ассистент Google постоянно совершенствуется. Например, в конце сентября интерфейс помощника стал более интуитивным на Pixel 3 XL. Тогда пользователи заметили перемещение приветствия с предложением помощи, в то время как иконки Google Lens и клавиатуры по...

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

SAS: аналитика становится демократичной В рамках ежегодного форума обсуждались как перспективы развития ее продуктов, так и судьбы цифровой трансформации в России. «Мы не будем заставлять платить за ПО, если оно лежит на полке», — заявил Валерий Панкратов, генеральный директор комп...

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

Вебинар Теплицы: зачем нужен бриф, и как его правильно заполнить? Решение любой сложной задачи начинается с составления технического задания, которое исполнители называют брифом. Бриф потребуется при создании сайта или приложения, он поможет дизайнеру или специалисту технической поддержки. 29 августа в 11:00 участник программы «Пасек...

End2End-подход в задачах Automatic Speech Recognition Что такое End2End-распознавание речи, и зачем же оно нужно? В чем его отличие от классического подхода? И почему для обучения хорошей модели на основе End2End нам потребуется огромное количество данных — в нашем сегодняшнем посте. Классический подход к распознаванию речи Пр...

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

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

[Из песочницы] Статический анализ «BIOS/UEFI» или как получить Dependency Graph «Я вчера закончил ковку, Я два плана залудил…» … V.S. Vysotsky song... Уже почти 3 года назад (в начале 2016) в issue проекта UEFITool на GitHub появилось пожелание пользователей: построить «Dependency Graph» для исполняемых модулей, входящих в BIOS/UEFI. Завязалось да...

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

[Перевод] Энциклопедия освещения художника Naughty Dog Джои Ленц из Naughty Dog подробно рассказал нам об освещении в UE4: о значениях, источниках, световой температуре, освещении в PBR, ресурсах, по которым можно изучать освещение, а также обо многом другом. На официальном сайте Джои polyplant.co есть множество полезных советов...

EasyReveal: красивые переходы между экранами EasyReveal – библиотека переходов для экранов в Android-приложении. Есть готовые переходы и можно делать свои. Исходники: https://github.com/Chrisvin/EasyReveal

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

PHP, почём абстракции для народа? Joy: What is going on? Sadness: We’re abstracting! There are four stages. This is the first. Non-objective fragmentation! Bing Bong: Alright, do not panic. What is important is that we all stay together. [suddenly his abstract arm falls off] Joy: Oh! [Sadness and Joy start ...

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

Зачем писать свой React Data Grid в 2019 Привет, Хабр! Я участвую в разработке ECM системы. И в небольшом цикле статей хочу поделится нашим опытом и историей разработки своего React Data Grid (далее просто грид), а именно: почему мы отказались от готовых компонент с какими проблемами и задачами мы столкнули при ра...

[Из песочницы] История одной оптимизации MySQL Речь пойдет об оптимизации в MySQL базе данных. Это случилось, когда мы делали систему для email рассылок. Наша система должна была высылать десятки млн. писем в день. Отправка письма — задача не из простых, хотя выглядит все довольно примитивно: Собрать письмо из html кр...

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

[Из песочницы] Мой подход к реализации делегатов в C++: вызов функции с неизвестными параметрами во время выполнения Предыстория Мне нравится язык C++. Я бы даже сказал, что это мой любимый язык. Кроме того, для своих разработок я использую технологии .NET, и многие идеи в нём, по моему мнению, просто восхитительны. Однажды мне пришла в голову идея – как реализовать некоторые средства рефл...

Морти, мы в UltraHD! Как посмотреть любой фильм в 4K, дорисовав его через малоизвестную нейросеть Наверное, вы слышали про технологию Яндекса DeepHD, с помощью которой они как-то раз улучшили качество советских мультфильмов. Увы, в публичном доступе ее еще нет, а у нас, рядовых программистов, вряд ли найдутся силы написать свое решение. Но лично мне, как обладателю Retin...

Митап по PHP в Иванове Привет, Хабр! Мы рады сообщить, что уже в эту субботу в офисе компании Инвольта состоится митап на тему: “PHP: Неправильный путь. Почему важно знать инструменты Native PHP сегодня. Личный опыт разработчика Rambler.” Как уже понятно из темы, на митапе мы будем говорить про ...

OPPO Reno 10X с уникальной камерой В последнее время компании стали активно экспериментировать над тем, как бы разместить камеру в своем смартфоне. Ведь делать вырез в дисплее уже не так круто, а других простых вариантов нет. Приходится как-то выкручиваться и придумывать невероятные технологии, которые потом ...

Наш опыт создания API Gateway Некоторые компании, в том числе наш заказчик, развивают продукт через партнерскую сеть. Например, крупные интернет-магазины интегрированы со службой доставки — вы заказываете товар и вскоре получаете трекинговый номер посылки. Другой пример — вместе с авиабилетом вы покупает...

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

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

Neural Quantum States — представление волновой функции нейронной сетью В этой статье мы рассмотрим необычное применение нейронных сетей в целом и ограниченных машин Больцмана в частности для решения двух сложных задач квантовой механики — поиска энергии основного состояния и аппроксимации волновой функции системы многих тел. Читать дальше →

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

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

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

Python + OpenCV + Keras: делаем распознавалку текста за полчаса Привет Хабр. После экспериментов с многим известной базой из 60000 рукописных цифр MNIST возник логичный вопрос, есть ли что-то похожее, но с поддержкой не только цифр, но и букв. Как оказалось, есть, и называется такая база, как можно догадаться, Extended MNIST (EMNIST). ...

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

[recovery mode] Ok Яндекс! А где наши «Reach Goals»? История про Yandex.Metrika ReachGoal, девушку Лиду и про то, что не бывает неразрешимых проблем Мир неидеален, мир world wide web неидеален еще больше. Иногда, на это можно закрыть глаза. Но только не тогда, когда красивая девушка по имени Лида из «отдела маркетинга» стоит ...

Отображение и оптимизация вывода на терминал в вебе Не так давно я столкнулся с довольно простой и одновременно интересной задачей: реализация read-only терминала в веб приложении. Интереса задаче придавали три важных аспекта: поддержка основных ANSI Escape sequences поддержка минимум 50 000 строк данных отображение данных п...

Как научить машину понимать инвойсы и извлекать из них данные Привет, хабр! Меня зовут Станислав Семенов, я работаю над технологиями извлечения данных из документов в R&D ABBYY. В этой статье я расскажу об основных подходах к обработке полуструктурированных документов (инвойсы, кассовые чеки и т.д.), которые мы использовали совсем ...

Как подготовиться к ICPC: вышла книга «Олимпиадное программирование» В издательстве “ДМК Пресс” вышла книга “Олимпиадное программирование” с подзаголовком “Изучение и улучшение алгоритмов на соревнованиях”. Она стала глотком свежего воздуха для всех, кто интересуется, готовит и готовится к участию, или только планирует в будущем, в таком инте...

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

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

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

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

DIY тепловизор на Raspberry PI или «Кажется теперь я знаю, чем займусь этим летом» Всем привет! Пришла зима, а с ней и задача проверить теплоизолирующие свойства построек загородной резиденции дачи. А тут ещё оказалось, что на известном китайском сайте появились вполне доступные тепловизионные модули. Не собрать ли себе экзотическую и, возможно, даже по...

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

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

Как мы распределяем заказы между водителями в Яндекс.Такси Одна из главных задач в Яндекс.Такси — как сделать так, чтобы к пользователю быстро приезжала машина, а у водителя сокращалось время «холостого пробега» (то есть время, когда он на линии без пассажира). Казалось бы, всё просто: пользователь выбирает тариф, указывает дополн...

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

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

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

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

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

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

Схема метро Минска В конце июля у моего города появилась красивая схема метро, которую мы старательно рисовали вечерами 8 месяцев. Задача от арт-директора звучала так: нужно спроектировать такую схему метро, чтобы другие города завидовали. Центр Читать дальше →

[Перевод] Два в одном: Intel Optane Memory H10 (часть 2) Часть 1 >> Часть 2 Тест накопителей AnandTech — The Destroyer The Destroyer — это чрезвычайно долгий тест, который реплицирует шаблоны доступа приложений с большим объемом ввода-вывода. Как при использовании в реальных условиях, накопители получают время от времени не...

Can I haz? Ударим программированием на типах по дженерикам Привет, Хабр. В прошлый раз мы описали Has-паттерн, обрисовали проблемы, которые он решает, и написали несколько конкретных инстансов: instance HasDbConfig AppConfig where getDbConfig = dbConfig instance HasWebServerConfig AppConfig where getWebServerConfig = webServerCo...

Интервью с Александром Макаровым, Yii core team Один из ключевых разработчиков Yii, Александр Макаров(SamDark), выступит на DevConf с докладом про пакетные метрики и я воспользовался возможностью задать несколько интересующих меня вопросов про новую версию Yii, новую ORM, сбор денег на OpenCollective, фулл-тайм open sour...

Прошлое и будущее Java в интервью с Саймоном Риттером из Azul Представляем вам интервью с Саймоном Риттером — человеком, который работал над Java с самого начала и продолжает делать это в роли заместителя технического директора Azul — компании, работающей над виртуальной машиной Zing JVM и одним из лучших сборщиков мусора, C4 (Continu...

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

Как опередить конкурентов: «СИБУР» осваивает аддитивное производство Инженер «СИБУРа» Роман Тихонов (справа) и руководитель направления 3D в компании iQB Technologies Иван Папуша. При поддержке нашей компании были разработаны программы для обучения специалистов аддитивных центров «СИБУРа». Таких специалистов, как Роман Тихонов, в России по...

Трансляция проектов и библиотек из Altium Designer в PADS Professional Часто у инженеров возникает необходимость транслировать проекты из одной САПР в другую. На предприятиях не редко бывает такая ситуация, когда разные отделы проектируют в разных САПРах. Также трансляция проектов может потребоваться, когда ваша система проектирования уже не с...

Практическое применение трансформации AST-деревьев на примере Putout Введение Каждый день при работе над кодом, на пути к реализации полезного для пользователя функционала, становятся вынужденные (неизбежные, либо же просто желательные) изменения кода. Это может быть рефакторинг, обновление библиотеки или фреймворка до новой мажорной версии, ...

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

[Перевод] Математики на примере «пятнашек» вычисляют, как возникает случайность Задача головоломки «пятнашки» — упорядочить пронумерованные плитки. Сегодня математики решили обратную задачу — как перепутать головоломку. Вероятно, вы играли в «пятнашки». Это расстраивающая, но аддиктивная игра, состоящая из 15 плиток и одного пустого пространства, выст...

[Перевод] GitOps: сравнение методов Pull и Push Прим. перев.: В сообществе Kubernetes явную популярность набирает тренд под названием GitOps, в чём мы лично убедились, посетив KubeCon Europe 2019. Этот термин был относительно недавно придуман главой компании Weaveworks — Alexis Richardson — и означает применение привычных...

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

[Из песочницы] Организация reducer'а через стандартный класс Приветствую, сегодня я собираюсь поговорить с вами о способе организации Reducer'a. И рассказать с чего я начал и к чему пришел. Итак, есть некий стандарт по организации Reducer и выглядит он следующим образом: export default function someReducer(state = initialState, action...

[Перевод] Создание игры для Game Boy, часть 2 Несколько недель назад я решила поработать над игрой для Game Boy, создание которой доставило мне большое удовольствие. Её рабочее название «Aqua and Ashes». Игра имеет открытые исходники и выложена на GitHub. Предыдущая часть статьи находится здесь. Фантастические спрайты...

Apple обучает iPhone выявлять болезнь Альцгеймера Apple хочет научить iPhone выявлять болезнь Альцгеймера. Достойная цель, и уже есть первые результаты Медицинские технологии – это одно из ключевых направлений деятельности, которые Apple старается развивать активнее, чем другие. Чаще всего до пользователей доходят только са...

5 типовых задач на собеседованиях по JavaScript: разбор и решения От переводчика: опубликовали для вас статью Марии Перна (Maria Antonietta Perna), которая рассказывает о типовых задачах по JavaScript, чаще всего предлагаемых соискателям-разработчикам на собеседованиях. Статья будет полезна, в первую очередь, начинающим программистам. ...

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

[Из песочницы] Создание приложения Sticky Notes с использованием 8base, GraphQL и React Посмотреть демо версию программы здесь. Во все времена тайм менеджмент был связан для меня с огромной борьбой, запланированные задачи забыты, заметки потеряны, потому что они распределены по нескольким приложениям, сохраняющим заметки. Решение заключается вовсе не в прило...

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

Продуктовая разработка на Go: история одного проекта Всем привет! Меня зовут Максим Рындин, я тимлид двух команд в Gett – Billing и Infrastructure. Хочу рассказать про продуктовую веб-разработку, которую мы в Gett ведем преимущественно на языке Go. Я расскажу, как в 2015-2017 годах мы переходили на этот язык, почему вообще е...

[Перевод] 2D-тени на Signed Distance Fields Теперь, когда мы знаем основы комбинирования функций расстояний со знаком, можно использовать их для создания крутых вещей. В этом туториале мы применим их для рендеринга мягких двухмерных теней. Если вы пока не читали моих предыдущих туториалов о полях расстояний со знаком ...

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

Свой Telegram бот для отслеживания uptime своих серверов на python и docker 1. Делаем телеграм бота Для начала нужно написать бота, который будет пинговать нужные ip и посылать сообщение, когда нужный сервис пропадает из сети, а потом появляется Читать дальше →

10 причин, чтобы выбрать решение для SAP HANA от НРЕ. Часть 2 В предыдущей статье мы начали говорить о 10 причинах, чтобы выбрать решение от компании Hewlett Packard Enterprise для SAP HANA и остановились на технических причинах. Предлагаю взглянуть на процесс выбора решения под SAP HANA «глазами вендора». Очень бы хотелось, чтобы эт...

[Перевод] Реализация шаблона проектирования Command в Unity Вы задавались когда-нибудь вопросом, как в играх наподобие Super Meat Boy реализована функция реплея? Один из способов её реализации — выполнять ввод точно так же, как это делал игрок, что, в свою очередь, означает, что ввод нужно как-то хранить. Для этого и многого другого...

Google добавила в Android режим слежения за вашими глазами Третья бета-версия Android Q, которая вышла в начале этой недели, продолжает радовать нас всевозможными – значимыми и не очень – нововведениями. Помимо универсальной ночной темы, действующей даже на сторонние приложения, и встроенного в Google Play механизма распространения...

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

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

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

Проблемы пакетной обработки запросов и их решения (часть 1) Практически все современные программные продукты состоят из нескольких сервисов. Часто большое время отклика межсервисных каналов становится источником проблем с производительностью. Стандартное решение такого рода проблем — это упаковка нескольких межсервисных запросов в од...

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

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

5-6 причин прийти на GolangConf Если вы бывали на HighLoad++, то знаете о традиционном митапе по Go. Активисты, интересующиеся Go, занимали зал на пару часов, представляли небольшие доклады, обсуждали насущные темы, холиварили. Были на HighLoad++ и отдельные доклады по Go. Теперь, нам кажется, что Go-сооб...

Установка и настройка Nexus Sonatype используя подход infrastructure as code Sonatype Nexus – интегрированная платформа, с помощью которой разработчики могут проксировать, хранить и управлять зависимостями Java (Maven), образами Docker, Python, Ruby, NPM, Bower, RPM-пакетами, gitlfs, Apt, Go, Nuget, а также распространять свое программное обеспечение...

Проблема с дисплеем iPad, кнопкой Home в iPhone и другие ответы по ремонту техники Apple Мы продолжаем проект, в рамках которого специалисты сервисного центра ModMac отвечают на ваши самые интересные вопросы по ремонту техники Apple. Сегодня речь пойдет о проблемах AirPods, дисплее iPad и не только! Вопрос от читателя с ником PeaceDeath4: Здравствуйте! Возникл...

Стохастический градиентный спуск(SGD) для логарифмической функции потерь(LogLoss) в задаче бинарной классификации Предыдущая часть (про линейную регрессию, градиентный спуск и про то, как оно всё работает) — habr.com/ru/post/471458 В этой статье я покажу решение задачи классификации сначала, что называется, «ручками», без сторонних библиотек для SGD, LogLoss'а и вычисления градиентов, ...

Оценивание пространственной ориентации, или Как не бояться фильтров Махони и Маджвика О чём речь Появление на Хабре поста о фильтре Маджвика было по-своему символическим событием. Видимо, всеобщее увлечение дронами возродило интерес к задаче оценивания ориентации тела по инерциальным измерениям. При этом традиционные методы, основанные на фильтре Калмана, пер...

Американцы создали очень странный смартфон «для здоровья глаз» Гаджет под названием Kingrow K1 получил 5,2-дюймовый монохромный E Ink-дисплей. Для глаз пользователя такой дисплей действительно безвреден, но вот и круг выполняемых им задач более чем ограниченный.

[Из песочницы] Новичку only: 10 вещей, которые вы должны знать как веб-разработчик Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Things You Should Know As a Web Developer» автора Anuupadhyay. Написание тысячи строк кода и превращение в веб-сайт — одна из творческих и сложных вещей для веб-разработчиков. Если вы в этом деле новичок, увидели ...

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

Создан квантовый компьютер «для бедных», способный работать при комнатной температуре Вероятностные вычисления выполняются с использованием вероятностных битов, или p-битов, состояние которых колеблется во времени между 0 и 1. Они аналогичны квантовым вычислениям, где используется суперпозиция 0 и 1 квантовых битов, или q-битов.Исследовательской группе удалос...

Мифы о 152-ФЗ, которые могут дорого обойтись оператору персональных данных Всем привет! Я руковожу центром киберзащиты DataLine. К нам приходят заказчики с задачей выполнения требований 152-ФЗ в облаке или на физической инфраструктуре. Практически в каждом проекте приходится проводить просветительскую работу по развенчанию мифов вокруг этого закон...

[Из песочницы] Consumer Driven Contracts или Gitlab CI глазами QA test automation Цели данной публикации: Краткое введение в Consumer Driven Contracts (CDC) Настройка CI pipeline на основе CDC Consumer Driven Contracts В этой части мы пройдемся по основным моментам CDC. Данная статья не является исчерпывающей на тему контрактного тестирования. Существуе...

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

«ЗИЛ умер, оставив достойного наследника»: Блогер поделился впечатлениями от «машины на века» – КамАЗ-53212 Бортовой грузовик-тягач в своё время получил славу невероятно актуальной и современной машины, однако сейчас о нём знает не так уж и много людей. Автоблогер Иван Зенкевич решил несколько исправить эту ситуацию, устроив небольшой тест-драйв для КамАЗ-53212. По словам эксперт...

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

[Перевод] Решаем задачу из интервью Google на JavaScript: 4 разных способа Когда я занимался изучением производительности алгоритмов, мне попалось вот это видео с мок-интервью Google. Оно не только дает представление, как проходят собеседования в крупных технологических корпорациях, но и позволяет понять, как решаются алгоритмические задачи, при...

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

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

Вероятность выигрыша матча при известной вероятности выигрыша очка Надеюсь, среди читателей есть любители спорта. Если Вы играете в бадминтон или настольный теннис, то Вы возможно задавались вопросом: какова вероятность выиграть игру при известной вероятности выиграть очко? Допустим Вы проигрываете своему сопернику со счетом около 11:7. Каз...

92,7% делают бэкапы, потери данных выросли на 30%. Что не так? В 2006 году на крупной российской конференции доктор технических наук выступил с докладом о нарастающем информационном пространстве. В красивых схемах и примерах учёный рассказывал о том, что через 5-10 лет в развитых странах информация будет поступать каждому человеку в кол...

WavesKit — PHP фреймворк для работы с блокчейном Waves Мне нравится PHP за скорость разработки и отличную переносимость. Это очень хорошо, когда в кармане всегда имеется готовый к решению задач инструмент. Было довольно обидно, когда при знакомстве с отечественным блокчейном Waves Platform в его арсенале не оказалось готового SD...

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

SOLIDWORKS Simulation. Урок 1 Недавно писал пост, про свою держалку филамента, показав свои результаты симуляции нагрузок системы, и несколько человек написали мне, чтобы я подсказал как делать эту симуляцию. И я решил, что, возможно, стоит оформить это как серию уроков, и мне будет полезно скомпоновать ...

Трансляция Дня Техдира в Санкт-Петербурге  В 19:00 начинаем трансляцию Дня СТО в Санкт-Петербурге.  Что мы планировали? Даниил Подольский, руководитель разработки в MTGroup, расскажет про выгорание айтишников, которое чревато потерей самых вовлеченных и ключевых сотрудников. Кирилл Малеванов, технический директ...

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

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

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

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

CLRium #5 Garbage Collector: полное погружение в омут памяти 13 апреля в Санкт-Петербурге (оффлайн и онлайн) и 20 апреля — в Москве (только оффлайн) пройдет самый крупный семинар CLRium#5 за всё время его существования. До Sold-Out Питера осталось всего лишь 30 мест! А видеозаписи получат владельцы всех типов билетов. Прокопав дебри а...

[Перевод] Learn OpenGL. Урок 7.2 – Отрисовка текста В некоторый момент ваших графических приключений вам захочется вывести текст через OpenGL. Вопреки тому, что вы могли ожидать, получить простую строку на экране довольно сложно с низкоуровневой библиотекой, такой как OpenGL. Если вам не нужно больше 128 различных символов дл...

Pearls Peril 3.21.7824 Pearls Peril – это очень интересная и захватывающая игра в стиле поиск предметов. Интересный сюжет и множество крутых головоломок и заданий. Игра перенесет вас в двадцатые годы, Нью-Йорк. Главная героиня игры — это девушка Перл, яркая и молодая девушка ведущая светский...

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

[Перевод] Новшества JavaScript: итоги Google I/O 2019. Часть 1 Материал, первую часть перевода которого мы сегодня публикуем, посвящён новым стандартным возможностям JavaScript, о которых шла речь на конференции Google I/O 2019. В частности, здесь мы поговорим о регулярных выражениях, о полях классов, о работе со строками. Ретроспект...

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

Microsoft To-Do теперь поддерживает закрепление списков в виде «живых» плиток в меню «Пуск» Компания Microsoft выпустила новое обновление приложения To-Do для Windows 10 и iPad, которое принесло с собой несколько приятных улучшений. На Windows 10 пользователи получили возможность закреплять отдельные списки в качестве динамических плиток в меню «Пуск», тогда как н...

[Перевод] Перешел с Terraform на CloudFormation — и пожалел Представлять инфраструктуру в виде кода в повторяемом текстовом формате — простая лучшая практика для систем, с которой не нужно мышевозить. За этой практикой закрепилось название — Infrastructure as Code, и пока что для ее осуществления, особенно в AWS, есть два популярных ...

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

Печать литейной оснастки. Фото, +2 видео. Привет дорогие читатели! Сегодня я расскажу вам как мне довелось печатать литейную оснастку. Поехали!Для начала немного литейной теории. Для создания простой отливки нам необходима модель. Для создания отливки с внутренней полостью, нам нужна модель и стержень.Стержень - объ...

Расставляем стандартные ячейки (заметки постороннего) Натолкнувшись на статью “Уничтожим монополию …”, автор, как человек пусть от EDA очень далёкий, но от природы любознательный, не поленился пройтись по ссылкам и невольно поймал себя на мысли, что одно из основных технических решений — использование рядов стандартных ячеек (...

Как распилить монолит на сервисы и сохранить производительность In-memory кэшей без потери консистентности Всем привет. Меня зовут Александр, я Java-разработчик в группе компаний Tinkoff. В данной статье хочу поделиться опытом решения проблем, связанных с синхронизацией состояния кэшей в распределенных системах. Мы столкнулись с ними, разбивая наше монолитное приложение на микр...

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

Универсальная методика к решению задач на примере головоломки «12 монет, 3 взвешивания» Дано: 12 монет, одна из них фальшивая, отличается только весом. Неизвестно легче или тяжелее. Даны рычажные весы, которые показывают, что груз с одной из сторон тяжелее. За 3 взвешивания необходимо найти фальшивую монетку и определить легче она или тяжелее. Из опыта советую...

Облако второго поколения Вице-президент Oracle в России и СНГ Олег Жуков, открывая конференцию, обратил внимание на тот факт, что компания фактически работала в России и СССР еще до официального открытия представительства в 1994 году. Он отметил, что бизнес Oracle в России продолжает расти, и полити...

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

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

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

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

Крупный российский бизнес готов эмигрировать в облако Как сообщает пресс-служба ПАО "Сбербанк", в топ-5 драйверов внедрения облачных технологий вошли: снижение расходов организации (35, 13 и 20% представителей крупного, среднего и малого бизнеса соответственно); упрощение взаимодействия подразделений (32%, 27% и 24%); сокращени...

Microsoft планирует значительные внутренние изменения в Windows 10 20H1 Впервые компания Microsoft начала тестировать крупное обновление системы Windows 10 более чем за год до выпуска этой версии. Обычно выходящие раз в полгода обновления системы в рамках программы Windows Insider тестируются от 6 до 8 месяцев. Потом создаётся финальная версия и...

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

[Перевод] Улучшите свой CSS с помощью этих 5 принципов Написание CSS — процесс достаточно простой и понятный, тогда почему для этого требуются еще какие-то принципы и best-practices? По мере увеличения масштабов проекта и количества людей, работающего над ним, всё более и более явно начинают проявляться новые сложности, котор...

BlessRNG или проверяем ГСЧ на честность В геймдеве часто нужно что-нибудь завязать на рандоме: у Unity для этого есть свой Random, а параллельно с ним существует System.Random. Когда-то давно на одном из проектов сложилось впечатление, что оба могут работать по-разному (хотя должны иметь равномерное распределени...

Новая игра со старой атмосферой на Three.js. Часть 2 В первой части я рассказал о проблемах, с которыми я столкнулся в процессе создания 3D игры под браузер c использованием Three.js. Теперь я хотел бы подробно остановиться на решении некоторых важных задач при написании игры, типа конструирования уровней, определения столкнов...

Blameless environment: никто не должен писать качественный код На РИТ++ Никита Соболев (sobolevn) выступил, как он сам назвал это, с проповедью на тему качества кода и процессов в компании. Особо впечатлительных просим налить себе ромашкового чаю, но отойти от экранов не предлагаем. Вы можете не соглашаться ни с одним из тезисов, настаи...

Проблемы пакетной обработки запросов и их решения (часть 2) Это продолжение статьи «Проблемы пакетной обработки запросов и их решения». Рекомендуется сначала ознакомиться с первой частью, так как в ней подробно описана суть задачи и некоторые подходы к ее решению. Здесь же мы рассмотрим другие методы. Читать дальше →

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

Делаем свой почти Extended Floating Action Button Всем привет. Не прошло и полгода как работает мое приложение, в котором Floating Action Button меню было реализовано сторонней библиотекой. В какой-то момент захотелось сделать его более приятным и удобным. Было Стало В процессе изменения дизайна я наткнулся на избыт...

Интерактивная игра на XSLT Когда-то давным-давно придумали люди язык XML и увидели, что это хорошо. И стали использовать его везде, где можно, и даже там, где не следует. Форматы хранения и передачи данных, конфиги, веб-сервисы, базы данных… Казалось, оглянись вокруг — XML, XML повсюду. Время прошло...

Курс лекций по JavaScript и Node.js в КПИ Товарищи инженеры, как и было обещано в анонсе, половина лекций (а это 51) уже доступны для просмотра на ютюбе и я продолжу их записывать в 2019 году. Часть из нужно будет перезаписать, потому, что в первых лекциях не самый лучший звук и потому, что очень простые темы у мен...

Долгий путь от RFC 4357 к RFC 8645 или как управлять ключами шифрования Как известно, управление ключами является одной из самых сложных задач в криптографии. Буквально на днях в качестве RFC 8645 опубликован документ “Re-keying Mechanisms for Symmetric Keys” («Механизмы смены симметричных ключей»). Он является результатом двух с половиной лет ...

[Перевод] Тренинг Cisco 200-125 CCNA v3.0. День 47. Устранение неполадок OSPF Сегодня мы продолжим тему предыдущего урока о протоколе OSPF, которому посвящен раздел 2.4 тематики ICND2, и рассмотрим устранение типичных проблем реализации этого протокола. Вернемся к примеру Packet Tracer, которым мы закончили последнее видео. Для начала я исправлю обозн...

Как мы внедряли Agile-testing Привет! Меня зовут Алёна Исакова, я ведущий тестировщик в Авито, и я хочу рассказать вам про свой опыт введения Agile-тестирования в команду. Когда я читала доступные на русском языке статьи про Agile-тестирование и ATDD, у меня сложилось впечатление, что я «не модная», «не ...

Плавная прокрутка Microsoft для Chromium делает большой прогресс Недавно Microsoft выпустила первую бета-версию своего нового браузера Edge для Windows 10, Windows 7 и macOS. Microsoft Edge, созданный на основе браузера Google с открытым исходным кодом «Chromium», имеет несколько новых функций, и ожидается, что в будущем обновлении он пол...

Ограничение Messages API VK — что делать Как все начиналось... 2 февраля я наткнулся на интересную статью: закрытие api для сообщений. Первая моя мысль была: «блин, как теперь взламывать людей-то а?». Но потом я призадумался: наверное мой бот на лонгполе перестанет работать, и вообще, не круто это… Но 15-го феврал...

Не New Relic’ом одним: взгляд на Datadog и Atatus В среде SRE-/DevOps-инженеров никого не удивишь, что однажды появляется клиент (или система мониторинга) и сообщает, что «всё пропало»: сайт не работает, оплаты не проходят, жизнь — тлен… Как бы ни хотелось помочь в такой ситуации, сделать это без простого и понятного инст...

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

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

[Перевод] Создание игры Tower Defense в Unity: башни и стрельба по врагам [Первая и вторая части туториала] Размещаем на поле башни. Целимся во врагов при помощи физики. Отслеживаем их, пока это возможно. Стреляем в них лазерным лучом. Это третья часть серии туториалов о создании простой игры жанра tower defense. В ней рассмотрено создание баше...

Плагины Jira: несколько примеров успешного изобретения велосипеда Мы в Mail.ru Group вкладываем много сил в развитие продуктов компании Atlassian и, в частности, Jira. Благодаря нашим усилиям свет увидели плагины My Groovy, JS Includer, My Calendar, My ToDo. Все эти плагины мы развиваем и активно используем внутри компании. Мы получаем...

Администратор NASA рассказал о ближайших планах агентства, Марсе и инопланетянах В декабре замглавы Управления научными миссиями аэрокосмического агентства NASA Томас Зурбухен посетил с рабочим визитом Бостонский университет, где он выступил с докладом, а также ответил на несколько вопросов студентов о том, когда человек сможет отправиться на Марс, об е...

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

Как мы пробивали Великий Китайский Фаервол (ч.2) Привет! С вами снова Никита — системный инженер из компании SЕMrush. И этой статьей я продолжаю историю про то, как мы придумывали решение обхода Китайского Фаервола для нашего сервиса semrush.com. В предыдущей части я рассказал: какие появляются проблемы после того, как пр...

[Перевод] Почему системные администраторы должны становиться DevOps-инженерами Для обучения в жизни нет лучшего времени, чем сегодня. На дворе 2019 год, и тема DevOps сейчас актуальна, как никогда. Говорят, что дни системных администраторов прошли, как миновала эпоха мейнфреймов. Но так ли это на самом деле? Как это часто бывает в IT, ситуация изменил...

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

Свежая утечка показала дизайн Sony Xperia XA3. И в нем нет никаких «челок» и «дырок в экране» Чем ближе какая-либо крупная выставка — тем больше появляется слухов, утечек и интересных подробностях о будущих новинках. В этот раз поступила информация о свежем смартфоне от Sony из линейки Xperia. Если верить поступившим данным, сейчас японская компания вовсю рабо...

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

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

XLNet против BERT В конце июня коллектив из Carnegie Mellon University показал нам XLNet, сразу выложив публикацию, код и готовую модель (XLNet-Large, Cased: 24-layer, 1024-hidden, 16-heads). Это предобученная модель для решения разных задач обработки естественного языка. В публикации они ...

[Из песочницы] Ардуино и клавиатуры (полный гайд) Привет, жители Хабра! Сегодня я решил сделать полный гайд по клавиатурам для Arduino. Внимание! Статья ориентирована преимущественно на новичков! Во многих проектах появляется необходимость создания возможности ввода данных пользователем. Если вам нужно реализовать большое ...

Звуковые панели LG Advanced 2019 могут предложить умные функции Телевизоры становятся всё тоньше, а их рамки — незаметнее. Это также означает, что всё меньше места остаётся для размещения приличных динамиков. Решением для производителей телевизоров является перевод телевизионных аудиоколонок в относительно новую категорию ...

Netramesh – легковесное service mesh решение В процессе перехода от монолитного приложения к микросервисной архитектуре мы сталкиваемся с новыми проблемами. В монолитном приложении обычно достаточно просто определить, в какой части системы произошла ошибка. Скорее всего, проблема в коде самого монолита, либо в базе дан...

[в закладки] PDF- и ePUB-версия руководства по React Привет Хабр! В этом году мы делали перевод огрооомного обучающего курса по React — в нашем блоге он был аж в 27 постах. В каждой части, от простого к сложному, выдавался концентрат знаний, которые тепло оценили читатели нашего блога. А сегодня мы поймали себя на мысли, что н...

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

Что не так с обучением с подкреплением (Reinforcement Learning)? Еще в начале 2018 года вышла статья Deep Reinforcement Learning Doesn't Work Yet ("Обучение с подкреплением пока не работает"). Основная претензия которой сводилась к тому, что современные алгоритмы обучения с подкреплением требуют для решения задачи примерно столько же вре...

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

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

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

Workflow Core — движок бизнес-процессов для .Net Core Всем привет! Мы решили поддержать тему миграции проекта, использующего Windows Workflow Foundation на .Net Core, которую начали коллеги из DIRECTUM, поскольку столкнулись с аналогичной задачей пару лет назад и пошли собственным путем. Читать дальше →

Игра фреймворков: тренды JavaScript в 2019 TypeScript против ES6, React против Angular, Jest против Mocha… Не хуже нашумевшего сериала, эти «битвы» держат поклонников JavaScript в напряжении, заставляя их задумываться: «Что же учить дальше?» К тому же, армии пользователей каждой из технологий приводит настолько убеди...

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

Как я разрабатываю и тестирую API со своим «велосипедом» PieceofScript PieceofScript — простой язык для написания сценариев автоматического тестирования HTTP JSON API. PieceofScript позволяет: описывать методы API в формате YAML, с названием метода на почти естественном языке, что удобно для чтения тестов достаточно гибко описывать модели в...

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

Не нужен вам вуз, идите в ПТУ? Эта статья — ответ на публикацию "Что же не так с IT-образованием в России", а точнее, даже не на саму статью, а на часть комментариев к ней и идеи, в них прозвучавшие. Я сейчас выскажу, наверное, очень непопулярную здесь на Хабре точку зрения, но не высказать я ее не мог...

Новый способ диагностики рака: диагноз из машины Искусственный интеллект справляется с некоторыми задачами лучше людей: он выигрывает в шахматы (1997, Deep Blue — Каспаров), в го (2015, AlphaGo — Фань Хуэй), надежнее и быстрее проверяет документы (2018, LawGeex против 20 опытных юристов) и анализирует медицинские изображен...

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

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

[Перевод] Создание игры для SEGA Mega Drive/Genesis в 2019 году Даже сегодня люди по-прежнему продолжают создавать новые игры для старых консолей. Мы называем их «homebrew». Иногда это способ реализовать детскую мечту о создании игры для консоли, на которой играл ребёнком. Но кроме того это ещё и интересная задача для любого дизайнера и...

Власти Петербурга намерены создать план интеллектуальной транспортной системы к 2021 году Об этом сообщил председатель городского комитета по транспорту Александр Головин на форуме SmartTRANSPORT - 2019."Мы сейчас должны задумываться уже о перспективе пятилетней, десятилетней, что будет с Петербургом в плане улично-дорожной сети, в плане трафика, и поэтому с...

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

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

Крупнейшие заказчики в России — большой куш или головная боль? Опыт AGIMA Строительный магазин (или продуктовый, или детский, или какой-угодно-еще) федерального масштаба выходит на рынок с заказом — разработать веб-проект. Задача может быть интересной технически, страшно прибыльной, но многие разработчики и агентства все равно засомневаются, гот...

Мелкая питонячая радость #7: три штуки по цене одной — консольная анимация, алгоритмы и отладка На этой неделе достаточно крупных малких радостей не нашлось, зато нашлись 3 совсем мелкие мелкие радости. termtosvg Сейчас принято снабжать свои библиотеки и репо на github красивой анимацией, показывающей консоль с живой демкой вашего творения. Традиция, бесспорно, хорош...

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

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

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

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

[Перевод] Использование UIViewPropertyAnimator для создание пользовательских анимаций Создание анимаций это здорово. Они являются важной частью iOS Human Interface Guidelines. Анимации помогают привлечь внимание пользователя к важным вещам или попросту делают приложение не таким скучным. Существует несколько способов реализовать анимацию в iOS. Вероятно, са...

Microsoft Azure Developer Camp Россия 23 мая | 9:30 – 19:00 Офис Microsoft, БП Крылатские Холмы, ул. Крылатская 17к1, Переговорные комнаты Уран, Юпитер, Сатурн Москва, Россия Распространение облачных технологий постепенно изменяет методы разработки приложений, и перед программистами возникают новые сложные зад...

Как мы делали тариф для Windows VPS за 120 рублей Если вы являетесь клиентом VDS-хостинга, задумывались ли вы о том, что идет в комплекте со стандартным образом операционной системы? Мы решили поделиться, как мы готовим стандартные клиентские виртуальные машины и покажем на примере нашего нового тарифа Ultralight за 120 ру...

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

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

Кирилл Толкачёв и Максим Гореликов про Spring Boot на jug.msk.ru На встрече московского сообщества Java-разработчиков jug.msk.ru, состоявшейся 28 июня 2019 года традиционно в офисе компании КРОК, Кирилл Толкачёв и Максим Гореликов представили свой доклад о Spring Boot: какие задачи можно решить с помощью него, какие сложности могут при эт...

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

Ловим кота с TLA+ Формальные методы считаются эффективным, но неоправданно сложным способом обеспечения надежности программного обеспечения. Используемые при этом инструменты существенно отличаются от привычных программисту. Эта статья написана с целью снизить порог вхождения в этот инструме...

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

Семантический браузер или жизнь без сайтов Мысль о неизбежности перехода глобальной сети от сайтоцентристской структуры к юзероцентристской я высказал еще 2012 году (Философия эволюции и эволюция интернета или в сокращенном виде WEB 3.0. От сайтоцентризма к юзероцентризму). В этом году я попытался развить тему ново...

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

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

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

[Из песочницы] Решаем задачу Best Reverser с PHDays 9 Здравствуйте! Меня зовут Марат Гаянов, я хочу поделиться с вами моим решением задачи с конкурса Best Reverser, показать, как сделать кейген для этого кейса. Описание В этом конкурсе участникам предоставляется ROM игры для Sega Mega Drive (best_reverser_phd9_rom_v4.bin). ...

Почему Galaxy Note 9 лучше Galaxy S10+ Когда Samsung выпустила новый Galaxy S10+, почти ни у кого не осталось сомнений, что этот смартфон станет флагманом не только линейки S, но и среди всех устройств южнокорейского производителя. Действительно, Galaxy S10+ имеет передовое «железо» вроде последнего Snapdragon, ...

Умный дом в контейнерах (ioBroker + Zigbee в Docker) Вступление Некоторое время пользовался несколькими стандартными реле Sonoff, управляющими светом через Google Home Mini. Но в итоге захотелось большего. Стандартного функционала не хватает, решил постепенно делать систему на чем-то более гибком. Выбрал ioBroker. Сначала, как...

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

Жизненный цикл статьи на Хабре: пишем хабрапарсер. Часть вторая Привет Хабр! В первой части пятничного анализа была рассмотрена методика сбора некоторой статистики этого замечательного сайта. Изначально не было плана делать продолжение, но в комментариях возникли интересные мысли, которые захотелось проверить. Например, какие статьи име...

Типовое внедрение мониторинга. Николай Сивко Расшифровка доклада "Типовое внедрение мониторинга" Николая Сивко. Меня зовут Николай Сивко. Я тоже делаю мониторинг. Okmeter это 5 мониторинг, который я делаю. Я решил что я спасу всех людей от ада мониторинга и мы избавим кого-то от этих страданий. Я всегда в своих презен...

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

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

На iOS вышел красивый платформер My Diggy Dog 2 My Diggy Dog — это довольно простое, но приятное приключение, в котором вы играете за собаку, помогающую своему хозяину искать различные артефакты. В сиквеле, который недавно вышел на iOS, пес отваживается помочь спасти свою хозяйку. Она потерялась, идя по следам загадочног...

Не пора ли прекращать делать обзоры спринтов? Для многих команд разработчиков такое периодическое мероприятие как спринт ревью, или обзор спринта, морально устарел и уже изжил себя. И, похоже, пора перестать этим заниматься. Так считает Майк Кон (Mike Cohn), один из соавторов и основателей Scrum и Scrum Alliance. Звучит...

Предварительный обзор KFA2 GeForce RTX 2080 Ti HOF. Уникальная видеокарта Производителям компьютерного железа приходится крайне тяжело — им нужно как-то привлекать внимание со стороны пользователей, которые уже насмотрелись и на подсветку, и на красивые декоративные элементы. Как привлечь покупателя, если он уже все видел и пробовал? Каждый выкруч...

[Перевод] Математики доказали, что многочлены не помогут взломать RSA Недавно в журнале Quanta вышел материал, в котором автор рассказывал про удивительный с точки зрения неискушенных читателей феномен, доказанный математиками. Его суть в том, что почти все многочлены определенного типа — неприводимые, то есть не поддаются разложению. Это док...

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

Глобальный релиз Stardew Valley на Android состоится 14 марта Издатель Chuchlefish наконец-то объявил, когда выпустит прекрасную Stardew Valley на Android. Релиз порта со всеми улучшениями, которые появились в нем со времен релиза на ПК, состоится 14 марта во всем мире. Со временем авторы обещают обновить игру до актуальных версий с к...

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

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

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

[Перевод] Как Verizon и BGP Optimizer устроили большой оффлайн Крупная утечка маршрутов повлияла на большие секторы интернета, включая Cloudflare Что случилось? 24.06 в 10:30 UTC в интернете случился коллапс: на небольшую компанию на севере Пенсильвании хлынул поток трафика из множества маршрутов, проходящих через крупного провайдера V...

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

3D-принтеры запустят в космос "Самое сложное в 3D-печати на МКС - это атмосфера. Если в воздухе появляется мельчайшая капля воды, это проблема для космонавтов - она может попасть в легкие, возникнут осложнения. А если это капля не воды, а другого, токсичного, элемента? Тогда все будет гораздо опасне...

[Перевод] Дзен изолированных компонентов в Android-архитектуре Несколько лет назад мы в Badoo начали использовать MVI-подход к Android-разработке. Он был призван упростить сложную кодовую базу и избежать проблемы некорректных состояний: в простых сценариях это легко, но чем сложнее система, тем сложнее поддерживать её в корректном виде ...

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

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

[Перевод] 14 советов по написанию чистого React-кода. Часть 1 Написание чистого кода — это навык, который становится обязательным на определённом этапе карьеры программиста. Особенно этот навык важен тогда, когда программист пытается найти свою первую работу. Это, по существу, то, что делает разработчика командным игроком, и то, что сп...

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

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

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

[Из песочницы] Автоматизация доставки flow в Apache NiFi Всем привет! Задача заключается в следующем — есть flow, представленный на картинке выше, который надо раскатить на N серверов с Apache NiFi. Flow тестовый — идет генерация файла и отправка в другой инстанс NiFi. Передача данных происходит с помощью протокола NiFi Site to...

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

Будущее инфраструктур центров обработки данных Архитектуры центров обработки данных общего назначения (такие ЦОДы сегодня все еще широко применяются) хорошо отрабатывали свои задачи в прошлом, но с недавних пор большинство из них достигли своих границ масштабируемости, производительности и эффективности. В архитектуре та...

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

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

Анализ данных на Scala — суровая необходимость или приятная возможность? Традиционными инструментами в сфере Data Science являются такие языки, как R и Python — расслабленный синтаксис и большое количество библиотек для машинного обучения и обработки данных позволяет достаточно быстро получить некоторые работающие решения. Однако бывают ситуации...

[Перевод] Chaos Engineering: искусство умышленного разрушения Прим. перев.: Рады поделиться переводом замечательного материала от старшего технологического евангелиста из AWS — Adrian Hornsby. В простых словах он объясняет важность экспериментов, призванных смягчить последствия сбоев в ИТ-системах. Вы, наверное, уже слышали про Chaos M...

Свежий взгляд на отображение диалогов в Android На картинке первая мысль читателя, который недоумевает, что можно написать про такую простую задачу как отображения диалога. Аналогично думает и менеджер: «Тут ничего сложного, наш Вася за 5 минут сделает». Я, конечно, утрирую, но на самом деле всё не так просто, как кажетс...

Выбор стратегии жизненного цикла программного обеспечения при наличии нескольких зависимых фронтэндов Жизненный цикл программного обеспечения известен большинству современных программистов. Даже школьник, написав свою первую программу <?php echo "Hello, Хабр! На пхп" ?> или fprintf( 'Привет Хабр на Матлабе!\n'); понимает технологический процесс. Думает над зада...

Badoo Jira API Client: магия в Jira на PHP Если в строке поиска на Хабре ввести “Jira Badoo”, результаты займут не одну страницу: мы упоминаем её почти везде, потому что она играет важную роль в наших процессах. Причём каждый из нас хочет от нее немножко разного. Разработчик, которому пришла задача на ревью, ожида...

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

Борьба за качество решений на Erlang/Elixir @jcutrer Сегодня мы будем говорить про журналы событий, количественные метрики и наблюдение за всем этим с целью увеличения скорости реакции команды на инциденты и уменьшения времени простоя целевой системы. Erlang/OTP как фреймворк и идеология построения распределенных сис...

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

Нейросеть DeepMind использует StarCraft II, чтобы обучать ... Поиск новых способов обучения нейронных сетей становится все более важным, особенно в такой сфере, как беспилотный транспорт. Разработчики придумали несколько изобретательных способов ускорения обучения нейросетей, и один из них напрямую связан с популярной игрой StarCraft I...

How to get Security Log with non-administrative user Привет Хабр! Читайте под катом как получить доступ к логу безопасности Windows без прав администратора. Эта будет не первая статья на Хабре связанная с логами Windows и наверно не самая оригинальная, но на мой взгляд я потратил слишком много времени на поиск простого решен...

Как выполнить 70 задач за день: жизнь в таск-трекерах — хорошая жизнь Систематически вести задачи я пытался, наверное, раз 20-25. И каждая попытка срывалась, как теперь я понимаю, по двум причинам. Во-первых, для того, чтобы выделять время ведению задач, нужно понять — зачем это делается. Ты начинаешь вести задачи, тратить на это время, дел...

Пересечение тестирования и архитектуры: интервью с Нилом Фордом Что может значить должность «QA architect»? А что значит совсем уж непонятная должность «meme wrangler»? С какого момента при работе над архитектурой надо подключать тестировщиков? Как менять процессы в организации так, чтобы люди при встрече с первой же сложностью не возв...

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

Обновление MIUI научит смартфоны Xiaomi заряжаться, как флагманский Mi 9 Компания Xiaomi представила очередное обновление для оболочки MIUI в своих смартфонах. На данный момент функция доступна только глобальной бета-версии  MIUI Global Beta ROM 9.4.11 и появится в стабильной глобальной прошивке в одном из следующих релизов.  Глав...

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

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

Роботу Boston Dynamics дали в руки оружие: восстание машин Вероятно, именно так и начнется восстание машин. В новой CG-короткометражке от Corridor робота Boston Dynamics обучают основам обращения с огнестрелом. Сначала все выглядит как стандартные испытания такого рода, но чем дальше заходит эксперимент — тем более жестокими станов...

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

[Из песочницы] CSS-переход свойства height от 0px до auto Здравствуй, Хабр! Хочу поделиться ещё одним способом создания css-перехода (transition) свойства height от 0px до auto. Столкнулся с данной проблемой при разработке веб-компонентов TreeView и DataGrid. В TreeView решил сделать плавное развёртывание/свёртывание узлов, а в ...

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

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

[Из песочницы] Сниппеты против Клевера – обыгрываем популярнейшую викторину в реальном времени Апрель 2018-го года. Мне было 14. Мы с друзьями играли в тогда очень популярную онлайн-викторину «Клевер» от ВКонтакте. Один из нас (обычно я) всегда был за ноутбуком, чтобы пытаться быстро гуглить вопросы и глазами искать в поисковой выдаче правильный ответ. Но вдруг я поня...

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

DearMob – лёгкий бекап iPhone без iTunes Годы идут, iTunes всё разрастается, и перед каждой конференцией WWDC традиционно появляются тонны статей, о том, как хорошо мы заживём, когда программисты и дизайнеры Apple наконец-то переделают старинную программу и разобьёт её на много небольших, простых и красивых утилит....

Как мы учились рисовать тексты на Canvas Мы разрабатываем платформу для визуальной коллаборации. Для отображения контента мы используем Canvas: на нём рисуется всё, в том числе тексты. Готового решения для отображения текстов на Canvas один в один как в html не существует. За несколько лет работы с отрисовкой текст...

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

Android: создание динамических Product Flavors и Signing Configs При работе над Android-проектом, представляющий собой платформу для создания приложений для просмотра видео-контента, возникла необходимость динамического конфигурирования product flavors с выносом информации о signing configs во внешний файл. Подробности под катом. Читать д...

[Перевод] Организовываем эффективный рабочий процесс веб-разработчиков: Confluence, Airtable и другие инструменты Я работаю фронтенд-разработчиком около двух лет, участвовал в создании самых разных проектов. Один из выученных мной уроков: взаимодействие между разными группами разработчиков, объединенных одной целью, но имеющих различные задачи и степень ответственности, — дело непрос...

PHP-Дайджест № 150 (11 – 25 февраля 2019) Свежая подборка со ссылками на новости и материалы. В выпуске: изменены правила голосования за RFC в PHP Internals, стартовал прием заявок на доклады для PHP Russia 2019, новое расширение для реализации параллельного исполнения кода, свежие материалы для обучения, видео, по...

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

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

Расширяем и дополняем Kubernetes (обзор и видео доклада) 8 апреля на конференции Saint HighLoad++ 2018, в рамках секции «DevOps и эксплуатация», прозвучал доклад «Расширяем и дополняем Kubernetes», в создании которого участвовали три сотрудника компании «Флант». В нём мы рассказываем о многочисленных ситуациях, в которых нам хот...

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

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