![]() |
Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
||
|
Books > Computing & IT > Computer programming > Compilers & interpreters
The book is devoted to a simplified set-theoretic version of denotational semantics where sets are used in place of Scott's reflexive domains and where jumps are described without continuations. This approach has emerged as a reaction to the sophisticated model of traditional semantics. It was also strongly stimulated by the applications of denotational semantics and especially by its software-industry oriented version known as VDM (Vienna Development Method). The new approach was successfully tested on several examples. Based on this approach the Polish Academy of Sciences created the project MetaSoft aimed at the development of a definitional metalanguage for software engineering. The approach has also been chosen in the project RAISE (ESPRIT) which aims at a similar goal. The book consists of two parts. Part One is devoted to the mathematical foundations of the future definitional metalanguage of MetaSoft. This part also introduces an appropriate notation. Part Two shows the applications of this metalanguage. There the denotational definition of a subset of Pascal is discussed with particular emphasis on Pascal types.
Build domain specific languages (DSLs) using Java's most popular functional programming language: Scala. This book introduces the basics of Scala and DSLs using a series of practical examples. In Practical Scala DSLs, you'll learn to create pragmatic and complete code examples that explain the actual use of DSLs with Scala: a web API and microservices; a custom language; a mobile app; a Forex system; a game; and cloud applications. At the end of this unique book, you'll be able to describe the differences between external and internal DSLs; understand when and how to apply DSLs; create DSLs using Scala; and even create a DSL using another programming language. What You'll Learn Build DSLs in Scala Write a web API and microservices Create a custom language Apply DSLs to mobile apps development, a Forex trading system, game development, and more Discover the role of DSLs in cloud development Integrate DSLs as part of a DevOps program or structure Build internal and external DSLs Who This Book Is For Experienced Java coders with at least some prior experience with Scala. You may be new to DSLs.
Learn the principles behind object-oriented programming in Ruby and within a few chapters create a fully functional Ruby 3-based application. You'll gain a basic understanding of many ancillary technologies such as databases, XML, web frameworks, and networking - some of which will be needed for your first Ruby application. Based on the bestselling first and second editions, Beginning Ruby 3, 4th Edition is a leading guide to learn Ruby from the ground up. The new edition of this book provides the same excellent introduction to Ruby as the previous editions plus updates for the newest version of Ruby, including performance through an improved allocator, decreased heap fragmentation and more. Also, added: details on the just-in-time compiler, fewer limits on GIL (Global Interpreter Lock), and a static type checker. You'll see why the light and agile Ruby programming language remains a popular open source scripting option for developers building today's web applications. This book can also be used as a textbook or companion to a textbook on beginning Ruby programming. After reading and using this book, you'll have a firm handle to program in the Ruby language. What You Will Learn Discover the fundamentals of Ruby and its object-oriented building blocks Use the Ruby libraries, gems, and documentation Work with files and databases Write and deploy Ruby applications Harness the various Ruby web frameworks and use them effectively Do network programming with Ruby Who This Book Is For Beginning programmers, programmers new to Ruby, and web developers interested in learning the foundations of the Ruby programming language.
This quick reference is a condensed guide to the essential data structures, algorithms, and functions provided by the C++17 Standard Library. It does not explain the C++ language or syntax, but is accessible to anyone with basic C++ knowledge or programming experience. Even the most experienced C++ programmer will learn a thing or two from it and find it a useful memory-aid. It is hard to remember all the possibilities, details, and intricacies of the vast and growing Standard Library. This handy reference guide is therefore indispensable to any C++ programmer. It offers a condensed, well-structured summary of all essential aspects of the C++ Standard Library. No page-long, repetitive examples or obscure, rarely used features. Instead, everything you need to know and watch out for in practice is outlined in a compact, to-the-point style, interspersed with practical tips and well-chosen, clarifying examples. This new edition is updated to include all Standard Library changes in C++17, including the new vocabulary types std::string_view, any, optional, and variant; parallel algorithms; the file system library; specialized mathematical functions; and more. What You Will Learn Gain the essentials that the C++ Standard Library has to offer Use containers to efficiently store and retrieve your data Inspect and manipulate your data with algorithms See how lambda expressions allow for elegant use of algorithms Discover what the standard string class provides and how to use it Write localized applications Work with file and stream-based I/O Prevent memory leaks with smart pointers Write safe and efficient multi-threaded code using the threading libraries Who This Book Is For All C++ programmers, irrespective of their proficiency with the language or the Standard Library. A secondary audience is developers who are new to C++, but not new to programming, and who want to learn more about the C++ Standard Library in a quick, condensed manner.
Separation Logic is the twenty-first-century variant of Hoare Logic that permits verification of pointer-manipulating programs. This book covers practical and theoretical aspects of Separation Logic at a level accessible to beginning graduate students interested in software verification. On the practical side it offers an introduction to verification in Hoare and Separation logics, simple case studies for toy languages, and the Verifiable C program logic for the C programming language. On the theoretical side it presents separation algebras as models of separation logics; step-indexed models of higher-order logical features for higher-order programs; indirection theory for constructing step-indexed separation algebras; tree-shares as models for shared ownership; and the semantic construction (and soundness proof) of Verifiable C. In addition, the book covers several aspects of the CompCert verified C compiler, and its connection to foundationally verified software analysis tools. All constructions and proofs are made rigorous and accessible in the Coq developments of the open-source Verified Software Toolchain.
Learn how to automate processes, visualize your data, and improve productivity using Power Apps, Power Automate, Power BI, SharePoint, Forms, Teams, and more. This book will help you build complete solutions that often involve storing data in SharePoint, creating a front-end application in Power Apps or Forms, adding additional functionality with Power Automate, and effective reports and dashboards in Power BI. This new edition greatly expands the focus on Power Apps, Power BI, Power Automate, and Teams, along with SharePoint and Microsoft Forms. It starts with the basics of programming and shows how to build a simple email application in .NET, HTML/JavaScript, Power Apps on its own, and Power Apps and Power Automate in combination. It then covers how to connect Power Apps to SharePoint, create an approval process in Power Automate, visualize surveys in Power BI, and create your own survey solution with the combination of a number of Microsoft 365 tools. You'll work with an extended example that shows how to use Power Apps and SharePoint together to create your own help ticketing system. This book offers a deep dive into Power BI, including working with JSON, XML, and Yes/No data, as well as visualizing learning data and using it to detect inconsistencies between Excel files. You'll also see how to connect to Remedy and to the help system you will have created. Under author Jeffrey Rhodes's guidance, you'll delve into the Power Apps collection to learn how to avoid dreaded "delegation" issues with larger data sets. Back on applications, you will create a training class sign-up solution to only allow users to choose classes with available seats. Digging deeper into Teams, you'll learn how to send chats, posts, and "adaptive cards" from Power Automate. Rounding things out, you'll save Forms attachments to SharePoint with Power Automate, create your own "Employee Recognition" app with all of the Power Platform and Teams, add or edit weekly status reports, and learn how to create reservation and scoring applications. After reading the book, you will be able to build powerful applications using Power Apps, Power Automate, Power BI, SharePoint, Forms, and Teams. What You Will Learn Create productivity-enhancing applications with Power Apps, Power Automate, SharePoint, Forms, and/or Teams Transform and visualize data with Power BI to include custom columns, measures, and pivots Avoid delegation issues and tackle complicated Power Apps issues like complex columns, filtering, and ForAll loops Build scheduled or triggered Power Automate flows to schedule Teams Meetings, send emails, launch approvals, and much more Who This Book Is For Business and application developers.
This new, expanded textbook describes all phases of a modern compiler: lexical analysis, parsing, abstract syntax, semantic actions, intermediate representations, instruction selection via tree matching, dataflow analysis, graph-coloring register allocation, and runtime systems. It includes good coverage of current techniques in code generation and register allocation, as well as functional and object-oriented languages, that are missing from most books. In addition, more advanced chapters are now included so that it can be used as the basis for a two-semester or graduate course. The most accepted and successful techniques are described in a concise way, rather than as an exhaustive catalog of every possible variant. Detailed descriptions of the interfaces between modules of a compiler are illustrated with actual C header files. The first part of the book, Fundamentals of Compilation, is suitable for a one-semester first course in compiler design. The second part, Advanced Topics, which includes the advanced chapters, covers the compilation of object-oriented and functional languages, garbage collection, loop optimizations, SSA form, loop scheduling, and optimization for cache-memory hierarchies.
Why just get by in F# when you can program in style. This book goes beyond syntax and into design. It provides F# developers with best practices, guidance, and advice to write beautiful, maintainable, and correct code. This second edition, fully updated for .NET 6 and F# 6, includes all new coverage of anonymous records, the task {} computation expression, and the relationship between types and modules. Stylish F# 6 covers every design decision that a developer makes in constructing F# programs, helping you make the most educated and valuable design choices at every stage of code development. You will learn about the design of types and function signatures, the benefits of immutability, and the uses of partial function application. You will understand best practices for writing APIs to be used by F#, C#, and other languages. Each carefully vetted design choice is supported with compelling examples, illustrations, and rationales. What You Will Learn Know why, when, and how to code in immutable style Use collection functions, piping, and function composition to build working software quickly Be aware of the techniques available to bring error handling into the mainstream of program logic Optimize F# code for maximum performance Identify and implement opportunities to use function injection to improve program design Appreciate the methods available to handle unknown data values Understand asynchronous and parallel programming in F#, and how it differs from C# asynchronous programming Exploit records and anonymous records as low-overhead, easily comparable containers for structured data Who This Book Is For Any developer who writes F# code and wants to write it better
Master the Java EE 8 and JSF (JavaServer Faces) APIs and web framework with this practical, projects-driven guide to web development. This book combines theoretical background with a practical approach by building four real-world applications. By developing these JSF web applications, you'll take a tour through the other Java EE technologies such as JPA, CDI, Security, WebSockets, and more. In Practical JSF in Java EE 8, you will learn to use the JavaServer Faces web framework in Java EE 8 to easily construct a web-based user interface from a set of reusable components. Next, you add JSF event handling and then link to a database, persist data, and add security and the other bells and whistles that the Java EE 8 platform has to offer. After reading this book you will have a good foundation in Java-based web development and will have increased your proficiency in sophisticated Java EE 8 web development using the JSF framework. What You Will Learn Use the Java EE 8 and the JavaServer Faces APIs to build Java-based web applications through four practical real-world case studies Process user input with JSF and the expression language by building a calculator application Persist data using JSF templating and Java Persistence to manage an inventory of books Create and manage an alumni database using JSF, Ajax, web services and Java EE 8's security features. Who This Book Is For Those new to Java EE 8 and JSF. Some prior experience with Java is recommended.
Learn from state-of-the-art examples in robotics, motors, detection filters, chemical processes, aircraft, and spacecraft. With this book you will review contemporary MATLAB coding including the latest MATLAB language features and use MATLAB as a software development environment including code organization, GUI development, and algorithm design and testing. Features now covered include the new graph and digraph classes for charts and networks; interactive documents that combine text, code, and output; a new development environment for building apps; locally defined functions in scripts; automatic expansion of dimensions; tall arrays for big data; the new string type; new functions to encode/decode JSON; handling non-English languages; the new class architecture; the Mocking framework; an engine API for Java; the cloud-based MATLAB desktop; the memoize function; and heatmap charts. MATLAB Recipes: A Problem-Solution Approach, Second Edition provides practical, hands-on code snippets and guidance for using MATLAB to build a body of code you can turn to time and again for solving technical problems in your work. Develop algorithms, test them, visualize the results, and pass the code along to others to create a functional code base for your firm. What You Will Learn Get up to date with the latest MATLAB up to and including MATLAB 2020b Code in MATLAB Write applications in MATLAB Build your own toolbox of MATLAB code to increase your efficiency and effectiveness Who This Book Is For Engineers, data scientists, and students wanting a book rich in examples using MATLAB.
If you think "Modern" and "C" don't belong in the same sentence, think again. The C standards committee actively reviews and extends the language, with updated published C standards as recently as 2018. In Modern C, author Jens Gustedt teaches you the skills and features you need to write relevant programs in this tried-and-true language, including Linux and Windows, device drivers, web servers and browsers, smartphones, and much more! Modern C teaches you to take your C programming skills to new heights, whether you're just starting out with C or have more extensive experience. Organized by level, this comprehensive guide lets you jump in where it suits you best while still reaping the maximum benefits. Key Features Fundamentals of C programming Operators and functions Performance techniques C library functions For more than four decades, C has proved its usefulness and staying power for everything from massive systems for mainframes, satellites, and internet browsers to tiny embedded systems in vending machines, credit card readers, and alarm clocks. Today you'll find lightning-fast, elegant C programs running in smartphone kernels, databases, 3D movies, video games, and scores of other modern applications. For programmers comfortable writing simple programs in a language like Java, Python, Ruby, C#, C++, or C. Jens Gustedt has been a senior scientist at the French National Institute for Computer Science and Control (INRIA) since 1998, working in areas including algorithms, scientific experimentation, models for coarse-grained parallelism, and distributed locking. Currently, he's conducting the Modular C project, which has given rise to libraries such as arbogast and EiLck.
Utilize web scraping at scale to quickly get unlimited amounts of free data available on the web into a structured format. This book teaches you to use Python scripts to crawl through websites at scale and scrape data from HTML and JavaScript-enabled pages and convert it into structured data formats such as CSV, Excel, JSON, or load it into a SQL database of your choice. This book goes beyond the basics of web scraping and covers advanced topics such as natural language processing (NLP) and text analytics to extract names of people, places, email addresses, contact details, etc., from a page at production scale using distributed big data techniques on an Amazon Web Services (AWS)-based cloud infrastructure. It book covers developing a robust data processing and ingestion pipeline on the Common Crawl corpus, containing petabytes of data publicly available and a web crawl data set available on AWS's registry of open data. Getting Structured Data from the Internet also includes a step-by-step tutorial on deploying your own crawlers using a production web scraping framework (such as Scrapy) and dealing with real-world issues (such as breaking Captcha, proxy IP rotation, and more). Code used in the book is provided to help you understand the concepts in practice and write your own web crawler to power your business ideas. What You Will Learn Understand web scraping, its applications/uses, and how to avoid web scraping by hitting publicly available rest API endpoints to directly get data Develop a web scraper and crawler from scratch using lxml and BeautifulSoup library, and learn about scraping from JavaScript-enabled pages using Selenium Use AWS-based cloud computing with EC2, S3, Athena, SQS, and SNS to analyze, extract, and store useful insights from crawled pages Use SQL language on PostgreSQL running on Amazon Relational Database Service (RDS) and SQLite using SQLalchemy Review sci-kit learn, Gensim, and spaCy to perform NLP tasks on scraped web pages such as name entity recognition, topic clustering (Kmeans, Agglomerative Clustering), topic modeling (LDA, NMF, LSI), topic classification (naive Bayes, Gradient Boosting Classifier) and text similarity (cosine distance-based nearest neighbors) Handle web archival file formats and explore Common Crawl open data on AWS Illustrate practical applications for web crawl data by building a similar website tool and a technology profiler similar to builtwith.com Write scripts to create a backlinks database on a web scale similar to Ahrefs.com, Moz.com, Majestic.com, etc., for search engine optimization (SEO), competitor research, and determining website domain authority and ranking Use web crawl data to build a news sentiment analysis system or alternative financial analysis covering stock market trading signals Write a production-ready crawler in Python using Scrapy framework and deal with practical workarounds for Captchas, IP rotation, and more Who This Book Is For Primary audience: data analysts and scientists with little to no exposure to real-world data processing challenges, secondary: experienced software developers doing web-heavy data processing who need a primer, tertiary: business owners and startup founders who need to know more about implementation to better direct their technical team
Die Entwicklung digitaler Moeglichkeiten fuhrt zu neuen Translationsformen. Sie verlangt eine UEberprufung von Ansatzen und Theorien und schafft neue Moeglichkeiten fur (sprachvergleichende) theoretische und korpusbasierte Studien. Die Beitrage dieses Bandes gehen den Auswirkungen der technischen Veranderungen auf die Translation selbst sowie auf die sich stetig verandernden bzw. erweiternden Moeglichkeiten der Translationsforschung im digitalen Zeitalter auf den Grund. Dabei decken sie Themenbereiche wie UEbersetzung und Dolmetschen, Untertitelung und Synchronisierung sowie Ausbildung mit neuen Lehrwerken und Tools ab. Der Band geht auf den 10. Internationalen Kongress zu Grundfragen der Translatologie (LICTRA X) zum Thema Translation 4.0 - Translation im digitalen Zeitalter zuruck.
Master the booting procedure of various operating systems with in-depth analysis of bootloaders and firmware. The primary focus is on the Linux booting procedure along with other popular operating systems such as Windows and Unix. Hands-on Booting begins by explaining what a bootloader is, starting with the Linux bootloader followed by bootloaders for Windows and Unix systems. Next, you'll address the BIOS and UEFI firmware by installing multiple operating systems on one machine and booting them through the Linux bootloader. Further, you'll see the kernel's role in the booting procedure of the operating system and the dependency between kernel, initramfs, and dracut. You'll also cover systemd, examining its structure and how it mounts the user root filesystem. In the final section, the book explains troubleshooting methodologies such as debugging shells followed by live images and rescue mode. On completing this book, you will understand the booting process of major operating systems such as Linux, Windows, and Unix. You will also know how to fix the Linux booting issues through various boot modes. What You Will Learn Examine the BIOS and UEFI firmware Understanding the Linux boot loader (GRUB) Work with initramfs, dracut, and systemd Fix can't-boot issues on Linux Who This Book Is For Linux users, administrators, and developers.
Understand and work with the most important features of advanced C# in different programming environments. This book teaches you the fundamental features of advanced C# and how to incorporate them in different programming techniques using Visual Studio 2019. The book is divided into two parts. Part I covers the fundamentals and essentials of advanced programming in C#. You will be introduced to delegates and events and then move on to lambda expressions. Part II teaches you how to implement these features in different programming techniques, starting with generic programming. After that, you will learn about thread programming and asynchronous programming, to benefit from a multi-threaded environment. Finally, you will learn database programming using ADO.NET to connect to a MySQL database and you will know how to exercise SQL statements and stored procedures through your C# applications. What You Will Learn Use delegates, events, and lambda expressions in advanced programming Make your application flexible by utilizing generics Create a fast application with multi-threading and asynchronous programming Work in Visual Studio Community Edition, which is the most common IDE for using C# Understand alternative implementations along with their pros and cons Who This Book Is For Developers and programmers who are already working in C#
This book constitutes the refereed proceedings of the 21st International Conference on Practical Aspects of Declarative Languages, PADL 2019, held in Lisbon, Portugal, in January 2019. The 14 revised full papers were carefully reviewed and selected from 35 submissions. The papers present original work emphasizing novel applications and implementation techniques for all forms of declarative concepts, including logic, constraint, and functional languages.
Discover a variety of data-mining algorithms that are useful for selecting small sets of important features from among unwieldy masses of candidates, or extracting useful features from measured variables. As a serious data miner you will often be faced with thousands of candidate features for your prediction or classification application, with most of the features being of little or no value. You'll know that many of these features may be useful only in combination with certain other features while being practically worthless alone or in combination with most others. Some features may have enormous predictive power, but only within a small, specialized area of the feature space. The problems that plague modern data miners are endless. This book helps you solve this problem by presenting modern feature selection techniques and the code to implement them. Some of these techniques are: Forward selection component analysis Local feature selection Linking features and a target with a hidden Markov model Improvements on traditional stepwise selection Nominal-to-ordinal conversion All algorithms are intuitively justified and supported by the relevant equations and explanatory material. The author also presents and explains complete, highly commented source code. The example code is in C++ and CUDA C but Python or other code can be substituted; the algorithm is important, not the code that's used to write it. What You Will Learn Combine principal component analysis with forward and backward stepwise selection to identify a compact subset of a large collection of variables that captures the maximum possible variation within the entire set. Identify features that may have predictive power over only a small subset of the feature domain. Such features can be profitably used by modern predictive models but may be missed by other feature selection methods. Find an underlying hidden Markov model that controls the distributions of feature variables and the target simultaneously. The memory inherent in this method is especially valuable in high-noise applications such as prediction of financial markets. Improve traditional stepwise selection in three ways: examine a collection of 'best-so-far' feature sets; test candidate features for inclusion with cross validation to automatically and effectively limit model complexity; and at each step estimate the probability that our results so far could be just the product of random good luck. We also estimate the probability that the improvement obtained by adding a new variable could have been just good luck. Take a potentially valuable nominal variable (a category or class membership) that is unsuitable for input to a prediction model, and assign to each category a sensible numeric value that can be used as a model input. Who This Book Is For Intermediate to advanced data science programmers and analysts.
See how Domain-Driven Design (DDD) combines with Jakarta EE MicroProfile or Spring Boot to offer a complete suite for building enterprise-grade applications. In this book you will see how these all come together in one of the most efficient ways to develop complex software, with a particular focus on the DDD process. Practical Domain-Driven Design in Enterprise Java starts by building out the Cargo Tracker reference application as a monolithic application using the Jakarta EE platform. By doing so, you will map concepts of DDD (bounded contexts, language, and aggregates) to the corresponding available tools (CDI, JAX-RS, and JPA) within the Jakarta EE platform. Once you have completed the monolithic application, you will walk through the complete conversion of the monolith to a microservices-based architecture, again mapping the concepts of DDD and the corresponding available tools within the MicroProfile platform (config, discovery, and fault tolerance). To finish this section, you will examine the same microservices architecture on the Spring Boot platform. The final set of chapters looks at what the application would be like if you used the CQRS and event sourcing patterns. Here you'll use the Axon framework as the base framework. What You Will Learn Discover the DDD architectural principles and use the DDD design patterns Use the new Eclipse Jakarta EE platform Work with the Spring Boot framework Implement microservices design patterns, including context mapping, logic design, entities, integration, testing, and security Carry out event sourcing Apply CQRS Who This Book Is For Junior developers intending to start working on enterprise Java; senior developers transitioning from monolithic- to microservices-based architectures; and architects transitioning to a DDD philosophy of building applications.
This book constitutes the refereed proceedings of the 25th International Static Analysis Symposium, SAS 2018, held in Freiburg, Germany, in August 2018. The 18 papers presented in this volume were carefully reviewed and selected from 37 submissions. The contributions cover a variety of multi-disciplinary topics in abstract domains: program verication, bug detection, compiler optimization, program understanding, and software maintenance.
Implement application programming interface (API) usability, security, availability, reliability, and scalability to extend your company's market and potentially generate revenue. Businesses know they need to extend their markets into the digital world, and expose internal data to the Internet. This book shows how stakeholders within an organization can make it a successful journey. Stakeholder needs are not identical and departments experience difficulties discussing requirements with each other due to their different fundamental understanding of the process. The goal of this book is to introduce a common language for all business groups-developers, security experts, architects, product managers-around APIs and provide an overview of all aspects that need to be considered when exposing internal data. Most of the content in this book is based on feedback from real-world enterprise customer questions, challenges, and business scenarios. Practical guidance is provided on the business value of APIs, the general requirements to know, and how to undertake an audience-based implementation. You will learn how to protect access to data, as well as API error handling, documentation, management, integration, and more. What You'll Learn Know the types of APIs and their business and technical requirements The main benefits of APIs, including business value, loose coupling, and frequent updates Protect access to APIs through role-based access, attribute-based access, and rate limiting Distinguish between OAuth and OpenID Connect, and know how they both work Manage API error handling, including what should and should not be handled Understand the distinction between runtime, dynamic data, and static data Leverage external APIs as part of your own APIs Who This Book Is For API developers, API security experts, software architects, product owners, and business owners |
You may like...
Formal Languages and Compilation
Stefano Crespi Reghizzi, Luca Breveglieri, …
Hardcover
R2,513
Discovery Miles 25 130
Reasoning About Program Transformations…
Jean-Francois Collard
Hardcover
R1,545
Discovery Miles 15 450
|