An Illumination of the Template Enigma : Software Code Generation with Templates

Total Page:16

File Type:pdf, Size:1020Kb

An Illumination of the Template Enigma : Software Code Generation with Templates An illumination of the template enigma : software code generation with templates Citation for published version (APA): Arnoldus, B. J. (2011). An illumination of the template enigma : software code generation with templates. Technische Universiteit Eindhoven. https://doi.org/10.6100/IR693494 DOI: 10.6100/IR693494 Document status and date: Published: 01/01/2011 Document Version: Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers) Please check the document version of this publication: • A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal. If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement: www.tue.nl/taverne Take down policy If you believe that this document breaches copyright please contact us at: [email protected] providing details and we will investigate your claim. Download date: 11. Oct. 2021 An Illumination of the Template Enigma Software Code Generation with Templates PROEFSCHRIFT ter verkrijging van de graad van doctor aan de Technische Universiteit Eindhoven, op gezag van de rector magnificus, prof.dr.ir. C.J. van Duijn, voor een commissie aangewezen door het College voor Promoties in het openbaar te verdedigen op dinsdag 1 februari 2011 om 16.00 uur door Bastiaan Jeroen Arnoldus geboren te Amstelveen Dit proefschrift is goedgekeurd door de promotor: prof.dr. M.G.J. van den Brand Copromotoren: dr.ir. J.J. Brunekreef en dr. A. Serebrenik An Illumination of the Template Enigma Software Code Generation with Templates B.J. Arnoldus Promotor: prof.dr. M.G.J. van den Brand (Technische Universiteit Eindhoven) Copromotoren: dr.ir. J.J. Brunekreef (Hogeschool van Amsterdam) dr. A. Serebrenik (Technische Universiteit Eindhoven) Overige leden kerncommissie: prof.dr.rer.nat.habil. U. Aßmann (Technische Universität Dresden) prof.dr. P. Klint (Centrum voor Wiskunde en Informatica) prof.dr. J.J. Lukkien (Technische Universiteit Eindhoven) Het werk in dit proefschrift is uitgevoerd onder auspiciën van de onder- zoekschool IPA (Instituut voor Programmatuurkunde en Algoritmiek). IPA dissertation series 2011-02. A catalogue record is available from the Eindhoven University of Technology Library ISBN: 978-90-386-2418-1 Druk: Printservice Technische Universiteit Eindhoven Omslagontwerp: Raymond van der Aa c B.J. Arnoldus, 2010. All rights reserved. No part of this publication may be reproduced, stored in a re- trieval system, or transmitted, in any form or by any means, electronically, mechan- ically, photocopying, recording or otherwise, without prior permission of the author. Voor: Antonius Arnoldus Monique Arnoldus-Zuiver en Martijn Jan-Willem Arnoldus Dankwoord ort wil ik de mensen bedanken die me hebben geholpen bij mijn onderzoek en het schrijven van mijn proefschrift. Als eerste mijn K promotor Mark van den Brand, die mij tijdens een college verzocht “na te blijven”. Ik wil je bedanken voor de discussies, het delen van gedachten en de begeleiding om dit proefschrift gestalte te geven. Naast de promotor werd ik bijgestaan door de copromotoren Jacob Brunekreef en Alexander Serebrenik. Jacob dank ik voor voor de begeleiding vanuit de Hogeschool van Amsterdam, waar je ervoor zorgde dat ik mijn onderwerp kon behouden. Alexander ben ik erkentelijk voor de ondersteuning bij het formaliseren van mijn theorieën en gedachten. Jeanot Bijpost dank ik voor zijn begeleiding vanuit Mattic. Ik wil de overige leden van de leescommissie, bestaande uit prof.dr.rer.nat.habil. U. Aßmann, prof.dr. P. Klint en prof.dr. J.J. Lukkien, bedanken voor het beoor- delen van mijn proefschrift. Tijdens de verdediging zal ik worden begeleid door de paranimfen Marcel van Amstel en Stephan de Gruijter: sine protectione nulla securitas. De studenten die, gedurende mijn onderzoek, projecten hebben uitgevoerd: Robin Boon, Wouter Bruggeman, Arjan van der Meer, Jos Peeters, Guido Smeets, Maurice van der Star en Aram Verstegen. Ik dank medepromovendi en Braga ’06 lotgenoten: Superbockmeister Zvezdan Protic en Luc –is lost– En- gelen. Loek Cleophas: nooit gedacht dat ik ooit je proefschrift “stuk” zou lezen. Ik dank Martin Bravenboer voor de discussie op het gebied van ambiguïteiten, Jurgen Vinju voor de technische ondersteuning bij ASF+SDF en Sander Bakkes voor zijn LATEX bestanden. Ik ben de Hogeschool van Amsterdam en namens de hogeschool, Marjan Freriks en Kees Rijsenbrij, zeer erkentelijk voor het mogelijk maken van mijn promotieplek. Ik bedank Wilko Oskam voor het vinden van de parel in het woud der woorden en Raymond van der Aa voor de uitbeelding. Zonder Arnim Eijkhoudt en Jan Derriks was er geen bereikbare Oege. Hayco de Jong zorgde voor een segmentation fault. Zonder Yvette Letiche-le Noble, Janet Hofstra en Mark Thomas had ik geen toegang tot Wandelgangen Informatiesysteem. Verder dank ik mijn oud-kamergenoten Anneke Baas, Daan van den Berg, Wilma van Hoogenhuyze en Hans van Koolbergen. Tot slot, Niels van Galen Last, Robin den Held, Dominiek ter Heide, Tristan Suerink, Yme van der Velden, Sil Westerveld; stealth start-ups, “Bestijg de trein nooit zonder uw valies met dromen”, 15-daagse ensembleverwachtingen, bandbreedte, ambulances, Paul, Kanji, maar vooral ntsk ntsk ntsk. Jeroen Arnoldus amsterdam, december 2010 Contents Cover i Contents xi 1 Introduction 1 1.1 Process of Designing . 1 1.2 Level of Abstraction . 3 1.3 Code Generation . 6 1.4 Homogeneous Code Generators . 9 1.5 Heterogeneous Code Generators . 12 1.6 Conclusions . 23 1.7 Problem Statement . 24 2 Preliminaries 27 2.1 Basic Definitions and Notations . 27 2.2 Context-free Grammars . 31 2.3 Regular Tree Grammars . 33 2.4 Relations between CFL and RTL . 34 2.5 Abstract Syntax Trees . 36 2.6 Used Languages and Formalisms . 37 3 The Unparser 43 3.1 Introduction . 43 3.2 Deriving Abstract Syntax Trees . 44 3.3 The Unparser . 50 3.4 Unparser Completeness . 54 3.5 Conclusions . 58 4 The Metalanguage 61 4.1 Introduction . 61 4.2 Code Generators . 62 4.3 Our Metalanguage . 65 x Contents 4.4 Example: The PICO Unparser . 86 4.5 Related Template Systems . 86 4.6 Conclusions . 101 5 Syntax Safe Templates 103 5.1 Introduction . 103 5.2 Syntax Safe Templates . 104 5.3 The Metalanguage Grammar . 110 5.4 Grammar Merging . 116 5.5 Related Work . 118 5.6 Conclusions . 119 6 Repleo: Syntax Safe Template Evaluation 121 6.1 Introduction . 121 6.2 Syntax Safe Evaluation . 122 6.3 Substitution Placeholder . 123 6.4 Match-replace Placeholder . 124 6.5 Subtemplate Placeholder . 125 6.6 Substitution Placeholder Revisited . 126 6.7 Ambiguity Handling . 128 6.8 Separator Handling . 131 6.9 Repleo . 132 6.10 Case Studies . 132 6.11 Related Work . 142 6.12 Conclusions . 144 7 Case Studies 145 7.1 Introduction . 145 7.2 Code Generator Architectures . 146 7.3 Metrics . 150 7.4 A DSL for Web Information Systems . 151 7.5 ApiGen . 157 7.6 NunniFSMGen . 173 7.7 Dynamic XHTML generation . 189 7.8 Conclusions . 200 Contents xi 8 Towards Static Semantic Validation 203 8.1 Introduction . 203 8.2 Static Semantics . 204 8.3 Defining Static Semantic Checkers . 205 8.4 Connecting SGLR and JastAdd . 210 8.5 Static Semantic Checks for Templates . 211 8.6 Related Work . 218 8.7 Future Work . 219 8.8 Conclusions . 221 9 Conclusions 223 9.1 Contributions . 223 9.2 Future Work . 228 9.3 Final Conclusions . 229 Summary 243 Samenvatting 247 Curriculum Vitae 251 1 Introduction reating software is a process of refining a concept to an implementation. This process contains several stages visualized by documents, models and plans at several levels of abstraction. Mostly, the refinement process C requires creativity of the programmers, but sometimes it is a boring repetitive task. This repetitive work is an indication that the program is not written at the most suitable level of abstraction. The level of abstraction offered by the used programming language is probably too low to remove the recurring code. We focus on using code generators to raise the level of abstraction and to automate the repetitive work. In this chapter we present a number of approaches to implement a code generator. We discuss the advantages and disadvantages of the different approaches. This thesis will focus on code generators using templates. We present the research questions in the context of raising the quality of template based code generators. 1.1 Process of Designing Designing is the process of deciding how something will look, work, etcetera, by drawing plans, making models, and so on [2]. One of the design methods is to stepwise refine an abstract idea or concept to a full-fledged, producible design. This way of designing, or developing, is used in a broad range of disci- plines; from storyboard to movie, from equation to electrical amplifier, from sketch to painting and from software requirements specification to computer application.
Recommended publications
  • Nginx Essentials.Pdf
    www.it-ebooks.info Nginx Essentials Excel in Nginx quickly by learning to use its most essential features in real-life applications Valery Kholodkov BIRMINGHAM - MUMBAI www.it-ebooks.info Nginx Essentials Copyright © 2015 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: July 2015 Production reference: 1170715 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78528-953-8 www.packtpub.com www.it-ebooks.info Credits Author Project Coordinator Valery Kholodkov Vijay Kushlani Reviewers Proofreader Markus Jelsma Safis Editing Jesse Estill Lawson Daniel Parraz Indexer Priya Sane Commissioning Editor Dipika Gaonkar Production Coordinator Shantanu N. Zagade Acquisition Editor Usha Iyer Cover Work Shantanu N. Zagade Content Development Editor Nikhil Potdukhe Technical Editor Manali Gonsalves Copy Editor Roshni Banerjee www.it-ebooks.info About the Author Valery Kholodkov is a seasoned IT professional with a decade of experience in creating, building, scaling, and maintaining industrial-grade web services, web applications, and mobile application backends.
    [Show full text]
  • A Flexible Framework for File System Benchmarking &Pivot
    ;login SPRING 2016 VOL. 41, NO. 1 : & Filebench: A Flexible Framework for File System Benchmarking Vasily Tarasov, Erez Zadok, and Spencer Shepler & Pivot Tracing: Dynamic Causal Monitoring for Distributed Systems Jonathan Mace, Ryan Roelke, and Rodrigo Fonseca & Streaming Systems and Architectures: Kafka, Spark, Storm, and Flink Jayant Shekhar and Amandeep Khurana & BeyondCorp: Design to Deployment at Google Barclay Osborn, Justin McWilliams, Betsy Beyer, and Max Saltonstall Columns Red/Blue Functions: How Python 3.5’s Async IO Creates a Division Among Function David Beazley Using RPCs in Go Kelsey Hightower Defining Interfaces with Swagger David N. Blank-Edelman Getting Beyond the Hero Sysadmin and Monitoring Silos Dave Josephsen Betting on Growth vs Magnitude Dan Geer Supporting RFCs and Pondering New Protocols Robert G. Ferrell UPCOMING EVENTS NSDI ’16: 13th USENIX Symposium on Networked USENIX Security ’16: 25th USENIX Security Systems Design and Implementation Symposium March 16–18, 2016, Santa Clara, CA, USA August 10–12, 2016, Austin, TX, USA www.usenix.org/nsdi16 www.usenix.org/sec16 Co-located with NSDI ’16 Co-located with USENIX Security ’16 CoolDC ’16: USENIX Workshop on Cool Topics on WOOT ’16: 10th USENIX Workshop on Offensive Sustainable Data Centers Technologies March 19, 2016 August 8–9, 2016 www.usenix.org/cooldc16 Submissions due May 17, 2016 www.usenix.org/woot16 SREcon16 CSET ’16: 9th Workshop on Cyber Security April 7–8, 2016, Santa Clara, CA, USA Experimentation and Test www.usenix.org/srecon16 August 8, 2016 Submissions
    [Show full text]
  • Admin Tools for Joomla 4 Nicholas K
    Admin Tools for Joomla 4 Nicholas K. Dionysopoulos Admin Tools for Joomla 4 Nicholas K. Dionysopoulos Copyright © 2010-2021 Akeeba Ltd Abstract This book covers the use of the Admin Tools site security component, module and plugin bundle for sites powered by Joomla!™ 4. Both the free Admin Tools Core and the subscription-based Admin Tools Professional editions are completely covered. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the appendix entitled "The GNU Free Documentation License". Table of Contents 1. Getting Started .......................................................................................................................... 1 1. What is Admin Tools? ....................................................................................................... 1 1.1. Disclaimer ............................................................................................................. 1 1.2. The philosophy ....................................................................................................... 2 2. Server environment requirements ......................................................................................... 2 3. Installing Admin Tools ......................................................................................................
    [Show full text]
  • Pragmaticperl-Interviews-A4.Pdf
    Pragmatic Perl Interviews pragmaticperl.com 2013—2015 Editor and interviewer: Viacheslav Tykhanovskyi Covers: Marko Ivanyk Revision: 2018-03-02 11:22 © Pragmatic Perl Contents 1 Preface .......................................... 1 2 Alexis Sukrieh (April 2013) ............................... 2 3 Sawyer X (May 2013) .................................. 10 4 Stevan Little (September 2013) ............................. 17 5 chromatic (October 2013) ................................ 22 6 Marc Lehmann (November 2013) ............................ 29 7 Tokuhiro Matsuno (January 2014) ........................... 46 8 Randal Schwartz (February 2014) ........................... 53 9 Christian Walde (May 2014) .............................. 56 10 Florian Ragwitz (rafl) (June 2014) ........................... 62 11 Curtis “Ovid” Poe (September 2014) .......................... 70 12 Leon Timmermans (October 2014) ........................... 77 13 Olaf Alders (December 2014) .............................. 81 14 Ricardo Signes (January 2015) ............................. 87 15 Neil Bowers (February 2015) .............................. 94 16 Renée Bäcker (June 2015) ................................ 102 17 David Golden (July 2015) ................................ 109 18 Philippe Bruhat (Book) (August 2015) . 115 19 Author .......................................... 123 i Preface 1 Preface Hello there! You have downloaded a compilation of interviews done with Perl pro- grammers in Pragmatic Perl journal from 2013 to 2015. Since the journal itself is in Russian
    [Show full text]
  • Modern Perl, Fourth Edition
    Prepared exclusively for none ofyourbusiness Prepared exclusively for none ofyourbusiness Early Praise for Modern Perl, Fourth Edition A dozen years ago I was sure I knew what Perl looked like: unreadable and obscure. chromatic showed me beautiful, structured expressive code then. He’s the right guy to teach Modern Perl. He was writing it before it existed. ➤ Daniel Steinberg President, DimSumThinking, Inc. A tour de force of idiomatic code, Modern Perl teaches you not just “how” but also “why.” ➤ David Farrell Editor, PerlTricks.com If I had to pick a single book to teach Perl 5, this is the one I’d choose. As I read it, I was reminded of the first time I read K&R. It will teach everything that one needs to know to write Perl 5 well. ➤ David Golden Member, Perl 5 Porters, Autopragmatic, LLC I’m about to teach a new hire Perl using the first edition of Modern Perl. I’d much rather use the updated copy! ➤ Belden Lyman Principal Software Engineer, MediaMath It’s not the Perl book you deserve. It’s the Perl book you need. ➤ Gizmo Mathboy Co-founder, Greater Lafayette Open Source Symposium (GLOSSY) Prepared exclusively for none ofyourbusiness We've left this page blank to make the page numbers the same in the electronic and paper books. We tried just leaving it out, but then people wrote us to ask about the missing pages. Anyway, Eddy the Gerbil wanted to say “hello.” Prepared exclusively for none ofyourbusiness Modern Perl, Fourth Edition chromatic The Pragmatic Bookshelf Dallas, Texas • Raleigh, North Carolina Prepared exclusively for none ofyourbusiness Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks.
    [Show full text]
  • Apache Redirect Post Request
    Apache Redirect Post Request neverGreekish buttonholing and terminable so uncompromisingly Sayre never mess-ups or shakes his anybaldmoney! prompt stunningly. Stan waxen stably? Lengthy Claudio If you want with care because module to leave the redirect post request This implementation detail is not important to know for the majority of the simple rewrites that you will ever write or use. It is common practice to redirect one URL to another. If everything is a go, load balancer, as they completely break the user experience. We have a way, from posting data it makes transition as with get request, you research paper? IT professional working in the North West of the UK. Instead of returning a result page immediately in response to POST request, or URL redirection, you might require to generate a certificate and key for HTTPs. Server variables change dynamically, the firewall rules apply to all of your backend instances in the VPC network. Have you enabled HTTPs on your web server? Seat Economy Plus Review! You can use validate in the input form for its original purpose: to verify input data. Software Engineering Stack Exchange is a question and answer site for professionals, it loads the same object from Current Items again. The comma separated list of encryption ciphers that this socket is allowed to use. And will images be redirected properly? If nothing is returned the syntax is correct and Nginx has to be reloaded for the redirects to take effect. In other words, so it continues. Can you please explain how redirect reflects Google search result? Even doing further tests based on variables set earlier.
    [Show full text]
  • Htaccess, Apache, and Rewrites! Oh, My!
    Crucial Web Hosting » Blog » Htaccess, Apache, A... http://www.crucialwebhost.com/blog/htaccess-apa... Home Blog Htaccess, Apache, And Rewrites! Oh, My! Htaccess, Apache, And Rewrites! Oh, My! As a web designer or developer, it is important to know how to use the htaccess file to your advantage. It is a very powerful tool, and can even work as a deterrent for bandwidth thieves, exploits, and hackers. Below are some common examples of rules to consider when developing websites. We hope you find them useful. Jump To Redirect Example 1. Rewrite Engine 2. Basic Redirect 3. HTML to PHP 4. Remove File Extensions 5. Add WWW To Domain 6. Remove WWW From Domain 7. Add Trailing Slash 8. Remove Trailing Slash 9. Remove Query String 10. Remove Trailing Question Mark 11. Remove Trailing Index File 12. Remove Index File From URL 13. HTTP to HTTPS 14. HTTPS to HTTP 15. Deny Access To Htaccess 16. Enable Caching 17. Disable Caching On Dynamic Pages 18. Example Htaccess File Rewrite Engine In order for any of these rules to work, the first thing we need to do is turn on the rewrite engine. 1. Options +FollowSymLinks 2. RewriteEngine On 1 of 17 04/11/2008 02:00 PM Crucial Web Hosting » Blog » Htaccess, Apache, A... http://www.crucialwebhost.com/blog/htaccess-apa... The first line of code is a security feature that must be enabled for the rewrite rules to work. In most cases, this is already set up by your host, but it won’t hurt to list it again here.
    [Show full text]
  • Presentation By: Lilian Thairu AGENDA
    APACHE Presentation by: Lilian Thairu AGENDA Introduction Where to get Apache Versions Licensing Use Features Server & Supporting programs Competitors Market structure Pros & Cons Apache Vs Other servers Presentation by: Lilian Thairu Apache Web Server Introduction Often referred to as simply Apache is a public-domain open source Web server developed by a group of programmers of about 20 volunteers called the Apache Software Group. Apache was born in early 1995, as free Web server software based around NCSA httpd 1.3, which was the most popular Web server as at that time, and with a bunch of software patches. From that it earned it's name, which stands for "A PAtCHY server." Since then, it has been completely re- written, and has become the most popular WWW server on the Internet. Presentation by: Lilian Thairu ........Introduction Apache lends itself particularly well to projects that are heavily Java based. It offers superior handling of the Java Database Connectivity (JDBC) application program interface. The original version was written for UNIX,but there are now versions run under other platforms. Majority of all web servers using Apache are Linux web servers.Presentation by: Lilian Thairu .......Introduction The Apache web server is a program that parses types of hypertext markup language(HTML) and sends it back to you as a human readable web page. It was the first alternative to the Netscape Communications Corporations web server and it has since evolved to rival other Unix Based web servers in terms of functioning and performance. It has played a key role in the initial growth of the WWW and has been the most popular HTTP server on the WWW.
    [Show full text]
  • The Webp Manual Was Written by Jeremy Wagner
    IMPRINT Imprint © 2018 Smashing Media AG, Freiburg, Germany ISBN (PDF): 978-3-945749-67-8 Cover Design: Ricardo Gimenes eBook Production: Cosima Mielke Tools: Elja Friedman Syntax Highlighting: Prism by Lea Verou Idea & Concept: Smashing Media AG The WebP Manual was written by Jeremy Wagner. 2 Table of Contents Foreword ........................................................................................4 WebP Basics..................................................................................6 Performance................................................................................ 21 Converting Images To WebP ................................................34 Using WebP Images.................................................................62 In Closing.....................................................................................78 Appendix...................................................................................... 80 Thanks...........................................................................................83 About The Author ..................................................................... 84 3 FOREWORD Foreword Performance matters now more than ever. What we send over the wire, how we send it, and how much of it we send matters. Because users matter. Web perfor- mance is a vast subject with many nooks and crannies, and all deserve their due attention. Of serious concern, however, is the role of media in performance, specifically images. Images are powerful. Engaging visuals evoke visceral feelings.
    [Show full text]
  • Openqa Documentation
    openQA Documentation openQA Team Table of Contents openQA starter guide. 1 Introduction . 2 Architecture. 3 Basic concepts . 4 Glossary . 4 Jobs . 5 Needles . 6 Areas. 6 Access management . 7 Job groups . 7 Cleanup . 8 Using the client script . 9 Testing openSUSE or Fedora . 10 Getting tests. 10 Getting openQA configuration . 10 Adding a new ISO to test . 11 Pitfalls . 12 openQA installation guide . 13 Introduction . 14 Quick bootstrapping under openSUSE . 15 Directly on your machine . 15 openQA in a container . 15 Container based setup . 16 Custom installation - repositories and procedure . 17 Official repositories. 17 Development version repository . 17 Installation . 18 System requirements . 19 Basic configuration . 20 Apache proxy . 20 TLS/SSL. 20 Database . 21 Example for connecting to local PostgreSQL database . 21 Example for connecting to remote PostgreSQL database . 21 User authentication. 21 OpenID. 22 OAuth2. 22 Fake . 22 Run the web UI . 24 Run openQA workers . 25 Where to now? . 27 Advanced configuration. 28 Cleanup . 28 Setting up git support . 28 Referer settings to auto-mark important jobs . 29 Worker settings . 29 Further systemd units for the worker . 29 Stopping/restarting workers without interrupting currently running jobs . 30 Configuring remote workers . 31 Configuring AMQP message emission . 31 Configuring worker to use more than one openQA server . 31 Asset and test/needle caching. ..
    [Show full text]
  • Magento Performance Testing Guidelines Ii
    TABLE OF CONTENTS OVERVIEW .................................................................................................................................................................. 2 Methodology ....................................................................................................................................................... 2 Objectives ............................................................................................................................................................ 2 Terminology ........................................................................................................................................................ 2 Recommended Test Protocol ........................................................................................................................... 3 CLOUD SERVICES VS. DEDICATED HOSTING ......................................................................................................... 4 SYSTEM RESOURCE MONITORING ......................................................................................................................... 4 MAGENTO CONFIGURATION SETTINGS ............................................................................................................... 5 Use Flat Catalog .................................................................................................................................................. 5 Merge JavaScript & CSS .....................................................................................................................................
    [Show full text]
  • Nginx HTTP Server
    Nginx HTTP Server Adopt Nginx for your web applications to make the most of your infrastructure and serve pages faster than ever Clément Nedelcu BIRMINGHAM - MUMBAI Nginx HTTP Server Copyright © 2010 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: July 2010 Production Reference: 1140710 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-849510-86-8 www.packtpub.com Cover Image by Vinayak Chittar ([email protected]) Credits Author Editorial Team Leader Clément Nedelcu Aanchal Kumar Reviewers Project Team Leader Pascal Charest Lata Basantani Manlio Perillo Project Coordinator Acquisition Editor Jovita Pinto Usha Iyer Proofreader Development Editor Lynda Sliwoski Wilson D'souza Graphics Technical Editor Geetanjali Sawant Kartikey Pandey Production Coordinator Copy Editor Aparna Bhagat Leonard D'Silva Cover Work Indexers Aparna Bhagat Hemangini Bari Tejal Daruwale About the Author Clément Nedelcu was born and raised in France, and studied in U.K., French, and Chinese universities.
    [Show full text]