Современный_C++_безопасное_использование_2023_RU+EN.zip
26.1 MB
📕 Современный C++: безопасное использование [2023] Лакос Дж., Ромео В., Хлебников Р., Мередит А.
Книга показывает, как эффективно использовать новые и расширенные возможности современных версий языка C++, избегая потенциальных опасностей и ловушек. Основываясь на своем многолетнем опыте работы с C++, четыре ведущих специалиста из компании Bloomberg делят функции версий C++ на три категории:
▪️ безопасные – функциональные средства обеспечивают явную пользу, их легко использовать эффективно, а чтобы неправильно применить, нужно постараться;
▪️ условно безопасные – функциональные средства весьма полезны, но при их использовании существуют потенциальные опасности, избежать которых можно, лишь обладая немалым практическим опытом и запасом знаний;
▪️ небезопасные – для них характерно особенно низкое соотношение риска и пользы, их легко применить неправильно, поэтому рекомендуется пользоваться им только при чрезвычайных обстоятельствах.
Авторы используют примеры, полученные из реальных кодовых баз, чтобы объективно проиллюстрировать каждое предлагаемое решение и обратить особое внимание на главные проблемы. В каждом разделе определяются надежные варианты использования, скрытые потенциальные опасности и недостатки конкретного средства языка.
Издание предназначено опытным разработчикам C++, руководителям проектов и служб, желающих повысить производительность и улучшить качество исходного кода и сопровождения.
📘 Embracing Modern C++ Safely [2021] John Lakos, Vittorio Romeo, Rostislav Khlebnikov, Alisdair Meredith
Embracing Modern C++ Safely shows you how to make effective use of the new and enhanced language features of modern C++ without falling victim to their potential pitfalls. Based on their years of experience with large, mission-critical projects, four leading C++ authorities divide C++11/14 language features into three categories: Safe, Conditionally Safe, and Unsafe. #cpp #cplusplus #программирование #безопасность #разработка #programming
Книга показывает, как эффективно использовать новые и расширенные возможности современных версий языка C++, избегая потенциальных опасностей и ловушек. Основываясь на своем многолетнем опыте работы с C++, четыре ведущих специалиста из компании Bloomberg делят функции версий C++ на три категории:
▪️ безопасные – функциональные средства обеспечивают явную пользу, их легко использовать эффективно, а чтобы неправильно применить, нужно постараться;
▪️ условно безопасные – функциональные средства весьма полезны, но при их использовании существуют потенциальные опасности, избежать которых можно, лишь обладая немалым практическим опытом и запасом знаний;
▪️ небезопасные – для них характерно особенно низкое соотношение риска и пользы, их легко применить неправильно, поэтому рекомендуется пользоваться им только при чрезвычайных обстоятельствах.
Авторы используют примеры, полученные из реальных кодовых баз, чтобы объективно проиллюстрировать каждое предлагаемое решение и обратить особое внимание на главные проблемы. В каждом разделе определяются надежные варианты использования, скрытые потенциальные опасности и недостатки конкретного средства языка.
Издание предназначено опытным разработчикам C++, руководителям проектов и служб, желающих повысить производительность и улучшить качество исходного кода и сопровождения.
📘 Embracing Modern C++ Safely [2021] John Lakos, Vittorio Romeo, Rostislav Khlebnikov, Alisdair Meredith
Embracing Modern C++ Safely shows you how to make effective use of the new and enhanced language features of modern C++ without falling victim to their potential pitfalls. Based on their years of experience with large, mission-critical projects, four leading C++ authorities divide C++11/14 language features into three categories: Safe, Conditionally Safe, and Unsafe. #cpp #cplusplus #программирование #безопасность #разработка #programming
👍50🔥11❤3❤🔥2😎2
📗 Рендеринг на основе законов физики [2024] Фарр М., Джейкоб В., Хамфрис Г.
📘 Physically Based Rendering, fourth edition: From Theory to Implementation [2023] Matt Pharr, Wenzel Jakob, Greg Humphreys
⚠️ Книги предоставляется вам для ознакомления и не для распространения
💳 Купить книгу
💾 Ознакомиться с книгами RU+EN
Издание будет полезно специалистам по компьютерной графике, анимации, инженерам САПР, разработчикам соответствующего ПО, а также студентам и преподавателям. #рендеринг #графика #2d #3d #gamedev #разработка_игр #программирование
👨🏻💻 Если кто захочет задонатить на кофе:
ЮMoney:
💡 Physics.Math.Code
📘 Physically Based Rendering, fourth edition: From Theory to Implementation [2023] Matt Pharr, Wenzel Jakob, Greg Humphreys
⚠️ Книги предоставляется вам для ознакомления и не для распространения
💳 Купить книгу
💾 Ознакомиться с книгами RU+EN
Издание будет полезно специалистам по компьютерной графике, анимации, инженерам САПР, разработчикам соответствующего ПО, а также студентам и преподавателям. #рендеринг #графика #2d #3d #gamedev #разработка_игр #программирование
👨🏻💻 Если кто захочет задонатить на кофе:
ЮMoney:
410012169999048
Карта ВТБ: 4272290768112195
Карта Сбербанк: 2202200638175206
💡 Physics.Math.Code
👍63🔥28❤5😍4⚡2🤗1
Media is too big
VIEW IN TELEGRAM
⚙️ Когда Lego играет на гитаре лучше, чем ты... 🥹
Реализовано с помощью LEGO Mindstorms EV3 — это комплект робототехники третьего поколения в линейке LEGO Mindstorms. Самым большим изменением по сравнению с LEGO Mindstorms NXT и NXT 2.0 в EV3 являются технологические достижения в области программируемых кубиков. Основным процессором NXT был микроконтроллер ARM7 , тогда как EV3 имеет более мощный процессор ARM9 под управлением Linux . Разъем USB и слот Micro SD (до 32 ГБ) являются новыми для EV3.
🧠 Как вы считаете, является ли такой конструктор идеальной игрушкой для развития математического инженерного мышления у человека?
#техника #конструктор #ARM #программирование #механика #разработка #микроконтроллеры
💡 Physics.Math.Code
Реализовано с помощью LEGO Mindstorms EV3 — это комплект робототехники третьего поколения в линейке LEGO Mindstorms. Самым большим изменением по сравнению с LEGO Mindstorms NXT и NXT 2.0 в EV3 являются технологические достижения в области программируемых кубиков. Основным процессором NXT был микроконтроллер ARM7 , тогда как EV3 имеет более мощный процессор ARM9 под управлением Linux . Разъем USB и слот Micro SD (до 32 ГБ) являются новыми для EV3.
🧠 Как вы считаете, является ли такой конструктор идеальной игрушкой для развития математического инженерного мышления у человека?
#техника #конструктор #ARM #программирование #механика #разработка #микроконтроллеры
💡 Physics.Math.Code
👍61🤩20❤🔥11😍5❤3😎2👏1🤔1🌚1
📙 Как устроен Python. Гид для разработчиков, программистов и интересующихся [2019] Харрисон
📕 Illustrated Guide to Python 3: A Complete Walkthrough of Beginning Python with Unique Illustrations Showing how Python Really Works [2017] Harrison Matt
⚠️ Книги предоставляется вам для ознакомления и не для распространения
💾 Скачать книги
Для тех, кто захочет задонать на кофе☕️:
ВТБ:
Сбер:
ЮMoney:
Обычно внутреннее устройство Python рассматривается в каких-то серьезных изданиях или на веб-сайтах в Интернете, где разбираются какие-то конкретные примеры кода, где важно, как Python этот код обрабатывает. В книге же информация о внутренних механизмах Python гармонично переплетается с теоретическими знаниями и понятными примерами кода. Материал читается легко, не перегружен лишней информацией, иллюстрирован понятными графическими схемами. #python #программирование #разработка #архитектура
💡 Physics.Math.Code // @physics_lib
📕 Illustrated Guide to Python 3: A Complete Walkthrough of Beginning Python with Unique Illustrations Showing how Python Really Works [2017] Harrison Matt
⚠️ Книги предоставляется вам для ознакомления и не для распространения
💾 Скачать книги
Для тех, кто захочет задонать на кофе☕️:
ВТБ:
+79616572047
(СБП) Сбер:
+79026552832
(СБП) ЮMoney:
410012169999048
Обычно внутреннее устройство Python рассматривается в каких-то серьезных изданиях или на веб-сайтах в Интернете, где разбираются какие-то конкретные примеры кода, где важно, как Python этот код обрабатывает. В книге же информация о внутренних механизмах Python гармонично переплетается с теоретическими знаниями и понятными примерами кода. Материал читается легко, не перегружен лишней информацией, иллюстрирован понятными графическими схемами. #python #программирование #разработка #архитектура
💡 Physics.Math.Code // @physics_lib
👍64🔥8❤5💊2❤🔥1😍1🙈1🆒1
This media is not supported in your browser
VIEW IN TELEGRAM
💦 Моделирование жидкости (англ. fluid simulation) — область компьютерной графики, использующая средства вычислительной гидродинамики для реалистичного моделирования, анимации и визуализации жидкостей, газов, взрывов и других связанных с этим явлений. Имея на входе некую жидкость и геометрию сцены, симулятор жидкости моделирует её поведение и движение во времени, принимая в расчёт множество физических сил, объектов и взаимодействий. Моделирование жидкости широко используется в компьютерной графике и ранжируется по вычислительной сложности от высокоточных вычислений для кинофильмов и спецэффектов до простых аппроксимаций, работающих в режиме реального времени и использующихся преимущественно в компьютерных играх.
Существует несколько конкурирующих методов моделирования жидкости, каждый из которых имеет свои преимущества и недостатки. Наиболее распространёнными являются сеточные методы Эйлера, гидродинамика сглаженных частиц (англ. smoothed particle hydrodynamics — SPH), методы, основанные на завихрениях, и метод решёточных уравнений Больцмана. Эти методы возникли в среде вычислительной гидродинамики и были позаимствованы для практических задач в индустрии компьютерной графики и спецэффектов. Основное требование к данным методам со стороны компьютерной графики — визуальная правдоподобность. Иными словами, если наблюдатель при просмотре не может заметить неестественность анимации, то моделирование считается удовлетворительным. В физике, технике и математике, с другой стороны, основные требования предъявляются к физической корректности и точности моделирования, а не к её визуальному результату.
В компьютерной графике самые ранние попытки решить уравнения Навье — Стокса в трёхмерном пространстве были предприняты в 1996 году Ником Фостером (англ. Nick Foster) и Димитрисом Метаксасом (англ. Dimitris Metaxas). Их работа в качестве основы использовала более раннюю работу по вычислительной гидродинамике, которая была опубликована в 1965 году Харлоу (англ. Harlow) и Уэлшем (англ. Welch). До работы Фостера и Метаксаса многие методы моделирования жидкости были построены на основе специальных систем частиц, методах снижения размерности (типа двухмерные модели мелких водяных объёмов типа луж) и полу-случайных шумовых турбулентных полях. В 1999 году на SIGGRAPH Джос Стэм (англ. Jos Stam) опубликовал метод так называемых «стабильных жидкостей» (англ. Stable Fluids), который использовал полу-лагранжевый метод адвекции и неявные интеграции вязкости для обеспечения безусловно устойчивого поведения жидкости. Это позволило моделировать жидкости со значительно большим временным шагом и в общем привело к более быстрым программам. Позже, в 2001—2002 годах, этот метод был расширен Роном Федкивым вместе со своими сотрудниками, благодаря чему стало возможным обрабатывать сложную модель воды в трёхмерной сцене с использованием метода установленного уровня (англ. Level set method). #математика #физика #наука #gif #образование #разработка_игр #gamedev #math #physics
💡 Physics.Math.Code // @physics_lib
Существует несколько конкурирующих методов моделирования жидкости, каждый из которых имеет свои преимущества и недостатки. Наиболее распространёнными являются сеточные методы Эйлера, гидродинамика сглаженных частиц (англ. smoothed particle hydrodynamics — SPH), методы, основанные на завихрениях, и метод решёточных уравнений Больцмана. Эти методы возникли в среде вычислительной гидродинамики и были позаимствованы для практических задач в индустрии компьютерной графики и спецэффектов. Основное требование к данным методам со стороны компьютерной графики — визуальная правдоподобность. Иными словами, если наблюдатель при просмотре не может заметить неестественность анимации, то моделирование считается удовлетворительным. В физике, технике и математике, с другой стороны, основные требования предъявляются к физической корректности и точности моделирования, а не к её визуальному результату.
В компьютерной графике самые ранние попытки решить уравнения Навье — Стокса в трёхмерном пространстве были предприняты в 1996 году Ником Фостером (англ. Nick Foster) и Димитрисом Метаксасом (англ. Dimitris Metaxas). Их работа в качестве основы использовала более раннюю работу по вычислительной гидродинамике, которая была опубликована в 1965 году Харлоу (англ. Harlow) и Уэлшем (англ. Welch). До работы Фостера и Метаксаса многие методы моделирования жидкости были построены на основе специальных систем частиц, методах снижения размерности (типа двухмерные модели мелких водяных объёмов типа луж) и полу-случайных шумовых турбулентных полях. В 1999 году на SIGGRAPH Джос Стэм (англ. Jos Stam) опубликовал метод так называемых «стабильных жидкостей» (англ. Stable Fluids), который использовал полу-лагранжевый метод адвекции и неявные интеграции вязкости для обеспечения безусловно устойчивого поведения жидкости. Это позволило моделировать жидкости со значительно большим временным шагом и в общем привело к более быстрым программам. Позже, в 2001—2002 годах, этот метод был расширен Роном Федкивым вместе со своими сотрудниками, благодаря чему стало возможным обрабатывать сложную модель воды в трёхмерной сцене с использованием метода установленного уровня (англ. Level set method). #математика #физика #наука #gif #образование #разработка_игр #gamedev #math #physics
💡 Physics.Math.Code // @physics_lib
❤91🔥60👍54🆒5👏3🌚2
🔍 Все аксолотли готовятся к первой в России школьной олимпиаде по промышленной разработке PROD, которую проводят Центральный университет, ВШЭ и Т-Банк.
В Москвариуме для главного участника организовали рабочее место. #science #наука #образование #разработка #физика
💡 Physics.Math.Code // @physics_lib
В Москвариуме для главного участника организовали рабочее место. #science #наука #образование #разработка #физика
💡 Physics.Math.Code // @physics_lib
🔥46👍20❤14🤔6👨💻4❤🔥3🥰2
👨🎓Информация для тех, кто хочет развиваться в Data Science
В этом году Центральный университет, созданный при поддержке 50 крупнейших компаний страны, стал одним из самых заметных образовательных проектов - подготовил школьную сборную к безоговорочной победе на первой международной Олимпиаде по ИИ в Болгарии, студенты вуза победили на AI Challenge, известный на весь мир ученый, профессор Горбань, вернулся для работы именно в этом вузе и др.
Недавно магистрант Центрального университета опубликовал статью, где рассказал, как проходит обучение в вузе. Генрих работает lead data scientist и специализируется на компьютерном зрении и 3D. Поступая в вуз, он хотел получить знания по NLP, поэтому выбрал для себя курсы: основы математики для DS, основы баз данных и SQL, продуктовая студия, основы статистики, Machine Learning, основы Python и Soft Skills Lab.
Автор отмечает, основы математики для DS для него оказался довольно непростым, несмотря на опыт с нейросетями и решением математических задач. Особенно полезной для него оказалась Продуктовая студия, в которой студенты проходят все этапы создания продукта: от генерации идеи до презентации инвесторам. Также, в статье студент выделил Soft Skills Lab, который помогает учащимся научиться работать в команде.
По мнению студента, через несколько лет университет будет фигурировать в вакансиях наряду с другими топовыми вузами по направлению DS.
#программирование #python #IT #математика #math #лекции #разработка
💡 Physics.Math.Code // @physics_lib
В этом году Центральный университет, созданный при поддержке 50 крупнейших компаний страны, стал одним из самых заметных образовательных проектов - подготовил школьную сборную к безоговорочной победе на первой международной Олимпиаде по ИИ в Болгарии, студенты вуза победили на AI Challenge, известный на весь мир ученый, профессор Горбань, вернулся для работы именно в этом вузе и др.
Недавно магистрант Центрального университета опубликовал статью, где рассказал, как проходит обучение в вузе. Генрих работает lead data scientist и специализируется на компьютерном зрении и 3D. Поступая в вуз, он хотел получить знания по NLP, поэтому выбрал для себя курсы: основы математики для DS, основы баз данных и SQL, продуктовая студия, основы статистики, Machine Learning, основы Python и Soft Skills Lab.
Автор отмечает, основы математики для DS для него оказался довольно непростым, несмотря на опыт с нейросетями и решением математических задач. Особенно полезной для него оказалась Продуктовая студия, в которой студенты проходят все этапы создания продукта: от генерации идеи до презентации инвесторам. Также, в статье студент выделил Soft Skills Lab, который помогает учащимся научиться работать в команде.
По мнению студента, через несколько лет университет будет фигурировать в вакансиях наряду с другими топовыми вузами по направлению DS.
#программирование #python #IT #математика #math #лекции #разработка
💡 Physics.Math.Code // @physics_lib
👍40🙈10❤8🔥6🤷♂3🫡1🗿1
Forwarded from Репетитор IT men
reduce()
? Давайте сразу напишем такой пример:
numbers = [1, 11, 12, 13, 18, 9, 8, 6]
from functools import reduce
func = lambda acc, cur : acc + cur
total = reduce(func, numbers, 0)
print('Встроенная reduce: ',total)
def _reduce(callback, collection, init = 0):
acc = init
for k in collection:
acc = callback(acc, k)
return acc
_total = _reduce(func, numbers)
print('Моя reduce: ',_total)
Теперь объясним параметры и работу конструкции:
result = reduce( function, iterable[, initializer] )
:▫️
function
— функция, применяемая к элементам итерации. Она должна принимать два аргумента.▫️
iterable
— итерируемый объект, элементы которого вы хотите уменьшить. Это может быть список, кортеж или любой другой итерируемый объект.▫️
initializer
— (необязательно): начальное значение аккумулятора (накопителя). Оно используется в качестве первого аргумента при первом вызове функции, если оно предусмотрено.⚠️ Обработка пустых итераций: Одной из распространенных ошибок при использовании функции
reduce()
является обработка пустых итераций. Передача пустой итерации в reduce()
без инициализатора вызывает Ошибку типа поскольку нет начального значения для запуска процесса сокращения. Чтобы избежать этого, всегда указывайте инициализатор, когда итерируемый объект может быть пустым.⚙️ Производительность:
▫️ Эффективность
reduce()
по сравнению с циклами: Функция reduce()
может быть более эффективной, чем явные циклы, потому что она реализована на C, что может обеспечить преимущества в производительности. Однако это преимущество часто незначительно и зависит от сложности применяемой функции.▫️Преимущества использования встроенных функций в производительности: Встроенные функции, такие как
sum()
, min()
, и max()
высоко оптимизированы с точки зрения производительности. Они реализованы на C и могут выполнять операции быстрее, чем эквивалентный код Python с использованием reduce()
.reduce()
? Функция reduce() полезна при итеративной обработке данных, избегая явных циклов и делая код более читаемым и кратким. Некоторые распространенные варианты использования включают:▫️ Суммирование чисел в списке: Быстрое суммирование всех элементов.
▫️ Умножение элементов итеративного элемента: Вычисление произведения элементов.
▫️ Объединение строк: Объединение нескольких строк в одну.
▫️ Нахождение максимального или минимального значения: Определение самого большого или самого маленького элемента в последовательности.
#python #разработка #программирование #IT #алгоритмы
💡 Репетитор IT mentor // @mentor_it
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40👨💻8❤4🤨4🔥2👾2
Media is too big
VIEW IN TELEGRAM
🌔 Трассировка лучей на языке C / Си
[Coding Ray Tracing in C]
Трассировка лучей (англ. Ray tracing; рейтрейсинг) — один из методов геометрической оптики — исследование оптических систем путём отслеживания взаимодействия отдельных лучей с поверхностями. В узком смысле — технология построения изображения трёхмерных моделей в компьютерных программах, при которых отслеживается обратная траектория распространения луча (от экрана к источнику).
Трассировка лучей в компьютерных играх — это решение для создания реалистичного освещения, отражений и теней, обеспечивающее более высокий уровень реализма по сравнению с традиционными способами рендеринга. Turing от Nvidia стала первой архитектурой (лето 2018), позволяющей проводить трассировку лучей в реальном времени на GPU.
До того как была разработана трассировка лучей, молодая область трехмерной компьютерной графики, по существу, состояла из серии «программных приёмов», имитирующих затенение освещённых объектов. Трассировка лучей была первым алгоритмом в этой области, имевшим физический смысл.
Первое изображение с трассировкой лучей было отображено на экране, подобном осциллографу, в Университете Мэриленда в 1963 году. В качестве разработчиков алгоритма трассировки лучей часто упоминают Артура Аппеля, Роберта Голдштейна и Роджера Нагеля, опубликовавших в конце 1960-х годов алгоритм. Другими исследователями, которые в то время занимались методами трассировки лучей, были Херб Стейнберг, Марти Коэн и Юджин Трубецкой.
Трассировка лучей основана на геометрической оптике, где под светом понимается группа лучей. Методы, используемые при трассировке лучей, использовались гораздо раньше, в том числе производителями оптических систем. Сегодня многие средства визуализации (компьютерные программы для создания изображений из 3D-сцен) используют трассировку лучей, возможно, в сочетании с другими процессами.
Простые формы трассировки лучей рассчитывают только прямое освещение, то есть свет, поступающий непосредственно от источников света. Однако трассировка лучей значительно расширилась в несколько раз с тех пор, как впервые была использована в компьютерной графике. Более развитые формы также учитывают непрямой свет, отражённый от других объектов; затем говорят о методе глобального освещения.
Термин Raycasting в основном описывает упрощённую форму трассировки лучей, но иногда также используется как синоним.
📱 Источник: HirschDaniel
#физика #оптика #программирование #разработка_игр #raytracing #physics #моделирование
💡 Physics.Math.Code // @physics_lib
[Coding Ray Tracing in C]
Трассировка лучей (англ. Ray tracing; рейтрейсинг) — один из методов геометрической оптики — исследование оптических систем путём отслеживания взаимодействия отдельных лучей с поверхностями. В узком смысле — технология построения изображения трёхмерных моделей в компьютерных программах, при которых отслеживается обратная траектория распространения луча (от экрана к источнику).
Трассировка лучей в компьютерных играх — это решение для создания реалистичного освещения, отражений и теней, обеспечивающее более высокий уровень реализма по сравнению с традиционными способами рендеринга. Turing от Nvidia стала первой архитектурой (лето 2018), позволяющей проводить трассировку лучей в реальном времени на GPU.
До того как была разработана трассировка лучей, молодая область трехмерной компьютерной графики, по существу, состояла из серии «программных приёмов», имитирующих затенение освещённых объектов. Трассировка лучей была первым алгоритмом в этой области, имевшим физический смысл.
Первое изображение с трассировкой лучей было отображено на экране, подобном осциллографу, в Университете Мэриленда в 1963 году. В качестве разработчиков алгоритма трассировки лучей часто упоминают Артура Аппеля, Роберта Голдштейна и Роджера Нагеля, опубликовавших в конце 1960-х годов алгоритм. Другими исследователями, которые в то время занимались методами трассировки лучей, были Херб Стейнберг, Марти Коэн и Юджин Трубецкой.
Трассировка лучей основана на геометрической оптике, где под светом понимается группа лучей. Методы, используемые при трассировке лучей, использовались гораздо раньше, в том числе производителями оптических систем. Сегодня многие средства визуализации (компьютерные программы для создания изображений из 3D-сцен) используют трассировку лучей, возможно, в сочетании с другими процессами.
Простые формы трассировки лучей рассчитывают только прямое освещение, то есть свет, поступающий непосредственно от источников света. Однако трассировка лучей значительно расширилась в несколько раз с тех пор, как впервые была использована в компьютерной графике. Более развитые формы также учитывают непрямой свет, отражённый от других объектов; затем говорят о методе глобального освещения.
Термин Raycasting в основном описывает упрощённую форму трассировки лучей, но иногда также используется как синоним.
#физика #оптика #программирование #разработка_игр #raytracing #physics #моделирование
💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍70🔥24❤12❤🔥3⚡1🤯1😍1💯1
📚 Подборка книг по C++ от Бьёрне Страуструпа
Страуструп представляет возможности C++ в контексте поддерживаемых ими стилей программирования, таких как объектно-ориентированное и универсальное программирование. Его экскурсия на удивление обширна. Освещение начинается с основ, затем широко распространяется по более продвинутым темам, уделяя особое внимание новым языковым возможностям. В этом издании рассматриваются многие новые функции C++20, реализованные основными поставщиками C++, включая модули, концепции, сопрограммы и диапазоны. В нем даже представлены некоторые используемые в настоящее время библиотечные компоненты, включение которых в стандарт не запланировано до C++23.
💾 Скачать книги
Это авторитетное руководство не ставит своей целью научить вас программировать (об этом читайте в книге Страуструпа "Программирование: принципы и практика использования C++", второе издание), и оно не будет единственным ресурсом, который вам понадобится для овладения C++ (об этом читайте в книге Страуструпа "Язык программирования C++", четвертое издание). Издание и рекомендуемые онлайн-источники). Однако, если вы программист на C или C++, желающий лучше познакомиться с текущим языком C++, или программист, разбирающийся в другом языке, желающий получить точное представление о природе и преимуществах современного C++, вы не найдете более короткого или простого введения.
#cpp #cplusplus #programming #C #си #программирование #подборка_книг #разработка #архитектура
💡 Physics.Math.Code // @physics_lib
Страуструп представляет возможности C++ в контексте поддерживаемых ими стилей программирования, таких как объектно-ориентированное и универсальное программирование. Его экскурсия на удивление обширна. Освещение начинается с основ, затем широко распространяется по более продвинутым темам, уделяя особое внимание новым языковым возможностям. В этом издании рассматриваются многие новые функции C++20, реализованные основными поставщиками C++, включая модули, концепции, сопрограммы и диапазоны. В нем даже представлены некоторые используемые в настоящее время библиотечные компоненты, включение которых в стандарт не запланировано до C++23.
💾 Скачать книги
Это авторитетное руководство не ставит своей целью научить вас программировать (об этом читайте в книге Страуструпа "Программирование: принципы и практика использования C++", второе издание), и оно не будет единственным ресурсом, который вам понадобится для овладения C++ (об этом читайте в книге Страуструпа "Язык программирования C++", четвертое издание). Издание и рекомендуемые онлайн-источники). Однако, если вы программист на C или C++, желающий лучше познакомиться с текущим языком C++, или программист, разбирающийся в другом языке, желающий получить точное представление о природе и преимуществах современного C++, вы не найдете более короткого или простого введения.
#cpp #cplusplus #programming #C #си #программирование #подборка_книг #разработка #архитектура
💡 Physics.Math.Code // @physics_lib
👍58🔥10🗿4❤2❤🔥1
Книги C++ Бьёрн Страуструп.zip
180.8 MB
📚 Подборка книг по C++ от Бьёрне Страуструпа
📘 Язык программирования C++ [2013] Бьёрн Страуструп
📕 Программирование. Принципы и практика с использованием C++ (2е издание) [2016] Страуструп Б.
📗 A Tour of C++ Second Edition [2018] Bjarne Stroustrup
📔 Язык программирования С++. Краткий курс. 2-е издание [2019] Страуструп Бьярне
📙 Язык программирования С++. Специальное издание [2019] Страуструп Бьерн
📓 Дизайн и эволюция языка C++ [2007] Страуструп Б.
📒 Экскурсия по C++, 3-е издание [2023] Страуструп Бьярне
Книга написана Бьерном Страуструпом - автором языка программирования C++ - и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный объектно-ориентированный подход к созданию программных продуктов.
Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук». #cpp #cplusplus #programming #C #си #программирование #подборка_книг #разработка #архитектура
💡 Physics.Math.Code // @physics_lib
📘 Язык программирования C++ [2013] Бьёрн Страуструп
📕 Программирование. Принципы и практика с использованием C++ (2е издание) [2016] Страуструп Б.
📗 A Tour of C++ Second Edition [2018] Bjarne Stroustrup
📔 Язык программирования С++. Краткий курс. 2-е издание [2019] Страуструп Бьярне
📙 Язык программирования С++. Специальное издание [2019] Страуструп Бьерн
📓 Дизайн и эволюция языка C++ [2007] Страуструп Б.
📒 Экскурсия по C++, 3-е издание [2023] Страуструп Бьярне
Книга написана Бьерном Страуструпом - автором языка программирования C++ - и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный объектно-ориентированный подход к созданию программных продуктов.
Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук». #cpp #cplusplus #programming #C #си #программирование #подборка_книг #разработка #архитектура
💡 Physics.Math.Code // @physics_lib
1👍64😭33🔥19😍4❤3👨💻2🫡2
Physics.Math.Code
🔍 Все аксолотли готовятся к первой в России школьной олимпиаде по промышленной разработке PROD, которую проводят Центральный университет, ВШЭ и Т-Банк. В Москвариуме для главного участника организовали рабочее место. #science #наука #образование #разработка…
👨🎓Завершилась масштабная международная олимпиада по промышленной разработке PROD от Центрального университета, Т-Банка и НИУ ВШЭ
Соревнования были посвящены разработке ПО, применяемого в реальных бизнес-процессах бигтех компаний. Участниками PROD стали свыше 4000 школьников из всех регионов России и 23 стран мира, в том числе из Великобритании, Франции, Германии и Китая. Они решали задачи по созданию систем, автоматизации процессов и разработке приложений для повышения эффективности и сокращению затрат компаний.
Финальный этап длился 5 дней и проходил в Москве. Участники в командах создавали полноценные IT-продукты: платформу для проведения соревнований по анализу данных, сервис для обмена книгами, а также проект по созданию программ лояльности для партнеров Т-Банка.
Победителями стали 17 школьников из России и Беларуси. Они получили грант в размере 100% на обучение в Центральном университет, скидку до 90% на совместный бакалавриат Факультета компьютерных наук НИУ ВШЭ и Центрального университета, а также возможность пройти упрощенный отбор на стажировку в Т-Банк. #science #наука #образование #разработка #физика
💡 Physics.Math.Code // @physics_lib
Соревнования были посвящены разработке ПО, применяемого в реальных бизнес-процессах бигтех компаний. Участниками PROD стали свыше 4000 школьников из всех регионов России и 23 стран мира, в том числе из Великобритании, Франции, Германии и Китая. Они решали задачи по созданию систем, автоматизации процессов и разработке приложений для повышения эффективности и сокращению затрат компаний.
Финальный этап длился 5 дней и проходил в Москве. Участники в командах создавали полноценные IT-продукты: платформу для проведения соревнований по анализу данных, сервис для обмена книгами, а также проект по созданию программ лояльности для партнеров Т-Банка.
Победителями стали 17 школьников из России и Беларуси. Они получили грант в размере 100% на обучение в Центральном университет, скидку до 90% на совместный бакалавриат Факультета компьютерных наук НИУ ВШЭ и Центрального университета, а также возможность пройти упрощенный отбор на стажировку в Т-Банк. #science #наука #образование #разработка #физика
💡 Physics.Math.Code // @physics_lib
👍43🔥15🙈8❤3🗿2🫡1
This media is not supported in your browser
VIEW IN TELEGRAM
💦 Моделирование жидкости (англ. fluid simulation) — область компьютерной графики, использующая средства вычислительной гидродинамики для реалистичного моделирования, анимации и визуализации жидкостей, газов, взрывов и других связанных с этим явлений. Имея на входе некую жидкость и геометрию сцены, симулятор жидкости моделирует её поведение и движение во времени, принимая в расчёт множество физических сил, объектов и взаимодействий. Моделирование жидкости широко используется в компьютерной графике и ранжируется по вычислительной сложности от высокоточных вычислений для кинофильмов и спецэффектов до простых аппроксимаций, работающих в режиме реального времени и использующихся преимущественно в компьютерных играх.
Существует несколько конкурирующих методов моделирования жидкости, каждый из которых имеет свои преимущества и недостатки. Наиболее распространёнными являются сеточные методы Эйлера, гидродинамика сглаженных частиц (англ. smoothed particle hydrodynamics — SPH), методы, основанные на завихрениях, и метод решёточных уравнений Больцмана. Эти методы возникли в среде вычислительной гидродинамики и были позаимствованы для практических задач в индустрии компьютерной графики и спецэффектов. Основное требование к данным методам со стороны компьютерной графики — визуальная правдоподобность. Иными словами, если наблюдатель при просмотре не может заметить неестественность анимации, то моделирование считается удовлетворительным. В физике, технике и математике, с другой стороны, основные требования предъявляются к физической корректности и точности моделирования, а не к её визуальному результату.
В компьютерной графике самые ранние попытки решить уравнения Навье — Стокса в трёхмерном пространстве были предприняты в 1996 году Ником Фостером (англ. Nick Foster) и Димитрисом Метаксасом (англ. Dimitris Metaxas). Их работа в качестве основы использовала более раннюю работу по вычислительной гидродинамике, которая была опубликована в 1965 году Харлоу (англ. Harlow) и Уэлшем (англ. Welch). До работы Фостера и Метаксаса многие методы моделирования жидкости были построены на основе специальных систем частиц, методах снижения размерности (типа двухмерные модели мелких водяных объёмов типа луж) и полу-случайных шумовых турбулентных полях. В 1999 году на SIGGRAPH Джос Стэм (англ. Jos Stam) опубликовал метод так называемых «стабильных жидкостей» (англ. Stable Fluids), который использовал полу-лагранжевый метод адвекции и неявные интеграции вязкости для обеспечения безусловно устойчивого поведения жидкости. Это позволило моделировать жидкости со значительно большим временным шагом и в общем привело к более быстрым программам. Позже, в 2001—2002 годах, этот метод был расширен Роном Федкивым вместе со своими сотрудниками, благодаря чему стало возможным обрабатывать сложную модель воды в трёхмерной сцене с использованием метода установленного уровня (англ. Level set method). #математика #физика #наука #gif #образование #разработка_игр #gamedev #math #physics
💡 Physics.Math.Code // @physics_lib
Существует несколько конкурирующих методов моделирования жидкости, каждый из которых имеет свои преимущества и недостатки. Наиболее распространёнными являются сеточные методы Эйлера, гидродинамика сглаженных частиц (англ. smoothed particle hydrodynamics — SPH), методы, основанные на завихрениях, и метод решёточных уравнений Больцмана. Эти методы возникли в среде вычислительной гидродинамики и были позаимствованы для практических задач в индустрии компьютерной графики и спецэффектов. Основное требование к данным методам со стороны компьютерной графики — визуальная правдоподобность. Иными словами, если наблюдатель при просмотре не может заметить неестественность анимации, то моделирование считается удовлетворительным. В физике, технике и математике, с другой стороны, основные требования предъявляются к физической корректности и точности моделирования, а не к её визуальному результату.
В компьютерной графике самые ранние попытки решить уравнения Навье — Стокса в трёхмерном пространстве были предприняты в 1996 году Ником Фостером (англ. Nick Foster) и Димитрисом Метаксасом (англ. Dimitris Metaxas). Их работа в качестве основы использовала более раннюю работу по вычислительной гидродинамике, которая была опубликована в 1965 году Харлоу (англ. Harlow) и Уэлшем (англ. Welch). До работы Фостера и Метаксаса многие методы моделирования жидкости были построены на основе специальных систем частиц, методах снижения размерности (типа двухмерные модели мелких водяных объёмов типа луж) и полу-случайных шумовых турбулентных полях. В 1999 году на SIGGRAPH Джос Стэм (англ. Jos Stam) опубликовал метод так называемых «стабильных жидкостей» (англ. Stable Fluids), который использовал полу-лагранжевый метод адвекции и неявные интеграции вязкости для обеспечения безусловно устойчивого поведения жидкости. Это позволило моделировать жидкости со значительно большим временным шагом и в общем привело к более быстрым программам. Позже, в 2001—2002 годах, этот метод был расширен Роном Федкивым вместе со своими сотрудниками, благодаря чему стало возможным обрабатывать сложную модель воды в трёхмерной сцене с использованием метода установленного уровня (англ. Level set method). #математика #физика #наука #gif #образование #разработка_игр #gamedev #math #physics
💡 Physics.Math.Code // @physics_lib
👍97🔥21❤6❤🔥6🤯4✍3🙈1🫡1
▪️С какой первой книги вы начали изучать программирование и Computer Science ? Понравилась ли вам эта книга или нет?
▪️ Какую книгу вы считаете лучшим вариантом для начала?
▪️ Самая сложная книга, связанная с программированием, с которой вы сталкивались?
▪️Книги VS Курсы VS Метод научного тыка, пока не скомпилируется?
▪️Условный Chat GPT — добро или зло для программиста?
📝 Обсуждаем вопросы здесь
#computer_science #разработка #IT #программирование #code #coding #алгоритмы
💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40❤7🔥7👨💻2👏1
Некоторые структуры данных в программировании:
◾️ Списки. Подходят для хранения и обработки упорядоченных данных. Полезны в управлении задачами, лентах соцсетей и корзинах интернет-магазинов.
◾️ Массивы. Упорядоченная коллекция элементов фиксированного размера. Подходят для ситуаций, где размер коллекции известен или редко меняется.
◾️ Стеки. Следуют принципу «последним пришёл — первым вышел». Используются для реализации операций отмены/повтора в текстовых редакторах или ведения истории просмотров в веб-браузерах.
◾️ Очереди. Работают по принципу «первым пришёл — первым вышел». Подходят для управления заданиями печати, отправки действий пользователя в играх на сервер или обработки сообщений в чат-приложениях.
◾️ Деревья. Организуют данные иерархически. Полезны для представления данных с естественными иерархиями или связями.
◾️ Графы. Состоят из узлов (вершин) и рёбер, соединяющих эти узлы. Используются для моделирования сетей, таких как социальные сети, транспортные сети и компьютерные сети.
◾️ Хэш-таблицы. Позволяют эффективно искать, вставлять и удалять данные. Используют хэш-функцию для сопоставления ключей с соответствующими местами хранения и обеспечивают доступ к сохранённым значениям за постоянное время.
#программирование #разработка #структуры_данных #алгоритмы #IT #computer_science
💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92❤22👨💻9🙈5🌚4✍3🔥2👻2❤🔥1
Media is too big
VIEW IN TELEGRAM
«Стопоходящая машина» — изобретение русского изобретателя и математика Пафнутия Чебышёва. Устройство было представлено на Всемирной выставке в Париже в 1878 году. Особенности стопоходящей машины:
▪️ Преобразовывала вращательное движение в движение по сложной траектории. Ноги машины сначала двигались горизонтально относительно механизма, а потом поднимались и быстро перемещались в исходную точку.
▪️ Из-за сцепления с поверхностью горизонтальное движение приводило к переносу корпуса вперёд.
▪️ Пока две разнесённые по диагонали ноги двигались, две другие оставались неподвижны. Такой ход соответствовал движению лошади или иного четвероногого животного рысью.
▪️ Не могла поворачивать и перемещалась только по прямой.
▪️ Не имела собственного двигателя, поэтому была больше механизмом, чем машиной. Чтобы привести её в движение, необходимо было тянуть за верёвку или подталкивать сзади.
⚙️ LEGO® Technic Строительство мостов: Задача на 100 кг!
🎻 Когда Lego играет на гитаре лучше, чем ты...
⚙️ Lego MindStorm
👾 Что будет, если надолго оставить инженера с конструктором Lego
#техника #конструктор #ARM #программирование #механика #разработка #микроконтроллеры
💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51❤16👍9🤔7❤🔥5
Media is too big
VIEW IN TELEGRAM
7 препятствий и 5 LEGO-роботов, которые умеют шагать
⚙️ LEGO® Technic Строительство мостов: Задача на 100 кг!
🎻 Когда Lego играет на гитаре лучше, чем ты...
⚙️ Lego MindStorm
👾 Что будет, если надолго оставить инженера с конструктором Lego
#техника #конструктор #ARM #программирование #механика #разработка #микроконтроллеры
💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥20❤13✍2🙈2
👨🏻💻 Подборка полезных книг по разработке приложений на Unity 👾
Unity — межплатформенная среда разработки компьютерных игр, разработанная американской компанией Unity Technologies. Unity позволяет создавать приложения, работающие на более чем 25 различных платформах, включающих персональные компьютеры, игровые консоли, мобильные устройства, интернет-приложения и другие. Выпуск Unity состоялся в 2005 году и с того времени идёт постоянное развитие.
Основными преимуществами Unity являются наличие визуальной среды разработки, межплатформенной поддержки и модульной системы компонентов. К недостаткам относят появление сложностей при работе с многокомпонентными схемами и затруднения при подключении внешних библиотек.
📗 Unity in Action, Third Edition [2022] Joseph Hocking
📘 Изучаем C# через разработку игр на Unity. 5-е изд [2022] Ферроне Х.
📘 Разработка игры в Unity. С нуля и до реализации [2021] Денисов
📙 Искусство создания сценариев в Unity [2016] Торн А.
📕 Head First C #, 4-е издание [2020] Эндрю Стеллман, Дженнифер Грин
📒 Unity в действии. Мультиплатформенная разработка на C# [2019] Хокинг Джозеф
📙 Arm Guide for Unity Developers Version 4.0 Optimizing Mobile Gaming Graphics [2017]
📓 Unity in Action. Multiplatform game development in C#, 2nd Edition [2018]
📗 Unity для разработчика. Мобильные мультиплатформенные игры - Джон Мэннинг, Пэрис Батфилд-Эддисон [2018, PDF]
На Unity написаны тысячи игр, приложений, визуализации математических моделей, которые охватывают множество платформ и жанров. При этом Unity используется как крупными разработчиками, так и независимыми студиями.
💡А есть ли среди наших подписчиков разработчики игр, которые используют Unity? Если да, то покажите ваши проекты в комментариях
#разработка_игр #gamedev #game_development #unity #c_sharp #подборка_книг
💡 Physics.Math.Code // @physics_lib
Unity — межплатформенная среда разработки компьютерных игр, разработанная американской компанией Unity Technologies. Unity позволяет создавать приложения, работающие на более чем 25 различных платформах, включающих персональные компьютеры, игровые консоли, мобильные устройства, интернет-приложения и другие. Выпуск Unity состоялся в 2005 году и с того времени идёт постоянное развитие.
Основными преимуществами Unity являются наличие визуальной среды разработки, межплатформенной поддержки и модульной системы компонентов. К недостаткам относят появление сложностей при работе с многокомпонентными схемами и затруднения при подключении внешних библиотек.
📗 Unity in Action, Third Edition [2022] Joseph Hocking
📘 Изучаем C# через разработку игр на Unity. 5-е изд [2022] Ферроне Х.
📘 Разработка игры в Unity. С нуля и до реализации [2021] Денисов
📙 Искусство создания сценариев в Unity [2016] Торн А.
📕 Head First C #, 4-е издание [2020] Эндрю Стеллман, Дженнифер Грин
📒 Unity в действии. Мультиплатформенная разработка на C# [2019] Хокинг Джозеф
📙 Arm Guide for Unity Developers Version 4.0 Optimizing Mobile Gaming Graphics [2017]
📓 Unity in Action. Multiplatform game development in C#, 2nd Edition [2018]
📗 Unity для разработчика. Мобильные мультиплатформенные игры - Джон Мэннинг, Пэрис Батфилд-Эддисон [2018, PDF]
На Unity написаны тысячи игр, приложений, визуализации математических моделей, которые охватывают множество платформ и жанров. При этом Unity используется как крупными разработчиками, так и независимыми студиями.
💡А есть ли среди наших подписчиков разработчики игр, которые используют Unity? Если да, то покажите ваши проекты в комментариях
#разработка_игр #gamedev #game_development #unity #c_sharp #подборка_книг
💡 Physics.Math.Code // @physics_lib
❤29👍15🔥6😍2🙈2🆒1
Media is too big
VIEW IN TELEGRAM
Механизм Даниэля де Брюйна — это шестерёнчатый редуктор, созданный для визуализации числа гугол (10 в 100 степени).
— Состоит из 100 связанных между собой шестерёнок.
— Каждая пара шестерёнок имеет передаточное число 1:10: за десять оборотов первой шестерёнки вторая совершает один оборот.
— Суммарно передаточное число механизма — один гугол.
Когда поворачивают шестерёнку на одном конце, поворачивается следующая шестерёнка со скоростью 1/10. 10 полных вращений первой шестерёнки приводят к единственному повороту второй. Первую шестерёнку нужно повернуть 100 раз, чтобы вторая повернулась 10 раз, а третья — всего 1 раз, и так далее. Чтобы провернуть последнее колесо хоть на зубчик, первое колесо должно совершить полный оборот ровно 1 гугол раз. Де Брюйн заявил, что создал протокол — устройство, собранное из подручных материалов, которое не способно проработать до полного оборота последней шестерёнки.
⚙️ Моделирование решения задачи передвижения автомобилей по песчаному грунту с помощью конструктора LEGO
7 препятствий и 5 LEGO-роботов, которые умеют шагать
⚙️ LEGO® Technic Строительство мостов: Задача на 100 кг!
🎻 Когда Lego играет на гитаре лучше, чем ты...
⚙️ Lego MindStorm
👾 Что будет, если надолго оставить инженера с конструктором Lego
#техника #конструктор #опыты #динамика #механика #разработка #mechanics
💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍44🔥27❤16🤩4😭2⚡1
👨🏻💻 Алгоритмическая задачка для наших программистов. Попробуйте самостоятельно написать алгоритм для расчета данного выражения.
💡 Как можно написать алгоритм для общего случая, когда число под самым внутренним корнем равно n ?
✏️ Обсуждаем задачу здесь в комментариях 🔎
#программирование #IT #разработка #computer_science #алгоритмы #задачи #code #разбор_задач #programming #coding
💡 Physics.Math.Code // @physics_lib
✏️ Обсуждаем задачу здесь в комментариях 🔎
#программирование #IT #разработка #computer_science #алгоритмы #задачи #code #разбор_задач #programming #coding
💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤10🔥6🤔3🤯2🌚1🤗1