Get a Jump Start on javascript today!javascript is a key technology in modern web development, enabling you to craft interactive, usable and engaging experiences for your *** just one weekend with this SitePoint book,...
详细信息
ISBN:
(纸本)098733218X;9780987332189;098733218X
Get a Jump Start on javascript today!javascript is a key technology in modern web development, enabling you to craft interactive, usable and engaging experiences for your *** just one weekend with this SitePoint book, you'll learn how to: Use javascript to solve real world problems: build forms, track user events and craft animations Use javascript with HTML5 and CSS3 Build an entire javascript-powered application from scratch: a task management application Plus you'll discover how to use modern techniques such as Canvas and Ajax.
HTML5and javascript Projectsshows you how to build on your basic knowledge of HTML5 and javascript to create substantial HTML5 applications. Through the many interesting projects you can build in this book, you'll...
详细信息
ISBN:
(数字)9781430240334
ISBN:
(纸本)9781430240327
HTML5and javascript Projectsshows you how to build on your basic knowledge of HTML5 and javascript to create substantial HTML5 applications. Through the many interesting projects you can build in this book, you'll build your HTML5 skills for your future projects, and extend the core skills you may have learned with its companion book, The Essential Guide to HTML5. HTML5 and javascript Projects covers the most important areas of HTML5 that you'll want to know how to program, including:video, and audio, databases, localStorage, and geolocation. The projects have been carefully selected to help you build your HTML5 and javascript programming skills. You'll build games and applications, such as video jigsaws, recipe archives, paper dolls, and many more captivating examples. Each project starts out with an introduction to the basic HTML5 and javascript concepts covered and then includes specific, appealing examples explained step-by-step. You'll also discover line-by-line explanationsfor every single line of codewe'll make sure that you can fully understand what each line of code does, so that you can easily take that understanding and apply it to your own HTML5 projects. HTML5 and javascript Projects: Shows how to produce applications combining Canvas drawings, photos, and videos Explains how to incorporate Google Maps and geolocation into your projects Reveals how to build applications requiring persistent data, storing the information locally or on a database on the server What youll learn How to create line drawings using mathematical operations for defining coordinate positions How to incorporate Google Maps and geolocation to determine the location of the user How to use locations as triggers for playing videos using javascript How to combine the canvas with geolocation maps using HTML5 and javascript Use HTML5 Audio for event sounds and background music How to manipulate, store and retrieve complex information using localStorage How to build applications involving
Many javascript applications perform HTTP requests to web APIs, relying on the request URL, HTTP method, and request data to be constructed correctly by string operations. Traditional compile-time error checking, such...
详细信息
ISBN:
(纸本)9781538638682
Many javascript applications perform HTTP requests to web APIs, relying on the request URL, HTTP method, and request data to be constructed correctly by string operations. Traditional compile-time error checking, such as calling a nonexistent method in Java, are not available for checking whether such requests comply with the requirements of a web API. In this paper, we propose an approach to statically check web API requests in javascript. Our approach first extracts a request's URL string, HTTP method, and the corresponding request data using an inter-procedural string analysis, and then checks whether the request conforms to given web API specifications. We evaluated our approach by checking whether web API requests in javascript files mined from GitHub are consistent or inconsistent with publicly available API specifications. From the 6575 requests in scope, our approach determined whether the request's URL and HTTP method was consistent or inconsistent with web API specifications with a precision of 96.0%. Our approach also correctly determined whether extracted request data was consistent or inconsistent with the data requirements with a precision of 87.9% for payload data and 99.9% for query data. In a systematic analysis of the inconsistent cases, we found that many of them were due to errors in the client code. The here proposed checker can be integrated with code editors or with continuous integration tools to warn programmers about code containing potentially erroneous requests.
Crowdsourcing has become a popular alternative model for software development, aiming at assigning tasks to developers through an open call for participation. The major challenge when crowdsourcing software tasks, is ...
详细信息
ISBN:
(纸本)9789897585685
Crowdsourcing has become a popular alternative model for software development, aiming at assigning tasks to developers through an open call for participation. The major challenge when crowdsourcing software tasks, is to appropriately orient the tasks to ensure the participation of the community and increase the chances of getting a high-quality solution. Especially in constantly evolving development environments, such as javascript (JS) programming language and its applications, it is of high importance to be aware of the skills that can be acquired by the community, to successfully invest in crowdsourcing. In the current paper, we aim to explore trends when crowdsourcing small JS development tasks in an attempt to unveil a) the core technological skills that are more frequently required in the crowdsourced tasks, b) the functionalities that are more frequently crowdsourced, and c) the relationship between the technological skills and the functionalities crowdsourced. For this reason, we analysed 8-year contest data collected from Bountify crowdsourcing platform. The results showed that JS small task development does not focus on a single technology but on a series of technologies, frameworks and libraries that in most cases either overlap or complement each other.
In 2015, our research laboratory started the definition and implementation of a Software Product Line (SPL) for the generation of web-based Geographic Information Systems. Tooling support for SPL was scarce, and we di...
详细信息
ISBN:
(纸本)9781450392068
In 2015, our research laboratory started the definition and implementation of a Software Product Line (SPL) for the generation of web-based Geographic Information Systems. Tooling support for SPL was scarce, and we did not found any suitable alternative to implement the mentioned product line. Therefore, we built spl-js-engine, a javascript library that, following the annotative approach, can generate final product source code from the annotated code, the feature model of the product line, and a product specification. spl-js-engine validates the specification of the product against the feature model prior to the generation. Since its first implementation, we have used this tool in many occasions both in the academia and the industry contexts.
Static analysis is challenged by the dynamic language constructs of javascript which often lead to unacceptable performance and/or precision results. We describe an approach that focuses on improving the practicality ...
详细信息
ISBN:
(纸本)9781450342186
Static analysis is challenged by the dynamic language constructs of javascript which often lead to unacceptable performance and/or precision results. We describe an approach that focuses on improving the practicality and accuracy of points-to analysis and call graph construction for javascript programs. The approach first identifies program constructs which are sources of imprecision (i.e., root causes) through monitoring the static analysis process. We then examine and suggest specific context-sensitive analyses to apply. Our technique is able to to find that the root causes comprise less than 2% of the functions in javascript library applications. Moreover, the specialized analysis derived by our approach finishes within a few seconds, even on programs which can not complete within 10 minutes with the original analysis.
We present a novel, unified approach to the development of compositional symbolic execution tools, which bridges the gap between traditional symbolic execution and compositional program reasoning based on separation l...
详细信息
ISBN:
(纸本)9781450364416
We present a novel, unified approach to the development of compositional symbolic execution tools, which bridges the gap between traditional symbolic execution and compositional program reasoning based on separation logic. We apply our approach to javascript, providing support for full verification, whole-program symbolic testing, and automatic compositional testing based on bi-abduction.
Green computing is a methodology for saving energy when implementing algorithms. In environments where the runtime is an integral part of the application, it is essential to measure their energy efficiency so that res...
详细信息
ISBN:
(纸本)9783031574290;9783031574306
Green computing is a methodology for saving energy when implementing algorithms. In environments where the runtime is an integral part of the application, it is essential to measure their energy efficiency so that researchers and practitioners have enough choice. In this paper, we will focus on javascript runtime environments for evolutionary algorithms;although not the most popular language for scientific computing, it is the most popular language for developers, and it has been used repeatedly to implement all kinds of evolutionary algorithms almost since its inception. In this paper, we will focus on the importance of measuring different versions of the same runtimes, as well as extending the EA operators that will be measured. We also like to remark on the importance of testing the operators in different architectures to have a more precise picture that tips the balance towards one runtime or another.
Now that HTML5 technologies are everywhere from web services to various platforms, assuring quality of web applications becomes very important. While web application developers use syntactic checkers and type-related ...
详细信息
ISBN:
(纸本)9781450342056
Now that HTML5 technologies are everywhere from web services to various platforms, assuring quality of web applications becomes very important. While web application developers use syntactic checkers and type-related bug detectors, extremely dynamic features and diverse execution environments of web applications make it particularly difficult to statically analyze them leading to too many false positives. Recently, researchers have developed static analyzers for javascript web applications addressing quirky javascript language semantics and browser environments, but they lack empirical studies on the practicality of such analyzers. In this paper, we collect 30 javascript web applications in the wild, analyze them using SAFE, the state-of-the-art javascript static analyzer with bug detection, and investigate false positives in the analysis results. After manually inspecting them, we classify 7 reasons that cause the false positives: W3C APIs, browser-specific APIs, javascript library APIs, dynamic fi le loading, dynamic code generation, asynchronous calls, and others. Among them, we identify 4 cases which are the sources of false positives that we can practically reduce. Rather than striving for sound analysis with unrealistic assumptions, we choose to be intentionally unsound to analyze web applications in the real world with less false positives. Our evaluation shows that the approach effectively reduces false positives in statically analyzing web applications in the wild.
Full stack (both server-side and client-side) web application development has become one of the primary forms of software development. Consequently, our students should develop skill in software engineering within thi...
详细信息
ISBN:
(纸本)9781509017904
Full stack (both server-side and client-side) web application development has become one of the primary forms of software development. Consequently, our students should develop skill in software engineering within this context. This presents a challenge because multiple frameworks and languages need to be used, they are rapidly changing, and the programming styles that are important (such as functional programming and event-driven programming) are non-trivial and often new to students. Here we provide a preliminary report on a course that addresses this challenge by being both a first course in a software engineering sequence and an introduction to full stack web application development using current technologies. The course is the third course in the curriculum of a computer science major.
暂无评论