Crystal Programming. Введение на основе проекта в создание эффективных, безопасных и читаемых веб-приложений и приложений CLI - Джордж Дитрих
- Дата:12.07.2024
- Категория: Компьютеры и Интернет / Программирование
- Название: Crystal Programming. Введение на основе проекта в создание эффективных, безопасных и читаемых веб-приложений и приложений CLI
- Автор: Джордж Дитрих
- Просмотров:0
- Комментариев:0
Шрифт:
Интервал:
Закладка:
Джордж Дитрих
Гильерме Берналь
Crystal Programming
Введение на основе проекта в создание эффективных, безопасных и читаемых веб-приложений и приложений CLI
В будущее Crystal; пусть он будет таким же ярким, как бриллиант.
- George Dietrich
Моей любимой жене, которая поддерживает меня во всем.
- Guilherme Bernal
О издании
Crystal Programming
Copyright © 2022 Packt Publishing
Все права защищены. Никакая часть этой книги не может быть воспроизведена, сохранена в поисковой системе или передана в любой форме и любыми средствами без предварительного письменного разрешения издателя, за исключением случаев включения кратких цитат в критические статьи или обзоры.
При подготовке этой книги были приложены все усилия, чтобы обеспечить точность представленной информации. Однако информация, содержащаяся в этой книге, продается без каких-либо гарантий, явных или подразумеваемых. Ни авторы, ни Packt Publishing, ни ее дилеры и дистрибьюторы не несут ответственности за любой ущерб, причиненный или предположительно причиненный этой книгой, прямо или косвенно.
Packt Publishing постаралась предоставить информацию о товарных знаках обо всех компаниях и продуктах, упомянутых в этой книге, используя соответствующие прописные буквы. Однако Packt Publishing не может гарантировать точность этой информации.
Group Product Manager: Alok Dhuri
Publishing Product Manager: Shweta Bairoliya
Senior Editor: Nisha Cleetus
Content Development Editor: Nithya Sadanandan
Technical Editor: Maran Fernandes
Copy Editor: Safis Editing
Project Coordinator: Deeksha Thakkar
Proofreader: Safis Editing
Indexer: Subalakshmi Govindhan
Production Designer: Vijay Kamble
Marketing Coordinator: Sonakshi Bubbar
First published: July 2022
Production reference: 1130522
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-80181-867-4
www.packt.com
Составители
Об авторах
Джордж Дитрих — инженер-программист, поклонник открытого исходного кода и модератор сообщества Crystal. Он имеет степень магистра наук в области информационных систем Интернета и степень бакалавра наук в области информационных наук.
Гильерме Берналь — технический директор Cubos Tecnologia. Он имеет степень бакалавра в области управления ИТ. Гильермс стал соучредителем компании по разработке программного обеспечения и нескольких технологических стартапов, в том числе одного, ориентированного на обучение навыкам программирования нового поколения разработчиков. Он также является двукратным финалистом мирового конкурса по программированию ACM ICPC.
О рецензенте
Брайан Кардифф создает программное обеспечение для других уже более 20 лет. Он мог играть множество ролей в процессе разработки: сбор требований, проверка прототипа, кодирование, развертывание и обслуживание. За 15 лет работы в Manas.Tech он присоединился к Ари Боренцвейгу и Хуану Вайнерману, чтобы придать форму Crystal. Ему нравится создавать инструменты для технических и нетехнических людей. В основном благодаря Crystal он стал сотрудником сообщества открытого исходного кода. Он также ознакомился с книгой Иво Бальберта и Саймона Сен-Лорана «Программирование кристалла: создание высокопроизводительных, безопасных и параллельных приложений». Работая полный рабочий день в отрасли, он старается поддерживать связь с академическими и исследовательскими языками программирования и формальными методами.
Я хотел бы поблагодарить мою жену и дочь за их постоянную поддержку во всем. различные проекты, которыми я продолжаю заниматься.
- Brian Cardiff
Предисловие
Язык программирования Crystal разработан с учетом потребностей как людей, так и компьютеров. Он обеспечивает легко читаемый синтаксис, который компилируется в эффективный код.
В этой книге мы собираемся изучить все, что может предложить Кристалл. Мы начнем с представления языка, включая его основные синтаксические и семантические особенности. Далее мы углубимся в создание нового проекта Crystal, рассказав, как создать приложение на основе CLI, которое потребует использования более продвинутых функций, таких как операции ввода-вывода, параллелизм и привязки C.
В третьей части этой книги мы узнаем, как использовать внешние библиотеки в виде Crystal Shards. Затем мы воспользуемся этими знаниями, пройдя процесс создания веб-приложения с использованием Athena Framework.
Четвертая часть книги посвящена одной из самых мощных возможностей Crystal: метапрограммированию. Здесь мы научимся использовать макросы, аннотации и самоанализ типов во время компиляции. Затем мы узнаем, как их можно объединить для реализации некоторых довольно мощных функций.
В завершение мы представим некоторые вспомогательные функции Crystal, например способы документирования, тестирования и развертывания программ Crystal, а также способы автоматизации этих процессов путем внедрения CI в ваш рабочий процесс.
Важная заметка:
Эта книга предназначена для Crystal версии 1.4.x. Будущие версии также должны работать, но не будут охватывать новые добавленные функции.
Для кого эта книга
Эта книга будет полезна разработчикам, желающим изучить программирование Crystal, а также всем, кто хочет улучшить свои способности решать реальные проблемы с помощью языка. Ожидается опыт разработки приложений на любом другом языке программирования. Однако предварительные знания Crystal не требуются.
О чем эта книга
Глава 1 «Введение в Crystal» содержит краткое введение в Crystal, включая его историю, ключевые концепции и цели. Эта глава также будет включать информацию о настройке Crystal, а также информацию об соглашениях, которые будут использоваться на протяжении всей книги.
Глава 2 «Основы семантики и особенности Crystal» знакомит вас с написанием кода Crystal, начиная с самых основ и заканчивая наиболее распространенными методами. Он также исследует распространенные типы и операции из стандартной библиотеки.
Глава 3 «Объектно-ориентированное программирование» углубляет использование объектно-ориентированных функций языка, обучая вас созданию новых типов с настраиваемыми функциями — основного инструмента каждой нетривиальной программы.
Глава 4 «Изучение Crystal посредством написания интерфейса командной строки» описывает настройку проекта CLI и пошаговую реализацию первоначальной реализации.
Глава 5 «Операции ввода-вывода» развивает предыдущую главу и представляет операции ввода-вывода как средство обработки ввода и вывода вместо жестко закодированных строк.
Глава 6 «Параллелизм» начинается с рассмотрения функций параллелизма Crystal, а затем используется то, что было изучено ранее, для обеспечения параллельности программы CLI.
Глава 7, «Взаимодействие C», демонстрирует, как можно использовать библиотеки C в программе Crystal путем привязки libnotify для уведомления программы CLI.
Глава 8 «Использование внешних библиотек» знакомит с командой shards и способами ее поиска.
Глава 9 «Создание веб-приложения с помощью Athena» описывает создание простого веб-приложения для блога с использованием Athena Framework, используя многие из его функций.
Глава 10 «Работа с макросами» представляет собой введение в мир метапрограммирования путем изучения макросов Crystal.
Глава 11 «Введение в аннотации» рассказывает о том, как определять,
- QT 4: программирование GUI на С++ - Жасмин Бланшет - Программирование
- C# для профессионалов. Том II - Симон Робинсон - Программирование
- Как спроектировать современный сайт - Чои Вин - Программирование
- Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 - Александр Фролов - Программирование
- Краткое введение в программирование на Bash - Гарольд Родригес - Программирование
- Язык программирования C#9 и платформа .NET5 - Эндрю Троелсен - Программирование
- Каждому проекту своя методология - Алистэр Коуберн - Программирование
- Разработка ядра Linux - Роберт Лав - Программирование
- Графические интерфейсы пользователя Java - Тимур Сергеевич Машнин - Программирование
- C# 4.0: полное руководство - Герберт Шилдт - Программирование