LibCoder

Essentials of Compilation: An Incremental Approach in Python

1C Agda Python
Essentials of Compilation: An Incremental Approach in Python
Автор: Siek Jeremy G.
Дата выхода: 2023
Издательство: The MIT Press
Количество страниц: 232
Размер файла: 967,7 КБ
Тип файла: PDF
Добавил: LibCoder
Оглавление
ContentsIntroductionSection 1: AuditingWhat's Covered?Planning Your Auditing StrategyGetting Into the Right MindsetRecording Your FindingsAutomated ToolingPHP InsightsEnlightnLarastanStyle CICode CoverageManual AuditingInvestigating "raw" Database QueriesFinding Incorrect AuthorisationChecking ValidationFinding "Fake Facades"Finding Business Logic in HelpersFinding N+1 QueriesFinding Controllers That Use Other ControllersFinding Logic and Queries in Blade ViewsFinding Hard-Coded CredentialsCheck Open Package RoutesReviewing Project DocumentationSection 2: TestingWhat's Covered?Planning Your Testing StrategyThe Benefits of Writing TestsSpotting Bugs EarlyMaking Future Work and Refactoring EasierChanging the Way You Approach Writing CodeTests-As-DocumentationProve That Bugs ExistStructuring Your TestsDirectory StructureChoosing What To TestTest StructureData ProvidersWriting the TestsPrioritising Mission-Critical Tests FirstWriting the Rest of the TestsBenefits of Writing the Easy Tests FirstPreventing Test FatigueTesting Your UI with Laravel DuskInstallationTesting a Simple FormDusk Pages and SelectorsRunning Failed Tests and GroupsCreating a CI Workflow Using GitHub ActionsUsing an .env.ci FileRunning the Test SuiteLarastanLaravel DuskOutputSection 3: FixingWhat's Covered?Planning Your Fixing StrategyUsing an Error Reporting SystemTypes of ErrorsThe Benefits of an Automated Error Reporting SystemError Reporting Using FlareUptime Checking, Queue Monitoring, and Scheduler MonitoringUptime Monitoring with Oh DearScheduler Monitoring with Oh DearQueue Monitoring with Oh DearUpdating PHP, Laravel, and PackagesUpgrading in Small IncrementsAutomating the Upgrade Using Laravel ShiftPlanning Upgrades EarlyUsing a Suitable Local Development EnvironmentUsing Tests to Fix BugsWhat is Test-Driven Development?The Advantages of Test-Driven DevelopmentThe Disadvantages of Test-Driven DevelopmentFixing a Real Bug Using Test-Driven DevelopmentSafely Removing Dead CodeChecking the Version Control HistoryScream TestLogging or Reporting the UsageRemoving the Code with an Atomic CommitSection 4: ImprovingWhat's Covered?Planning Your Improvement StrategyMaking the Most of PHP's Type SystemUsing Type Hints and Return TypesUnion TypesType Hints and Return Types in ClosuresDRYing Up Your CodeAdvantages of DRYing Up Your CodeWhen to DRY Up Your CodeRefactoring ConditionsReducing Indented CodeReplacing if and elseif with matchUsing the Nullsafe OperatorUsing Database TransactionsAdding the Database TransactionsManually Using Database TransactionsTips for Interacting with Third-Party ServicesUsing Automatic or Manual TransactionsDispatching Queued Jobs inside Database TransactionsImproving the Testability of Your CodeUsing Objects Over ArraysFinal WordsDiscount CodesFlareOh DearStyleCILaravel Security In Depth

Описание

В этом материале разберём тему: language.

Most books about compilers dedicate one chapter to each progressive stage, a structure that hides how language features motivate design choices. Compilers are notoriously difficult programs to teach and understand. By contrast, this innovative textbook provides an incremental approach that allows students to write every single line of code themselves. Essentials of Compilation explains the essential concepts, algorithms, and data structures that underlie modern compilers and lays the groundwork for future study of advanced topics. Jeremy Siek guides the reader in constructing their own compiler in the powerful object-oriented programming language Python, adding complex language features as the book progresses. Already in wide use by students and professionals alike, this rigorous but accessible book invites readers to learn by doing.

Deconstructs the challenge of compiler construction into bite-sized pieces

Enhances learning by connecting language features to compiler design choices

Develops understanding of how programs are mapped onto computer hardware

Classroom-tested, hands-on approach suitable for students and professionals

Extensive ancillary resources include source code and solutions

Если материал оказался полезен — сохраните страницу.

language approach compilers that features students compiler essentials

Частые вопросы

Можно ли скачать «Essentials of Compilation: An Incremental Approach in Python» бесплатно?

Да, «Essentials of Compilation: An Incremental Approach in Python» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.

В каком формате и какого размера файл?

Книга предоставляется в формате PDF, размер файла 967,7 КБ.

Кто автор и когда вышла книга?

автор — Siek Jeremy G., издательство The MIT Press, год выпуска 2023, 232 страниц.

О чём книга «Essentials of Compilation: An Incremental Approach in Python»?

Compilers are notoriously difficult programs to teach and understand.

Похожие материалы