bannerbannerbanner
logo
Войти

Технология программирования

В учебном пособии описан процесс разработки приложений информационных систем. Большое внимание уделено архитектуре и технологиям разработки приложений: интерфейсам прикладного программирования, механизмам доступа к данным. Рассматриваются методики разработки пользовательского интерфейса. Изложение материала сопровождается большим количеством иллюстраций, предлагаются вопросы для самопроверки, а также практикум, в котором нашли своё воплощение теоретические вопросы. Работа ориентирована на студентов очного и заочного отделения, изучающих проблемы разработки приложений информационных систем, разработки баз данных, проблемы стандартизации в области информационных систем, моделирования бизнес-процессов.
Рассмотрены основы синтаксиса языка Python на примере дистрибутива Anaconda. Показаны приложения IPython, Spyder IDE, Jupyter Notebook. Описан синтаксис переменных, функций, циклов. Подробно изучаются структуры данных в Python: строки, списки, кортежи, множества и словари. Объясняется понятие классов и их применение в объектно-ориентированном программировании. Описаны возможности библиотеки обработки изображений Pillow, библиотеки Tkinter для создания приложений с графическим интерфейсом. Отдельный раздел посвящен обработке ошибок и исключений в программах. Рассматриваются библиотеки NumPy и Pandas, приводятся практические примеры их использования для анализа и обработки данных. Описана библиотека Matplotlib и ее возможности в сфере визуализации данных.
Мир ChatGPT: Понимание и Применение Искусственного Интеллекта – это всестороннее исследование мира искусственного интеллекта, центральным элементом которого является технология ChatGPT. В книге подробно освещается история развития AI, начиная с ранних концепций Алана Тьюринга и заканчивая современными достижениями в области GPT-4 архитектуры. Читатели узнают о ключевых моментах обучения и разработки ChatGPT, его широком спектре практического применения и взаимодействии с людьми. Кроме того, книга рассматривает актуальные вопросы этики, безопасности и социальной ответственности, связанные с использованием искусственного интеллекта, а также выделяет возможные недостатки и критические моменты. В заключительной части авторы обращаются к будущему AI, оценивая его потенциал и роль в общественной жизни, а также предлагают обдумать основные ценности и принципы, которыми должны руководствоваться разработчики и пользователи искусственного интеллекта.
Перед вами сборник правил написания кода на современном языке JavaScript. На наглядных примерах автор объясняет, как работают последние версии JS, какие приемы в нем можно использовать, чтобы сделать код коротким и чистым, а каких ошибок лучше избегать, чтобы не было багов.
Для реализации API необходимо провести большую работу, но эти усилия не всегда окупаются. Чрезмерное планирование может стать пустой тратой сил, а его недостаток приводит к катастрофическим последствиям. Во втором издании представлены решения для отдельных API и систем из нескольких API, которые позволят вам распределить необходимые ресурсы и достичь требуемого уровня эффективности за оптимальное время. Как соблюсти баланс гибкости и производительности, сохранив надежность и простоту настройки? Четыре эксперта по API объясняют разработчикам, руководителям продуктов и проектов, как максимально увеличить ценность их API, управляя интерфейсами как продуктами с непрерывным жизненным циклом. После покупки предоставляется дополнительная возможность скачать книгу в формате epub.
Учебник состоит из 17 компьютерных практикумов, посвященных вычислительным возможностям программной среды R при решении задач математического анализа и линейной алгебры. Соответствует учебным планам дисциплин «Компьютерный практикум» и «Цифровая математика на языке R и Excel», преподаваемых в Финансовом университете при Правительстве Российской Федерации на первом курсе общеэкономических и управленческих специальностей (программы бакалавриата). В учебнике последовательно излагаются основы языка программирования R с постепенным углублением по мере продвижения по осваиваемым навыкам в применении к высшей математике. Для комфортного программирования на R практикумы ориентированы на популярную интегрированную среду разработки RStudio. Учебник будет полезен студентам, изучающим математический анализ и линейную алгебру и желающим познакомиться с самыми современными вычислительными технологиями. Также он будет полезен тем, кто хочет научиться программировать на языке R и продолжить изучать его применение в статистическом анализе и анализе данных. Учебник может быть интересен студентам магистратуры, аспирантам, научным работникам, учителям, преподавателям университетов.
В данной книге предлагается альтернативный метод создания программ для программируемых логических контроллеров – ПЛК. Рассматривается метод управления контроллерами с помощью программ организованных в виде таблиц. Использование таблиц позволяет наблюдать за выполнением программы в контроллере, без подключения его к компьютеру с установленной средой разработки. Применение табличного программирования для управления оборудованием может упростить разработку программ для ПЛК, ускорить поиск неисправностей, существенно уменьшить время простоев, а также кратно снизить стоимость оборудования и программного обеспечения. В книге рассматриваются основы и особенности табличного программирования, а также примеры решения задач автоматизации с помощью табличных программ. Дополнительно представлена простая среда разработки программ организованных в виде таблиц.
Шаблоны представляют собой одну из наиболее сильных сторон C++, но они все еще остаются недостаточно используемыми, а зачастую и неверно понимаемыми, несмотря на постоянно растущий уровень как языка C++, так и сообщества программистов на этом языке. Во втором издании книги три автора, являющиеся экспертами в данной области, показывают, зачем, когда и как использовать современные шаблоны, чтобы создавать программное обеспечение, более понятное, быстрое, эффективное и легко поддерживаемое. Данное издание описывает новые возможности стандартов C++11, C++14 и C++17 и демонстрирует последние достижения в области шаблонов C++ для создания широкого спектра приложений. Авторы подробно объясняют все новые возможности языка, которые улучшают шаблоны или взаимодействие с ними, рассматривая такие темы, как вариативные шаблоны, обобщенные лямбда-выражения, вывод аргументов шаблонов классов, конструкцию if времени компиляции, передаваемые ссылки и пользовательские литералы. Они также глубоко вникают в фундаментальные концепции языка (такие как категории значений) и полностью охватывают стандартные свойства типов. Книга начинается с основательного учебника, описывающего основные концепции и связанные с ними возможности языка программирования. Остальная часть книги служит всеобъемлющим справочником, уделяющим внимание как подробностям языка, так и методам кодирования, продвинутым технологиям и сложным идиомам программирования шаблонов C++. Множество примеров исходных текстов иллюстрируют абстрактные концепции и наилучшие практические подходы для получения от шаблонов C++ максимальной пользы.Точное понимание поведений шаблонов, позволяющее избежать распространенных ловушекПрименение шаблонов для разработки более эффективного, гибкого и сопровождаемого программного обеспеченияИзучение наиболее эффективных современных идиом и методов программированияПовторное использование кода без потерь производительности и безопасностиПреимущества использования утилит стандартной библиотеки C++ для обобщенного программированияПредварительное знакомство с возможностями концептов в шаблонном программировании
При правильном выборе и применении предметно-ориентированные языки могут существенно упростить сложный код, обеспечить эффективное общение с пользователями, повысить производительность и устранить узкие места разработки. В этой книге известный эксперт в области программного обеспечения Мартин Фаулер предоставляет информацию, которая поможет определиться, следует ли использовать предметно-ориентированные языки для решения стоящих перед вами задач. Если окажется оправданным применение предметно-ориентированных языков, то вам пригодится вторая часть книги, в которой подробно, на конкретных примерах, описаны технологии, применяемые при создании таких языков. Данная книга, по сути, представляет две книги под одной обложкой. Фаулер начинает с обзора общих принципов и концепций, лежащих в основе предметно-ориентированных языков программирования. Читатели узнают, как работают предметно-ориентированные языки, как добиться, чтобы с пользовательским синтаксисом предметно-ориентированного языка было проще работать, чем с синтаксисом таких альтернатив, как XML. Затем автор переходит к подробному рассмотрению примеров, которые помогут разработчикам лучше понять, когда и как использовать ту или иную методику. Фаулер рассматривает как внутренние, так и внешние предметно-ориентированные языки, а также альтернативные вычислительные модели, генерацию кода и другие темы. Методы, описанные в данной книге, могут использоваться в большинстве современных объектно-ориентированных языков программирования. В основном примеры в книге написаны на Java и C#, но в некоторых из них использован язык Ruby. Все главы по возможности организованы в виде самодостаточных частей, а большинство справочных разделов – в знакомом читателю формате описания шаблонов программирования. Из этой книги разработчики получат достаточно информации для того, чтобы принять обоснованное решение об использовании предметно-ориентированных языков в своей работе, а также извлечь из их применения максимальную пользу. В книге освещены следующие темы. – Сравнение предметно-ориентированных языков с различными схемами и библиотеками, а также решение вопроса о достаточных альтернативах. – Применение синтаксических анализаторов и генераторов синтаксических анализаторов, синтаксический анализ внешних предметно-ориентированных языков. – Изучение, сравнение и выбор языковых конструкций предметно-ориентированных языков. – Применение генерации кода и сравнение стратегий генерации кода. – Языковые инструментальные средства для создания предметно-ориентированных языков.
Более двадцати лет опытные программисты во всем мире использовали книгу Мартина Фаулера Рефакторинг, когда им нужно было улучшить проект существующего кода, повысить удобство сопровождения программного обеспечения или облегчить понимание существующего кода. Это – такое долгожданное – новое издание было полностью обновлено, чтобы отразить важные изменения в области программирования. Второе издание книги содержит обновленный каталог рефакторингов и включает примеры кода на JavaScript, а также новые функциональные примеры, демонстрирующие рефакторинг без классов. Как и в первом издании, здесь объясняется, что такое рефакторинг, почему вы должны прибегать к нему, как распознать код, который нуждается в рефакторинге, и как успешно провести его независимо от того, какой язык программирования вы используете. Основные темы книги: – Понимание процесса и общих принципов рефакторинга. – Быстрое применение полезных рефакторингов для облегчения понимания и изменения программ. – Распознавание запаха в коде, который сигнализирует о возможном применении рефакторинга. – Каталог рефакторингов с объяснениями, мотивацией, техникой применения и простыми примерами. – Создание надежных тестов для рефакторингов. – Компромиссы и препятствия на пути рефакторинга.
Tестирование программного обеспечения, поставляемого пользователям, часто бывает болезненным, рискованным и длительным процессом. Перед вами книга, представляющая совершенно новую стратегию разработки – набор принципов и практических методик, обеспечивающих быструю инкрементную поставку высококачественного программного обеспечения. Благодаря автоматизации процессов сборки, установки и тестирования и улучшению взаимодействия разработчиков, тестировщиков и администраторов команда проекта получает возможность поставлять изменения и новые средства в течение считанных часов или даже минут, независимо от размера проекта и сложности его кодовой базы. Авторы начинают с рассмотрения основ процесса быстрой и надежной поставки программного обеспечения с минимальными рисками. Затем они вводят понятие «конвейера развертывания» – автоматизированного процесса, управляющего всеми изменениями проекта, от регистрации изменений до выпуска очередной версии программы. И наконец, в книге обсуждаются способы поддержки непрерывного развертывания, начиная с инструментов управления инфраструктурами, данными и конфигурациями и заканчивая управлением целыми проектами. Авторы предлагают передовые методики, включая автоматизированное управление инфраструктурами, перенос данных и применение средств виртуализации. Для каждой представленной стратегии приведен обзор ключевых проблем, возникающих при ее применении, описаны способы уменьшения рисков и оптимальные методики реализации. В книге рассмотрены следующие вопросы: – автоматизация всех процессов сборки, интеграции, тестирования и развертывания программного обеспечения; – реализация конвейера развертывания на уровне команд и организаций; – улучшение взаимодействия разработчиков, тестировщиков и администраторов; – стратегии инкрементной разработки новых программных средств большими распределенными командами; – реализация эффективных стратегий управления конфигурациями; – автоматизация приемочного тестирования – от анализа требований до реализации процессов; – тестирование производительности, безопасности, доступности и других нефункциональных требований; – реализация непрерывного развертывания с минимальным временем простоя; – управление инфраструктурами, данными, компонентами и зависимостями; – управление рисками, аудит и соответствие проекта регуляторным требованиям и стандартам ведения бизнеса. Книга будет полезна всем участникам процесса поставки – разработчикам, системным администраторам, тестировщикам и менеджерам проектов. Она поможет вашей организации внедрить современную технологию разработки и поставки программного обеспечения, ускорить процесс разработки, повысить надежность поставки и прибыльность проекта.
Эта книга воплощает знания и опыт работы авторов с каркасом Spring Framework и сопутствующими технологиями удаленного взаимодействия, Hibernate, EJB и пр. Она дает возможность читателю не только усвоить основные понятия и принципы работы с Spring Framework, но и научиться рационально пользоваться этим каркасом для построения различных уровней и частей корпоративных приложений на языке Java, включая обработку транзакций, представление веб-содержимого и прочего содержимого, развертывание и многое другое. Полноценные примеры подобных приложений, представленные в этой книге, наглядно демонстрируют особенности совместного применения различных технологий и методик разработки приложений в Spring. Пятое издание этой книги, давно уже пользующейся успехом у читателей, обновлено по новой версии Spring Framework 5 и является самым исчерпывающим и полным руководством по применению Spring среди всех имеющихся. В нем представлен новый функциональный каркас веб-приложений, микрослужбы, совместимость с версией Java 9 и прочие функциональные возможности Spring. Прочитав эту обстоятельную книгу, вы сможете включить в арсенал своих средств весь потенциал Spring для основательного построения сложных приложений. Гибкий, легковесный каркас Spring Framework с открытым кодом продолжает оставаться фактически ведущим в области разработки корпоративных приложений на языке Java и самым востребованным среди разработчиков и программирующих на Java. Он превосходно взаимодействует с другими гибкими, легковесными технологиями Java с открытым кодом, включая Hibernate, Groovy, MyBatis и прочие, а также с платформами Java EE и JPA 2. Эта книга поможет вам: – Выявить новые функциональные возможности в версии Spring Framework 5. – Научиться пользоваться Spring Framework вместе с Java 9. – Овладеть механизмом доступа к данным и обработки транзакций. – Освоить новый функциональный каркас веб-приложений. – Научиться создавать микрослужбы и другие веб-службы.
Стандартная библиотека Python содержит сотни модулей, позволяющих взаимодействовать с операционной системой, интерпретатором и Интернетом. Все они тщательно протестированы и готовы к немедленному использованию для разработки приложений. В этой книге Даг Хеллман, эксперт по языку Python, описывает все основные разделы библиотеки Python 3.x, сопровождая изложение материала компактными примерами исходного кода и результатами их выполнения. Приведенные примеры наглядно демонстрируют возможности каждого из модулей, предлагаемых библиотекой, и пригодны не только для изучения, но и для использования в реальном коде. В книге имеются готовые примеры кода, предназначенного для работы с текстом, структурами данных, значениями даты и времени, файловой системой, процессами, потоками, электронной почтой, пакетами и другими ресурсами. Каждому модулю посвящен отдельный раздел, содержащий ссылки на дополнительные ресурсы, что делает эту книгу идеальным учебным и справочным руководством. В книге рассмотрены новые библиотеки Python 3.x, описаны важные функциональные изменения и даны советы по переносу кода от модулей стандартной библиотеки Python 2.x к их эквивалентам в Python 3.x
Эта классическая книга представляет собой всеобъемлющий источник сведений о языке программирования C# и о связанной с ним инфраструктуре. В 8-м издании книги вы найдете описание функциональных возможностей самых последних версий C# 7.0 и 7.1 и .NET 4.7, а также совершенно новые главы, посвященные легковесной межплатформенной инфраструктуре .NET Core. Перепроектированные инфраструктуры ASP.NET Core 2.0 и Entity Framework (EF) Core 2.0 рассматриваются наряду с последними обновлениями, внесенными в .NET 4.7, которые затронули Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), ASP.NET MVC и ASP.NET Web API. Погрузитесь в книгу и выясните, почему на протяжении более 15 лет она была лидером у разработчиков по всему миру. Сформируйте прочный фундамент в виде знания приемов объектно-ориентированной обработки, атрибутов и рефлексии, обобщений и коллекций, а также множества более сложных тем, которые не раскрываются в других книгах (коды операций CIL, выпуск динамических сборок и т.д.). С помощью настоящей книги вы сможете уверенно использовать язык C# на практике и хорошо ориентироваться в мире NET.
Создание компьютерных систем – дело далеко не простое. По мере того как возрастает их сложность, процессы конструирования соответствующего программного обеспечения становятся все более трудоемкими, причем затраты труда растут экспоненциально. Как и в любой профессии, прогресс в программировании достигается исключительно путем обучения, причем не только на ошибках, но и на удачах – как своих, так и чужих. Книга дает ответы на трудные вопросы, с которыми приходится сталкиваться всем разработчикам корпоративных систем. Автор, известный специалист в области объектно-ориентированного программирования, заметил, что с развитием технологий базовые принципы проектирования и решения общих проблем остаются неизменными, и выделил более 40 наиболее употребительных подходов, оформив их в виде типовых решений. Результат перед вами – незаменимое руководство по архитектуре программных систем для любой корпоративной платформы. Это своеобразное учебное пособие поможет вам не только усвоить информацию, но и передать полученные знания окружающим значительно быстрее и эффективнее, чем это удавалось автору. Книга предназначена для программистов, проектировщиков и архитекторов, которые занимаются созданием корпоративных приложений и стремятся повысить качество принимаемых стратегических решений.
Один из самых креативных и признанных лидеров в индустрии программного обеспечения Кент Бек собрал 77 шаблонов для обслуживания задач ежедневного программирования и написания более читаемого кода. Эта новая коллекция шаблонов предназначена для реализации многих аспектов разработки, включая классы, состояние, поведение, методы, коллекции, инфраструктуры и т.д. Автор использует диаграммы, истории, примеры и эссе для того, чтобы увлечь читателя по ходу освещения шаблонов. Вы обнаружите проверенные решения для управления всем, от именования переменных до проверки исключений. Эта книга предназначена для программистов всех уровней подготовки, особенно для тех, кто применяет в своей практике шаблоны проектирования и методы быстрой разработки. Книга также окажется неоценимым ресурсом для команд разработчиков, ищущих более эффективные методы совместной работы и построения более управляемого ПО.
Автоматизированное тестирование является краеугольным камнем гибкого процесса разработки. Эффективная стратегия тестирования позволяет быстро создать новую функциональность, ускорить обратную связь с пользователями и повысить качество готового продукта. Но для многих разработчиков создание эффективных автоматизированных тестов является новой и незнакомой задачей. Книга Шаблоны тестирования xUnit может служить полным руководством по написанию автоматизированных тестов на основе xUnit – наиболее популярной инфраструктуры модульного тестирования. Специалист по гибким процессам разработки и эксперт по автоматизации тестирования Джерард Месарош описывает 68 проверенных шаблонов, упрощающих написание, понимание и обслуживание тестов. Кроме того, в книге показан процесс получения устойчивых к изменениям повторяемых тестов, что делает их значительно более эффективными с точки зрения затрат. Из-за большого объема полезной информации книга воспринимается как «три книги в одной». В части I приводится подробное описание процессов автоматизации тестирования, включающее в себя как обзор стратегий тестирования, так и низкоуровневые идиомы кодирования теста. В части II приводится каталог 18 часто встречающихся «запахов» тестов и даются рекомендации по определению основной причины проблемы и выбору шаблона, который позволит ее устранить. В части III подробно описан каждый шаблон, включая инструкции по рефакторингу, сопровождающиеся подробными примерами кода на нескольких языках программирования.
Основываясь на многолетнем опыте, эксперты Грегор Хоп и Бобби Вульф рекомендуют асинхронный обмен сообщениями в качестве оптимальной стратегии интеграции корпоративных приложений. Вместе с тем создание и развертывание решений, основанных на обмене сообщениями, представляет собой весьма непростую задачу для разработчиков. В книге «Шаблоны интеграции корпоративных приложений» рассматриваются шаблоны проектирования и приводятся практические примеры интеграции приложений, демонстрирующие преимущества обмена сообщениями и эффективность решений, создаваемых на основе этой технологии. Авторы подчеркивают как преимущества, так и недостатки обмена сообщениями, а так же дают практические советы по созданию кода подключения приложения к системе обмена сообщениями, маршрутизации сообщений и мониторинга состояния. Если вы хотите научиться управлять системой обмена сообщениями и обеспечивать ее поддержку, а также осуществлять мониторинг, эта книга – для вас.
В 1994 году книга «Dessign Patterns» полностью перевернула объектно-ориентированную разработку программного обеспечения, предоставив классические решения повторяющихся задач проектирования. В 1999 году книга «Refactoring» изменила представление о проектировании, показав эффективные способы улучшения кода. В давно ожидаемой книге «Рефакторинг с использованием шаблонов» Джошуа Кериевски кардинально изменил подход к проектированию, объединив шаблоны проектирования с эволюционным процессом рефакторинга. Книга содержит теоретические сведения и практические инструкции по выполнению рефакторингов, управляемых шаблонами проектирования, а именно последовательности низкоуровневых рефакторингов, позволяющих разработчикам безопасно переходить в своих проектах к реализации шаблонов проектирования, по направлению к ним или выполнять рефакторинг с отказом от шаблонов проектирования. Используя код реальных проектов, Кериевски документирует размышления и действия, имевшие место при реальных рефакторингах более чем двух десятков проектов. Параллельно с этим он проясняет различия между разными шаблонами проектирования и предлагает наиболее простые и эффективные пути их реализации.
Учебник предназначен для изучения информатики на углубленном уровне в 10 классах общеобразовательных организаций. Содержание опирается на изученный в 7-9 классах курс информатики для основной школы и разработано в соответствии с Федеральным государственным образовательным стандартом среднего общего образования и Примерной основной образовательной программой среднего общего образования. Рассматриваются теоретические основы информатики, аппаратное и программное обеспечение компьютера, современные информационные и коммуникационные технологии. Учебник входит в учебно-методический комплект для 10-11 классов, включающий также практикум, примерную рабочую программу и методическое пособие.
Популярные книги