程序代写

This is a single, concatenated file, suitable for printing or saving as a PDF for offline viewing. Please note that some animations or images may not work.

Copyright By PowCoder代写 加微信 powcoder

Module 6 Study Guide and Deliverables Readings: Murach’s PHP and MySQL: Chapters 12 & 21
Assignments:
Assignment 6 Due: Thursday, February 24 at 6:00 AM ET

Term Project: Term Project Due: Monday, February 28 at 11:59 PM ET
Live Classrooms: Thursday, February 17, 6:00–8:00 PM ET
Facilitator live office: TBD

Working with AJAX, XML, and JSON

Learning Objectives

By reading the lectures and textbook, participating in the discussions, and completing the assignments, you will be able to do the following:

Utilize AJAX, XML, and JSON in web applications.
Develop programs that communicate between different systems using Web Services (including RESTful services).

Introduction

In this lecture, you will learn about XML and JSON as file formats for exchanging data between web applications. This will prepare you to use AJAX via jQuery in order to update data on a page without refreshing the entire web page. Finally we will introduce web services with a focus on SOAP and REST in order to allow web applications to talk to each other.

eXtensible Markup Language (XML) is used to define rules for encoding documents in a specified format. It is commonly used for storing and transmitting data between various systems and applications. Put another way, this means that XML can be used as a data interchange format. A data interchange format is simply a plain text data format that makes it easy to transport data between applications. It can be read by any programming language.

When we refer to XML and its usage to store information, we also want to convey that it is a specification for describing the structure of the information it is storing.

XML is a markup language just like HTML, but XML has no tags of its own. This allows you to create your own custom tags as needed for the task at hand. While you can create your own tags, you must ensure that you follow the rules of XML. Really, what XML allows you to do is define your own markup language utilizing the XML specification. Once you have created your own language based on XML, you can create XML documents using this custom language.

XML Syntax

Let’s look at an example of a XML document:

Now that you’ve seen what XML looks like, answer these questions:

What other language does this look similar to?
What is the structure of the information?
What information is being stored?
What tags were utilized?

You have probably realized that this looks similar to HTML in the way tags were used. Each student has a first and last name. It is pretty clear that we are storing information about BU students. The tags used include: , , , , and their corresponding closing tags.

Why Use XML?

As mentioned earlier, XML is used to store and transport data. It has its own tags, attributes, and values. In addition, one benefit of XML is that it very simple to extend and adapt it for your own purposes. You can create tags for your own datasets that have meaning and describe the data that is contained within the tags. Since XML is a simple text file, it is easy to share data between different systems and entities.

Other benefits of XML include:

human-readable (easy to understand)
well-structured
easy to process
easy to manipulate (for good purposes)
non-proprietary
created by W3C standards group
all standard web browsers can read XML documents, schemas, and styling
examples of real world uses include RSS and AJAX

Basic XML Rules

It is important to follow the rules of the XML specification. If your document complies with XML rules, your document will be “well-formed.”

Your document must contain a root element. It can contain only one root element. Everything must be contained within this root element with the exception of comments and processing information found in the first line of your document.
Element names must start with a letter, underscore, or colon.
Element names can contain letters, numbers, and underscores.
You cannot start the name of a tag with “xml”.
Closing tags are required.
Elements must be properly nested (first in, last out).
XML interpret tags in a case sensitive matter.
Quotation marks must be used to surround an attribute value.
White space outside of elements does not get interpreted/processed.
HTML type comments are allowed
If you want to display XML code within your XML, but not have it processed, you will want to wrap the XML code to be displayed (not parsed) with an opening tag of

Note: CDATA stands for unparsed character data. It won’t be interpreted by the XML parser.

Creating Your First XML Document

Creating a XML document is very similar to creating a HTML document. You can use a plain text editor or an IDE.

Note: Be sure to save your XML documents with the .xml file extension.

Your XML documents should contain tags that are self-explanatory, meaning that the tags should describe the content being stored within them.

The first line of your XML document is the declaration that indicates which version of XML you are using. See line 1 in the screenshot below.

The next line in the document will begin the data portion of the document, this is also known as the root element. You can only have one root element in your XML document. See line 2 below.

You will also have child elements within the root element. These child elements may in fact have their own child elements as well. Child elements are used to describe the root element. You can also add attributes to your elements that include additional information about the element, but don’t actually add to the content of the element. You can almost think of this as meta-data.

Below, you can see that is a child element of and my has the child elements of , <director>, <year>, and <runtime>. </p> <p>Finally, you will need to end the document with a closing tag. The closing tag should specify the root element.</p> <p></my_favorite_movies></p> <p>Putting all of this together gives us a complete and valid XML document. It looks like this:</p> <p>XML and PHP</p> <p>In the previous section, you learned what XML is and viewed an sample document. Let’s go ahead and use PHP with XML data.</p> <p>Inserting Data into a XML File</p> <p>We will walk through an example of saving user submitted form data into a XML file using PHP:</p> <p>Above: Our index.php file that contains the form.</p> <p>Above: insert.php file with code to capture form input and insert into XML document (bu_students.php). If successful, the user is redirected to success.php.</p> <p>Above: source code for success.php.</p> <p>Above: bu_students.xml file before we add any more records into it. Notice only and are contained in the file.</p> <p>Above: index.php viewed in the browser with data entered into the form fields.</p> <p>Above: After submitting the form, we are taken to success.php and given a message the the student was added.</p> <p>Above: Viewing the bu_students.xml file after was added.</p> <p>Retrieving Data from a XML File</p> <p>Here is an example of retrieving from a XML file using PHP:</p> <p>Above: view.php source code. This file uses PHP’s simplexml_load_file() function. We then iterate though the returned array and echo out the results.</p> <p>Above: view.php viewed in the browser. You can see that it has successfully read the XML file’s contents.</p> <p>JSON stands for JavaScript Object Notation. While XML can be used as a data interchange format, JSON is a true data interchange format. It is based on JavaScript. Like XML, JSON can be read and used by any programming language.</p> <p>JSON syntax consists of plain text wrapped in curly braces. It is built upon two different structures:</p> <p> A collection of name/value pairs representing objects.<br /> An ordered list of values representing an array.</p> <p>The values that can be stored in a JSON file include strings, numbers, objects, arrays, booleans, or null.</p> <p>Here is what our my_favorite_movies.xml file looks like when we choose to represent the same data in JSON:</p> <p>JSON and PHP</p> <p>PHP provides the json_encode() and json_decode() functions to translate PHP data into a JSON string and vice versa.</p> <p>Creating JSON Data</p> <p>Here is an example of json_encode():</p> <p>Above: php_to_json.php source code.</p> <p>Above: php_to_json.php viewed in the browser.</p> <p>Decoding JSON Data</p> <p>Here is an example of json_decode():</p> <p>Above: json_to_php.php source code.</p> <p>Above: json_to_php.php viewed in the browser.</p> <p>XML vs. JSON</p> <p>XML used to be the standard for data interchange between applications and it is still in use today, but JSON is becoming increasingly more popular and has nearly depreciated XML.</p> <p>Here is a list of pro’s and con’s for both XML and JSON:</p> <p> Simple, lightweight, and easy to read syntax.<br /> Easy to use with JavaScript. JSON objects easily convert to JavaScript objects.<br /> Faster parsing</p> <p> Only a few datatypes are supported<br /> No formatting or display capabilities<br /> Lack of DTD or Schema</p> <p> As a markup language, it can have many different dialects to be used for different purposes.<br /> XML DTD or Schema for structure validation<br /> XSLT for formatting and display<br /> Namespace support<br /> Can hold any data type<br /> Can store and transport full documents along with formatting</p> <p> Heavy, harder to read (perhaps)<br /> Slower to parse</p> <p>What does to all boil down to? Which one should you choose? XML is ideal for highly structured information. If you need speed and simplicity, JSON is probably a better choice.</p> <p>Find additional commentary on JSON vs. XML.</p> <p>AJAX stands for Asynchronous JavaScript and XML. As you can see, AJAX is not a technology itself, but a combination of existing technologies. AJAX allows for a seamless user experience when compared to more traditional methods of user interfaces and methods to obtain data from a server.</p> <p>Basic AJAX</p> <p>In a more traditional approach where a web page that does not use AJAX, user input is submitted to a script on a web server for processing. This typically happens by a user event, such as clicking on a submit button.  The server-side script processes the user input and a new page is created and returned to the user, thereby refreshing the page that the visitor is viewing.</p> <p>In an AJAX model, the user input is still submitted to a script on a web server for processing (by button click or some other user action or selection). The difference is that the user input is sent to the server in a different way when compared to the traditional approach. Instead of creating a new page, only new data is created. The new data gets returned to the browser and the page is updated, but not refreshed, to display the new data.</p> <p>AJAX Technologies</p> <p>AJAX uses the following technologies:</p> <p> HTML to display web content/pages<br /> XML to exchange data between the server-side script and web page<br /> Note: It doesn’t always have to be XML, we can use a different data interchange format like JSON or even HTML.</p> <p> JavaScript to update the HTML page with the new data and handle the entire process<br /> CSS is also often used to style the content, but it is not required</p> <p>XMLHttpRequest</p> <p>The key component to make all of this work is an object known as XMLHttpRequest. This object allows for the exchange of data between the web page and the server-side script. It does this in an asynchronous fashion. What this means is that the browser does not have to sit in an idle or stopped state while it is waiting on the server to return the updated data. This all happens without interfering with the display or functionality of the page from the visitor’s perspective.</p> <p>Once the XMLHttpRequest object is created, a few things must happen next. We have to create a function that retrieves the data when the web server is ready to send the new data. We use the  onreadystatechange property to accomplish this portion. We then need to identify the URL for the server-side script and we use the open property for this. Finally, we send a request to the server using the send property. The send property can include content, variables, or null data.</p> <p> The article AJAX Getting Started provides an in depth introduction to making a HTTP request, handling the server response, and working with the data associated with AJAX. </p> <p>How to Use AJAX</p> <p>Because there can be differences in the way browsers implement AJAX, it can often be a bit tedious to get the desired functionality to work in all browsers consistently. Instead of creating your own code to implement AJAX functionality in your projects, it is recommended that you use jQuery methods. The jQuery website includes a tutorial for learning to use jQuery for Ajax requests.</p> <p>The basic syntax for using jQuery for your AJAX needs is:</p> <p>$.ajax([settings])</p> <p>You should also include the done and fail callback methods.</p> <p>Here is an example that allows a user to request the contents of a JSON file as either raw data or as formatted data:</p> <p>Above: index.php file contained within a folder named “ajax”. This is a simple page with button options for the user. Notice the inclusion of jQuery in the head section of the page. We also include our ajax.js file on line 20.</p> <p>Above: ajax.js file located within the same folder. This was called in index.php on line 20. We make use of jQuery’s ajax() and load() Ajax methods. See<br /> jQuery.ajax() and <br /> .load() for additional usage information.</p> <p>Above: data.json file located within the same folder. This file is referenced in ajax.js on lines 6 and 33.</p> <p>Let’s take a look at how this all looks in the browser:</p> <p>Above: Loading the index.php page.</p> <p>Above: Clicking on the View Raw button.</p> <p>Above: Clicking on the View Formatted button.</p> <p>Above: Clicking on the Clear button.</p> <p>So, it all worked as planned. But what if we experience an error? Let’s see what happens when we change the name of the JSON file referenced in ajax.js lines 6 and 33 to a file that does not exist.</p> <p>Above: Clicking on the View Raw button when we attempt to reference a JSON file that does not exist.</p> <p>Above: Clicking on the View Formatted button when we attempt to reference a JSON file that does not exist.</p> <p>The process for loading an XML file instead of a JSON file is very similar to the example we have shared above in loading a JSON file. Check out jQuery’s parseXML() function.</p> <p>Web Services</p> <p>You know that a web site is typically used by people for the purpose of accessing information from a computer system that is connected to a network, typically the Internet. This is a form of human to computer communication. In many cases, we will want to allow for computer to computer communication. In many cases, we will have web applications that serve both roles, to provide for human to computer communication as well as computer to computer communication. </p> <p>Web services is the term we use for the computer to computer communication and are simply web applications that use open standards to communicate with other web applications in order to exchange data. Because communication is done using open standards, each web application can use a different operating system and programming language. The communication between the two web applications is typically done using HTTP, but the protocol can vary.</p> <p>As a basic overview, two key things are required in order to establish communication with a web service:</p> <p> A communication medium – in many cases the computers are connected together via the Internet and communicate via HTTP<br /> A message format – the rules/syntax that will be used for input and output messages (data)</p> <p>In order to use a web service, you don’t need to know how the application on the other end is implemented. You just need to know how to use the interface. For the web service interface, you need to know the service description which would contain:</p> <p> URL of the service<br /> The message format (see #2 above)<br /> The request action (POST, GET, PUT, etc.)<br /> The name of the interface<br /> Operation name(s)<br /> Input parameters<br /> Return values<br /> Authentication method (when required)</p> <p>How do we get this information? The client needs to locate the Web Services Description Language (WSDL) file for the web service. A WSDL file is a XML document. In order to locate the WSDL file, the client can obtain it directly from the service provider (if known) or from a directory known as Universal Description Discovery and Integration (UDDI). Service providers can register their web service with UDDI.</p> <p> Some web services will only let you read data, others only let you write data, and some let you read and write data.<br />  Once the request is made to establish the communication, the responding service will supply the data and any pertinent metadata that is needed or helpful.</p> <p>Web Services Standards</p> <p>SOAP and REST are two very popular web services standards. We will explore each of these in the next two sections.</p> <p>When the term SOAP was first put to use, it stood for Simple Object Access Protocol, but now it is just known as SOAP. It is a message format based on XML and it has its own specific tags, attributes and supported data types. At one point in time, SOAP was the only true web service message format available. Client and server libraries are needed to communicate with SOAP. As a standard, it is managed by W3C. It is used to transport data for web services and has the following characteristics:</p> <p> Extensible – it is suitable for any business process<br /> Neutral – it can be used with multiple transfer protocols<br /> Independence – no vendor locking for the programming language or operating system</p> <p>A significant drawback of SOAP is that it is very verbose and heavy, which makes it slower than it’s alternatives. </p> <p>Looking Inside a SOAP Message</p> <p>A SOAP message contains the following elements:</p> <p>Envelope – identifies itself as a SOAP message</p> <p> Header – contains header information (optional)</p> <p> Body – contains call and response information</p> <p> Fault – contains status and error information (optional)</p> <p>Above: SOAP template</p> <p>SOAP messages must be encoded in XML and must use predefined namespaces. </p> <p> The SOAP namespace for it’s envelope</p> <p> The SOAP namespace for encoding</p> <p> The SOAP Envelope is the root element of the SOAP document.<br /> SOAP Headers are optional and contain application specific information. If you are going to use a header element, it must be the first child element under the envelope element.<br /> The SOAP Body contains the message.<br /> The SOAP Fault element is used for error messages, this too is optional but must be a child of the body element if you choose to use it. It is only sent back to the client if there is an error.</p> <p>Above: SOAP request message example</p> <p>Above: SOAP response message example.</p> <p>Part of your assignment for this week will involve having you build a SOAP server and SOAP client using PHP and a SOAP toolkit.</p> <p>While RESTful services are more common today, SOAP is still popular in large enterprise environments. We will discuss REST in the next section.</p> <p>RESTful Services</p> <p>REST is another type of web service and is newer than SOAP. It stands for Representational State Transfer and consists of simple HTTP request and responses. The request normally does not contain any XML, but the response does. </p> <p>Key Concepts of REST:</p> <p> Lighter-weight than SOAP</p> <p> REST is an architecture, not a messaging format</p> <p> Client sends a request in GET, POST, PUT, DELETE format and server can translate these formats into specific actions. </p> <p> Can be used with many message formats (like XML and AJAX).</p> <p> Stateless: each request is independent and can be cacheable (on the client)</p> <p>REST and XML</p> <p>Instead of thinking about services, in REST we focus on resources. A resource consists of a URL that could look something like this:</p> <p>http://cs602.com/students/johnsmith </p> <p>The URL might return a XML document (our resource in this case). It could look something like</p> <p>程序代写 <a href="https://powcoder.com/tag/代考/">CS代考</a> 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com</p> </div><!-- .entry-content .clear --> </div> </article><!-- #post-## --> <nav class="navigation post-navigation" aria-label="Post navigation"> <span class="screen-reader-text">Post navigation</span> <div class="nav-links"><div class="nav-previous"><a title="代写代考 CSE 2231 Examples: C, C++, Objective-C, Ada..." href="https://powcoder.com/2020/04/11/%e4%bb%a3%e5%86%99%e4%bb%a3%e8%80%83-cse-2231-examples-c-c-objective-c-ada/" rel="prev"><span class="ast-left-arrow">←</span> Previous Post</a></div><div class="nav-next"><a title="CS代写 Cascading Style Sheets" href="https://powcoder.com/2020/04/11/cs%e4%bb%a3%e5%86%99-cascading-style-sheets/" rel="next">Next Post <span class="ast-right-arrow">→</span></a></div></div> </nav><div class="ast-single-related-posts-container ast-container--fallback"><div class="ast-related-posts-title-section"> <h2 class="ast-related-posts-title"> Related Posts </h2> </div><div class="ast-related-posts-wrapper"> <article class="ast-related-post post-38 post type-post status-publish format-standard hentry category-uncategorized tag-matlab tag-simulation"> <div class="ast-related-posts-inner-section"> <div class="ast-related-post-content"> <div class="ast-related-post-featured-section ast-no-thumb"></div> <header class="entry-header related-entry-header"> <h3 class="ast-related-post-title entry-title"> <a href="https://powcoder.com/2016/06/21/matlab-simulation/" target="_self" rel="bookmark noopener noreferrer">matlab simulation</a> </h3> <div class="entry-meta ast-related-cat-style--none ast-related-tag-style--none"><span class="ast-taxonomy-container cat-links default"><a href="https://powcoder.com/category/uncategorized/" rel="category tag">程序代写 CS代考</a></span> / <span class="ast-taxonomy-container tags-links default"><a href="https://powcoder.com/tag/matlab/" rel="tag">matlab代写代考</a>, <a href="https://powcoder.com/tag/simulation/" rel="tag">simulation</a></span></div> </header> <div class="entry-content clear"> </div> </div> </div> </article> <article class="ast-related-post post-39 post type-post status-publish format-standard hentry category-uncategorized tag-c"> <div class="ast-related-posts-inner-section"> <div class="ast-related-post-content"> <div class="ast-related-post-featured-section ast-no-thumb"></div> <header class="entry-header related-entry-header"> <h3 class="ast-related-post-title entry-title"> <a href="https://powcoder.com/2016/06/21/ab202-assignment-1-arkapong/" target="_self" rel="bookmark noopener noreferrer">AB202 Assignment 1: Arkapong</a> </h3> <div class="entry-meta ast-related-cat-style--none ast-related-tag-style--none"><span class="ast-taxonomy-container cat-links default"><a href="https://powcoder.com/category/uncategorized/" rel="category tag">程序代写 CS代考</a></span> / <span class="ast-taxonomy-container tags-links default"><a href="https://powcoder.com/tag/c/" rel="tag">c++代做</a></span></div> </header> <div class="entry-content clear"> </div> </div> </div> </article> <article class="ast-related-post post-40 post type-post status-publish format-standard hentry category-uncategorized tag-c"> <div class="ast-related-posts-inner-section"> <div class="ast-related-post-content"> <div class="ast-related-post-featured-section ast-no-thumb"></div> <header class="entry-header related-entry-header"> <h3 class="ast-related-post-title entry-title"> <a href="https://powcoder.com/2016/06/21/msc-c-programming/" target="_self" rel="bookmark noopener noreferrer">MSc C++ Programming</a> </h3> <div class="entry-meta ast-related-cat-style--none ast-related-tag-style--none"><span class="ast-taxonomy-container cat-links default"><a href="https://powcoder.com/category/uncategorized/" rel="category tag">程序代写 CS代考</a></span> / <span class="ast-taxonomy-container tags-links default"><a href="https://powcoder.com/tag/c/" rel="tag">c++代做</a></span></div> </header> <div class="entry-content clear"> </div> </div> </div> </article> <article class="ast-related-post post-41 post type-post status-publish format-standard hentry category-uncategorized tag-prolog"> <div class="ast-related-posts-inner-section"> <div class="ast-related-post-content"> <div class="ast-related-post-featured-section ast-no-thumb"></div> <header class="entry-header related-entry-header"> <h3 class="ast-related-post-title entry-title"> <a href="https://powcoder.com/2016/06/21/msc-assessed-prolog-lab-exercise-2/" target="_self" rel="bookmark noopener noreferrer">MSc Assessed Prolog Lab Exercise 2</a> </h3> <div class="entry-meta ast-related-cat-style--none ast-related-tag-style--none"><span class="ast-taxonomy-container cat-links default"><a href="https://powcoder.com/category/uncategorized/" rel="category tag">程序代写 CS代考</a></span> / <span class="ast-taxonomy-container tags-links default"><a href="https://powcoder.com/tag/prolog/" rel="tag">Prolog代写代考</a></span></div> </header> <div class="entry-content clear"> </div> </div> </div> </article> <article class="ast-related-post post-49 post type-post status-publish format-standard hentry category-uncategorized tag-c tag-uml"> <div class="ast-related-posts-inner-section"> <div class="ast-related-post-content"> <div class="ast-related-post-featured-section ast-no-thumb"></div> <header class="entry-header related-entry-header"> <h3 class="ast-related-post-title entry-title"> <a href="https://powcoder.com/2016/06/21/spring-session2015assignment-1/" target="_self" rel="bookmark noopener noreferrer">Spring Session:2015:Assignment 1</a> </h3> <div class="entry-meta ast-related-cat-style--none ast-related-tag-style--none"><span class="ast-taxonomy-container cat-links default"><a href="https://powcoder.com/category/uncategorized/" rel="category tag">程序代写 CS代考</a></span> / <span class="ast-taxonomy-container tags-links default"><a href="https://powcoder.com/tag/c/" rel="tag">c++代做</a>, <a href="https://powcoder.com/tag/uml/" rel="tag">UML</a></span></div> </header> <div class="entry-content clear"> </div> </div> </div> </article> <article class="ast-related-post post-51 post type-post status-publish format-standard hentry category-uncategorized tag-uml"> <div class="ast-related-posts-inner-section"> <div class="ast-related-post-content"> <div class="ast-related-post-featured-section ast-no-thumb"></div> <header class="entry-header related-entry-header"> <h3 class="ast-related-post-title entry-title"> <a href="https://powcoder.com/2016/06/21/assignment-2-inception-and-elaboration/" target="_self" rel="bookmark noopener noreferrer">Assignment 2: "Inception and Elaboration"</a> </h3> <div class="entry-meta ast-related-cat-style--none ast-related-tag-style--none"><span class="ast-taxonomy-container cat-links default"><a href="https://powcoder.com/category/uncategorized/" rel="category tag">程序代写 CS代考</a></span> / <span class="ast-taxonomy-container tags-links default"><a href="https://powcoder.com/tag/uml/" rel="tag">UML</a></span></div> </header> <div class="entry-content clear"> </div> </div> </div> </article> <article class="ast-related-post post-55 post type-post status-publish format-standard hentry category-uncategorized tag-android tag-java"> <div class="ast-related-posts-inner-section"> <div class="ast-related-post-content"> <div class="ast-related-post-featured-section ast-no-thumb"></div> <header class="entry-header related-entry-header"> <h3 class="ast-related-post-title entry-title"> <a href="https://powcoder.com/2016/06/21/android-app/" target="_self" rel="bookmark noopener noreferrer">android app</a> </h3> <div class="entry-meta ast-related-cat-style--none ast-related-tag-style--none"><span class="ast-taxonomy-container cat-links default"><a href="https://powcoder.com/category/uncategorized/" rel="category tag">程序代写 CS代考</a></span> / <span class="ast-taxonomy-container tags-links default"><a href="https://powcoder.com/tag/android/" rel="tag">android</a>, <a href="https://powcoder.com/tag/java/" rel="tag">Java代写代考</a></span></div> </header> <div class="entry-content clear"> </div> </div> </div> </article> <article class="ast-related-post post-57 post type-post status-publish format-standard hentry category-uncategorized tag-java tag-junit"> <div class="ast-related-posts-inner-section"> <div class="ast-related-post-content"> <div class="ast-related-post-featured-section ast-no-thumb"></div> <header class="entry-header related-entry-header"> <h3 class="ast-related-post-title entry-title"> <a href="https://powcoder.com/2016/06/21/comp220-software-development-tools/" target="_self" rel="bookmark noopener noreferrer">COMP220: Software Development Tools</a> </h3> <div class="entry-meta ast-related-cat-style--none ast-related-tag-style--none"><span class="ast-taxonomy-container cat-links default"><a href="https://powcoder.com/category/uncategorized/" rel="category tag">程序代写 CS代考</a></span> / <span class="ast-taxonomy-container tags-links default"><a href="https://powcoder.com/tag/java/" rel="tag">Java代写代考</a>, <a href="https://powcoder.com/tag/junit/" rel="tag">junit</a></span></div> </header> <div class="entry-content clear"> </div> </div> </div> </article> </div> </div> </main><!-- #main --> </div><!-- #primary --> <div class="widget-area secondary" id="secondary" itemtype="https://schema.org/WPSideBar" itemscope="itemscope"> <div class="sidebar-main" > <aside id="custom_html-2" class="widget_text widget widget_custom_html"><h2 class="widget-title">Contact</h2><div class="textwidget custom-html-widget"><ul> <li><strong>QQ: 1823890830</strong></li> <li><strong>微信号(WeChat): powcoder</strong></li> <li><img data-recalc-dims="1" class="alignnone wp-image-366" src="https://i0.wp.com/powcoder.com/wp-content/uploads/2021/01/powcoder.jpg?resize=133%2C133&ssl=1" alt="myweixin" width="133" height="133"/></li> <li><strong>Email: <a href="mailto:powcoder@163.com">powcoder@163.com</a></strong></li> </ul> <ul> <li><strong>请加微信或QQ发要求</strong></li> <li><strong>Contact me through WeChat</strong></li> </ul> </div></aside><aside id="categories-2" class="widget widget_categories"><h2 class="widget-title">Categories</h2><nav aria-label="Categories"> <ul> <li class="cat-item cat-item-245"><a href="https://powcoder.com/category/machine-learning/">机器学习代写代考 machine learning</a> </li> <li class="cat-item cat-item-242"><a href="https://powcoder.com/category/database-db-sql/">数据库代写代考 DB Database SQL</a> </li> <li class="cat-item cat-item-244"><a href="https://powcoder.com/category/data-structure-algorithm/">数据结构算法代写代考 data structure algorithm</a> </li> <li class="cat-item cat-item-239"><a href="https://powcoder.com/category/%e4%ba%ba%e5%b7%a5%e6%99%ba%e8%83%bd-ai-artificial-intelligence/">人工智能 AI Artificial Intelligence</a> </li> <li class="cat-item cat-item-247"><a href="https://powcoder.com/category/compiler/">编译器原理 Compiler</a> </li> <li class="cat-item cat-item-254"><a href="https://powcoder.com/category/network-socket/">计算机网络 套接字编程 computer network socket programming</a> </li> <li class="cat-item cat-item-240"><a href="https://powcoder.com/category/hadoop-map-reduce-spark-hbase/">大数据 Hadoop Map Reduce Spark HBase</a> </li> <li class="cat-item cat-item-241"><a href="https://powcoder.com/category/%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9fosoperating-system/">操作系统OS代写代考 (Operating System)</a> </li> <li class="cat-item cat-item-250"><a href="https://powcoder.com/category/computer-architecture/">计算机体系结构代写代考 Computer Architecture</a> </li> <li class="cat-item cat-item-251"><a href="https://powcoder.com/category/computer-graphics-opengl-webgl/">计算机图形学 Computer Graphics opengl webgl</a> </li> <li class="cat-item cat-item-249"><a href="https://powcoder.com/category/nlp/">自然语言处理 NLP natural language processing</a> </li> <li class="cat-item cat-item-383"><a href="https://powcoder.com/category/%e5%b9%b6%e8%a1%8c%e8%ae%a1%e7%ae%97/">并行计算</a> </li> <li class="cat-item cat-item-253"><a href="https://powcoder.com/category/computation-theory/">计算理论 Theory of Computation</a> </li> <li class="cat-item cat-item-252"><a href="https://powcoder.com/category/computer-security/">计算机安全密码学computer security cryptography</a> </li> <li class="cat-item cat-item-246"><a href="https://powcoder.com/category/sys-programming/">系统编程 System programming</a> </li> <li class="cat-item cat-item-367"><a href="https://powcoder.com/category/%e6%95%b0%e5%80%bc%e7%a7%91%e5%ad%a6%e8%ae%a1%e7%ae%97/">数值科学计算</a> </li> <li class="cat-item cat-item-255"><a href="https://powcoder.com/category/%e8%ae%a1%e7%ae%97%e6%9c%ba%e8%a7%86%e8%a7%89compute-vision/">计算机视觉代写代考(Compute Vision)</a> </li> <li class="cat-item cat-item-248"><a href="https://powcoder.com/category/web/">网页应用 Web Application</a> </li> <li class="cat-item cat-item-401"><a href="https://powcoder.com/category/%e5%88%86%e5%b8%83%e5%bc%8f%e7%b3%bb%e7%bb%9f/">分布式系统</a> </li> <li class="cat-item cat-item-640"><a href="https://powcoder.com/category/%e7%ac%94%e8%af%95%e9%9d%a2%e8%af%95/">笔试面试</a> </li> <li class="cat-item cat-item-403"><a href="https://powcoder.com/category/%e5%87%bd%e6%95%b0%e5%bc%8f%e7%bc%96%e7%a8%8b/">函数式编程</a> </li> <li class="cat-item cat-item-243"><a href="https://powcoder.com/category/%e6%95%b0%e6%8d%ae%e6%8c%96%e6%8e%98-data-mining/">数据挖掘 Data Mining</a> </li> <li class="cat-item cat-item-364"><a href="https://powcoder.com/category/%e7%a6%bb%e6%95%a3%e6%95%b0%e5%ad%a6/">离散数学代写代考 (Discrete mathematics)</a> </li> <li class="cat-item cat-item-384"><a href="https://powcoder.com/category/%e8%bd%af%e4%bb%b6%e5%b7%a5%e7%a8%8b/">软件工程</a> </li> <li class="cat-item cat-item-551"><a href="https://powcoder.com/category/%e7%bc%96%e7%a8%8b%e8%af%ad%e8%a8%80-programming-language/">编程语言 Programming Language</a> </li> <li class="cat-item cat-item-594"><a href="https://powcoder.com/category/%e7%bb%9f%e8%ae%a1%e4%bb%a3%e5%86%99%e4%bb%a3%e8%80%83/">统计代写代考</a> </li> <li class="cat-item cat-item-574"><a href="https://powcoder.com/category/%e8%bf%90%e7%ad%b9%e5%ad%a6-operation-research/">运筹学 Operation Research</a> </li> </ul> </nav></aside><aside id="tag_cloud-3" class="widget widget_tag_cloud"><h2 class="widget-title">Tag</h2><nav aria-label="Tag"><div class="tagcloud"><a href="https://powcoder.com/tag/algorithm/" class="tag-cloud-link tag-link-469 tag-link-position-1" style="font-size: 18px;" aria-label="Algorithm算法代写代考 (15,143 items)">Algorithm算法代写代考</a><a href="https://powcoder.com/tag/java/" class="tag-cloud-link tag-link-298 tag-link-position-2" style="font-size: 16.91156462585px;" aria-label="Java代写代考 (7,271 items)">Java代写代考</a><a href="https://powcoder.com/tag/database/" class="tag-cloud-link tag-link-414 tag-link-position-3" style="font-size: 16.503401360544px;" aria-label="database (5,442 items)">database</a><a href="https://powcoder.com/tag/data-structure/" class="tag-cloud-link tag-link-501 tag-link-position-4" style="font-size: 16.401360544218px;" aria-label="data structure (5,185 items)">data structure</a><a href="https://powcoder.com/tag/python/" class="tag-cloud-link tag-link-331 tag-link-position-5" style="font-size: 16.299319727891px;" aria-label="Python代写代考 (4,810 items)">Python代写代考</a><a href="https://powcoder.com/tag/compiler/" class="tag-cloud-link tag-link-472 tag-link-position-6" style="font-size: 16.027210884354px;" aria-label="compiler (4,000 items)">compiler</a><a href="https://powcoder.com/tag/scheme/" class="tag-cloud-link tag-link-338 tag-link-position-7" style="font-size: 15.823129251701px;" aria-label="Scheme代写代考 (3,502 items)">Scheme代写代考</a><a href="https://powcoder.com/tag/c-4/" class="tag-cloud-link tag-link-499 tag-link-position-8" style="font-size: 15.823129251701px;" aria-label="C语言代写 (3,489 items)">C语言代写</a><a href="https://powcoder.com/tag/ai/" class="tag-cloud-link tag-link-369 tag-link-position-9" style="font-size: 15.176870748299px;" aria-label="AI代写 (2,216 items)">AI代写</a><a href="https://powcoder.com/tag/c-3/" class="tag-cloud-link tag-link-491 tag-link-position-10" style="font-size: 14.700680272109px;" aria-label="c++代写 (1,633 items)">c++代写</a><a href="https://powcoder.com/tag/sql/" class="tag-cloud-link tag-link-395 tag-link-position-11" style="font-size: 14.530612244898px;" aria-label="SQL代写代考 (1,457 items)">SQL代写代考</a><a href="https://powcoder.com/tag/haskell/" class="tag-cloud-link tag-link-291 tag-link-position-12" style="font-size: 14.530612244898px;" aria-label="Haskell代写代考 (1,453 items)">Haskell代写代考</a><a href="https://powcoder.com/tag/javascript/" class="tag-cloud-link tag-link-299 tag-link-position-13" style="font-size: 14.462585034014px;" aria-label="javascript (1,395 items)">javascript</a><a href="https://powcoder.com/tag/concurrency/" class="tag-cloud-link tag-link-503 tag-link-position-14" style="font-size: 14.428571428571px;" aria-label="concurrency (1,355 items)">concurrency</a><a href="https://powcoder.com/tag/matlab/" class="tag-cloud-link tag-link-309 tag-link-position-15" style="font-size: 14.360544217687px;" aria-label="matlab代写代考 (1,281 items)">matlab代写代考</a><a href="https://powcoder.com/tag/finance/" class="tag-cloud-link tag-link-282 tag-link-position-16" style="font-size: 14.292517006803px;" aria-label="finance (1,221 items)">finance</a><a href="https://powcoder.com/tag/interpreter/" class="tag-cloud-link tag-link-297 tag-link-position-17" style="font-size: 14.190476190476px;" aria-label="interpreter (1,144 items)">interpreter</a><a href="https://powcoder.com/tag/mips/" class="tag-cloud-link tag-link-313 tag-link-position-18" style="font-size: 14.156462585034px;" aria-label="MIPS汇编代写代考 (1,134 items)">MIPS汇编代写代考</a><a href="https://powcoder.com/tag/data-mining/" class="tag-cloud-link tag-link-271 tag-link-position-19" style="font-size: 13.986394557823px;" aria-label="data mining (991 items)">data mining</a><a href="https://powcoder.com/tag/decision-tree/" class="tag-cloud-link tag-link-273 tag-link-position-20" style="font-size: 13.952380952381px;" aria-label="decision tree (982 items)">decision tree</a><a href="https://powcoder.com/tag/deep-learning/" class="tag-cloud-link tag-link-274 tag-link-position-21" style="font-size: 13.952380952381px;" aria-label="deep learning深度学习代写代考 (980 items)">deep learning深度学习代写代考</a><a href="https://powcoder.com/tag/prolog/" class="tag-cloud-link tag-link-329 tag-link-position-22" style="font-size: 13.918367346939px;" aria-label="Prolog代写代考 (957 items)">Prolog代写代考</a><a href="https://powcoder.com/tag/file-system/" class="tag-cloud-link tag-link-281 tag-link-position-23" style="font-size: 13.850340136054px;" aria-label="file system (902 items)">file system</a><a href="https://powcoder.com/tag/c/" class="tag-cloud-link tag-link-265 tag-link-position-24" style="font-size: 13.578231292517px;" aria-label="c++代做 (764 items)">c++代做</a><a href="https://powcoder.com/tag/computer-architecture/" class="tag-cloud-link tag-link-507 tag-link-position-25" style="font-size: 13.47619047619px;" aria-label="computer architecture (712 items)">computer architecture</a><a href="https://powcoder.com/tag/er/" class="tag-cloud-link tag-link-433 tag-link-position-26" style="font-size: 13.47619047619px;" aria-label="ER (711 items)">ER</a><a href="https://powcoder.com/tag/gui/" class="tag-cloud-link tag-link-290 tag-link-position-27" style="font-size: 13.47619047619px;" aria-label="gui (711 items)">gui</a><a href="https://powcoder.com/tag/gpu/" class="tag-cloud-link tag-link-396 tag-link-position-28" style="font-size: 13.272108843537px;" aria-label="GPU (620 items)">GPU</a><a href="https://powcoder.com/tag/data-science/" class="tag-cloud-link tag-link-272 tag-link-position-29" style="font-size: 13.272108843537px;" aria-label="data science (615 items)">data science</a><a href="https://powcoder.com/tag/x86%e6%b1%87%e7%bc%96/" class="tag-cloud-link tag-link-514 tag-link-position-30" style="font-size: 13.238095238095px;" aria-label="x86汇编代写代考 (606 items)">x86汇编代写代考</a><a href="https://powcoder.com/tag/case-study/" class="tag-cloud-link tag-link-468 tag-link-position-31" style="font-size: 13.204081632653px;" aria-label="case study (586 items)">case study</a><a href="https://powcoder.com/tag/distributed-system/" class="tag-cloud-link tag-link-277 tag-link-position-32" style="font-size: 13.170068027211px;" aria-label="distributed system (576 items)">distributed system</a><a href="https://powcoder.com/tag/android/" class="tag-cloud-link tag-link-256 tag-link-position-33" style="font-size: 13.034013605442px;" aria-label="android (527 items)">android</a><a href="https://powcoder.com/tag/kernel/" class="tag-cloud-link tag-link-470 tag-link-position-34" style="font-size: 13.034013605442px;" aria-label="kernel (520 items)">kernel</a><a href="https://powcoder.com/tag/arm/" class="tag-cloud-link tag-link-483 tag-link-position-35" style="font-size: 13px;" aria-label="ARM汇编代写代考 (514 items)">ARM汇编代写代考</a></div> </nav></aside><aside id="block-4" class="widget widget_block"> <div class="wp-block-group is-layout-flow wp-block-group-is-layout-flow"><div class="wp-block-group__inner-container"><ul class="wp-block-latest-posts__list wp-block-latest-posts"><li><a class="wp-block-latest-posts__post-title" href="https://powcoder.com/2024/11/17/%e7%95%99%e5%ad%a6%e7%94%9f%e4%bd%9c%e4%b8%9a%e4%bb%a3%e5%86%99-comp9313-project-3/">留学生作业代写 COMP9313 Project 3</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://powcoder.com/2024/10/12/%e7%a8%8b%e5%ba%8f%e4%bb%a3%e5%86%99-comp2521-24t3-assignment-1-2/">程序代写 COMP2521 24T3 – Assignment 1</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://powcoder.com/2024/10/12/%e4%bb%a3%e5%86%99%e4%bb%a3%e8%80%83-compsys-705-formal-methods-for-safety-critical-software-test-17-october-20/">代写代考 COMPSYS 705 Formal Methods for Safety Critical Software Test, 17 October 20</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://powcoder.com/2024/10/07/%e7%a8%8b%e5%ba%8f%e4%bb%a3%e5%86%99-comp2521-24t3-assignment-1/">程序代写 COMP2521 24T3 – Assignment 1</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://powcoder.com/2024/09/30/%e7%a8%8b%e5%ba%8f%e4%bb%a3%e5%86%99-comp4500-7500-2/">程序代写 COMP4500/7500</a></li> </ul></div></div> </aside> </div><!-- .sidebar-main --> </div><!-- #secondary --> </div> <!-- ast-container --> </div><!-- #content --> <footer class="site-footer" id="colophon" itemtype="https://schema.org/WPFooter" itemscope="itemscope" itemid="#colophon"> <div class="site-below-footer-wrap ast-builder-grid-row-container site-footer-focus-item ast-builder-grid-row-full ast-builder-grid-row-tablet-full ast-builder-grid-row-mobile-full ast-footer-row-stack ast-footer-row-tablet-stack ast-footer-row-mobile-stack" data-section="section-below-footer-builder"> <div class="ast-builder-grid-row-container-inner"> <div class="ast-builder-footer-grid-columns site-below-footer-inner-wrap ast-builder-grid-row"> <div class="site-footer-below-section-1 site-footer-section site-footer-section-1"> <div class="ast-builder-layout-element ast-flex site-footer-focus-item ast-footer-copyright" data-section="section-footer-builder"> <div class="ast-footer-copyright"><p>Copyright © 2024 PowCoder代写 | Powered by <a href="https://wpastra.com/" rel="nofollow noopener" target="_blank">Astra WordPress Theme</a></p> </div> </div> </div> </div> </div> </div> </footer><!-- #colophon --> </div><!-- #page --> <link rel="stylesheet" href="https://powcoder.com/wp-content/cache/minify/12163.css" media="all" /> <script id="astra-theme-js-js-extra"> var astra = {"break_point":"921","isRtl":"","is_scroll_to_id":"","is_scroll_to_top":"","is_header_footer_builder_active":"1","responsive_cart_click":"flyout"}; </script> <script src="https://powcoder.com/wp-content/cache/minify/75800.js"></script> <script src="https://stats.wp.com/e-202448.js" id="jetpack-stats-js" data-wp-strategy="defer"></script> <script id="jetpack-stats-js-after"> _stq = window._stq || []; _stq.push([ "view", JSON.parse("{\"v\":\"ext\",\"blog\":\"132118579\",\"post\":\"69368\",\"tz\":\"8\",\"srv\":\"powcoder.com\",\"j\":\"1:14.0\"}") ]); _stq.push([ "clickTrackerInit", "132118579", "69368" ]); </script> <script> /(trident|msie)/i.test(navigator.userAgent)&&document.getElementById&&window.addEventListener&&window.addEventListener("hashchange",function(){var t,e=location.hash.substring(1);/^[A-z0-9_-]+$/.test(e)&&(t=document.getElementById(e))&&(/^(?:a|select|input|button|textarea)$/i.test(t.tagName)||(t.tabIndex=-1),t.focus())},!1); </script> </body> </html> <!-- Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/ Object Caching 277/343 objects using Disk Page Caching using Disk: Enhanced Content Delivery Network via N/A Minified using Disk Served from: powcoder.com @ 2024-11-25 15:28:23 by W3 Total Cache -->