Социальные сети Рунета
Суббота, 18 сентября 2021

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

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

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

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

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

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

Дети, русский язык и R Типичная ситуация в нынешнем образовательном процессе в школе. На часах 22:00, в электронном дневнике ребенка появляется новое задание. В лучшем случае на послезавтра, но обычно на завтра. Вариантов реакции три: не делать вовсе; «не заметить» и отложить решение вопроса на п...

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

[Перевод] Microsoft Excel: революционный игровой 3D-движок? Введение В самых передовых компьютерных играх используются различные графические подсистемы — так называемые трёхмерные графические движки. Играм и специалистам этой отрасли хорошо известны Source (Half Life 2), Unreal Engine (Unreal Tournament), idTech 4 (Doom 3), CryENGIN...

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

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

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

[Перевод] Модули, монолиты и микросервисы Прим. перев.: системный архитектор Avery Pennarun, создавший VPN-решение Tailscale на базе WireGuard, размышляет об отличиях монолитов с модулями от микросервисов. Он рассказывает об эволюции подхода к модульности вообще и о том, почему изоляция до сих пор далека от совершен...

[Перевод] Пол Грэм: «Краткость = сила» На 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...

Типы ВЧ разъёмов и способы согласования КПП Прошлая моя статья вызвала обсуждения и вопросы в духе "а что можно сделать, чтобы работало лучше?" и "а почему вы не использовали другой разъём/почему никак не подсогласовали". Отвечаю: прошлая статья была ответом на результаты эксперимента одного коллеги, который взял слиш...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ржавеем дальше. Как появился Rust и можно ли на нём WEB? Моя предыдущая статья про rust вызвала положительную реакцию и большое количество обсуждений о том что да как с rust. Мне исключительно приятно видеть что вам понравился этот материал. В комментариях я встретил много вопросов типа «А можно ли использовать rust для WEB?» Лако...

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

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

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

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

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

Как реляционная СУБД делает JOIN? Статья о том, как реляционная СУБД может выполнить JOIN. Для лучшего понимания мы попробуем своими руками написать такую же реализацию на языке C#. Что позволит нам лучше вникнуть в детали. А чтобы было не совсем скучно - мы зададимся вопросом производительности. Что работае...

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

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

Астрофизики создали «Звёздную кузницу», самую реалистичную 3D-симуляцию рождения звёзд Группа астрофизиков из Северо-Западного университета США создала удивительно реалистичную трёхмерную модель образования звёзд, которая получила название «Звёздная кузница». По сравнению с прошлыми работами в этой сфере, представленная модель отличается значительно более высо...

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

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

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

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

Лабораторные мыши могут «потеть жиром». Это самый простой способ похудеть Кажется, ученые открыли самый простой способ похудеть По данным Всемирной организации здравоохранения, в период с 1980 по 2008 год количество людей с ожирением увеличилось почти вдвое. Чрезмерное количество жира может стать причиной развития многих опасных для жизни заболева...

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

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

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

[Перевод] Практика по Котлину: Создание веб приложений на React и Kotlin/JS От переводчика. Привет! Про Kotlin есть стереотип, будто бы это язык для разработки только под Android. На самом деле, это совсем не так: язык официально поддерживает несколько платформ (JVM, JS, Native), а также умеет работать с библиотеками для этих платформ, написанных на...

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

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

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

Гипотеза симуляции — ответ на все наши вопросы или очередная религия? Реален ли окружающий мир? — такой вопрос задавали, пожалуй, с давних времен. Порой у каждого из нас возникали мысли о том, что окружающий мир — нереальный и игрушечный. С выходом трилогии «‎Матрицы»‎ и статьи «‎Аргумент о симуляции»‎ Ника Бострома в 2001 году стала популярна...

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

Создание статической библиотеки на С++ для работы с большими числами Я всегда слышал, что с библиотеками в С++ что-то не так, как и с ограничением максимального целочисленного значения, да и вообще то, что язык сложный и непонятный. Что же, сегодня, мы начнём писать собственную библиотеку больших чисел, полностью своими руками c 0, и узнаем,...

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

[recovery mode] DevOps: автоматизация инфраструктуры на примере Terraform, docker, bash, prometheus exporters, Gitlab и WireGuard Всем привет.Есть такие люди, которые работают с облачной инфраструктурой и не используют автоматизацию, потому что это долго, нужно вникать, а им надо фичи пилить. Накликали что-то там в UI, подключились по ssh, поставили всякого с помощью apt и т.д. и конфигурационные файлы...

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

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

Новая нанокамера может наблюдать за химическими реакциями в реальном времени Наука Физика 03.09.2021, 09:28 Новая нанокамера может наблюдать за химическими реакциями в реальном времени Исследователи создали крошечную камеру, скрепленную молекулярным клеем, которая позволяет наблюдать за химическими реакциями в ...

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

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

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

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

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

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

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

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

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

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

Почему не все тестовые задания одинаково полезны: разбор одного фееричного провала Всем привет, это PsyHaSTe и сегодня я хотел бы рассказать о том, куда меня занесла нелегкая в процессе оптимизации и рефакторинга кода решения тестового задания из статьи товарища novar (кто пропустил — рекомендую ознакомиться). Какие проблемы были у этого решения? Почему в...

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

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

Как выглядит тестирование электроники Flipper Zero Flipper Zero — проект карманного мультитула для хакеров в формфакторе тамагочи, который мы разрабатываем. Предыдущие посты [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16] Электронику и корпуса для Flipper Zero производят на разных заводах в Китае. С...

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

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

[Перевод] ARM и программирование без блокировок Выпуск ARM-процессора Apple M1 вдохновил меня на то, чтобы написать в Твиттер про опасности программирования без блокировок (lock-free). Этот твит вызвал бурную дискуссию. Обсуждение прошло довольно неплохо, учитывая то, что попытки втиснуть в рамки Твиттера обсуждениие та...

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

Mikrotik и VLAN Сразу оговорюсь, что данная статья про Router OS, а не Switch OS. На мой взгляд, работа с VLAN в Mikrotik освещена хуже всего. Да, конечно есть набор статей на эту тему, но лично я когда их все читал... У меня не складывалось глубокого понимания, как именно это всё работает...

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

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

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

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

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

Почему цинк так важен для правильной работы иммунитета: новое исследование Наука Человек 31.08.2021, 19:32 Почему цинк так важен для правильной работы иммунитета: новое исследование Команда ученых из Московского физико-технического университета и Института биоорганической химии РАН совместно с коллегами из Ча...

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

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

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

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

5 самых известных проектов, написанных на Golang О языке программирования Golang, созданном корпорацией Google, на Хабре рассказывали много и подробно, так что мы не будем в очередной раз обсуждать достоинства этого инструмента. Лучше поговорим об известных проектах, которые написаны на Go — они являются доказательством...

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

Заметки посредственного специалиста из мира программирования о профессии Моя дебютная статья – набор всяческих мыслей, которые местами связаны друг с другом, местами не очень. Все они навеяны моим личным опытом и довольно субъективны. Успел поработать я только в продуктовых ИТ-компаниях, для других областей многое наверняка будет мимо.Частый вопр...

Какие бывают RFID протоколы и как их похекать с помощью Flipper Zero Flipper Zero — проект карманного мультитула для хакеров в формфакторе тамагочи, который мы разрабатываем. Предыдущие посты [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19] RFID – это технология для бесконтактных радио-меток, используем...

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

Tagged Unions в PHP (примерно как в Rust) В предыдущей статье я писал про добавление enums в PHP8.1. Голосование прошло успешно, так что можно считать, что вопрос решенный. Однако та реализация enums — лишь часть глобального плана. Сегодня мы рассмотрим следующий пункт, tagged unions, по-русски это переводится как &...

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

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

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

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

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

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

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

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

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

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

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

3D моделирование в Python Допустим, вам потребовалось на языке программирования python, построить трёхмерную модель некоторого объекта, затем визуализировать его, или подготовить файл для печати на 3D принтере. Существует несколько библиотек, помогающих в решении этих задач. Поговорим о том, как стро...

Вычисляем на видеокартах. Технология OpenCL. Часть 1. Краткая история GPGPU 22 июня автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов провёл вебинар «Вычисляем на видеокартах. Технология OpenCL». Мы подготовили для вас его текстовую версию, для удобства разбив её на смысловые блоки. Зачем мы здесь собрались. Краткая история GPGPU. ...

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

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

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

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

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

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

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

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

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

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

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

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

В Японии начали печатать мраморную говядину Вагю на 3D-принтере Ученые из Университета Осаки использовали стволовые клетки, выделенные из коров Вагю, для 3D-печати альтернативного мяса, содержащего мышцы, жир и кровеносные сосуды, расположенные так, чтобы они напоминали обычные стейки. Вагю можно буквально перевести как «японс...

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

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

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

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

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

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

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

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

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

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

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

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

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

Человеческие клетки оказались способными выделять мыло Наука Биология 16.07.2021, 15:23 Человеческие клетки оказались способными выделять мыло Похожее на детергент соединение легко растворяет внутреннюю мембрану бактерий. Например, сальмонеллы. Кирилл Панов ...

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

[Перевод] У AssemblyScript новый конкурент: язык Grain, созданный для WebAssembly, громко заявил о себе Оскар Спенсер — один из создателей языка Grain Grain — язык программирования высокого уровня со строгой типизацией. Это гибридный язык, сочетающий в себе некоторые возможности функционального  (например, вывод типов, сопоставление с образцом, замыкания) и императивного про...

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

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

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

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

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

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

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

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

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

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

Какие языки программирования учить? Чем больше освоишь, тем круче будешь Довольно популярное мнение среди разработчиков, что уровень квалификации и зарплата зависят от количества языков программирования, которыми разработчик владеет.Я сам в свое время ходил и думал, что бы такого изучить, чтобы потом писать в...

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

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

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

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

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

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

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

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

Как я сдавал Certified Kubernetes Security Всем привет.Хочу поделиться своим опытом успешной сдачи экзамена Certified Kubernetes Security (CKS) от Linux Foundation. Данный экзамен, как нетрудно догадаться, проверяет наши способности настраивать различные аспекты безопасности кластера Kubernetes и приложений, работающ...

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

Как мы сделали миграцию пользовательских данных с нативного приложения на Flutter Всем привет! Меня зовут Дмитрий Андриянов, я Flutter-разработчик в Surf. В этой статье я расскажу про бесшовную миграцию данных при установке новой версии приложения, написанного на Flutter, поверх предыдущей версии, написанной на нативе. Это решение реализовано моим коллег...

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

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

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

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

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

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

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

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

Выходим на рынок Huawei, или Как мы адаптировали приложение для работы с HMS Привет, Хабр! Меня зовут Георгий Гигаури, я разрабатываю Android-приложение Delivery Club. Эта статья появилась после доклада на конференции Mobius 2020, где мы выступали вместе с Павлом Борзиковым. Для тех, кто любит видео, — ищите его в конце статьи. Почему мы вообще об...

В Китае создан квантовый компьютер, который решил самую сложную задачу за 200 секунд Изобретение квантового компьютера может изменить жизнь человечества Китайские ученые разработали квантовый компьютер, который смог решить одну из самых сложных задач за 200 секунд. Даже самый мощный классический компьютер потратил бы на вычисление около 2,5 миллиарда лет. Яв...

Сказ о том, как я Home Assistant настраивал Home Assistant — это популярная система умного дома, которая автоматизирует привычные бытовые процессы и работает на YAML файлах. В этой статье я расскажу, как настроить Home Assistant (далее HA), и что конкретно я использую в повседневной жизни. Это поможет вам избежать ош...

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

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

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

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

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

[Перевод] Как быть билингвом в Data Science В этой статье я хочу продемонстрировать R Markdown — удобную надстройку для программирования вашего проекта как на R, так и на Python, позволяющую программировать некоторые элементы вашего проекта на двух языках и управлять объектами, созданными на одном языке, с помощью дру...

Google представил новый язык программирования Logica Корпорация Google довольно часто удивляет новыми проектами. То операционная система Fuchsia, теперь — новый декларативный язык логического программирования Logica. По словам разработчиков, он предназначен для манипулирования данными и транслирования программ в язык SQL. Н...

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

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

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

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

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

[Перевод] Создаем бессерверное приложение с помощью Azure Functions и Go Вебхуки — популярный пример использования FaaS (функция как услуга) платформ. Их можно использовать для многих различных целей, например, для отправки клиентам уведомлений, содержащих забавные гифки! Используя serverless функцию, довольно удобно инкапсулировать функционально...

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

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

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

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

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

Запросы в PostgreSQL: 3. Последовательное сканирование В предыдущих статьях я рассказал об этапах выполнения запросов и о статистике.Теперь пришла пора рассмотреть самые важные узлы, из которых может состоять план. Я начну со способов доступа к данным, и в этой статье расскажу о последовательном сканировании.В прошлый раз я пока...

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

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

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

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

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

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

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

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

Простые запросы SNMP в Python (с помощью pysnmp) Этот пост предназначен в первую очередь для сотрудников телекома, админов и новичков в разработке, впервые столкнувшихся с необходимостью отправить snmp-запросы к какому-нибудь коммутатору и разобрать полученный ответ. Разберем основы работы с библиотекой pysnmp на примере ...

Изготовление печати в домашних условиях. Обзор лазера NEJE 30W. Ребята всем привет!Сегодня в этой статье покажу вам как с помощью лазера NEJE 30W (актуально и для любых других лазеров) в домашних условиях я сделал печать!Заходя вперед хочу заметить, что остался очень доволен результатом. Не смотря на то что это мой первый опыт.Как всегда...

[Перевод] Как объяснить детям, что такое Apache Kafka за 15 минут с картинками и выдрами Я учусь иллюстрировать сложные процессы с помощью комиксов. Нашла себе в копилку крутой кейс: как с помощью комиксов про милых выдр можно ребенку объяснить такую сложную штуку как Apache Kafka, и сделать мир немного добрее. «Легко по течению» — легкое введение в потокову...

Эмулятор RFID на Arduino Многие читали мой пост "Эмулятор RFID", где я в деталях рассказывал об устройстве EM Marine, о том как намотать антенну, и как сделать RFID-эмулятор из трёх деталей. Но, будем честны, несмотря на гениальную простоту того устройства, оно достаточно сложно для повт...

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

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

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

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

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

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

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

Почему lsFusion, а не 1С? Предыдущая статья “Почему не 1С?” вышла больше года назад и вызвала достаточно живой интерес (совсем немного не дотянула до 100к просмотров и 2к комментариев). Впрочем, как и ожидалось, у многих возник резонный вопрос: “Если не он, то кто?” Безусловно, как многие поняли, т...

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

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

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

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

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

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

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

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

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

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

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

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

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

OAuth 2.0 -> OAuth 2.1. Что дальше? Архитекторы ничего не выдумывают. Они трансформируют реальность. Алваро Сиза Виэйра Много всего уже сказано и написано про фреймворк авторизации OAuth 2.0 с 2012 года. И, казалось бы, все давно его знают, используют, все должно работать надежно и безопасно. Но, как обычн...

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

Физики описали движение кровяных телец после ранения Наука Физика 19.07.2021, 12:32 Физики описали движение кровяных телец после ранения При появлении раны тысячи нейтрофилов устремляются к ней с током крови, чтобы не допустить проникновения в организм патогенных бактерий. Ученые смогли ...

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

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

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

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

[Перевод] Не начинайте учиться кодингу с Python, начните с языка C Python удивителен своей способностью продвигать программирование. Он как будто является подтверждением популярной идеи «если вы знаете английский, то должны знать, как писать код». Благодаря синтаксису, напоминающему английский язык, парадигме отступов и огромному количест...

Asciidoc для подготовки сложной документации В заголовке использовано слово сложной, под которым можно понимать все, что угодно. Утверждение о том, что 2 * 2 = 4, если вдуматься, тоже очень не просто. Но в данном случае всё банальнее. Речь идёт о ЕСКД, ГОСТ, ОСТ и тому подобных скучных терминах, отягчаемых бюрократиче...

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

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

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

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

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

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

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

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

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

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

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

[Перевод] Ежедневные сложности сениор-разработчика Больше десятка лет я работал на одну из крупнейших в мире компаний по разработке ПО. Выполняя множество задач, я видел многие аспекты бизнеса: от быстрого «ковбойского» кодинга до серьёзных покупок конкурентов и стартапов. 1. Планёрки Большинство известных мне разработчик...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Kotlin Native. Работаем с потоками с корутинами и без. Ч1 Всем доброго дня! С вами Анна Жаркова, ведущий мобильный разработчик компании Usetech. Совсем недавно компания JetBrains выпустила preview новой модели управления памятью. Это отличный повод сделать подробный ее разбор на практике, а также сравнить с моделью, используемой в ...

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

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

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

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

Понимаем красно-черное дерево. Часть 1. Введение Довольно долгое время я воевал с красно-черным деревом. Вся информация, которую я находил, была в духе "листья и корень дерева всегда черные, ПОТОМУ ЧТО", "топ 5 свойств красно-черного дерева" или "3 случая при балансировке и 12 случаев при удалении ноды". Такой расклад меня...

PostgreSQL 14: Часть 5 или «весенние заморозки» (Коммитфест 2021-03) 8 апреля 2021 г. в 15:00 по московскому времени закончился мартовский коммитфест, а вместе с ним и прием изменений в PostgreSQL 14. Напомню, что всё самое интересное о первых четырех коммитфестах можно найти в предыдущих статьях серии: июльский, сентябрьский, ноябрьский, я...

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

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

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

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

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

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

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

[Перевод] Эффективная конструкция агрегатов. Моделирование одиночного агрегата Эта статья является конспектом материала Effective Aggregate Design Part I: Modeling a Single Aggregate.Объединение сущностей (entities) и объектов значений (value objects) в агрегат с тщательно продуманными границами согласованности может показаться простым, но из всех такт...

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

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

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

TDD есть опиум для народа. Так ли хороша технология, как ее описывают адепты? Привет, Хабр! Меня зовут Владимир, я работаю программистом в компании Quadcode. Вот уже почти полтора десятилетия я при помощи доброго десятка языков программирования разрабатываю приложения - от простых, вроде маленького плагина для Emacs, до сложных распределенных систем. ...

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

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

Kaspresso tutorials. Часть 1. Запуск первого теста Всем привет! Мы запускаем большую серию статей-туториалов о Kaspresso в частности и UI-тестах под Android в общем. Статьи планируются разного уровня сложности: первые материалы будут рассчитаны на  людей, которые никогда не программировали и ничего не автоматизировали, ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Samsung выпустила эмулятор смартфонов Galaxy для iPhone. Что за дичь? Сколько раз мы уже видели приложения, сторонние лаунчеры или другие способы превратить Android в iOS. Оказывается, это не просто способ что-то изменить в работе телефона, но и популярный запрос в Интернете. Мы даже писали о таких способах в отдельной статье. Теперь же выясн...

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

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

Новый язык программирования — Relax Всем привет, я являюсь автором языка программирования Relax. На данный момент я разрабатываю RVM(RelaxVirtualMachine) И Relasm(Relax Assembly). Первые попытки сделать свой язык начались в конце лета 2020, тогда я и не думал что делать язык - это так сложно. Сам же проект Rel...

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

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

Как мы выбираем языки программирования в Typeable Неоднократно меня спрашивали, почему я предпочитаю использовать такие языки программирования как Haskell и Rust, т.к. они не являются самыми широко используемыми и популярными инструментами. Этот пост написан с целью демистифицировать то, что происходит у меня в голове, ког...

Геопространственное моделирование с применением методов машинного обучения Всем привет! Меня зовут Константин Измайлов, я руководитель направления Data Science в Delivery Club. Мы работаем над многочисленными интересными и сложными задачами: от формирования классических аналитических отчетов до построения рекомендательных моделей в ленте приложен...

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

[Перевод] Как избавиться от разрыва кадров и задержки ввода в играх Разрыв кадров (screen tear) или задержка ввода (input lag)? Использовать ли vsync? Очень долгое время в мире игр для PC это был вопрос «или-или». Можно добиться или картинки без разрыва кадров, или низкой задержки ввода. Но невозможно получить и то, и другое. Или можно? От...

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

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

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

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

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

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

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

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

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

Нестандартный подход: кремний и нелинейная оптика До начала XIX века об этом веществе мало кто знал, а сейчас без него сложно представить современный мир. Найти его можно и в кармане прохожего, и в самых современных лабораториях. Речь, конечно же, о кремнии. За двести с лишним лет своего «общения» с человеком кремний пода...

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

Лидар превратил iPhone в точнейший измерительный прибор Лидар может использоваться в 3D-моделировании, давая минимальную погрешность в измерениях Появление лидара в iPhone 12 Pro и 12 Pro Max никого особенно не удивило, но вызвало несколько вопросов. Главный – зачем он вообще нужен. Нет, аудитория Apple в большинстве своём оказал...

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

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

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

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

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

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

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

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

Вышел язык программирования Crystal версии 1.0: достоинства, возможности и немного истории Языков программирования в мире много — около 8 тысяч, если учитывать вообще все, что может считаться языком программирования, включая всякие шуточные и теоретические проекты. На днях вышла версия 1.0 еще одного языка — Crystal. Его создатели утверждают, что язык является ...

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

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

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

Многопоточность и Kotlin в Яндекс.Картах: как не допустить падения новых фич на iOS Привет! Меня зовут Женя Васильев, я делаю Яндекс.Карты под Android. А с появлением у нас Kotlin Multiplatform — так уж получилось, ещё и под iOS. Kotlin Multiplatform позволяет писать код, который будет одинаково работать на iOS и Android. По крайней мере, должен одинаков...

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

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

С каких книг можно начать изучать программирование (Python, C#, C++, Java, Lua, …) Здравствуйте дорогие читатели. Этот канал посвящён программированию и робототехнике. И конечно он затрагивает образовательный аспект изучению этих дисциплин.Данная статья посвящена вопросу, который волнует большинство начинающих программистов и робототехников&...

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

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

[Перевод] OpenID Connect простыми словами Некоторое время назад я получил довольно непростую задачу написать техническое задание для нашей службы поддержки на тему OpenID Connect (OIDC). Тут же я понял, что хоть я и знаком с OAuth и SAML, я не знал практически ничего об OpenID Connect (кроме того, что благодаря это...

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

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

В WhatsApp наконец внедрят «реакции» для быстрых ответов Команда популярного мессенджера WhatsApp работает над новой функцией, которая уже давно есть у многих приложений, таких как Instagram, Twitter, Signal, Slack и Facebook Messenger.  Речь идёт о быстрых ответах с помощью «реакций». Хотя в WhatsApp всегда...

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

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

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

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

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

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

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

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

Использование российских облачных сервисов очередей на C# Данная статья будет полезна тем, кто хочет начать работать с очередями сообщений или хочет перевести работающий проект с зарубежных облачных сервисов, либо с сервисов обслуживаемых собственными силами. В данной статье не будут затронуты вопросы: "Что такое очереди сообщений?...

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

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

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

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

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

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

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

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

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

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

Как Excel и VBA помогают отправлять тысячи REST API запросов Работая в IoT-сфере и плотно взаимодействуя с одним из основных элементов данной концепции технологий – сетевым сервером, столкнулся вот с какой проблемой (задачей): необходимо отправлять много запросов для работы с умными устройствами на сетевой сервер. На сервере был ...

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

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

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

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

Какие прививки опасны для жизни Редакция Вопросы и ответы 19.07.2021, 21:18 Какие прививки опасны для жизни Безусловно, вакцины — средство, которое спасло миллионы жизней. Но вакцины бывают разных типов и не для всех людей они одинаково безопасны. Бывают ли опасные д...

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

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

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

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

Подводные камни в бассейне строк, или ещё один повод подумать перед интернированием экземпляров класса String в C# Будучи разработчиками программного обеспечения, мы всегда хотим, чтобы написанное нами ПО работало быстро. Использование оптимального алгоритма, распараллеливание, применение различных техник оптимизации – мы будем прибегать ко всем известным нам средствам, дабы улучшить про...

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

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

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

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

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

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

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

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

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

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

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

[Перевод] Оптимизируем производительность: JavaScript (V8) vs AssemblyScript (WebAssembly) Чтобы повысить производительность web-приложений, используйте WebAssembly в связке с AssemblyScript, чтобы переписать критически важные для производительности компоненты web-приложения, написанные на JavaScript. «И это действительно поможет?», — спросите вы. К сожалению, ...

Начал тормозить MacBook Pro. Причина меня удивила В прошлом году я купил MacBook Pro 16, не дожидаясь выхода новой модели с чипом M1 (о чем потом пожалел, но было поздно). Впрочем, каких-то «тормозов» системы я не наблюдал, даже после обновления на macOS Big Sur. Приложения Adobe, Final Cut Pro, текстовые редакторы — всё р...

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

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

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

[Перевод] Букварь по F# для любопытствующих C#-разработчиков Предисловие Мой переход на F# в качестве излюбленного языка был слегка усеян препятствиями. Примерно через десять лет почти постоянного использования C# у меня пробудилось любопытство, когда я услышал об этом другом #-языке. Моя первая реакция была той, которую с тех пор вид...

[Перевод] Хорошие времена рождают слабаков В статье «Моё разочарование в софте» мы увидели, как программное обеспечение деградировало за последние два десятилетия. В 2019 Джонатан Блоу (разработчик игр Braid и The Whitness) выступил с докладом, в котором объяснил, почему это может происходить: Выступление очень, о...

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

Как писать технотексты хорошо, а плохо не писать: 47 главных вопросов и ответов про IT-статьи В твоей жизни настал переломный момент: необходимо написать статью на Хабр. Нужно, конечно, написать её хорошо. И ни в коем случае не написать плохо. Но начинающему автору это полезнейшее наставление слабо помогает (немудрено — нужна конкретика!). Поэтому мы собрали коллекци...

Зачем знать индустрию, в которой работает твоя компания? Всем привет!Неоднократно сталкивался в ИТ-сообществе с мнением, что разработчикам бы работу работать, а не “вот это вот все”. Под “этим всем” скрываются видео и круглые столы от менеджмента, разъясняющие стратегию компании, полезные тренинги от HR, всякая социальная активнос...

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

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

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

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

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

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

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

Строительные блоки жизни обнаружены сразу в трех внеземных объектах Гипотеза о возможности переноса живых организмов или их зародышей через космическое пространство называется панспермией. Недавно ученые нашли предшественника пребиотической химии в трех метеоритах. Как появилась жизнь на нашей планете? Могли ли строительные блоки органически...

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

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

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

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

В мини-мозге впервые обнаружили «мозговые волны» Наука Биология 27.08.2021, 09:02 В мини-мозге впервые обнаружили «мозговые волны» Исследователи смогли впервые обнаружить волны в органоидах мозга, выращенных в лаборатории. Зафиксированные колебания похожи на те, что наблюдаются в реа...

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

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

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

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

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

[Перевод] Часто задаваемые вопросы о ClickHouse Kafka Engine Kafka — это популярный способ потоковой загрузки данных в ClickHouse. ClickHouse имеет встроенный коннектор для этой цели — движок Kafka. Наши друзья из Cloudfare первоначально создали этот движок для ClickHouse. С тех пор движок Kafka был значительно переработан и теперь по...

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

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

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

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

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

Apple пора что-то cделать с iMessage в iOS 15 Многим нравится пользоваться iMessage, несмотря на большое наличие альтернатив вроде WhatsApp или Telegram. В комментариях к одной из недавних статей с критикой iMessage наши читатели рассказали, что используют сервис Apple для общений с друзьями, семьей и близкими, если у ...

Как померить Node.js-приложение, если у тебя лапки. Доклад Яндекса Неважно, каких размеров ваше приложение на Node.js. Неважно, как хорошо вы написали код. Вам просто необходимо знать, как он работает в продакшене. Разработчик интерфейсов в поисковом портале Яндекса Алексей Попков сделал доклад о том, как выяснить, что происходит внутри зап...

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

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

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

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

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

[Перевод] Нужна ли нам замена языка C? Язык программирования C даже сегодня находится в списке наиболее популярных используемых языков, несмотря на то, что он был выпущен аж в 1972 году и по современным стандартам имеет довольно много ограничений и изъянов. Популярность языков программирования в 2020 по индексу...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как мы сделали простого WebRTC робота в домашних условиях Бывало ли у Вас такое, что выйдя из дома Вы не помните выключили ли утюг? Обсуждая с другом очередной такой случай, появилась шуточная идея сделать робота для дистанционной визуальной проверки домашних дел. Да и вообще хотелось, на коленке сделать “шпионского” робота управля...

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

Android-приложения в Windows 11 будут работать на процессорах Intel, AMD и ARM В ходе анонса Windows 11 Microsoft объявила, что новая система сможет запускать Android-приложения из Amazon App Store, который будет интегрирован в новый Microsoft Store. Для запуска используется технология Intel Bridge, однако это не означает, что Android-приложения смогу...

14 практических советов по использованию Tableau Всем привет, меня зовут Меркурьев Михаил, я продуктовый аналитик в ManyChat. Год назад мы решили использовать Tableau как основной BI инструмент в компании и столкнулись с рядом проблем, касающихся того, что нужно наладить эффективную работу с инструментом для аналитиков, ме...

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

Умный аналитик – глупый разработчик vs. глупый аналитик – умный разработчик Или как понять, когда остановитьсяКак-то раз мой коллега, лид разработки, после затяжного спора о том, что должно быть в системной спецификации, подошел ко мне и спросил:— Скажи, а зачем нам вообще нужны аналитики?— И действительно, зачем? – подумал тогда я и написал заявлен...

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

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

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

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

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

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

Анализ аудитории: как понять, кому нужен ваш контент 24 февраля в 13.00 состоится бесплатный вебинар "Анализ аудитории: как понять, кому нужен ваш контент." Контент-маркетолог, редактор блога студии SEMANTICA, Денис Давыдов расскажет, как эффективно анализировать аудиторию, и покажет примеры. В интернете много советов в...

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

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

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

Разработка сложных компонентов: деливерим быстро, поддерживаем легко Всем привет, меня зовут Роман Пятаков! Я техлид во фронтенд-команде Lamoda. И сегодня хочу поговорить с вами о разработке сложных компонентов. Lamoda — это технически сложный продукт, которым пользуются 10 миллионов пользователей ежемесячно, насчитывающий более 100 внутрен...

СУБД Clickhouse от Яндекса. Резервное копирование с помощью утилиты clickhouse-backup Привет Хабр, меня зовут Александр Архипов, и моя задача это показать как можно просто и легко настроить резервное копирование данных СУБД clickhouse разработанной компанией Яндекс. Я работаю devops инженером, и так как у нас в команде нет первоклассного DBA, недавно мне приш...

Расчет прочности и устойчивости крупногабаритной вакуумной камеры в Simcenter Femap с NX Nastran Для всех ответственных конструкций необходимо проводить расчеты по предельным состояниям. В этой статье я представлю процесс создания расчетной конечно-элементной модели конструкции крупногабаритной вакуумной камеры с последующим анализом прочности и устойчивости. Проведение...

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

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

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

Обзор GameLisp: нового языка для написания игр на Rust Программист, подписывающийся псевдонимом Fleabit, уже полгода разрабатывает свой язык программирования. Сразу же возникает вопрос: ещё один язык? Зачем? Вот его аргументы: Разработка движка игры и разработка игры на этом движке – две очень разные задачи, и для них удобно...

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

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

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

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

Молекулярная биология. Houdini. NVIDIA 3080. Коронавирус vs иммуноглобулины Ссылка на наш роликЭто мой второй текст на Хабре. Он плавно вырос из первой статьи «Молекулярная биология и Houdini летом двадцатого».Мы закончили наш новый (второй) ролик 12 апреля 2021 года, в День космонавтики. Дата получилась случайной — я очень хотел закончить работу в ...

Import or from import, that is the question Есть три стадии знаний: ты используешь инструмент, ты понимаешь как он работает, ты можешь учить других работать этим инструментом. Потихонечку начал перетекать в третью и стал задавать себе вопросы, которые раньше не задавал. Например, что лучше: import module или from mod...

Процесс создания игровой 3D модели Hard Surface Решил я тут написать небольшую (огромную) статью, о том как я делаю игровые модели. В общем начал я делать это оружие, и пришла такая мысль, что можно попробовать описать весь процесс, вдруг кому-то пригодиться. Это не только моя первая статья, ещё и моя первая работа в каче...

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

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

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

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

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

Жертвенные мосты и стенки Последнее время стало популярным давать всякие интересные и сложновыполнимые советы по 3д печати, а простые и очевидные – выносить в коменты. Рискну нарушить традицию и красиво с картинками рассказать страждущим про очевидные методы выполнения «жертвенных мостов и стенок» пр...

Новые стандарты DevSecOps и GitLab Довольно много дебатов ведется относительно того, какой термин более правилен: DevSecOps, SecDevOps, или же вообще "sec" часть этого термина является лишней. В этой статье хотел бы поделиться тем, каким мы видим ответ на это вопрос в компании GitLab, а также расскажу о наших...

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

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

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

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

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

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

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

[Перевод] Как продавать приложения для Mac за пределами App Store Mac всегда отличался от своего близкого родственника iOS, особенно в отношении того, что пользователю можно и нельзя запускать в своей системе. Даже после появления Apple Silicon компания Apple чётко дала понять, что Mac остаётся Mac, и его по-прежнему можно хакать, даже п...

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

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

Искусство отладки FPGA: как сократить срок тестирования за счет грамотной разработки Давайте попробуем оптимизировать самый времязатратный этап разработки устройств на базе ПЛИС — отладку прошивки. В этой статье мы расскажем о принципе 20/80 при планировании времени, рассмотрим инструменты для отладки FPGA, вспомним Гордона Мура и Уинстона Черчилля (да-да), ...

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