Социальные сети Рунета
Среда, 2 декабря 2020

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

[Из песочницы] Перенос молекулярной динамики на CUDA. Часть I: Основы Цель данной статьи – поднять вопросы распараллеливания кода программы для численного моделирования методом молекулярной динамики (МД) с помощью технологии CUDA. Зачем это вообще нужно, ведь уже существуют программные пакеты по МД, работающие в том числе и на CUDA? Дело в том...

[Перевод] Портируем make.c на D Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

Распространение сферического коня в вакууме по территории РФ Привет от ODS. Мы откликнулись на идею tutu.ru поработать с их датасетом пассажиропотока РФ. И если в посте Milfgard огромная таблица выводов и научпоп, то мы хотим рассказать что под капотом. Что, опять очередной пост про COVID-19? Да, но нет. Нам это было интересно именно...

Моделируем поведение Quartus-проекта на Verilog в среде ModelSim В прошлой статье мы сделали достаточно сложный модуль. Разумеется, я вставил в тело статьи уже отлаженный результат. Но мне показалось, что достаточно странно, когда автор говорит «делай, как я», но при этом не показывает очень важного процесса. Давайте я покажу, как вообще ...

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

Автоматизация задач администрирования API VMware vSphere с использованием Ansible В предыдущей статье мы рассмотрели взаимодействие с VMware с помощью Python. В этой же обсудим взаимодействие с VMware с помощью Ansible. Ansible — система управления конфигурациями, написанная на языке программирования Python с использованием декларативного языка разметки ...

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

[Перевод] Пол Грэм: «Краткость = сила» На HackerNews сегодня подняли обсуждение статьи Пола Грэма 2002 года и мы решили воскресить её перевод из небытия. «The quantity of meaning compressed into a small space by algebraic signs, is another circumstance that facilitates the reasonings we are accustomed to carry...

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

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

[Из песочницы] Как ‌С#-разработчик у JavaScript плохому учился Недавно мне на глаза попалась одна статья на Хабре. В ней сравниваются C# и JavaScript. На мой взгляд, сравнивать их — всё равно что сравнивать луну и солнце, которые, если верить классику, не враждуют на небе. Эта статья напомнила мне о другой публикации. В ней речь идёт ...

[Из песочницы] Нужно ли нам озеро данных? А что делать с хранилищем данных? Это статья перевод моей статьи на medium — Getting Started with Data Lake, которая оказалась довольно популярной, наверное из-за своей простоты. Поэтому я решил написать ее на русском языке и немного дополнить, чтобы простому человеку, который не является специалистом по раб...

Waymo покупает британскую компанию, работающую в сфере ИИ и самоуправляемых автомобилей Компания Waymo, входящая в холдинг Alphabet и занимающаяся разработкой самоуправляемых автомобилей, главным образом, работает в США. Однако ее недавнее приобретение демонстрирует заинтересованность в выходе на международный уровень. Как сообщает The Guardian, компания W...

[кейс Locomizer] Как за два с половиной года ускорить расчёт тепловой карты в 20 000 раз Данная статья является продолжением серии «Кейс Locomizer», см. также Какие знания можно на самом деле извлечь из анонимизированного датасета с координатами пользователей Открываем One Ring — инструментарий для гибкой конфигурации сложных процессов обработки данных на Spar...

Простой зомби-шутер на Unity Всем привет! Скоро стартуют занятия в первой группе курса «Разработчик игр на Unity». В преддверии начала курса прошел открытый урок по созданию зомби-шутера на Unity. Вебинар провёл Николай Запольнов, Senior Game Developer из Rovio Entertainment Corporation. Он также написа...

[Из песочницы] Urban Bot или как писать чат-ботов для Telegram, Slack, Facebook… на React.js В этой статье я хочу познакомить с новой библиотекой Urban Bot, которая адаптирует React для написания чат-ботов. Ниже я расскажу, зачем эта библиотека появилась на свет, какие дает преимущества и как написать вашего первого чат-бота. Чат-бот — это чаще всего отдельный чат ...

Запахло жареным: создателей оскароносного фильма «Паразиты» засудят за плагиат Что это: Месть Трампа или заслуженное обвинение? Совсем недавно отгремел Оскар, и спустя каких-то пару дней назрел неожиданный скандал - обвинение в плагиате. Победителями в номинации «Лучший зарубежный фильм» в этом году стали корейцы со своими «Паразитами». Такой же неожи...

Запахло жареным: создателей оскароносного фильма «Паразиты» засудят за плагиат Что это: Месть Трампа или заслуженное обвинение? Совсем недавно отгремел Оскар, и спустя каких-то пару дней назрел неожиданный скандал - обвинение в плагиате. Победителями в номинации «Лучший зарубежный фильм» в этом году стали корейцы со своими «Паразитами». Такой же неожи...

Covid-19: зачем мы сидим на карантине, и ответы на другие вопросы Привет Хабр. Изначально я не планировал публиковать здесь статью про коронавирус, аналитики на хабре уже более чем достаточно. Однако, читая разные местечковые форумы и соцсети, я с удивлением обнаружил сколько достаточно вредных мифов гуляет в сети, и что обычные люди, не ...

[Перевод] Как выучиться на Data Scientist: наиболее востребованные технические навыки Какие технические знания становятся наиболее популярными у работодателей, а какие теряют свою популярность. В своей первоначальной статье 2018-го года я рассматривал спрос на общие навыки – статистику и коммуникацию. Также я рассматривал спрос на Python и язык программиро...

Гидродинамическое моделирование (CFD) на рельефе с помощью MantaFlow и визуализация результатов в ParaView Дисциплина Computational fluid dynamics(CFD) или, на русском языке, Вычислительная гидродинамика изучает поведение различных потоков, в том числе вихревых. Это и моделирование цунами, и лавовых потоков, и выбрасываемых из жерла вулкана камней вместе с лавой и газами и многое...

Современный код для выполнения HTTP запросов в Swift 5 с помощью Combine и применение их в SwiftUI. Часть 1 Выполнение HTTP запросов — это один из самых важных навыков, которые необходимо получить при разработке iOS приложений. В более ранних версиях Swift (до версии 5) вне зависимости от того, формировали ли вы эти запросы «с нуля» или с использование известного фреймворка Alam...

[Перевод] Пишем движок полнотекстового поиска на Go Полнотекстовый поиск — один из тех инструментов, которые мы используем практически каждый день, когда ищем какую-то информацию в интернете. Full-Text Search (FTS) — это метод поиска текста в коллекции документов. Документ может ссылаться на веб-страницу, газетную статью, соо...

Изучаем VoIP-движок Mediastreamer2. Часть 10 Материал статьи взят с моего дзен-канала. В прошлой статье мы сделали дуплексное переговорное устройство, выполняющее обмен звуковым сигналом через дуплексную RTP-сессию. В этой статье мы научимся писать фильтры и добавим сделанный своими руками фильтр в сделанное своими рук...

[Из песочницы] Точные и быстрые вычисления для чисел с плавающей точкой на примере функции синуса. Введение и часть 1 Внимательно прочитал очень хорошие статьи от ArtemKaravaev по сложению чисел с плавающей точкой. Тема очень интересная и хочется её продолжить и показать на примерах, как работать с числами с плавающей точкой на практике. В качестве эталона возьмём библиотеку GNU glibc (libm...

JS и его запретные тайны Так вышло, что наша компания искала разработчиков. В работе мы используем стандартный набор веб-технологий: HTML, CSS, Javascript, PHP, SQL. Во время проведения собеседований я был не то чтобы расстроен, а скорее обескуражен. Вопросы, на которые не могли ответить кандидаты, ...

PostgreSQL Antipatterns: вычисление условий в SQL SQL — это не C++, и не JavaScript. Поэтому вычисление логических выражений происходит иначе, и вот это — совсем не одно и то же: WHERE fncondX() AND fncondY()= fncondX() && fncondY() В процессе оптимизации плана исполнения запроса PostgreSQL может произвольным образо...

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

[Из песочницы] Моделирование меандровой инвертированной-F антенны – это просто Приветствую, эта статья посвящена моделированию меандровой инвертированной-F антенны (англ. Meander inverted-F antenna, MIFA) в программе Ansys HFSS. Пошаговая инструкция проектирования антенны. Сделай свою MIFA! Читать дальше →

[Перевод] Блеск и нищета модельно ориентированного проектирования по авиационным стандартам DO-331 В предыдущих статьях про модельно-ориентированное проектирование Как не повторить Чернобыль, Электропривод с бесколлекторным двигателем постоянного тока, и Создание достоверной модели, на примере авиационного теплообменника, я показал на примерах, что не все методики модельн...

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

[Перевод] Создание блога с помощью Nuxt Content (часть первая) От переводчика: Я собирался сделать собственную статью по Nuxt Content, но наткнулся на готовую статью, которая отлично раскрывает тему. Лучше у меня вряд ли получится, поэтому я решил перевести. Написал автору в твиттер и практически сразу получил согласие. Статья будет с ...

Flutter BloC паттерн + Provider + тесты + запоминаем состояние Эта статья выросла из публикации “BLoC паттерн на простом примере” где мы разобрались, что это за паттерн и как его применить в классическом простом примере счетчика. По комментам и для своего лучшего понимания я решил попробовать написать приложение в котором будут получены...

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

[Из песочницы] Компилятор Befunge на Python В процессе подготовки к курсу «Основы компиляторов» для студентов 4-го курса я изучал различные эзотерические языки программирования. Вот хорошая статья на эту тему. В статье самым интересным мне показался язык Befunge (Крис Пресс, 1993 год), особо отмечу три его особенности...

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

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

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

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

Перенос молекулярной динамики на CUDA. Часть II: Суммирование по Эвальду В предыдущей статье мы обсудили основу метода молекулярной динамики, в том числе вычисление энергии и сил взаимодействия между частицами с заданными парными потенциалами. А что, если частицы обладают некоторым электрическим зарядом? Например, в том случае, если мы моделируем...

Оцениваем опционы на Clojure методом Монте-Карло Привет! Меня зовут Рома, я работаю iOS-разработчиком в Exness. А кроме того, пишу на Clojure и инвестирую. Сегодня я расскажу о том, как оценивать опционы. Это вводная статья и заработать миллион, используя предложенный способ, вряд ли получится. Тем не менее, это хорошая ос...

[Перевод] Вы правда знаете о том, что такое массивы? Там, где я тружусь, от веб-разработчиков ожидают знания PHP и JavaScript. Я, проводя собеседования, обнаружил, что достаточно задать всего один простой вопрос для того чтобы узнать о том, насколько глубоко разработчик понимает инструменты, которыми пользуется каждый день. Во...

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

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

[Перевод] Обратная связь по грантам памяти (memory grant feedback) в SQL Server 2019 Всем привет! В преддверии старта курса «MS SQL Server разработчик», подготовили для вас еще один интересный перевод. Если оптимизатор неправильно вычисляет необходимый объем памяти для выполнения запроса, то это будет либо пустая трата памяти, которую мог бы использовать ...

[Перевод] Пять самых сложных языков программирования на свете У всех нас только и разговоров, что о C, C+, Java, Python и так далее, а между тем, в природе существуют языки, который можно назвать не просто сложными, а недоступными для понимания большинства программистов. Они называются эзотерическими языками программирования (или эзо...

Микросервисы на С++. Выдумка или реальность? В этой статье я расскажу о том, как создал шаблон (cookiecutter) и настроил окружение для написания REST API сервиса на С++ с использованием docker/docker-compose и пакетного менеджера conan. Во время очередного хакатона, в котором я участвовал в качестве бекенд-разработч...

[Перевод] Обнаружение лиц в Node.js с использованием Rust и WebAssembly В последней статье мы рассказывали, как вызывать функции Rust из Node.js. Сегодня мы расскажем, как написать приложение AIaaS (англ. Artificial Intelligence as a Service — «искусственный интеллект как услуга») на базе Node.js.Большинство приложений с искусственным интел...

Впервые реализована квантовая телепортация с одного фотонного чипа на другой Ученые из Бристольского университета (University of Bristol), работая с коллегами из датского Технического университета (Technical University of Denmark, DTU), разработали новые устройства, которые при помощи странных законов и принципов квантовой механики способны производи...

Сергей и «программирование лучше секса» Небольшая зарисовка-комментарий к статье «Программирование лучше секса» Самодостаточная, можно читать без ознакомления с оригиналом. — Сергей, можно вопрос? Сергей, не отвлекаясь от экрана… — Ну, задавайте. — Объясните, почему вы ТАКОЙ? Почему вам важнее написать эту ...

Встраиваем карты от Huawei в Android приложение В предыдущих статьях мы создавали аккаунт разработчика для использования Huawei Mobile Services и подготавливали проект к их использованию. Потом использовали аналитику от Huawei вместо аналога от Google. Также поступили и с определением геолокации. В этой же статье мы буде...

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

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

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

Основы deep learning на примере дебага автоэнкодера, часть №1 Если почитать обучение по автоэнкодерам на сайте keras.io, то один из первых посылов там звучит примерно так: на практике автоэнкодеры почти никогда не используются, но про них часто рассказывают в обучалках и народу заходит, поэтому мы решили написать свою обучалку про них:...

«Каких Марин?» или управляем контроллером через bluetooth с помощью мобильного приложения на Xamarin (Android) В прошлой статье я пообещал рассказать, о том как подключать CANNY 3 tiny с помощью UART к bluetooth. И поскольку на этих майских особо не разгуляешься, было принято решение провести время с пользой и таки сдержать обещание. Но просто подключить контроллер к Bluetooth адапте...

[Из песочницы] Пишем на языке С/C++ в Linux под KolibriOS Вступление KolibriOS – миниатюрная операционная система, ядро и большинство программ которой написано на ассемблере. Это, конечно же, не значит, что на других языках программирования писать для KolibriOS нельзя. Данная статья — инструкция по настройке toolchain'а для Linux. ...

[Из песочницы] 3D картинка на питоне с (почти) нормальной производительностью Можно считать эту статью ответом на вот эту, где речь идет о написании подобной вещи на C++, с прицелом на новичков, то есть с упором на простой читаемый код вместо высокой производительности. После прочтения статьи у меня возникла идея повторить написанную автором программ...

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

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

[Перевод] Использование VueJS вместе с Django Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Введение Сейчас я работаю над очень интересным проектом. И в нем все сложно, потому что сам проект очень масштабный, а я занимаюсь им один в свободное время, при этом работая полный рабочий ...

Бизнес-эксперт и программирование. Совмещать нельзя разделять Привет! Меня зовут Виктория Краснова, я не так давно писала большой пост про data-driven в нефтехимии. Но там было про сам подход и систему. Давайте сегодня поговорим о тех, кто этой системой будет пользоваться (и кто будет её улучшать). То есть о людях. Вообще же, про data...

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

[Перевод] Шпаргалка для сисадмина по SELinux: 42 ответа на важные вопросы Перевод статьи подготовлен специально для студентов курса «Администратор Linux». Здесь вы получите ответы на важные вопросы о жизни, вселенной и всем таком в Linux с улучшенной безопасностью. «Важная истина, что вещи не всегда являются тем, чем кажутся, общеизвестна…» ―Ду...

Как работать с API Google Таблиц (Google Sheets API v4) на языке R с помощью нового пакета googlesheets4 Электронные таблицы по-прежнему остаются довольно популярным инструментом для работы с данными, а среди различных процессоров электронных таблиц наиболее популярными являются Google Таблицы. Во-первых, это бесплатный инструмент, во-вторых, функционал Google Таблиц достаточно...

[Перевод] Ускорение в 14 000 раз или Победа компьютерной науки Как разработчику научного ПО мне приходится много программировать. И большинство людей из других научных областей склонны думать, что программирование — это «просто» набросать код и запустить его. У меня хорошие рабочие отношения со многими коллегами, в том числе из других с...

[Из песочницы] Массивы bash Предлагаю вашему вниманию перевод статьи Митча Фрейзера (Mitch Frazier) "Bash Arrays" с сайта linuxjournal.com. Если вы используете «стандартную» оболочку *NIX-системы, возможно, вы не знакомы с такой полезной особенностью bash как массивы. Хотя массивы в bash не ...

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

Продвинутая система авторизации действий с ресурсами в Laravel. Часть 2. Шлюзы, Политики Введение Здравствуйте дорогие Хабровчане. Я продолжаю свой цикл статей о продвинутой авторизации действий с ресурсами в Laravel. Чтобы лучше понимать о чем пойдет речь этой статье — необходимо прочесть Первую часть. Для начала вкратце повторю постановку задачи: Имеется бол...

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

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

[Из песочницы] Можно ли взломать самолёт — 2 В недавней переведенной статье “Можно ли взломать самолёт” меня возмутили выводы в конце: В заключение, взлом самолёта через GPS, радиоканалы и т.п. теоретически возможен, но потребует невероятного объёма работы, много планирования, координирования действий, много оборудова...

[Из песочницы] Как использовать несколько языков программирования и не сойти с ума Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use multiple programming languages without losing your mind» автора Bart Copeland. Сопливое нытьё про FSF и Red HatКароч, тема такая: я им написал, а они не ответили. Ну ладно бы Массивсофт, который вообще ник...

Часть 2: Mодули и AppStore. ESPboy — гаджет для ретро игр и экспериментов с IoT С публикации первой статьи об сконструированном мной девайсе ESPboy на микроконтроллере ESP8266 прошло довольно много времени. За это время удалось кое что сделать: Довести сам девайс до стадии производства Собрать модули расширения, написать под них софт и отладить Сде...

[Из песочницы] ConfigureAwait: часто задаваемые вопросы Привет, Хабр! Представляю вашему вниманию перевод статьи «ConfigureAwait FAQ» автора Стивен Тауб. Async/await добавили в .NET более семи лет назад. Это решение оказало существенное влияние не только на экосистему .NET — оно также находит отражение во многих других языках...

Ваша первая нейронная сеть на графическом процессоре (GPU). Руководство для начинающих В этой статье я расскажу как за 30 минут настроить среду для машинного обучения, создать нейронную сеть для распознавания изображений a потом запустить ту же сеть на графическом процессоре (GPU). Для начала определим что такое нейронная сеть. В нашем случае это математиче...

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

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

Разработка приложения с использованием Python и OpenCV на Android устройстве В это статье я хочу показать пример того, как андроид устройство можно использовать для разработки на таких языках программирования как python с библиотекой opencv в среде VSCode (будет использован code-server). В конце статьи приведено небольшое сравнение производительнос...

Миграция IBM Lotus Notes/Domino в Microsoft Exchange без шума и пыли Может быть пора? Такой вопрос рано или поздно появляются у коллег, которые используют Lotus в качестве почтового клиента или системы документооборота. Запрос на миграцию (по нашему опыту) может возникнуть на совсем разных уровнях организации: от топ-менеджмента до пользоват...

[Из песочницы] SwiftUI по полочкам Каждый раз, когда в языке программирования появляется новый Фреймворк, рано или поздно, появляются люди, которые изучают язык именно с него. Вероятно так было и в IOS разработке во времена появления Swift: поначалу он рассматривался как дополнение к Objective-C — но я этого ...

[Из песочницы] О чем поговорить на собеседовании с выпускником онлайн-курсов по тестированию Немного о себе Всем привет, меня зовут Лилия, я QA lead и преподаватель, последние лет 10 читаю курсы по тестированию в, так сказать, ведущих компаниях отрасли. И конечно, мне очень интересно, как преподают мои коллеги на онлайн-курсах и какие специалисты получаются в резуль...

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

Однажды на пентесте, или Как все сломать при помощи уролога и Роскомнадзора Эта статья написана по мотивам очень удачного пентеста, который пару лет назад провели специалисты Group-IB: случилась история, претендующая на экранизацию в Болливуде. Сейчас, наверное, последует реакция читателя: «О, очередная пиар-статья, опять эти рисуются, какие они х...

[Перевод] D как улучшенный C Уолтер Брайт — «великодушный пожизненный диктатор» языка программирования D и основатель Digital Mars. За его плечами не один десяток лет опыта в разработке компиляторов и интерпретаторов для нескольких языков, в числе которых Zortech C++ — первый нативный компилятор C++. Он...

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

[Перевод] Как ограничить частоту запросов в HAProxy: пошаговая инструкция Автор статьи объясняет, как реализовать в HAProxy ограничение скорости обработки запросов (rate limiting) с определенных IP-адресов. Команда Mail.ru Cloud Solutions перевела его статью — надеемся, что с ней вам не придется тратить на это столько времени и усилий, сколько пр...

[Перевод] Элегантное асинхронное программирование с помощью «промисов» Доброго времени суток, друзья! Представляю вашему вниманию перевод статьи «Graceful asynchronous programming with Promises» с MDN. «Обещания» (промисы, promises) — сравнительно новая особенность JavaScript, которая позволяет откладывать выполнение действия до завершения вы...

Что ещё, кроме животных, можно смотреть в 3D в Google «Смотреть 3д животных». Именно этот запрос на протяжении нескольких недель оставался самым популярным в Google, а наша инструкция, в которой мы подробно расписали, что и как, до сих удерживает первое место по количеству прочтений среди наших читателей. Почему? Причин на сам...

Повторная обработка событий, полученных из Kafka Привет, Хабр. Недавно я поделился опытом о том, какие параметры мы в команде чаще всего используем для Kafka Producer и Consumer, чтобы приблизиться к гарантированной доставке. В этой статье хочу рассказать, как мы организовали повторную обработку события, полученного из Ka...

[Из песочницы] Создаем прогрессивный PWA интернет-магазин на Nuxt.js 2 пошаговое руководство Часть 1 Статья ориентированна на людей, которые уже имеют понимание работы Vue, на котором основан Nuxt, поэтому я буду заострять внимание только на специфических для Nuxt вещах. Но даже если вы не знакомы с ними, то статья даст общее представление как выглядит проект с PWA Nuxt. Вы...

Что такое сознание и как оно появилось? Давайте посмотрим на сознание с точки зрение науки — где именно в мозге оно находится и там ли мы ищем? Для многих попытки объяснить сознание похожи на разоблачение любимого фокуса — узнав секрет можно навсегда потерять веру в чудеса. Так что если вы не готовы ус...

[Из песочницы] Познаем промисы на основе Ecmascript спецификации. Знакомство Здравствуйте. Изучая JavaScript (да и в принципе любую другую технологию), всегда возникают разнообразные вопросы, главный из которых: «А почему это работает таким образом и не иначе?» И очень важно в этот момент не просто найти...

[Перевод] Автоматические скриншоты iOS с помощью XCTestplan и XCode 11 В Райффайзенбанке несколько мобильных приложений, которые должны работать на самых разных девайсах и операционных системах, поэтому мы стараемся автоматизировать рутинные процессы в тестировании. Эта статья показалась нам полезной, и мы решили ее перевести. foto source: u...

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

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

[Перевод] Стивен Вольфрам: кажется, мы близки к пониманию фундаментальной теории физики, и она прекрасна В продолжение моего поста про вычислимую Вселенную я хочу представить вам свой перевод статьи Стивена Вольфрама, созданной в рамках его проекта The Wolfram Physics Project. Неожиданное открытие За прошедшие несколько веков произошел настоящий прорыв в наших знаниях о принц...

[Перевод] Разворачиваем вложенные столбцы — списки с помощью языка R (пакет tidyr) В большинстве случаев при работе с ответом полученным от API, или с любыми другими данными которые имеют сложную древовидную структуру, вы сталкиваетесь с форматами JSON и XML. Эти форматы имеют множество преимуществ: они достаточно компактно хранят данные и позволяют избежа...

[Перевод] Как начинающий Data Scientist вроде меня может набраться опыта Я прошел несколько курсов, а что делать дальше? На днях я получил письмо от Мануэлы со следующим вопросом: «Как начинающий data scientist вроде меня может набраться опыта?» Вопрос отличный. За вопросом следовало: «Я закончила несколько курсов и проектов, некоторые работ...

Как вывести сайт под запад в ТОП10, не зная ничего о SEO В этой статье описан личный опыт двух человек: меня и моей коллеги Марии. Опыт людей, у которых совершенно не было знаний в SEO. Во второй половине 2019 года на нас легла ноша в виде продвижения 2-х сайтов проекта Ratatype. Сайтов молодых (рождены в 2019) и на иностранный ры...

[Из песочницы] Изучаем VoIP-движок Mediastreamer2. Часть 1 Материал статьи взят с моего дзен-канала. Введение Эта статья является началом серии статей о реалтайм обработке медиаданных с помощью движка Mediastreamer2. В ходе изложения будут задействованы минимальные навыки работы в терминале Linux и программирования на языке Си. Medi...

SwiftUI по полочкам: Анимация. Часть 1 Недавно мне попалась свежая статья, в которой ребята пытались воспроизвести интересный концепт средствами SwiftUI. Вот что у них получилось: Я с интересом изучил их код, но испытал некоторое разочарование. Нет, не в том смысле, что они что-то сделали неправильно, вовсе...

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

CreateRemoteThread для Linux В WinAPI есть функция CreateRemoteThread, позволяющая запустить новый поток в адресном пространстве другого процесса. Её можно использовать для разнообразных DLL-инъекций как с нехорошими целями (читы в играх, кража паролей, и т. д.), так и для того, чтобы на лету исправить ...

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

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

Нелинейный мир и инструменты для расчета сложных нелинейных задач методом конечных элементов Привет, Хабр! В названии этой статьи есть словосочетание «нелинейный мир»… Думаю, что большинство читателей поняли смысл этого словосочетания, но я всё же расшифрую его. Реальные системы можно рассматривать как линейные только в ограниченном диапазоне нагрузок. Реальный же ...

Машинное обучение. Нейронные сети (часть 2): Моделирование OR; XOR с помощью TensorFlow.js Статья является продолжением цикла статей, посвященных машинному обучению с использованием библиотеки TensorFlow.JS, в предыдущей статье приведены общая теоретическая часть обучения простейшей нейронной сети, состоящей из одного нейрона: Машинное обучение. Нейронные сети (ча...

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

Создание Python-обвязки для библиотек, написанных на C/C++, с помощью SIP. Часть 1 Иногда во время работы над проектом на языке Python возникает желание использовать библиотеку, которая написана не на Python, а, например, на C или C++. Причины для этого могут быть разные Во-первых, Python — язык замечательный, но в некоторых ситуациях недостаточно быстрый....

Книга «Android. Программирование для профессионалов. 4-е издание» Привет, Хаброжители! Познакомьтесь с возможностями программирования Android на языке Kotlin! Множество примеров приложений с четкими объяснениями ключевых концепций и API позволят легко разобраться в самых трудных задачах. Эта книга посвящена прикладным методам разработки ...

[Из песочницы] Очереди сообщений в PostgreSQL с использованием PgQ Очереди сообщений используются для выполнения: отложенных операций, взаимодействия сервисов между собой, «batch processing» и т.д. Для организации подобных очередей существуют специализированные решения, такие как: RabbitMQ, ActiveMQ, ZeroMQ и тд, но часто бывает, что в ни...

[Перевод] Мои любимые трюки в JavaScript Приветствую. Представляю вашему вниманию перевод статьи «My Favorite JavaScript Tips and Tricks», опубликованной 28 июля 2020 года автором Tapas Adhikary Большинство языков программирования являются достаточно открытыми, чтобы предоставить разработчикам возможность делать о...

[recovery mode] Bug bounty Ozon: вопросы и ответы Мы запустили публичную bug bounty программу на HackerOne — теперь за найденные на сайте Ozon уязвимости можно получить вознаграждение, а заодно помочь компании, сервисом которой пользуются друзья, знакомые и родственники. В этой статье команда информационной безопасности O...

Диагностируем проблемы в микросервисной архитектуре на Node.js с помощью OpenTracing и Jaeger Всем привет! В современном мире крайне важна возможность масштабировать приложение по щелчку пальцев, ведь нагрузка на приложение может сильно отличаться в разное время. Наплыв клиентов, которые решили воспользоваться вашим сервисом, может принести как большую прибыль так и...

[Перевод] 70 вопросов по JavaScript для подготовки к собеседованию Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Mark A «70 JavaScript Interview Questions». Надеюсь, эта статья будет полезна как начинающим разработчикам, так и бывалым (я хотел сказать, опытным). Первым для изучения, вторым для повторения. Лич...

Kubernetes: мониторинг c помощью Prometheus Привет, Хабр! Меня зовут Радик, Head of DevOps of AGIMA! В этой статье я постарался показать, как можно использовать Prometheus в качестве системы мониторинга для микросервисной архитектуры. Подробно рассмотрел архитектуру Prometheus и взаимодействие его компонентов. О...

[Перевод] Вражеский ИИ: преследование игрока без Navigation2D и поиска пути A* Создаёте игру, в которой враги должны преследовать игрока? Всё начинается с простого — заставим врага бежать к игроку. Но что произойдёт, если он находится за деревом, или за углом стены? Ну, теперь враг будет выглядеть довольно глупо — упрётся в объект, перебирая ногами на ...

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

PostgreSQL: Серверное программирование на «человеческом» языке (PL/Perl, PL/Python, PL/v8) Postgres знаменит своей расширяемостью, что относится и к поддержке процедурных языков (PL). Никто не может похвастаться языком списком языков такой длины, а потенциально этот список и вовсе не ограничен: для того, чтобы подключить язык к серверу, не требуется сверхусилий. М...

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

Hello World из байт-кода для JVM Скомпилируем простенькую программу выводящую "Hello World" и пройдемся по его структуре Не думаю, что статья будет достаточно информативной для тех, кто поверхностно не знает как выглядит байт-код и как с ним работает JVM (например, хотя бы простейшие инструкции (знание об и...

Логирование запросов к приложению Django Привет, меня зовут Дмитрий Чернышов, я ведущий разработчик компании «БАРС Груп». Последние несколько лет среди прочих задач нам в команде приходится сталкиваться с необходимостью анализа производительности приложений на Django с большим количеством пользователей и постоянн...

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

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

Заметки Дата Саентиста: персональный обзор языков запросов к данным Рассказываю из личного опыта, что где и когда пригодилось. Обзорно-тезисно, чтобы понятно было что и куда можно копать дальше — но тут у меня исключительно субъективный личный опыт, у вас может быть все совсем по-другому. Почему важно знать и уметь обращаться с языками зап...

[Из песочницы] Расширенный HTML В этой статье хотел бы рассказать немного про библиотеку, первую версию которой я создал еще в конце прошлого года. Суть очень простая — расширить возможности языка HTML, чтобы можно было без JavaScript'а писать простые и рутинные вещи: отправка формы в json формате, загрузк...

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

[Из песочницы] Откуда берется применение ML в России на гос.уровне? Предисловие Всем привет! Вопрос в заголовке не риторический, мне правда интересно. Если вдруг кто-то знает на него ответ просьба написать в комментариях, возможно я пытался зайти не с той стороны. Так же уточняю, что у меня нет цели на кого-то нажаловаться поэтому в ответа...

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

n-Queens Completion Problem — линейный алгоритм решения EricGrig Предисловие Я хотел бы начать предисловие со слов благодарности двум замечательным программистам из Одессы: Андрею Киперу (Lohica) и Тимуру Гиоргадзе (Luxoft), за независимую проверку полученных мною результатов, на начальном этапе исследования. 1. Статья «Line...

[Из песочницы] EventBus — Система событий для Unity В этой статье я расскажу вам о том, что такое система событий применительно к Unity. Изучим популярные методы и подробно разберем реализацию на интерфейсах, с которой я познакомился, работая в Owlcat Games. Читать дальше →

[Перевод] Как демо Memories умещается в 256 байт Введение Привет! Меня зовут «HellMood», а эта статья посвящена небольшой программе для MS DOS под названием «Memories». Эта программа имеет размер 256 байт, она выиграла в категории «PC 256 byte» соревнований демосцены «Revision» 2020 года, а также получила приз зрительских...

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

[Перевод] Понимание спецификации ECMAScript, часть 1 Доброго времени суток, друзья! В данной статье мы возьмем функцию из спецификации и разберем ее объяснение. Поехали. Предисловие Даже если вы хорошо знаете JavaScript, чтение спецификации может быть затруднительным. Следующий код демонстрирует использование Object.protot...

[Перевод] Усложняем Sci-fi-модели процедурно: что такое Greeble и как его использовать Для начала позвольте мне пожаловаться, что «greeble» — ужасное слово, которое нужно изгнать из словаря. Ну, сняв камень с души, перейдём к объяснениям. Greeble — это мелкие повторяющиеся детали, добавляемые к модели, чтобы придать ей ощущение масштаба и определённой эстети...

Правила локализации для разработчиков Сначала делаем, а думаем потом — или наоборот? Alconost рассказывает, какие особенности локализации стоит учесть на этапе разработки игры. Эту статью мы написали как ответ на повторяющиеся вопросы разработчиков: «Что с моей игрой не так? Почему перевода недостаточно? Как...

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

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

Из чего состоит все вокруг или что такое молекула? Молекула воды содержит 1 атом кислорода и 2 атома водорода Каждый раз, когда два атома соединяются вместе, они образуют молекулу. На самом деле все, что нас окружает – да и мы сами – состоит из триллионов различных типов молекул. Понятие молекулы было принято в 1860 году на ...

Делимся опытом, как показывают себя SSD в рамках RAID и какой уровень массива выгоднее В прошлом материале мы уже рассмотрели вопрос о том “Применим ли RAID на SSD” на примере накопителей Kingston, но сделали это только в рамках нулевого уровня. В текущей статье мы разберем варианты использования профессиональных и домашних NVMe-решений в самых популярных типа...

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

[Перевод] Используем nftables в Red Hat Enterprise Linux 8 Статья подготовлена в преддверии старта курса «Администратор Linux» В Red Hat Enterprise Linux 8 приоритетным низкоуровневым решением является nftables. В этой статье мы поговорим о том, как начать использовать nftables. Наиболее актуальной она будет для системных администр...

[Из песочницы] Пять интересных способов использования Array.reduce() (и один скучный путь) Привет, Хабр! Представляю вашему вниманию перевод статьи "Five Interesting Ways to Use Array.reduce() (And One Boring Way)" автора Chris Ferdinandi. Из всех современных методов работы с массивами самым сложным из всех, что мне пришлось использовать, был Array.reduce(). На пе...

Как же всё-таки не ошибаться? Всем привет! Меня зовут Виктория Головнева, я работаю джуниор аналитиком. Как и любой джун, я постоянно прохожу какие-то курсы, читаю статьи и книги по рабочей (и околорабочей) тематике, чтобы прокачивать мой уровень знаний в SQL, статистике, методах визуализации данных и мн...

Зачем испанские ученые работают над созданием химеры человека и обезьяны в Китае? Кадр из фильма «Планета обезьян» Интернет слухами полнится. Так, если верить просочившимся в сеть исследованиям испанских ученых, о чем сообщает El Pais, в китайской лаборатории был создан первый в мире гибрид обезьяны и человека. Ведущий автор научной работы Хуан ...

Что такое четырехмерное пространство? Моделирование движения камеры в четырёхмерном пространстве. Представление мира в различных измерениях меняет то, как мы воспринимаем все вокруг, включая время и пространство. Думать о разнице между двумя измерениями и тремя измерениями легко, но что насчет четвертого? Важно ...

«СЛАВА ЖПСС!» или вспоминаем про GPSS World Почти семь лет назад я набросал на «Хабре» статью про GPSS-World. И к моему удивлению, время от времени я получаю различные вопросы, связанные с ней. Как же так на дворе уже 2020 год, GPSS World безнадежно устарела, неужели ей кто-то до сих пор пользуется?! Оказывается, п...

Повторная проверка Newton Game Dynamics статическим анализатором PVS-Studio Недавно на просторах интернета мной был обнаружен физический движок Newton Game Dynamics. Зная, что в таких проектах обычно большой объём сложного кода, я подумал, что будет интересно проверить его статическим анализатором PVS-Studio. Мой энтузиазм ещё больше подстегнуло то...

Российская 3D Bioprinting Solutions и сеть KFC предложат наггетсы, выращенные в биопринтере KFC собирается начать предлагать клиентам первые в мире созданные в лаборатории куриные наггетсы в рамках концепции «ресторана будущего». Сеть куриных ресторанов совместно с российской компанией 3D Bioprinting Solutions создаёт технологию биопечати, которая будет производить...

PostgreSQL Antipatterns: «Должен остаться только один!» На SQL вы описываете «что» хотите получить, а не «как» это должно исполняться. Поэтому проблема разработки SQL-запросов в стиле «как слышится, так и пишется» занимает свое почетное место, наряду с особенностями вычисления условий в SQL. Сегодня на предельно простых примера...

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

Технология PoE в вопросах и ответах В статье в популярной форме вопрос-ответ рассказывается о ключевых моментах при использовании питания посредством PoE (Power over Ethernet). Приводятся различия между стандартами, даётся информация о защите устройств от импульсов перенапряжений и о других полезных вещах. Чи...

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

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

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

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

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

[Из песочницы] Nuxt + Django + GraphQL на примере Предисловие Nuxt — "фреймворк над фреймворком Vue" или популярная конфигурация Vue-based приложений с использованием лучших практик разработки на Vue. Среди них: организация каталогов приложения; включение и преконфигурация самых популярных инструментов в виде Nux...

[Перевод] Сжатие ответов в GRPC для ASP.NET CORE 3.0 Перевод статьи подготовлен в преддверии старта курса «C# ASP.NET Core разработчик». В этом эпизоде моей серии статей о gRPC и ASP.NET Core мы рассмотрим подключение функции сжатия ответов (response compression) служб gRPC. ПРИМЕЧАНИЕ: В этой статье я рассказываю о некото...

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

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

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

Сложное поведение без нейросетей и обучения. Философский базис Задача управления движением интересна сама по себе. Как заставить механическую куклу решать задачи в трёхмерном пространстве? Пусть даже простые. Подойти к столу, взять предмет, перенести его, положить в корзину. Не упасть по дороге. Никуда не врезаться. Роботы Boston Dynam...

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

API для генерации ответов сервера с любыми кодами статусов Привет, Хабр! Работая над библиотекой-обёрткой REST API, я столкнулся с проблемой. Для тестирования обработки ошибочных кодов ответа сервера (400, 500, 403 и т.д.) необходимо искусственно создавать условия на сервере для получения соответствующих кодов. При правильно настрое...

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

Строим маршрутизатор в SOCKS на ноутбуке с Debian 10 Целый год (или два) я откладывал публикацию данной статьи по главной причине — мной уже были опубликованы две статьи, в которых я описал процесс создания полноценного маршрутизатора в SOCKS из самого обычного ноутбка с Debian. Однако, с тех пор стабильная версия Debian обно...

О полезности contextvars В Python есть множество возможностей и языковых конструкций. Какие-то мы используем каждый день, а о некоторых даже опытные программисты узнают с удивлением после нескольких лет работы с языком (привет, Ellipsis!). Совсем недавно вышел Python 3.9, но в этой статье я расскаж...

Модерация изображений: уроки этикета от Data Scientist’a, часть 2 Привет, Хабр! Мы продолжаем серию статей про модерацию контента на площадках Центра Развития Финансовых Технологий Россельхозбанка. В прошлой статье мы рассказывали, как решали задачу модерации текста для одной из площадок экосистемы для фермеров “Свое Фермерство”. Почитать...

[Перевод] Оптимизация кода на Python с помощью ctypes Перевод статьи подготовлен специально для студентов курса «Разработчик Python». Внимание: код в этой статье лицензирован под GNU AGPLv3. Я написал это руководство, поскольку не смог найти такого, которое будет объединять в себе все полезное о ctypes. Надеюсь, эта статья ...

Книга «Изучаем Python: программирование игр, визуализация данных, веб-приложения. 3-е изд.» Привет, Хаброжители! Мы выпустили третью версию #1 Best Seller in Python Programming Amazon — популярного в мире руководства по языку Python. Вы сможете не только максимально быстро его освоить, но и научитесь писать программы, устранять ошибки и создавать работающие прило...

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

Как я устал от JavaScript и создал свой собственный язык программирования За свою карьеру я успел поработать со множеством языков программирования. Писал flash-игры на ActionScript 3 и Android-игры на Java, сервера на Java, Scala и NodeJS (JavaScript), скрипты на Python, веб и мобильные приложения на React (JavaScript). И на каком бы языке я не пи...

Перезагрузка текстур OpenGLESv2 через DMABUF В этой статье я хочу рассказать, как просто можно обновлять текстуры OpenGLES через DMABUF. Поискал по Хабру и к своему удивлению не обнаружил ни одной статьи на эту тему. В Хабр Q&A тоже ничего такого не нашел. И это для меня немного странно. Технология появилась довол...

DeepPavlov: «Keras» для обработки естественного языка помогает отвечать на вопросы про COVID-2019 В такой области глубокого обучения, как обработка изображений, библиотека Keras играет ключевую роль, радикально упрощая обучение transfer learning и использование предварительно обученных моделей. В области обработки естественного языка (NLP) для решения достаточно сложных ...

Изучаем VoIP-движок Mediastreamer2. Часть 3 Материал статьи взят с моего дзен-канала. Улучшаем пример тонального генератора В предыдущей статье мы написали приложение тонального генератора и с его помощью извлекли звук из динамика компьютера. Теперь мы обратим внимание на то, что наша программа, заканчивая работу, не ...

Может ли Вселенная осознанно имитировать собственное существование? Тетраэдры представляюn квазикристаллическую спиновую сеть (QSN) – фундаментальную субструктуру пространства-времени Согласной новой гипотезе, Вселенная имитирует собственное существование в «странной петле». В статье, опубликованной учеными из Института исследовани...

Сканирующее окно по массивам NumPy CoLab блокнот с примерами Возможно сделать скользящее окно (rolling window, sliding window, moving window) по массивам NumPy на языке программирования Python без явных циклов. В данной статье рассматривается создание одно-, двух-, трех- и N-мерных скользящих окон по массивам...

[Из песочницы] Как я 12 лет создавал свой ЯП и компилятор к нему События истории рассказываются в хронологическом порядке, если вам кажется, что какое либо событие не относится к делу, то скорее всего — это не так, просто момент в котором будет понятно почему я упомянул это событие, будет позднее. Создаваемый мной язык, со временем меня...

Первое синтетическое лекарство: как изобрели аспирин Между тем еще в 1828 году немецкий химик Бюхнер выделил из коры действующее вещество салицин (от латинского названия ивы — Salix). Однако действие его было очень слабым, поэтому распространения оно не получило. Жерар предложил своему приятелю использовать производное салицин...

Лучшие игры для Android сентября 2020 Игры для смартфона являются такой темой, которая всегда позволяет о себе поговорить. Это логично, ведь когда есть смартфон, просто грех на нем не играть. Особенно, когда едешь в транспорте и просто не удобно или не хочется заниматься чтением, обучением или чем-то более поле...

Функциональное программирование на TypeScript: полиморфизм родов высших порядков Привет, Хабр! Меню зовут Юрий Богомолов, и вы (возможно) можете меня знать по моей работе над серией #MonadicMondays в твиттере, по каналу на ютьюбе или статьям на Medium или dev.to. В русскоязычном сегменте интернета очень мало информации по функциональному программированию...

[Из песочницы] 10 признаков того, что хороший программист из вас не получится Привет, Хабр! Представляю вашему вниманию перевод статьи «10 Signs You Will Suck at Programming» автора Jonathan Bluks. Очень часто на Reddit или Quora я вижу вопросы вида «Как понять, смогу ли я стать успешным программистом?» (На самом деле, эта статья является расширенн...

Включаем сбор событий о запуске подозрительных процессов в Windows и выявляем угрозы при помощи Quest InTrust Одна из часто встречающихся типов атак — порождение злонамеренного процесса в дереве под вполне себе добропорядочными процессами. Подозрение может вызвать путь к исполняемому файлу: частенько вредоносное ПО использует папки AppData или Temp, а это нехарактерно для легитимн...

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

Стартовала предрегистрация на очередной клон Clash Royale — Magic: ManaStrike от Netmarble Если вам не надоело наблюдать за тем, как с любимыми франшизами происходит неизвестно что, обратите внимание на Magic: ManaStrike. Ее анонсировали в ноябре прошлого года, а мы затем переводили куски из интервью с разработчиками, в котором те рассказали, что сами решили сдела...

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

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

Эльбрус VS Intel. Сравниваем производительность систем хранения Аэродиск Восток и Engine Всем привет. Мы продолжаем знакомить вас с системой хранения данных Аэродиск ВОСТОК, выполненной на базе российского процессора Эльбрус 8C. В этой статье мы (как и обещали) детально разберем одну из популярнейших и интереснейших тем, связанной с Эльбрусами, а именно – прои...

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

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

DevOps’ный C++ и «кухонные войны», или Как я начал писать игры во время еды DevOps’ный C++ и «кухонные войны», или Как я начал писать игры во время еды «Я знаю, что ничего не знаю» Сократ Для кого: для IT-шников, которые плевали на всех разработчиков и хотят поиграть в свои игры! О чем: о том, как начать писать игры на C/C++, если вдруг вам это над...

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

SLS vs STARSHIP: Почему существуют обе программы? Everyday Astronaut 1 МАЯ 2020, TIM DODD, EVERYDAY ASTROUNAVT ВЕБ-ВЕРСИЯ: FLORIAN KORDINA И JOEY SCHWARTZ Пару слов от меня зачем и почему. Мне нравится американский космический журналист — Тим Додд. За его энтузиазм и дотошность при рассмотрении темы. Можно критически относиться к его оценкам...

Исследование возможных заимствований и нарушений условий лицензирования в Java-коде на GitHub Меня зовут Ярослав Голубев, я работаю в JetBrains Research, в лаборатории методов машинного обучения в программной инженерии. Некоторые мои коллеги уже писали здесь о своих проектах (например, о подсказках для онлайн-курсов). Общая цель нашей группы — сделать работу программ...

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

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

[Перевод - recovery mode ] Делаем быстрее POSTGRESQL COUNT (*) Часто жалуются, что count (*) в PostgreSQL очень медленный. В этой статье я хочу изучить варианты, чтобы вы получили результат как можно быстрее. Почему count (*) такой медленный? Большинство людей без проблем понимают, что следующий запрос будет выполняться медленно: S...

LabVIEW NXG 5.0 — Основы и Блок-Диаграмма Это первая статья из небольшого цикла о графическом языке программирования G, который используется в LabVIEW. Язык этот пока не очень популярен — по индексу TIOBE на май 2020 года LabVIEW находится на сороковом месте аккурат между Julia и Haskell. Выпуск LabVIEW Community Ed...

[Перевод] Генерация подземелий в Binding of Isaac Binding of Isaac и её ремейк Binding Of Isaac: Rebirth — одни из самых любимых для меня игр. Они относятся к жанру roguelite twin stick shooter и очень похожи на Enter the Gungeon. Особенно знамениты подземелья, генерируемые этими играми. В Интернете я видел бесчисленное к...

[Перевод] Что покупать для глубокого обучения: личный опыт и советы использования GPU Перевод статьи Тима Деттмерса, кандидата наук из Вашингтонского университета, специалиста по глубокому обучению и обработке естественного языка Глубокое обучение (ГО) – область с повышенными запросами к вычислительным мощностям, поэтому ваш выбор GPU фундаментально определи...

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

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

[Перевод] Ответ философам от GPT-3 Привет, Хабр. В преддверии старта курса «Deep Learning. Basic» мы подготовили для вас довольно необычный перевод. Читайте ниже, что из этого вышло. Рафаэль Миллер попросил языковую модель GPT-3 от OpenAI ответить на эссе, написанные о ней философами. Приводим перевод текст...

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

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

[Перевод] Начало работы с методами JavaScript-массивов .map(), .filter() и .reduce() Когда я разбирался в том, как пользоваться методами JS-массивов .map(), .filter() и .reduce(), всё, что я читал, смотрел и слушал, казалось мне очень сложным. Эти концепции рассматривались как некие самостоятельные механизмы, ни к чему другому отношения не имеющие. Мне тяжел...

Blue-Green Deployment на минималках В этой статье мы с помощью bash, ssh, docker и nginx организуем бесшовную выкладку веб-приложения. Blue-green deployment — это техника, позволяющая мгновенно обновлять приложение, не отклоняя ни одного запроса. Она является одной из стратегий zero downtime deployment и лучше...

Лучший чехол для Huawei P50 Pro Довольно часто пользователи покупают смартфон флагманского уровня, а потом не знают, как к нему подобрать аксессуары, как выбрать чехол для Huawei P50 Pro и так далее — вариантов трудностей на самом деле очень много, но вопрос скорее в том, как вы будете с ними справляться. ...

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

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

Простой классификатор P300 на открытых данных Мой коллега Рафаэль Григорян eegdude недавно написал статью о том, зачем человечеству потребовалась ЭЭГ и какие значимые явления могут быть зарегистрированы в ней. Сегодня в продолжение темы нейроинтерфейсов мы используем один из открытых датасетов, записанных на игре, испол...

Кому на бюджете жить хорошо? ВСТУПЛЕНИЕ В каком году — рассчитывай, В какой земле — угадывай, На столбовой дороженьке Сошлись семь мужиков: Семь временнообязанных, Подтянутой губернии, Уезда Терпигорева, Пустопорожней волости, Из смежных деревень: Заплатова, Дырявина, Разутова, Знобишина. Горелова, Нее...

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

[Из песочницы] Оптимизация моделей в Tensorflow 1.x Tensorflow, хотя и сдаёт свои позиции в исследовательской среде, всё ещё остаётся популярным в практической разработке. Одна из сильнейших сторон TF, из-за которой он держится на плаву — возможность оптимизации моделей для развертывания в условиях ограниченных ресурсов. Для ...

Компания "Системы компьютерного зрения" представила приложение для подсчета объемов древесины Компания "Системы компьютерного зрения" (входит в группу "ЛАНИТ") разработала систему Smart Timber для подсчета объемов и ведения учета круглого леса. Сервис, основанный на проприетарных технологиях компьютерного зрения и машинного обучения, позволяет лесоперерабатывающим пр...

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

[Перевод] Пишем интерпретатор BASIC в стиле 80-х В течение нескольких лет я работала над личным проектом создания (а на самом деле исследования) «фальшивого эмулятора», то есть написанного на JavaScript эмулятора никогда не существовавшего компьютера. Эта машина должна была стать данью памяти восьми- и шестнадцатибитным ...

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

[Из песочницы] Использование Quartus и ModelSim Меня всегда интересовала цифровая схемотехника, а в частности языки описания аппаратуры -HDL. У меня давно лежала в списке будущего чтения книга Дэвида М. Хэррис и Сары Л. Хэррис «Цифровая схемотехника и архитектура компьютера», воспользовавшись свободным временем на самоизо...

[Перевод] Компилируем Microsoft Word 1989 года Собираем Opus Opus — это кодовое имя, которое разработчики компании Microsoft дали пакету Microsoft Word for Windows v1.1a. Давайте скомпилируем его из исходного кода и посмотрим, удастся ли его запустить! 1. Введение В этой статье задокументирован процесс получения исход...

[Из песочницы] pyqtdeploy, или упаковываем Python-программу в exe'шник… the hard way Наверняка, каждый, кто хоть раз писал что-то на Python, задумывался о том, как распространять свою программу (или, пусть даже, простой скрипт) без лишней головной боли: без необходимости устанавливать сам интерпретатор, различные зависимости, кроссплатформенно, чтобы одним ...

И мышонок, и лягушка. Универсальный Компилятор В серии про надежное программирование [1], [2] остался незаслуженно забытым Swift. Я, честно говоря, просто не считал его кроссплатформенным, а работающим исключительно для macOS/iOS. Тут случайно выяснилось, что Swift также поддерживается такой средой разработки, как Re...

Простой путь к Serverless-вычислениям Сами по себе Serverless-вычисления (в прямом переводе «бессерверные») получили широкую известность в 2014 году после анонса AWS Lambda — одной из первых Serverless-платформ. С того момента популярность Serverless-подхода лишь растёт, а вот развитие инструментария, увы, не по...

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

[Перевод] Асинхронные задания в Django с Celery Перевод статьи подготовлен в преддверии старта курса «Web-разработчик на Python». Если в вашем приложении есть какой-то длительный процесс, вы можете обрабатывать его не в стандартном потоке запросов/ответов, а в фоновом режиме. К примеру, в вашем приложении пользователь...

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

Что нового в SObjectizer-5.7.0 и ждет этот проект дальше? SObjectizer — это относительно небольшой C++17 фреймворк, который позволяет использовать в С++ программах такие подходы, как Actor Model, Publish-Subscribe и Communicating Sequential Processes (CSP). Что существенно упрощает разработку сложных многопоточных приложений на C++...

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

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

[Из песочницы] 3 года программирования вслепую. Часть 1 Всем доброго времени суток! Хочу поделиться своим опытом из разряда «Войти в IT». Тем более, что он происходил в полностью невизуальном режиме. О незрячих людях в нашем обществе знают мало, а о незрячих программистах еще меньше. И эта статья предлагает проследить за тем, как...

[Перевод] Самые замечательные программы Unix Автор статьи Дуглас Макилрой — американский математик, инженер и программист. Наиболее известен разработкой конвейера в операционной системе Unix, принципов компонентно-ориентированного программирования и нескольких оригинальных утилит: spell, diff, sort, join, speak, tr. ...

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

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

Применение принципов функционального программирования при проектировании ERP Привет, Хабр! В этой статье мы попробуем взглянуть на архитектуру учетных систем (ERP, CRM, WMS, MES, B2B, ...) с позиций функционального программирования. Существующие системы сложны. Они базируются на реляционной схеме данных, и имеют огромный мутабельный стейт в виде сот...

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

[Из песочницы] PostgeSQL: Разработка расширений (функций) на языке С Эту статью написал еще пару лет назад, и не знал куда ее можно было бы выложить, а потом и забыл. Смысл использования языка С при разработке расширений для PostgreSQL по сравнению с интерпретируемыми (скриптовыми) языками можно свести к двум положениям: производительность и...

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

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

Анонс. Биоинформатика: Вопросы и ответы СЕГОДНЯ, 27 октября, в 20:00 в наших соцсетях выступит Алсу Миссарова — PhD по системной биологии (functional genomics in yeast) из Университета Ponepu Fabra в Барселоне. Сейчас Алсу PhD в лаборатории JOhn Marioni (EBI, Cambridge, UK) и занимается single cell RNA-seq и ин...

Устали от 3д животных в Google? Попробуйте сделать свое лицо из стены! Благодаря поддержке дополненной реальности в iPhone мы получили множество интересных приложений — от MSQRD до просмотра тигра в 3д и других животных прямо в поиске Google. Но разработчики не стоят на месте, и в App Store появилось приложение, где можно сделать так, будто вы...

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

3D своими руками. Часть 2: оно трехмерное В предыдущей части мы разобрались, как выводить на экран двумерные объекты, такие как пиксель и линия (отрезок), но ведь хочется поскорее создать что-то трехмерное. В этой статье впервые попробуем вывести 3D-объект на экран и познакомимся с новыми математическими объектами...

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

Можно ли программировать на iPad Pro? При желании iPad Pro можно приспособить к программированию Вы заметили, что на большинстве фото и во многих офисах программисты в основном используют MacBook? Причин этого выбора множество, но одна из главных — ноутбуки Apple имеют консоль Bash и схожи с Linux, при этом пред...

[Из песочницы] Начинаем работу с Google Sheets на Python. От регистрации до чтения данных Довольно долго я обходился выгрузкой данных в Excel, но мода меняется, пользователи хотят в облака. Начав переводить ряд проектов на Python, решил, что самое время сменить (или дополнить) Excel чем-то более современным. Когда я впервые столкнулся с необходимостью работы c ...

[Перевод] Что такое «this» и с чем его едят Автор фото — Sebastian Herrmann. Доброго времени суток, друзья! Представляю Вашему вниманию перевод статьи Daniel James «What is 'this'? Why is that?». Что такое «this» и с чем его едят Когда я начинал изучать JavaScript, концепция this показалась мне крайне запутанной. ...

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

[Из песочницы] Коронавирус: мы все умрём? Что мы говорим Богу смерти? — Не сегодня. Сирио Форель, сериал «Игра престолов». Насколько действительно опасен коронавирус COVID-19? Сколько людей умрёт от коронавируса в мире? А сколько – в России? Так ли необходимы жесткие меры, принимаемые для борьбы с коронавирусом в ...

[Перевод] Y Combinator: Хакерский подход к корпоративным продажам (В оригинале Enterprise Sales for Hackers — автор имеет ввиду и хакеров, и высококлассных инженеров-программистов, в статье мы будем называть их программистами / разработчиками / технарями) Райан Джуни – предприниматель, консультант стартапов и инвестор. Сейчас он основат...

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

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

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

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

Автоматическое обучение моделей с помощью Vowpal Wabbit Всем привет, меня зовут Артем Жаринов, я специалист по анализу данных и машинному обучению команды RnD в Lamoda. Блуждая по нашему сайту вы, возможно, заметили такие полки рекомендаций «С этим товаром покупают» или «Популярные товары». Для персонализированного ранжирования ...

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

[Перевод] PuppetConf 2016. Kubernetes для сисадминов. Часть 1 Я системный администратор, занимаюсь компьютерами, и сегодня мы поговорим о Kubernetes. Я постараюсь глубже окунуться в тему, рассмотрев, какие проблемы сисадмин может решить с помощью этого приложения, и также затрону некоторые моменты эксплуатации Puppet, которая вроде как...

Как реализовать игнор заблокированных пользователей в группах Telegram? UPD: благодаря помощи Tkachov эта статья всё-таки превратилась из просьбы о помощи в работающую инструкцию. В комментариях он дал работающий код для создания игнора в десктопном клиенте Телеграм. Я на всякий случай расположу объяснение в конце статьи. Далее статья продолжа...

Учимся квантовому программированию на Python с помощью примеров. Доклад Яндекса Сегодня любой желающий может воспользоваться методами квантового программирования, написать простой код на Python и запустить его на реальном квантовом вычислителе. Ришат Ибрагимов rishat_ibrahimov разобрал основы квантовых вычислений на примерах с кодом, показал, как запуск...

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

[Из песочницы] Как верстать веб-интерфейсы быстро, качественно и интересно Всем привет! Давно хотел и наконец написал небольшую книжку — бодрое пособие по своей профессиональной области: актуальным подходам к разметке интерфейсов, экранному дизайну и доступности. Она о моем оригинальном подходе к созданию GUI, препроцессорам CSS (для объективност...

[Перевод] Fastcore — недооцененная но полезная библиотека Python Недавно я начал оттачивать владение языком программирования Python. Я хотел изучить продвинутые паттерны, идиомы и методы программирования. Начал я с чтения книг по продвинутому Python, но информация, похоже, не откладывалась в голове без применения навыков. Хотелось иметь ...

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

VPS на Linux с графическим интерфейсом: запускаем сервер RDP на Ubuntu 18.04 В предыдущей статье мы разобрали запуск сервера VNC на виртуальной машине любого типа. У этого варианта масса недостатков, основным из которых являются высокие требования к пропускной способности каналов передачи данных. Сегодня мы попробуем подключиться к графическому рабо...

[Из песочницы] OSCP — мой опыт Что это за четыре буквы и кому это вообще надо? Я не буду описывать курс PWK и OSCP экзамен, простой запрос «OSCP review» выдаст вам кучу обзоров, описание формата, рекомендации и структуру курса. Просто поделюсь своим собственным опытом, как я сделал это и какие решения при...

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

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

Как улучшить ваш API сервис на node.js. Часть 1 Сейчас доступно приличное количество материалов по написанию API на node.js. Большинство из них в виде туториалов и демо-примеров в документациях. Этого достаточно, чтобы быстро разобраться и написать что-то свое. Но в них редко найдутся детали, почему это делается именно та...

[Перевод] Собеседование по Data Science: что могут спросить и где найти ответы на вопросы Однажды я получил оффер от Deliveroo, в этой компании я должен был стать Data Science Manager. Пока я готовился к тому, чтобы приступить к выполнению своих обязанностей, оффер отозвали. У меня на тот момент не было подушки безопасности на случай продолжительного отсутствия...

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

[Перевод] Лидары для автомобилей стоили $75.000, а теперь они в каждом iPhone Как Apple удалось создать доступные лидары без движущихся частей для iPhone На презентации iPhone 12 во вторник Apple представила возможности нового лидара. По словам Apple, лидар позволит усовершенствовать камеру iPhone за счёт ускорения фокусировки, особенно в условиях ...

GitOps: очередной модный термин или прорыв в автоматизации? Большинство из нас, подмечая очередной новый термин в IT блогосфере или конференции, рано или поздно задается подобным вопросом: “Что это? Очередное модное слово, “buzzword” или действительно что-то стоящее пристального внимания, изучения и обещающее новые горизонты?” Точно ...

Ляпы и загогулины. 2 Продолжаю тему ляпов и загогулин, начатую в статье “Ляпы учебников и курьезы учебы”. Напоминаю определения: Ляп – явная или завуалированная ошибка, не носящая, впрочем, фундаментального характера, так что помучившись можно её исправить. Загогулина – фраза, тема, изложенна...

[Перевод] Портируем Quake на iPod Classic Запускаем Quake на iPod Classic (видео). TL;DR: мне удалось запустить Quake на MP3-плеере. В статье описывается, как это произошло. Часть прошлого лета я потратил на пару своих любимых вещей: Rockbox и игру Quake id Software. Мне даже предоставилась возможность объединить...

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

Accessibility. Как сделать приложение доступным для пользователей с ограниченными возможностями Обо мне Меня зовут Аня Ковтун, я UX/UI дизайнер и работаю в компании Arcadia с 2015 года. Помимо проектирования пользовательских интерфейсов, я общаюсь с заказчиками и занимаюсь составлением требований для команды разработчиков. Предыстория В 2018 году я работала над одн...

Поверхностное моделирование в T-FLEX CAD 17 - взгляд со стороны математики Авторы: Тимофеев Сергей, программист-разработчик, Батюченко Игорь, руководитель группы разработки ЗАО «Топ Системы».В статье описывается теоретическая база работы новых операций поверхностного моделирования в T-FLEX CAD 17, а также их основное назначениеДрузья, привет!Доволь...

Как мы автоматизировали портирование продуктов с C# на C++ Привет, Хабр. В этом посте я расскажу о том, как нам удалось организовать ежемесячный выпуск библиотек для языка C++, исходный код которых разрабатывается на C#. Речь идёт не об управляемом C++ и даже не о создании моста между неуправляемым C++ и средой CLR — речь об автомат...

[Перевод] Как языки программирования получили свои названия Возможно, вы слышали поговорку о том, что в информатике есть только две сложные вещи, одна из них — придумывать названия. Некоторые имена языков программирования действительно имеют смысл, например, Google назвали свой язык Go(lang). Другие названия — например, Python и Java...

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

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

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

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

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

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

Google Ассистент научится открывать приложения и управлять ими Голосовой помощник от Google становится еще лучше Трудно спорить с тем фактом, что Google Ассистент является одним из самых продвинутых голосовых помощников на сегодняшний день. Но это не значит, что он идеален во всех отношениях и его нельзя сделать лучше. Скажем, не так да...

[Перевод] Навигация между представлениями с помощью @EnvironmentObject в SwiftUI Перевод статьи подготовлен в преддверии старта продвинутого курса «Разработчик iOS». Здравствуйте и добро пожаловать на наш туториал! В этой серии мы говорим о том, как перемещаться между представлениями в SwiftUI (без использования навигационного представления!). Хоть эта...

[Перевод] Исследование системы типов для проверки корректности музыки Сегодня много говорят о представлении музыки с помощью языков программирования, поскольку это, с одной стороны, интересная задача для инженеров, а с другой — является частью задачи универсального описания музыки. Как это выглядит? Для многих языков созданы среды программи...

Использование примесей (mixins) в Dart Несколько раз от коллег звучал вопрос о том, что не понятно, зачем вообще нужны mixin'ы (примеси) в языке Dart. Я решил посмотреть, что есть на просторах Интернета по этому вопросу. К великому огорчению в статьях, которые удалось найти в основном говорится о том, как использ...

[Из песочницы] Как скомпилировать декоратор — C++, Python и собственная реализация. Часть 2 Декораторы — одна из самых необычных особенностей Python. Это инструмент, который полноценно может существовать только в динамически типизированном, интерпретируемом языке. В первой части статьи мой товарищ Witcher136 показал, как в С++ реализовать наиболее приближенную к эт...

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

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

Как спроектировать пошаговое заполнение данных в мобильном приложении Привет! Меня зовут Вита Соколова, я Android Team Lead в Surf. В мобильных приложениях бывают формы со сложным многошаговым заполнением — например, анкеты или заявки. Проектирование таких фич обычно вызывает у разработчиков головную боль: между экранами передается большое к...

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

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

Numl – Альтернативный язык разметки и стилизации для веб Всем привет! Меня зовут Андрей, я профессионально разрабатываю веб-интерфейсы уже больше 11 лет и последний год развиваю проект Numl, который можно назвать языком разметки и стилизации для веб. В этой статье я расскажу, как в попытке перебороть ряд особенностей CSS и упрости...

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

PlayStation 5 теперь выглядит по-новому Дизайнер Джермейн Смит (Jermaine Smit), известный по видеоканалу Concept Creator в YouTube, специально для тематического ресурса LetsGoDigital создал новые трехмерные модели игровой консоли PlayStation 5 и геймпада DualShock 5, опираясь на имеющуюся информацию. Стоит о...

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

«Hello, Checkmarx!». Как написать запрос для Checkmarx SAST и найти крутые уязвимости Привет Хабр! В статье я хочу рассказать о нашем опыте создания своих запросов в Checkmarx SAST. При первом знакомстве с этим анализатором может сложиться впечатление, что кроме поиска слабых алгоритмов шифрования/хеширования и кучи false positive, он ничего больше не...

Обучение модели естественного языка с BERT и Tensorflow Рис. 1. Фразы и предложения в векторном представлении модели естественного языка Обработка естественного языка (Natural Language Processing, NLP) – это область вычислительной лингвистики, ориентированная на разработку машин, способных понимать человеческие языки. Разработк...

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

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

[Перевод] Лидары будущего: 11 000 лазеров вместо 128 Принцип работы лидарных датчиков заключается в отражении света лазеров от окружающих объектов и создании трехмерного облака точек. Первый современный трехмерный лидар был создан для конкурса DARPA Grand Challenge 2005 года, основного конкурса среди беспилотных автомобилей. ...

Учёные добыли энергию из света с помощью искусственной клетки Группа сотрудников Аргоннской национальной лаборатории Министерства энергетика США (DOE) под руководством ведущей проекта Елены Рожковой создала биоинспирированную (подсмотренную у природы) искусственную клетку, которая смогла преобразовать падающий на неё свет в запас химич...

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

Две красные кнопки, паяльник и React: как мы делали движуху для IT-конференции Badoo регулярно участвует со стендом в выставках IT-конференций. Поэтому каждый год мы с коллегами — инженерами и деврелами — придумываем, что бы такого айтишного сделать, чтобы не скучать в перерывах между докладами. Меня зовут Иван, я frontend-разработчик. В этой статье вм...

ClickHouse для продвинутых пользователей в вопросах и ответах В апреле инженеры Авито собирались на онлайн-посиделки с главным разработчиком ClickHouse Алексеем Миловидовым и Кириллом Шваковым, Golang-разработчиком из компании Integros. Обсуждали, как мы используем систему управления базами данных и какие сложности у нас...

Opium.Fill — цветовая схема глазами программиста Привет. Сегодня покажу вам цветовую схему, которой пользуюсь последние 2 года. Она была придумана, чтобы на проблемном проекте избавиться от огромного количества переменных в CSS. А потом оказалось, что эти принципы можно применить почти к любому проекту. В общем, попробу...

Оконные функции с «форточкой» или как пользоваться фреймом Всем привет. 26 февраля в OTUS стартовали занятия в новой группе по курсу «MS SQL Server разработчик». В связи с этим я хочу поделиться с вами своей публикацией про оконные функции. Кстати, в ближайшую неделю еще можно записаться в группу ;-). Оконные функции прочно вошл...

[Перевод] Как прошел 2019 год в области математики и Computer Science Перевод статьи подготовлен специально для студентов базового и продвинутого курсов «Математика для Data Science». Математики и информатики за прошедший год добились больших успехов в теории чисел, теории графов, машинном обучении и квантовых вычислениях, даже пересмотрел...

Ксеноботы: живые нанороботы из клеток лягушки В далеком 1495 году Леонардо да Винчи создал чертеж живых доспехов. И лишь спустя 425 лет чешский фантаст Карел Чапек впервые использовал слово «робот» в своей пьесе «R.U.R.». Современные роботы намного умнее, сложнее и мобильнее робота да Винчи, но у них есть общие черты....

[Перевод] Разработка инструмента командной строки: сравнение Go и Rust Эта статья посвящена разбору моего эксперимента по написанию небольшого инструмента командной строки с использованием двух языков, в программировании на которых у меня не особенно много опыта. Речь идёт о Go и Rust. Если вам не терпится увидеть код и самостоятельно сравни...

[Из песочницы] Typescript Compiler API: возьми управление компилятором в свои руки В разработке приложений на Typescript всегда есть этап сборки проекта. Обычно для этого используются системы сборки и автоматизации workflow, такие как webpack или gulp, обвешанные достаточным количеством плагинов, либо процесс сборки размазывается в командах package.json ...

Пять лучших старых игр, перевыпущенных для телефона Если вам 25-35 лет, вы наверняка помните, как много лет назад у нас не было смартфонов и игровых консолей в современном понимании этого слова. Очень крутым считалось, если у вашего соседа была Денди, а у вас — Нинтендо. Тогда вы были просто царем положения и все хотел...

[Из песочницы] Создание Discord-бота, используя библиотеку discord.js | Часть №1 Введение В этой статье я подробно расскажу о том, как работать с библиотекой discord.js, создать своего Discord-бота, а также покажу несколько интересных и полезных команд. Сразу хочу отметить, что я планирую сделать ряд подобных статей, начиная с простых команд, заканчивая...

Визуализация sqlite в node.js Довольно часто на этапе прототипирования (и всегда — в пет-проектах) я не запариваюсь с бэкэндом и поднимаю апи на express с sqlite3. Это легко и довольно удобно для несложной логики, а для сложной есть бэкэндеры с их отдельным миром. Единственный геморрой, который долгое ...

Туториал по uplift моделированию. Часть 1 Команда Big Data МТС активно извлекает знания из имеющихся данных и решает большое количество задач для бизнеса. Один из типов задач машинного обучения, с которыми мы сталкиваемся – это задачи моделирования uplift. С помощью этого подхода оценивается эффект от коммуникации ...

Как сделать хороший короткий доклад Конец мая и начало июня — традиционное время защиты дипломов в вузах. Помимо самой выпускной работы, студентам нужно подготовить короткое (на 7–10 минут) выступление перед экзаменационной комиссией, а также сделать презентацию. И зачастую для студента подготовить нормальный ...

Интеграция проекта VueJS+TS с SonarQube В своей работе мы активно используем платформу SonarQube для поддержания качества кода на высоком уровне. При интеграции одного из проектов, написанном на VueJs+Typescript, возникли проблемы. Поэтому хотел бы рассказать подробней о том, как удалось их решить. В данной стать...

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

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

[Перевод] Программисты, девопсы и коты Шрёдингера Реальность сетевого инженера (с лапшой и… солью?) В последнее время, обсуждая с инженерами разные инциденты, я заметил интересную закономерность. В этих обсуждениях неизменно возникает вопрос «первопричины». Верные читатели наверняка знают, что у меня есть несколько мысле...

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

Японская фармкомпания приступает к испытаниям лекарства, синтезированного с помощью нейросети Фармацевты и программисты из компаний Sumitomo Dainippon Pharma и Exscientia подбросили дров в костер спора «где должна заканчиваться самостоятельность машины и начинаться контроль в ручном режиме»: 30 января на официальном сайте Exscientia был опубликован пресс-релиз, в кот...

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

Архитектура S3: 3 года эволюции Mail.ru Cloud Storage Storage Corridor by St-Pete Всем привет! Я Mons Anderson, архитектор платформы Mail.ru Cloud Solutions, расскажу, как мы построили наше S3-хранилище, как оно работает, какие решения оказались удачными, а какие стоило изменить, если бы мы начали такой же проект с нуля сейчас...

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

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

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

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

[Перевод] 5 самых сложных языков программирования в мире Все слышали про C, C++, Java, Python и многие другие, но есть несколько языков малоизвестных программирования, которые не только сложные, но и непонятные для многих разработчиков. Они называются эзотерическими языками программирования и существуют как доказательство какой...

[Перевод] Разворачиваем Jenkins как код Прим. перев.: это перевод статьи из инженерного блога компании Preply о том, как можно использовать конфигурацию как код для такого популярного CI/CD инструмента как Jenkins. В нашей компании, мы стараемся следовать практикам «Все как код», это касается не только инфраструк...

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

HackTheBox endgame. Прохождение лаборатории Xen. Пентест Active Directory В данной статье разберем прохождение не просто машины, а целой мини-лаборатории с площадки HackTheBox. Как сказано в описании, Xen предназначен для проверки навыков на всех стадиях атак в небольшой среде Active Directory. Цель состоит в том, чтобы скомпрометировать доступ...

19 декабря на мобильных выйдет пошаговая игра про... баскетбол — Hoop League Tactics Большая часть спортивных игр — это либо экшены, повторяющие механики конкретного вида спорта, либо симуляторы менеджера, в которых вам нужно управлять командой, влияя на ее успехи лишь косвенно. Поэтому особенно интересно посмотреть на спортивную игру, которая не является ни...

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

Интерфейсные байки Токсичного Деда. “Исследуй это!” (s1 e1) Приветствую. Сейчас только ленивый не пишет статьи и не выступает с докладами на тему: «Я дизайнер интерфейсов и сейчас я буду чесать ЧСВ.» И всегда в таких статьях и выступлениях речь идет о сайтах, мобильных приложениях и подобном b2c продукте. Переводя на общеупотребит...

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

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

Уменьшение времени отклика при передаче данных по UDP Привет, Хабр! В этой статье я хочу рассказать о решении одной из типичных проблем, с которой Embox справляется лучше GNU/Linux. Речь идет о времени реакции на пакет, переданный по протоколу Ethernet. Как известно, основной характеристикой передачи данных по сети является пр...

Как писать книгу в LaTeXe по физике. Cтатья 1 Это моя первая статья на Хабре. Глава 1. Введение 1.1 Позвольте представиться и почему я это пишу    Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по...

Главная причина, почему все-таки Linux Недавно на Хабре была опубликована статья Главная причина, почему не Linux, которая наделала много шума в обсуждениях. Данная заметка — это небольшой философский ответ на ту статью, который, как я надеюсь, расставит все точки над i, причем с довольно неожиданной для многих ч...

Пошаговое руководство по настройке Laravel 6 в Google Cloud Run с непрерывной интеграцией Всем привет! В преддверии старта курсов «Framework Laravel» и «Backend-разработчик на PHP», продолжаем делиться интересным материалом по теме. Поехали. За последние несколько лет популярность Laravel резко возросла. Сообщество Laravel даже придерживается мнения, что Larave...

[Перевод] Как стать DevOps инженером за полгода или даже быстрее. Часть 5. Развертывание Как стать DevOps инженером за полгода или даже быстрее. Часть 1. Введение Как стать DevOps инженером за полгода или даже быстрее. Часть 2. Конфигурирование Как стать DevOps инженером за полгода или даже быстрее. Часть 3. Версии Как стать DevOps инженером за полгода или даж...

PlayStation 5 теперь выглядит по-новому Дизайнер Джермейн Смит (Jermaine Smit), известный по видеоканалу Concept Creator в YouTube, специально для тематического ресурса LetsGoDigital создал новые трехмерные модели игровой консоли PlayStation 5 и геймпада DualShock 5, опираясь на имеющуюся информацию. ...

Жутчайшее создание: как рисовали вирус SARS-CoV-2 Российская компания Visual Science хорошо известна в мировом научном сообществе: именно она делает самые сложные и точные 3D-модели вирусов. В команде более 70 специалистов, включая разработчиков самого высокого класса и научных консультантов из России, США, Германии и Гонко...

[Перевод] Модели мира. Могут ли агенты учиться в своем воображении? От переводчика: вопросы, поднятые в прошлой моей статье (видимо не слишком удачной) тем не менее вывели меня (огромное спасибо комраду Kilorad за ссылку!) на материал, который я посчитал необходимым перевести и выложить сюда. Да, я, к сожалению, посредственно владею как язык...

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

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

Транскомпилируемые языки: проекты конвертации код-в-код Источник: Ward Cunningham Транспиляция — это конвертация кода одного языка в другой. С помощью специального транспилера (транскомпилятора) один язык программирования общего назначения можно перенести на любой другой язык программирования общего назначения. Если необходимо...

Как совладать со сложностью распределённой системы. Мониторинг GridGain при помощи Control Center Представим, что вам нужно настроить мониторинг распределённой базы данных, такой как GridGain. Метрики положим в Prometheus. Графики нарисуем в Grafana. Про систему оповещения не забудем – для этого настроим Zabbix. Для анализа трейсов воспользуемся Jaeger. Для управления со...

[Перевод] Взгляд на технологии последнего десятилетия Прим. перев.: Эта статья, ставшая хитом на Medium, — обзор ключевых (за 2010-2019 годы) изменений в мире языков программирования и связанной с ними экосистемы технологий (особое внимание уделяется Docker и Kubernetes). Её оригинальным автором является Cindy Sridharan, котора...

Руководство по Node.js для начинающих. Часть 3 Доброго времени суток, друзья! Продолжаю публиковать перевод этого руководства по Node.js. Другие части: Часть 1 Часть 2 Часть 3 Получение данных, введенных пользователем, в Node.js Как сделать Node.js-программу интерактивной? Для этого в 7 версии Node.js представлен м...

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

Как можно обучить детей программированию? Чем раньше ребенок начнет учиться программированию, тем лучше Apple, как известно, воспитывает программистов iOS еще на школьной скамье, в чем компании помогает приложение Swift Playgrounds. Как это происходит? Например, ученик хочет программировать дроны от Parrot или устро...

Ученые научились управлять белками, продлевающими жизнь Белки VRK-1 и AMPK работают вместе в клетках червя (Caenorhabditis elegans). VRK-1 активирует AMPK и как раз последний отвечает за мониторинг энергетических уровней клеток, когда энергия заканчивается. Ученым удалось увеличить и уменьшить активность гена, который отвечает з...

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

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

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

[Из песочницы] Unity Editor Adventures: Сериализованная Матрёшка Краткое вступление Как правило, для того чтобы добраться до интересующего нас поля сериализованного свойства, мануальная терапия советует нам использовать метод FindPropertyRelative(), в который прокидывается название переменной. По определённым причинам такой подход не все...

[Перевод] Машинное обучение в Unity: учим МО-агентов перепрыгивать через стены За последние несколько лет в обучении с подкреплением (reinforcement learning, RL) произошли серьезные прорывы: от первого успешного его использования в обучении по сырым пикселям до обучения Open AI роборуки, ― и для дальнейшего прогресса становятся необходимы все более сло...

Opennebula. Короткие записки Всем привет. Данная статья написана для тех, кто до сих пор мечется между выбором платформ виртуализации и после прочтения статьи из серии «Поставили proxmox и вообще все отлично, 6 лет аптайм не единого разрыва». Но после установки того или иного коробочного решения, воз...

[Перевод] Product Discovery 101 для Product-менеджера Перевод статьи подготовлен в преддверии старта новой группы по курсу "Product Manager IT-проектов". Так что же такое Product Discovery? Product Discovery – это процесс выяснения того, что же в конечном итоге предстоит создать. Он отражает ваше видение, дает бол...

[Перевод] Celery throttling — настраивам rate limit для очередей ​ В этой статье я покажу как решить одну из проблем, возникающих при использовании распределенных очередей задач — регулирование пропускной способности очереди, или же, более простым языком, настройка ее rate limit'a. В качестве примера я возьму python и свою любимую связку ...

Как мигрировать большой процесс с IBM BPM на Camunda и не останавливать разработку фич Привет, меня зовут Денис, я работаю в Тинькофф и занимаюсь BPM-системами. В этой статье я расскажу, как мигрировать с легаси систем а-ля IBM BPM на опенсорс движок процессов Camunda на примере большого процесса. А в конце приглашу вас на четвертый митап по Camunda, который...

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

Тонкости авторизации: обзор технологии OAuth 2.0 Информационная система Dodo IS состоит из 44 различных сервисов, таких как Трекер, Кассы ресторана или Базы знаний и многих других. 3 года назад мы написали сервис Auth для реализации сквозной аутентификации, а сейчас пишем уже вторую версию. В основе сервиса лежит стандарт ...

Sony PlayStation 5 получит «огромный» прирост производительности из неожиданного источника Компания Sony пока не провела полноценный анонс своей игровой приставки следующего поколения PlayStation 5. Тем временем разработчики игр с удовольствием делятся подробностями на её счёт.  Неофициальный рендер На этот раз, информацией поделился Марк-Андре Ютр...

Автоматизация Для Самых Маленьких. Заметки. RESTful API Эта статья — одна из обещанных коротких заметок по ходу цикла статей Автоматизация Для Самых Маленьких. Поскольку основным способом взаимодействия с IPAM-системой будет RESTful API, я решил рассказать о нём отдельно. Воздаю хвалы архитекторам современного мира — у нас ест...

[Из песочницы] Что такое собеседование и зачем оно? Поводом для написания размышлений ниже послужила статья «Нужны ли резюме в IT?». Так как тема в статье мне близка и интересна, я решил написать своеобразный ответ. На мой взгляд, статья ошибочна и полна ошибок и заблуждений, причем концептуального уровня. Конечно, изложенно...

ИИ DeepMind смог решить проблему сворачивания белков, над которой биологи бились около 50 лет Подразделение Google DeepMind, занимающееся разработками в сфере искусственного интеллекта, решило серьёзную научную проблему, которая ставила исследователей в тупик на протяжении полувека. С помощью своей новейшей программы искусственного интеллекта AlphaFold исследователи ...

do {Yoga} while (болит спина) Вступление Это обыкновенная история про самого обыкновенного IT-шника, которая, тем не менее, может быть интересна людям различных профессий. Статья не про то, как я добился успеха в той или иной IT-дисциплине, будь то программирование, администрирование или дизайн. Моя исто...

[Из песочницы] Шизофрения: взгляд после Грани безумия В те далекие времена, когда я чувствовал себя получше, я частенько заходил почитать хабр. Теперь почти полная потеря интереса к ИТ — одна из самых незначительных моих проблем. Заранее прошу прощения за исковерканные слова и знаки препинания, тут уже давно во вс...

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

[recovery mode] ООП: Кто взял Измаил? Вопрос принадлежности методов объекту Данная статья посвящена разбору вопроса о том, какому именно объекту ООП должен принадлежать метод, осуществляющий взаимодейстие между несколькими сущностями. Это распространённая тема для холиваров. Например: Не используйте ООП. Никогда. Это ошибка. На эту тему есть много...

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

[Из песочницы] Postman — Автотестирование метрики в AppMetrica 1. Введение Недавно встала задачка периодически проверять, все ли события в мобильном приложении работают корректно, передаются ли в AppMetrica. Подробности интеграции я опущу, имеется в виду, что она уже есть в МП. Для проверки нашел два варианта: через web интерфейс че...

Почему много оперативной памяти — это хорошо Не так давно Samsung представила Galaxy S20, минимальная модификация которого оснащена 8 ГБ ОЗУ, а максимальная предлагает 16 гигабайт. Новый Xiaomi Mi 10 также предлагает 8 гигабайт оперативной памяти. Но зачем же смартфонам так много памяти? На этот вопрос я и попытаюсь о...

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

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

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

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

Как в линуксе подключиться к корпоративному VPN с помощью openconnect и vpn-slice Хотите использовать линукс на работе, но корпоративный VPN не даёт? Тогда эта статья может помочь, хотя это не точно. Хочу заранее предупредить, что вопросы администрирования сетей я понимаю плохо, поэтому не исключено, что я всё сделал неправильно. С другой стороны не исклю...

Определяем направление на аэропорт с помощью RTL-SDR и GNU Radio Привет Хабр. В настоящее время существует не так уж много стандартов связи, которые с одной стороны, любопытны и интересны, с другой стороны, их описание не занимает 500 страниц в формате PDF. Одним из таких, несложных для декодирования, является сигнал VHF Omni-directional...

[Перевод] Пишем babel плагин, пошаговое руководство Сегодня я поделюсь с вами пошаговым руководством как написать свой babel плагин. Вы сможете использовать эти знания для автоматизации правок, рефакторинга или кодогенерации. Читать дальше →

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

ОТО. Энергия как дополнительное измерение в решении Шварцшильда Habritants! В этой статье описано получение метрики общего вида, включающей метрики Фридмана и Шварцшильда как частные случаи. Для понимания материала необходимы знания алгебры: понятие о производных в большей степени; тензорная — в меньшей. Читать дальше →

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

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

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

Дополняя SQL. Часть 4. Работа с исключениями, влияние данных на процесс разработки. Использование ML.NET Что будет в этой статье? Это заключительная статья в цикле о жизни разработчиков IDE для баз данных. В этой части я расскажу, о том, как внедрение продуктовой аналитики повлияло на некоторые аспекты разработки. Для понимания этой статьи не обязательно читать все три предыду...

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

[Перевод] Смотрим на Chapel, D, Julia на задаче вычисления ядра матрицы Введение Кажется, стоит вам отвернуться, и появляется новый язык программирования, нацеленный на решение некоторого специфического набора задач. Увеличение количества языков программирования и данных глубоко взаимосвязано, и растущий спрос на вычисления в области «Data Scien...

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

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

BroKB Emulz — русскоязычная клавиатура для эмуляторов DosBox/Bochs/LBochs на Android-телефоне При программировании на телефоне программ под DOS или под Windows в эмуляторах существует проблема ввода русского текста - клавиатура, которой вы только что набирали русский текст в обычных андроид программах, не будет вводить никакой текст в эмуляторы. Эмуляторы, как правил...

[Перевод] Правда о регистре символов, которую должны знать программисты На конференции North Bay Python в 2018 году я делал доклад об именах пользователей. Информация из доклада по большей части была собрана мною за 12 лет поддержки django-registration. Этот опыт дал мне гораздо больше знаний, чем я планировал получить, о том, насколько сложными...

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

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

Беги, муравей. Беги В данной статье рассматривается процесс создания имитационной модели поведения муравьиной колонии (можно почитать в википедии ) в среде имитационного моделирования «AnyLogic». Данная статься носит практический характер. В ней будет рассмотрен вопрос применения муравьиного ал...

Подборка 143 переводов эссе Пола Грэма (из 184) Пол Грэм — один из самых уважаемых людей среди ИТишников, основателей и инвесторов. Он первоклассный программист (написал два языка программирования), хакер, создатель дерзкого акселератора Y Combinator, философ. Своими помыслами и разумом Пол Грэм врывается в широкий спек...

Open360: как мы начали с разработки модели премирования и сделали IT-систему для внутреннего HR TL;DR: рассказываю о задаче оценки вклада сотрудника в общий результат и новой open source системе проведения круговой оценки сотрудников, разработанной в нашей компании, на базе метода оценки 360 градусов. Здравствуйте, меня зовут Иван Кудрявцев — я технический директор и ...

Как выглядит zip-архив и что мы с этим можем сделать. Часть 3 — Практическое применение Продолжение статьи Как выглядит zip-архив и что мы с этим можем сделать. Часть 2 — Data Descriptor и сжатие. Дорогие читатели, я снова приветствую вас на передаче Нетрадиционное программирование на PHP. Для понимания происходящего рекомендую ознакомиться с предыдущими двумя...

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

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

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

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

[Из песочницы] Способы реализации API-сервера на Golang с автогенерацией кода и документации Я бы хотел в этой статье рассказать вам о том как можно быстро и просто сделать веб сервер на языке Golang с документацией к нему. И о том какие есть подходы и инструменты для их реализации Сегодня мы разберем эти готовые инструменты: swagger-api/swagger-codegen go-swagger/...

Простое руководство по дистилляции BERT Если вы интересуетесь машинным обучением, то наверняка слышали про BERT и трансформеры. BERT — это языковая модель от Google, показавшая state-of-the-art результаты с большим отрывом на целом ряде задач. BERT, и вообще трансформеры, стали совершенно новым шаго...

[Из песочницы] Прикручиваем ActiveDirectory авторизацию к Kubernetes c помощью Keycloak Данная статья написана с целью расширить уже существующую, но рассказывает про особенности связки именно с Microsoft ActiveDirectory, а так же дополняет ее. В этой статье я расскажу как установить и настроить: Keycloak — это проект с открытым исходным кодом. Который обес...

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

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

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

[recovery mode] Как использовать облако OneDrive в Школьном портале Московской области В школьный портал Московской области встроен сервис OneDrive от Microsoft. Годом ранее, MagisterLudi написал очень хороший обзор для облаков, доступных для личного и корпоративного применения. Час применения облачных технологий пробил и для средней школы. Всех, кому приходил...

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

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

[Из песочницы] 9 ключевых алгоритмов машинного обучения простым языком Привет, Хабр! Представляю вашему вниманию перевод статьи «9 Key Machine Learning Algorithms Explained in Plain English» автора Nick McCullum. Машинное обучение (МО) уже меняет мир. Google использует МО предлагая и показывая ответы на поисковые запросы пользователей. Netflix...

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

Ищем чехол для Huawei MatePad Pro Иногда пользователи не совсем понимают, как правильно выбирать чехол для Huawei MatePad Pro 5G LTE 10.8", на какие элементы и параметры стоит обращать внимание, а на какие можно не смотреть вообще. Мы понимаем, что это очень сложный процесс и далеко не всегда пользователь мо...

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

Какой язык программирования учить, чтобы за вами охотились HR крупных компаний Десять лет назад язык программирования PHP был в лидерах рейтингов, а сейчас проекты в веб все чаще написаны на JavaScript и Python. Обидно потратить на изучение языка год или два, а потом остаться без работы. Мы в Mail.ru Cloud Solutions изучили аналитику, исследования, ...

[Перевод] Создание сайта с помощью C++ Возможно ли это? Да. Знаю, звучит странно и больше похоже на упражнение в бесполезности, но это не так. В этой статье я расскажу, как можно использовать С++ в разработке сайта, и приведу несколько достойных причин этому. Будет не только интересно, но также полезно и очень ...

Windows vs Sysmon На последней конференции ZeroNights, в ходе неформального общения со своими коллегами по цеху — инженерами систем мониторинга, нам был задан простой на первый взгляд вопрос — распространено мнение, что для полноценного мониторинга эндпоинта с ОС Windows необходимо использов...

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

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

Таблицу Менделеева расширят за счёт элементов из космоса Научный руководитель лаборатории ядерных реакций имени Флерова в Объединенном институте ядерных исследований (ОИЯИ) академик Юрий Оганесян подчеркнул, что не исключено расширение таблицы Менделеева за счёт элементов космического происхождения. «Вопрос делится на две части: м...

Повторяем когортный анализ, выполненный в Power BI, силами Python Добрый день уважаемые читатели! Поводом для написания данной публикации послужил вебинар, который я посмотрел на Youtube. Он был посвящен когортному анализу продаж. Автор использовал для работы с данными платформу Power BI Desktop. Ссылку на указанное видео приводить не буду...

[Из песочницы] Mind Map в тестировании — или легкий способ тестировать сложные приложения Вы тоже задаетесь вопросами: С чего начать тестирование? Как ничего не забыть? Как не запутаться в сложном функционале? Ответом может стать подход декомпозиции продукта путем составления Mind Map. Что это? Mind Map или интеллект карта — это инструмент для визуального ото...

Материальный дизайн. Создание анимаций в Kivy Приветствую всех любителей и знатоков языка программирования Python! В этой статье я покажу, как работать с анимациями в кроссплатформенном фреймворке Kivy в связке с библиотекой компонентов Google Material Design — KivyMD. Мы рассмотрим структуру Kivy проекта, использован...

Как искать баги на фронтенде: 4 основных этапа В этой статье я рассмотрю вопрос выявления и обработки ошибок, возникающих на фронтенде (браузер или web-view). На фронтенде код JS выполняется в браузере. JavaScript не является компилируемым языком, поэтому всегда существует вероятность ошибки исполнения при непосредстве...

Как перестать беспокоиться и начать верить A/B-тестам Когда вы разрабатываете продукт, каждая новая итерация — это риск уронить метрики и потерять пользователей. Тем не менее иногда, особенно на начальных этапах, компании неосознанно идут на этот риск — меняют продукт, полагаясь только на свои инстинкты и гипотезы. Мы в Badoo ...

Как НЕ стать геймдизайнером (Game Designer) Геймдизайнерами не рождаются, геймдизайнерами становятся В этой статье я расскажу о том, что необходимо делать, чтобы не стать геймдизайнером, что ожидают студии от кандидатов-геймдизайнеров, какими бывают тестовые задания и как не надо их выполнять, какие вопросы задают на ...

Как Apple изменила Siri в iOS 14 Siri никогда не создавала впечатление приоритетного проекта для Apple. Начав довольно бодро, со временем компания как-то подзабросила развитие голосового ассистента, из-за чего он сегодня считается чуть ли не самым примитивным и бесполезным решением на рынке. Минимум доступ...

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

Семантические цифровые системы В предыдущем тексте (Мифы семантической технологии) не без доли эпатажа утверждалось, что в айтишной семантике нет никакой семантики. Хотя, конечно, надо отдельно отвечать на два вопроса: (1) содержат ли данные смысл? и (2) понимает ли этот смысл компьютер? Второй вопрос ост...

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

3D-печать фотополимером за секунды Источник: 3dprintingmedia.network Исследователи из швейцарского университета Федеральная политехническая школа Лозанны (EPFL) впервые протестировали новый метод объемной 3D-печати, который дает возможность производить небольшие мягкие объекты за считанные секунды. Технология...

Если люди такие умные, то почему мозг становится меньше? За последние 20 тысяч лет размер человеческого мозга уменьшался. Но о чем это говорит? Вероятно, вы этого не знали, но существует несколько теорий о том, почему человеческий мозг становится все меньше начиная с каменного века. Изменения, произошедшие в ходе эволюции Homo Sap...

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

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

[Перевод] Запускаем командную строку Linux на iOS А вы знали, что можно запустить командную строку Linux на устройстве iOS? Возможно, вы спросите: «Зачем мне пользоваться текстовыми приложениями на iPhone?» Справедливый вопрос. Но если вы читаете Opensource.com, то, вероятно, знаете на него ответ: пользователи Linux хотят...

[Из песочницы] Golang + Phaser3 = MMORPG — Делаем базу для бесконечной генерации мира На русскоязычных ресурсах трудно найти подходящую информацию, возможно этот материал позволит вам понять некоторые основы для создания многопользовательских игр и не только. Я планирую сделать серию статей по созданию 2.5D MMORPG, то бишь в изометрии, наш мир будет разделе...

Почему меня забанили? Всё про модерацию и блокировки при запуске рекламы в соцсетях Вебинар подойдет тем, кто уже попробовал свои силы в рекламе и столкнулся с непреодолимой проблемой в виде банов и блокировок. Ксения объяснит, как работает модерация в каждой соцсети с акцентом на Facebook и Instagram, как наибол...

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

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

[Перевод] Автоматизация обнаружения возможных путей перехвата DLL (DLL Hijacks) Привет, хабровчане. Прямо сейчас открыт набор на новый поток курса «Пентест. Практика тестирования на проникновение». В преддверии старта курса делимся с вами переводом интересного материала. Введение В этой статье мы рассмотрим концепцию перехвата порядка поиска динамическ...

Взломан самый сложный в мире ключ шифрования Специалистам удалось прийти к цели за существенно меньшее количество времени - 4000 вычислительных лет. По их словам, они смогли этот рекорд вовсе не за счет того, что за прошедшее с предыдущего рекорда (взлом RSA-232) время производительность компьютеров хоть немного, но во...

[Из песочницы] О команде ракетчиков, которые смогут Немного о себе Так случилось, что я после школы поступил учиться в Московский авиационный институт (МАИ) на 601 кафедру, аэрокосмический факультет. Учился я проектированию космических аппаратов и разгонных блоков. С 2004 года я пошёл работать в проектный отдел КБ «Салют» (ФГ...

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

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

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

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

Как на Android одновременно использовать Алису и Google Ассистента Вы пользуетесь каким-нибудь голосовым ассистентом? Лично я без них жизни не представляю. Они помогают мне управлять освещением в умном доме, взаимодействовать с телевизором, когда я лежу в кровати и не хочу искать пульт, возвращают в Google Play ошибочно купленные приложени...

[Из песочницы] Получение meterpreter сессии внутри NAT сети, с помощью Chrome и Pivot машины Вводная Всем привет, в этой статье я хочу поделиться своим опытом в эксплуатации уязвимости Chrome FileReader UAF, проведении техники pivoting, ну и написать свою первую статью конечно. Так как я являюсь начинающим Pentest инженером, то потратил на освоение и понимание этой...

Буфера на стеке горутины Задался вопросом размещением массивов и слайсов на стеке, подобно std::array в C++ и массивам в Си. Про стек хорошо написал Vincent Blanchon в статье Go: How Does the Goroutine Stack Size Evolve?. Винсент рассказывает про изменения стека в горутинах. Резюмируя: минимальный ...

Фишинг учетных данных Windows В первом квартале 2020 года число фишинговых атак на пользователей по всему миру выросло вдвое по сравнению с аналогичным периодом 2019 года — с 9% до 18%. Такие данные приводит “Лаборатория Касперского”. В операционных системах семейства Windows у некоторых программ и пр...

Разворачиваем сервер для проверки In-app purchase за 60 минут Всем привет! Сегодня расскажу вам как развернуть сервер для проверки In-app Purchase и In-app Subscription для iOS и Android (server-server validation). На хабре есть статья от 2013 года про серверную проверку покупок. В статье говорится о том, что валидация в первую очередь...

Трехмерное картографирование атома помогает исследовать происхождение жизни Относительно новый метод изучения атомов может пролить свет на то, как началась жизнь на Земле. Ученые использовали трехмерное картографирование атомов (в частности, атомно-зондовую томографию), чтобы обнаружить, что древние молекулярные жидкости в Солнечной системе могли по...

В России запущен первый проект в области квантовой химии Компания Nissan и Проект по квантовому машинному обучению Российского квантового центра (РКЦ) объявили о запуске совместного научно-технологического проекта. Проект относится к области применения квантовых вычислений для моделирования химических соединений. Партнеры рас...

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

Полноценный Kubernetes с нуля на Raspberry Pi Совсем недавно одна известная компания объявила, что переводит линейку своих ноутбуков на ARM-архитектуру. Услышав эту новость, я вспомнил: просматривая в очередной раз цены на EC2 в AWS, обратил внимание на Graviton'ы с очень вкусной ценой. Подвох, конечно же, был в том, ...

Volvo создала «совершенный симулятор вождения» с виртуальной реальностью Компания Volvo Cars рассказала об уникальной системе смешанной реальности, которая позволяет тестировать новейшие автомобильные технологии, прежде всего средства обеспечения безопасности, в виртуальном пространстве — без необходимости создавать какие-либо физические прототип...

Изучаем VoIP-движок Mediastreamer2. Часть 2 Материал статьи взят с моего дзен-канала. Создаем тональный генератор В предыдущей статье мы выполнили установку библиотеки медиастримера, инструментов разработки и проверили их функционирование, собрав пробное приложение. Сегодня мы создадим приложение, которое сможет пропи...

Почему на телефоне не получается смотреть животных в 3D от Google Помните свой первый AR? Это был совершенно новый опыт. Даже если это было что-то невнятное в плохом качестве, оно все равно было вписано в реальный мир. Это действительно было интересно и необычно. Сейчас мы уже немного привыкли к этому, но все равно всегда рады поиграться ...

155 вопросов по JavaScript Доброго времени суток, друзья! Продолжаю работать над вопросами по JavaScript в форме викторины, о чем ранее писал здесь. Адаптировал приложение под мобильники, поправил стили, добавил сервис-воркер, мета-теги, линки и манифест, также немного поколдовал с серверной частью...

Обзор работы «Learnability Can Be Undecidable» Эта статья является моим вольным пересказом работы Learnability can be undecidable, Shai Ben-David, et al. Недавно на Хабре вышла статья Машинное обучение столкнулось с нерешенной математической проблемой, которая является переводом одноименного обзора в Nature News статьи Ш...

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

Как мы в андроид приложение inDriver добавили поддержку Harmony OS Все началось с того, что министерство торговли США включило Huawei в список компаний, с которыми запрещено вести бизнес американским компаниям. Ответом Huawei стала операционная система Harmony OS для своих смартфонов, и отказ использовать в ней сервисы Google. И чтобы не по...

[Из песочницы] Создание браузерных 3d-игр с нуля на чистом html, css и js. Часть 1/2 Современная вычислительная техника позволяет создавать классные компьютерные игры! И сейчас, достаточно популярны игры с 3d-графикой, так как, играя в них, ты окунаешься в вымышленный мир и теряешь всякую связь с реальностью. Развитие интернета и браузерных технологий сделал...

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

Тысяча и один UI-баг, или Как помочь разработчику избегать типовых ошибок в UI Тестирование новых фич, казалось бы, очень творческий и интересный процесс. Но что делать, если ошибки в интерфейсах повторяются из фичи в фичу, а большая часть времени тратится на отлавливание мелких интерфейсных проблем?  За четыре года работы в Badoo из более чем тысяч...

[Из песочницы] Создание голосового ассистента на Python, часть 1 Добрый день. Наверное, все смотрели фильмы про железного человека и хотели себе голосового помощника, похожего на Джарвиса. В этом посте я расскажу, как сделать такого ассистента с нуля. Моя программа будет написана на python 3 в операционной системе windows. Итак, поехали! ...

Передается ли коронавирус по воздуху. Что известно на данный момент Несмотря на то, что новая коронавирусная инфекция активно распространяется среди людей уже на протяжении почти двух месяцев, мы до сих пор многого о ней не знаем. Одним из важных не прояснённых моментов остается то, способны ли частицы вируса SARS-CoV-2 надолго оставаться в ...

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

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

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

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

Анонс нового формата: прямые эфиры с IT-гуру Привет, Хабр. Мы уже 4 года ведем блог здесь и собрали большое сообщество разработчиков, почти 17 тысяч! Мы пишем для вас статьи, переводим то, что стоит внимания и создаем туториалы. Пришла пора расти и идти дальше, поэтому мы запускаем совершенно новый формат: прямые э...

Опыт конвертирования кода C# в код Rust Постановка задачи Код на языке C# нужно перевести в код на Rust. Точнее, требуется такая процедура перевода (разработка продолжается на C#), чтобы в любой момент можно было получить работающий код на Rust. Эту задачу я решал для языков Java, Python, JavaScript и PHP, написав...

Сертификация. Стоит ли пользоваться дампами и при чем здесь цепи Маркова? Более 20 лет назад я заинтересовался телекомом. Я начал с чтения книжек, одной из которых был курс CCNA. Тогда это была довольно тоненькая книжечка с FDDI, Token Ring, ISDN и подобными вещами, о которых новое поколение сетевиков только слышали. И тогда я впервые прочитал про...

В России запущен первый проект в области квантовой химии Компания Nissan и Проект по квантовому машинному обучению Российского квантового центра (РКЦ) объявили о запуске совместного научно-технологического проекта. Проект относится к области применения квантовых вычислений для моделирования химических соединений. Партнеры рас...

Как энергетик изучал нейросети и обзор на бесплатный курс «Udacity: Intro to TensorFlow for Deep Learning» Всю свою сознательную жизнь, я был энергетиком (нет, сейчас речь не идет о напитке с сомнительными свойствами). Я никогда особо не интересовался миром информационных технологий, да и даже матрицы я вряд ли на листочке смогу перемножить. Да и не нужно мне это было никогда, ...

Square Enix анонсировала классику из эры PlayStation 1, SaGa Frontier Remastered Новые проекты по популярным франшизам не всегда выходят прибыльными для Square Enix, зато ремастеры и ремейки классических игр продаются хорошо. Наверное поэтому японская компания решила переиздать улучшенную версию пошаговой jRPG под названием Saga Frontier. Её выпустили в ...

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

[Из песочницы] Корутины в C++20 Введение Данная статья является переводом главы из книги Райнера Гримма Concurrency with Modern C++, которая является более доработанной и обширной версией статьи на его сайте. Так как весь перевод не умещается в рамках данной статьи, в зависимости от реакции на публикацию, ...

[Из песочницы] Поверхностное моделирование при работе над САПР T-FLEX CAD 17 Автор: Тимофеев Сергей, программист-разработчик ЗАО «Топ Системы». Руководитель: Батюченко Игорь, руководитель группы разработки ЗАО «Топ Системы». В статье описывается теоретическая база работы новых операций поверхностного моделирования в T-FLEX CAD 17, а также их основн...

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

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

Смотрим новый Android 11 Вчера Google выпустила Android 11, мы сразу же начали изучать нововведения в новой версии Android, мой коллега Иван Кузнецов написал материал по этому поводу, а сейчас я попытаюсь поделиться тем, что еще может понравиться пользователям в новом «Андрюше». Особенно ...

UlTi-Chimera Моя первая статья на этом ресурсе. Но а где еще разместить по 3D принтеру?Краткое описание есть на https://www.thingiverse.com/thing:4372303Но тут развернутое.Вдруг кому пригодится такая конструкция. Принтер работает весьма неплохо. Конструкция простая и дешевая. Просто жалк...

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

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

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

Поймать электрон: наблюдение процесса, занимающего квинтиллионную долю секунды За одну секунду вокруг и внутри нас происходит множество разнообразных и очень быстрых процессов. На то, чтобы один раз моргнуть нужно всего лишь 300 миллисекунд (0.3 с), а для одного разряда молнии хватит и 30 микросекунд (0.00003 с). Столь быстрые процессы поражают своей...

[Перевод] Основы нейросетей в 100 строках кода (часть 1) В трёх частях этой статьи мы: Напишем нейросеть с нуля на Python и обучим её алгоритмом градиентного спуска. Применим её к датасету The Wisconsin Cancer Data-set и предскажем по 9 различным признакам, является ли опухоль доброкачественной или злокачественной. Подробнее иссл...

Мартовский iPad Pro в опасности? В марте Apple может показать новый iPad. Каким он будет? Агентурные данные, подкрепленные фирменной аналитикой главных мозговых центров цивилизации, рисовали в нашем воображении ясную и четкую картинку: в марте Apple проведет традиционное “специальное событие”, и представит ...

Тест-драйв 7-местного Mitsubishi Outlander 2020: ТОП-5 вопросов и ответов Шутка-правда: каждые полгода у нас выходит статья о модели Mitsubishi Outlander – и ведь каждый раз находиться, о чем рассказать. Вот и сейчас: Mitsubishi Outlander 2020 модельного года получил 7-местный салон, «умный» полный привод S-AWC, новую систему мультимедиа… Что еще?...