Physics.Math.Code
147K subscribers
5.32K photos
2.51K videos
5.8K files
4.9K links
VK: vk.com/physics_math
Чат инженеров: @math_code
Учебные фильмы: @maths_lib
Репетитор IT mentor: @mentor_it
YouTube: youtube.com/c/PhysicsMathCode

Обратная связь: @physicist_i
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
🟥 Эксперимент с маслом и водой в вакуумной камере

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

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

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

Да и в целом процесс кавитации очень интересен с точки зрения физики, потому что большая энергия концентрируется в небольшом объеме и у нас могу возникать:
▪️локальные давления порядка сотен и тысяч атмосфер;
▪️локальные температуры до тысяч кельвинов (в акустической кавитации — до ~5000 K);
▪️ударные волны, кумулятивные микроструи, шум;
▪️ сонолюминесценция (свечение).
#physics #science #физика #наука #термодинамика #мкт #кипение #опыты #эксперименты

☕️ Поведение воды в вакуумной камере

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36👍26❤15😨3❤‍🔥1🤯1😍1
👨🏻‍💻 Технически map медленнее цикла for

Рассмотрим на примере движка JavaScript. Когда вы используете arr.map(callback), для каждого элемента массива необходимо:
1. Создать контекст для вызова функции callback.
2. Передать в неё аргументы (element, index, array).
3. Вызвать эту функцию.
4. Получить возвращённое значение.
5. Записать это значение в новый массив.

В классическом цикле for вы просто напрямую обращаетесь к элементу массива по индексу (arr[i]) и выполняете операцию. Никаких дополнительных вызовов функций, создания контекстов и промежуточных массивов не происходит. Кроме того, map создаёт новый массив, что требует дополнительной памяти и времени на аллокацию. Цикл for может писать результат сразу в заранее подготовленный массив или вообще не создавать его, если это не нужно.

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

▪️ В одном из бенчмарков на Node.js map и reduce оказались в сотни раз медленнее обычного for. Время выполнения для map составило ~11 000 мс против ~35 мс у for.

▪️ В другом тесте Array.map выполнял всего 44.74 операции в секунду, в то время как простой цикл for с инициализацией массива — 150 операций в секунду. Это означает, что map был более чем в 3 раза медленнее.

▪️ В тестах, где map используется как альтернатива for...of, отмечается, что код с итераторами и функциями, вызываемыми в цикле (включая map, filter, reduce), может быть примерно в 10 раз медленнее, чем прямой цикл for.

Есть интересный нюанс. В некоторых движках (например, Safari/WebKit) map может оказаться даже быстрее, чем for...of с итератором, потому что итераторы тоже создают дополнительные накладные расходы на вызов метода .next(). Однако классический for с индексом всё равно остаётся быстрее всех.

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

В 95% обычных задач (обработка данных из формы, небольшие списки в UI). Разница в пару миллисекунд не заметна пользователю, и читаемость кода map (декларативный стиль, отсутствие ручного управления счётчиком) часто важнее микрооптимизации. #программирование #алгоритмы #структуры_данных #IT #рефакторинг #оптимизация #javascript

🍩 Для донатов на кофе ☕️: +79616572047 (СБП / ВТБ / OZON)

📚 Искусство программирования / The Art of Computer Programming

📗 Методы и алгоритмы решения задач оптимизации [1983] Бейко, Бублик

📚 Подборка полезных книг по Computer Science и для тех, кто изучает IT образование [30 книг]

📚 Подборка из 30 книг по программированию на JavaScript


📚 Подборка по WEB программированию (38 книг)

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20👍15🔥6🤯5😱1👻1👨‍💻1
📝 Как бы вы решали второе уравнение, если бы у вас под рукой не было бы компьютера ?

#задача #математика #алгоритмы #численные_методы #math #physics #science

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🤔15❤7🔥7😱5👨‍💻3🤯2
This media is not supported in your browser
VIEW IN TELEGRAM
⚙️ Оппозитный двигатель внутреннего сгорания на 550 см³ и 54 кВт

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

Оппозитный двигатель имеет хорошую тяговую характеристику, отзывчивость, более низкий центр тяжести, нежели двигатель, в котором цилиндры расположены вертикально или под углом; кроме того, оппозитное движение поршней позволяет им взаимно нейтрализовывать вибрации. Считается внутренне сбалансированным, хотя из-за смещения рядов цилиндров присутствует незначительный дисбаланс. Автомобиль с переднемоторной компоновкой возможно сконструировать таким образом, чтобы оппозитный двигатель при лобовом столкновении смещался под салон. К недостаткам относятся бо́льшая (чем у рядных с аналогичным объёмом и числом цилиндров) стоимость производства, сопутствующие большей ширине компоновочные ограничения и сложность обслуживания. #физика #physics #механика #видеоуроки #научные_фильмы #ДВС #техника #опыты #лекции #physics #механика

⚙️ Винтажный двигатель Jacobson: Инженерная эстетика начала XX века

⚙️ Двигатель Ванкеля: другой путь для ДВС

🐝 «Nano Bee». Двигатель объемом 0,006 см³

Самый маленький четырехцилиндровый ДВС в мире

⏳ Звёздообразный или радиальный двигатель

⚙️ Сферически объемная роторная машина и ещё немного о необычных вариантах ДВС.

⚙️ Роторный двигатель

💥💨 Как работает двухтактный двигатель скутера

⚙️ Сравнение моторных масел

⚙️ Авиационный гироскоп


💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29❤12🔥9⚡2🤩1😍1
Forwarded from Эпсилон
This media is not supported in your browser
VIEW IN TELEGRAM
📟 Подборка проектов для Embedded-разработчиков

Собрали свежую порцию проектов, которые стоит изучить, повторить или форкнуть. От Rust-ядер реального времени до DIY-роботов — каждый найдёт что-то для себя.

🤖 TNY-360 — открытый четвероногий робот
Полностью open-source квадрупед: CAD-файлы, PCB-разводка, BOM и прошивка лежат на GitHub. В основе — ESP32-S3 N16R8, управляющий 12 доработанными сервоприводами MG996R через кастомную схему с обратной связью по положению. Контур управления работает на 200 Гц, а прошивка написана на ESP-IDF и C++. На борту — камера OV2640, ToF-датчик VL53L0X, IMU MPU6050 и OLED-дисплей. Лицензия CC BY-NC-SA 4.0 — можно собирать, модифицировать и учиться на реальном проекте.

🌱 WicdPico — измерительная станция на Raspberry Pi Pico
Open-source фреймворк на CircuitPython для Raspberry Pi Pico 2 W, превращающий микроконтроллер в автономный прибор с веб-интерфейсом. Подключаешься по Wi-Fi — и получаешь real-time дашборд для мониторинга и управления без кастомного клиента. Модульная архитектура позволяет быстро добавлять новые сенсоры. Авторы демонстрируют работу на примере «DarkBox Growth Chamber» с мониторингом CO₂, температуры, влажности и освещённости. Лицензия MIT.

🦀 HarSaRK-RS — жёсткое реальное время на Rust
Кернел для safety-critical CPIoT-систем, написанный на Rust. Вместо очередей — scheduling на булевых векторах, обеспечивающий низкий джиттер и детерминированное исполнение. Поддерживает одно- и двухъядерные MCU (на базе SBPC и MRSP протоколов), протестирован на STM32 и NXP LPC55S69. Переключение контекста ускорено до 6× по сравнению с традиционными RTOS на C/C++.

🔗 Распределённая сенсорная сеть на CAN-шине
Интересный пример гибридного стека: ESP32-нода на Rust + Embassy читает MPU-6050 и QMC5883L и публикует телеметрию по CAN; STM32-нода на C++ + FreeRTOS делает сенсорную фузию и ретранслирует данные; ESP32 Wi-Fi-нода на Rust бриджит CAN в UDP; а Python-сервер визуализирует всё в реальном времени. Отличный референс для тех, кто хочет попробовать Rust в embedded без отказа от привычного C++/FreeRTOS.

🌍 EdgeSight — Edge AI для помощи слабовидящим
Проект-призёр Intel Cup 2026: портативный ассистент, который полностью локально обрабатывает видеопоток с ESP32-камеры на Intel DK-2500, генерирует описание сцены через vision-language модель и предупреждает об опасностях голосом. Никаких облаков — вся обработка на устройстве, что решает вопросы приватности и задержек.

💻 Linux Platform Kit — модульный карманный Linux-девайс
Польские инженеры собрали открытый handheld на STM32MP157 (два Cortex-A7 до 800 МГц + Cortex-M4 до 209 МГц + 3D-графика), 4 ГБ DDR3 и 4.1-дюймовом дисплее. Среди интерфейсов — Ethernet, CAN, UART, RS485, I2C, I2S, SPI и GPIO. Подходит для изучения Yocto или работы напрямую с Debian. Исходники и hardware-файлы — на GitHub.

🛠 Инструменты, которые стоит попробовать

▪️ CodeFusion Studio 2.0 от Analog Devices — open-source платформа с поддержкой многoядерных приложений, встроенной проверкой совместимости AI-моделей и интеграцией GDB/Core Dump Analysis.

▪️ NECTO Studio 7.4.0 от MIKROE — мультиархитектурная IDE с Visual AI Code Prompt, который генерирует embedded-код прямо в редакторе.

▪️ Taktflow new-era-toolkits — набор Rust-инструментов для SDV: signal broker, bus simulator, оркестратор, vECU bridge и рекордер.

Какой проект зацепил больше всего? Делитесь в комментариях — соберём следующую подборку с учётом ваших интересов! 🔧 #embedded #разработка #opensource #Rust #ESP32 #STM32 #RTOS #проекты

🔵 Эпсилон // @epsilon_h
❤26👍15🔥6🤩1👨‍💻1
This media is not supported in your browser
VIEW IN TELEGRAM
🔻 Поверхностное натяжение — сила, которая позволяет водомерке скользить по пруду и формирует идеальные сферы капель. Монетку, натертую воском можно тоже положить на поверхность воды, и она не будет тонуть, не смотря на то, что её плотность больше, чем плотность воды.

Вопреки расхожему мнению, фундамент количественного изучения поверхностного натяжения заложила не группа мужчин-академиков, а немецкая домохозяйка Агнес Покельс. В конце XIX века, не имея права на университетское образование, 19-летняя Агнес наблюдала за поверхностью мыльной воды во время мытья посуды. Используя подручные средства она в 1882 году сконструировала «раздвижной желоб» (предшественник современных ванн Ленгмюра), позволявший точно менять площадь поверхности жидкости и измерять натяжение. Покельс в 1891 году написала письмо лорду Рэлею. Он отправил перевод её заметок в журнал Nature.

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

Математически строгую теорию капиллярности дал Томас Юнг и позже Пьер-Симон Лаплас. Краеугольный камень статики поверхностных явлений — формула Лапласа, определяющая скачок давления на искривленной границе раздела: ∆P = γ (1/R₁ + 1/R₂).
∆P — разность давлений внутри и снаружи жидкости (капиллярное давление); γ — коэффициент поверхностного натяжения (Н/м); R₁, R₂ — главные радиусы кривизны поверхности.

Для практических измерений гораздо удобнее частный случай — закон Жюрена, описывающий подъем жидкости в капилляре. Высоту столба можно найти так: h = (2γ cosθ) / (ρgr).
h — высота подъема; θ — краевой угол смачивания; ρ — плотность жидкости; g — ускорение свободного падения; r — радиус капилляра

Обратите внимание: из этой формулы видно, что для воды (θ < 90°, cosθ > 0) высота положительна (мениск вогнутый, жидкость поднимается), а для ртути (θ > 90°, cosθ < 0) — отрицательна (мениск выпуклый, уровень в капилляре ниже).

▪️ 1. Сложная природа «винных слез»: Эффект Марангони, вызывающий стекание «ножек» по бокалу, стандартно объясняют градиентом поверхностного натяжения между пленкой вина и мениском из-за преимущественного испарения спирта. Однако детальные исследования показывают, что традиционная модель не объясняет, почему эффект сильнее при высокой концентрации алкоголя, где зависимость натяжения от концентрации почти исчезает. Ряд физиков настаивают, что ключевым агентом, индуцирующим поток, выступает градиент на границе раздела «жидкость–твердое тело» (стенка бокала), а не только поверхность «жидкость–воздух»

▪️ 2. Несимметричные токи Покельс: В своих ранних опытах Агнес Покельс обнаружила любопытный факт: если привести две области поверхности к одинаковому относительному загрязнению, но разными веществами (например, стеклом и металлом), то при снятии перегородки между ними возникает мощное течение от стекла к металлу. Это указывает на то, что поверхности, имеющие совершенно одинаковое численное значение натяжения, могут обладать разным «поверхностным давлением» из-за растворения микроскопических количеств вещества в поверхностном слое. Стандартный «коэффициент поверхностного натяжения» (γ) — это усредненный макропараметр. Два совершенно разных вещества могут создавать пленки с одной и той же геометрией изгиба.

▪️ Капля против гравитации: Поверхностное натяжение способно не только удерживать предметы, но и транспортировать их против силы тяжести. Если каплю поместить на наклонную поверхность, совершающую строго вертикальные вибрации, капля может поползти вверх. При ускорении пластины вниз капля принимает «мешкообразную» форму, и силы натяжения толкают её в гору даже при наклоне 85 градусов. #физика #магнетизм #электродинамика #опыты #эксперименты #physics #видеоуроки #электроника #science

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤15🔥7🤯2❤‍🔥1😱1🤩1
👨🏻‍💻 Подборка полезных ссылок для изучения C++

▪️
LearnCpp.com — это бесплатный веб-сайт, посвященный обучению вас программированию на C++. Независимо от того, был ли у вас какой-либо предыдущий опыт программирования или нет, учебные пособия на этом сайте помогут вам выполнить все шаги по написанию, компиляции и отладке ваших программ на C++, и все это с большим количеством примеров.

▪️ ravesli.com — Здесь представлены более 240 бесплатных уроков, где с нуля рассматриваются основы и тонкости языка С++ и программирования в целом. Есть пошаговые создания игр на С++ с помощью библиотек MFC и SFML, и более 70 практических заданий для проверки ваших навыков программирования.

▪️ metanit.com — данный сайт посвящен различным языкам и технологиям программирования, компьютерам, мобильным платформам и ИТ-технологиям. Здесь будут выкладываться различные руководства и учебные материалы, статьи и примеры.

▪️ cppstudio.com/cat/274/ — Если вы новичок в C++, предлагаю Вам прочитать этот бесплатный учебник. Здесь собрано большое количество статей для начинающих программистов по С++. Условно все статьи разделены на группы, кратко характеризующие их содержание. После прочтения статьи, можно закрепить материал, написав несколько программ. Для проверки своих теоретических знаний можно пройти тестирование по С++. В таблице после теоретических статей идет подраздел практики, в котором вы можете пройти тестирование и написать программы.

▪️ cplusplus.com/doc/tutorial/ — These tutorials explain the C++ language from its basics up to the newest features introduced by C++11. Chapters have a practical orientation, with example programs in all sections to start practicing what is being explained right away.

▪️ devdocs.io/cpp/ — The interface of C++ standard library is defined by the following collection of headers.

▪️ https://www.cpp.com.ru/ — C++ — чрезвычайно мощный язык, содержащий средства создания эффективных программ практически любого назначения, от низкоуровневых утилит и драйверов до сложных программных комплексов самого различного назначения. На данном сайте выложено несколько книг и статей по языкам С и С++, как для начинающих, так и для профессионалов.

▪️ https://en.cppreference.com/w/cpp — ещё одна хорошая документация на английском. Постоянно обновляется.

▪️ https://learnc.info/ — хороший сайт с лекциями по языку C. В качестве базового языка вам предстоит изучать C. Почему именно C, а не Pascal, Python, Ruby или PHP? Этот язык заставляет вас думать обо всём. Когда программируешь на си, начинаешь понимать, что компьютер - просто железяка. Необходимо самостоятельно выделять память под объекты, затем очищать эту память, заботиться о переполнении массивов, переполнении переменных, изменении знака переменных, приведении типов, правильном обращении к памяти и т.д.

💡 Physics.Math.Code // @physics_lib
❤18👍6🔥5💯3👨‍💻1
📚 Подборка книг «Классика Computer Science» (26 книг + CD) [2002-2016]

💾 Скачать книги

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

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

📙 1. «Современный компилятор на C» (Аппель) / «Компиляторы: принципы, технологии и инструменты» (Ахо, Ульман, Лам)
Зачем: Понимание процессов компиляции и статического анализа — это основа основ. Даже если вы не пишете компилятор, эти знания незаменимы для работы с препроцессорами, линтерами, транспайлерами и понимания того, как код становится программой.

📙 2. «Компьютерные сети: нисходящий подход» (Куроуз, Росс)
Зачем: Любая современная система — это распределенная система. Глубокое понимание стека протоколов, от HTTP до TCP/IP, — обязательное условие для создания эффективных, надежных и безопасных сетевых приложений.

📙 3. «Современные операционные системы» (Таненбаум)

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

📙 4. «Глубокая классика» (по выбору, в зависимости от специализации):
— Для системных/highload-разработчиков: «Введение в алгоритмы» (Кормен, Лейзерсон, Ривест, Штайн). Алгоритмическая грамотность — это язык, на котором говорят о сложности и эффективности.
— Для разработчиков СУБД и всех, кто работает с данными: «Базы данных. Проектирование, реализация и сопровождение. Теория и практика» (Коннолли, Бегг). Понимание внутреннего устройства СУБД на порядок повышает качество работы с данными.

☕️ Кто захочет задонать на кофе: ВТБ: +79616572047 (СБП)

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

Этот путь требует дисциплины и времени. Результат — не сиюминутный хак, а формирование той самой «кремниевой прочности», которая отличает инженера от кодера.
#cpp #java #cs #алгоритмы #сети #cplusplus #подборка_книг #IT #разработка

💡 Physics.Math.Code // @physics_lib
❤33🔥11👍5🥰2😍1👨‍💻1
📚_Подборка_книг_«Классика_Computer_Science»_26_книг_+_CD_2002_2016.zip
1.4 GB
📚 Подборка книг «Классика Computer Science» (26 книг + CD) [2002-2016]

Сборник книг серии "Классика Computer Science" на тему – компьютеры, программирование, операционные системы, базы данных. Серия книг«Классика computer science», предназначенных для базовой подготовки специалистов в области компьютерных наук.

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

📔 Лафоре Р. - Объектно-ориентированное программирование C++. 4-е изд. 2004
📕Архитектура компьютера [2013] Э. Таненбаум, Т. Остин
📗Брауде Э. - Технология разработки программного обеспечения. 2004
📘Вахалия Ю. - UNIX изнутри. 2003
📙Кельтон В., Лоу А. - Имитационное моделирование. Классика CS. 3-е изд. 2004
📓Клейнберг Дж., Тардос Е. - Алгоритмы. Разработка и применение. 2016
📒 Компьютерные сети [2012] Эндрю Таненбаум, Дэвид Уэзеролл
📔 Константайн Л., Локвуд Л. - Разработка программного обеспечения. 2004
📕 Коплиен Дж. - Программирование на С++ 2005
📗 Кренке Д. - Теория и практика построения баз данных. 8-е изд. 2003
📘 Лафоре Р. - Структуры данных и алгоритмы JAVA. 2-е изд. 2012
📙 Марк Руссинович - Внутреннее устройство Windows, 7-е изд 2018
📓 Паттерсон Д., Хеннеси Дж. - Архитектура компьютеров и проектирование компьютерных систем. 4-е изд. 2012
📒 Пратт Т., Зелковиц М. - Языки программирования. Разработка и реализация 2002

#cpp #java #cs #алгоритмы #сети #cplusplus #подборка_книг #IT #разработка

💡 Physics.Math.Code // @physics_lib
25❤40🔥15👍11💯1
Media is too big
VIEW IN TELEGRAM
⚡️ Задачка для наших подписчиков: почему перемычка двигается и почему при смене контактов ➕➖ она меняет направление движения?

#электродинамика #электричество #магнетизм #физика #physics #задачи #опыты #эксперименты #science

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓14👍7⚡5🔥3❤2🤯2👏1