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

Обратная связь: @physicist_i
加入频道
Media is too big
VIEW IN TELEGRAM
😵‍💫 Спиральный водяной насос

Водяной насос со спиральной трубой является методом откачки воды с подливным водоподъемным колесом, которое имеет лопатку, соединенную со спиральной трубой. По мере поворота колеса, лопатка обеспечивает спиральную трубу либо водой, либо воздухом. Давление от гидростатического напора, вырабатываемого водяным столбом, обеспеченного лопаткой, добавляется к давлению от предыдущих лопаток, и, таким образом, при повороте колеса увеличивается давление воды с каждым поворотом спирали. Основная характеристика спирального водяного насоса состоит в том, что он может откачивать воду без необходимости в электричестве или топливе. Он работает на энергии расхода воды. После сооружения, спиральный водяной насос способен выталкивать воду на высоту до 30 метров (горизонтальный толчок) и на расстояние до 70 метров (вертикальный толчок). Толчок воды (насколько вода будет вытолкнута горизонтально или вертикально) зависит от размера колеса Спирального Водяного Насоса, и сколько труб уложено вокруг колеса.

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

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

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3716🔥10🤯1😱1🙈1
🖥 Почему Ассемблер — это круто, но сложно

Есть высокоуровневые языки — это те, где вы говорите if — else, print, echo, function и так далее. «Высокий уровень» означает, что вы говорите с компьютером более-менее человеческим языком. Другой человек может не понять, что именно у вас написано в коде, но он хотя бы сможет прочитать слова.

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

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

Вариантов Ассемблера довольно много. Но так как все они работают по одинаковому принципу и используют (в основном) одинаковый синтаксис, мы будем все подобные языки называть общим словом «Ассемблер».

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

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

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

Какими бывают регистры?

▪️Общего назначения. Это 8 регистров, каждый из которых может хранить всего 4 байта информации. Такой регистр можно разделить на 2 или 4 части и работать с ними как с отдельными ячейками.
▪️Указатель команд. В этом регистре хранится только адрес следующей команды, которую должен выполнить процессор. Вручную его изменить нельзя, но можно на него повлиять различными командами переходов и процедур.
▪️Регистр флагов. Флаг — какое-то свойство процессора. Например, если установлен флаг переполнения, значит процессор получил в итоге такое число, которое не помещается в нужную ячейку памяти. Он туда кладёт то, что помещается, и ставит в этот флаг цифру 1. Она — сигнал программисту, что что-то пошло не так. Флагов в процессоре много, какие-то можно менять вручную, и они будут влиять на вычисления, а какие-то можно просто смотреть и делать выводы. Флаги — как сигнальные лампы на панели приборов в самолёте. Они что-то означают, но только самолёт и пилот знают, что именно.
▪️Сегментные регистры. Нужны были для того, чтобы работать с оперативной памятью и получать доступ к любой ячейке. Сейчас такие регистры имеют по 32 бита, и этого достаточно, чтобы получить 4 гигабайта оперативки. Для программы на Ассемблере этого обычно хватает.

Так вот: всё, с чем работает Ассемблер, — это команды процессора, переменные и регистры.

Здесь нет привычных типов данных — у нас есть только байты памяти, в которых можно хранить что угодно. Даже если вы поместите в ячейку какой-то символ, а потом захотите работать с ним как с числом — у вас получится. А вместо привычных циклов можно просто прыгнуть в нужное место кода.
Подробнее в нашей статье в vk группе Physics.Math.Code

📕 Практический анализ двоичных файлов [2021] Эндриесс Дэннис

📙 Тайная жизнь программ. Как создать код, который понравится вашему компьютеру [2023] Джонатан Стейнхарт

📚 Подборка статей по Assembler от Ravesli

📙 LLVM: инфраструктура для разработки компиляторов [2015] Бруно Кардос Лопес, Рафаэль Аулер

📚 Подбор книг по электронике и микроконтроллерам: ОТ ЛАМЕРОВ ДО АЦЦКИХ РАДИОЛЮБИТЕЛЕЙ 👨🏻‍💻📡

📕 Modern Assembly Language Programming with the ARM Processor [2016] Larry D. Pyeatt

📕 Изучаем Ассемблер [2005] Крупник

📘 Assembly Programming and Computer Architecture for Software Engineers [2017] Brian R. Hall, Kevin J. Slonka

#программирование #низкоуровневое_программирование #Linux #assembler #cpp #C

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
73🔥42👍22🤔2👨‍💻1🙈1🤝1
📘 The Elements of Computing Systems: Building a Modern Computer from First Principles [2005 + 2021] Noam Nisan and Shimon Schocken

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

📱 May 2024 CACM: Nand to Tetris: Building a Modern Computer System from First Principles

📱 Shimon Schocken

📱 Nand2Tetris - Building a modern computer

Источник: From Nand to Tetris

На coursera:
▪️ Построение современного компьютера на основе первых принципов: От Nand до Tetris (проектно-ориентированный курс)
▪️ Построение современного компьютера на основе первых принципов: От Nand до Tetris Part II (курс, ориентированный на проект)

Описание: На этом курсе, ориентированном на проекты*, Вы построите современную компьютерную систему с нуля. Мы разделим это увлекательное путешествие на шесть практических проектов, которые проведут Вас от конструирования элементарных логических вентилей до создания полностью функционирующего компьютера общего назначения. В процессе обучения Вы узнаете - самым прямым и конструктивным образом - как работают компьютеры и как они создаются. Что Вам потребуется: Это самостоятельный курс: все знания, необходимые для успешного прохождения курса и создания компьютерной системы, будут даны в процессе обучения. Поэтому мы не предполагаем никаких предыдущих знаний в области информатики или инженерии, и все учащиеся приветствуются на борту. Вам не понадобится никаких физических материалов, поскольку Вы будете собирать компьютер на своем собственном ПК, используя программный аппаратный симулятор, точно так же, как настоящие компьютеры проектируются компьютерными инженерами в полевых условиях. Аппаратный симулятор, а также другие программные инструменты будут предоставлены Вам бесплатно после регистрации на курс. Формат курса: Курс состоит из шести модулей, каждый из которых включает серию видеолекций и проект. Вам потребуется около 2-3 часов для просмотра лекций каждого модуля и около 5-10 часов для выполнения каждого из шести проектов. Курс можно пройти за шесть недель, но Вы можете делать это в своем собственном темпе. Вы можете посмотреть выступление на TED об этом курсе, набрав в Гугле "nand2tetris TED talk". *О проектно-ориентированных курсах: Курсы, ориентированные на проект, предназначены для того, чтобы помочь Вам завершить личностно значимый проект в реальном мире, а Ваш преподаватель и сообщество учеников с аналогичными целями будут давать Вам советы и рекомендации на этом пути. Активно применяя новые концепции в процессе обучения, Вы овладеете содержанием курса более эффективно; кроме того, у Вас появится возможность использовать полученные навыки для внесения позитивных изменений в свою жизнь и карьеру. По окончании курса у Вас будет готовый проект, которым Вы сможете с гордостью пользоваться и делиться. #программирование #низкоуровневое_программирование #Linux #assembler #cpp #C

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
21🔥11👍6😍1
📘 The Elements of Computing Systems.zip
26.1 MB
📘 The Elements of Computing Systems: Building a Modern Computer from First Principles [2005 + 2021] Noam Nisan and Shimon Schocken

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

Достоинства:
Хорошая структурированность;
Оригинальный авторский подход.

☕️ Для тех, кто захочет задонать на кофе:
ВТБ: +79616572047 (СБП) ЮMoney: 410012169999048

#программирование #низкоуровневое_программирование #архитектура #computer_science #assembler #cpp #C

💡 Physics.Math.Code // @physics_lib
125👍18🔥5👨‍💻2🤩1
📗 Прикладное машинное обучение и искусственный интеллект для инженеров [2024] Джеф Просиз
📙 Applied Machine Learning and AI for Engineers Solve Business Problems That Can't Be Solved Algorithmically [2022] Jeff Prosise

💾 Скачать книги RU + EN

Сейчас такой литературы полно, но у этой книги есть ряд преимуществ:
▫️1) она написана с точки зрения прямого прикладного применения ML-моделей и при этом содержит в себе очень большой обзор и очень много полезных примеров
▫️2) книга написана увлекательно и очень понятным языком
▫️3) книга переведена на русский язык и перевод качественный
▫️4) здесь есть даже инструкции, как внедрять облачные сервисы с ИИ в свои собственные приложения по API, и много подобных практически полезных вещей

Книга состоит из двух частей:
▪️ ЧАСТЬ 1. МАШИННОЕ ОБУЧЕНИЕ С ПОМОЩЬЮ SCIКIT-LEARN
▪️ ЧАСТЬ 2. ГЛУБОКОЕ ОБУЧЕНИЕ С ПОМОЩЬЮ КERAS И TENSORFLOW

В каждой части по 7 глав, где рассмотрены основные модели и как ими пользоваться, как внедрять и применять, много примеров прикладных задач присутствует в каждой главе. #AI #ИИ #машинное_обучение #python #искусственный_интеллект #математика #computer_science

💡 Physics.Math.Code // @physics_lib
👍4🔥3👨‍💻21
Прикладное_машинное_обучение_и_искусственный_интеллект_для_инженеров.zip
56.3 MB
📗 Прикладное машинное обучение и искусственный интеллект для инженеров [2024] Джеф Просиз

📙 Applied Machine Learning and AI for Engineers Solve Business Problems That Can't Be Solved Algorithmically [2022] Jeff Prosise


Книга рассказывает о применении искусственного интеллекта и машинного обучения в бизнесе и инженерной практике. Подробно описаны популярные алгоритмы машинного обучения и разъяснено, когда их целесообразно использовать. Приведены примеры построения моделей машинного обучения на языке Python с помощью библиотеки Scikit-Learn, а также создания нейронных сетей посредством библиотек Keras и TensorFlow. Изложены базовые принципы и способы оценки регрессионных моделей, моделей бинарной и многоклассовой классификации. Показаны примеры создания модели распознавания лиц и обнаружения объектов, языковых моделей, отвечающих на естественно-языковые вопросы и переводящих текст на другие языки. Рассмотрено использование набора облачных API Cognitive Services для внедрения ИИ в различные приложения. #AI #ИИ #машинное_обучение #python #искусственный_интеллект #математика #computer_science

💡 Physics.Math.Code // @physics_lib
👍82🔥21🥰1💯1