📕 Алгоритмы. Руководство по разработке. 3-е изд. [2022] Скиена Стивен С.
📕The Algorithm Design Manual [2020] Steven S. Skiena
💾 Скачать книги
📝 Алгоритм (лат. algorithmi — от имени среднеазиатского математика Аль-Хорезми) — конечная совокупность точно заданных правил решения некоторого класса задач или набор инструкций, описывающих порядок действий исполнителя для решения определённой задачи. В старой трактовке вместо слова «порядок» использовалось слово «последовательность», но по мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок». Независимые инструкции могут выполняться в произвольном порядке, параллельно, если это позволяют используемые исполнители.
☕️ Для тех, кто захочет задонать на кофе: ВТБ:
📚 2 книги по алгоритмам [RU+EN] популярных авторов [Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн]
#складчина #алгоритмы #математика #программирование #computer_science #дискретная_математика
💡 Physics.Math.Code // @physics_lib
📕The Algorithm Design Manual [2020] Steven S. Skiena
💾 Скачать книги
📝 Алгоритм (лат. algorithmi — от имени среднеазиатского математика Аль-Хорезми) — конечная совокупность точно заданных правил решения некоторого класса задач или набор инструкций, описывающих порядок действий исполнителя для решения определённой задачи. В старой трактовке вместо слова «порядок» использовалось слово «последовательность», но по мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок». Независимые инструкции могут выполняться в произвольном порядке, параллельно, если это позволяют используемые исполнители.
☕️ Для тех, кто захочет задонать на кофе: ВТБ:
+79616572047 (СБП) ЮMoney: 410012169999048📚 2 книги по алгоритмам [RU+EN] популярных авторов [Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн]
„Функции используются для наведения порядка в хаосе алгоритмов.“ —
©️ Бьярне Строуструп известный программист и информатик, создатель языка программирования
#складчина #алгоритмы #математика #программирование #computer_science #дискретная_математика
💡 Physics.Math.Code // @physics_lib
👍35❤21🔥15🤩2🙏2💯2🤝1
📕_Алгоритмы_Руководство_по_разработке_3_е_изд_2022_Скиена_Стивен.zip
107.9 MB
📕 Алгоритмы. Руководство по разработке. 3-е изд. [2022] Скиена Стивен С.
Книга является наиболее полным руководством по разработке эффективных алгоритмов. Первая часть книги содержит практические рекомендации по разработке алгоритмов: приводятся основные понятия, дается анализ алгоритмов, рассматриваются типы структур данных, основные алгоритмы сортировки, операции обхода графов и алгоритмы для работы со взвешенными графами, примеры использования комбинаторного поиска, эвристических методов и динамического программирования. Вторая часть книги содержит обширный список литературы и каталог из 75 наиболее распространенных алгоритмических задач, для которых перечислены существующие программные реализации. В третьем издании расширен набор рандомизированных алгоритмов, алгоритмов хеширования, аппроксимации и квантовых вычислений. Добавлено более 100 новых задач, даны ссылки к реализациям на C, C++ и Java. Книгу можно использовать в качестве справочника по алгоритмам для программистов, исследователей и в качестве учебного пособия для студентов соответствующих специальностей.
📕 The Algorithm Design Manual [2020] Steven S. Skiena
This newly expanded and updated third edition of the best-selling classic continues to take the "mystery" out of designing algorithms, and analyzing their efficiency. It serves as the primary textbook of choice for algorithm design courses and interview self-study, while maintaining its status as the premier practical reference guide to algorithms for programmers, researchers, and students. The reader-friendly Algorithm Design Manual provides straightforward access to combinatorial algorithms technology, stressing design over analysis. The first part, Practical Algorithm Design, provides accessible instruction on methods for designing and analyzing computer algorithms. The second part, the Hitchhiker's Guide to Algorithms, is intended for browsing and reference, and comprises the catalog of algorithmic resources, implementations, and an extensive bibliography. #алгоритмы #математика #программирование #computer_science #дискретная_математика #computer_science #algorithms
💡 Physics.Math.Code // @physics_lib
Книга является наиболее полным руководством по разработке эффективных алгоритмов. Первая часть книги содержит практические рекомендации по разработке алгоритмов: приводятся основные понятия, дается анализ алгоритмов, рассматриваются типы структур данных, основные алгоритмы сортировки, операции обхода графов и алгоритмы для работы со взвешенными графами, примеры использования комбинаторного поиска, эвристических методов и динамического программирования. Вторая часть книги содержит обширный список литературы и каталог из 75 наиболее распространенных алгоритмических задач, для которых перечислены существующие программные реализации. В третьем издании расширен набор рандомизированных алгоритмов, алгоритмов хеширования, аппроксимации и квантовых вычислений. Добавлено более 100 новых задач, даны ссылки к реализациям на C, C++ и Java. Книгу можно использовать в качестве справочника по алгоритмам для программистов, исследователей и в качестве учебного пособия для студентов соответствующих специальностей.
📕 The Algorithm Design Manual [2020] Steven S. Skiena
This newly expanded and updated third edition of the best-selling classic continues to take the "mystery" out of designing algorithms, and analyzing their efficiency. It serves as the primary textbook of choice for algorithm design courses and interview self-study, while maintaining its status as the premier practical reference guide to algorithms for programmers, researchers, and students. The reader-friendly Algorithm Design Manual provides straightforward access to combinatorial algorithms technology, stressing design over analysis. The first part, Practical Algorithm Design, provides accessible instruction on methods for designing and analyzing computer algorithms. The second part, the Hitchhiker's Guide to Algorithms, is intended for browsing and reference, and comprises the catalog of algorithmic resources, implementations, and an extensive bibliography. #алгоритмы #математика #программирование #computer_science #дискретная_математика #computer_science #algorithms
💡 Physics.Math.Code // @physics_lib
🔥45👍21❤18🤩3🙏3👨💻2✍1
🧐 А что если для работы не нужен особо дорогой компьютер?... Да ну нет, бред какой-то...
👨🏻💻 Товарищи инженеры, давайте по одному фото своего рабочего места / сетапа / компьютерного стола в комментарии. Ну и свой род деятельности напишите. Посмотрим корреляцию между сложностью работы и дороговизной оборудования.
🖥 Пару слов о железе — приветствуется.
🖥 или 🖥 для работы ?
🖥 или 🖥 или 🖥 для графики ?
🖥 или🖥 или 🖥 или 🍏 в качестве рабочей OS ?
🖥 или 🍏 ?
#hardware #железо #техника #программирование #ночной_чат #разработка #development #computer_science
💡 Physics.Math.Code // @physics_lib
👨🏻💻 Товарищи инженеры, давайте по одному фото своего рабочего места / сетапа / компьютерного стола в комментарии. Ну и свой род деятельности напишите. Посмотрим корреляцию между сложностью работы и дороговизной оборудования.
#hardware #железо #техника #программирование #ночной_чат #разработка #development #computer_science
💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥56❤17👍14👨💻6🗿5✍1🤩1
📕 Мощный Python: Шаблоны и стратегии работы с современным Python [2025] Максвелл Аарон
📙 Powerful Python: Patterns and Strategies with Modern Python [2025] Maxwell Aaron
💾 Скачать книгу
Эта книга для вас, если вы знакомы с основами Python и освоили практически все, чему могут научить руководства для начинающих. Она также предназначена для тех, кто хочет освоить более продвинутые методы и стратегии, чтобы вы могли делать с Python и программированием больше, чем раньше. Эта книга не для тех, кому нужен простой Python. Как я уже сказал, Python важен и вознаграждает тех, кто им владеет. И эта книга не для тех, кто не имеет амбиций. В письменной форме я предполагаю, что вы хотите построить карьеру, которой будете гордиться, выполняя работу с высокой отдачей. Более того, эта книга не для умственно отсталых. Разница между элитными инженерами и “обычными” программистами заключается в различиях, которые они проводят, в ментальных моделях, которые они используют, и в их способности воспринимать то, что недоступно другим.
☕️ Для тех, кто захочет задонать на кофе:
ВТБ:
🖥 Программируем на Python, 3-е издание (+CD) [2014] Майкл Доусон [RU + EN]
📗 Python. Исчерпывающее руководство [2023] Бизли Д.
📒 Python для хакеров [2023] Ли Воган
#python #программирование #разработка #IT
💡 Physics.Math.Code // @physics_lib
📙 Powerful Python: Patterns and Strategies with Modern Python [2025] Maxwell Aaron
💾 Скачать книгу
Эта книга для вас, если вы знакомы с основами Python и освоили практически все, чему могут научить руководства для начинающих. Она также предназначена для тех, кто хочет освоить более продвинутые методы и стратегии, чтобы вы могли делать с Python и программированием больше, чем раньше. Эта книга не для тех, кому нужен простой Python. Как я уже сказал, Python важен и вознаграждает тех, кто им владеет. И эта книга не для тех, кто не имеет амбиций. В письменной форме я предполагаю, что вы хотите построить карьеру, которой будете гордиться, выполняя работу с высокой отдачей. Более того, эта книга не для умственно отсталых. Разница между элитными инженерами и “обычными” программистами заключается в различиях, которые они проводят, в ментальных моделях, которые они используют, и в их способности воспринимать то, что недоступно другим.
☕️ Для тех, кто захочет задонать на кофе:
ВТБ:
+79616572047 (СБП) ЮMoney: 410012169999048📗 Python. Исчерпывающее руководство [2023] Бизли Д.
📒 Python для хакеров [2023] Ли Воган
#python #программирование #разработка #IT
💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
❤24👍15🔥5👨💻2
Powerful_Python_Patterns_and_Strategies_with_Modern_Python_2025.zip
5.6 MB
📕 Мощный Python: Шаблоны и стратегии работы с современным Python [2025] Максвелл Аарон
📙 Powerful Python: Patterns and Strategies with Modern Python [2025] Maxwell Aaron
После того, как вы овладеете основами Python, как вам достичь 1% лучших результатов? Как вы уделяете время изучению тем, которые приносят наибольшую пользу производственным инженерам и специалистам по обработке данных, не отвлекаясь на информацию, которая практически не используется в реальном мире? Эта книга отвечает на эти и многие другие вопросы.
Эта уникальная книга, основанная на карьере автора Аарона Максвелла в области разработки программного обеспечения в Кремниевой долине, посвящена основным принципам Python, которые ускоряют все остальное: 5% знаний в области программирования, благодаря которым остальные 95% падают как костяшки домино. Именно эти знания помогут вам быстро стать выдающимся программистом на Python.
▪️ Научитесь думать как питонист:
— Изучите продвинутое мышление на Python.
— Создавайте списки, диктовки и другие структуры данных, используя высокоуровневый, читаемый и поддерживаемый синтаксис
— Изучите абстракции функций более высокого порядка, которые составляют основу библиотек Python
— Изучите инструмент метапрограммирования Python, чтобы найти бесценные шаблоны повторного использования кода
— Освоите модель ошибок Python и узнайте, как использовать ее в своем собственном коде
— Ознакомьтесь с более мощными и продвинутыми инструментами объектной системы Python
— Углубитесь в автоматизированное тестирование и TDD в Python
— Узнайте, как ведение журнала в Python помогает вам быстрее устранять неполадки и отлаживать
Python стал основным языком современных вычислений. Тезис этой книги заключается в том, что Python - самый важный язык программирования в современном мире… с огромными наградами для тех, кто овладеет им в совершенстве. Эта книга предназначена для того, чтобы научить вас приемам, шаблонам и инструментам, которые позволят вам постоянно совершенствовать свои навыки работы со всем, что может предложить Python. Если вы хотя бы часть времени будете писать код на Python, эта книга значительно расширит ваши возможности и повысит скорость, с которой вы это делаете. А также сократите время, затрачиваемое на отладку.
▪️Для кого предназначена эта книга: Эта книга для вас, если вы знакомы с основами Python и освоили практически все, чему могут научить руководства для начинающих. Она также предназначена для тех, кто хочет освоить более продвинутые методы и стратегии, чтобы вы могли делать с Python и программированием больше, чем раньше. Эта книга не для тех, кому нужен простой Python. Как я уже сказал, Python важен и вознаграждает тех, кто им владеет. И эта книга не для тех, кто не имеет амбиций. В письменной форме я предполагаю, что вы хотите построить карьеру, которой будете гордиться, выполняя работу с высокой отдачей. Более того, эта книга не для умственно отсталых. Разница между элитными инженерами и “обычными” программистами заключается в различиях, которые они проводят, в ментальных моделях, которые они используют, и в их способности воспринимать то, что недоступно другим. #python #программирование #разработка #IT
💡 Physics.Math.Code // @physics_lib
📙 Powerful Python: Patterns and Strategies with Modern Python [2025] Maxwell Aaron
После того, как вы овладеете основами Python, как вам достичь 1% лучших результатов? Как вы уделяете время изучению тем, которые приносят наибольшую пользу производственным инженерам и специалистам по обработке данных, не отвлекаясь на информацию, которая практически не используется в реальном мире? Эта книга отвечает на эти и многие другие вопросы.
Эта уникальная книга, основанная на карьере автора Аарона Максвелла в области разработки программного обеспечения в Кремниевой долине, посвящена основным принципам Python, которые ускоряют все остальное: 5% знаний в области программирования, благодаря которым остальные 95% падают как костяшки домино. Именно эти знания помогут вам быстро стать выдающимся программистом на Python.
▪️ Научитесь думать как питонист:
— Изучите продвинутое мышление на Python.
— Создавайте списки, диктовки и другие структуры данных, используя высокоуровневый, читаемый и поддерживаемый синтаксис
— Изучите абстракции функций более высокого порядка, которые составляют основу библиотек Python
— Изучите инструмент метапрограммирования Python, чтобы найти бесценные шаблоны повторного использования кода
— Освоите модель ошибок Python и узнайте, как использовать ее в своем собственном коде
— Ознакомьтесь с более мощными и продвинутыми инструментами объектной системы Python
— Углубитесь в автоматизированное тестирование и TDD в Python
— Узнайте, как ведение журнала в Python помогает вам быстрее устранять неполадки и отлаживать
Python стал основным языком современных вычислений. Тезис этой книги заключается в том, что Python - самый важный язык программирования в современном мире… с огромными наградами для тех, кто овладеет им в совершенстве. Эта книга предназначена для того, чтобы научить вас приемам, шаблонам и инструментам, которые позволят вам постоянно совершенствовать свои навыки работы со всем, что может предложить Python. Если вы хотя бы часть времени будете писать код на Python, эта книга значительно расширит ваши возможности и повысит скорость, с которой вы это делаете. А также сократите время, затрачиваемое на отладку.
▪️Для кого предназначена эта книга: Эта книга для вас, если вы знакомы с основами Python и освоили практически все, чему могут научить руководства для начинающих. Она также предназначена для тех, кто хочет освоить более продвинутые методы и стратегии, чтобы вы могли делать с Python и программированием больше, чем раньше. Эта книга не для тех, кому нужен простой Python. Как я уже сказал, Python важен и вознаграждает тех, кто им владеет. И эта книга не для тех, кто не имеет амбиций. В письменной форме я предполагаю, что вы хотите построить карьеру, которой будете гордиться, выполняя работу с высокой отдачей. Более того, эта книга не для умственно отсталых. Разница между элитными инженерами и “обычными” программистами заключается в различиях, которые они проводят, в ментальных моделях, которые они используют, и в их способности воспринимать то, что недоступно другим. #python #программирование #разработка #IT
💡 Physics.Math.Code // @physics_lib
1👍38❤23🔥5⚡2🗿1
📕 Мощный Python: Шаблоны и стратегии работы с современным Python [2025] Максвелл Аарон
📙 Powerful Python: Patterns and Strategies with Modern Python [2025] Maxwell Aaron
💾 Скачать книгу
В прошлом посте выходила EN-книга. Теперь один из наших подписчиков отправил мне RU-версию этой книги, поэтому я делюсь с вами со всеми.
☕️ Для тех, кто захочет задонать на кофе:
ВТБ:
Язык Python является настоящим лингва франка для современного мира вычислений. Основной тезис этой книги: Python представляет собой важнейший язык программирования нашего времени, открывающий огромные возможности для тех, кто им владеет. Читая ее, вы познакомитесь с техниками, паттернами и инструментами, которые позволят вам вывести свои навыки использования Python на новый уровень. Если вы хотя бы иногда пишете код на этом языке, с помощью книги вы значительно расширите свои возможности, повысите скорость работы и сократите время, затрачиваемое на отладку кода.
#python #программирование #разработка #IT
💡 Physics.Math.Code // @physics_lib
📙 Powerful Python: Patterns and Strategies with Modern Python [2025] Maxwell Aaron
💾 Скачать книгу
В прошлом посте выходила EN-книга. Теперь один из наших подписчиков отправил мне RU-версию этой книги, поэтому я делюсь с вами со всеми.
☕️ Для тех, кто захочет задонать на кофе:
ВТБ:
+79616572047 (СБП) ЮMoney: 410012169999048Язык Python является настоящим лингва франка для современного мира вычислений. Основной тезис этой книги: Python представляет собой важнейший язык программирования нашего времени, открывающий огромные возможности для тех, кто им владеет. Читая ее, вы познакомитесь с техниками, паттернами и инструментами, которые позволят вам вывести свои навыки использования Python на новый уровень. Если вы хотя бы иногда пишете код на этом языке, с помощью книги вы значительно расширите свои возможности, повысите скорость работы и сократите время, затрачиваемое на отладку кода.
#python #программирование #разработка #IT
💡 Physics.Math.Code // @physics_lib
👍40❤7🔥5🤩3
📕_Мощный_Python_Шаблоны_и_стратегии_работы_с_современным_Python.zip
6.3 MB
📕 Мощный Python: Шаблоны и стратегии работы с современным Python [2025] Максвелл Аарон
Как стать экспертом в создании сложных и мощных приложений на Python, не тратя время на повторение уже известных основ или перечисление ненужных функций? Аарон Максвелл фокусируется на первопринципах Python, которые действуют подобно катализаторам для всего остального: достаточно получить 5% знаний в области программирования, чтобы остальные 95 % подтянулись автоматически.
Материал данной книги охватывает ключевые аспекты Python, многие из которых не новы, но крайне недооценены или неправильно поняты. Эти концепции окажутся чрезвычайно полезными для всех Python-разработчиков. #python #программирование #разработка #IT
📙 Powerful Python: Patterns and Strategies with Modern Python [2025] Maxwell Aaron
💡 Physics.Math.Code // @physics_lib
Как стать экспертом в создании сложных и мощных приложений на Python, не тратя время на повторение уже известных основ или перечисление ненужных функций? Аарон Максвелл фокусируется на первопринципах Python, которые действуют подобно катализаторам для всего остального: достаточно получить 5% знаний в области программирования, чтобы остальные 95 % подтянулись автоматически.
Материал данной книги охватывает ключевые аспекты Python, многие из которых не новы, но крайне недооценены или неправильно поняты. Эти концепции окажутся чрезвычайно полезными для всех Python-разработчиков. #python #программирование #разработка #IT
📙 Powerful Python: Patterns and Strategies with Modern Python [2025] Maxwell Aaron
💡 Physics.Math.Code // @physics_lib
👍36❤6🔥6🤩2💯1🤝1
📗 Изучаем Kali Linux. Проверка защиты, тестирование на проникновение, этичный хакинг [2025] Рик Мессье
📘 Learning Kali Linux: security testing, penetration testing and ethical hacking [2024] Ric Messier
💾 Скачать книгу RU + EN
Промокод на - 35 % : MATHCODE в издательстве ПИТЕР
Рик Мессье — автор, консультант и преподаватель, имеющий сертификаты CCSP, GCP ACE, AWS CCP, GCIH, GSEC, CEH и CISSP. Опубликовал несколько книг по информационной безопасности и цифровой криминалистике. Имеет многолетний опыт работы в области информационных технологий и информационной безопасности. Занимал различные должности: программиста, системного администратора, сетевого инженера, менеджера по технике безопасности, инженера VoIP, консультанта и профессора. В настоящее время — директор по киберакадемическим программам в Circadence, ранее — директор программы по кибербезопасности и цифровой криминалистике в Champlain College.
☕️ Для тех, кто захочет задонать на кофе:
ВТБ:
Некоторые книги Рика Мессье: «Network Forensics», «CEH v11 Certified Ethical Hacker Study Guide», «Программирование на RUST».
#python #cpp #kali #kalilinux #linux #хакинг #безопасность #программирование #разработка #IT
💡 Physics.Math.Code // @physics_lib
📘 Learning Kali Linux: security testing, penetration testing and ethical hacking [2024] Ric Messier
💾 Скачать книгу RU + EN
Промокод на - 35 % : MATHCODE в издательстве ПИТЕР
Рик Мессье — автор, консультант и преподаватель, имеющий сертификаты CCSP, GCP ACE, AWS CCP, GCIH, GSEC, CEH и CISSP. Опубликовал несколько книг по информационной безопасности и цифровой криминалистике. Имеет многолетний опыт работы в области информационных технологий и информационной безопасности. Занимал различные должности: программиста, системного администратора, сетевого инженера, менеджера по технике безопасности, инженера VoIP, консультанта и профессора. В настоящее время — директор по киберакадемическим программам в Circadence, ранее — директор программы по кибербезопасности и цифровой криминалистике в Champlain College.
☕️ Для тех, кто захочет задонать на кофе:
ВТБ:
+79616572047 (СБП) ЮMoney: 410012169999048Некоторые книги Рика Мессье: «Network Forensics», «CEH v11 Certified Ethical Hacker Study Guide», «Программирование на RUST».
#python #cpp #kali #kalilinux #linux #хакинг #безопасность #программирование #разработка #IT
💡 Physics.Math.Code // @physics_lib
👍28❤8🔥4❤🔥1😍1👨💻1🗿1
Learning Kali Linux RU+EN.zip
30.1 MB
📗 Изучаем Kali Linux. Проверка защиты, тестирование на проникновение, этичный хакинг [2025] Рик Мессье
📘 Learning Kali Linux: security testing, penetration testing and ethical hacking [2024] Ric Messier
Дистрибутив Kali Linux, включающий сотни встроенных утилит, позволяет быстро приступить к тестированию безопасности. Однако наличие такого количества инструментов в арсенале Kali Linux может ошеломить. Во втором издании описываются обновленные возможности утилит и подробно рассматриваются цифровая криминалистика и реверс-инжиниринг.
Автор не ограничивается рамками тестирования безопасности и дополнительно рассказывает о криминалистическом анализе, в том числе анализе дисков и памяти, а также базовом анализе вредоносных программ.
▪️Во втором издании описываются обновленные возможности утилит и подробно рассматриваются цифровая криминалистика и реверс-инжиниринг.
▪️Познакомитесь с широким спектром инструментов, доступных в Kali Linux.
▪️Изучите основы тестирования на проникновение на протяжении всего жизненного цикла атаки.
▪️Познакомитесь с расширенными инструментами Kali для применения передовых методов атак.
▪️Автор не ограничивается рамками тестирования безопасности и дополнительно рассказывает о криминалистическом анализе, в том числе анализе дисков и памяти, а также базовом анализе вредоносных программ.
#python #cpp #kali #kalilinux #linux #хакинг #безопасность #программирование #разработка #IT
💡 Physics.Math.Code // @physics_lib
📘 Learning Kali Linux: security testing, penetration testing and ethical hacking [2024] Ric Messier
Дистрибутив Kali Linux, включающий сотни встроенных утилит, позволяет быстро приступить к тестированию безопасности. Однако наличие такого количества инструментов в арсенале Kali Linux может ошеломить. Во втором издании описываются обновленные возможности утилит и подробно рассматриваются цифровая криминалистика и реверс-инжиниринг.
Автор не ограничивается рамками тестирования безопасности и дополнительно рассказывает о криминалистическом анализе, в том числе анализе дисков и памяти, а также базовом анализе вредоносных программ.
▪️Во втором издании описываются обновленные возможности утилит и подробно рассматриваются цифровая криминалистика и реверс-инжиниринг.
▪️Познакомитесь с широким спектром инструментов, доступных в Kali Linux.
▪️Изучите основы тестирования на проникновение на протяжении всего жизненного цикла атаки.
▪️Познакомитесь с расширенными инструментами Kali для применения передовых методов атак.
▪️Автор не ограничивается рамками тестирования безопасности и дополнительно рассказывает о криминалистическом анализе, в том числе анализе дисков и памяти, а также базовом анализе вредоносных программ.
#python #cpp #kali #kalilinux #linux #хакинг #безопасность #программирование #разработка #IT
💡 Physics.Math.Code // @physics_lib
🔥41👍19❤13👨💻3🤩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
❤93🔥53👍27🤔3👨💻1🙈1🤝1